fn deposit(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
owner: soroban_sdk::Address,
asset: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
Replaces the contract wasm in place, preserving contract id and policy state. Only the deploy/admin address can upgrade implementation code.
fn upgrade(
env: soroban_sdk::Env,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn withdraw(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
owner: soroban_sdk::Address,
asset: soroban_sdk::Address,
destination: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn available(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
) -> Result
fn get_config(env: soroban_sdk::Env) -> Result
fn get_policy(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
) -> Result
Emergency stop. Blocks execute_payment while leaving revocation,
withdrawal, and reads available so owners can always exit.
fn set_paused(env: soroban_sdk::Env, paused: bool) -> Result<(), soroban_sdk::Error>
fn accept_admin(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
fn __constructor(env: soroban_sdk::Env, admin: soroban_sdk::Address)
fn create_policy(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
owner: soroban_sdk::Address,
session_key: soroban_sdk::Address,
allowed_assets: soroban_sdk::Vec,
allowed_merchants: soroban_sdk::Vec,
max_total_amount: i128,
max_payment_amount: i128,
max_transaction_count: u32,
start_timestamp: u64,
expiration_timestamp: u64,
funding_asset: soroban_sdk::Address,
funding_amount: i128,
) -> Result<(), soroban_sdk::Error>
Anyone may pay to keep an idle policy's entries from being archived.
fn extend_policy(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
Step one of admin rotation. The new admin must call accept_admin, so a
mistyped address can never lock the contract out of admin control.
fn propose_admin(
env: soroban_sdk::Env,
new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn revoke_policy(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
owner: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn execute_payment(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
payment_id: soroban_sdk::BytesN<32>,
payment_nonce: u64,
valid_after: u64,
payment_expires_at: u64,
session_key: soroban_sdk::Address,
merchant: soroban_sdk::Address,
asset: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn is_payment_used(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
payment_id: soroban_sdk::BytesN<32>,
) -> bool
fn remaining_transactions(
env: soroban_sdk::Env,
policy_id: soroban_sdk::BytesN<32>,
) -> Result