Contract db0fde4d3d89fbabd99b3ec429dcfc21b55a91c08a14a453573e3873b5e04267

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.94.1

Instances

  • CBQPVSVEFERZFAONIULMVRNCHHQETVGXFONOWWFFX42OPPY35WN6CRYP

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