OpenTermLoanManager

Functions

HUNDRED_PERCENT

Returns the value considered as the hundred percent.

    function HUNDRED_PERCENT()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

PRECISION

Returns the precision used for the contract.

    function PRECISION()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

accountedInterest

Gets the amount of accounted interest.

    function accountedInterest()
        view
        returns (
            uint112
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint112

uint112

accruedInterest

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

    function accruedInterest()
        view
        returns (
            uint256 accruedInterest_
        );

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

uint40

uint40

factory

The address of the proxy factory.

    function factory()
        view
        returns (
            address factory_
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

factory_

address

address

fund

Funds a new loan.

    function fund(
        address loan_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to be funded.

fundsAsset

Gets the address of the funds asset.

    function fundsAsset()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

impairLoan

Triggers the impairment of a loan.

    function impairLoan(
        address loan_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

implementation_

address

address

issuanceRate

Gets the current issuance rate.

    function issuanceRate()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

address

address

principalOut

Gets the amount of principal out.

    function principalOut()
        view
        returns (
            uint128
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint128

uint128

proposeNewTerms

Proposes new terms for a loan.

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

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to remove call for.

removeLoanImpairment

Removes the loan impairment for a loan.

    function removeLoanImpairment(
        address loan_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to remove the loan impairment.

setImplementation

Modifies the proxy's implementation address.

    function setImplementation(
        address implementation_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to trigger the default.

1

liquidatorFactory_

address

address

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to trigger the default.

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan.

PrincipalOutUpdated

Emitted when principal out is updated

    event PrincipalOutUpdated(
        uint128 principalOut_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

principalOut_

uint128

uint128

The new value for principal out.

UnrealizedLossesUpdated

Emitted when unrealized losses is updated.

    event UnrealizedLossesUpdated(
        uint128 unrealizedLosses_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

unrealizedLosses_

uint128

uint128

The new value for unrealized losses.

Upgraded

The instance was upgraded.

    event Upgraded(
        uint256 toVersion_,
        bytes arguments_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

toVersion_

uint256

uint256

The new version of the loan.

1

arguments_

bytes

bytes

The upgrade arguments, if any.

Last updated