fn factory_init(env: soroban_sdk::Env, wasm_hash: soroban_sdk::BytesN<32>)
fn create_referral_escrow(
env: soroban_sdk::Env,
config: ReferralConfig,
) -> soroban_sdk::Address
fn create_milestone_escrow(
env: soroban_sdk::Env,
config: MilestoneConfig,
) -> soroban_sdk::Address
fn create_and_fund_referral_escrow(
env: soroban_sdk::Env,
config: ReferralConfig,
) -> soroban_sdk::Address
fn create_and_fund_milestone_escrow(
env: soroban_sdk::Env,
config: MilestoneConfig,
) -> soroban_sdk::Address
fn referral_init(env: soroban_sdk::Env, config: ReferralConfig)
fn milestone_init(env: soroban_sdk::Env, config: MilestoneConfig)
fn deposit(env: soroban_sdk::Env, client: soroban_sdk::Address)
Referral bounty release
fn release_bounty(
env: soroban_sdk::Env,
client: soroban_sdk::Address,
has_scout: bool,
scout_kyc_id: soroban_sdk::BytesN<32>,
)
Mark milestone as completed (state change only, no funds moved)
fn complete_milestone(env: soroban_sdk::Env, client: soroban_sdk::Address, index: u32)
Release platform fee to platform_wallet (called when candidate is hired)
fn release_platform_fee(env: soroban_sdk::Env, platform: soroban_sdk::Address)
Assign freelancer KYC ID to the escrow
fn assign_freelancer(env: soroban_sdk::Env, kyc_id: soroban_sdk::BytesN<32>)
Freelancer (via platform) withdraws completed milestone funds to anchor
fn withdraw_to_anchor(
env: soroban_sdk::Env,
platform: soroban_sdk::Address,
index: u32,
)
Record withdrawal audit metadata on-chain after 9Pay confirms disbursement
fn record_withdrawal_metadata(
env: soroban_sdk::Env,
platform: soroban_sdk::Address,
index: u32,
record: WithdrawalRecord,
)
Client or Freelancer opens a dispute, freezing the milestone funds
fn dispute_milestone(
env: soroban_sdk::Env,
initiator: soroban_sdk::Address,
index: u32,
)
fn dispute_referral(env: soroban_sdk::Env, initiator: soroban_sdk::Address)
fn refund(env: soroban_sdk::Env)
fn cancel_remaining(env: soroban_sdk::Env)
fn get_status(env: soroban_sdk::Env) -> ReferralStatus
fn get_config(env: soroban_sdk::Env) -> ReferralConfig
fn get_milestone_status(env: soroban_sdk::Env) -> MilestoneStatus
fn get_milestone_config(env: soroban_sdk::Env) -> MilestoneConfig
fn admin_resolve_dispute(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
index: u32,
client_pct: u32,
developer_pct: u32,
)
fn admin_resolve_referral_dispute(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
client_pct: u32,
scout_pct: u32,
)
fn update_milestone_amount(
env: soroban_sdk::Env,
client: soroban_sdk::Address,
index: u32,
new_amount: i128,
)