Contract cdbd8be1e10b794a44ca45bfb8cb3943b31b751ed76e9acc2c950b3c09151631

← Back to Index 📥 Download WASM

Meta

rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.92.0-nightly

Instances

  • CBE5WDL5L3QG2L2JYPMQN35GS4EMTHSOLYB7QLZSNXL7BSPNO4KA4TFP
  • CDDXMNFY3GWYWYNZYHLMWOLRQLQSGTQYY7S35ITAGOSUCJFSVYY2V43V

Interface

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

Initialize governance contract with ICE token parameters

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    staking_contract: soroban_sdk::Address,
    treasury_address: soroban_sdk::Address,
    base_multiplier: i128,
    max_time_multiplier: i128,
) -> Result<(), GovernanceError>
fn get_global_stats(env: soroban_sdk::Env) -> Option
fn get_voting_power(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128

Record automated POL voting with ICE tokens (admin-only)

fn record_pol_voting(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    total_ice_voting_power: i128,
    aqua_blub_pair_votes: i128,
) -> Result<(), GovernanceError>
fn get_daily_snapshot(env: soroban_sdk::Env, day: u64) -> Option
fn update_multipliers(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    base_multiplier: Option,
    max_time_multiplier: Option,
) -> Result<(), GovernanceError>
fn get_user_governance(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> Option

Record ICE token issuance when user locks AQUA (admin-only)

fn record_ice_issuance(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    user: soroban_sdk::Address,
    aqua_locked: i128,
    lock_duration_years: u32,
    tx_hash: soroban_sdk::Bytes,
) -> Result
fn set_emergency_pause(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    paused: bool,
) -> Result<(), GovernanceError>

Update voting power when user's total stake changes (called by staking contract)

fn update_voting_power(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    user: soroban_sdk::Address,
    new_total_ice: i128,
) -> Result<(), GovernanceError>
fn get_user_record_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn get_total_voting_power(env: soroban_sdk::Env) -> i128
fn get_user_record_by_index(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
    index: u32,
) -> Option

Get current voting allocation for POL

fn get_pol_voting_allocation(env: soroban_sdk::Env) -> i128

Imports

WebAssembly Text (WAT) ▶