Contract e32ad0c7bf83d265848adc2ee4874aa0b3d27fb9b97558c4f8753b40a0ba329b

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdk_spec_shaking 2
rssdkver 26.1.0#175aa41306f383057a8cdfc84b68d931664fc34e
rsver 1.94.1

Instances

  • CA6SBSOGURQ2VMZDJPYKV7DJTIEI4CSKMQOZUIK6BWV3G26VWBOX5EEQ
  • CAZHZWJT63VLJFMKJ3IBQFRTE623VQEOFT2QM2TBXPPPY232G2IHM7VW
  • CDZMKHLBRLEHES62KSQE6UJBHV4H2VHJ6K2D6I6K66NJBMROSRLPOLC7

Interface

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    smart_account: soroban_sdk::Address,
) -> Result<(), SplitAdapterError>
fn contract_name(env: soroban_sdk::Env) -> soroban_sdk::Symbol

Splits token from the treasury across recipients[i] receiving amounts[i], for every index. Positionally aligned by index; recipients and amounts must have the same length, each amount must be positive, and the recipient count is bounded so a single call cannot be used to exhaust the transaction's resource budget or silently balloon the preauthorized action's blast radius.

fn execute_split(
    env: soroban_sdk::Env,
    token: soroban_sdk::Address,
    recipients: soroban_sdk::Vec,
    amounts: soroban_sdk::Vec,
) -> Result<(), SplitAdapterError>

Security review finding: same gap as transfer_adapter's identical entrypoint -- this contract's instance TTL was only ever extended as a side effect of execute_split succeeding, which itself requires the treasury's own authorization. A fully dormant treasury (no split payments at all for ~30 days -- plausible, e.g. a treasury that only ever does single-recipient transfers) had no permissionless way to keep this adapter's instance storage alive.

fn extend_instance_ttl(env: soroban_sdk::Env)

Imports

WebAssembly Text (WAT) ▶