IRioLRTWithdrawalQueue
Functions
initialize
Initializes the contract.
Parameters
initialOwner
address
The initial owner of the contract.
token
address
The address of the liquid restaking token.
getCurrentEpoch
Retrieve the current withdrawal epoch for a given asset.
Parameters
asset
address
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
asset
address
The address of the withdrawal asset.
getTotalSharesOwed
Get the total amount of shares owed to withdrawers across all epochs for asset
.
Parameters
asset
address
The address of the withdrawal asset.
getEpochWithdrawalSummary
Retrieve withdrawal epoch information for a given asset and epoch.
Parameters
asset
address
The withdrawal asset.
epoch
uint256
The epoch for which to retrieve the information.
getUserWithdrawalSummary
Retrieve a user's withdrawal information for a given asset and epoch.
Parameters
asset
address
The withdrawal asset.
epoch
uint256
The epoch for which to retrieve the information.
user
address
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
withdrawer
address
The address requesting the withdrawal.
asset
address
The address of the asset being withdrawn.
amountIn
uint256
The amount of restaking tokens pulled from the withdrawer.
claimWithdrawalsForEpoch
Withdraws all asset
owed to the caller in a given epoch.
Parameters
request
ClaimRequest
The asset claim request.
claimWithdrawalsForManyEpochs
Withdraws owed assets owed to the caller from many withdrawal requests.
Parameters
requests
ClaimRequest[]
The withdrawal claim request.
settleCurrentEpochFromDepositPool
Settle the current epoch for asset
using assetsReceived
from the deposit pool.
Parameters
asset
address
The address of the withdrawal asset.
assetsReceived
uint256
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
asset
address
The address of the withdrawal asset.
assetsReceived
uint256
The amount of assets received from the deposit pool.
shareValueOfAssetsReceived
uint256
The value of the assets received in EigenLayer shares.
totalShareValueAtRebalance
uint256
The total epoch share value at the time of rebalance.
aggregateRoot
bytes32
The aggregate root of the queued EigenLayer withdrawals.
Events
WithdrawalQueued
Emitted when a user withdrawal is queued.
Parameters
epoch
uint256
The epoch containing the withdrawal.
asset
address
The address of the asset.
withdrawer
address
The address of the withdrawer.
amountIn
uint256
The amount of restaking tokens pulled from the user.
WithdrawalsClaimedForEpoch
Emitted when a user claims a withdrawal.
Parameters
epoch
uint256
The epoch containing the withdrawal.
asset
address
The address of the asset.
withdrawer
address
The address of the withdrawer.
amountOut
uint256
The amount of assets received.
EpochSettledFromDepositPool
Emitted when an epoch is settled from the deposit pool.
Parameters
epoch
uint256
The epoch that was settled.
asset
address
The address of the asset that was settled.
assetsReceived
uint256
The amount of assets received to settle the epoch.
EpochQueuedForSettlementFromEigenLayer
Emitted when an epoch is queued for settlement via EigenLayer.
Parameters
epoch
uint256
The epoch that was queued.
asset
address
The address of the asset that was queued.
assetsReceived
uint256
The amount of assets received from the deposit pool.
shareValueOfAssetsReceived
uint256
The value of the assets received in EigenLayer shares.
totalShareValueAtRebalance
uint256
The total epoch share value at the time of rebalance.
restakingTokensBurned
uint256
The amount of restaking tokens burned.
aggregateRoot
bytes32
The aggregate root of the queued EigenLayer withdrawals.
EpochSettledFromEigenLayer
Emitted when an epoch is settled from EigenLayer.
Parameters
epoch
uint256
The epoch that was settled.
asset
address
The address of the asset that was settled.
assetsReceived
uint256
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