Commit 6a3c6f93 authored by Adrian Sutton's avatar Adrian Sutton

op-challenger: Back to NewGamePlayer creating the bindings.

parent d8927939
......@@ -11,8 +11,10 @@ import (
"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/metrics"
"github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/ethereum/go-ethereum/log"
)
......@@ -45,11 +47,16 @@ func NewGamePlayer(
dir string,
addr common.Address,
txMgr txmgr.TxManager,
loader *contracts.FaultDisputeGameContract,
client *ethclient.Client,
creator resourceCreator,
) (*GamePlayer, error) {
logger = logger.New("game", addr)
loader, err := contracts.NewFaultDisputeGameContract(addr, batching.NewMultiCaller(client.Client(), batching.DefaultBatchSize))
if err != nil {
return nil, fmt.Errorf("failed to create fault dispute game contract wrapper: %w", err)
}
status, err := loader.GetStatus(ctx)
if err != nil {
return nil, fmt.Errorf("failed to fetch game status: %w", err)
......
......@@ -13,7 +13,6 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/game/scheduler"
"github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-challenger/metrics"
"github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
......@@ -38,7 +37,6 @@ func RegisterGameTypes(
txMgr txmgr.TxManager,
client *ethclient.Client,
) {
multiCaller := batching.NewMultiCaller(client.Client(), batching.DefaultBatchSize)
if cfg.TraceTypeEnabled(config.TraceTypeCannon) {
resourceCreator := func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (faultTypes.TraceAccessor, gameValidator, error) {
......@@ -53,11 +51,7 @@ func RegisterGameTypes(
return trace.NewSimpleTraceAccessor(provider), validator, nil
}
playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) {
gameContract, err := contracts.NewFaultDisputeGameContract(game.Proxy, multiCaller)
if err != nil {
return nil, fmt.Errorf("failed to create fault dispute game contract wrapper: %w", err)
}
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, gameContract, resourceCreator)
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator)
}
registry.RegisterGameType(cannonGameType, playerCreator)
}
......@@ -70,11 +64,7 @@ func RegisterGameTypes(
return trace.NewSimpleTraceAccessor(provider), validator, nil
}
playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) {
gameContract, err := contracts.NewFaultDisputeGameContract(game.Proxy, multiCaller)
if err != nil {
return nil, fmt.Errorf("failed to create fault dispute game contract wrapper: %w", err)
}
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, gameContract, resourceCreator)
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator)
}
registry.RegisterGameType(alphabetGameType, playerCreator)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment