Contract aacd255de2b49962d997b1089163708e472d508e7fcfaea66da299f2f07c06ca

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdkver 25.3.1#e50d95af029c83196dd122f0154bac3f1302394b
rsver 1.92.0

Instances

  • CAMWBJX5K7XDPIEAMPHJZLIP4MF5MWB2SJKAEAFE56L2KE6UZWOTKKGO

Interface

fn owner(env: soroban_sdk::Env) -> soroban_sdk::Address

Transfer any dust / stranded intermediate tokens out of the contract. Pass amount = 0 to sweep the full balance.

fn sweep(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    asset: soroban_sdk::Address,
    to: soroban_sdk::Address,
    amount: i128,
) -> Result

Execute an arbitrage route atomically.

  • caller: submitter account (must be in the allowlist). Pays the tx inclusion fee.
  • trader: capital provider. Seeds the route with amount_in of asset_in and receives the final base_asset balance at the end.
  • asset_in / amount_in: tokens pulled from trader into the contract before step 0.
  • base_asset: token measured at the end for the profit check.
  • min_final_balance: revert if the contract's base_asset balance is below this after the last step runs. This is the on-chain backstop against stale quotes.
  • route: ordered list of opaque sub-calls. The contract invokes each as-is.

Returns the final base_asset balance returned to the trader.

fn execute(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    trader: soroban_sdk::Address,
    asset_in: soroban_sdk::Address,
    amount_in: i128,
    base_asset: soroban_sdk::Address,
    min_final_balance: i128,
    route: soroban_sdk::Vec,
) -> Result
fn upgrade(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ArbError>
fn version(env: soroban_sdk::Env) -> u32
fn add_caller(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), ArbError>
fn is_allowed(env: soroban_sdk::Env, addr: soroban_sdk::Address) -> bool
fn update_owner(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    new_owner: soroban_sdk::Address,
) -> Result<(), ArbError>
fn __constructor(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    initial_callers: soroban_sdk::Vec,
)
fn remove_caller(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), ArbError>

Imports

WebAssembly Text (WAT) ▶