Skip to content

Update stellar dependencies to protocol 27 - #2613

Merged
mootz12 merged 11 commits into
mainfrom
p27-update
Jun 17, 2026
Merged

Update stellar dependencies to protocol 27#2613
mootz12 merged 11 commits into
mainfrom
p27-update

Conversation

@mootz12

@mootz12 mootz12 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

Updates protocol dependencies to protocol 27, cleans up clippy warnings, and adds the ability to sign AddressV2 auth entries.

Known limitations

Support for signing with delegated signers does not exist at this time

TODO

  • Update rs-soroban-sdk packages once an RC release is available

@github-project-automation github-project-automation Bot moved this to Backlog (Not Ready) in DevX Jun 17, 2026
@mootz12
mootz12 requested a review from fnando June 17, 2026 02:15
@mootz12
mootz12 marked this pull request as ready for review June 17, 2026 15:16
@mootz12
mootz12 requested a review from a team as a code owner June 17, 2026 15:16
Copilot AI review requested due to automatic review settings June 17, 2026 15:16
@socket-security

socket-security Bot commented Jun 17, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: cargo libc is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?cargo/bollard@0.20.2cargo/testcontainers@0.27.2cargo/sep5@0.1.0cargo/tokio@1.52.3cargo/stellar-xdr@27.0.0cargo/soroban-sdk@27.0.0-rc.1cargo/soroban-ledger-snapshot@27.0.0-rc.1cargo/sha2@0.10.9cargo/sha2@0.9.9cargo/which@4.4.2cargo/ulid@1.2.1cargo/directories@5.0.1cargo/mockito@1.7.0cargo/whoami@1.6.1cargo/reqwest@0.12.23cargo/httpmock@0.7.0cargo/ledger-transport-hid@0.10.0cargo/wasm-opt@0.116.1cargo/tempfile@3.21.0cargo/open@5.3.2cargo/rpassword@7.4.0cargo/keyring@3.6.3cargo/serial_test@3.2.0cargo/assert_cmd@2.0.17cargo/libc@0.2.186

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/libc@0.2.186. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: cargo tokio is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: Cargo.lockcargo/tokio@1.52.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore cargo/tokio@1.52.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates stellar-cli’s Rust workspace to Protocol 27-compatible dependencies (notably stellar-xdr / Soroban crates), adjusts code to the new stellar_xdr API surface (removing curr usage), and extends the signer to support signing AddressV2 Soroban auth entries using the correct CAP-0071-02 payload preimage.

Changes:

  • Bump workspace protocol dependencies to v27 (including stellar-xdr = 27.0.0, soroban-env-host = 27.0.0, and soroban-* = 27.0.0-rc.1) and update the lockfile accordingly.
  • Replace stellar_xdr::curr::* imports/usages with top-level stellar_xdr::* and update CLI encode/decode helpers to the new stellar_xdr::cli API.
  • Add AddressV2 signing support by hashing the SorobanAuthorizationWithAddress preimage, plus unit tests ensuring the AddressV2 variant is preserved and produces distinct signatures from V1.

Reviewed changes

