update UR briefcase initcode to v2.1.1#142
Closed
david-uniswap wants to merge 1 commit into
Closed
Conversation
This was referenced May 26, 2026
src/pkgs/universal-router is a git submodule. The briefcase hex literal in UniversalRouterDeployer.sol was last regenerated against an old submodule pin that predated the v2.1.1 commit (PR #470 upstream). The monorepo's submodule pin has since advanced past v2.1.1, but no one re-ran ./script/util/create_briefcase.sh, so deploys via the briefcase were silently shipping v2.1.0 bytecode. This patch rewrites only the hex literal in UniversalRouterDeployer.sol with the v2.1.1 bytecode. The briefcase protocols/ source reference files are intentionally NOT touched in this PR — they're documentation and can drift relative to the deployer without affecting deployments. A follow-up can sync them when convenient. Bytecode diff: - Old size: 23,587 bytes - New size: 26,404 bytes (~12% larger) - Old keccak: 0x7171fed0bc0dd1a41b55969fe1ebdb60d3eeb80750c3fa8d7230ea06142db561 - New keccak: 0x6dba80c0116a490d48657845492bb38374489ed49c296ac50614265f97221510 v2.1.0 → v2.1.1 brings: - PAY_PORTION_FULL_PRECISION command (slot 0x07) with 1e18 precision - Per-hop slippage on v2/v3 swaps via minHopPriceX36 - minHopPriceX36 field on V4 ExactInputSingleParams struct - Command space expanded (mask 0x3f → 0x7f) - v2 fee-on-transfer slippage fix (uses actual balance change) - OZ audit fixes m01, l03, n05, n08 Verification: - forge build clean - New initcode keccak matches a fresh forge compilation of the current submodule pin's UniversalRouter source.
023196a to
435490f
Compare
3 tasks
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.
Summary
src/pkgs/universal-routeris a git submodule. The briefcase hex literal inUniversalRouterDeployer.solwas last regenerated against an old submodule pin that predated the v2.1.1 commit (PR #470 upstream). The monorepo's submodule pin has since advanced past v2.1.1, but no one re-ran./script/util/create_briefcase.sh, so deploys via the briefcase were silently shipping v2.1.0 bytecode.This PR is scoped to a single line change: the hex literal in
UniversalRouterDeployer.sol. Everything else the regen script touches (briefcase protocols/ source files, orphan hook scripts) is documentation/reference and can drift relative to the deployer without affecting any deployment — those follow-ups can ship separately when convenient.Diff
Bytecode diff
0x7171fed0bc0dd1a41b55969fe1ebdb60d3eeb80750c3fa8d7230ea06142db5610x6dba80c0116a490d48657845492bb38374489ed49c296ac50614265f97221510What v2.1.1 brings over v2.1.0
PAY_PORTION_FULL_PRECISIONcommand (slot0x07) with 1e18 precisionminHopPriceX36minHopPriceX36field added to V4ExactInputSingleParamsstruct0x3f→0x7fVerification
forge buildclean with the new deployerforge buildof the current submodule pin's UniversalRouter source (so the briefcase faithfully reflects what the submodule produces)0x8876789976decbfcbbbe364623c63652db8c0904Test plan