FixedTermLoanManager

\

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

\

acceptNewTerms

Accepts new loan terms triggering a loan refinance.

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

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to be refinanced.

1

refinancer_

address

address

The address of the refinancer.

2

deadline_

uint256

uint256

The new deadline to execute the refinance.

3

calls_

bytes[]

bytes[]

The encoded calls to set new loan terms.

4

principalIncrease_

uint256

uint256

The increase in principal.

\

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.

\

allowedSlippageFor

Gets allowed slippage for a give collateral asset.

    function allowedSlippageFor(
        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

\

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.

\

claim

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

    function claim(
        uint256 principal_,
        uint256 interest_,
        uint256 previousPaymentDueDate_,
        uint256 nextPaymentDueDate_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

principal_

uint256

uint256

The amount of principal paid.

1

interest_

uint256

uint256

The amount of interest paid.

2

previousPaymentDueDate_

uint256

uint256

The previous payment due date.

3

nextPaymentDueDate_

uint256

uint256

The new payment due date.

\

domainEnd

Gets the timestamp of the domain end.

    function domainEnd()
        view
        returns (
            uint48
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint48

uint48

\

domainStart

Gets the timestamp of the domain start.

    function domainStart()
        view
        returns (
            uint48
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint48

uint48

\

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

\

finishCollateralLiquidation

Finishes the collateral liquidation.

    function finishCollateralLiquidation(
        address loan_
    )
        nonpayable
        returns (
            uint256 remainingLosses_,
            uint256 platformFees_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan that had its collateral liquidated.

Return Values:

Index
Name
Type
Internal Type
Description

0

remainingLosses_

uint256

uint256

The amount of remaining losses.

1

platformFees_

uint256

uint256

The amount of platform fees.

\

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

\

getExpectedAmount

Gets the expected amount of an asset given the input amount.

    function getExpectedAmount(
        address collateralAsset_,
        uint256 swapAmount_
    )
        view
        returns (
            uint256 returnAmount_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

collateralAsset_

address

address

The collateral asset that is being liquidated.

1

swapAmount_

uint256

uint256

The swap amount of collateral asset.

Return Values:

Index
Name
Type
Internal Type
Description

0

returnAmount_

uint256

uint256

The desired return amount of funds asset.

\

governor

    function governor()
        view
        returns (
            address governor_
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

governor_

address

address

\

impairLoan

Triggers the loan impairment for a loan.

    function impairLoan(
        address loan_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to trigger the loan impairment.

\

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

\

isLiquidationActive

Returns whether or not a liquidation is in progress.

    function isLiquidationActive(
        address loan_
    )
        view
        returns (
            bool isActive_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

Return Values:

Index
Name
Type
Internal Type
Description

0

isActive_

bool

bool

True if a liquidation is in progress.

\

issuanceRate

Gets the current issuance rate.

    function issuanceRate()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

liquidationInfo

Gets the information for a liquidation.

    function liquidationInfo(
        address
    )
        view
        returns (
            bool triggeredByGovernor,
            uint128 principal,
            uint120 interest,
            uint256 lateInterest,
            uint96 platformFees,
            address liquidator
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

triggeredByGovernor

bool

bool

True if the liquidation was triggered by the governor.

1

principal

uint128

uint128

The amount of principal to be recovered.

2

interest

uint120

uint120

The amount of interest to be recovered.

3

lateInterest

uint256

uint256

The amount of late interest to be recovered.

4

platformFees

uint96

uint96

The amount of platform fees owed.

5

liquidator

address

address

The address of the liquidator.

\

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.

\

minRatioFor

Gets the minimum ratio for a collateral asset.

    function minRatioFor(
        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

\

paymentCounter

Gets the payment counter.

    function paymentCounter()
        view
        returns (
            uint24
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint24

uint24

\

paymentIdOf

Gets the payment if for the given loan.

    function paymentIdOf(
        address
    )
        view
        returns (
            uint24
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint24

uint24

\

payments

Gets the information for a payment.

    function payments(
        uint256
    )
        view
        returns (
            uint24 platformManagementFeeRate,
            uint24 delegateManagementFeeRate,
            uint48 startDate,
            uint48 paymentDueDate,
            uint128 incomingNetInterest,
            uint128 refinanceInterest,
            uint256 issuanceRate
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

uint256

uint256

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

uint48

uint48

The start date of the payment.

3

paymentDueDate

uint48

uint48

The timestamp of the payment due date.

4

incomingNetInterest

uint128

uint128

The amount of incoming net interest.

5

refinanceInterest

uint128

uint128

The amount of refinance interest.

6

issuanceRate

uint256

uint256

The issuance rate for the loan.

\

paymentWithEarliestDueDate

Gets the payment id with the earliest due date.

    function paymentWithEarliestDueDate()
        view
        returns (
            uint24
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint24

uint24

\

poolDelegate

    function poolDelegate()
        view
        returns (
            address poolDelegate_
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

poolDelegate_

address

address

\

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

\

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 lender must accept the new terms.

3

calls_

bytes[]

bytes[]

The array of calls to be made to the refinancer.

\

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.

\

setAllowedSlippage

Sets the allowed slippage for a collateral asset liquidation.

    function setAllowedSlippage(
        address collateralAsset_,
        uint256 allowedSlippage_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

collateralAsset_

address

address

Address of a collateral asset.

1

allowedSlippage_

uint256

uint256

New value for `allowedSlippage`.

\

setImplementation

Modifies the proxy's implementation address.

    function setImplementation(
        address implementation_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

implementation_

address

address

\

setMinRatio

Sets the minimum ratio for a collateral asset liquidation. This ratio is expressed as a decimal representation of units of fundsAsset per unit collateralAsset in fundsAsset decimal precision.

    function setMinRatio(
        address collateralAsset_,
        uint256 minRatio_
    )
        nonpayable;

Parameters:

Index
Name
Type
Internal Type
Description

0

collateralAsset_

address

address

Address of a collateral asset.

1

minRatio_

uint256

uint256

New value for `minRatio`.

\

sortedPayments

Gets the information of the sorted list.

    function sortedPayments(
        uint256
    )
        view
        returns (
            uint24 previous,
            uint24 next,
            uint48 paymentDueDate
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

uint256

uint256

Return Values:

Index
Name
Type
Internal Type
Description

0

previous

uint24

uint24

1

next

uint24

uint24

2

paymentDueDate

uint48

uint48

\

triggerDefault

Triggers the default of a loan.

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

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

Loan to trigger the default.

1

liquidatorFactory_

address

address

Factory that will be used to deploy the liquidator.

Return Values:

Index
Name
Type
Internal Type
Description

0

liquidationComplete_

bool

bool

True if the liquidation is completed in the same transaction (uncollateralized).

1

remainingLosses_

uint256

uint256

The amount of remaining losses.

2

platformFees_

uint256

uint256

The amount of platform fees.

\

unrealizedLosses

Returns the amount unrealized losses.

    function unrealizedLosses()
        view
        returns (
            uint128
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint128

uint128

\

updateAccounting

Updates the issuance parameters of the LoanManager, callable by the Governor and the PoolDelegate. Useful to call when `block.timestamp` is greater than `domainEnd` and the LoanManager is not accruing interest.

    function updateAccounting()
        nonpayable;

\

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

AllowedSlippageSet

Emitted when `setAllowedSlippage` is called.

    event AllowedSlippageSet(
        address collateralAsset_,
        uint256 newSlippage_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

collateralAsset_

address

address

Address of a collateral asset.

1

newSlippage_

uint256

uint256

New value for `allowedSlippage`.

\

FundsDistributed

Funds have been claimed and distributed into the Pool.

    event FundsDistributed(
        address loan_,
        uint256 principal_,
        uint256 netInterest_
    );

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.

\

IssuanceParamsUpdated

Emitted when the issuance parameters are changed.

    event IssuanceParamsUpdated(
        uint48 domainEnd_,
        uint256 issuanceRate_,
        uint112 accountedInterest_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

domainEnd_

uint48

uint48

The timestamp of the domain end.

1

issuanceRate_

uint256

uint256

New value for the issuance rate.

2

accountedInterest_

uint112

uint112

The amount of accounted interest.

\

LoanTransferAdminSet

Emitted when the loanTransferAdmin is set by the PoolDelegate.

    event LoanTransferAdminSet(
        address loanTransferAdmin_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

loanTransferAdmin_

address

address

The address of the admin that can transfer loans.

\

ManagementFeesPaid

A fee payment was made.

    event ManagementFeesPaid(
        address loan_,
        uint256 delegateManagementFee_,
        uint256 platformManagementFee_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan contract.

1

delegateManagementFee_

uint256

uint256

The amount of delegate management fee paid.

2

platformManagementFee_

uint256

uint256

The amount of platform management fee paid.

\

MinRatioSet

Emitted when `setMinRatio` is called.

    event MinRatioSet(
        address collateralAsset_,
        uint256 newMinRatio_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

collateralAsset_

address

address

Address of a collateral asset.

1

newMinRatio_

uint256

uint256

New value for `minRatio`.

\

PaymentAdded

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

    event PaymentAdded(
        address loan_,
        uint256 paymentId_,
        uint256 platformManagementFeeRate_,
        uint256 delegateManagementFeeRate_,
        uint256 startDate_,
        uint256 nextPaymentDueDate_,
        uint256 netRefinanceInterest_,
        uint256 newRate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan.

1

paymentId_

uint256

uint256

The payment ID of the payment that was removed.

2

platformManagementFeeRate_

uint256

uint256

3

delegateManagementFeeRate_

uint256

uint256

4

startDate_

uint256

uint256

5

nextPaymentDueDate_

uint256

uint256

6

netRefinanceInterest_

uint256

uint256

7

newRate_

uint256

uint256

\

PaymentRemoved

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

    event PaymentRemoved(
        address loan_,
        uint256 paymentId_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

loan_

address

address

The address of the loan.

1

paymentId_

uint256

uint256

The payment ID of the payment that was removed.

\

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(
        uint256 unrealizedLosses_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

unrealizedLosses_

uint256

uint256

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