Contract 22909307151388c37820e6bd1a891cf4e8922d62133bfbcb499870a012860023

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.10#9a1b75b509a5053b676b09fdbd224fe8c5f2fcd5
rsver 1.90.0

Instances

  • CCBG4MOMPZZZ2LNXPP3MQOK357X2EACR2YF4S36OOMSKZCFH277USXMC

Interface

Execute a two-leg atomic arbitrage across any supported venue.

Token flow:

  1. Pull amount_in of token_in from caller into contract
  2. Swap on venue_a: token_in → token_mid
  3. Swap on venue_b: token_mid → token_in
  4. Assert profit >= min_profit
  5. Return all token_in to caller

Swap paths are derived: leg A = [token_in, token_mid], leg B = [token_mid, token_in]. venue_a / venue_b: 0 = Soroswap, 1 = Aquarius, 2 = Phoenix

fn arb(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    token_in: soroban_sdk::Address,
    token_mid: soroban_sdk::Address,
    amount_in: i128,
    min_profit: i128,
    router_a: soroban_sdk::Address,
    min_out_a: i128,
    venue_a: u32,
    router_b: soroban_sdk::Address,
    venue_b: u32,
) -> i128

Imports

WebAssembly Text (WAT) ▶