Contract cdbd8be1e10b794a44ca45bfb8cb3943b31b751ed76e9acc2c950b3c09151631

← Back to Index 📥 Download WASM

Meta

rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.92.0-nightly

Instances

  • CAGRFRPQISVHHJ35YADBP3N4CLOTVKQG7RKLAZVA7KG6QU7N3A2Q5S5Z
  • CAJHHSMBNLRRI6F3CLGEYQ63DLSEPUUZHVHKJ52D425QLNRFBFH544TP
  • CAWL2KLVU4XFRVHRWLWZJEWW6TDB46XELVKW6P3RN6XNWGPHDH63DQJ7
  • CBDNVN44VHKT3HZG45U6S7TC3FYUI2PM7IS6TB4VRFQLBRXFJSG2GQTA
  • CBE5WDL5L3QG2L2JYPMQN35GS4EMTHSOLYB7QLZSNXL7BSPNO4KA4TFP
  • CBIWB67RGZNW2EVPKAYCAUAUIUFW5RNES4H4MTHZIUV5OC2G6FHO5AFX
  • CBOHBJE7EZ7OQ7WBUSO6X54A47OYNXFIQ5657MUKN6TMPMWXUCC24HO2
  • CBWMT33ORONKPYNMJN4CI4PNFKD5O4UUKTOM2M777NYHSBPQ3HYAON3C
  • CCFN4A2T4OAZDYGOYLBBYXSV4ZUBC4OWUYZX2CHVNAL5YIDWKYHOMDNE
  • CDDXMNFY3GWYWYNZYHLMWOLRQLQSGTQYY7S35ITAGOSUCJFSVYY2V43V
  • CDYDIIETJV26LUQQQT5QW5STSISESRPBGOPHF6YMAEZVU6C6E6SMPDK7

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