Skip to content

fix: TxEffect deserializability (forward port of #25109) - #25295

Merged
nchamo merged 2 commits into
nextfrom
martin/tx-effect-deserializability
Aug 25, 2026
Merged

nchamo merged 2 commits into
nextfrom
martin/tx-effect-deserializability

Conversation

@mverzilli

Copy link
Copy Markdown
Contributor

Forward-ports #25109 to next.

The batch oracle's Noir wrapper get_tx_effects returns an EphemeralArray<Option<TxEffect>>, but reading an element out of an EphemeralArray requires the element type to implement Deserialize, which TxEffect does not — so a contract can obtain the array and ask for its length, but any attempt to read an element fails to compile.

#25109 fixed this on the v5 line (shipped in v5.2.0), but the fnd/labs split (#25007) copied tx_effect.nr to its new location on next before the fix landed there, so next never received it. This applies the same change; the resulting file is byte-identical to the one shipped in v5.2.0.

The contract-side test coverage from the original PR is ported to the labs repo (aztec-labs-eng/aztec-node), where it is blocked on a nightly tag containing this change.

@mverzilli
mverzilli requested a review from LeilaWang as a code owner August 24, 2026 14:39
@mverzilli
mverzilli requested review from nchamo and nventuro and removed request for LeilaWang August 24, 2026 14:45
@mverzilli
mverzilli added this pull request to the merge queue Aug 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 24, 2026
@mverzilli mverzilli added the ci-full Run all master checks. label Aug 25, 2026
@mverzilli
mverzilli added this pull request to the merge queue Aug 25, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 25, 2026
@nchamo
nchamo enabled auto-merge August 25, 2026 20:02
@nchamo
nchamo added this pull request to the merge queue Aug 25, 2026
@AztecBot

Copy link
Copy Markdown
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/2d32a2140bf854e1�2d32a2140bf854e18;;�): yarn-project/kv-store/scripts/run_test.sh src/bench/sqlite-opfs-encrypted/map_bench.test.ts (2s) (code: 0)

Merged via the queue into next with commit 142dfcf Aug 25, 2026
16 of 17 checks passed
@nchamo
nchamo deleted the martin/tx-effect-deserializability branch August 25, 2026 20:56
mverzilli added a commit to aztec-labs-eng/aztec-node that referenced this pull request Aug 26, 2026
…ec-packages#25109) (#86)

* fix: port TxEffect deserializability test coverage (AztecProtocol/aztec-packages#25109)

Ports the labs half of the original PR: the TxEffectOracleTest contract gains a
batch get_tx_effects_hashes utility and a TXE test checking batch results match
the singular oracle. The Deserialize derive on TxEffect itself lives in
protocol_types, consumed from aztec-packages at a pinned nightly tag; this
compiles once the pin advances past a tag containing that derive.

* chore: bump toolchain pins to 6.0.0-nightly.20260826

Advances the aztec-packages pin past AztecProtocol/aztec-packages#25295 so
protocol_types carries the Deserialize derive on TxEffect that the
tx_effect_oracle_test_contract batch oracle test requires. Noir pin is
unchanged: the noir submodule is identical between the two nightlies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants