Skip to content

[149] Cross-Contract Invocation Transaction Bundle Executor with Atomic Revert #1392

Description

@ayomideadeniran

Description

Multi-call transaction bundler that allows dApps and users to bundle multiple complex interactions (e.g. approve token -> deposit -> borrow -> swap -> stake) into a single atomic transaction.

Location

contracts/bundle-executor/src/lib.rs:

// contracts/bundle-executor/src/lib.rs
pub fn execute_batch_bundle(env: Env, calls: Vec<ContractCall>) -> Vec<Bytes> {
  // Executes sequence of contract invocations; reverts everything if any call fails
}

Impact

Reduces user transaction signing overhead from 5 prompts to 1, while eliminating partial execution failure risk.

Required Fix

  • Parse dynamic ContractCall arguments and target contract addresses.
  • Execute calls sequentially and collect return values.
  • Enforce atomic rollback on any internal revert.

Reference

Identified during full codebase production readiness audit of soroban-playground.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    contractSmart contract issuespremiumAutomated production labelrustsecuritySecurity-related

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions