Accept a pending swap. Atomically transfers both NFTs and optional top-up.
fn accept(env: soroban_sdk::Env, swap_id: u64, counterparty: soroban_sdk::Address)
Cancel a pending swap.
fn cancel(env: soroban_sdk::Env, swap_id: u64, proposer: soroban_sdk::Address)
Create a swap proposal.
fn propose(
env: soroban_sdk::Env,
proposer: soroban_sdk::Address,
offer_nft_contract: soroban_sdk::Address,
offer_nft_id: u32,
counterparty: soroban_sdk::Address,
request_nft_contract: soroban_sdk::Address,
request_nft_id: u32,
topup_token: soroban_sdk::Address,
topup_amount: i128,
topup_from_proposer: bool,
) -> u64
Upgrade the contract WASM. Admin only. ⚠️ NEVER REMOVE THIS FUNCTION — doing so bricks the contract permanently.
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
Contract version.
fn version(env: soroban_sdk::Env) -> u32
Query a swap proposal.
fn get_swap(env: soroban_sdk::Env, swap_id: u64) -> SwapProposal
Initialize the swap contract.
fn __constructor(env: soroban_sdk::Env, admin: soroban_sdk::Address)