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