Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
bf196f9
all: Move fork names into new op-core/forks package (#18121)
sebastianst Nov 3, 2025
f55af96
fix: use default mips version and use local op-deployer (#18129)
mds1 Nov 3, 2025
9750aa4
feat: Use build-no-tests in op-deployers just build command (#18130)
maurelian Nov 3, 2025
db05fc8
fix(prompt): add guidance to skip unrelated CI failures (#18127)
aliersh Nov 3, 2025
c1351bf
feat(ci): run upgrade tests with dev flags (#18133)
smartcontracts Nov 3, 2025
1b830b2
opcm: Update OPCM.migrate to support Cannon-Kona games (#18078)
mbaxter Nov 3, 2025
f32d61f
fix(op-deployer): update justfile to use current CLI flags (#18143)
mds1 Nov 3, 2025
94706ec
all: update op-geth to pull in fusaka and jovian timestamps (#18131)
joshklop Nov 4, 2025
3d3ffcc
op-service/flags: Modularize fork override flags (#18135)
sebastianst Nov 4, 2025
3e4f7c7
chore(op-acceptance-tests): op-acceptor v3.6.2 (#18120)
scharissis Nov 4, 2025
c7ca9f4
op-devstack: debug info when L2CL peers connection fails (#18149)
nonsense Nov 4, 2025
ebc2a73
feat(ctb): Add the nonce and txHash into the ScheduledTransactions st…
maurelian Nov 4, 2025
5e3fc2e
feat(l3s): Add support for the default finality lookback (#18071)
jake-nyquist Nov 4, 2025
2ce9a84
chore(op-acceptance-tests): switch to docker executor (#18084)
scharissis Nov 4, 2025
d9a6c32
all: Move package predeploys from op-service to op-core (#18145)
sebastianst Nov 4, 2025
9008d08
Safer Safes audit fixes (no bytecode changes) (#18147)
alcueca Nov 4, 2025
d19d7d9
op-acceptance: Add acceptance test for playing out dispute games (#18…
ajsutton Nov 4, 2025
78daacd
fix(op-acceptance-tests): ci; slack token (#18156)
scharissis Nov 5, 2025
4055402
op-batcher: refactor (#18174)
nonsense Nov 5, 2025
c1b38d3
op-acceptance-tests: Replace fast games with regular FDGs in withdraw…
Inphi Nov 5, 2025
029ea42
Merge branch 'develop' into chore/new-sync
0xDiscotech Nov 5, 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
34 changes: 25 additions & 9 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1146,6 +1146,10 @@ jobs:
fork_base_rpc:
description: Fork Base RPC
type: string
dev_features:
description: Comma-separated list of dev features to enable (e.g., "OPTIMISM_PORTAL_INTEROP,ANOTHER_FEATURE")
type: string
default: ""
docker:
- image: <<pipeline.parameters.default_docker_image>>
resource_class: xlarge
Expand Down Expand Up @@ -1176,6 +1180,8 @@ jobs:
- restore_cache:
name: Restore forked state
key: forked-state-contracts-bedrock-tests-upgrade-<<parameters.fork_op_chain>>-<<parameters.fork_base_chain>>-{{ checksum "packages/contracts-bedrock/pinnedBlockNumber.txt" }}
- setup-dev-features:
dev_features: <<parameters.dev_features>>
- run:
name: Run tests
command: just test-upgrade
Expand Down Expand Up @@ -1594,14 +1600,10 @@ jobs:
description: Timeout for when CircleCI kills the job if there's no output
type: string
default: 30m
use_circleci_runner:
description: Whether to use CircleCI runners (with Docker) instead of self-hosted runners
type: boolean
default: false
machine:
image: <<# parameters.use_circleci_runner >>ubuntu-2404:current<</ parameters.use_circleci_runner >><<^ parameters.use_circleci_runner >>true<</ parameters.use_circleci_runner >>
docker_layer_caching: <<parameters.use_circleci_runner>>
resource_class: <<# parameters.use_circleci_runner >>xlarge<</ parameters.use_circleci_runner >><<^ parameters.use_circleci_runner >>ethereum-optimism/latitude-1<</ parameters.use_circleci_runner >>
docker:
- image: <<pipeline.parameters.default_docker_image>>
circleci_ip_ranges: true
resource_class: 2xlarge
steps:
- checkout-from-workspace
# Restore cached Go modules
Expand Down Expand Up @@ -2453,14 +2455,27 @@ workflows:
- circleci-repo-readonly-authenticated-github-token
requires:
- initialize
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade op-mainnet <<matrix.dev_features>>
fork_op_chain: op
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
dev_features: <<matrix.dev_features>>
matrix:
parameters:
dev_features: *dev_features_matrix
context:
- circleci-repo-readonly-authenticated-github-token
requires:
- initialize
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade <<matrix.fork_op_chain>>-mainnet
fork_op_chain: <<matrix.fork_op_chain>>
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
matrix:
parameters:
fork_op_chain: ["op", "base", "ink", "unichain"]
fork_op_chain: ["base", "ink", "unichain"]
context:
- circleci-repo-readonly-authenticated-github-token
requires:
Expand Down Expand Up @@ -3189,6 +3204,7 @@ workflows:
no_output_timeout: 90m
context:
- circleci-repo-readonly-authenticated-github-token
- slack
- discord
requires:
- contracts-bedrock-build
Expand Down
32 changes: 16 additions & 16 deletions devnet-sdk/testing/testlib/validators/forks.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

"github.com/ethereum-optimism/optimism/devnet-sdk/system"
"github.com/ethereum-optimism/optimism/devnet-sdk/testing/systest"
"github.com/ethereum-optimism/optimism/op-node/rollup"
"github.com/ethereum-optimism/optimism/op-core/forks"
"github.com/ethereum/go-ethereum/params"
)

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

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

switch forkName {
case rollup.Bedrock:
case forks.Bedrock:
// Bedrock is activated based on block number, not timestamp
return true, nil // Assuming bedrock is always active in the context of this validator
case rollup.Regolith:
case forks.Regolith:
return c.IsOptimismRegolith(timestamp), nil
case rollup.Canyon:
case forks.Canyon:
return c.IsOptimismCanyon(timestamp), nil
case rollup.Ecotone:
case forks.Ecotone:
return c.IsOptimismEcotone(timestamp), nil
case rollup.Fjord:
case forks.Fjord:
return c.IsOptimismFjord(timestamp), nil
case rollup.Granite:
case forks.Granite:
return c.IsOptimismGranite(timestamp), nil
case rollup.Holocene:
case forks.Holocene:
return c.IsOptimismHolocene(timestamp), nil
case rollup.Isthmus:
case forks.Isthmus:
return c.IsOptimismIsthmus(timestamp), nil
case rollup.Jovian:
case forks.Jovian:
return c.IsOptimismJovian(timestamp), nil
case rollup.Interop:
case forks.Interop:
return c.IsInterop(timestamp), nil
default:
return false, fmt.Errorf("unknown fork name: %s", forkName)
}
}

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

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

// RequiresNotFork returns a validator that ensures a specific L2 chain does not
// have a specific fork activated. Will not work with the interop fork
// specifically since interop is not an ordered release fork.
func AcquireL2WithoutFork(chainIdx uint64, forkName rollup.ForkName) (ChainConfigGetter, systest.PreconditionValidator) {
func AcquireL2WithoutFork(chainIdx uint64, forkName forks.Name) (ChainConfigGetter, systest.PreconditionValidator) {
return acquireForkConfig(chainIdx, forkName, false)
}
18 changes: 9 additions & 9 deletions devnet-sdk/testing/testlib/validators/validators_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"github.com/ethereum-optimism/optimism/devnet-sdk/system"
"github.com/ethereum-optimism/optimism/devnet-sdk/testing/systest"
"github.com/ethereum-optimism/optimism/devnet-sdk/types"
"github.com/ethereum-optimism/optimism/op-node/rollup"
"github.com/ethereum-optimism/optimism/op-core/forks"
"github.com/ethereum-optimism/optimism/op-service/eth"
"github.com/ethereum-optimism/optimism/op-service/sources"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
Expand All @@ -33,7 +33,7 @@ func TestValidators(t *testing.T) {
t.Run("multiple validators", func(t *testing.T) {
walletGetter1, validator1 := AcquireL2WalletWithFunds(0, types.NewBalance(big.NewInt(1)))
walletGetter2, validator2 := AcquireL2WalletWithFunds(0, types.NewBalance(big.NewInt(10)))
chainConfigGetter, l2ForkValidator := AcquireL2WithFork(0, rollup.Isthmus)
chainConfigGetter, l2ForkValidator := AcquireL2WithFork(0, forks.Isthmus)

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

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

// Apply the validator
Expand All @@ -119,7 +119,7 @@ func TestValidators(t *testing.T) {
// Verify the chain config getter works
chainConfig := chainConfigGetter(ctx)
require.NotNil(t, chainConfig)
isActive, err := IsForkActivated(chainConfig, rollup.Isthmus, 100)
isActive, err := IsForkActivated(chainConfig, forks.Isthmus, 100)
require.NoError(t, err)
require.True(t, isActive)
})
Expand All @@ -143,7 +143,7 @@ func TestValidators(t *testing.T) {
}

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

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

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

// Apply the validator
Expand All @@ -181,7 +181,7 @@ func TestValidators(t *testing.T) {
// Verify the chain config getter works
chainConfig := chainConfigGetter(ctx)
require.NotNil(t, chainConfig)
isActive, err := IsForkActivated(chainConfig, rollup.Isthmus, 100)
isActive, err := IsForkActivated(chainConfig, forks.Isthmus, 100)
require.NoError(t, err)
require.False(t, isActive)
})
Expand All @@ -205,7 +205,7 @@ func TestValidators(t *testing.T) {
}

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

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

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

// Apply the validator - should fail since chain index is out of range
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ require (
github.com/hashicorp/golang-lru v0.5.0 // indirect
github.com/hashicorp/golang-lru/arc/v2 v2.0.7 // indirect
github.com/hashicorp/raft-boltdb v0.0.0-20231211162105-6c830fa4535e // indirect
github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 // indirect
github.com/holiman/billy v0.0.0-20250707135307-f2f9b9aae7db // indirect
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
github.com/huin/goupnp v1.3.0 // indirect
github.com/influxdata/influxdb-client-go/v2 v2.4.0 // indirect
Expand Down Expand Up @@ -308,7 +308,7 @@ require (
lukechampine.com/blake3 v1.3.0 // indirect
)

replace github.com/ethereum/go-ethereum => github.com/ethereum-optimism/op-geth v1.101603.3-rc.3
replace github.com/ethereum/go-ethereum => github.com/ethereum-optimism/op-geth v1.101603.4-rc.1

// replace github.com/ethereum/go-ethereum => ../op-geth

Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,8 @@ github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A=
github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.4-0.20251001155152-4eb15ccedf7e h1:iy1vBIzACYUyOVyoADUwvAiq2eOPC0yVsDUdolPwQjk=
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.4-0.20251001155152-4eb15ccedf7e/go.mod h1:DYj7+vYJ4cIB7zera9mv4LcAynCL5u4YVfoeUu6Wa+w=
github.com/ethereum-optimism/op-geth v1.101603.3-rc.3 h1:KGpZouRMsMcl9MWOmYKJi+XR1gTT9/2STANv1G7oaNA=
github.com/ethereum-optimism/op-geth v1.101603.3-rc.3/go.mod h1:Wiy9cngs7ll1slc/dcHHRVuGhozWOpF1y6f31xENR7k=
github.com/ethereum-optimism/op-geth v1.101603.4-rc.1 h1:5ByBDUKBY/IHibukF/C9kjzaTk4SxUoXH449VuDrMn4=
github.com/ethereum-optimism/op-geth v1.101603.4-rc.1/go.mod h1:cnGR2M8zX91+rRQxXyNTEOEpw/IwdR8P11FQX7Xaqwk=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20251009180028-9b4658b9b7af h1:WWz0gJM/boaUImtJnROecPirAerKCLpAU4m6Tx0ArOg=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20251009180028-9b4658b9b7af/go.mod h1:NZ816PzLU1TLv1RdAvYAb6KWOj4Zm5aInT0YpDVml2Y=
github.com/ethereum/c-kzg-4844/v2 v2.1.5 h1:aVtoLK5xwJ6c5RiqO8g8ptJ5KU+2Hdquf6G3aXiHh5s=
Expand Down Expand Up @@ -432,8 +432,8 @@ github.com/hashicorp/raft-boltdb v0.0.0-20231211162105-6c830fa4535e h1:SK4y8oR4Z
github.com/hashicorp/raft-boltdb v0.0.0-20231211162105-6c830fa4535e/go.mod h1:EMz/UIuG93P0MBeHh6CbXQAEe8ckVJLZjhD17lBzK5Q=
github.com/hashicorp/raft-boltdb/v2 v2.3.1 h1:ackhdCNPKblmOhjEU9+4lHSJYFkJd6Jqyvj6eW9pwkc=
github.com/hashicorp/raft-boltdb/v2 v2.3.1/go.mod h1:n4S+g43dXF1tqDT+yzcXHhXM6y7MrlUd3TTwGRcUvQE=
github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4 h1:X4egAf/gcS1zATw6wn4Ej8vjuVGxeHdan+bRb2ebyv4=
github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc=
github.com/holiman/billy v0.0.0-20250707135307-f2f9b9aae7db h1:IZUYC/xb3giYwBLMnr8d0TGTzPKFGNTCGgGLoyeX330=
github.com/holiman/billy v0.0.0-20250707135307-f2f9b9aae7db/go.mod h1:xTEYN9KCHxuYHs+NmrmzFcnvHMzLLNiGFafCb1n3Mfg=
github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao=
github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA=
github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA=
Expand Down
2 changes: 1 addition & 1 deletion mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ anvil = "1.1.0"
codecov-uploader = "0.8.0"
goreleaser-pro = "2.11.2"
kurtosis = "1.8.1"
op-acceptor = "op-acceptor/v3.6.1"
op-acceptor = "op-acceptor/v3.6.2"

# Fake dependencies
# Put things here if you need to track versions of tools or projects that can't
Expand Down
2 changes: 1 addition & 1 deletion op-acceptance-tests/justfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
REPO_ROOT := `realpath ..` # path to the root of the optimism monorepo
KURTOSIS_DIR := REPO_ROOT + "/kurtosis-devnet"
ACCEPTOR_VERSION := env_var_or_default("ACCEPTOR_VERSION", "v3.6.1")
ACCEPTOR_VERSION := env_var_or_default("ACCEPTOR_VERSION", "v3.6.2")
DOCKER_REGISTRY := env_var_or_default("DOCKER_REGISTRY", "us-docker.pkg.dev/oplabs-tools-artifacts/images")
ACCEPTOR_IMAGE := env_var_or_default("ACCEPTOR_IMAGE", DOCKER_REGISTRY + "/op-acceptor:" + ACCEPTOR_VERSION)

Expand Down
10 changes: 1 addition & 9 deletions op-acceptance-tests/tests/base/withdrawal/init_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package withdrawal
import (
"testing"

faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum-optimism/optimism/op-devstack/compat"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
)
Expand All @@ -13,14 +12,7 @@ func TestMain(m *testing.M) {
// TODO(infra#401): Re-enable the test when the sysext missing toolset is implemented
presets.WithCompatibleTypes(compat.SysGo),
presets.WithMinimal(),
presets.WithProposerGameType(faultTypes.FastGameType),
// Fast game for test
presets.WithFastGame(),
// Deployer must be L1PAO to make op-deployer happy
presets.WithDeployerMatchL1PAO(),
// Guardian must be L1PAO to make AnchorStateRegistry's setRespectedGameType method work
presets.WithGuardianMatchL1PAO(),
// Fast finalization for fast withdrawal
presets.WithTimeTravel(),
presets.WithFinalizationPeriodSeconds(1),
// Satisfy OptimismPortal2 PROOF_MATURITY_DELAY_SECONDS check, avoid OptimismPortal_ProofNotOldEnough() revert
presets.WithProofMaturityDelaySeconds(2),
Expand Down
9 changes: 8 additions & 1 deletion op-acceptance-tests/tests/base/withdrawal/withdrawal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func TestWithdrawal(gt *testing.T) {
require := sys.T.Require()

bridge := sys.StandardBridge()
require.EqualValues(faultTypes.FastGameType, bridge.RespectedGameType(), "Respected game type must be FastGame")
require.EqualValues(faultTypes.PermissionedGameType, bridge.RespectedGameType(), "Respected game type must be PermissionedGameType")

initialL1Balance := eth.OneThirdEther

Expand Down Expand Up @@ -45,6 +45,13 @@ func TestWithdrawal(gt *testing.T) {
expectedL1UserBalance = expectedL1UserBalance.Sub(withdrawal.ProveGasCost())
l1User.VerifyBalanceExact(expectedL1UserBalance)

// Advance time until game is resolvable
sys.AdvanceTime(bridge.GameResolutionDelay())
withdrawal.WaitForDisputeGameResolved()

// Advance time to when game finalization and proof finalization delay has expired
sys.AdvanceTime(max(bridge.WithdrawalDelay()-bridge.GameResolutionDelay(), bridge.DisputeGameFinalityDelay()))

t.Logger().Info("Attempting to finalize", "proofMaturity", bridge.WithdrawalDelay(), "gameResolutionDelay", bridge.GameResolutionDelay(), "gameFinalityDelay", bridge.DisputeGameFinalityDelay())
withdrawal.Finalize(l1User)
expectedL1UserBalance = expectedL1UserBalance.Sub(withdrawal.FinalizeGasCost()).Add(withdrawalAmount)
Expand Down
4 changes: 2 additions & 2 deletions op-acceptance-tests/tests/ecotone/fees_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import (
"math/big"
"testing"

"github.com/ethereum-optimism/optimism/op-core/forks"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-node/rollup"
"github.com/ethereum-optimism/optimism/op-service/eth"
)

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

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

alice := sys.FunderL2.NewFundedEOA(eth.OneTenthEther)
Expand Down
6 changes: 3 additions & 3 deletions op-acceptance-tests/tests/fjord/check_scripts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import (

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

"github.com/ethereum-optimism/optimism/op-core/forks"
"github.com/ethereum-optimism/optimism/op-core/predeploys"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-node/rollup"
"github.com/ethereum-optimism/optimism/op-service/eth"
"github.com/ethereum-optimism/optimism/op-service/predeploys"
txib "github.com/ethereum-optimism/optimism/op-service/txintent/bindings"
"github.com/ethereum-optimism/optimism/op-service/txintent/contractio"
"github.com/ethereum-optimism/optimism/op-service/txplan"
Expand All @@ -34,7 +34,7 @@ func TestCheckFjordScript(gt *testing.T) {
require := t.Require()
ctx := t.Ctx()

err := dsl.RequiresL2Fork(ctx, sys, 0, rollup.Fjord)
err := dsl.RequiresL2Fork(ctx, sys, 0, forks.Fjord)
require.NoError(err)

wallet := sys.FunderL2.NewFundedEOA(eth.OneThirdEther)
Expand Down
Loading