fn get_coa(env: soroban_sdk::Env, id: u64) -> Coa
fn get_commission(env: soroban_sdk::Env, id: u64) -> Commission
Releases the current milestone payment to the artist. Client must authorize.
fn approve_milestone(env: soroban_sdk::Env, commission_id: u64) -> i128
Cancels the commission and returns all remaining locked escrow to the client. Artist keeps any milestone tranches already released via approve_milestone.
fn cancel_commission(env: soroban_sdk::Env, commission_id: u64) -> i128
Locks USDC from client into escrow and records milestone payment schedule.
fn create_commission(
env: soroban_sdk::Env,
client: soroban_sdk::Address,
artist: soroban_sdk::Address,
token: soroban_sdk::Address,
milestone_amounts: soroban_sdk::Vec,
) -> u64
Returns the COA for a given artwork hash, or None if uncertified.
fn verify_certificate(
env: soroban_sdk::Env,
art_hash: soroban_sdk::BytesN<32>,
) -> Option
Marks commission complete and mints a Certificate of Authenticity bound to the artwork hash. Artist must authorize — they supply the hash and IPFS URI for the final piece.
fn complete_and_mint_coa(
env: soroban_sdk::Env,
commission_id: u64,
art_hash: soroban_sdk::BytesN<32>,
art_uri: soroban_sdk::String,
title: soroban_sdk::String,
) -> u64