evU - tower
CW4626 Escher Vault β Overview
Purpose
The CW4626 Escher Vault is a CosmWasm vault (ERC-4626 inspired) designed for the U token as its underlying. It automates liquidity provisioning, staking, incentive claiming, and redemptions, while exposing a familiar deposit/mint/withdraw/redeem interface.
Roles
Manager
Bonds underlying U into LP/staking.
Executes add/remove liquidity.
Swaps and claims incentives.
Oracle
Updates the price map for LP other-side assets and incentive tokens.
Marketing
Uses CW20-baseβs built-in marketing messages (e.g., name, symbol, logo).
Key Components
Underlying Token β Native U, basis for deposits/withdrawals and accounting.
Share Token β CW20 vault shares (same decimals as U).
Pool β The vault strategy centers on the eU pool, where U is converted to eU and deployed for liquidity and staking.
Incentives β The vault earns rewards in U, eU, and BABY.
Oracle Prices β Map of
token_address β Decimal pricein terms of U.Must include:
eU
U
BABY
Fees
Entry Fee β Applied on
deposit/mint.A percentage of gross shares is minted to the fee recipient.
PreviewDepositreturns net user shares after fee deduction.
Core Flows
Deposit / Mint
User deposits U.
Vault calculates gross shares from
total_assets / total_shares.Shares are split into:
user_sharesβ depositor.fee_sharesβ fee recipient.
Bond
Manager moves a portion of U into the eU pool (via hub).
Converts U into eU and LP positions with slippage control and unique salt.
Add Liquidity
Manager pairs U/eU as needed.
Mints LP shares and deposits them into the incentives contract.
Claim Incentives
Manager claims accumulated rewards (U, eU, BABY) back into the vault.
Redemption (Two-Step)
request_redeemLocks user shares.
Returns preview of expected asset distribution (U + eU + BABY), valued via oracle.
complete_redemptionManager unwinds positions.
Assets distributed to user.
Locked shares burned.
Queries
Standard:
Asset,TotalAssets,ConvertToShares/Assets,MaxDeposit/Mint/Withdraw/RedeemPreviewDeposit(net),PreviewMint,ExchangeRate
Oracle:
OraclePrices,OracleTokensList
Positions & Incentives:
LPPosition,AllPendingIncentives
Redemptions:
Request by ID
User redemption requests
Redemption stats
Exchange Rate
Includes U + eU + BABY rewards (valued via oracle).
Excludes locked shares to maintain fair PPS.
Access Control
manager and oracle role vectors maintained on-chain.
Only authorized addresses may call privileged endpoints.
Safety & Validation
Oracle prices must be strictly positive and cover U, eU, and BABY.
Slippage tolerance enforced in liquidity operations.
saltvalidated to prevent replay.
Instantiate Fields (Examples)
managers,oraclesunderlying_token= Ushare_name/symbol/marketingpool= eUincentives[]= [U, eU, BABY]tower_incentives,lp,slippage_tolerance,staking_contractentry_fee_rate,entry_fee_recipient
Events (Examples)
oracle_update_pricesdeposit(withuser_shares_minted,fee_shares_minted,entry_fee_rate)bond/add_liquidity/remove_liquidityrequest_redemption/complete_redemptionclaim_incentives
Operational Notes
Oracle must initialize prices for U, eU, and BABY before vault operations.
Preview endpoints simulate expected outcomes; real results may differ slightly.
If
entry_fee_recipient= depositor, all shares accrue to the same account.
Last updated