Purpose
SignatureRedeemQueue extends SignatureQueue to enable instant share redemption from a vault without the usual delay of on-chain oracle processing. It leverages off-chain consensus signatures conforming to EIP-712 or EIP-1271 to authorize redemptions, allowing trusted users to convert shares to assets in a fast and secure manner.
This module provides a low-latency redemption path under stronger trust assumptions, useful in environments where responsiveness is critical and participants are whitelisted by a governance consensus.
Key Features
- Off-chain authorized redemptions using signed
Ordermessages - Oracle-bound price validation to prevent manipulation
- EIP-712 structured data signature verification
- Direct burning of shares and asset pulling from the vault and payout
- Nonce-based replay protection
- Vault hook execution and balance tracking
- No redeem fee applied (unlike possible fees in
RedeemQueue)
Function: redeem
Parameters:
order: A signed redemptionOrderstruct specifying asset amount and recipientsignatures: Validator signatures from the consensus group
Workflow
- Validation via
validateOrder(...):- Signature freshness (
deadline) - Queue and asset correctness
- Caller authenticity and correct nonce
- Signatures validated by registered
Consensuscontract - Price computed from
orderedandrequestedvalues and verified via oracle
- Signature freshness (
- Nonce incremented for the caller to prevent signature reuse
- Vault liquid asset check:
- Ensures enough liquidity is available for the redemption
- Reverts with
InsufficientAssetsif funds are lacking
- Redemption Processing:
- Burns
order.orderedshares from the user viashareManager - Calls
vault.callHook(...)for any strategy exit logic - Transfers
order.requestedassets to the user - Updates internal vault balance via the
RiskManager
- Burns
- Event Emitted:
OrderExecuted(order, signatures)confirms successful execution