One-time initialisation. Panics if already initialised.
fn init(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
treasury: soroban_sdk::Address,
usdc_contract: soroban_sdk::Address,
xlm_contract: soroban_sdk::Address,
)
Transfer amount XLM (in stroops, 7 d.p.) from from to treasury.
Emits: topics=[Symbol("pay_xlm"), order_id, from], value=amount
fn pay_xlm(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
amount: i128,
order_id: soroban_sdk::Bytes,
)
Transfer amount USDC (in micro-USDC, 7 d.p.) from from to treasury.
Emits: topics=[Symbol("pay_usdc"), order_id, from], value=amount
fn pay_usdc(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
amount: i128,
order_id: soroban_sdk::Bytes,
)
Return the treasury address.
fn treasury(env: soroban_sdk::Env) -> soroban_sdk::Address
Return the native XLM SAC contract address.
fn xlm_contract(env: soroban_sdk::Env) -> soroban_sdk::Address
Return the USDC SAC contract address.
fn usdc_contract(env: soroban_sdk::Env) -> soroban_sdk::Address