Maple
  • Welcome to Maple
  • Maple for Lenders
    • Introduction
    • Lending
    • Defaults and Impairments
    • Margin Calls and Liquidations
    • Risk
    • Withdrawal Process
  • syrupUSDC for Lenders
    • Powered by Maple
    • Lending in syrupUSDC and syrupUSDT
    • Commitments
    • Drips Rewards
    • Withdrawals
    • Monthly Updates
    • Pendle Integration
  • SyrupUSDC Rewards Prize Draw Program Summary
  • FAQ
  • Maple for Borrowers
    • Introduction
    • Loan Management
  • Maple for Token Holders
    • Introduction to SYRUP
      • MPL to SYRUP Conversion
      • FAQs
    • SYRUP Tokenomics
      • Staking
      • Staking Smart Contract Details
    • Governance and Voting
    • Drips Rewards
    • Research and Media
      • Podcasts
      • News Articles
      • TV Segments
      • Research Reports
      • Data Dashboards
    • Additional Resources
  • Technical Resources
    • Protocol Overview
      • Background
      • Protocol Actors
      • Smart Contract Architecture
      • Glossary
      • Smart Contract Addresses
      • Fees
      • Composability
      • Proxies and Upgradeability
    • Security
      • Security
      • List of Assumptions
      • External Entry Points
      • Emergency Protocol Pause
      • Protocol Invariants
      • Test Report
    • Loans
      • Loans
      • Fixed Term Loans
      • Open Term Loans
      • Refinancing
      • Impairments
      • Defaults
    • Pools
      • Pools
      • Pool Creation
      • PoolManager
      • PoolDelegateCover
      • Accounting
        • Pool Accounting
        • Pool Exchange Rates
    • Strategies
      • Fixed Term Loan Manager
        • Overview
        • Claims
        • Advance Payment Accounting
        • Accounting Examples
      • Open Term Loan Manager
      • DeFi Strategies
    • Withdrawal Managers
      • WithdrawalManager (Cyclical)
      • WithdrawalManager (Queue)
    • Singletons
      • Globals
      • MapleTreasury
      • Oracles
      • Pool Permission Manager
    • Admin Functions
      • Governor Admin Actions
        • Operational Admin Actions
      • Pool Delegate Admin Actions
      • Timelocks
    • Operations
      • Protocol Deployment
      • Open Term Loan Deployment
      • December 2023 Deployment & Upgrade Procedure
      • Strategies Release Deployment Procedure
    • Interfaces
      • FixedTermLoan
      • FixedTermLoanFactory
      • FixedTermLoanFeeManager
      • FixedTermLoanInitializer
      • FixedTermLoanManager
      • FixedTermLoanManagerFactory
      • FixedTermLoanManagerInitializer
      • FixedTermLoanRefinancer
      • Globals
      • Liquidator
      • LiquidatorFactory
      • LiquidatorInitializer
      • OpenTermLoan
      • OpenTermLoanFactory
      • OpenTermLoanInitializer
      • OpenTermLoanManager
      • OpenTermLoanManagerFactory
      • OpenTermLoanManagerInitializer
      • OpenTermLoanRefinancer
      • Pool
      • PoolDelegateCover
      • PoolDeployer
      • PoolManager
      • PoolManagerFactory
      • PoolManagerInitializer
      • PoolPermissionManager
      • WithdrawalManager (Cyclical)
      • WithdrawalManagerFactory (Cyclical)
      • WithdrawalManagerInitializer (Cyclical)
      • WithdrawalManager (Queue)
      • WithdrawalManagerFactory (Queue)
      • WithdrawalManagerInitializer (Queue)
    • SYRUP Token
      • Architectural Overview
      • Base ERC20 Structure
      • Upgradability
      • Modules
      • Time Locks
      • Recapitalization Module
      • Emergency Module
      • Deployment and Migration Procedure
    • GraphQL API
    • SDK
      • Introduction
      • Installation
      • Protocol Actors
      • Usage Guide
  • Troubleshooting & Support
    • Intercom
  • Maple 1.0
    • Access to deprecated Maple 1.0
  • Legal
    • Borrower MLA
    • KYC
    • Interface Terms of Use
    • Privacy Policy
    • syrupUSDC and syrupUSDT - Risks
    • syrupUSDC and syrupUSDT - Defaults and Impairments
    • syrupUSDC and syrupUSDT - Available Jurisdictions
    • Interface Terms of Use [syrupUSDC and syrupUSDT]
    • Interface Terms of Use [Syrup.fi/convert/ and Syrup.fi/stake/]
    • syrupUSDC and syrupUSDT- Privacy Policy
    • SyrupUSDC Rewards Prize Draw Terms & Conditions
Powered by GitBook
On this page
  • Functions
  • borrower
  • calledPrincipal
  • dateCalled
  • dateFunded
  • dateImpaired
  • datePaid
  • decodeArguments
  • delegateServiceFeeRate
  • encodeArguments
  • fundsAsset
  • gracePeriod
  • interestRate
  • lateFeeRate
  • lateInterestPremiumRate
  • lender
  • noticePeriod
  • paymentInterval
  • pendingBorrower
  • pendingLender
  • platformServiceFeeRate
  • principal
  • refinanceCommitment
  • Events
  • BorrowerAccepted
  • CallRemoved
  • Funded
  • Impaired
  • ImpairmentRemoved
  • Initialized
  • LenderAccepted
  • NewTermsAccepted
  • NewTermsProposed
  • NewTermsRejected
  • PaymentMade
  • PendingBorrowerSet
  • PendingLenderSet
  • PrincipalCalled
  • PrincipalReturned
  • Repossessed
  • Skimmed
  1. Technical Resources
  2. Interfaces

