Contract 348678c2188dc4b01c4f4d9f8ad680737db9d1a07fc723fae7d7fb58a3c39380

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.95.0

Instances

  • CAMPAHM2BPKUUCJEN5YEKN53LB77PDWRODQPO7TKDQVKVYYOAPSMLVHK
  • CB6HSW5GJBXQ3TWSGU52QXVCMS6DPU3SERW3VHATPI2WCKF4BMER6SCN
  • CBEEQMY6VIZSU5COEC3TTFVLNDEFLFSANAEFZN2Z5WC7ZQUWU5M7BGLM
  • CDBWOEDEDBPGYMYEASNBMPH64AWTWCIEJF2HMFE46LL4OZAKMJMYQ4VF

Interface

Cast a vote on an active proposal.

fn vote(
    env: soroban_sdk::Env,
    voter: soroban_sdk::Address,
    proposal_id: u32,
    choice: VoteChoice,
) -> Result<(), ContractError>

Deposit tokens into the treasury. Only whitelisted members can deposit.

fn deposit(
    env: soroban_sdk::Env,
    from: soroban_sdk::Address,
    amount: i128,
) -> Result<(), ContractError>

Admin adds a new member to the whitelist.

fn add_member(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_member: soroban_sdk::Address,
) -> Result<(), ContractError>
fn get_config(env: soroban_sdk::Env) -> Option

Initialize the contract with core configuration and whitelist.

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    treasurer: soroban_sdk::Address,
    token_address: soroban_sdk::Address,
    time_lock_seconds: u64,
    budget_threshold_usdc: i128,
    member_whitelist: soroban_sdk::Vec,
) -> Result<(), ContractError>
fn get_proposal(env: soroban_sdk::Env, proposal_id: u32) -> Option
fn get_whitelist(env: soroban_sdk::Env) -> soroban_sdk::Vec

Admin removes a member from the whitelist.

fn remove_member(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    member: soroban_sdk::Address,
) -> Result<(), ContractError>

Create a new spending proposal. Only whitelisted members can propose.

fn create_proposal(
    env: soroban_sdk::Env,
    proposer: soroban_sdk::Address,
    amount: i128,
    title: soroban_sdk::String,
    description: soroban_sdk::String,
    receipt_url: soroban_sdk::String,
    voting_deadline: u64,
) -> Result

Finalize the voting process after the deadline has passed.

fn finalize_voting(
    env: soroban_sdk::Env,
    proposal_id: u32,
) -> Result<(), ContractError>
fn get_all_proposals(env: soroban_sdk::Env) -> soroban_sdk::Vec

Admin confirms completion of a task to award reputation.

fn confirm_completion(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    proposal_id: u32,
    sub_category_index: Option,
) -> Result<(), ContractError>

Execute a withdrawal for an approved proposal.

fn execute_withdrawal(
    env: soroban_sdk::Env,
    treasurer: soroban_sdk::Address,
    proposal_id: u32,
    sub_category_index: u32,
) -> Result<(), ContractError>
fn get_sub_categories(
    env: soroban_sdk::Env,
    proposal_id: u32,
) -> soroban_sdk::Vec

Admin submits sub-categories for a high-budget proposal.

fn set_sub_categories(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    proposal_id: u32,
    categories: soroban_sdk::Vec,
) -> Result<(), ContractError>
fn get_treasury_balance(env: soroban_sdk::Env) -> i128
fn get_member_reputation(env: soroban_sdk::Env, member: soroban_sdk::Address) -> u32

Imports

WebAssembly Text (WAT) ▶