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):
pool.get_user_shares(account) → user's LP shares (u128)pool.get_reserves() → [reserve_a, reserve_b]pool.get_tokens() → [token_a, token_b]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 entryEach pool contributes up to two PositionValue entries (one per token leg).
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,
)