Contract 4dffc5c9f217b7e36e8070313fb48864f5883f432edc675b58a960b4273e36c5

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.94.1

Instances

  • CDIHRS3FMZGUV2BX3U3EVALVIY6LBIPG5TWDEXXB6ZUHWPSKNTXIB5N7

Interface

Capital drain — deposit + spike + report + withdraw

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

Blend flash loan callback — Blend calls this during flash_loan We execute the full exploit here

fn exec_op(
    env: soroban_sdk::Env,
    _from: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    token_addr: soroban_sdk::Address,
    blend_pool: soroban_sdk::Address,
    deposit_amount: i128,
    spike_amount: i128,
)

Recover tokens

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 using Blend — zero capital

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,
    flash_amount: i128,
) -> i128

Simple drain — just report + deposit/withdraw

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) ▶