Consumer funds the vault; transitions Created -> Locked when full amount received.
fn fund(env: soroban_sdk::Env, amount: i128) -> Result<(), soroban_sdk::Error>
Read-only view for orchestration / indexing.
fn state(env: soroban_sdk::Env) -> Result
fn cancel(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
fn order_ref(env: soroban_sdk::Env) -> Result
One-time init. expected_amount must be > 0 (i128 token smallest units).
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
operator: soroban_sdk::Address,
token: soroban_sdk::Address,
merchant: soroban_sdk::Address,
consumer: soroban_sdk::Address,
expected_amount: i128,
order_ref: soroban_sdk::String,
protocol_version: u32,
) -> Result<(), soroban_sdk::Error>
fn set_paused(env: soroban_sdk::Env, paused: bool) -> Result<(), soroban_sdk::Error>
fn read_paused(env: soroban_sdk::Env) -> Result
Operator marks dispute; blocks release/refund until cleared.
fn set_dispute(env: soroban_sdk::Env, open: bool) -> Result<(), soroban_sdk::Error>
fn dispute_open(env: soroban_sdk::Env) -> Result
fn mark_expired(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
Executes refund to consumer.
fn execute_refund(
env: soroban_sdk::Env,
op_nonce: u32,
) -> Result<(), soroban_sdk::Error>
fn request_refund(
env: soroban_sdk::Env,
op_nonce: u32,
) -> Result<(), soroban_sdk::Error>
Executes release: transfers full vault token balance to merchant.
fn execute_release(
env: soroban_sdk::Env,
op_nonce: u32,
) -> Result<(), soroban_sdk::Error>
fn execution_nonce(env: soroban_sdk::Env) -> Result
Request release (audit state); still requires execute_release with same nonce.
fn request_release(
env: soroban_sdk::Env,
op_nonce: u32,
) -> Result<(), soroban_sdk::Error>
fn protocol_version(env: soroban_sdk::Env) -> Result
fn set_protocol_version(
env: soroban_sdk::Env,
version: u32,
) -> Result<(), soroban_sdk::Error>