Skip to content

Conversation

@hexshire
Copy link
Contributor

Description

Based on top of #17412

Enables OP Stack chains to use an asset other than ETH as their native fee currency by introducing a minimal, flexible, and standardizable Custom Gas Token (CGT) architecture. To do so, it introduces new predeploys (NativeAssetLiquidity and LiquidityController) that decouple native asset management from core bridging operations while using a single isCustomGasToken() flag that disables ETH transfer flows in all bridging methods. The two new pre-deploys manage the native asset supply.

Tests

Core contracts:

  • OptimismPortal and L1Block: Tests for isCustomGasToken() flag blocking ETH deposits/withdrawals
  • NativeAssetLiquidity: Tests deposit/withdraw access control and functionality
  • LiquidityController: Tests minter authorization, mint/burn operations, and metadata functions

Metadata


Contributors

hexshire and others added 30 commits September 13, 2025 15:07
Signed-off-by: Hex <[email protected]>
Co-authored-by: niha <[email protected]>
Co-authored-by: Ashitaka <[email protected]>
Co-authored-by: AgusDuha <[email protected]>
* feat: add L1BlockCGT

* feat: add L2ToL1MessagePasserCGT

* chore: remove test exclution in test validation
* test(cgt): fix failing tests

* test(cgt): fix portal version

* test(cgt): skip tests on forked mode

* fix: predeploys test cgt mismatch

* test(cgt): minor fixes

---------

Co-authored-by: niha <[email protected]>
Updates the implementation to use the new feature flagging system
Use the legacy config name so that less needs to change for legacy CGT
chains
Remove leftover merge conflict
Add a specific test for CGT in the intent
Keeps it simple because development on Jovian is happening and we will
inherit any Jovian modifications automatically
@ethereum-optimism ethereum-optimism deleted a comment from hexshire Nov 10, 2025
agusduha and others added 10 commits November 10, 2025 15:43
* feat: add ownable liquidity

* feat: remove enable and add default liquidity

* feat: pre pr fixed

* fix: initializer

* fix: comments

* fix: comments

* fix: pre-pr

* fix: override

* fix: tests

* fix: cursor issues

* fix: cursor bug bot

* fix: cursor bot

* fix: remove override

* fix: comment

* feat: add checks

* fix: tests

* fix: nil in cgt config

---------

Co-authored-by: agusduha <[email protected]>
* test: fix cgt fork tests

* fix: remove dev flag in L1 tests
* fix: go linter

* fix: with custom gas token func
@agusduha
Copy link
Contributor

/ci authorize adbdcb0

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.

7 participants