Expose useUpgradedAuth simulation flag for CAP-71 v2 auth credentials

Open
#2,701 0 comments 0 reactions 1 assignee View on GitHub

@fnando is already working on this.

Since Aug 25, 2026.

Assessment

This issue has not been assessed yet.

Description

Background

CAP-71 v2 introduces SOROBAN_CREDENTIALS_ADDRESS_V2 auth credentials, which use a different signature preimage (ENVELOPE_TYPE_SOROBAN_AUTHORIZATION_WITH_ADDRESS, binding the credential address into the signed payload) than the legacy v1 ADDRESS credentials.

simulateTransaction takes an optional useUpgradedAuth request flag: when set, recording-mode simulation returns v2 (ADDRESS_V2) credentials instead of v1. See rs-stellar-rpc-client#112 for the full context and migration timeline.

Current state in stellar-cli

The signing side is already donecmd/soroban-cli/src/signer/mod.rs branches on the credential arm and uses the correct preimage per arm:

  • Address (v1) → HashIdPreimage::SorobanAuthorization
  • AddressV2 (v2) → HashIdPreimage::SorobanAuthorizationWithAddress
  • AddressWithDelegates → skipped with a warning (not supported yet)
  • SourceAccount → left as-is

Both v1 and v2 signing paths have unit tests.

What's missing

The useUpgradedAuth flag is not yet exposed by our stellar-rpc-client dependency (main currently only sends authMode). Once rs-stellar-rpc-client#112 lands and exposes the flag:

  • Plumb useUpgradedAuth through assembled.rs (simulate_transaction_envelope call).
  • Expose it as a CLI option (opt-in), defaulting to off until it makes sense to flip.
  • Consider flipping the CLI's client default to request upgraded auth.
  • Add integration coverage exercising the v2 credential round-trip against a live network.

Timeline / priority

Not p28-blocking. Per the CAP-71 migration plan, the RPC server keeps returning v1 by default until p29 (server flips its default) and disables the flag at p30. Since the CLI doesn't request upgraded auth today, it receives v1 and signs it correctly. This is an additive, opt-in enhancement to complete before p29.

Blocked by: stellar/rs-stellar-rpc-client#112

Dominant language
Rust
Stars
123
Forks
141
Avg merge
2d 21h
Merged PRs (30d)
17

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from stellar/stellar-cli

All issues in stellar/stellar-cli

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.