Contract 72f44d4aad0f61804a0e2d285a37c04acb82858f37c50fd736709de21a61b255

← Back to Index 📥 Download WASM

Meta

cliver 27.0.0#5a7c5fe76530bf4248477ac812fc757146b98cc4
rssdkver 26.1.0#175aa41306f383057a8cdfc84b68d931664fc34e
rsver 1.95.0

Instances

  • CB4MLDFFVYYS2JRQKNOH3CMEQ7RULKIUJ5BQ3LHEBQUPO452TYKZBGA2

Interface

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 policy_balance(
    env: soroban_sdk::Env,
    policy_id: soroban_sdk::BytesN<32>,
    asset: soroban_sdk::Address,
) -> Result
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

Imports

WebAssembly Text (WAT) ▶