CeloSequencerFeeVault#444
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2f421fbd18
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| ISequencerFeeVault vault = ISequencerFeeVault( | ||
| DeployUtils.create1({ | ||
| _name: "SequencerFeeVault", | ||
| _name: "CeloSequencerFeeVault", |
There was a problem hiding this comment.
Keep standard SequencerFeeVault as default genesis impl
setSequencerFeeVault now unconditionally deploys CeloSequencerFeeVault for every L2 genesis, which replaces the standard OP Stack predeploy implementation even on non-Celo chains. This introduces Celo-specific behavior (e.g., withdrawToken depends on CELO_REGISTRY) and changes the deployed bytecode/version for SEQUENCER_FEE_WALLET globally, so non-Celo deployments no longer get the canonical SequencerFeeVault implementation they previously received. This should be gated behind a Celo-specific config/feature flag and keep SequencerFeeVault as the default path.
Useful? React with 👍 / 👎.
Implements an extension to the standard SequencerFeeVault that also allows withdrawals of ERC-20 tokens, as the CELO system allows for gas payments in some non-native tokens.
Because some of the tokens use a special adapter contract, the "base"
withdrawTokenfunction takes two arguments:registeredandactual.registeredrefers to the token as registered in the FeeCurrencyDirectory, which can be an adapter wrapper contract.actualrefers to the actual ERC-20 token that should be transferred. A single-argument convenience overload is provided. On withdrawal, the token is verified to be registered in the FeeCurrencyDirectory.Some design decisions:
Drive by changes
mise.toml,[alias]was deprecated in favor of[tool_alias].