Skip to content

Bring back the Rust XDR parsing check. - #5396

Merged
graydon merged 1 commit into
stellar:masterfrom
dmkozh:can_parse_tx
Jul 30, 2026
Merged

Bring back the Rust XDR parsing check.#5396
graydon merged 1 commit into
stellar:masterfrom
dmkozh:can_parse_tx

Conversation

@dmkozh

@dmkozh dmkozh commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Description

This check has been removed in commit 4287224758c47dc6cdc0c14930754c898b886e51, however it's still necessary for most of the Core builds that support 2 protocol version.

This change reverts the removal commit and does a bit of necessary refactoring to support the new build.

Checklist

  • Reviewed the contributing document
  • Rebased on top of master (no merge commits)
  • Ran clang-format v8.0.0 (via make format or the Visual Studio extension)
  • Compiles
  • Ran all tests
  • If change impacts performance, include supporting evidence per the performance document

This check has been removed in commit `4287224758c47dc6cdc0c14930754c898b886e51`, however it's still necessary for most of the Core builds that support 2 protocol version.

This change reverts the removal commit and does a bit of necessary refactoring to support the new build.
Copilot AI review requested due to automatic review settings July 29, 2026 21:37

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

Restores protocol-aware Rust XDR validation while preserving pre-p28 depth behavior.

Changes:

  • Adds protocol-specific XDR parsing and depth validation.
  • Applies validation to regular and fee-bump transactions.
  • Restores compatibility tests and centralizes protocol-link checks.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/transactions/TransactionUtils.h Declares XDR validation helper.
src/transactions/TransactionUtils.cpp Implements protocol-aware validation.
src/transactions/TransactionFrame.cpp Validates regular envelopes.
src/transactions/FeeBumpTransactionFrame.cpp Validates fee-bump envelopes.
src/transactions/test/TxEnvelopeTests.cpp Restores compatibility tests.
src/transactions/test/InvokeHostFunctionTests.cpp Uses shared protocol-link helper.
src/test/TestUtils.h Declares shared test helper.
src/test/TestUtils.cpp Implements shared test helper.

Comment thread src/transactions/TransactionUtils.cpp
Comment thread src/transactions/TransactionUtils.cpp
@graydon
graydon added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 30, 2026
@graydon
graydon added this pull request to the merge queue Jul 30, 2026
Merged via the queue into stellar:master with commit 133f5bc Jul 30, 2026
69 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants