Contract 293572d45789b097e5ae217194aaa640c4ba21e9b75e93145c2a7c362c9b0094

← Back to Index 📥 Download WASM

Meta

cliver 23.2.0#8c559e832fd969aa469784b66e70891fadf94f0a
rssdkver 23.1.0#7456be9d91fe1f4cb070fc2732bac78244ce6c3f
rsver 1.94.0

Instances

  • CARHLWDSRXH45HYOB3NH3E5ERATJPHZSXUVBV47ZAFENY4YTJVCJKSIV

Interface

fn pause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn deposit(
    env: soroban_sdk::Env,
    token: soroban_sdk::Address,
    amount: u64,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn unpause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
    operator: soroban_sdk::Address,
)
fn has_role(
    env: soroban_sdk::Env,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
) -> Option
fn withdraw(
    env: soroban_sdk::Env,
    token: soroban_sdk::Address,
    amount: u64,
    to: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_admin(env: soroban_sdk::Env) -> Option
fn get_proxy(env: soroban_sdk::Env) -> soroban_sdk::Address
fn is_paused(env: soroban_sdk::Env) -> bool
fn grant_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn initialize(
    env: soroban_sdk::Env,
    config: EscrowInitConfig,
    limits: EscrowInitLimits,
) -> Result<(), AssetManagerEscrowError>
fn force_pause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
) -> Option
fn revoke_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn execute_swap(
    env: soroban_sdk::Env,
    token_in: soroban_sdk::Address,
    amount_in: u64,
    token_out: soroban_sdk::Address,
    amount_out_min: u64,
    distribution: soroban_sdk::Vec,
    caller: soroban_sdk::Address,
) -> Result
fn accept_limits(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn cancel_limits(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn force_unpause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn renounce_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)

Burn USDC on Stellar and initiate cross-chain transfer via CCTPv2.

Calls TokenMessengerMinterV2::deposit_for_burn which:

  1. Transfers USDC from escrow to the messenger via transfer_from (requires prior approve)
  2. Burns the USDC locally
  3. Sends a CCTP message to the destination domain

Note: Stellar USDC uses 7 decimals. The TokenMessengerMinter handles the decimal conversion internally (strips the 7th decimal as "dust").

fn send_via_cctp(
    env: soroban_sdk::Env,
    amount: u64,
    destination_domain: u32,
    mint_recipient: soroban_sdk::BytesN<32>,
    destination_caller: soroban_sdk::BytesN<32>,
    max_fee: i128,
    min_finality_threshold: u32,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn accept_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn accept_manager(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn cancel_manager(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn enable_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_aggregator(env: soroban_sdk::Env) -> Option
fn get_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
) -> Option
fn propose_limits(
    env: soroban_sdk::Env,
    new_processor_daily_limit: Option,
    new_processor_max_per_tx: Option,
    new_processor_cooldown: Option,
    new_emergency_cooldown: Option,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn remove_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn renounce_admin(env: soroban_sdk::Env)
fn set_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    admin_role: soroban_sdk::Symbol,
)
fn disable_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn emergency_sweep(
    env: soroban_sdk::Env,
    amount: u64,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn execute_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    action: u32,
    params: soroban_sdk::Val,
    caller: soroban_sdk::Address,
) -> Result
fn get_role_member(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    index: u32,
) -> soroban_sdk::Address
fn is_force_paused(env: soroban_sdk::Env) -> bool
fn propose_adapter(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    native_asset_mint: soroban_sdk::Address,
    supports_pending_withdrawals: bool,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn propose_manager(
    env: soroban_sdk::Env,
    new_manager: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn return_to_proxy(
    env: soroban_sdk::Env,
    amount: u64,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn accept_processor(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn cancel_processor(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn is_token_allowed(env: soroban_sdk::Env, token: soroban_sdk::Address) -> bool
fn push_and_execute(
    env: soroban_sdk::Env,
    adapter: soroban_sdk::Address,
    token: soroban_sdk::Address,
    amount: u64,
    action: u32,
    params: soroban_sdk::Val,
    caller: soroban_sdk::Address,
) -> Result
fn accept_aggregator(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_adapter_count(env: soroban_sdk::Env) -> u32
fn propose_processor(
    env: soroban_sdk::Env,
    new_processor: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn set_allowed_token(
    env: soroban_sdk::Env,
    token: soroban_sdk::Address,
    allowed: bool,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_cctp_messenger(env: soroban_sdk::Env) -> Option
fn propose_aggregator(
    env: soroban_sdk::Env,
    new_address: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn transfer_admin_role(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
    live_until_ledger: u32,
)
fn get_cctp_destination(env: soroban_sdk::Env, domain: u32) -> Option
fn get_processor_limits(env: soroban_sdk::Env) -> (u64, u64, u64)
fn get_underlying_asset(env: soroban_sdk::Env) -> soroban_sdk::Address
fn set_cctp_destination(
    env: soroban_sdk::Env,
    domain: u32,
    recipient: soroban_sdk::BytesN<32>,
    allowed: bool,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn accept_admin_transfer(env: soroban_sdk::Env)
fn accept_cctp_messenger(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>
fn get_role_member_count(env: soroban_sdk::Env, role: soroban_sdk::Symbol) -> u32
fn propose_cctp_messenger(
    env: soroban_sdk::Env,
    new_address: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AssetManagerEscrowError>

Imports

WebAssembly Text (WAT) ▶