Contract 154d0fd4e06e1b86ec5fca2beddf767772b1aef89caac74466ec8842d835a00d

← Back to Index 📥 Download WASM

Meta

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

Instances

  • CCHIARWRMHX2IXLRTJBNHGQ7LEZS52QMJ4VYVHJFIUGJK45LDHQYWW4G

Interface

Update admin

fn set_admin(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Get config

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,
)

Get contract's AQUA balance (from SAC)

fn get_aqua_balance(env: soroban_sdk::Env) -> Result

Get global state

fn get_global_state(env: soroban_sdk::Env) -> Result

Set pending AQUA amount (simulates accumulation from user locks)

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

Authorizes an ICE lock for a specific amount and duration. Returns lock_id

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

Gets all 4 ICE token balances.

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>

Gets upvoteICE balance for voting.

fn get_upvote_ice_balance(env: soroban_sdk::Env) -> Result

Gets pending AQUA available for ICE locking.

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>

Gets ICE lock authorization by ID.

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

Imports

WebAssembly Text (WAT) ▶