Contract daf9d0c1364c923320592e36cca456d9ffa7df460377844674761e6b2a4678a0

← Back to Index 📥 Download WASM

Meta

rssdkver 21.7.7#5da789c50b18a4c2be53394138212fed56f0dfc4
rsver 1.94.1

Instances

  • CB6YHKWKBFXXI6XJVYS7GNTAJWLHOOONT462UH4YJGAFKMTLDKVPVDMA

Interface

fn deposit(
    env: soroban_sdk::Env,
    campaign_id: u64,
    donor: soroban_sdk::Address,
    amount: i128,
)
fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address
fn has_voted(
    env: soroban_sdk::Env,
    campaign_id: u64,
    donor: soroban_sdk::Address,
) -> bool
fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    token_address: soroban_sdk::Address,
)

Donor casts a vote to pause a suspicious campaign. Vote weight = donor's total deposited amount. Auto-pauses the campaign when cumulative weight >= 60% of total_deposited.

fn vote_pause(env: soroban_sdk::Env, campaign_id: u64, donor: soroban_sdk::Address)

Donor retracts their pause vote. If vote weight drops below the threshold the campaign is unpaused.

fn revoke_vote(env: soroban_sdk::Env, campaign_id: u64, donor: soroban_sdk::Address)
fn get_campaign(env: soroban_sdk::Env, campaign_id: u64) -> Campaign
fn get_milestone(
    env: soroban_sdk::Env,
    campaign_id: u64,
    milestone_index: u32,
) -> Milestone
fn campaign_count(env: soroban_sdk::Env) -> u64
fn pause_campaign(env: soroban_sdk::Env, campaign_id: u64)
fn create_campaign(
    env: soroban_sdk::Env,
    organizer: soroban_sdk::Address,
    milestone_amounts: soroban_sdk::Vec,
    milestone_recipients: soroban_sdk::Vec,
    milestone_descs: soroban_sdk::Vec,
) -> u64
fn get_vote_weight(env: soroban_sdk::Env, campaign_id: u64) -> i128

Executes a proportional refund of unspent escrow funds to all donors. Requires: campaign paused AND vote weight >= 60% threshold.

fn execute_clawback(env: soroban_sdk::Env, campaign_id: u64)
fn unpause_campaign(env: soroban_sdk::Env, campaign_id: u64)
fn verify_milestone(env: soroban_sdk::Env, campaign_id: u64)
fn get_donor_deposit(
    env: soroban_sdk::Env,
    campaign_id: u64,
    donor: soroban_sdk::Address,
) -> i128
fn release_milestone(env: soroban_sdk::Env, campaign_id: u64)

Imports

WebAssembly Text (WAT) ▶