RedeemManagerV1
Alluvial Finance Inc.
Redeem Manager (v1)
This contract handles the redeem requests of all users
Methods
claimRedeemRequests
function claimRedeemRequests(uint32[] redeemRequestIds, uint32[] withdrawalEventIds, bool skipAlreadyClaimed, uint16 _depth) external nonpayable returns (uint8[] claimStatuses)
Claims the rewards of the provided redeem request ids
Parameters
redeemRequestIds
uint32[]
undefined
withdrawalEventIds
uint32[]
undefined
skipAlreadyClaimed
bool
undefined
_depth
uint16
The maximum recursive depth for the resolution of the redeem requests
Returns
claimStatuses
uint8[]
The list of claim statuses. 0 for fully claimed, 1 for partially claimed, 2 for skipped
claimRedeemRequests
function claimRedeemRequests(uint32[] _redeemRequestIds, uint32[] _withdrawalEventIds) external nonpayable returns (uint8[] claimStatuses)
Claims the rewards of the provided redeem request ids
Parameters
_redeemRequestIds
uint32[]
The list of redeem requests to claim
_withdrawalEventIds
uint32[]
The list of withdrawal events to use for every redeem request claim
Returns
claimStatuses
uint8[]
The list of claim statuses. 0 for fully claimed, 1 for partially claimed, 2 for skipped
getBufferedExceedingEth
function getBufferedExceedingEth() external view returns (uint256)
Retrieve the amount of redeemed LsETH pending to be supplied with withdrawn ETH
Returns
_0
uint256
The amount of eth in the buffer
getRedeemDemand
function getRedeemDemand() external view returns (uint256)
Retrieve the amount of LsETH waiting to be exited
Returns
_0
uint256
The amount of LsETH waiting to be exited
getRedeemRequestCount
function getRedeemRequestCount() external view returns (uint256)
Retrieve the global count of redeem requests
Returns
_0
uint256
undefined
getRedeemRequestDetails
function getRedeemRequestDetails(uint32 _redeemRequestId) external view returns (struct RedeemQueueV2.RedeemRequest)
Retrieve the details of a specific redeem request
Parameters
_redeemRequestId
uint32
The id of the request
Returns
_0
RedeemQueueV2.RedeemRequest
The redeem request details
getRiver
function getRiver() external view returns (address)
Retrieve River address
Returns
_0
address
The address of River
getWithdrawalEventCount
function getWithdrawalEventCount() external view returns (uint256)
Retrieve the global count of withdrawal events
Returns
_0
uint256
undefined
getWithdrawalEventDetails
function getWithdrawalEventDetails(uint32 _withdrawalEventId) external view returns (struct WithdrawalStack.WithdrawalEvent)
Retrieve the details of a specific withdrawal event
Parameters
_withdrawalEventId
uint32
The id of the withdrawal event
Returns
_0
WithdrawalStack.WithdrawalEvent
The withdrawal event details
initializeRedeemManagerV1
function initializeRedeemManagerV1(address _river) external nonpayable
Parameters
_river
address
The address of the River contract
initializeRedeemManagerV1_2
function initializeRedeemManagerV1_2() external nonpayable
pullExceedingEth
function pullExceedingEth(uint256 _max) external nonpayable
Pulls exceeding buffer eth
Parameters
_max
uint256
The maximum amount that should be pulled
reportWithdraw
function reportWithdraw(uint256 _lsETHWithdrawable) external payable
Reports a withdraw event from River
Parameters
_lsETHWithdrawable
uint256
The amount of LsETH that can be redeemed due to this new withdraw event
requestRedeem
function requestRedeem(uint256 _lsETHAmount, address _recipient) external nonpayable returns (uint32 redeemRequestId)
Creates a redeem request
Parameters
_lsETHAmount
uint256
The amount of LsETH to redeem
_recipient
address
The recipient owning the redeem request
Returns
redeemRequestId
uint32
The id of the redeem request
requestRedeem
function requestRedeem(uint256 _lsETHAmount) external nonpayable returns (uint32 redeemRequestId)
Creates a redeem request using msg.sender as recipient
Parameters
_lsETHAmount
uint256
The amount of LsETH to redeem
Returns
redeemRequestId
uint32
The id of the redeem request
resolveRedeemRequests
function resolveRedeemRequests(uint32[] _redeemRequestIds) external view returns (int64[] withdrawalEventIds)
Resolves the provided list of redeem request ids
The result is an array of equal length with ids or error code-1 means that the request is not satisfied yet-2 means that the request is out of bounds-3 means that the request has already been claimedThis call was created to be called by an off-chain interface, the output could then be used to perform the claimRewards call in a regular transaction
Parameters
_redeemRequestIds
uint32[]
The list of redeem requests to resolve
Returns
withdrawalEventIds
int64[]
The list of withdrawal events matching every redeem request (or error codes)
version
function version() external pure returns (string)
Retrieves the version of the contract
Returns
_0
string
Version of the contract
Events
ClaimedRedeemRequest
event ClaimedRedeemRequest(uint32 indexed redeemRequestId, address indexed recipient, uint256 ethAmount, uint256 lsEthAmount, uint256 remainingLsEthAmount)
Emitted when a redeem request claim has been processed and matched at least once and funds are sent to the recipient
Parameters
redeemRequestId indexed
uint32
The id of the redeem request
recipient indexed
address
The address receiving the redeem request funds
ethAmount
uint256
The amount of eth retrieved
lsEthAmount
uint256
The total amount of LsETH used to redeem the eth
remainingLsEthAmount
uint256
The amount of LsETH remaining
Initialize
event Initialize(uint256 version, bytes cdata)
Emitted when the contract is properly initialized
Parameters
version
uint256
New version of the contracts
cdata
bytes
Complete calldata that was used during the initialization
ReportedWithdrawal
event ReportedWithdrawal(uint256 height, uint256 amount, uint256 ethAmount, uint32 id)
Emitted when a withdrawal event is created
Parameters
height
uint256
The height of the withdrawal event in LsETH
amount
uint256
The amount of the withdrawal event in LsETH
ethAmount
uint256
The amount of eth to distribute to claimers
id
uint32
The id of the withdrawal event
RequestedRedeem
event RequestedRedeem(address indexed recipient, uint256 height, uint256 amount, uint256 maxRedeemableEth, uint32 id)
Emitted when a redeem request is created
Parameters
recipient indexed
address
The recipient of the redeem request
height
uint256
The height of the redeem request in LsETH
amount
uint256
The amount of the redeem request in LsETH
maxRedeemableEth
uint256
The maximum amount of eth that can be redeemed from this request
id
uint32
The id of the new redeem request
SatisfiedRedeemRequest
event SatisfiedRedeemRequest(uint32 indexed redeemRequestId, uint32 indexed withdrawalEventId, uint256 lsEthAmountSatisfied, uint256 ethAmountSatisfied, uint256 lsEthAmountRemaining, uint256 ethAmountExceeding)
Emitted when a redeem request has been satisfied and filled (even partially) from a withdrawal event
Parameters
redeemRequestId indexed
uint32
The id of the redeem request
withdrawalEventId indexed
uint32
The id of the withdrawal event used to fill the request
lsEthAmountSatisfied
uint256
The amount of LsETH filled
ethAmountSatisfied
uint256
The amount of ETH filled
lsEthAmountRemaining
uint256
The amount of LsETH remaining
ethAmountExceeding
uint256
The amount of eth added to the exceeding buffer
SetRedeemDemand
event SetRedeemDemand(uint256 oldRedeemDemand, uint256 newRedeemDemand)
Emitted when the redeem demand is set
Parameters
oldRedeemDemand
uint256
The old redeem demand
newRedeemDemand
uint256
The new redeem demand
SetRiver
event SetRiver(address river)
Emitted when the River address is set
Parameters
river
address
The new river address
Errors
ClaimInitiatorIsDenied
error ClaimInitiatorIsDenied()
Thrown when the claim initiator is denied
ClaimRecipientIsDenied
error ClaimRecipientIsDenied()
Thrown when the claim recipient is denied
ClaimRedeemFailed
error ClaimRedeemFailed(address recipient, bytes rdata)
Thrown when the payment after a claim failed
Parameters
recipient
address
The recipient of the payment
rdata
bytes
The revert data
DoesNotMatch
error DoesNotMatch(uint256 redeemRequestId, uint256 withdrawalEventId)
Thrown when the redeem request and withdrawal event are not matching during claim
Parameters
redeemRequestId
uint256
The provided redeem request id
withdrawalEventId
uint256
The provided associated withdrawal event id
IncompatibleArrayLengths
error IncompatibleArrayLengths()
Thrown when the provided arrays don't have matching lengths
InvalidInitialization
error InvalidInitialization(uint256 version, uint256 expectedVersion)
An error occurred during the initialization
Parameters
version
uint256
The version that was attempting to be initialized
expectedVersion
uint256
The version that was expected
InvalidZeroAddress
error InvalidZeroAddress()
The address is zero
InvalidZeroAmount
error InvalidZeroAmount()
Thrown When a zero value is provided
RecipientIsDenied
error RecipientIsDenied()
Thrown when the recipient of redeemRequest is denied
RedeemRequestAlreadyClaimed
error RedeemRequestAlreadyClaimed(uint256 id)
Thrown when the redeem request id is already claimed
Parameters
id
uint256
The redeem request id
RedeemRequestOutOfBounds
error RedeemRequestOutOfBounds(uint256 id)
Thrown when the provided redeem request id is out of bounds
Parameters
id
uint256
The redeem request id
TransferError
error TransferError()
Thrown when a transfer error occurred with LsETH
Unauthorized
error Unauthorized(address caller)
The operator is unauthorized for the caller
Parameters
caller
address
Address performing the call
WithdrawalEventOutOfBounds
error WithdrawalEventOutOfBounds(uint256 id)
Thrown when the withdrawal request id if out of bounds
Parameters
id
uint256
The withdrawal event id
WithdrawalExceedsRedeemDemand
error WithdrawalExceedsRedeemDemand(uint256 withdrawalAmount, uint256 redeemDemand)
Thrown when the provided withdrawal event exceeds the redeem demand
Parameters
withdrawalAmount
uint256
The amount of the withdrawal event
redeemDemand
uint256
The current redeem demand
Last updated