Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
0b5940a
feat(cgt): custom gas token
hexshire Sep 2, 2025
5d807c7
feat: add gasPayingTokenName and gasPayingTokenSymbol on json config …
0xniha Sep 3, 2025
2c9c7b9
fix: contracts semver
0xniha Sep 3, 2025
4ddd49f
fix: remove system config bool
ashitakah Sep 3, 2025
1a9acec
test: add OptimismPortal2CGT tests
0xniha Sep 3, 2025
170cede
chore(cgt): set cgt flag l1block & fixes
0xniha Sep 4, 2025
ef98d54
fix(linter): resolve goimports formatting issue
hexshire Sep 4, 2025
1f223a4
feat: add separate l2 contracts for cgt (#530)
0xniha Sep 4, 2025
53a7501
test(cgt): fix failing tests (#529)
hexshire Sep 5, 2025
52d4840
fix(cgt): revert weth
hexshire Sep 7, 2025
c64cbe5
cgt: feature flag integration
tynes Sep 10, 2025
01b018c
config: make backwards compatible
tynes Sep 10, 2025
2b5fdf2
fix: build issue
tynes Sep 10, 2025
c1e9f38
fix: better backwards compatibility
tynes Sep 10, 2025
736e33d
build: fix
tynes Sep 10, 2025
e759aae
lint: fix
tynes Sep 10, 2025
38404d5
snapshots: update
tynes Sep 10, 2025
2175502
op-deployer: apply test with CGT
tynes Sep 10, 2025
5fc88e1
contracts-bedrock: fix versioning
tynes Sep 10, 2025
4db9ecc
lint: fix
tynes Sep 10, 2025
47b0d81
deployer: remove standard values
tynes Sep 10, 2025
75798b4
contracts: semver lock
tynes Sep 10, 2025
787e880
contracts-bedrock: fix semver + abis
tynes Sep 10, 2025
47bd311
cgt: solidity test cleanup
tynes Sep 10, 2025
70f90c4
solidity: fmt
tynes Sep 10, 2025
fe0f5ab
tests: remove dead imports
tynes Sep 10, 2025
0461d07
tests: fixup
tynes Sep 10, 2025
8d2240f
cgt: configurable liquidity amount
tynes Sep 11, 2025
fd8b11d
feat: configurable native asset liquidity balance
tynes Sep 11, 2025
11e3e4c
cleanup: merge L1Block logic so that we inherit
tynes Sep 11, 2025
bccbdb8
snapshots: update
tynes Sep 11, 2025
2652a3f
cgt: inherit logic for L2ToL1MessagePasser
tynes Sep 11, 2025
c865863
semver-lock: update
tynes Sep 11, 2025
8209fb1
lint: fix
tynes Sep 11, 2025
3aedcdc
lint: fixup
tynes Sep 11, 2025
82305b5
interfaces: fix
tynes Sep 11, 2025
da28e87
fixes: smol
tynes Sep 11, 2025
152afcc
deploy-config: sane default
tynes Sep 11, 2025
d159627
lint: fix
tynes Sep 11, 2025
3a876e1
linting: fix
tynes Sep 11, 2025
fbbbba2
lint: fix
tynes Sep 11, 2025
330bb60
semgrep: fix
tynes Sep 11, 2025
b423844
lint: fix
tynes Sep 11, 2025
ca929cb
tests: fix
tynes Sep 12, 2025
8de8477
tests: fix fuzz
tynes Sep 12, 2025
dfe5282
fix: custom gas token rebase (#17484)
agusduha Sep 17, 2025
b54c6b5
Merge branch 'develop' into sc-feat/custom-gas-token-rebase
agusduha Sep 17, 2025
cbdda0f
fix: semver lock
agusduha Sep 17, 2025
9bb50bd
fix: CGT review fixes (#17534)
agusduha Sep 19, 2025
872d409
Merge branch 'develop' into sc-feat/custom-gas-token-rebase
agusduha Sep 19, 2025
ed4c79b
fix: semver
agusduha Sep 19, 2025
01020a3
fix: opcm version
agusduha Sep 19, 2025
244a734
Merge branch 'develop' into sc-feat/custom-gas-token-rebase
agusduha Sep 22, 2025
c8060eb
fix: tests
agusduha Sep 22, 2025
ee87ecd
feat(op-acceptance-tests): add acceptance tests for native CGT across…
scharissis Sep 22, 2025
4ad8a30
fix: custom gas token rebase review comments (#17577)
agusduha Sep 24, 2025
4f01447
fix: cgt review (#17612)
agusduha Sep 25, 2025
c83d058
test: custom gas token invariants (#17489)
simon-something Sep 25, 2025
882ca7a
refactor: use skipIfDevFeatureDisabled for cgt predeploys test (#614)…
agusduha Sep 25, 2025
2da84c8
Merge branch 'develop' into sc-feat/custom-gas-token-rebase
agusduha Sep 25, 2025
bf72a8c
fix: tests
agusduha Sep 25, 2025
f033db8
fix: auth minter helper & bound _mint in depositTransaction tests (#1…
0xniha Sep 26, 2025
9cd22c4
try to merge sc-feat/custom-gas-token-rebase and fix conflict
Oct 12, 2025
01992f5
fix contract reference error
Oct 12, 2025
cb67154
block bridge function (#49)
albbm Oct 13, 2025
caea018
Merge branch 'dev' into pre-release
Oct 13, 2025
cf88670
update image tag info
Oct 13, 2025
f76ba63
revert the change name of var DeployV2DisputeGamesDevFlag
Oct 13, 2025
a5f7f94
merge dev and fix conflict
Oct 13, 2025
5326215
rm unused code
Oct 13, 2025
45e08e0
Add CGT (#52)
doutv Oct 13, 2025
97a978d
feat: add custom gas token configuration for OKB (#55)
doutv Oct 13, 2025
b0c412e
Merge branch 'dev' into pre-release
Oct 13, 2025
4277650
consolidate test scripts
cliff0412 Oct 14, 2025
fd6398c
refactor
cliff0412 Oct 14, 2025
340b652
Merge branch 'pre-release' into testnet_migration
cliff0412 Oct 14, 2025
e256231
resolve conflicts
cliff0412 Oct 14, 2025
2146987
fix build op contracts
cliff0412 Oct 14, 2025
d70b357
fix op_stack image build
cliff0412 Oct 14, 2025
33c4c1a
use dev for op-geth
cliff0412 Oct 14, 2025
68a0dea
fix setGasToken
cliff0412 Oct 14, 2025
dd072a2
remove SystemConfig UpdateType GAS_PAYING_TOKEN event
doutv Oct 14, 2025
b11f774
refactoring
cliff0412 Oct 14, 2025
d9f11cd
Merge remote-tracking branch 'origin/testnet_migration' into testnet_…
cliff0412 Oct 14, 2025
dffc9be
fix typo
doutv Oct 14, 2025
13cacd7
fix sysconfig
cliff0412 Oct 14, 2025
f6bfa4c
Merge branch 'testnet_migration' of github.com:okx/optimism into test…
cliff0412 Oct 14, 2025
41a74ba
refactoring
cliff0412 Oct 14, 2025
ad831e6
Update MockOKB contract to mint a total supply of 660,000 (#60)
doutv Oct 14, 2025
d24d6b9
add patch
cliff0412 Oct 14, 2025
a02942d
fix: build image sequence
Oct 15, 2025
2b7cd75
feat: add cdk image env
Oct 15, 2025
02c901f
feat: set ARCH to default value using docker cmd
Oct 15, 2025
e0c8eb3
update testnet genesisGasParameters and readme
cliff0412 Oct 15, 2025
ec6dca7
Merge branch 'testnet_migration' of github.com:okx/optimism into test…
cliff0412 Oct 15, 2025
ebc1fc2
use gopath for install go bin
cliff0412 Oct 15, 2025
d6a29f7
Optimize dockerfile build time (#63)
doutv Oct 15, 2025
042af4b
Merge branch 'dev' into pre-release
Oct 15, 2025
4dce6d8
update op-geth to the latest
Oct 15, 2025
9c5ba7c
add cgt_enable (#66)
cliff0412 Oct 15, 2025
874ee68
Update testnet readme steps
Vui-Chee Oct 16, 2025
c985a09
put migration into separate file
cliff0412 Oct 16, 2025
f2af80b
refactor l1-geth
cliff0412 Oct 16, 2025
d4625e1
merge dev
cliff0412 Oct 16, 2025
b4f8bec
Merge remote-tracking branch 'origin/pre-release' into testnet_migration
cliff0412 Oct 16, 2025
135fe9d
merge with pre-release
cliff0412 Oct 16, 2025
660538e
refactor
cliff0412 Oct 16, 2025
0c207e9
sync op-geth
cliff0412 Oct 16, 2025
9c76af5
fix(test): add --legacy flag to Safe contract deployment
Oct 16, 2025
5f14698
update testnet readme for regenesis
Vui-Chee Oct 16, 2025
1995d59
Merge branch 'dev' into pre-release
Oct 16, 2025
9f00e64
consolidate test scripts (#59)
cliff0412 Oct 16, 2025
866c18e
support gnosis safe and fix configs
KyrinCode Oct 16, 2025
39ab3a6
refactor geth_cmd
cliff0412 Oct 17, 2025
3701bea
Merge remote-tracking branch 'origin/pre-release' into testnet_migration
cliff0412 Oct 17, 2025
40eee59
Merge pull request #71 from okx/kyrin/support-gnosis-safe-and-fix-con…
cliff0412 Oct 17, 2025
951a306
no verify for redeploy testnet, temparay
cliff0412 Oct 17, 2025
4ecb082
Merge pull request #72 from okx/testnet_migration
cliff0412 Oct 17, 2025
6017e90
custom dockerfile to build op-geth-migrate
Vui-Chee Oct 17, 2025
ea7dd32
Update testnet migration readme
Vui-Chee Oct 17, 2025
3e70bcf
add pp proxy
cliff0412 Oct 17, 2025
bce3cac
Merge branch 'testnet_migration' of github.com:okx/optimism into test…
cliff0412 Oct 17, 2025
86f68c6
Merge pull request #73 from okx/testnet_migration
cliff0412 Oct 17, 2025
9f18e45
rm testnet.env
cliff0412 Oct 17, 2025
9f6441d
rm testnetenv
cliff0412 Oct 17, 2025
5685f02
Merge pull request #74 from okx/testnet_migration
cliff0412 Oct 17, 2025
25c6778
change address
cliff0412 Oct 17, 2025
3a62ff0
Merge pull request #75 from okx/testnet_migration
cliff0412 Oct 17, 2025
71cffee
update parameters
cliff0412 Oct 17, 2025
b574257
change fee receipt address
cliff0412 Oct 17, 2025
d6c4e87
Merge pull request #77 from okx/testnet_migration
zjg555543 Oct 17, 2025
dffdf1d
update op-geth
Oct 17, 2025
2e6e3d2
support parallel build images (#80)
louisliu2048 Oct 17, 2025
3dd1846
Merge branch 'dev' into pre-release
Oct 17, 2025
a62e402
Update CGT Contracts (#79)
doutv Oct 17, 2025
c5d59c1
Merge branch 'dev' into pre-release
Oct 20, 2025
8c9d42b
Merge branch 'dev' into pre-release
Oct 21, 2025
750aa1b
update op-geth to the latest version
Oct 21, 2025
9838160
Merge branch 'dev' into pre-release
Oct 21, 2025
f8d7493
Merge branch 'dev' into pre-release
Oct 21, 2025
aa07483
Merge branch 'dev' into pre-release
Oct 21, 2025
57f70ca
Pre release for mainnet (#83)
zjg555543 Oct 21, 2025
86b9c7d
Allow CGT feature to be enabled on Mainnet by commenting out the prod…
doutv Oct 22, 2025
e30a652
Update CGT config for mainnet (#98)
doutv Oct 23, 2025
539dd8f
Simplified Ownership Pattern: Deploying the adapter directly with the…
doutv Oct 23, 2025
a9b3bfd
Merge branch 'dev' into pre-release
Oct 23, 2025
7297bb6
pre-release-v3 (#95)
zjg555543 Oct 23, 2025
de4c489
update op-geth version
Oct 23, 2025
05891f6
Pre release v4 (#107)
zjg555543 Oct 23, 2025
b2fc9e4
Merge branch 'dev' into pre-release
Oct 23, 2025
8a49f92
Update test cgt cross chain script (#109)
doutv Oct 23, 2025
878de96
update op-geth version
Oct 23, 2025
3705f6a
Remove deprecated L2_RPC_URL from example.env to streamline configura…
doutv Oct 24, 2025
fe9ebd9
Merge branch 'dev' into pre-release
Oct 24, 2025
0ac95b4
update seq window size (#118)
cliff0412 Oct 24, 2025
bc1cabc
add more error info in Transactor.sol (#121)
JimmyShi22 Oct 26, 2025
2a3125a
Pre-release v6 (#122)
Vui-Chee Oct 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ jobs:
contracts-bedrock-build:
docker:
- image: <<pipeline.parameters.default_docker_image>>
resource_class: xlarge
resource_class: 2xlarge
parameters:
build_args:
description: Forge build arguments
Expand Down Expand Up @@ -865,7 +865,7 @@ jobs:
circleci_ip_ranges: true
docker:
- image: <<pipeline.parameters.default_docker_image>>
resource_class: xlarge
resource_class: 2xlarge
parameters:
test_list:
description: List of test files to run
Expand Down Expand Up @@ -2378,7 +2378,7 @@ workflows:
dev_features: <<matrix.dev_features>>
matrix:
parameters:
dev_features: ["main", "OPTIMISM_PORTAL_INTEROP","CANNON_KONA","CANNON_KONA,DEPLOY_V2_DISPUTE_GAMES"]
dev_features: ["main", "OPTIMISM_PORTAL_INTEROP","CANNON_KONA","CANNON_KONA,DEPLOY_V2_DISPUTE_GAMES","CUSTOM_GAS_TOKEN"]
# need this requires to ensure that all FFI JSONs exist
requires:
- contracts-bedrock-build
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,7 @@ test/tmp
test-apollo/l1-geth
test-apollo/config-op
test-apollo/data

test-pp-op/testnet.env
test-pp-op/mainnet.env
test-pp-op/fakemainnet.env
2 changes: 1 addition & 1 deletion Dockerfile-contracts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ RUN --mount=type=cache,target=/root/.cache \
# Create final contracts image with artifacts, foundry tools, and op-deployer
FROM debian:bookworm-slim
WORKDIR /app
# RUN apt-get update && apt-get install -y ca-certificates && update-ca-certificates
RUN apt-get update && apt-get install -y ca-certificates && update-ca-certificates

# Set environment variables for Go
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Expand Down
6 changes: 6 additions & 0 deletions op-acceptance-tests/acceptance-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,9 @@ gates:
tests:
- package: github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/jovian
timeout: 10m

- id: cgt
description: "Custom Gas Token (CGT) network tests."
tests:
- package: github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/custom_gas_token
timeout: 10m
3 changes: 3 additions & 0 deletions op-acceptance-tests/justfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ jovian:
interop:
@just acceptance-test "" interop

cgt:
@just acceptance-test "" cgt


# Run acceptance tests with mise-managed binary
# Usage: just acceptance-test [devnet] [gate]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package custom_gas_token

import (
"testing"

"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
)

// TestCGT_IntrospectionViaL1Block verifies that the L2 L1Block predeploy reports
// that CGT mode is enabled and exposes non-empty token metadata (name, symbol).
func TestCGT_IntrospectionViaL1Block(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)

name, symbol := ensureCGTOrSkip(t, sys)

// Metadata should be non-empty.
if name == "" {
t.Require().Fail("gasPayingTokenName() returned empty string")
}
if symbol == "" {
t.Require().Fail("gasPayingTokenSymbol() returned empty string")
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package custom_gas_token

import (
"context"
"testing"
"time"

"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"

"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/rpc"
"github.com/lmittmann/w3"
)

// TestCGT_L1PortalIntrospection checks that the L1 OptimismPortal exposes
// a valid SystemConfig address via its systemConfig() view.
func TestCGT_L1PortalIntrospection(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)

// Skip if this devnet is not CGT-enabled (uses your existing gate).
ensureCGTOrSkip(t, sys)

l1c := sys.L1EL.EthClient()
portal := sys.L2Chain.DepositContractAddr()

ctx, cancel := context.WithTimeout(t.Ctx(), 20*time.Second)
defer cancel()

// Portal exposes systemConfig() -> address
systemConfigFunc := w3.MustNewFunc("systemConfig()", "address")

data, err := systemConfigFunc.EncodeArgs()
if err != nil {
t.Require().Fail("encode systemConfig() args: %v", err)
}

out, err := l1c.Call(ctx, ethereum.CallMsg{To: &portal, Data: data}, rpc.LatestBlockNumber)
if err != nil {
t.Require().Fail("portal.systemConfig() call failed: %v", err)
}

var sysCfg common.Address
if err := systemConfigFunc.DecodeReturns(out, &sysCfg); err != nil {
t.Require().Fail("decode portal.systemConfig() returns: %v", err)
}

if sysCfg == (common.Address{}) {
t.Require().Fail("portal.systemConfig() returned zero address")
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package custom_gas_token

import (
"testing"

"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-service/eth"
)

// TestCGT_ValueTransferPaysGasInToken verifies that on CGT chains a simple L2
// value transfer charges gas in the native ERC-20, and balances reflect
// recipient +amount and sender > amount decrease (amount + gas).
func TestCGT_ValueTransferPaysGasInToken(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)

ensureCGTOrSkip(t, sys)

sender := sys.FunderL2.NewFundedEOA(eth.OneTenthEther)
recipient := sys.Wallet.NewEOA(sys.L2EL)

amount := eth.OneHundredthEther
beforeS := sender.GetBalance()
beforeR := recipient.GetBalance()

// This sends L2 native (CGT) value.
sender.Transfer(recipient.Address(), amount)

// Wait until recipient reflects the transfer.
// We don't wait on sender balance; it includes gas and is non-deterministic.
recipient.WaitForBalance(beforeR.Add(amount))

afterS := sender.GetBalance()
afterR := recipient.GetBalance()

// Recipient increased by amount
wantR := beforeR.Add(amount)
if afterR != wantR {
t.Require().Fail("recipient balance mismatch: got %s, want %s", afterR, wantR)
}

// Sender decreased by at least amount (amount + gas). Strict inequality:
if !(beforeS.Sub(afterS)).Gt(amount) {
t.Require().Fail("sender delta must exceed transferred amount (gas must be paid): before=%s after=%s amount=%s",
beforeS, afterS, amount)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package custom_gas_token

import (
"context"
"testing"
"time"

"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common"
)

// TestCGT_PortalReceiveReverts asserts that sending ETH to the L1 OptimismPortal
// (receive() -> depositTransaction) reverts under CGT, preventing ETH from getting stuck.
func TestCGT_PortalReceiveReverts(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)
ensureCGTOrSkip(t, sys)

l1c := sys.L1EL.EthClient()
portal := sys.L2Chain.DepositContractAddr()

// Try to send 1 wei to the Portal (receive() -> depositTransaction); should revert in CGT mode.
ctx, cancel := context.WithTimeout(t.Ctx(), 20*time.Second)
defer cancel()
_, err := l1c.EstimateGas(ctx, ethereum.CallMsg{
To: &portal,
Value: common.Big1,
})
if err == nil {
t.Require().Fail("expected L1 Portal to revert on direct ETH send in CGT mode, but estimator returned no error")
}
}
68 changes: 68 additions & 0 deletions op-acceptance-tests/tests/custom_gas_token/cgt_reverts_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package custom_gas_token

import (
"context"
"testing"
"time"

"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-service/eth"

"math/big"

"github.com/ethereum/go-ethereum"
"github.com/lmittmann/w3"
)

// TestCGT_MessengerRejectsValue ensures that sending native value to the
// L2CrossDomainMessenger reverts under CGT (non-payable path).
func TestCGT_MessengerRejectsValue(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)
ensureCGTOrSkip(t, sys)

ctx, cancel := context.WithTimeout(t.Ctx(), 30*time.Second)
defer cancel()

from := sys.FunderL2.NewFundedEOA(eth.OneHundredthEther).Address()
_, err := sys.L2EL.Escape().L2EthClient().EstimateGas(ctx, ethereum.CallMsg{
From: from,
To: &l2XDMAddr,
Value: big.NewInt(1), // 1 wei native
Data: nil,
})
if err == nil {
t.Require().Fail("expected estimation error when sending value to L2CrossDomainMessenger in CGT mode")
}
}

// TestCGT_L2StandardBridge_LegacyWithdrawReverts verifies that the legacy
// ETH-specific withdraw path on L2StandardBridge reverts under CGT.
func TestCGT_L2StandardBridge_LegacyWithdrawReverts(gt *testing.T) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)
ensureCGTOrSkip(t, sys)

ctx, cancel := context.WithTimeout(t.Ctx(), 30*time.Second)
defer cancel()

withdrawFunc := w3.MustNewFunc("withdraw(address,uint256,uint32,bytes)", "")

// Any address is fine; the ETH-specific legacy path should be disabled under CGT.
anyAddress := l2XDMAddr
data, err := withdrawFunc.EncodeArgs(anyAddress, big.NewInt(1), uint32(100_000), []byte{})
if err != nil {
t.Require().Fail("%v", err)
}

from := sys.FunderL2.NewFundedEOA(eth.OneHundredthEther).Address()
_, err = sys.L2EL.Escape().L2EthClient().EstimateGas(ctx, ethereum.CallMsg{
From: from,
To: &l2BridgeAddr,
Data: data,
})
if err == nil {
t.Require().Fail("expected estimation error for L2StandardBridge.withdraw under CGT")
}
}
Loading