\
The value that represents 100%, to be easily comparable with the loan rates.
function HUNDRED_PERCENT()
view
returns (
uint256
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint256 |
uint256 |
\
Accept the borrower role, must be called by pendingBorrower.
function acceptBorrower()
nonpayable;
\
Accept the lender role, must be called by pendingLender.
function acceptLender()
nonpayable;
\
Accept the proposed terms and trigger refinance execution.
function acceptNewTerms(
address refinancer_,
uint256 deadline_,
bytes[] calls_
)
nonpayable
returns (
bytes32 refinanceCommitment_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinancer_ |
address |
address |
The address of the refinancer contract. |
1 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
2 | calls_ |
bytes[] |
bytes[] |
The encoded arguments to be passed to refinancer. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the accepted refinance agreement. |
\
The borrower of the loan, responsible for repayments.
function borrower()
view
returns (
address
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | address |
address |
\
The amount of principal yet to be returned to satisfy the loan call.
function calledPrincipal()
view
returns (
uint256
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint256 |
uint256 |
\
The lender called the loan, giving the borrower a notice period within which to return principal and pro-rata interest.
function callPrincipal(
uint256 principalToReturn_
)
nonpayable
returns (
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | principalToReturn_ |
uint256 |
uint256 |
The minimum amount of principal the borrower must return. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The new payment due date for returning the principal and pro-rate interest to the lender. |
1 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
The timestamp of the date the loan was called.
function dateCalled()
view
returns (
uint40
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint40 |
uint40 |
\
The timestamp of the date the loan was funded.
function dateFunded()
view
returns (
uint40
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint40 |
uint40 |
\
The timestamp of the date the loan was impaired.
function dateImpaired()
view
returns (
uint40
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint40 |
uint40 |
\
The timestamp of the date the loan was last paid.
function datePaid()
view
returns (
uint40
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint40 |
uint40 |
\
The timestamp of the date the loan will be in default.
function defaultDate()
view
returns (
uint40 paymentDefaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDefaultDate_ |
uint40 |
uint40 |
\
The annualized delegate service fee rate.
function delegateServiceFeeRate()
view
returns (
uint64
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint64 |
uint64 |
\
The address of the proxy factory.
function factory()
view
returns (
address factory_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | factory_ |
address |
address |
\
Lend funds to the loan/borrower.
function fund()
nonpayable
returns (
uint256 fundsLent_,
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | fundsLent_ |
uint256 |
uint256 |
The amount funded. |
1 | paymentDueDate_ |
uint40 |
uint40 |
The due date of the first payment. |
2 | defaultDate_ |
uint40 |
uint40 |
The timestamp of the date the loan will be in default. |
\
The address of the fundsAsset funding the loan.
function fundsAsset()
view
returns (
address
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | address |
address |
\
Get the breakdown of the total payment needed to satisfy the next payment installment.
function getPaymentBreakdown(
uint256 timestamp_
)
view
returns (
uint256 principal_,
uint256 interest_,
uint256 lateInterest_,
uint256 delegateServiceFee_,
uint256 platformServiceFee_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | timestamp_ |
uint256 |
uint256 |
The timestamp that corresponds to when the payment is to be made. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | principal_ |
uint256 |
uint256 |
The portion of the total amount that will go towards principal. |
1 | interest_ |
uint256 |
uint256 |
The portion of the total amount that will go towards interest fees. |
2 | lateInterest_ |
uint256 |
uint256 |
The portion of the total amount that will go towards late interest fees. |
3 | delegateServiceFee_ |
uint256 |
uint256 |
The portion of the total amount that will go towards delegate service fees. |
4 | platformServiceFee_ |
uint256 |
uint256 |
The portion of the total amount that will go towards platform service fees. |
\
The Maple globals address
function globals()
view
returns (
address globals_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | globals_ |
address |
address |
\
The amount of time the borrower has, after a payment is due, to make a payment before being in default.
function gracePeriod()
view
returns (
uint32
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint32 |
uint32 |
\
Fast forward the payment due date to the current time. This enables the pool delegate to force a payment (or default).
function impair()
nonpayable
returns (
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The new payment due date to result in the removal of the loan's impairment status. |
1 | defaultDate_ |
uint40 |
uint40 |
The timestamp of the date the loan will be in default. |
\
The address of the implementation contract being proxied.
function implementation()
view
returns (
address implementation_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | implementation_ |
address |
address |
\
The annualized interest rate (APR), in units of 1e18, (i.e. 1% is 0.01e18).
function interestRate()
view
returns (
uint64
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint64 |
uint64 |
\
Whether the loan is called.
function isCalled()
view
returns (
bool isCalled_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | isCalled_ |
bool |
bool |
\
Whether the loan is impaired.
function isImpaired()
view
returns (
bool isImpaired_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | isImpaired_ |
bool |
bool |
\
Whether the loan is in default.
function isInDefault()
view
returns (
bool isInDefault_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | isInDefault_ |
bool |
bool |
\
The rate charged at late payments.
function lateFeeRate()
view
returns (
uint64
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint64 |
uint64 |
\
The premium over the regular interest rate applied when paying late.
function lateInterestPremiumRate()
view
returns (
uint64
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint64 |
uint64 |
\
The lender of the Loan.
function lender()
view
returns (
address
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | address |
address |
\
Make a payment to the loan.
function makePayment(
uint256 principalToReturn_
)
nonpayable
returns (
uint256 interest_,
uint256 lateInterest_,
uint256 delegateServiceFee_,
uint256 platformServiceFee_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | principalToReturn_ |
uint256 |
uint256 |
The amount of principal to return, to the lender to reduce future interest payments. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | interest_ |
uint256 |
uint256 |
The portion of the amount paying interest. |
1 | lateInterest_ |
uint256 |
uint256 |
The portion of the amount paying late interest. |
2 | delegateServiceFee_ |
uint256 |
uint256 |
The portion of the amount paying delegate service fees. |
3 | platformServiceFee_ |
uint256 |
uint256 |
The portion of the amount paying platform service fees. |
\
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;
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. |
\
The amount of time the borrower has, after the loan is called, to make a payment, paying back the called principal.
function noticePeriod()
view
returns (
uint32
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint32 |
uint32 |
\
The timestamp of the due date of the next payment.
function paymentDueDate()
view
returns (
uint40 paymentDueDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
\
The specified time between loan payments.
function paymentInterval()
view
returns (
uint32
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint32 |
uint32 |
\
The address of the pending borrower.
function pendingBorrower()
view
returns (
address
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | address |
address |
\
The address of the pending lender.
function pendingLender()
view
returns (
address
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | address |
address |
\
The annualized platform service fee rate.
function platformServiceFeeRate()
view
returns (
uint64
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint64 |
uint64 |
\
The amount of principal owed (initially, the requested amount), which needs to be paid back.
function principal()
view
returns (
uint256
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | uint256 |
uint256 |
\
Propose new terms for refinance.
function proposeNewTerms(
address refinancer_,
uint256 deadline_,
bytes[] calls_
)
nonpayable
returns (
bytes32 refinanceCommitment_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinancer_ |
address |
address |
The address of the refinancer contract. |
1 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
2 | calls_ |
bytes[] |
bytes[] |
The encoded arguments to be passed to refinancer. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the proposed refinance agreement. |
\
The hash of the proposed refinance agreement.
function refinanceCommitment()
view
returns (
bytes32
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | bytes32 |
bytes32 |
\
Nullify the current proposed terms.
function rejectNewTerms(
address refinancer_,
uint256 deadline_,
bytes[] calls_
)
nonpayable
returns (
bytes32 refinanceCommitment_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinancer_ |
address |
address |
The address of the refinancer contract. |
1 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
2 | calls_ |
bytes[] |
bytes[] |
The encoded arguments to be passed to refinancer. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the rejected refinance agreement. |
\
Remove the loan's called status.
function removeCall()
nonpayable
returns (
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The restored payment due date. |
1 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
Remove the loan impairment by restoring the original payment due date.
function removeImpairment()
nonpayable
returns (
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The restored payment due date. |
1 | defaultDate_ |
uint40 |
uint40 |
The timestamp of the date the loan will be in default. |
\
Repossess collateral, and any funds, for a loan in default.
function repossess(
address destination_
)
nonpayable
returns (
uint256 fundsRepossessed_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | destination_ |
address |
address |
The address where the collateral and funds asset is to be sent, if any. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | fundsRepossessed_ |
uint256 |
uint256 |
The amount of funds asset repossessed. |
\
Modifies the proxy's implementation address.
function setImplementation(
address newImplementation_
)
nonpayable;
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | newImplementation_ |
address |
address |
The address of an implementation contract. |
\
Set the `pendingBorrower` to a new account.
function setPendingBorrower(
address pendingBorrower_
)
nonpayable;
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | pendingBorrower_ |
address |
address |
The address of the new pendingBorrower. |
\
Set the `pendingLender` to a new account.
function setPendingLender(
address pendingLender_
)
nonpayable;
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | pendingLender_ |
address |
address |
The address of the new pendingLender. |
\
Remove all available balance of a specified token. NOTE: Open Term Loans are not designed to hold custody of tokens, so this is designed as a safety feature.
function skim(
address token_,
address destination_
)
nonpayable
returns (
uint256 skimmed_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | token_ |
address |
address |
The address of the token contract. |
1 | destination_ |
address |
address |
The recipient of the token. |
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | skimmed_ |
uint256 |
uint256 |
The amount of token removed from the loan. |
\
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 toVersion_,
bytes arguments_
)
nonpayable;
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | toVersion_ |
uint256 |
uint256 |
The version to upgrade to. |
1 | arguments_ |
bytes |
bytes |
Some encoded arguments to use for the upgrade. |
\
Borrower was accepted, and set to a new account.
event BorrowerAccepted(
address borrower_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | borrower_ |
address |
address |
The address of the new borrower. |
\
The lender reverted the action of the loan being called and the payment due date was restored to it's original value.
event CallRemoved(
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The restored payment due date. |
1 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
The loan was funded.
event Funded(
uint256 amount_,
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | amount_ |
uint256 |
uint256 |
The amount funded. |
1 | paymentDueDate_ |
uint40 |
uint40 |
The due date of the first payment. |
2 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
The payment due date was fast forwarded to the current time, activating the grace period. This is emitted when the pool delegate wants to force a payment (or default).
event Impaired(
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The new payment due date. |
1 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
The payment due date was restored to it's original value, reverting the action of loan impairment.
event ImpairmentRemoved(
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | paymentDueDate_ |
uint40 |
uint40 |
The restored payment due date. |
1 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
Loan was initialized.
event Initialized(
address borrower_,
address lender_,
address fundsAsset_,
uint256 principalRequested_,
uint32[3] termDetails_,
uint64[4] rates_
);
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 | fundsAsset_ |
address |
address |
The address of the lent asset. |
3 | principalRequested_ |
uint256 |
uint256 |
The amount of principal requested. |
4 | termDetails_ |
uint32[3] |
uint32[3] |
Array of loan parameters: [0]: gracePeriod, [1]: noticePeriod, [2]: paymentInterval |
5 | rates_ |
uint64[4] |
uint64[4] |
Array of rate parameters: [0]: delegateServiceFeeRate, [1]: interestRate, [2]: lateFeeRate, [3]: lateInterestPremiumRate |
\
Lender was accepted, and set to a new account.
event LenderAccepted(
address lender_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | lender_ |
address |
address |
The address of the new lender. |
\
The terms of the refinance proposal were accepted.
event NewTermsAccepted(
bytes32 refinanceCommitment_,
address refinancer_,
uint256 deadline_,
bytes[] calls_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the refinancer, deadline, and calls proposed. |
1 | refinancer_ |
address |
address |
The address that will execute the refinance. |
2 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
3 | calls_ |
bytes[] |
bytes[] |
The individual calls for the refinancer contract. |
\
A refinance was proposed.
event NewTermsProposed(
bytes32 refinanceCommitment_,
address refinancer_,
uint256 deadline_,
bytes[] calls_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the refinancer, deadline, and calls proposed. |
1 | refinancer_ |
address |
address |
The address that will execute the refinance. |
2 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
3 | calls_ |
bytes[] |
bytes[] |
The individual calls for the refinancer contract. |
\
The terms of the refinance proposal were rejected.
event NewTermsRejected(
bytes32 refinanceCommitment_,
address refinancer_,
uint256 deadline_,
bytes[] calls_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | refinanceCommitment_ |
bytes32 |
bytes32 |
The hash of the refinancer, deadline, and calls proposed. |
1 | refinancer_ |
address |
address |
The address that will execute the refinance. |
2 | deadline_ |
uint256 |
uint256 |
The deadline for accepting the new terms. |
3 | calls_ |
bytes[] |
bytes[] |
The individual calls for the refinancer contract. |
\
Payments were made.
event PaymentMade(
address lender_,
uint256 principalPaid_,
uint256 interestPaid_,
uint256 lateInterestPaid_,
uint256 delegateServiceFee_,
uint256 platformServiceFee_,
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | lender_ |
address |
address |
The address of the lender the payment was made to. |
1 | principalPaid_ |
uint256 |
uint256 |
The portion of the total amount that went towards paying down principal. |
2 | interestPaid_ |
uint256 |
uint256 |
The portion of the total amount that went towards interest. |
3 | lateInterestPaid_ |
uint256 |
uint256 |
The portion of the total amount that went towards late interest. |
4 | delegateServiceFee_ |
uint256 |
uint256 |
The portion of the total amount that went towards delegate service fees. |
5 | platformServiceFee_ |
uint256 |
uint256 |
The portion of the total amount that went towards platform service fee. |
6 | paymentDueDate_ |
uint40 |
uint40 |
The new payment due date. |
7 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
Pending borrower was set.
event PendingBorrowerSet(
address pendingBorrower_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | pendingBorrower_ |
address |
address |
Address that can accept the borrower role. |
\
Pending lender was set.
event PendingLenderSet(
address pendingLender_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | pendingLender_ |
address |
address |
The address that can accept the lender role. |
\
The lender called the loan, giving the borrower a notice period within which to return principal and pro-rata interest.
event PrincipalCalled(
uint256 principalToReturn_,
uint40 paymentDueDate_,
uint40 defaultDate_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | principalToReturn_ |
uint256 |
uint256 |
The minimum amount of principal the borrower must return. |
1 | paymentDueDate_ |
uint40 |
uint40 |
The new payment due date. |
2 | defaultDate_ |
uint40 |
uint40 |
The date the loan will be in default. |
\
Principal was returned to lender, to close the loan or return future interest payments.
event PrincipalReturned(
uint256 principalReturned_,
uint256 principalRemaining_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | principalReturned_ |
uint256 |
uint256 |
The amount of principal returned. |
1 | principalRemaining_ |
uint256 |
uint256 |
The amount of principal remaining on the loan. |
\
The loan was in default and funds and collateral was repossessed by the lender.
event Repossessed(
uint256 fundsRepossessed_,
address destination_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | fundsRepossessed_ |
uint256 |
uint256 |
The amount of funds asset repossessed. |
1 | destination_ |
address |
address |
The address of the recipient of the funds, if any. |
\
Some token was removed from the loan.
event Skimmed(
address token_,
uint256 amount_,
address destination_
);
Index | Name | Type | Internal Type | Description |
---|---|---|---|---|
0 | token_ |
address |
address |
The address of the token contract. |
1 | amount_ |
uint256 |
uint256 |
The amount of token remove from the loan. |
2 | destination_ |
address |
address |
The recipient of the token. |
\
The instance was upgraded.
event Upgraded(
uint256 toVersion_,
bytes arguments_
);
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. |
\