Commit 48a86642 authored by Adrian Sutton's avatar Adrian Sutton

op-challenger: Move generic split game logic to separate package.

parent cbf3628a
...@@ -5,6 +5,7 @@ import ( ...@@ -5,6 +5,7 @@ import (
"errors" "errors"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/split"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
) )
...@@ -21,6 +22,6 @@ func NewOutputCannonTraceAccessor(ctx context.Context, logger log.Logger, rollup ...@@ -21,6 +22,6 @@ func NewOutputCannonTraceAccessor(ctx context.Context, logger log.Logger, rollup
return nil, errors.New("not implemented") return nil, errors.New("not implemented")
} }
selector := newSplitProviderSelector(outputProvider, int(topDepth), cannonCreator) selector := split.NewSplitProviderSelector(outputProvider, int(topDepth), cannonCreator)
return trace.NewAccessor(selector), nil return trace.NewAccessor(selector), nil
} }
package outputs package split
import ( import (
"context" "context"
...@@ -16,7 +16,7 @@ var ( ...@@ -16,7 +16,7 @@ var (
type ProviderCreator func(ctx context.Context, pre types.Claim, post types.Claim) (types.TraceProvider, error) type ProviderCreator func(ctx context.Context, pre types.Claim, post types.Claim) (types.TraceProvider, error)
func newSplitProviderSelector(topProvider types.TraceProvider, topDepth int, bottomProviderCreator ProviderCreator) trace.ProviderSelector { func NewSplitProviderSelector(topProvider types.TraceProvider, topDepth int, bottomProviderCreator ProviderCreator) trace.ProviderSelector {
return func(ctx context.Context, game types.Game, ref types.Claim, pos types.Position) (types.TraceProvider, error) { return func(ctx context.Context, game types.Game, ref types.Claim, pos types.Position) (types.TraceProvider, error) {
if pos.Depth() <= topDepth { if pos.Depth() <= topDepth {
return topProvider, nil return topProvider, nil
......
package outputs package split
import ( import (
"context" "context"
...@@ -311,7 +311,7 @@ func setupAlphabetSplitSelector(t *testing.T) (*alphabet.AlphabetTraceProvider, ...@@ -311,7 +311,7 @@ func setupAlphabetSplitSelector(t *testing.T) (*alphabet.AlphabetTraceProvider,
AlphabetTraceProvider: alphabet.NewTraceProvider(post.Value.Hex(), bottomDepth), AlphabetTraceProvider: alphabet.NewTraceProvider(post.Value.Hex(), bottomDepth),
}, nil }, nil
} }
selector := newSplitProviderSelector(top, topDepth, bottomCreator) selector := NewSplitProviderSelector(top, topDepth, bottomCreator)
claimBuilder := test.NewAlphabetClaimBuilder(t, topDepth+bottomDepth) claimBuilder := test.NewAlphabetClaimBuilder(t, topDepth+bottomDepth)
gameBuilder := claimBuilder.GameBuilder(true, true) gameBuilder := claimBuilder.GameBuilder(true, true)
......
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