Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .github/workflows/protected.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,15 @@ jobs:
- cannon
- op-dripper
- op-interop-mon
uses: ethereum-optimism/factory/.github/workflows/docker-bake.yaml@2ff3f9bba03d59a6ad10fdf660ed253f53956188
uses: ethereum-optimism/factory/.github/workflows/docker-bake.yaml@753bcd4284a6d36eac6e31df2492015ab8650331
with:
image_name: ${{ matrix.image_name }}
bake_file: docker-bake.hcl
target: ${{ matrix.image_name }}
tag: ${{ needs.prep.outputs.sanitised_ref_name }}
gcp_project_id: ${{ vars.GCP_PROJECT_ID_OPLABS_TOOLS_ARTIFACTS }}
registry: us-docker.pkg.dev/oplabs-tools-artifacts/oss
attest: true
env: |
GIT_VERSION=${{ fromJson(needs.prep.outputs.versions)[matrix.image_name] }}
KONA_VERSION=${{ needs.prep.outputs.kona_version }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unprotected.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ jobs:
- cannon
- op-dripper
- op-interop-mon
uses: ethereum-optimism/factory/.github/workflows/docker-bake.yaml@2ff3f9bba03d59a6ad10fdf660ed253f53956188
uses: ethereum-optimism/factory/.github/workflows/docker-bake.yaml@753bcd4284a6d36eac6e31df2492015ab8650331
with:
image_name: ${{ matrix.image_name }}
bake_file: docker-bake.hcl
target: ${{ matrix.image_name }}
tag: 24h
registry: ttl.sh/${{ github.sha }}
push_provenance: false
attest: false
env: |
GIT_VERSION=${{ fromJson(needs.prep.outputs.versions)[matrix.image_name] }}
KONA_VERSION=${{ needs.prep.outputs.kona_version }}
Expand Down
10 changes: 5 additions & 5 deletions op-acceptance-tests/tests/base/disputegame_v2/smoke_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/gameargs"
challengerTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
)
Expand All @@ -15,18 +15,18 @@ func TestSmoke(gt *testing.T) {
require := t.Require()
dgf := sys.DisputeGameFactory()

gameArgs := dgf.GameArgs(challengerTypes.PermissionedGameType)
gameArgs := dgf.GameArgs(gameTypes.PermissionedGameType)
require.NotEmpty(gameArgs, "game args is must be set for permissioned v2 dispute games")
_, err := gameargs.Parse(gameArgs)
require.NoError(err, "Permissioned game args invalid")

gameArgs = dgf.GameArgs(challengerTypes.CannonGameType)
gameArgs = dgf.GameArgs(gameTypes.CannonGameType)
require.NotEmpty(gameArgs, "game args is must be set for cannon v2 dispute games")
_, err = gameargs.Parse(gameArgs)
require.NoError(err, "Permissionless game args invalid")

permissionedGame := dgf.GameImpl(challengerTypes.PermissionedGameType)
permissionedGame := dgf.GameImpl(gameTypes.PermissionedGameType)
require.NotEmpty(permissionedGame.Address, "permissioned game impl must be set")
cannonGame := dgf.GameImpl(challengerTypes.CannonGameType)
cannonGame := dgf.GameImpl(gameTypes.CannonGameType)
require.NotEmpty(cannonGame.Address, "cannon game impl must be set")
}
4 changes: 2 additions & 2 deletions op-acceptance-tests/tests/base/withdrawal/cannon/init_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.CannonGameType)
withdrawal.InitWithGameType(m, gameTypes.CannonGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_Cannon(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.CannonGameType)
withdrawal.TestWithdrawal(gt, gameTypes.CannonGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.CannonKonaGameType)
withdrawal.InitWithGameType(m, gameTypes.CannonKonaGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_CannonKona(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.CannonKonaGameType)
withdrawal.TestWithdrawal(gt, gameTypes.CannonKonaGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.PermissionedGameType)
withdrawal.InitWithGameType(m, gameTypes.PermissionedGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_Permissioned(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.PermissionedGameType)
withdrawal.TestWithdrawal(gt, gameTypes.PermissionedGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ package withdrawal
import (
"testing"

faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-devstack/compat"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-service/eth"
)

func InitWithGameType(m *testing.M, gameType faultTypes.GameType) {
func InitWithGameType(m *testing.M, gameType gameTypes.GameType) {
presets.DoMain(m,
presets.WithCompatibleTypes(compat.SysGo),
presets.WithMinimal(),
Expand All @@ -25,7 +25,7 @@ func InitWithGameType(m *testing.M, gameType faultTypes.GameType) {
)
}

func TestWithdrawal(gt *testing.T, gameType faultTypes.GameType) {
func TestWithdrawal(gt *testing.T, gameType gameTypes.GameType) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)
require := sys.T.Require()
Expand Down
11 changes: 5 additions & 6 deletions op-challenger/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Run the `op-challenger` with:
```shell
DISPUTE_GAME_FACTORY=$(jq -r .DisputeGameFactoryProxy .devnet/addresses.json)
./op-challenger/bin/op-challenger \
--trace-type cannon \
--game-types cannon \
--l1-eth-rpc http://localhost:8545 \
--rollup-rpc http://localhost:9546 \
--game-factory-address $DISPUTE_GAME_FACTORY \
Expand Down Expand Up @@ -99,8 +99,7 @@ in the L2 output oracle.
* `L2_BLOCK_NUM` the L2 block number the proposed output root is from.
* `SIGNER_ARGS` arguments to specify the key to sign transactions with (e.g `--private-key`)

Optionally, you may specify the game type (aka "trace type") using the `--trace-type`
flag, which is set to the cannon trace type by default.
Optionally, you may override the game types to support using the `--game-types` flag.

For known networks, the `--game-factory-address` option can be replaced by `--network`. See the `--help` output for a
list of predefined networks.
Expand Down Expand Up @@ -226,10 +225,10 @@ configured with multiple different prestates. This allows testing both the curre
the fault proofs virtual machine used by the trace provider.

The same CLI options as `op-challenger` itself are supported to configure the trace providers. The additional `--run`
option allows specifying which prestates to use. The format is `traceType/name/prestateHash` where traceType is the
trace type to use with the prestate (e.g cannon or asterisc-kona), name is an arbitrary name for the prestate to use
option allows specifying which prestates to use. The format is `gameType/name/prestateHash` where gameType is the
game type to use with the prestate (e.g cannon or asterisc-kona), name is an arbitrary name for the prestate to use
when reporting metrics and prestateHash is the hex encoded absolute prestate commitment to use. If name is omitted the
trace type name is used. If the prestateHash is omitted, the absolute prestate hash used for new games on-chain is used.
game type name is used. If the prestateHash is omitted, the absolute prestate hash used for new games on-chain is used.

For example to run both the production cannon prestate and a custom
prestate, use `--run cannon,cannon/next-prestate/0x03c1f0d45248190f80430a4c31e24f8108f05f80ff8b16ecb82d20df6b1b43f3`.
4 changes: 2 additions & 2 deletions op-challenger/cmd/create_game.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/flags"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts"
contractMetrics "github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/metrics"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-challenger/tools"
opservice "github.com/ethereum-optimism/optimism/op-service"
oplog "github.com/ethereum-optimism/optimism/op-service/log"
Expand All @@ -22,7 +22,7 @@ var (
Name: "game-type",
Usage: "Game type to create (numeric values).",
EnvVars: opservice.PrefixEnvVar(flags.EnvVarPrefix, "TRACE_TYPE"),
Value: types.CannonGameType.String(),
Value: gameTypes.CannonGameType.String(),
}
OutputRootFlag = &cli.StringFlag{
Name: "output-root",
Expand Down
Loading