OpenTermLoanInitializer

\

Functions

borrower

    function borrower()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

calledPrincipal

    function calledPrincipal()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

dateCalled

    function dateCalled()
        view
        returns (
            uint40
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint40

uint40

\

dateFunded

    function dateFunded()
        view
        returns (
            uint40
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint40

uint40

\

dateImpaired

    function dateImpaired()
        view
        returns (
            uint40
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint40

uint40

\

datePaid

    function datePaid()
        view
        returns (
            uint40
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint40

uint40

\

decodeArguments

Decodes the initialization arguments for a MapleLoan.

    function decodeArguments(
        bytes encodedArguments_
    )
        pure
        returns (
            address borrower_,
            address lender_,
            address fundsAsset_,
            uint256 principalRequested_,
            uint32[3] termDetails_,
            uint64[4] rates_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

encodedArguments_

bytes

bytes

The encoded arguments for initializing a loan.

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

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

\

delegateServiceFeeRate

    function delegateServiceFeeRate()
        view
        returns (
            uint64
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint64

uint64

\

encodeArguments

Encodes the initialization arguments for a MapleLoan.

    function encodeArguments(
        address borrower_,
        address lender_,
        address fundsAsset_,
        uint256 principalRequested_,
        uint32[3] termDetails_,
        uint64[4] rates_
    )
        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

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

Return Values:

Index
Name
Type
Internal Type
Description

0

encodedArguments_

bytes

bytes

The encoded arguments for initializing a loan.

\

fundsAsset

    function fundsAsset()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

gracePeriod

    function gracePeriod()
        view
        returns (
            uint32
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint32

uint32

\

interestRate

    function interestRate()
        view
        returns (
            uint64
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint64

uint64

\

lateFeeRate

    function lateFeeRate()
        view
        returns (
            uint64
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint64

uint64

\

lateInterestPremiumRate

    function lateInterestPremiumRate()
        view
        returns (
            uint64
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint64

uint64

\

lender

    function lender()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

noticePeriod

    function noticePeriod()
        view
        returns (
            uint32
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint32

uint32

\

paymentInterval

    function paymentInterval()
        view
        returns (
            uint32
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint32

uint32

\

pendingBorrower

    function pendingBorrower()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

pendingLender

    function pendingLender()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

platformServiceFeeRate

    function platformServiceFeeRate()
        view
        returns (
            uint64
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint64

uint64

\

principal

    function principal()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

refinanceCommitment

    function refinanceCommitment()
        view
        returns (
            bytes32
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

bytes32

bytes32

\

Events

BorrowerAccepted

    event BorrowerAccepted(
        address borrower_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

borrower_

address

address

\

CallRemoved

    event CallRemoved(
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

paymentDueDate_

uint40

uint40

1

defaultDate_

uint40

uint40

\

Funded

    event Funded(
        uint256 amount_,
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

amount_

uint256

uint256

1

paymentDueDate_

uint40

uint40

2

defaultDate_

uint40

uint40

\

Impaired

    event Impaired(
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

paymentDueDate_

uint40

uint40

1

defaultDate_

uint40

uint40

\

ImpairmentRemoved

    event ImpairmentRemoved(
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

paymentDueDate_

uint40

uint40

1

defaultDate_

uint40

uint40

\

Initialized

    event Initialized(
        address borrower_,
        address lender_,
        address fundsAsset_,
        uint256 principalRequested_,
        uint32[3] termDetails_,
        uint64[4] rates_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

borrower_

address

address

1

lender_

address

address

2

fundsAsset_

address

address

3

principalRequested_

uint256

uint256

4

termDetails_

uint32[3]

uint32[3]

5

rates_

uint64[4]

uint64[4]

\

LenderAccepted

    event LenderAccepted(
        address lender_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

lender_

address

address

\

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(
        address lender_,
        uint256 principalPaid_,
        uint256 interestPaid_,
        uint256 lateInterestPaid_,
        uint256 delegateServiceFee_,
        uint256 platformServiceFee_,
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

lender_

address

address

1

principalPaid_

uint256

uint256

2

interestPaid_

uint256

uint256

3

lateInterestPaid_

uint256

uint256

4

delegateServiceFee_

uint256

uint256

5

platformServiceFee_

uint256

uint256

6

paymentDueDate_

uint40

uint40

7

defaultDate_

uint40

uint40

\

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

\

PrincipalCalled

    event PrincipalCalled(
        uint256 principalToReturn_,
        uint40 paymentDueDate_,
        uint40 defaultDate_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

principalToReturn_

uint256

uint256

1

paymentDueDate_

uint40

uint40

2

defaultDate_

uint40

uint40

\

PrincipalReturned

    event PrincipalReturned(
        uint256 principalReturned_,
        uint256 principalRemaining_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

principalReturned_

uint256

uint256

1

principalRemaining_

uint256

uint256

\

Repossessed

    event Repossessed(
        uint256 fundsRepossessed_,
        address destination_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

fundsRepossessed_

uint256

uint256

1

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

\

PreviousOpenTermLoanFactoryNextOpenTermLoanManager

Last updated 6 months ago