Contract f90fc838064695beefed9a4d4a2d45522c45e2b9136723048986bb48faf91bd5

← Back to Index 📥 Download WASM

Meta

cliver 23.2.1#496ac35be7a7d8d923fcde9bbbc650ee593d1f6f
rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.91.1

Interface

fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn version(env: soroban_sdk::Env) -> u32

Add a new vault pool.

fn add_pool(
    env: soroban_sdk::Env,
    pool_address: soroban_sdk::Address,
    token_a: soroban_sdk::Address,
    token_b: soroban_sdk::Address,
    share_token: soroban_sdk::Address,
) -> Result
fn set_admin(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_config(env: soroban_sdk::Env) -> Result

Initialize the contract

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    aqua_token: soroban_sdk::Address,
    ice_token: soroban_sdk::Address,
    govern_ice_token: soroban_sdk::Address,
    upvote_ice_token: soroban_sdk::Address,
    downvote_ice_token: soroban_sdk::Address,
)
fn get_pool_info(
    env: soroban_sdk::Env,
    pool_id: u32,
) -> Result

Deposits tokens to a vault pool (REAL - transfers tokens and deposits to Aquarius)

fn vault_deposit(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    pool_id: u32,
    desired_a: i128,
    desired_b: i128,
    min_shares: u128,
) -> Result<(), soroban_sdk::Error>
fn get_pool_count(env: soroban_sdk::Env) -> Result

Withdraws tokens from a vault pool (REAL - withdraws from Aquarius and transfers to user)

fn vault_withdraw(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    pool_id: u32,
    share_percent: u32,
    min_a: u128,
    min_b: u128,
) -> Result<(), soroban_sdk::Error>
fn get_aqua_balance(env: soroban_sdk::Env) -> Result
fn get_global_state(env: soroban_sdk::Env) -> Result

Set pending AQUA amount in human-readable AQUA (e.g., 10 = 10 AQUA) Internally converts to stroops (amount * 10^7)

fn set_pending_aqua(
    env: soroban_sdk::Env,
    amount: i128,
) -> Result<(), soroban_sdk::Error>

Update vault config (treasury, fee)

fn set_vault_config(
    env: soroban_sdk::Env,
    vault_treasury: soroban_sdk::Address,
    vault_fee_bps: u32,
) -> Result<(), soroban_sdk::Error>

Authorizes an ICE lock for a specific amount and duration.

fn authorize_ice_lock(
    env: soroban_sdk::Env,
    aqua_amount: i128,
    duration_years: u64,
) -> Result

Claims boosted rewards from a pool and auto-compounds (REAL - claims from Aquarius) 30% to treasury, 70% auto-compound back to pool.

fn claim_and_compound(
    env: soroban_sdk::Env,
    pool_id: u32,
) -> Result<(), soroban_sdk::Error>

Set pool's total LP tokens (for testing without actual deposits)

fn set_pool_lp_tokens(
    env: soroban_sdk::Env,
    pool_id: u32,
    total_lp: i128,
) -> Result<(), soroban_sdk::Error>

Updates a pool's active status.

fn update_pool_status(
    env: soroban_sdk::Env,
    pool_id: u32,
    active: bool,
) -> Result<(), soroban_sdk::Error>
fn get_all_ice_balances(
    env: soroban_sdk::Env,
) -> Result<(i128, i128, i128, i128), soroban_sdk::Error>

One-time setup to establish trustlines for all 4 ICE token types.

fn setup_ice_trustlines(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>

Syncs all ICE token balances from SAC contracts.

fn sync_all_ice_balances(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
fn get_upvote_ice_balance(env: soroban_sdk::Env) -> Result
fn get_user_vault_position(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    pool_id: u32,
) -> Result
fn get_pending_aqua_for_ice(env: soroban_sdk::Env) -> Result

Transfers authorized AQUA from contract to admin for ICE locking.

fn transfer_authorized_aqua(
    env: soroban_sdk::Env,
    lock_id: u64,
) -> Result<(), soroban_sdk::Error>
fn get_ice_lock_authorization(
    env: soroban_sdk::Env,
    lock_id: u64,
) -> Result

Imports

WebAssembly Text (WAT) ▶