Copilot reviewed 41 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
cmd/soroban-cli/src/wasm.rs Switch XDR imports from curr to top-level stellar_xdr.
cmd/soroban-cli/src/utils.rs Update XDR imports and tests to use top-level stellar_xdr types.
cmd/soroban-cli/src/signer/validation.rs Update contract ID construction for non-curr XDR types in tests.
cmd/soroban-cli/src/signer/mod.rs Add AddressV2 auth signing using SorobanAuthorizationWithAddress preimage + new tests; update contract ID pattern matching.
cmd/soroban-cli/src/log/auth.rs Format auth entries for AddressV2 and AddressWithDelegates; minor iterator/clippy cleanups; update contract ID formatting match.
cmd/soroban-cli/src/lib.rs Re-export stellar_xdr directly as xdr (removing curr re-export).
cmd/soroban-cli/src/key.rs Update contract address construction to non-curr XDR types.
cmd/soroban-cli/src/config/sc_address.rs Update ScAddress::Contract construction to non-curr XDR types.
cmd/soroban-cli/src/commands/version.rs Update displayed XDR version field naming (from xdr_curr to xdr).
cmd/soroban-cli/src/commands/tx/xdr.rs Update Limited/error types to non-curr XDR.
cmd/soroban-cli/src/commands/tx/update/sequence_number/next.rs Update MuxedAccount import to top-level stellar_xdr.
cmd/soroban-cli/src/commands/tx/send.rs Update XDR error type to stellar_xdr::Error and remove curr import.
cmd/soroban-cli/src/commands/tx/encode.rs Update stellar_xdr::cli::encode invocation to new API (cmd.run() without Channel::Curr).
cmd/soroban-cli/src/commands/tx/edit.rs Update XDR read/write trait bounds and envelope types to top-level stellar_xdr.
cmd/soroban-cli/src/commands/tx/decode.rs Update stellar_xdr::cli::decode invocation to new API (cmd.run() without Channel::Curr).
cmd/soroban-cli/src/commands/snapshot/merge.rs Update snapshot merge key/value types to non-curr XDR types.
cmd/soroban-cli/src/commands/snapshot/create.rs Switch broad XDR imports and contract address creation off curr.
cmd/soroban-cli/src/commands/network/settings.rs Update XDR imports and error types to non-curr.
cmd/soroban-cli/src/commands/ledger/entry/fetch/contract_data.rs Update XDR error type to stellar_xdr::Error.
cmd/soroban-cli/src/commands/doctor.rs Update displayed XDR version field naming (from xdr_curr to xdr).
cmd/soroban-cli/src/commands/contract/info/shared.rs Update ContractId import to top-level stellar_xdr.
cmd/soroban-cli/src/commands/contract/info/meta.rs Update meta XDR imports to top-level stellar_xdr.
cmd/soroban-cli/src/commands/contract/info/build.rs Update meta XDR imports to top-level stellar_xdr.
cmd/soroban-cli/src/commands/contract/deploy/asset.rs Update contract address creation to non-curr XDR types.
cmd/soroban-cli/src/commands/contract/build.rs Update XDR imports/error types and spec entry typing to non-curr.
cmd/soroban-cli/src/commands/contract/arg_parsing.rs Update many spec/XDR type imports/usages to non-curr and clean up iterator style.
cmd/soroban-cli/src/assembled.rs Update broad XDR imports and contract ID construction to non-curr.
cmd/crates/stellar-ledger/tests/test/emulator_tests.rs Update test XDR imports to non-curr.
cmd/crates/stellar-ledger/src/lib.rs Update crate XDR imports to non-curr.
cmd/crates/stellar-ledger/src/emulator_test_support/util.rs Update Hash import to non-curr.
cmd/crates/stellar-ledger/Cargo.toml Drop stellar-xdr feature curr from this crate.
cmd/crates/soroban-spec-typescript/src/types.rs Update spec/XDR imports to non-curr.
cmd/crates/soroban-spec-typescript/src/lib.rs Update spec/XDR imports and error typing to non-curr.
cmd/crates/soroban-spec-typescript/src/boilerplate.rs Improve ignored-test messages and adjust directory-compare helper logic.
cmd/crates/soroban-spec-typescript/Cargo.toml Drop stellar-xdr feature curr from this crate.
cmd/crates/soroban-spec-tools/src/verify.rs Update spec/XDR imports to non-curr and clean up iterator style.
cmd/crates/soroban-spec-tools/src/lib.rs Update broad XDR imports to non-curr and adjust remaining curr-scoped enums.
cmd/crates/soroban-spec-tools/src/event.rs Update XDR imports to non-curr.
cmd/crates/soroban-spec-tools/src/contract.rs Update XDR imports to non-curr and clean up iterator style.
cmd/crates/soroban-spec-tools/Cargo.toml Drop stellar-xdr feature curr from this crate.
Cargo.toml Bump workspace protocol dependency versions to v27 / v27 RCs and add soroban-env-host v27.
Cargo.lock Refresh lockfile for the new dependency set.

Comment thread cmd/crates/soroban-spec-typescript/src/boilerplate.rs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8a70c15cc7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread cmd/soroban-cli/src/signer/mod.rs Outdated
Comment thread cmd/soroban-cli/src/signer/mod.rs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46e035db10

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/bindings-ts.yml
@mootz12
mootz12 merged commit 6ceb032 into main Jun 17, 2026
227 checks passed
@mootz12
mootz12 deleted the p27-update branch June 17, 2026 20:29
@github-project-automation github-project-automation Bot moved this from Backlog (Not Ready) to Done in DevX Jun 17, 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