OpenTermLoanManager

Functions

HUNDRED_PERCENT

Returns the value considered as the hundred percent.

    function HUNDRED_PERCENT()
        view
        returns (
            uint256
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

PRECISION

Returns the precision used for the contract.

    function PRECISION()
        view
        returns (
            uint256
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

accountedInterest

Gets the amount of accounted interest.

    function accountedInterest()
        view
        returns (
            uint112
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint112

uint112

accruedInterest

Gets the amount of accrued interest up until this point in time.

    function accruedInterest()
        view
        returns (
            uint256 accruedInterest_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

accruedInterest_

uint256

uint256

The amount of accrued interest up until this point in time.

assetsUnderManagement

Gets the amount of assets under the management of the contract.

    function assetsUnderManagement()
        view
        returns (
            uint256 assetsUnderManagement_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

assetsUnderManagement_

uint256

uint256

The amount of assets under the management of the contract.

callPrincipal

Calls a loan.

    function callPrincipal(
        address loan_,
        uint256 principal_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to be called.

1

principal_

uint256

uint256

Amount of principal to call the Loan with.

claim

Called by loans when payments are made, updating the accounting.

    function claim(
        int256 principal_,
        uint256 interest_,
        uint256 delegateServiceFee_,
        uint256 platformServiceFee_,
        uint40 nextPaymentDueDate_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

principal_

int256

int256

The difference in principal. Positive if net principal change moves funds into pool, negative if it moves funds out of pool.

1

interest_

uint256

uint256

The amount of interest paid.

2

delegateServiceFee_

uint256

uint256

The amount of delegate service fee paid.

3

platformServiceFee_

uint256

uint256

The amount of platform service fee paid.

4

nextPaymentDueDate_

uint40

uint40

domainStart

Gets the timestamp of the domain start.

    function domainStart()
        view
        returns (
            uint40
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint40

uint40

factory

The address of the proxy factory.

    function factory()
        view
        returns (
            address factory_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

factory_

address

address

fund

Funds a new loan.

    function fund(
        address loan_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to be funded.

fundsAsset

Gets the address of the funds asset.

    function fundsAsset()
        view
        returns (
            address
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

address

address

impairLoan

Triggers the impairment of a loan.

    function impairLoan(
        address loan_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to trigger the loan impairment.

impairmentFor

Gets the information for an impairment.

    function impairmentFor(
        address
    )
        view
        returns (
            uint40 impairedDate,
            bool impairedByGovernor
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

impairedDate

uint40

uint40

The date the impairment was triggered.

1

impairedByGovernor

bool

bool

True if the impairment was triggered by the governor.

implementation

The address of the implementation contract being proxied.

    function implementation()
        view
        returns (
            address implementation_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

implementation_

address

address

issuanceRate

Gets the current issuance rate.

    function issuanceRate()
        view
        returns (
            uint256
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

migrate

Modifies the proxy's storage by delegate-calling a migrator contract with some arguments. Access control logic critical since caller can force a selfdestruct via a malicious `migrator_` which is delegatecalled.

    function migrate(
        address migrator_,
        bytes arguments_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

migrator_

address

address

The address of a migrator contract.

1

arguments_

bytes

bytes

Some encoded arguments to use for the migration.

paymentFor

Gets the information for a payment.

    function paymentFor(
        address
    )
        view
        returns (
            uint24 platformManagementFeeRate,
            uint24 delegateManagementFeeRate,
            uint40 startDate,
            uint168 issuanceRate
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

platformManagementFeeRate

uint24

uint24

The value for the platform management fee rate.

1

delegateManagementFeeRate

uint24

uint24

The value for the delegate management fee rate.

2

startDate

uint40

uint40

The start date of the payment.

3

issuanceRate

uint168

uint168

The issuance rate for the loan.

poolManager

Gets the address of the pool manager.

    function poolManager()
        view
        returns (
            address
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

address

address

principalOut

Gets the amount of principal out.

    function principalOut()
        view
        returns (
            uint128
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint128

uint128

proposeNewTerms

Proposes new terms for a loan.

    function proposeNewTerms(
        address loan_,
        address refinancer_,
        uint256 deadline_,
        bytes[] calls_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The loan to propose new changes to.

1

refinancer_

address

address

The refinancer to use in the refinance.

2

deadline_

uint256

uint256

The deadline by which the borrower must accept the new terms.

3

calls_

bytes[]

bytes[]

The array of calls to be made to the refinancer.

rejectNewTerms

Reject/cancel proposed new terms for a loan.

    function rejectNewTerms(
        address loan_,
        address refinancer_,
        uint256 deadline_,
        bytes[] calls_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The loan with the proposed new changes.

1

refinancer_

address

address

The refinancer to use in the refinance.

2

deadline_

uint256

uint256

The deadline by which the borrower must accept the new terms.

3

calls_

bytes[]

bytes[]

The array of calls to be made to the refinancer.

removeCall

Removes a loan call.

    function removeCall(
        address loan_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to remove call for.

removeLoanImpairment

Removes the loan impairment for a loan.

    function removeLoanImpairment(
        address loan_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to remove the loan impairment.

setImplementation

Modifies the proxy's implementation address.

    function setImplementation(
        address implementation_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

implementation_

address

address

triggerDefault

Triggers the default of a loan.

    function triggerDefault(
        address loan_,
        address liquidatorFactory_
    )
        nonpayable
        returns (
            bool liquidationComplete_,
            uint256 remainingLosses_,
            uint256 unrecoveredPlatformFees_
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to trigger the default.

1

liquidatorFactory_

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

liquidationComplete_

bool

bool

1

remainingLosses_

uint256

uint256

The amount of un-recovered principal and interest (net of management fees).

2

unrecoveredPlatformFees_

uint256

uint256

The amount of un-recovered platform fees.

triggerDefault

Triggers the default of a loan.

    function triggerDefault(
        address loan_
    )
        nonpayable
        returns (
            uint256 remainingLosses_,
            uint256 unrecoveredPlatformFees_
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

Loan to trigger the default.

Return Values:

IndexNameTypeInternal TypeDescription

0

remainingLosses_

uint256

uint256

The amount of un-recovered principal and interest (net of management fees).

1

unrecoveredPlatformFees_

uint256

uint256

The amount of un-recovered platform fees.

unrealizedLosses

Returns the amount unrealized losses.

    function unrealizedLosses()
        view
        returns (
            uint128
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

uint128

uint128

upgrade

Upgrades a contract implementation to a specific version. Access control logic critical since caller can force a selfdestruct via a malicious `migrator_` which is delegatecalled.

    function upgrade(
        uint256 version_,
        bytes arguments_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

version_

uint256

uint256

1

arguments_

bytes

bytes

Some encoded arguments to use for the upgrade.

Events

AccountingStateUpdated

Emitted when the accounting state of the loan manager is updated.

    event AccountingStateUpdated(
        uint256 issuanceRate_,
        uint112 accountedInterest_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

issuanceRate_

uint256

uint256

New value for the issuance rate.

1

accountedInterest_

uint112

uint112

The amount of accounted interest.

ClaimedFundsDistributed

Funds have been claimed and distributed to the Pool, Pool Delegate, and Maple Treasury.

    event ClaimedFundsDistributed(
        address loan_,
        uint256 principal_,
        uint256 netInterest_,
        uint256 delegateManagementFee_,
        uint256 delegateServiceFee_,
        uint256 platformManagementFee_,
        uint256 platformServiceFee_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The address of the loan contract.

1

principal_

uint256

uint256

The amount of principal paid.

2

netInterest_

uint256

uint256

The amount of net interest paid.

3

delegateManagementFee_

uint256

uint256

The amount of delegate management fees paid.

4

delegateServiceFee_

uint256

uint256

The amount of delegate service fees paid.

5

platformManagementFee_

uint256

uint256

The amount of platform management fees paid.

6

platformServiceFee_

uint256

uint256

The amount of platform service fees paid.

ExpectedClaim

Funds that were expected to be claimed and distributed to the Pool and Maple Treasury.

    event ExpectedClaim(
        address loan_,
        uint256 principal_,
        uint256 netInterest_,
        uint256 platformManagementFee_,
        uint256 platformServiceFee_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The address of the loan contract.

1

principal_

uint256

uint256

The amount of principal that was expected to be paid.

2

netInterest_

uint256

uint256

The amount of net interest that was expected to be paid.

3

platformManagementFee_

uint256

uint256

The amount of platform management fees that were expected to be paid.

4

platformServiceFee_

uint256

uint256

The amount of platform service fees that were expected to paid.

LiquidatedFundsDistributed

Funds that were liquidated and distributed to the Pool, Maple Treasury, and Borrower.

    event LiquidatedFundsDistributed(
        address loan_,
        uint256 toBorrower_,
        uint256 toPool_,
        uint256 toTreasury_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The address of the loan contract that defaulted and was liquidated.

1

toBorrower_

uint256

uint256

The amount of recovered funds transferred to the Borrower.

2

toPool_

uint256

uint256

The amount of recovered funds transferred to the Pool.

3

toTreasury_

uint256

uint256

The amount of recovered funds transferred to the Treasury.

PaymentAdded

Emitted when a payment is added to the LoanManager payments mapping.

    event PaymentAdded(
        address loan_,
        uint256 platformManagementFeeRate_,
        uint256 delegateManagementFeeRate_,
        uint256 paymentDueDate_,
        uint256 issuanceRate_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The address of the loan.

1

platformManagementFeeRate_

uint256

uint256

The amount of platform management rate that will be used for the payment distribution.

2

delegateManagementFeeRate_

uint256

uint256

The amount of delegate management rate that will be used for the payment distribution.

3

paymentDueDate_

uint256

uint256

The due date of the payment.

4

issuanceRate_

uint256

uint256

The issuance of the payment, 1e27 precision.

PaymentRemoved

Emitted when a payment is removed from the LoanManager payments mapping.

    event PaymentRemoved(
        address loan_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

loan_

address

address

The address of the loan.

PrincipalOutUpdated

Emitted when principal out is updated

    event PrincipalOutUpdated(
        uint128 principalOut_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

principalOut_

uint128

uint128

The new value for principal out.

UnrealizedLossesUpdated

Emitted when unrealized losses is updated.

    event UnrealizedLossesUpdated(
        uint128 unrealizedLosses_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

unrealizedLosses_

uint128

uint128

The new value for unrealized losses.

Upgraded

The instance was upgraded.

    event Upgraded(
        uint256 toVersion_,
        bytes arguments_
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

toVersion_

uint256

uint256

The new version of the loan.

1

arguments_

bytes

bytes

The upgrade arguments, if any.

Last updated