Skip to content

Conversation

@duncancmt
Copy link
Collaborator

No description provided.

@duncancmt
Copy link
Collaborator Author

See also #424 and #416

@duncancmt duncancmt changed the base branch from master to dcmt/abstract November 12, 2025 10:05
Base automatically changed from dcmt/abstract to master November 26, 2025 10:34
duncancmt and others added 22 commits December 5, 2025 19:13
- Update 122 src/ files from =0.8.25 to =0.8.33
- Update test/unit/deployer/AltItoA.sol pragma
- Update src/proxy/ERC1967UUPSUpgradeable.sol pragma

This allows the full test suite to run with the Osaka EVM target.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
AllowanceHolder.sol and the Deployer contracts (Deployer.sol,
BlastDeployer.sol, ModeDeployer.sol) need to remain on 0.8.25 for
deployment consistency while the rest of the codebase uses 0.8.33
for Osaka compatibility.

Changes:
- Use flexible pragma (^0.8.25) for these contracts so they compile
  with both 0.8.25 (for deployment) and 0.8.33 (for tests)
- Update ERC1967UUPSUpgradeable.sol to ^0.8.25 since Deployer imports it
- CI explicitly builds these with FOUNDRY_SOLC_VERSION=0.8.25
- Tests use vm.getDeployedCode() to load pre-compiled artifacts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@duncancmt duncancmt changed the title Prepare for Osaka hardfork Osaka hardfork Dec 29, 2025
@duncancmt duncancmt requested a review from e1Ru1o December 29, 2025 13:21
@duncancmt duncancmt self-assigned this Dec 29, 2025
@duncancmt duncancmt marked this pull request as ready for review December 29, 2025 13:21
@duncancmt duncancmt requested a review from dekz as a code owner December 29, 2025 13:21
@immunefi-magnus
Copy link

🛡️ Immunefi PR Reviews

We noticed that your project isn't set up for automatic code reviews. If you'd like this PR reviewed by the Immunefi team, you can request it manually using the link below:

🔗 Send this PR in for review

Once submitted, we'll take care of assigning a reviewer and follow up here.

Copy link
Contributor

Choose a reason for hiding this comment

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

what are the sqrtPriceLimitX96 changes here for? 🤔

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The integration tests OOG with the Osaka-hardfork gas limit on the various tick-based AMMs we test against. Adding a meaningful sqrtPriceLimitX96 fixes this so that the tests can pass. It's infuriating.

Copy link
Contributor

@e1Ru1o e1Ru1o left a comment

Choose a reason for hiding this comment

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

I saw CI was not passing, other than that it looks good

Comment on lines +47 to +48
// Preserve the settlerMetaTxn address for the hardcoded signing hash.
new NonceBump();
Copy link
Contributor

Choose a reason for hiding this comment

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

This is because of the removal of new AllowanceHolder() if I followed properly, is it too complex to just change the harcoded values? I would do that or modify the comment a bit, the "Preserve" makes sense now that you are doing the change but later on I think it is easy to forget why it needed to be preserved, I suggest just explaining that it needs to be bumped and maybe mention what is the expected nonce

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Correct.

We don't want to change the hardcoded value in test/integration/SettlerMetaTxnPairTest.t.sol (look for the giant warning) because it corresponds to an integration test elsewhere in 0x's repos. If we change the nonce of the test contract, we have to change the hardcoded hash. It's laborious to coordinate that update, so I would rather just bump the nonce here as a kludge. Do you have a suggestion for what the comment should say?

If we forget to preserve the nonce, there's a CI test that will fail. And if you paper that over while ignoring the giant warning, then whomever does that is beyond help 😓

Copy link
Contributor

Choose a reason for hiding this comment

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

Got it. For me the comment should be something like a warning too

// Account nonce is relevant for upcoming settlerMetaTxn deployment to preserve 
// the address used in hardcoded signing hash. Expected nonce is X. 
// Dummy deployment to bump nonce to X

@duncancmt
Copy link
Collaborator Author

duncancmt commented Dec 29, 2025

CI was not passing

I fixed the CI. It should be good now.

@duncancmt duncancmt merged commit c0c1bd3 into master Dec 29, 2025
3 checks passed
@duncancmt duncancmt deleted the dcmt/osaka branch December 29, 2025 14:49
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