Skip to content

Conversation

tynes
Copy link
Contributor

@tynes tynes commented Aug 13, 2025

Description

This is WIP so far but meant to show how it can work. The big todo is to
rename the feature flag with the name of the hardfork that the CGT
upgrade is included in. This does leak knowledge of CGT into the client
software so that it can optionally deploy the CGT predeploys.
It is expected that the CGT predeploys will be in the genesis if
the hardfork is active at genesis only on CGT chains.

Relevant links:

This is WIP so far but meant to show how it can work. The big todo is to
rename the feature flag with the name of the hardfork that the CGT
upgrade is included in. This does leak knowledge of CGT into the client
software so that it can optionally deploy the CGT predeploys.
It is expected that the CGT predeploys will be in the genesis if
the hardfork is active at genesis only on CGT chains.

Relevant links:
- ethereum-optimism/design-docs#305
- ethereum-optimism/design-docs#313
- defi-wonderland#478
Isthmus ForkName = "isthmus"
Jovian ForkName = "jovian"
Interop ForkName = "interop"
CustomGasToken ForkName = "custom_gas_token"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not exactly sure how to feature flag the best way, this cgt fork should be temporary

Comment on lines +9 to +14
func CustomGasTokenNetworkUpgradeTransactions() ([]hexutil.Bytes, error) {
// TODO: Implement custom gas token upgrade transactions
// Deploy controller, liquidity, set implementations, mint ETH to liquidity
upgradeTxns := make([]hexutil.Bytes, 0)
return upgradeTxns, nil
}
Copy link

Choose a reason for hiding this comment

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

🟠 High severity: Incomplete Custom Gas Token Upgrade Implementation

Description:
The CustomGasTokenNetworkUpgradeTransactions function returns empty upgrade transactions while the system activates custom gas token functionality. This creates a state where the rollup believes custom gas token is active but no actual deployment or configuration transactions are executed.

Recommendation:
Complete the implementation of CustomGasTokenNetworkUpgradeTransactions to include all necessary deployment and configuration transactions before enabling the custom gas token feature in production.

The fix requires a more nuanced change than an inline suggestion. Fixes via PR are coming soon!


Don't like this finding? Reply "dismiss" and it won't appear again in future scans.

Copy link

codecov bot commented Aug 13, 2025

Codecov Report

❌ Patch coverage is 40.00000% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 41.42%. Comparing base (bbe533d) to head (8fe563f).
⚠️ Report is 84 commits behind head on develop.

Files with missing lines Patch % Lines
op-node/rollup/types.go 36.84% 10 Missing and 2 partials ⚠️
op-node/rollup/derive/attributes.go 0.00% 5 Missing and 1 partial ⚠️

❗ There is a different number of reports uploaded between BASE (bbe533d) and HEAD (8fe563f). Click for more details.

HEAD has 4 uploads less than BASE
Flag BASE (bbe533d) HEAD (8fe563f)
cannon-go-tests-64 3 0
contracts-bedrock-tests 2 1
Additional details and impacted files
@@             Coverage Diff              @@
##           develop   #17062       +/-   ##
============================================
- Coverage    81.88%   41.42%   -40.46%     
============================================
  Files          161     1349     +1188     
  Lines         9244   108778    +99534     
============================================
+ Hits          7569    45062    +37493     
- Misses        1528    60424    +58896     
- Partials       147     3292     +3145     
Flag Coverage Δ
cannon-go-tests-64 ?
contracts-bedrock-tests 96.29% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
op-node/rollup/chain_spec.go 75.43% <ø> (ø)
...up/derive/custom_gas_token_upgrade_transactions.go 100.00% <100.00%> (ø)
op-node/rollup/derive/attributes.go 62.12% <0.00%> (ø)
op-node/rollup/types.go 60.80% <36.84%> (ø)

... and 1294 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@opgitgovernance opgitgovernance added the S-stale Status: Will be closed unless there is activity label Aug 28, 2025
@opgitgovernance
Copy link

This pr has been automatically marked as stale and will be closed in 5 days if no updates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-stale Status: Will be closed unless there is activity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants