Contract 02ed06736d7f40803f5f340c269e9c6a1706a17bed892c9bcf4ce1dd5f13e524

← Back to Index 📥 Download WASM

Meta

cliver 25.2.0#28484880988199233a7e8e87c97cb12dac323cb3
rssdkver 25.3.0#dcbea44513feb7734af6b6c4aced2c4a7a2715d0
rsver 1.94.0

Instances

  • CAMLOAJO4LJCMGV4XSNUBAMHBKMCIBML4YU5M26BDERIVFEPFAJDQIBT

Interface

fn pause(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>

Stellar-only USDC balance in stroops. Divide by 10_000_000 to get display value in USDC.

fn balance(env: soroban_sdk::Env, username: soroban_sdk::String) -> i128
fn deposit(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
    amount: i128,
    deposit_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn unpause(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn fee_rate(env: soroban_sdk::Env) -> u32
fn transfer(
    env: soroban_sdk::Env,
    from_username: soroban_sdk::String,
    to_username: soroban_sdk::String,
    amount: i128,
) -> Result<(), soroban_sdk::Error>
fn withdraw(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
    amount: i128,
    to_address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_admin(env: soroban_sdk::Env) -> Result
fn is_paused(env: soroban_sdk::Env) -> bool
fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    usdc_token: soroban_sdk::Address,
    fee_rate_bps: u32,
    fee_treasury: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Returns full PayLink data by token_id.

fn get_paylink(
    env: soroban_sdk::Env,
    token_id: soroban_sdk::String,
) -> Result
fn pay_paylink(
    env: soroban_sdk::Env,
    payer_username: soroban_sdk::String,
    token_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>

Step 2 of 2 — accept a pending admin proposal. The proposed new admin signs. Clears the pending admin slot after promotion.

fn accept_admin(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>

Reverse lookup — get @username from a Stellar address.

fn get_username(
    env: soroban_sdk::Env,
    address: soroban_sdk::Address,
) -> Result
fn set_fee_rate(
    env: soroban_sdk::Env,
    new_fee_bps: u32,
) -> Result<(), soroban_sdk::Error>
fn sweep_excess(
    env: soroban_sdk::Env,
    recipient: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Returns true if the username is currently registered.

fn is_registered(env: soroban_sdk::Env, username: soroban_sdk::String) -> bool

Step 1 of 2 — propose a new admin. Current admin signs. The candidate address must then call accept_admin() to complete the transfer. Replaces the old single-step transfer_admin to prevent accidents with dead addresses.

fn propose_admin(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn register_user(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
    stellar_address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn cancel_paylink(
    env: soroban_sdk::Env,
    creator_username: soroban_sdk::String,
    token_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn create_paylink(
    env: soroban_sdk::Env,
    creator_username: soroban_sdk::String,
    token_id: soroban_sdk::String,
    amount: i128,
    note: soroban_sdk::String,
    expiration_ledger: u32,
) -> Result<(), soroban_sdk::Error>
fn get_usdc_token(
    env: soroban_sdk::Env,
) -> Result

Update the USDC token contract address. Use if the SAC address ever changes in a new network environment.

fn set_usdc_token(
    env: soroban_sdk::Env,
    new_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn update_address(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
    new_address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn deregister_user(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn extend_user_ttl(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn get_fee_treasury(
    env: soroban_sdk::Env,
) -> Result

Resolve a @username to its registered Stellar address.

fn resolve_username(
    env: soroban_sdk::Env,
    username: soroban_sdk::String,
) -> Result
fn set_fee_treasury(
    env: soroban_sdk::Env,
    new_treasury: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Returns the pending admin candidate if one has been proposed, else None.

fn get_pending_admin(env: soroban_sdk::Env) -> Option
fn deposit_by_address(
    env: soroban_sdk::Env,
    address: soroban_sdk::Address,
    amount: i128,
    deposit_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn extend_paylink_ttl(
    env: soroban_sdk::Env,
    token_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn get_min_withdrawal(env: soroban_sdk::Env) -> i128

Set the minimum single withdrawal amount in stroops. 0 = no minimum.

fn set_min_withdrawal(
    env: soroban_sdk::Env,
    min_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn admin_cancel_paylink(
    env: soroban_sdk::Env,
    token_id: soroban_sdk::String,
) -> Result<(), soroban_sdk::Error>
fn batch_register_users(
    env: soroban_sdk::Env,
    usernames: soroban_sdk::Vec,
    addresses: soroban_sdk::Vec,
) -> Result<(), soroban_sdk::Error>
fn batch_extend_user_ttl(
    env: soroban_sdk::Env,
    usernames: soroban_sdk::Vec,
) -> Result<(), soroban_sdk::Error>

Returns true if the address is currently registered.

fn is_address_registered(env: soroban_sdk::Env, address: soroban_sdk::Address) -> bool

Running sum of all internal user balances in stroops. Compare against usdc.balance(contract_address) to detect accounting drift.

fn total_internal_balance(env: soroban_sdk::Env) -> i128

Imports

WebAssembly Text (WAT) ▶