Contract edc4241223fade8e003d574386ca375b5b549d732fb8401db469e064032f192d

← Back to Index 📥 Download WASM

Meta

cliver 25.1.0#a048a57a75762458b487052e0021ea704a926bee
rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.93.0

Instances

  • CB7LV3FBQ7US26GVC7SM7RMX22IEEHAEUL7V3TDDWM32DHA5TDFDDEP4

Interface

Vote on a proposal. Vote weight = sXLM balance at time of vote.

fn vote(
    env: soroban_sdk::Env,
    voter: soroban_sdk::Address,
    proposal_id: u64,
    support: bool,
)

Upgrade the contract WASM. Only callable by admin.

fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)

Read an approved governance parameter value.

fn get_param(env: soroban_sdk::Env, key: soroban_sdk::String) -> soroban_sdk::String

Initialize the governance contract.

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    sxlm_token: soroban_sdk::Address,
    voting_period_ledgers: u32,
    quorum_bps: u32,
)
fn get_proposal(env: soroban_sdk::Env, id: u64) -> Proposal

Bump instance TTL — can be called by anyone to keep contract alive.

fn bump_instance(env: soroban_sdk::Env)
fn get_vote_count(env: soroban_sdk::Env, id: u64) -> (i128, i128)
fn proposal_count(env: soroban_sdk::Env) -> u64

Create a new governance proposal. Proposer must hold minimum sXLM balance.

fn create_proposal(
    env: soroban_sdk::Env,
    proposer: soroban_sdk::Address,
    param_key: soroban_sdk::String,
    new_value: soroban_sdk::String,
) -> u64

Execute a proposal if quorum met and passed. Stores the new parameter value on-chain for the admin/backend to read and propagate.

fn execute_proposal(env: soroban_sdk::Env, proposal_id: u64)

Set the reference total supply for quorum calculation. Only callable by admin.

fn set_reference_supply(env: soroban_sdk::Env, supply: i128)

Imports

WebAssembly Text (WAT) ▶