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
  • cycleConfigs
  • decodeArguments
  • encodeArguments
  • exitCycleId
  • latestConfigId
  • lockedShares
  • pool
  • poolManager
  • totalCycleShares
  • Events
  • ConfigurationUpdated
  • Initialized
  • WithdrawalCancelled
  • WithdrawalProcessed
  • WithdrawalUpdated
  1. Technical Resources
  2. Interfaces

WithdrawalManagerInitializer (Cyclical)

\

Functions

cycleConfigs

Gets the configuration for a given config id.

    function cycleConfigs(
        uint256
    )
        view
        returns (
            uint64 initialCycleId,
            uint64 initialCycleTime,
            uint64 cycleDuration,
            uint64 windowDuration
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

uint256

uint256

Return Values:

Index
Name
Type
Internal Type
Description

0

initialCycleId

uint64

uint64

Identifier of the first withdrawal cycle using this configuration.

1

initialCycleTime

uint64

uint64

Timestamp of the first withdrawal cycle using this configuration.

2

cycleDuration

uint64

uint64

Duration of the withdrawal cycle.

3

windowDuration

uint64

uint64

Duration of the withdrawal window.

\

decodeArguments

    function decodeArguments(
        bytes encodedArguments_
    )
        pure
        returns (
            address pool_,
            uint256 startTime_,
            uint256 cycleDuration_,
            uint256 windowDuration_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

encodedArguments_

bytes

bytes

Return Values:

Index
Name
Type
Internal Type
Description

0

pool_

address

address

1

startTime_

uint256

uint256

2

cycleDuration_

uint256

uint256

3

windowDuration_

uint256

uint256

\

encodeArguments

    function encodeArguments(
        address pool_,
        uint256 startTime_,
        uint256 cycleDuration_,
        uint256 windowDuration_
    )
        pure
        returns (
            bytes encodedArguments_
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

pool_

address

address

1

startTime_

uint256

uint256

2

cycleDuration_

uint256

uint256

3

windowDuration_

uint256

uint256

Return Values:

Index
Name
Type
Internal Type
Description

0

encodedArguments_

bytes

bytes

\

exitCycleId

Gets the id of the cycle that account can exit on.

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

\

latestConfigId

Gets the most recent configuration id.

    function latestConfigId()
        view
        returns (
            uint256
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

lockedShares

Gets the amount of locked shares for an account.

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

\

pool

Gets the address of the pool associated with this withdrawal manager.

    function pool()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

poolManager

Gets the address of the pool manager associated with this withdrawal manager.

    function poolManager()
        view
        returns (
            address
        );

Return Values:

Index
Name
Type
Internal Type
Description

0

address

address

\

totalCycleShares

Gets the amount of shares for a cycle.

    function totalCycleShares(
        uint256
    )
        view
        returns (
            uint256
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

uint256

uint256

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

Events

ConfigurationUpdated

Emitted when the withdrawal configuration is updated.

    event ConfigurationUpdated(
        uint256 configId_,
        uint64 initialCycleId_,
        uint64 initialCycleTime_,
        uint64 cycleDuration_,
        uint64 windowDuration_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

configId_

uint256

uint256

The identifier of the configuration.

1

initialCycleId_

uint64

uint64

The identifier of the withdrawal cycle when the configuration takes effect.

2

initialCycleTime_

uint64

uint64

The timestamp of the beginning of the withdrawal cycle when the configuration takes effect.

3

cycleDuration_

uint64

uint64

The new duration of the withdrawal cycle.

4

windowDuration_

uint64

uint64

The new duration of the withdrawal window.

\

Initialized

    event Initialized(
        address pool_,
        uint256 cycleDuration_,
        uint256 windowDuration_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

pool_

address

address

1

cycleDuration_

uint256

uint256

2

windowDuration_

uint256

uint256

\

WithdrawalCancelled

Emitted when a withdrawal request is cancelled.

    event WithdrawalCancelled(
        address account_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

account_

address

address

Address of the account whose withdrawal request has been cancelled.

\

WithdrawalProcessed

Emitted when a withdrawal request is processed.

    event WithdrawalProcessed(
        address account_,
        uint256 sharesToRedeem_,
        uint256 assetsToWithdraw_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

account_

address

address

Address of the account processing their withdrawal request.

1

sharesToRedeem_

uint256

uint256

Amount of shares that the account will redeem.

2

assetsToWithdraw_

uint256

uint256

Amount of assets that will be withdrawn from the pool.

\

WithdrawalUpdated

Emitted when a withdrawal request is updated.

    event WithdrawalUpdated(
        address account_,
        uint256 lockedShares_,
        uint64 windowStart_,
        uint64 windowEnd_
    );

Parameters:

Index
Name
Type
Internal Type
Description

0

account_

address

address

Address of the account whose request has been updated.

1

lockedShares_

uint256

uint256

Total amount of shares the account has locked.

2

windowStart_

uint64

uint64

Time when the withdrawal window for the withdrawal request will begin.

3

windowEnd_

uint64

uint64

Time when the withdrawal window for the withdrawal request will end.

\

PreviousWithdrawalManagerFactory (Cyclical)NextWithdrawalManager (Queue)

Last updated 6 months ago