Repository navigation
chore(oft): deploy the OFT bridge through CreateX for cross-chain deterministic addresses - #19
Merged
Merged
Conversation
- Add utility functions for generating salt labels and proxy salts in oftSalts.ts. - Introduce a new script to predict CREATE3 addresses for OFT proxies based on the deployer and network. - Update hardhat.config.ts to include the new address prediction script. - Enhance the OFT configuring guide with details on CREATE3 deployment and address consistency across chains. - Create tests to validate the deterministic deployment of OFT proxies using CREATE3. - Modify existing tests to ensure compatibility with the new deployment strategy.
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Sourcery assessment
Needs a human reviewer. A wrong CreateX address, salt, or initialization could leave the bridge proxies deployed at unusable addresses or cause tokens to be bridged incorrectly. Reverting the scripts does not remove those on-chain deployments or undo transfers already made; recovery would require a corrected deployment and configuration.
sirpy
approved these changes
Oct 22, 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
XCreateis CreateX, the universal deployer at0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed— the same address on every chain, and alreadyreferenced from GoodProtocol's
contracts/utils/ICreateX.sol. Verified live and byte-identical onCelo, XDC and Ethereum, with a runtime code hash matching the one CreateX publishes.
Problem
The OFT proxies were deployed through GoodProtocol's
ProxyFactory1967, which lives at a differentaddress on each chain (
0xD86cd6Bb…on production-celo vs0x5BE34022…on production-xdc). Theadapter would therefore have had a different address on each chain in production.
Closes #16
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:
Summary by Sourcery
Deploy the OFT bridge through CreateX to provide deterministic cross-chain proxy addresses and consistent implementation upgrades.
New Features:
oft:addressestask to preview proxy addresses before deployment.Bug Fixes:
Enhancements:
Deployment:
Documentation:
Tests: