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
issuer_
address
The LRT issuer that's authorized to deploy this contract.
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.
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.
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 to queue for withdrawal.
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.
completeEpochSettlementFromEigenLayer
Settle epoch
for asset
using queuedWithdrawals
from EigenLayer.
Parameters
asset
address
The address of the withdrawal asset.
epoch
uint256
The epoch to settle.
queuedWithdrawals
IDelegationManager.Withdrawal[]
The queued withdrawals from EigenLayer.
middlewareTimesIndexes
uint256[]
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
newImplementation
address
The implementation to upgrade to.
Last updated