Read the current on-chain state of a request.
fn get_request(env: soroban_sdk::Env, request_id: soroban_sdk::String) -> EscrowRequest
Titiper locks XLM into this contract. Requires Freighter signature from the titiper. Token is transferred: titiper → contract.
fn fund_request(
env: soroban_sdk::Env,
request_id: soroban_sdk::String,
titiper: soroban_sdk::Address,
)
Runner registers an escrow request after approving the titiper's item. Locks in the terms: who pays, who receives, how much. Must be called by the runner before the titiper can fund.
fn create_request(
env: soroban_sdk::Env,
request_id: soroban_sdk::String,
runner: soroban_sdk::Address,
titiper: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
)
Runner marks the item as unavailable (sold out, trip canceled, etc). Automatically refunds funds: contract → titiper. Only the runner can call this.
fn refund_request(
env: soroban_sdk::Env,
request_id: soroban_sdk::String,
runner: soroban_sdk::Address,
) -> soroban_sdk::String
Titiper confirms they received the item. Automatically releases funds: contract → runner. Only the titiper can call this.
fn confirm_receipt(
env: soroban_sdk::Env,
request_id: soroban_sdk::String,
titiper: soroban_sdk::Address,
) -> soroban_sdk::String