Skip to content

Latest commit

 

History

History
491 lines (350 loc) · 14.2 KB

fixed-term-loan-initializer.md

File metadata and controls

491 lines (350 loc) · 14.2 KB

FixedTermLoanInitializer

\

Functions

decodeArguments

Decodes the initialization arguments for a MapleLoan.

    function decodeArguments(
        bytes encodedArguments_
    )
        pure
        returns (
            address borrower_,
            address lender_,
            address feeManager_,
            address[2] assets_,
            uint256[3] termDetails_,
            uint256[3] amounts_,
            uint256[4] rates_,
            uint256[2] fees_
        );

Parameters:

Index Name Type Internal Type Description
0 encodedArguments_ bytes bytes

Return Values:

Index Name Type Internal Type Description
0 borrower_ address address The address of the borrower.
1 lender_ address address The address of the lender.
2 feeManager_ address address The address of the entity responsible for calculating fees.
3 assets_ address[2] address[2] Array of asset addresses. [0]: collateralAsset, [1]: fundsAsset
4 termDetails_ uint256[3] uint256[3] Array of loan parameters: [0]: gracePeriod, [1]: paymentInterval, [2]: payments
5 amounts_ uint256[3] uint256[3] Requested amounts: [0]: collateralRequired, [1]: principalRequested, [2]: endingPrincipal
6 rates_ uint256[4] uint256[4] Rates parameters: [0]: interestRate, [1]: closingFeeRate, [2]: lateFeeRate, [3]: lateInterestPremiumRate,
7 fees_ uint256[2] uint256[2] Array of fees: [0]: delegateOriginationFee, [1]: delegateServiceFee

\

encodeArguments

Encodes the initialization arguments for a MapleLoan.

    function encodeArguments(
        address borrower_,
        address lender_,
        address feeManager_,
        address[2] assets_,
        uint256[3] termDetails_,
        uint256[3] amounts_,
        uint256[4] rates_,
        uint256[2] fees_
    )
        pure
        returns (
            bytes encodedArguments_
        );

Parameters:

Index Name Type Internal Type Description
0 borrower_ address address The address of the borrower.
1 lender_ address address The address of the lender.
2 feeManager_ address address The address of the entity responsible for calculating fees.
3 assets_ address[2] address[2] Array of asset addresses. [0]: collateralAsset, [1]: fundsAsset
4 termDetails_ uint256[3] uint256[3] Array of loan parameters: [0]: gracePeriod, [1]: paymentInterval, [2]: payments
5 amounts_ uint256[3] uint256[3] Requested amounts: [0]: collateralRequired, [1]: principalRequested, [2]: endingPrincipal
6 rates_ uint256[4] uint256[4] Rates parameters: [0]: interestRate, [1]: closingFeeRate, [2]: lateFeeRate, [3]: lateInterestPremiumRate,
7 fees_ uint256[2] uint256[2] Array of fees: [0]: delegateOriginationFee, [1]: delegateServiceFee

Return Values:

Index Name Type Internal Type Description
0 encodedArguments_ bytes bytes

\

Events

BorrowerAccepted

    event BorrowerAccepted(
        address borrower_
    );

Parameters:

Index Name Type Internal Type Description
0 borrower_ address address

\

CollateralPosted

    event CollateralPosted(
        uint256 amount_
    );

Parameters:

Index Name Type Internal Type Description
0 amount_ uint256 uint256

\

CollateralRemoved

    event CollateralRemoved(
        uint256 amount_,
        address destination_
    );

Parameters:

Index Name Type Internal Type Description
0 amount_ uint256 uint256
1 destination_ address address

\

Funded

    event Funded(
        address lender_,
        uint256 amount_,
        uint256 nextPaymentDueDate_
    );

Parameters:

Index Name Type Internal Type Description
0 lender_ address address
1 amount_ uint256 uint256
2 nextPaymentDueDate_ uint256 uint256

\

FundsClaimed

    event FundsClaimed(
        uint256 amount_,
        address destination_
    );

Parameters:

Index Name Type Internal Type Description
0 amount_ uint256 uint256
1 destination_ address address

\

FundsDrawnDown

    event FundsDrawnDown(
        uint256 amount_,
        address destination_
    );

Parameters:

