IWithdrawalManager

Git Source

Inherits: IWithdrawalManagerStorage

Functions

initialize

Initializes the Withdrawal Manager.

Function is invoked by the proxy contract when the Withdrawal Manager Contract is added to the PoolAddressesProvider of the market.

function initialize(IPoolAddressesProvider provider_, uint256 cycleDuration_, uint256 windowDuration_) external;

Parameters

Name
Type
Description

provider_

IPoolAddressesProvider

The address of the PoolAddressesProvider.

cycleDuration_

uint256

The total duration of a withdrawal cycle.

windowDuration_

uint256

The duration of the withdrawal window.

setExitConfig

Pool admin sets a new configuration for the withdrawal manager.

function setExitConfig(uint256 cycleDuration_, uint256 windowDuration_) external;

Parameters

Name
Type
Description

cycleDuration_

uint256

The total duration of a withdrawal cycle.

windowDuration_

uint256

The total duration of a withdrawal window.

addShares

Add more shares for withdrawal.

Parameters

Name
Type
Description

shares_

uint256

The amount of shares to add.

owner_

address

The owner of the shares.

removeShares

Remove shares from withdrawal.

Parameters

Name
Type
Description

shares_

uint256

The amount of shares to remove from withdrawal.

owner_

address

The owner of the shares.

processExit

Process the exit of requested shares of a owner.

Parameters

Name
Type
Description

requestedShares_

uint256

The amount of shares to redeem.

owner_

address

The owner of the shares.

Returns

Name
Type
Description

redeemableShares_

uint256

The amount of redeemable shares.

resultingAssets_

uint256

The corresponding amount of assets with the redeemable shares.

isInExitWindow

Checks if the owner has a withdrawal request in the exit window.

Parameters

Name
Type
Description

owner_

address

The owner address to check.

Returns

Name
Type
Description

isInExitWindow_

bool

True if the owner has a withdrawal request in the exit window.

lockedLiquidity

Gets the total amount of liquidity locked in the current cycle.

Returns

Name
Type
Description

lockedLiquidity_

uint256

The total amount of liquidity locked in the current cycle.

previewRedeem

Previews the amount of shares and assets that can be redeemed.

Parameters

Name
Type
Description

owner_

address

The owner of the shares.

shares_

uint256

The amount of shares to redeem.

Returns

Name
Type
Description

redeemableShares_

uint256

The amount of redeemable shares.

resultingAssets_

uint256

The corresponding amount of assets with the redeemable shares.

getCycleConfig

Gets the configuration of a config id.

Parameters

Name
Type
Description

configId_

uint256

The id of the config.

Returns

Name
Type
Description

config_

WithdrawalManager.CycleConfig

The config.

getConfigAtId

Gets the configuration of a given cycle id.

Parameters

Name
Type
Description

cycleId_

uint256

The cycle id.

Returns

Name
Type
Description

config_

WithdrawalManager.CycleConfig

The configuration used at the cycle id.

getCurrentConfig

Gets the configuration of the current cycle id.

Returns

Name
Type
Description

config_

WithdrawalManager.CycleConfig

The configuration used at the current cycle id.

getCurrentCycleId

Gets the current cycle id.

Returns

Name
Type
Description

cycleId_

uint256

The id of the current cycle.

getWindowStart

Gets the starting time of a window for a given cycle id.

Parameters

Name
Type
Description

cycleId_

uint256

The id of the cycle.

Returns

Name
Type
Description

windowStart_

uint64

The starting time of the window.

getWindowAtId

Gets the start and end time of a window for a given cycle id.

Parameters

Name
Type
Description

cycleId_

uint256

The id of the cycle.

Returns

Name
Type
Description

windowStart_

uint64

The starting time of the window.

windowEnd_

uint64

The ending time of the window.

getRedeemableAmounts

Gets the redeemable amount of an owner based in the current cycle.

Parameters

Name
Type
Description

lockedShares_

uint256

The amount of locked shares under the owner.

owner_

address

The address of the owner.

Returns

Name
Type
Description

redeemableShares_

uint256

The amount of redeemable shares.

resultingAssets_

uint256

The corresponding amount of assets with the redeemable shares.

Events

Initialized

Emitted when a withdrawal manager is initialized.

Parameters

Name
Type
Description

poolAddressesProvider_

address

The address of the PoolAddressesProvider.

cycleDuration_

uint256

The duration of a withdrawal cycle.

windowDuration_

uint256

The duration of the withdrawal window.

ConfigurationUpdated

Emitted when the configuration of the withdrawal manager is updated.

Parameters

Name
Type
Description

configId_

uint256

The id of the configuration.

initialCycleId_

uint64

The id of the initial cycle.

initialCycleTime_

uint64

The starting time of the initial cycle.

cycleDuration_

uint64

The duration of a withdrawal cycle.

windowDuration_

uint64

The duration of the withdrawal window.

WithdrawalCancelled

Emitted when a withdrawal is cancelled.

Parameters

Name
Type
Description

account_

address

The account whose withdrawal is cancelled.

WithdrawalProcessed

Emitted when a withdrawal is processed.

Parameters

Name
Type
Description

account_

address

The account whose withdrawal is processed.

sharesToRedeem_

uint256

The amount of shares to redeem.

assetsToWithdraw_

uint256

The amount of assets to withdraw.

WithdrawalUpdated

Emitted when a withdrawal is updated.

Parameters

Name
Type
Description

account_

address

The account whose withdrawal is updated.

lockedShares_

uint256

The new amount of locked shares.

windowStart_

uint64

The new starting time of the withdrawal window.

windowEnd_

uint64

The new ending time of the withdrawal window.

Last updated