Contract 20ec1744c3f9e2c840c714b4ad2dc42d844d2eb7c164ced8c685cf267516b0f0

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdk_spec_shaking 2
rssdkver 25.3.1#e50d95af029c83196dd122f0154bac3f1302394b
rsver 1.96.0

Instances

  • CC2CEV23OQVGALHWQTKA26DYQTDNS7XJSL75EHTLHKZH6W3HJAEUKKB7
  • CCKNOCLH6QILGS6GYZWMQ6JCHWC2D75OCI5RLBPCUF7FJTONNSCZZAC5

Interface

fn pause(env: soroban_sdk::Env, caller: soroban_sdk::Address)
fn paused(env: soroban_sdk::Env) -> bool
fn unpause(env: soroban_sdk::Env, caller: soroban_sdk::Address)
fn upgrade(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
)

View: whether account currently holds role.

fn has_role(
    env: soroban_sdk::Env,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
) -> bool

Grant role to account. caller must be the contract admin or hold the admin-role of role. Auth + admin checks are enforced by access_control::grant_role.

fn grant_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn hash_order(env: soroban_sdk::Env, order: Order) -> soroban_sdk::BytesN<32>
  1. validate + update statuses (no pricing, no max_taking)
  2. pull taker_input_token (caller pre-stages)
  3. pull maker funds + convert to IBT + price (fused single loop — pricing uses realized IBT from the conversion, not a preview)
  4. taker-side tokenisation (IBT↔PT+YT) if needed
  5. settle makers (denomination-aware on payout-side), pay fees, sweep residuals to receiver
fn fill_orders(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    receiver: soroban_sdk::Address,
    params: soroban_sdk::Vec,
    taker_input_token: soroban_sdk::Address,
    taker_input_amount: i128,
) -> soroban_sdk::Vec

Revoke role from account. Same auth model as grant_role.

fn revoke_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn cancel_order(env: soroban_sdk::Env, order: Order)
fn get_fee_rate(env: soroban_sdk::Env) -> i128
fn get_registry(env: soroban_sdk::Env) -> soroban_sdk::Address

Decoded view of an order's status.

fn order_status(env: soroban_sdk::Env, order: Order) -> OrderStatus
fn set_fee_rate(env: soroban_sdk::Env, caller: soroban_sdk::Address, fee_rate: i128)
fn set_registry(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    registry: soroban_sdk::Address,
)

fee_rate is 18-decimal (1e16 = 1%). Admin holds PAUSER + FEE_SETTER + UPGRADE + REGISTRY. registry gates register_order / fill_orders on is_registered_pt. The fee_rate range check is retained here.

fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    fee_collector: soroban_sdk::Address,
    fee_rate: i128,
    registry: soroban_sdk::Address,
)
fn order_statuses(
    env: soroban_sdk::Env,
    orders: soroban_sdk::Vec,
) -> soroban_sdk::Vec
fn register_order(env: soroban_sdk::Env, order: Order)
fn order_status_raw(
    env: soroban_sdk::Env,
    order_id: soroban_sdk::BytesN<32>,
) -> Option
fn get_fee_collector(env: soroban_sdk::Env) -> soroban_sdk::Address
fn set_fee_collector(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    fee_collector: soroban_sdk::Address,
)
fn order_statuses_raw(
    env: soroban_sdk::Env,
    order_ids: soroban_sdk::Vec>,
) -> soroban_sdk::Vec>

Batch-cancel orders for a single maker. All orders must share the same maker; the maker authorises once. See README for design rationale.

fn cancel_orders_batch(env: soroban_sdk::Env, orders: soroban_sdk::Vec)
fn get_secs_per_ledger(env: soroban_sdk::Env) -> u64
fn set_secs_per_ledger(env: soroban_sdk::Env, caller: soroban_sdk::Address, secs: u64)
fn transfer_admin_role(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
    live_until_ledger: u32,
)
fn accept_admin_transfer(env: soroban_sdk::Env)
fn register_orders_batch(env: soroban_sdk::Env, orders: soroban_sdk::Vec)

Imports

WebAssembly Text (WAT) ▶