fix: parse the address from cast create2 output on foundry >= 1.8 - #267
Merged
Conversation
Since foundry 1.8, cast create2 prints "<address>\t<salt>" instead of
just the address. Scripts capturing its stdout then fail, e.g. in the
agglayer-node-e2e job:
not ok 3 bridge L2 originated ERC20 from L2 to L1
cast code ... failed: invalid value '0x41D5...\t0x0000...' for '<WHO>'
Keep only the first field at every capture site. awk '{ print $1 }'
yields the same address on both old and new cast (verified against
1.7.1 and 1.8.1).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ekleog-Polygon
added a commit
to agglayer/agglayer
that referenced
this pull request
Sep 1, 2026
foundry >= 1.8 (installed as 'stable' by the bumped foundryup) prints '<address>\t<salt>' from cast create2, breaking the ERC20 bridge e2e test in the merge queue. Point at agglayer/e2e#267, which parses the address on both old and new cast. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ekleog-Polygon
requested review from
jhkimqd and
praetoriansentry
and removed request for
jhkimqd
September 1, 2026 14:56
praetoriansentry
approved these changes
Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Contains two commits:
@hadjiszs's foundryup/foundry bump (
c209ac9, cherry-picked as-is): the old pinned foundryup broke upstream (foundryup: cannot execute binary file), and this moves installation to foundryup 1.9.1 / foundry stable (currently 1.8.1).A follow-up fix that bump exposes: since foundry 1.8,
cast create2prints<address>\t<salt>instead of just the address, so every script capturing its stdout breaks. First seen in the agglayer/agglayer merge queue (fix(deps): address RUSTSEC-2026-0253/0258 and CI toolchain drift agglayer#1772):All six capture sites (bridges.bats, prover-stress.bats, lxly.bats, multi-chain-bridge.bats, bridge-tests-suite.bats, bridge-tests-helper.bash) now pipe through
awk '{ print $1 }', which yields the same address on both old and new cast — verified empirically against cast 1.7.1 and 1.8.1 (cast create2 --jsonis not supported, so plain-output parsing it is).agglayer/agglayer#1772 will pin its
agglayer-e2e-refto this branch's sha to get the merge queue through; landing this PR keeps main consistent with that pin.🤖 Generated with Claude Code