Skip to content

Conversation

@fnando
Copy link
Member

@fnando fnando commented Jan 21, 2026

What

Remove network runnable abstraction in favor of a more direct approach.

Why

So it's easier to follow.

Known limitations

N/A

@github-project-automation github-project-automation bot moved this to Backlog (Not Ready) in DevX Jan 21, 2026
@fnando fnando self-assigned this Jan 22, 2026
@fnando fnando moved this from Backlog (Not Ready) to In Progress in DevX Jan 22, 2026
@fnando fnando marked this pull request as ready for review January 23, 2026 14:14
Copilot AI review requested due to automatic review settings January 23, 2026 14:14
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request removes the NetworkRunnable trait abstraction and replaces it with direct execute methods on command structs. The goal is to simplify the code and make control flow easier to follow.

Changes:

  • Removed the NetworkRunnable trait definition and all its implementations
  • Replaced run_against_rpc_server method with execute method for each command
  • Updated all commands to pass parameters directly instead of using Option wrappers
  • Updated test utilities to call execute methods directly
  • Refactored two unrelated methods in container/start.rs for better readability

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
cmd/soroban-cli/src/commands/mod.rs Removes NetworkRunnable trait definition
cmd/soroban-cli/src/commands/tx/simulate.rs Converts to direct execute method, removes async_trait
cmd/soroban-cli/src/commands/tx/send.rs Converts to execute method with explicit config construction
cmd/soroban-cli/src/commands/events.rs Converts to execute method with explicit config construction
cmd/soroban-cli/src/commands/contract/upload.rs Converts to execute with direct boolean parameters
cmd/soroban-cli/src/commands/contract/restore.rs Converts to execute with direct boolean parameters
cmd/soroban-cli/src/commands/contract/read.rs Converts to execute method with simplified network resolution
cmd/soroban-cli/src/commands/contract/invoke.rs Converts to execute with direct parameters, changes global_args passing
cmd/soroban-cli/src/commands/contract/fetch.rs Converts to execute method with explicit config construction
cmd/soroban-cli/src/commands/contract/extend.rs Converts to execute with direct boolean parameters
cmd/soroban-cli/src/commands/contract/deploy/wasm.rs Converts to execute, updates upload command invocation
cmd/soroban-cli/src/commands/contract/deploy/asset.rs Converts to execute with direct boolean parameters
cmd/soroban-cli/src/commands/contract/bindings/typescript.rs Simplifies to execute method with single quiet parameter
cmd/soroban-cli/src/commands/container/start.rs Refactors helper methods to use early returns (unrelated change)
cmd/crates/soroban-test/tests/it/util.rs Updates test to call execute directly
cmd/crates/soroban-test/tests/it/integration/util.rs Updates test to call execute directly
cmd/crates/soroban-test/tests/it/integration/hello_world.rs Updates tests to call execute directly
cmd/crates/soroban-test/tests/it/integration/bindings.rs Updates tests to call execute directly
cmd/crates/soroban-test/src/lib.rs Removes run_cmd_with helper, updates cmd_with_config signature

Copy link
Member

@leighmcculloch leighmcculloch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple questions but this looks good regardless 😎.

@fnando fnando merged commit bd18516 into main Jan 23, 2026
35 of 36 checks passed
@fnando fnando deleted the network-runnable branch January 23, 2026 14:44
@github-project-automation github-project-automation bot moved this from In Progress to Done in DevX Jan 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants