fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
token: soroban_sdk::Address,
goal_amount: i128,
) -> Result<(), ContractError>
fn join(
env: soroban_sdk::Env,
member: soroban_sdk::Address,
) -> Result<(), ContractError>
fn contribute(
env: soroban_sdk::Env,
member: soroban_sdk::Address,
amount: i128,
) -> Result<(), ContractError>
fn leaderboard(env: soroban_sdk::Env) -> soroban_sdk::Vec<(soroban_sdk::Address, i128)>
fn total_pooled(env: soroban_sdk::Env) -> i128
fn member_total(env: soroban_sdk::Env, member: soroban_sdk::Address) -> i128
fn is_member(env: soroban_sdk::Env, member: soroban_sdk::Address) -> bool
fn members_count(env: soroban_sdk::Env) -> u32
fn goal_amount(env: soroban_sdk::Env) -> i128
fn token(env: soroban_sdk::Env) -> Option
fn admin(env: soroban_sdk::Env) -> Option