FixedTermLoanFeeManager
Manages fee accounting and transfers for fixed‑term loans, including delegate and platform origination fees and service fees. Reads platform fee rates from Globals, computes amounts over time, and transfers proceeds to the Pool Delegate and Maple Treasury as applicable.
Constructor
constructor(
address globals_
);Parameters:
0
globals_
address
address
Functions
delegateOriginationFee
delegateOriginationFeeGets the delegate origination fee for the given loan.
function delegateOriginationFee(
address
)
view
returns (
uint256
);Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
delegateRefinanceServiceFee
delegateRefinanceServiceFeeGets the delegate service fee rate for the given loan.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
delegateServiceFee
delegateServiceFeeGets the delegate service fee rate for the given loan.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
getDelegateServiceFeesForPeriod
getDelegateServiceFeesForPeriodGets the delegate service fee for the given loan.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
interval_
uint256
uint256
The time, in seconds, to get the proportional fee for
Return Values:
0
delegateServiceFee_
uint256
uint256
The amount of delegate service fee to be paid.
getOriginationFees
getOriginationFeesGets the sum of all origination fees for the given loan.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
principalRequested_
uint256
uint256
The amount of principal requested in the loan.
Return Values:
0
originationFees_
uint256
uint256
The amount of origination fees to be paid.
getPlatformOriginationFee
getPlatformOriginationFeeGets the platform origination fee value for the given loan.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
principalRequested_
uint256
uint256
The amount of principal requested in the loan.
Return Values:
0
platformOriginationFee_
uint256
uint256
The amount of platform origination fee to be paid.
getPlatformServiceFeeForPeriod
getPlatformServiceFeeForPeriodGets the delegate service fee for the given loan.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
principalRequested_
uint256
uint256
The amount of principal requested in the loan.
2
interval_
uint256
uint256
The time, in seconds, to get the proportional fee for
Return Values:
0
platformServiceFee_
uint256
uint256
The amount of platform service fee to be paid.
getServiceFeeBreakdown
getServiceFeeBreakdownGets the service fees for the given interval.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
numberOfPayments_
uint256
uint256
The number of payments being paid.
Return Values:
0
delegateServiceFee_
uint256
uint256
The amount of delegate service fee to be paid.
1
delegateRefinanceFee_
uint256
uint256
The amount of delegate refinance fee to be paid.
2
platformServiceFee_
uint256
uint256
The amount of platform service fee to be paid.
3
platformRefinanceFee_
uint256
uint256
The amount of platform refinance fee to be paid.
getServiceFees
getServiceFeesGets the service fees for the given interval.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
numberOfPayments_
uint256
uint256
The number of payments being paid.
Return Values:
0
serviceFees_
uint256
uint256
The amount of platform service fee to be paid.
getServiceFeesForPeriod
getServiceFeesForPeriodGets the service fees for the given interval.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
interval_
uint256
uint256
The time, in seconds, to get the proportional fee for
Return Values:
0
serviceFee_
uint256
uint256
The amount of platform service fee to be paid.
globals
globalsGets the global contract address.
Return Values:
0
address
address
payOriginationFees
payOriginationFeesCalled during `fundLoan`, performs fee payments to poolDelegate and treasury.
Parameters:
0
asset_
address
address
The address asset in which fees were paid.
1
principalRequested_
uint256
uint256
The total amount of principal requested, which will be used to calculate fees.
Return Values:
0
feePaid_
uint256
uint256
The total amount of fees paid.
payServiceFees
payServiceFeesCalled during `makePayment`, performs fee payments to the pool delegate and treasury.
Parameters:
0
asset_
address
address
The address asset in which fees were paid.
1
numberOfPayments_
uint256
uint256
The number of payments for which service fees will be paid.
Return Values:
0
feePaid_
uint256
uint256
platformRefinanceServiceFee
platformRefinanceServiceFeeGets the platform fee rate for the given loan.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
platformServiceFee
platformServiceFeeGets the platform fee rate for the given loan.
Parameters:
0
``
address
address
Return Values:
0
uint256
uint256
updateDelegateFeeTerms
updateDelegateFeeTermsCalled during loan creation or refinance, sets the fee terms.
Parameters:
0
delegateOriginationFee_
uint256
uint256
The amount of delegate origination fee to be paid.
1
delegateServiceFee_
uint256
uint256
The amount of delegate service fee to be paid.
updatePlatformServiceFee
updatePlatformServiceFeeFunction called by loans to update the saved platform service fee rate.
Parameters:
0
principalRequested_
uint256
uint256
1
paymentInterval_
uint256
uint256
updateRefinanceServiceFees
updateRefinanceServiceFeesCalled during loan refinance to save the partial service fees accrued.
Parameters:
0
principalRequested_
uint256
uint256
The amount of principal pre-refinance requested.
1
timeSinceLastDueDate_
uint256
uint256
The amount of time since last payment due date.
Events
FeeTermsUpdated
FeeTermsUpdatedNew fee terms have been set.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
delegateOriginationFee_
uint256
uint256
The new value for delegate origination fee.
2
delegateServiceFee_
uint256
uint256
The new value for delegate service fee.
OriginationFeesPaid
OriginationFeesPaidA fee payment was made.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
delegateOriginationFee_
uint256
uint256
The amount of delegate origination fee paid.
2
platformOriginationFee_
uint256
uint256
The amount of platform origination fee paid.
PartialRefinanceServiceFeesUpdated
PartialRefinanceServiceFeesUpdatedNew fee terms have been set.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
partialPlatformServiceFee_
uint256
uint256
The value for the platform service fee.
2
partialDelegateServiceFee_
uint256
uint256
The value for the delegate service fee.
PlatformServiceFeeUpdated
PlatformServiceFeeUpdatedNew fee terms have been set.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
platformServiceFee_
uint256
uint256
The new value for the platform service fee.
ServiceFeesPaid
ServiceFeesPaidA fee payment was made.
Parameters:
0
loan_
address
address
The address of the loan contract.
1
delegateServiceFee_
uint256
uint256
The amount of delegate service fee paid.
2
partialRefinanceDelegateServiceFee_
uint256
uint256
The amount of partial delegate service fee from refinance paid.
3
platformServiceFee_
uint256
uint256
The amount of platform service fee paid.
4
partialRefinancePlatformServiceFee_
uint256
uint256
The amount of partial platform service fee from refinance paid.
Last updated