Skip to content

Commit bf196f9

Browse files
authored
all: Move fork names into new op-core/forks package (ethereum-optimism#18121)
1 parent ca97d35 commit bf196f9

62 files changed

Lines changed: 466 additions & 432 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎devnet-sdk/testing/testlib/validators/forks.go‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66

77
"github.com/ethereum-optimism/optimism/devnet-sdk/system"
88
"github.com/ethereum-optimism/optimism/devnet-sdk/testing/systest"
9-
"github.com/ethereum-optimism/optimism/op-node/rollup"
9+
"github.com/ethereum-optimism/optimism/op-core/forks"
1010
"github.com/ethereum/go-ethereum/params"
1111
)
1212

@@ -39,40 +39,40 @@ func getChainConfig(t systest.T, sys system.System, chainIdx uint64) (*params.Ch
3939

4040
// IsForkActivated checks if a specific fork is activated at the given timestamp
4141
// based on the chain configuration.
42-
func IsForkActivated(c *params.ChainConfig, forkName rollup.ForkName, timestamp uint64) (bool, error) {
42+
func IsForkActivated(c *params.ChainConfig, forkName forks.Name, timestamp uint64) (bool, error) {
4343
if c == nil {
4444
return false, fmt.Errorf("provided chain config is nil")
4545
}
4646

4747
switch forkName {
48-
case rollup.Bedrock:
48+
case forks.Bedrock:
4949
// Bedrock is activated based on block number, not timestamp
5050
return true, nil // Assuming bedrock is always active in the context of this validator
51-
case rollup.Regolith:
51+
case forks.Regolith:
5252
return c.IsOptimismRegolith(timestamp), nil
53-
case rollup.Canyon:
53+
case forks.Canyon:
5454
return c.IsOptimismCanyon(timestamp), nil
55-
case rollup.Ecotone:
55+
case forks.Ecotone:
5656
return c.IsOptimismEcotone(timestamp), nil
57-
case rollup.Fjord:
57+
case forks.Fjord:
5858
return c.IsOptimismFjord(timestamp), nil
59-
case rollup.Granite:
59+
case forks.Granite:
6060
return c.IsOptimismGranite(timestamp), nil
61-
case rollup.Holocene:
61+
case forks.Holocene:
6262
return c.IsOptimismHolocene(timestamp), nil
63-
case rollup.Isthmus:
63+
case forks.Isthmus:
6464
return c.IsOptimismIsthmus(timestamp), nil
65-
case rollup.Jovian:
65+
case forks.Jovian:
6666
return c.IsOptimismJovian(timestamp), nil
67-
case rollup.Interop:
67+
case forks.Interop:
6868
return c.IsInterop(timestamp), nil
6969
default:
7070
return false, fmt.Errorf("unknown fork name: %s", forkName)
7171
}
7272
}
7373

7474
// forkConfigValidator is a helper function that checks if a specific L2 chain meets a fork condition.
75-
func forkConfigValidator(chainIdx uint64, forkName rollup.ForkName, shouldBeActive bool, forkConfigMarker interface{}) systest.PreconditionValidator {
75+
func forkConfigValidator(chainIdx uint64, forkName forks.Name, shouldBeActive bool, forkConfigMarker interface{}) systest.PreconditionValidator {
7676
return func(t systest.T, sys system.System) (context.Context, error) {
7777
chainConfig, timestamp, err := getChainConfig(t, sys, chainIdx)
7878
if err != nil {
@@ -105,7 +105,7 @@ type ChainConfigGetter = func(context.Context) *params.ChainConfig
105105
// AcquireForkConfig returns a ForkConfigGetter and a PreconditionValidator
106106
// that ensures a ForkConfig is available for the specified L2 chain.
107107
// The ForkConfig can be used to check if various forks are activated.
108-
func acquireForkConfig(chainIdx uint64, forkName rollup.ForkName, shouldBeActive bool) (ChainConfigGetter, systest.PreconditionValidator) {
108+
func acquireForkConfig(chainIdx uint64, forkName forks.Name, shouldBeActive bool) (ChainConfigGetter, systest.PreconditionValidator) {
109109
chainConfigMarker := new(byte)
110110
validator := forkConfigValidator(chainIdx, forkName, shouldBeActive, chainConfigMarker)
111111
return func(ctx context.Context) *params.ChainConfig {
@@ -114,13 +114,13 @@ func acquireForkConfig(chainIdx uint64, forkName rollup.ForkName, shouldBeActive
114114
}
115115

116116
// RequiresFork returns a validator that ensures a specific L2 chain has a specific fork activated.
117-
func AcquireL2WithFork(chainIdx uint64, forkName rollup.ForkName) (ChainConfigGetter, systest.PreconditionValidator) {
117+
func AcquireL2WithFork(chainIdx uint64, forkName forks.Name) (ChainConfigGetter, systest.PreconditionValidator) {
118118
return acquireForkConfig(chainIdx, forkName, true)
119119
}
120120

121121
// RequiresNotFork returns a validator that ensures a specific L2 chain does not
122122
// have a specific fork activated. Will not work with the interop fork
123123
// specifically since interop is not an ordered release fork.
124-
func AcquireL2WithoutFork(chainIdx uint64, forkName rollup.ForkName) (ChainConfigGetter, systest.PreconditionValidator) {
124+
func AcquireL2WithoutFork(chainIdx uint64, forkName forks.Name) (ChainConfigGetter, systest.PreconditionValidator) {
125125
return acquireForkConfig(chainIdx, forkName, false)
126126
}

‎devnet-sdk/testing/testlib/validators/validators_test.go‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/ethereum-optimism/optimism/devnet-sdk/system"
1212
"github.com/ethereum-optimism/optimism/devnet-sdk/testing/systest"
1313
"github.com/ethereum-optimism/optimism/devnet-sdk/types"
14-
"github.com/ethereum-optimism/optimism/op-node/rollup"
14+
"github.com/ethereum-optimism/optimism/op-core/forks"
1515
"github.com/ethereum-optimism/optimism/op-service/eth"
1616
"github.com/ethereum-optimism/optimism/op-service/sources"
1717
"github.com/ethereum/go-ethereum/accounts/abi/bind"
@@ -33,7 +33,7 @@ func TestValidators(t *testing.T) {
3333
t.Run("multiple validators", func(t *testing.T) {
3434
walletGetter1, validator1 := AcquireL2WalletWithFunds(0, types.NewBalance(big.NewInt(1)))
3535
walletGetter2, validator2 := AcquireL2WalletWithFunds(0, types.NewBalance(big.NewInt(10)))
36-
chainConfigGetter, l2ForkValidator := AcquireL2WithFork(0, rollup.Isthmus)
36+
chainConfigGetter, l2ForkValidator := AcquireL2WithFork(0, forks.Isthmus)
3737

3838
// We create a system that has a low-level L1 chain and at least one wallet
3939
systestSystem := &mockSystem{
@@ -109,7 +109,7 @@ func TestValidators(t *testing.T) {
109109
}
110110

111111
// Get the validator for requiring Isthmus fork to be active
112-
chainConfigGetter, validator := AcquireL2WithFork(0, rollup.Isthmus)
112+
chainConfigGetter, validator := AcquireL2WithFork(0, forks.Isthmus)
113113
systestT := systest.NewT(t)
114114

115115
// Apply the validator
@@ -119,7 +119,7 @@ func TestValidators(t *testing.T) {
119119
// Verify the chain config getter works
120120
chainConfig := chainConfigGetter(ctx)
121121
require.NotNil(t, chainConfig)
122-
isActive, err := IsForkActivated(chainConfig, rollup.Isthmus, 100)
122+
isActive, err := IsForkActivated(chainConfig, forks.Isthmus, 100)
123123
require.NoError(t, err)
124124
require.True(t, isActive)
125125
})
@@ -143,7 +143,7 @@ func TestValidators(t *testing.T) {
143143
}
144144

145145
// Get the validator for requiring Isthmus fork to be active
146-
_, validator := AcquireL2WithFork(0, rollup.Isthmus)
146+
_, validator := AcquireL2WithFork(0, forks.Isthmus)
147147
systestT := systest.NewT(t)
148148

149149
// Apply the validator - should fail since fork is not active
@@ -171,7 +171,7 @@ func TestValidators(t *testing.T) {
171171
}
172172

173173
// Get the validator for requiring Isthmus fork to not be active
174-
chainConfigGetter, validator := AcquireL2WithoutFork(0, rollup.Isthmus)
174+
chainConfigGetter, validator := AcquireL2WithoutFork(0, forks.Isthmus)
175175
systestT := systest.NewT(t)
176176

177177
// Apply the validator
@@ -181,7 +181,7 @@ func TestValidators(t *testing.T) {
181181
// Verify the chain config getter works
182182
chainConfig := chainConfigGetter(ctx)
183183
require.NotNil(t, chainConfig)
184-
isActive, err := IsForkActivated(chainConfig, rollup.Isthmus, 100)
184+
isActive, err := IsForkActivated(chainConfig, forks.Isthmus, 100)
185185
require.NoError(t, err)
186186
require.False(t, isActive)
187187
})
@@ -205,7 +205,7 @@ func TestValidators(t *testing.T) {
205205
}
206206

207207
// Get the validator for requiring Isthmus fork to not be active
208-
_, validator := AcquireL2WithoutFork(0, rollup.Isthmus)
208+
_, validator := AcquireL2WithoutFork(0, forks.Isthmus)
209209
systestT := systest.NewT(t)
210210

211211
// Apply the validator - should fail since fork is active
@@ -221,7 +221,7 @@ func TestValidators(t *testing.T) {
221221
}
222222

223223
// Try to get chain config for an invalid chain index
224-
_, validator := AcquireL2WithFork(0, rollup.Isthmus)
224+
_, validator := AcquireL2WithFork(0, forks.Isthmus)
225225
systestT := systest.NewT(t)
226226

227227
// Apply the validator - should fail since chain index is out of range

‎op-acceptance-tests/tests/ecotone/fees_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import (
44
"math/big"
55
"testing"
66

7+
"github.com/ethereum-optimism/optimism/op-core/forks"
78
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
89
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
910
"github.com/ethereum-optimism/optimism/op-devstack/presets"
10-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1111
"github.com/ethereum-optimism/optimism/op-service/eth"
1212
)
1313

@@ -16,7 +16,7 @@ func TestFees(gt *testing.T) {
1616
sys := presets.NewMinimal(t)
1717
require := t.Require()
1818

19-
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, rollup.Ecotone)
19+
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, forks.Ecotone)
2020
require.NoError(err, "Ecotone fork must be active for this test")
2121

2222
alice := sys.FunderL2.NewFundedEOA(eth.OneTenthEther)

‎op-acceptance-tests/tests/fjord/check_scripts_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77

88
"github.com/ethereum/go-ethereum/rpc"
99

10+
"github.com/ethereum-optimism/optimism/op-core/forks"
1011
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
1112
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
1213
"github.com/ethereum-optimism/optimism/op-devstack/presets"
13-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1414
"github.com/ethereum-optimism/optimism/op-service/eth"
1515
"github.com/ethereum-optimism/optimism/op-service/predeploys"
1616
txib "github.com/ethereum-optimism/optimism/op-service/txintent/bindings"
@@ -34,7 +34,7 @@ func TestCheckFjordScript(gt *testing.T) {
3434
require := t.Require()
3535
ctx := t.Ctx()
3636

37-
err := dsl.RequiresL2Fork(ctx, sys, 0, rollup.Fjord)
37+
err := dsl.RequiresL2Fork(ctx, sys, 0, forks.Fjord)
3838
require.NoError(err)
3939

4040
wallet := sys.FunderL2.NewFundedEOA(eth.OneThirdEther)

‎op-acceptance-tests/tests/fjord/fees_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
dsl "github.com/ethereum-optimism/optimism/op-devstack/dsl"
88
"github.com/ethereum-optimism/optimism/op-devstack/presets"
99

10-
"github.com/ethereum-optimism/optimism/op-node/rollup"
10+
"github.com/ethereum-optimism/optimism/op-core/forks"
1111
"github.com/ethereum-optimism/optimism/op-service/eth"
1212
"github.com/ethereum-optimism/optimism/op-service/predeploys"
1313
txib "github.com/ethereum-optimism/optimism/op-service/txintent/bindings"
@@ -19,7 +19,7 @@ func TestFees(gt *testing.T) {
1919
require := t.Require()
2020
ctx := t.Ctx()
2121

22-
err := dsl.RequiresL2Fork(ctx, sys, 0, rollup.Fjord)
22+
err := dsl.RequiresL2Fork(ctx, sys, 0, forks.Fjord)
2323
require.NoError(err)
2424
operatorFee := dsl.NewOperatorFee(t, sys.L2Chain, sys.L1EL)
2525
operatorFee.SetOperatorFee(100000000, 500)

‎op-acceptance-tests/tests/interop/upgrade-singlechain/crossl2inbox_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import (
44
"testing"
55

66
"github.com/ethereum-optimism/optimism/op-chain-ops/genesis"
7+
"github.com/ethereum-optimism/optimism/op-core/forks"
78
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
89
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
910
"github.com/ethereum-optimism/optimism/op-devstack/presets"
1011
"github.com/ethereum-optimism/optimism/op-devstack/stack/match"
11-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1212
"github.com/ethereum-optimism/optimism/op-service/predeploys"
1313
"github.com/ethereum/go-ethereum/common"
1414
"github.com/ethereum/go-ethereum/common/hexutil"
@@ -22,7 +22,7 @@ func TestPostInbox(gt *testing.T) {
2222
require := t.Require()
2323
el := net.Escape().L2ELNode(match.FirstL2EL)
2424

25-
activationBlock := net.AwaitActivation(t, rollup.Interop)
25+
activationBlock := net.AwaitActivation(t, forks.Interop)
2626
require.NotZero(activationBlock, "must not activate interop at genesis")
2727

2828
pre := activationBlock.Number - 1

‎op-acceptance-tests/tests/interop/upgrade/post_test.go‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ import (
77
"testing"
88
"time"
99

10-
stypes "github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
11-
"github.com/ethereum/go-ethereum/common"
12-
"github.com/ethereum/go-ethereum/core/types"
13-
1410
"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/interop"
1511
"github.com/ethereum-optimism/optimism/op-chain-ops/genesis"
12+
"github.com/ethereum-optimism/optimism/op-core/forks"
1613
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
1714
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
1815
"github.com/ethereum-optimism/optimism/op-devstack/presets"
1916
"github.com/ethereum-optimism/optimism/op-devstack/stack/match"
20-
"github.com/ethereum-optimism/optimism/op-node/rollup"
2117
"github.com/ethereum-optimism/optimism/op-service/eth"
2218
"github.com/ethereum-optimism/optimism/op-service/predeploys"
19+
stypes "github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
20+
21+
"github.com/ethereum/go-ethereum/common"
22+
"github.com/ethereum/go-ethereum/core/types"
2323
)
2424

2525
func TestPostInbox(gt *testing.T) {
@@ -28,7 +28,7 @@ func TestPostInbox(gt *testing.T) {
2828
sys := presets.NewSimpleInterop(t)
2929
devtest.RunParallel(t, sys.L2Networks(), func(t devtest.T, net *dsl.L2Network) {
3030
require := t.Require()
31-
activationBlock := net.AwaitActivation(t, rollup.Interop)
31+
activationBlock := net.AwaitActivation(t, forks.Interop)
3232

3333
el := net.Escape().L2ELNode(match.FirstL2EL)
3434
implAddrBytes, err := el.EthClient().GetStorageAt(t.Ctx(), predeploys.CrossL2InboxAddr,
@@ -96,7 +96,7 @@ func testSupervisorAnchorBlock(t devtest.T, sys *presets.SimpleInterop) {
9696
t.Gate().True(upgradeTime.Before(deadline), "test must not time out before upgrade happens")
9797
}
9898

99-
activationBlock := net.AwaitActivation(t, rollup.Interop)
99+
activationBlock := net.AwaitActivation(t, forks.Interop)
100100
sys.Supervisor.WaitForL2HeadToAdvanceTo(net.ChainID(), stypes.CrossSafe, activationBlock)
101101

102102
logger.Info("Validating anchor block timing",

‎op-acceptance-tests/tests/isthmus/erc20_bridge/erc20_bridge_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ package erc20bridge
33
import (
44
"testing"
55

6+
"github.com/ethereum-optimism/optimism/op-core/forks"
67
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
78
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
89
"github.com/ethereum-optimism/optimism/op-devstack/dsl/contract"
910
"github.com/ethereum-optimism/optimism/op-devstack/presets"
10-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1111
"github.com/ethereum-optimism/optimism/op-service/eth"
1212
"github.com/ethereum-optimism/optimism/op-service/txintent/bindings"
1313
"github.com/ethereum-optimism/optimism/op-service/txplan"
@@ -18,7 +18,7 @@ func TestERC20Bridge(gt *testing.T) {
1818
sys := presets.NewMinimal(t)
1919
require := t.Require()
2020

21-
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, rollup.Isthmus)
21+
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, forks.Isthmus)
2222
require.NoError(err, "Isthmus fork must be active for this test")
2323

2424
// Create users with same identity on both chains

‎op-acceptance-tests/tests/isthmus/operator_fee/operator_fee_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ package operatorfee
33
import (
44
"testing"
55

6+
"github.com/ethereum-optimism/optimism/op-core/forks"
67
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
78
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
89
"github.com/ethereum-optimism/optimism/op-devstack/presets"
9-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1010
)
1111

1212
func TestOperatorFee(gt *testing.T) {
1313
t := devtest.SerialT(gt)
1414
sys := presets.NewMinimal(t)
15-
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, rollup.Isthmus)
15+
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, forks.Isthmus)
1616
t.Require().NoError(err, "Isthmus fork must be active for this test")
1717
dsl.RunOperatorFeeTest(t, sys.L2Chain, sys.L1EL, sys.FunderL1, sys.FunderL2)
1818
}

‎op-acceptance-tests/tests/isthmus/pectra/pectra_features_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import (
66
"encoding/binary"
77
"testing"
88

9+
"github.com/ethereum-optimism/optimism/op-core/forks"
910
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
1011
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
1112
"github.com/ethereum-optimism/optimism/op-devstack/presets"
12-
"github.com/ethereum-optimism/optimism/op-node/rollup"
1313
"github.com/ethereum-optimism/optimism/op-service/eth"
1414
"github.com/ethereum-optimism/optimism/op-service/txplan"
1515
"github.com/ethereum/go-ethereum/common"
@@ -31,7 +31,7 @@ func TestPectra(gt *testing.T) {
3131
sys := presets.NewMinimal(t)
3232
require := t.Require()
3333

34-
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, rollup.Isthmus)
34+
err := dsl.RequiresL2Fork(t.Ctx(), sys, 0, forks.Isthmus)
3535
require.NoError(err, "Isthmus fork must be active for Pectra features")
3636

3737
alice := sys.FunderL2.NewFundedEOA(eth.OneTenthEther)

0 commit comments

Comments
 (0)