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:

Index
Name
Type
Internal Type
Description

0

globals_

address

address

Functions

delegateOriginationFee

Gets the delegate origination fee for the given loan.

    function delegateOriginationFee(
        address
    )
        view
        returns (
            uint256
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

delegateRefinanceServiceFee

Gets the delegate service fee rate for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

delegateServiceFee

Gets the delegate service fee rate for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

getDelegateServiceFeesForPeriod

Gets the delegate service fee for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

delegateServiceFee_

uint256

uint256

The amount of delegate service fee to be paid.

getOriginationFees

Gets the sum of all origination fees for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

principalRequested_

uint256

uint256

The amount of principal requested in the loan.

Return Values:

Index
Name
Type
Internal Type
Description

0

originationFees_

uint256

uint256

The amount of origination fees to be paid.

getPlatformOriginationFee

Gets the platform origination fee value for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

principalRequested_

uint256

uint256

The amount of principal requested in the loan.

Return Values:

Index
Name
Type
Internal Type
Description

0

platformOriginationFee_

uint256

uint256

The amount of platform origination fee to be paid.

getPlatformServiceFeeForPeriod

Gets the delegate service fee for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

platformServiceFee_

uint256

uint256

The amount of platform service fee to be paid.

getServiceFeeBreakdown

Gets the service fees for the given interval.

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

numberOfPayments_

uint256

uint256

The number of payments being paid.

Return Values:

Index
Name
Type
Internal Type
Description

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

Gets the service fees for the given interval.

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

numberOfPayments_

uint256

uint256

The number of payments being paid.

Return Values:

Index
Name
Type
Internal Type
Description

0

serviceFees_

uint256

uint256

The amount of platform service fee to be paid.

getServiceFeesForPeriod

Gets the service fees for the given interval.

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

serviceFee_

uint256

uint256

The amount of platform service fee to be paid.

globals

Gets the global contract address.

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

payOriginationFees

Called during `fundLoan`, performs fee payments to poolDelegate and treasury.

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

feePaid_

uint256

uint256

The total amount of fees paid.

payServiceFees

Called during `makePayment`, performs fee payments to the pool delegate and treasury.

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

feePaid_

uint256

uint256

platformRefinanceServiceFee

Gets the platform fee rate for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

platformServiceFee

Gets the platform fee rate for the given loan.

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

updateDelegateFeeTerms

Called during loan creation or refinance, sets the fee terms.

Parameters:

Index
Name
Type
Internal Type
Description

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

Function called by loans to update the saved platform service fee rate.

Parameters:

Index
Name
Type
Internal Type
Description

0

principalRequested_

uint256

uint256

1

paymentInterval_

uint256

uint256

updateRefinanceServiceFees

Called during loan refinance to save the partial service fees accrued.

Parameters:

Index
Name
Type
Internal Type
Description

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

New fee terms have been set.

Parameters:

Index
Name
Type
Internal Type
Description

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

A fee payment was made.

Parameters:

Index
Name
Type
Internal Type
Description

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

New fee terms have been set.

Parameters:

Index
Name
Type
Internal Type
Description

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

New fee terms have been set.

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

platformServiceFee_

uint256

uint256

The new value for the platform service fee.

ServiceFeesPaid

A fee payment was made.

Parameters:

Index
Name
Type
Internal Type
Description

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