Index Name Type Internal Type Description
0 amount_ uint256 uint256
1 destination_ address address

\

FundsReturned

    event FundsReturned(
        uint256 amount_
    );

Parameters:

Index Name Type Internal Type Description
0 amount_ uint256 uint256

\

ImpairmentRemoved

    event ImpairmentRemoved(
        uint256 nextPaymentDueDate_
    );

Parameters:

Index Name Type Internal Type Description
0 nextPaymentDueDate_ uint256 uint256

\

Initialized

    event Initialized(
        address borrower_,
        address lender_,
        address feeManager_,
        address[2] assets_,
        uint256[3] termDetails_,
        uint256[3] amounts_,
        uint256[4] rates_,
        uint256[2] fees_
    );

Parameters:

Index Name Type Internal Type Description
0 borrower_ address address
1 lender_ address address
2 feeManager_ address address
3 assets_ address[2] address[2]
4 termDetails_ uint256[3] uint256[3]
5 amounts_ uint256[3] uint256[3]
6 rates_ uint256[4] uint256[4]
7 fees_ uint256[2] uint256[2]

\

LenderAccepted

    event LenderAccepted(
        address lender_
    );

Parameters:

Index Name Type Internal Type Description
0 lender_ address address

\

LoanClosed

    event LoanClosed(
        uint256 principalPaid_,
        uint256 interestPaid_,
        uint256 feesPaid_
    );

Parameters:

Index Name Type Internal Type Description
0 principalPaid_ uint256 uint256
1 interestPaid_ uint256 uint256
2 feesPaid_ uint256 uint256

\

LoanImpaired

    event LoanImpaired(
        uint256 nextPaymentDueDate_
    );

Parameters:

Index Name Type Internal Type Description
0 nextPaymentDueDate_ uint256 uint256

\

NewTermsAccepted

    event NewTermsAccepted(
        bytes32 refinanceCommitment_,
        address refinancer_,
        uint256 deadline_,
        bytes[] calls_
    );

Parameters:

Index Name Type Internal Type Description
0 refinanceCommitment_ bytes32 bytes32
1 refinancer_ address address
2 deadline_ uint256 uint256
3 calls_ bytes[] bytes[]

\

NewTermsProposed

    event NewTermsProposed(
        bytes32 refinanceCommitment_,
        address refinancer_,
        uint256 deadline_,
        bytes[] calls_
    );

Parameters:

Index Name Type Internal Type Description
0 refinanceCommitment_ bytes32 bytes32
1 refinancer_ address address
2 deadline_ uint256 uint256
3 calls_ bytes[] bytes[]

\

NewTermsRejected

    event NewTermsRejected(
        bytes32 refinanceCommitment_,
        address refinancer_,
        uint256 deadline_,
        bytes[] calls_
    );

Parameters:

Index Name Type Internal Type Description
0 refinanceCommitment_ bytes32 bytes32
1 refinancer_ address address
2 deadline_ uint256 uint256
3 calls_ bytes[] bytes[]

\

PaymentMade

    event PaymentMade(
        uint256 principalPaid_,
        uint256 interestPaid_,
        uint256 fees_
    );

Parameters:

Index Name Type Internal Type Description
0 principalPaid_ uint256 uint256
1 interestPaid_ uint256 uint256
2 fees_ uint256 uint256

\

PendingBorrowerSet

    event PendingBorrowerSet(
        address pendingBorrower_
    );

Parameters:

Index Name Type Internal Type Description
0 pendingBorrower_ address address

\

PendingLenderSet

    event PendingLenderSet(
        address pendingLender_
    );

Parameters:

Index Name Type Internal Type Description
0 pendingLender_ address address

\

Repossessed

    event Repossessed(
        uint256 collateralRepossessed_,
        uint256 fundsRepossessed_,
        address destination_
    );

Parameters:

Index Name Type Internal Type Description
0 collateralRepossessed_ uint256 uint256
1 fundsRepossessed_ uint256 uint256
2 destination_ address address

\

Skimmed

    event Skimmed(
        address token_,
        uint256 amount_,
        address destination_
    );

Parameters:

Index Name Type Internal Type Description
0 token_ address address
1 amount_ uint256 uint256
2 destination_ address address

\