RioLRTWithdrawalQueue
Inherits: IRioLRTWithdrawalQueue, OwnableUpgradeable, UUPSUpgradeable, RioLRTCore
State Variables
currentEpochsByAsset
Current asset withdrawal epochs. Incoming withdrawals are included in the current epoch.
epochWithdrawalsByAsset
The amount of assets owed to users in a given epoch, as well as the state of the epoch's withdrawals.
sharesOwedByAsset
The total amount of shares owed to withdrawers across all epochs for asset
, excluding the current epoch.
Functions
constructor
Parameters
Name | Type | Description |
---|---|---|
|
| The LRT issuer that's authorized to deploy this contract. |
initialize
Initializes the contract.
Parameters
Name | Type | Description |
---|---|---|
|
| The initial owner of the contract. |
|
| The address of the liquid restaking token. |
getCurrentEpoch
Retrieve the current withdrawal epoch for a given asset.
Parameters
Name | Type | Description |
---|---|---|
|
| The asset to retrieve the current epoch for. |
getRestakingTokensInCurrentEpoch
Get the amount of restaking tokens requested for withdrawal in the current epoch
for asset
.
Parameters
Name | Type | Description |
---|---|---|
|
| The address of the withdrawal asset. |
getTotalSharesOwed
Get the total amount of shares owed to withdrawers across all epochs for asset
.
Parameters
Name | Type | Description |
---|---|---|
|
| The address of the withdrawal asset. |
getEpochWithdrawalSummary
Retrieve withdrawal epoch information for a given asset and epoch.
Parameters
Name | Type | Description |
---|---|---|
|
| The withdrawal asset. |
|
| The epoch for which to retrieve the information. |
getUserWithdrawalSummary
Retrieve a user's withdrawal information for a given asset and epoch.
Parameters
Name | Type | Description |
---|---|---|
|
| The withdrawal asset. |
|
| The epoch for which to retrieve the information. |
|
| The address of the user for which to retrieve the information. |
claimWithdrawalsForEpoch
Withdraws all asset
owed to the caller in a given epoch.
Parameters
Name | Type | Description |
---|---|---|
|
| The asset claim request. |
claimWithdrawalsForManyEpochs
Withdraws owed assets owed to the caller from many withdrawal requests.
Parameters
Name | Type | Description |
---|---|---|
|
| The withdrawal claim request. |
queueWithdrawal
Queue withdrawal of asset
to withdrawer
in the current epoch. The withdrawal can be claimed as the underlying asset by the withdrawer once the current epoch is settled.
Parameters
Name | Type | Description |
---|---|---|
|
| The address requesting the withdrawal. |
|
| The address of the asset being withdrawn. |
|
| The amount of restaking tokens to queue for withdrawal. |
settleCurrentEpochFromDepositPool
Settle the current epoch for asset
using assetsReceived
from the deposit pool.
Parameters
Name | Type | Description |
---|---|---|
|
| The address of the withdrawal asset. |
|
| The amount of assets received to settle the epoch. |
queueCurrentEpochSettlementFromEigenLayer
Queues the current epoch for asset
settlement via EigenLayer and record the amount of assets received from the deposit pool.
Parameters
Name | Type | Description |
---|---|---|
|
| The address of the withdrawal asset. |
|
| The amount of assets received from the deposit pool. |
|
| The value of the assets received in EigenLayer shares. |
|
| The total epoch share value at the time of rebalance. |
|
| The aggregate root of the queued EigenLayer withdrawals. |
completeEpochSettlementFromEigenLayer
Settle epoch
for asset
using queuedWithdrawals
from EigenLayer.
Parameters
Name | Type | Description |
---|---|---|
|
| The address of the withdrawal asset. |
|
| The epoch to settle. |
|
| The queued withdrawals from EigenLayer. |
|
| The middleware times indexes for the queued withdrawals. |
receive
Receives ETH for withdrawals.
_getEpochWithdrawals
_authorizeUpgrade
Allows the owner to upgrade the withdrawal queue implementation.
Parameters
Name | Type | Description |
---|---|---|
|
| The implementation to upgrade to. |
Last updated