-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add registry #63
Merged
Merged
Conversation
This file contains 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
Co-authored-by: Goran Vladika <goran.vladika@gmail.com>
Co-authored-by: Goran Vladika <goran.vladika@gmail.com>
…ecutor-test chore: add missing UpgradeExecutor test
* Draft implementation of constructor bytecode getter * Add function for getting the constructor bytecode * Check constructor size and throw error if unexpected one * Add constructor check rationale * Refactor * Add to CI * Check CI will fail if constructor is modified * Revert "Check CI will fail if constructor is modified" This reverts commit 6389b4a. * Clean up * Change _creationCodeFor so that it uses the same constructor as the one compiler would generate This will enable source code verification of the deployed token bridge contracts on the child chain * Init logic contract * Make deployment test more complete * Remove comment * Add deployment script * Calculate properly canonical address of L1 router * feat: remove canonicalL2FactoryAddress dependency * docs: explain * format: fix * Extract code creation function to lib * fix: remove create1 import * fix: fmt * feat: add create1 util * feat: remove logic salt * fix: interface name * Verify creation code generation * feat: cache and store deployment * refactor: lower contract size * feat: getTokenBridgeDeployment * Use chai test format * Add aeWETH/UpgradeExecutor constructor size check * feat: add e2e tests to CI (#18) * Add e2e tests to CI * Use custom testnode branch * Set testnode ref * Set correct ref * Specify main * Update comment Co-authored-by: gzeon <hng@offchainlabs.com> * Remove intermediary function * Update out-of-date comments * feat: disable template update * chore: rename error * ci: wait-for-l3 * ci: switch back to main * Test canonical address for multicall, beacon proxy and proxy admin are correct * refactor: _deployProxyWithSalt * fix: remove Create1 lib and use empty salt instead * fix: beacon deploy * Update local deployment scripts * Add test info * Refactor test to support latest contract changes * Fetch rollup owner from logs * Update prod deployment script * Remove unnecessary structs * refactor: inline internal methods * refactor: flatten more * refactor: _computeAddressAtNonce0 * refactor: remove return val * refactor: separate l1 l2 deployment * feat: add deployment setter * fix: l2 multicall template * Bring deployment and test scripts up to date * docs: sendRetryable * fix: remove some redundent logic * Run e2e tests on chain that uses fee token * Change action name * fix: remove getCanonicalL1RouterAddress * fix: do not set weth when isUsingFeeToken * docs: add more comments * docs: _computeAddressAtNonce0 * refactor: trycatch * rename: event OrbitTokenBridgeDeploymentSet * feat: L1AtomicTokenBridgeCreator_AlreadyCreated * Remove unused error * Add L1AtomicTokenBridgeCreator init tests * Test setTemplates * refactor: calc salt in deploySeedProxy * refactor: inline oneline methods * Add L1AtomicTokenBridgeCreator init tests * Test setTemplates * Update nitro-contracts ref for testing * Add createTokenBridge tests * Add more L1 creator tests * Test ERC20 chain * Add skeleton for L2AtomicTokenBridgeFactory tests * Add more checks for L2 factory * fix: unsalted deployment * Complete L2 factory tests * Add init check for StandardArbERC20 logic * Fix L2 multicall address prediction * test: AtomicTokenBridgeCreator in foundry * test: deployment fail case * feat: allow retry * fix: typo * test: fix new test * docs: more comments * docs: explain more * refactor: rename to resend * If rollupOwner is a contract, alias its address when sending to L2 * Move aliasing rollupOwner to L1 creator * Add more L1 factory tests * Add missing L1 factory tests * refactor: scope chainId to reduce stack size * Stack too deep fix * Adapt tests --------- Co-authored-by: gzeon <hng@offchainlabs.com> Co-authored-by: gzeon <im@gzeon.dev>
gvladika
approved these changes
Dec 21, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
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.
This PR feature storing the deployment addresses in the factory upon deployment to allow it to act as a registry of token bridges. Rollup owner can also manually set the registry value for their rollup if they have a non-standard token bridge deployment. Some other changes including:
inboxToL1Deployment
andinboxToL2Deployment