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

Name
Type
Description

redeemRequestIds

uint32[]

undefined

withdrawalEventIds

uint32[]

undefined

skipAlreadyClaimed

bool

undefined

_depth

uint16

The maximum recursive depth for the resolution of the redeem requests

Returns

Name
Type
Description

claimStatuses

uint8[]

The list of claim statuses. 0 for fully claimed, 1 for partially claimed, 2 for skipped

claimRedeemRequests

Claims the rewards of the provided redeem request ids

Parameters

Name
Type
Description

_redeemRequestIds

uint32[]

The list of redeem requests to claim

_withdrawalEventIds

uint32[]

The list of withdrawal events to use for every redeem request claim

Returns

Name
Type
Description

claimStatuses

uint8[]

The list of claim statuses. 0 for fully claimed, 1 for partially claimed, 2 for skipped

getBufferedExceedingEth

Retrieve the amount of redeemed LsETH pending to be supplied with withdrawn ETH

Returns

Name
Type
Description

_0

uint256

The amount of eth in the buffer

getRedeemDemand

Retrieve the amount of LsETH waiting to be exited

Returns

Name
Type
Description

_0

uint256

The amount of LsETH waiting to be exited

getRedeemRequestCount

Retrieve the global count of redeem requests

Returns

Name
Type
Description

_0

uint256

undefined

getRedeemRequestDetails

Retrieve the details of a specific redeem request

Parameters

Name
Type
Description

_redeemRequestId

uint32

The id of the request

Returns

Name
Type
Description

_0

RedeemQueueV2.RedeemRequest

The redeem request details

getRiver

Retrieve River address

Returns

Name
Type
Description

_0

address

The address of River

getWithdrawalEventCount

Retrieve the global count of withdrawal events

Returns

Name
Type
Description

_0

uint256

undefined

getWithdrawalEventDetails

Retrieve the details of a specific withdrawal event

Parameters

Name
Type
Description

_withdrawalEventId

uint32

The id of the withdrawal event

Returns

Name
Type
Description

_0

WithdrawalStack.WithdrawalEvent

The withdrawal event details

initializeRedeemManagerV1

Parameters

Name
Type
Description

_river

address

The address of the River contract

initializeRedeemManagerV1_2

pullExceedingEth

Pulls exceeding buffer eth

Parameters

Name
Type
Description

_max

uint256

The maximum amount that should be pulled

reportWithdraw

Reports a withdraw event from River

Parameters

Name
Type
Description

_lsETHWithdrawable

uint256

The amount of LsETH that can be redeemed due to this new withdraw event

requestRedeem

Creates a redeem request

Parameters

Name
Type
Description

_lsETHAmount

uint256

The amount of LsETH to redeem

_recipient

address

The recipient owning the redeem request

Returns

Name
Type
Description

redeemRequestId

uint32

The id of the redeem request

requestRedeem

Creates a redeem request using msg.sender as recipient

Parameters

Name
Type
Description

_lsETHAmount

uint256

The amount of LsETH to redeem

Returns

Name
Type
Description

redeemRequestId

uint32

The id of the redeem request

resolveRedeemRequests

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

Name
Type
Description

_redeemRequestIds

uint32[]

The list of redeem requests to resolve

Returns

Name
Type
Description

withdrawalEventIds

int64[]

The list of withdrawal events matching every redeem request (or error codes)

version

Retrieves the version of the contract

Returns

Name
Type
Description

_0

string

Version of the contract

Events

ClaimedRedeemRequest

Emitted when a redeem request claim has been processed and matched at least once and funds are sent to the recipient

Parameters

Name
Type
Description

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

Emitted when the contract is properly initialized

Parameters

Name
Type
Description

version

uint256

New version of the contracts

cdata

bytes

Complete calldata that was used during the initialization

ReportedWithdrawal

Emitted when a withdrawal event is created

Parameters

Name
Type
Description

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

Emitted when a redeem request is created

Parameters

Name
Type
Description

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

Emitted when a redeem request has been satisfied and filled (even partially) from a withdrawal event

Parameters

Name
Type
Description

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

Emitted when the redeem demand is set

Parameters

Name
Type
Description

oldRedeemDemand

uint256

The old redeem demand

newRedeemDemand

uint256

The new redeem demand

SetRiver

Emitted when the River address is set

Parameters

Name
Type
Description

river

address

The new river address

Errors

ClaimInitiatorIsDenied

Thrown when the claim initiator is denied

ClaimRecipientIsDenied

Thrown when the claim recipient is denied

ClaimRedeemFailed

Thrown when the payment after a claim failed

Parameters

Name
Type
Description

recipient

address

The recipient of the payment

rdata

bytes

The revert data

DoesNotMatch

Thrown when the redeem request and withdrawal event are not matching during claim

Parameters

Name
Type
Description

redeemRequestId

uint256

The provided redeem request id

withdrawalEventId

uint256

The provided associated withdrawal event id

IncompatibleArrayLengths

Thrown when the provided arrays don't have matching lengths

InvalidInitialization

An error occurred during the initialization

Parameters

Name
Type
Description

version

uint256

The version that was attempting to be initialized

expectedVersion

uint256

The version that was expected

InvalidZeroAddress

The address is zero

InvalidZeroAmount

Thrown When a zero value is provided

RecipientIsDenied

Thrown when the recipient of redeemRequest is denied

RedeemRequestAlreadyClaimed

Thrown when the redeem request id is already claimed

Parameters

Name
Type
Description

id

uint256

The redeem request id

RedeemRequestOutOfBounds

Thrown when the provided redeem request id is out of bounds

Parameters

Name
Type
Description

id

uint256

The redeem request id

TransferError

Thrown when a transfer error occurred with LsETH

Unauthorized

The operator is unauthorized for the caller

Parameters

Name
Type
Description

caller

address

Address performing the call

WithdrawalEventOutOfBounds

Thrown when the withdrawal request id if out of bounds

Parameters

Name
Type
Description

id

uint256

The withdrawal event id

WithdrawalExceedsRedeemDemand

Thrown when the provided withdrawal event exceeds the redeem demand

Parameters

Name
Type
Description

withdrawalAmount

uint256

The amount of the withdrawal event

redeemDemand

uint256

The current redeem demand

Last updated