Commit 16b00d32 authored by OptimismBot's avatar OptimismBot Committed by GitHub

Merge pull request #7004 from ethereum-optimism/refcell/abi-test-isolation

fix(op-challenger): Isolated Responder ABI Tests
parents 33d0e509 11338e50
...@@ -8,6 +8,7 @@ import ( ...@@ -8,6 +8,7 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/config" "github.com/ethereum-optimism/optimism/op-challenger/config"
"github.com/ethereum-optimism/optimism/op-challenger/fault/alphabet" "github.com/ethereum-optimism/optimism/op-challenger/fault/alphabet"
"github.com/ethereum-optimism/optimism/op-challenger/fault/cannon" "github.com/ethereum-optimism/optimism/op-challenger/fault/cannon"
"github.com/ethereum-optimism/optimism/op-challenger/fault/responder"
"github.com/ethereum-optimism/optimism/op-challenger/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/fault/types"
"github.com/ethereum-optimism/optimism/op-service/txmgr" "github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/accounts/abi/bind"
...@@ -79,7 +80,7 @@ func NewGamePlayer( ...@@ -79,7 +80,7 @@ func NewGamePlayer(
return nil, fmt.Errorf("failed to validate absolute prestate: %w", err) return nil, fmt.Errorf("failed to validate absolute prestate: %w", err)
} }
responder, err := NewFaultResponder(logger, txMgr, addr) responder, err := responder.NewFaultResponder(logger, txMgr, addr)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create the responder: %w", err) return nil, fmt.Errorf("failed to create the responder: %w", err)
} }
......
package fault package responder
import ( import (
"math/big" "math/big"
"testing" "testing"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-challenger/fault/types"
"github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends" "github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
...@@ -13,6 +11,9 @@ import ( ...@@ -13,6 +11,9 @@ import (
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/params"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-challenger/fault/types"
) )
// setupFaultDisputeGame deploys the FaultDisputeGame contract to a simulated backend // setupFaultDisputeGame deploys the FaultDisputeGame contract to a simulated backend
...@@ -26,7 +27,10 @@ func setupFaultDisputeGame() (common.Address, *bind.TransactOpts, *backends.Simu ...@@ -26,7 +27,10 @@ func setupFaultDisputeGame() (common.Address, *bind.TransactOpts, *backends.Simu
if err != nil { if err != nil {
return common.Address{}, nil, nil, nil, err return common.Address{}, nil, nil, nil, err
} }
backend := backends.NewSimulatedBackend(core.GenesisAlloc{from: {Balance: big.NewInt(params.Ether)}}, 50_000_000) backend := backends.NewSimulatedBackend(
core.GenesisAlloc{from: {Balance: big.NewInt(params.Ether)}},
50_000_000,
)
blockHashOracle, _, _, err := bindings.DeployBlockOracle(opts, backend) blockHashOracle, _, _, err := bindings.DeployBlockOracle(opts, backend)
if err != nil { if err != nil {
...@@ -55,9 +59,9 @@ func TestBuildFaultDefendData(t *testing.T) { ...@@ -55,9 +59,9 @@ func TestBuildFaultDefendData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame() _, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err) require.NoError(t, err)
responder, _ := newTestFaultResponder(t) resp, _ := newTestFaultResponder(t)
data, err := responder.buildFaultDefendData(1, [32]byte{0x02, 0x03}) data, err := resp.buildFaultDefendData(1, [32]byte{0x02, 0x03})
require.NoError(t, err) require.NoError(t, err)
opts.GasLimit = 100_000 opts.GasLimit = 100_000
...@@ -72,9 +76,9 @@ func TestBuildFaultAttackData(t *testing.T) { ...@@ -72,9 +76,9 @@ func TestBuildFaultAttackData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame() _, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err) require.NoError(t, err)
responder, _ := newTestFaultResponder(t) resp, _ := newTestFaultResponder(t)
data, err := responder.buildFaultAttackData(1, [32]byte{0x02, 0x03}) data, err := resp.buildFaultAttackData(1, [32]byte{0x02, 0x03})
require.NoError(t, err) require.NoError(t, err)
opts.GasLimit = 100_000 opts.GasLimit = 100_000
...@@ -89,9 +93,9 @@ func TestBuildFaultStepData(t *testing.T) { ...@@ -89,9 +93,9 @@ func TestBuildFaultStepData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame() _, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err) require.NoError(t, err)
responder, _ := newTestFaultResponder(t) resp, _ := newTestFaultResponder(t)
data, err := responder.buildStepTxData(types.StepCallData{ data, err := resp.buildStepTxData(types.StepCallData{
ClaimIndex: 2, ClaimIndex: 2,
IsAttack: false, IsAttack: false,
StateData: []byte{0x01}, StateData: []byte{0x01},
......
package fault package responder
import ( import (
"context" "context"
......
package fault package responder
import ( import (
"context" "context"
......
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