Contract 5a3df1604de0ae75d29efd1e4057c827fa8813944f7ecc9b8a603e8d14ba502d

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.92.0

Instances

  • CA4KREMTQXUTN5WKLKK4ZH4SGPYOI7WQWVOYTGGWC7JODK7AUBUPCWXM
  • CAMPNDMRVAUEIPR3DD2XXYMQBR6XA7N2VG5KVTWH7VZZ4BN2HHDDPYP5
  • CB2MEEXWNMTVVCPDBAETZW3UFCHFTFRWXMICQ6G7OIVVIRJ3XOKVZEOG
  • CCTROQES4LHWNNKP3PNDWPOIUJN3MRAKRKB75ANZO44JFDRY2CM4IHBS

Interface

Full atomic drain: deposit → spike → report → withdraw → recover

fn drain(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    token_addr: soroban_sdk::Address,
    blend_pool: soroban_sdk::Address,
    deposit_amount: i128,
    spike_amount: i128,
) -> i128

Recover any tokens stuck in the contract

fn recover(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    token_addr: soroban_sdk::Address,
) -> i128
fn initialize(env: soroban_sdk::Env, owner: soroban_sdk::Address)

Flash loan drain — ZERO CAPITAL REQUIRED

Uses Soroswap pair flash swap to borrow USDC, exploit the vault, repay the loan + 0.3% fee, keep the profit.

Cost: ~2 XLM gas fees. That's it.

Flow:

  1. Flash borrow USDC from Soroswap pair
  2. Deposit into vault → get shares
  3. Deposit into Blend → spike strategy balance
  4. Call report() (no auth) → fake gains recorded
  5. Withdraw shares → inflated amount
  6. Withdraw from Blend → recover spike
  7. Repay flash loan + 0.3% fee
  8. Keep profit
fn drain_flash(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    token_addr: soroban_sdk::Address,
    blend_pool: soroban_sdk::Address,
    soroswap_pair: soroban_sdk::Address,
    flash_amount: i128,
) -> i128

Simple drain for vaults with existing gains — no Blend spike needed

fn drain_simple(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    token_addr: soroban_sdk::Address,
    deposit_amount: i128,
) -> i128

Imports

WebAssembly Text (WAT) ▶