IRioLRTWithdrawalQueue
Functions
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. |
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 pulled from the withdrawer. |
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. |
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. |
Events
WithdrawalQueued
Emitted when a user withdrawal is queued.
Parameters
Name | Type | Description |
---|---|---|
|
| The epoch containing the withdrawal. |
|
| The address of the asset. |
|
| The address of the withdrawer. |
|
| The amount of restaking tokens pulled from the user. |
WithdrawalsClaimedForEpoch
Emitted when a user claims a withdrawal.
Parameters
Name | Type | Description |
---|---|---|
|
| The epoch containing the withdrawal. |
|
| The address of the asset. |
|
| The address of the withdrawer. |
|
| The amount of assets received. |
EpochSettledFromDepositPool
Emitted when an epoch is settled from the deposit pool.
Parameters
Name | Type | Description |
---|---|---|
|
| The epoch that was settled. |
|
| The address of the asset that was settled. |
|
| The amount of assets received to settle the epoch. |
EpochQueuedForSettlementFromEigenLayer
Emitted when an epoch is queued for settlement via EigenLayer.
Parameters
Name | Type | Description |
---|---|---|
|
| The epoch that was queued. |
|
| The address of the asset that was queued. |
|
| 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 amount of restaking tokens burned. |
|
| The aggregate root of the queued EigenLayer withdrawals. |
EpochSettledFromEigenLayer
Emitted when an epoch is settled from EigenLayer.
Parameters
Name | Type | Description |
---|---|---|
|
| The epoch that was settled. |
|
| The address of the asset that was settled. |
|
| The amount of assets received to settle the epoch. |
Errors
NO_AMOUNT_IN
Thrown when the amount in is zero.
NOTHING_TO_CLAIM
Thrown when there is nothing to claim.
NO_WITHDRAWALS_IN_EPOCH
Thrown when attempting an operation on an epoch with no withdrawals.
EPOCH_ALREADY_SETTLED
Thrown when attempting to settle an epoch that has already been settled.
EPOCH_NOT_SETTLED
Thrown when attempting to withdraw from an epoch that has not been settled.
WITHDRAWALS_ALREADY_QUEUED_FOR_EPOCH
Thrown when attempting to queue withdrawals for an epoch that has already been queued.
WITHDRAWALS_NOT_QUEUED_FOR_EPOCH
Thrown when attempting to settle an epoch that has not been queued from EigenLayer.
WITHDRAWAL_ALREADY_CLAIMED
Thrown when attempting to claim a withdrawal that has already been claimed.
INVALID_AGGREGATE_WITHDRAWAL_ROOT
Thrown when the calculated aggregate withdrawal root does not match the stored root.
INVALID_MIDDLEWARE_TIMES_INDEXES_LENGTH
Thrown when an incorrect number of middleware times indexes are provided.
Structs
UserWithdrawalSummary
How many shares are owed to a user in a given epoch, as well as whether or not the user has completed the withdrawal.
EpochWithdrawals
How many shares owed to all users in a given epoch, as well as whether or not the epoch's withdrawals have been completed.
EpochWithdrawalSummary
Epoch withdrawal information without the mapping, which allows us to return the struct from a view function.
ClaimRequest
The information needed to claim an owed asset in a given epoch.
Last updated