Contract 627c3cca60d9e69893743ad0f7d4e93d47e2f58ec0cc4e08c0143a23a970617d

← Back to Index 📥 Download WASM

Meta

rssdkver 27.0.5#ea54f95d3f2f49e0487b29fd1a9f469638f09aba
rsver 1.96.0

Instances

  • CBKO2HML7TYYI3PSWZMXY3M5K6YWOX37BAI3SCW3OQXU4ROBQF47QTRP

Interface

fn caps(env: soroban_sdk::Env) -> AdapterCaps

The address that administers this adapter's allowlist.

A view, added in Phase 11 alongside caller() and for the same reason (ADR-037): scripts/verify_deployment.sh has to read the owner off the chain rather than trust the deploy script's variable. The value was always stored — initialize takes it — but nothing exposed it, so the one check that would catch an adapter initialized by the wrong key was the one check that could not be made.

fn owner(env: soroban_sdk::Env) -> Result
fn pools(env: soroban_sdk::Env) -> soroban_sdk::Vec

The one contract permitted to invoke this adapter.

A view, added in Phase 11 for scripts/verify_deployment.sh. The binding is the single most error-prone fact in a deployment — a venue reachable from three contracts needs three adapter instances, and one bound to the wrong caller passes every other check and fails on the first user call. A deployment invariant that cannot be read cannot be verified.

fn caller(env: soroban_sdk::Env) -> Result

Verification

The measured quantity follows action, never the op list: a batch that supplies collateral and borrows is measured on whichever of the two the caller said it was doing, and min_out bounds that one. The other legs still happen — they are simply not what this call promised.

Every measurement is a before/after read of the pool by this adapter. submit returns Positions and it is ignored (ADR-007).

fn execute(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    action: Action,
    token_in: soroban_sdk::Address,
    amount: i128,
    beneficiary: soroban_sdk::Address,
    min_out: i128,
    params: AdapterParams,
) -> Result

Owner-gated. Permits this adapter to interact with pool.

fn allow_pool(
    env: soroban_sdk::Env,
    pool: soroban_sdk::Address,
) -> Result<(), AdapterError>

caller is the vault or executor this adapter serves; owner administers the pool allowlist.

fn initialize(
    env: soroban_sdk::Env,
    owner: soroban_sdk::Address,
    caller: soroban_sdk::Address,
) -> Result<(), AdapterError>

Owner-gated.

fn revoke_pool(
    env: soroban_sdk::Env,
    pool: soroban_sdk::Address,
) -> Result<(), AdapterError>
fn authorized_caller(
    env: soroban_sdk::Env,
) -> Result

Imports

WebAssembly Text (WAT) ▶