Contract 5b5ca5485729fdd7bf542f34e805f6e1ffb7fae443d9398dff4a7967ff72fbfa

← Back to Index 📥 Download WASM

Meta

rssdkver 23.0.2#a97daf8b07cdf24e9bd45e344db51a21b9ea77d3
rsver 1.92.0-nightly

Instances

  • CDPCRMVSOAXX3Z56CRDVCJ4KFTWWLMHEGABZLRKWR44XKSXW6IDK6RTS

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