Contract fd0e6a0a87c9440c8d25907626d650f94cc075d7a8c3d1888d2c7cf7d341342d

← Back to Index 📥 Download WASM

Meta

cliver 25.2.0#28484880988199233a7e8e87c97cb12dac323cb3
rssdkver 23.5.3#d3e1ab2424388b10893b796b0c8e405c5edd03d2
rsver 1.94.0

Instances

  • CBBZWAS6SBVUAZ3KHGMC57D4U4YN2JC6Q2U7DTEMAKKTCQJGDCIZRXU4

Interface

Initialise the adapter. Admin only, one-time.

fn initialize(env: soroban_sdk::Env, admin: soroban_sdk::Address)

Get all LP position values for account across all registered Aquarius pools.

For each registered pool (filtered by enabled_position_ids when non-empty):

  1. pool.get_user_shares(account) → user's LP shares (u128)
  2. Skip pool if user_shares == 0 or total_shares == 0
  3. pool.get_reserves() → [reserve_a, reserve_b]
  4. pool.get_tokens() → [token_a, token_b]
  5. For each non-zero reserve leg: a. token.decimals() (SEP-41) b. oracle_registry.get_price_pair(token, accounting_token) c. Compute user's pro-rata token amount and USDC value d. Append a PositionValue entry

Each pool contributes up to two PositionValue entries (one per token leg).

Panics

Panics if any arithmetic operation overflows or token decimals are too large.

fn get_all_pos(
    env: soroban_sdk::Env,
    account: soroban_sdk::Address,
    oracle_registry: soroban_sdk::Address,
    accounting_token: soroban_sdk::Address,
    enabled_position_ids: soroban_sdk::Vec,
) -> soroban_sdk::Vec

Accept a pending admin proposal (step 2). Pending admin only.

fn accept_admin(env: soroban_sdk::Env)

Propose a new admin (step 1). Current admin only.

The new admin must call accept_admin() to complete the transfer.

fn propose_admin(env: soroban_sdk::Env, new_admin: soroban_sdk::Address)

Register a single Aquarius pool address. Admin only.

fn register_pool(env: soroban_sdk::Env, pool: soroban_sdk::Address)

Return the number of registered pools.

fn get_pool_count(env: soroban_sdk::Env) -> u32

Return adapter info: (protocol_id, name, version).

fn get_adapter_info(
    env: soroban_sdk::Env,
) -> (soroban_sdk::Symbol, soroban_sdk::Symbol, u32)

Register multiple pools at once. Skips duplicates silently. Admin only.

fn register_pools_batch(
    env: soroban_sdk::Env,
    pools: soroban_sdk::Vec,
)

Imports

WebAssembly Text (WAT) ▶