config

package
v1.4.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2023 License: MIT Imports: 10 Imported by: 1

Documentation

Index

Constants

View Source
const (
	DefaultPollInterval       = time.Second * 12
	DefaultCannonSnapshotFreq = uint(1_000_000_000)
	DefaultCannonInfoFreq     = uint(10_000_000)
	// DefaultGameWindow is the default maximum time duration in the past
	// that the challenger will look for games to progress.
	// The default value is 11 days, which is a 4 day resolution buffer
	// plus the 7 day game finalization window.
	DefaultGameWindow = time.Duration(11 * 24 * time.Hour)
)

Variables

View Source
var (
	ErrMissingTraceType              = errors.New("no supported trace types specified")
	ErrMissingDatadir                = errors.New("missing datadir")
	ErrMaxConcurrencyZero            = errors.New("max concurrency must not be 0")
	ErrMissingCannonL2               = errors.New("missing cannon L2")
	ErrMissingCannonBin              = errors.New("missing cannon bin")
	ErrMissingCannonServer           = errors.New("missing cannon server")
	ErrMissingCannonAbsolutePreState = errors.New("missing cannon absolute pre-state")
	ErrMissingAlphabetTrace          = errors.New("missing alphabet trace")
	ErrMissingL1EthRPC               = errors.New("missing l1 eth rpc url")
	ErrMissingGameFactoryAddress     = errors.New("missing game factory address")
	ErrMissingCannonSnapshotFreq     = errors.New("missing cannon snapshot freq")
	ErrMissingCannonInfoFreq         = errors.New("missing cannon info freq")
	ErrMissingCannonRollupConfig     = errors.New("missing cannon network or rollup config path")
	ErrMissingCannonL2Genesis        = errors.New("missing cannon network or l2 genesis path")
	ErrCannonNetworkAndRollupConfig  = errors.New("only specify one of network or rollup config path")
	ErrCannonNetworkAndL2Genesis     = errors.New("only specify one of network or l2 genesis path")
	ErrCannonNetworkUnknown          = errors.New("unknown cannon network")
	ErrMissingRollupRpc              = errors.New("missing rollup rpc url")
	ErrCannonAndOutputCannonConflict = errors.New("trace types cannon and outputCannon cannot be enabled at the same time")
)
View Source
var GameIdToString = map[uint8]string{
	CannonFaultGameID:   "Cannon",
	AlphabetFaultGameID: "Alphabet",
}

GameIdToString maps game IDs to their string representation.

Functions

func ValidTraceType added in v1.1.2

func ValidTraceType(value TraceType) bool

Types

type Config

type Config struct {
	L1EthRpc           string           // L1 RPC Url
	GameFactoryAddress common.Address   // Address of the dispute game factory
	GameAllowlist      []common.Address // Allowlist of fault game addresses
	GameWindow         time.Duration    // Maximum time duration to look for games to progress
	Datadir            string           // Data Directory
	MaxConcurrency     uint             // Maximum number of threads to use when progressing games
	PollInterval       time.Duration    // Polling interval for latest-block subscription when using an HTTP RPC provider

	TraceTypes []TraceType // Type of traces supported

	// Specific to the alphabet trace provider
	AlphabetTrace string // String for the AlphabetTraceProvider

	// Specific to the output cannon trace type
	RollupRpc string

	// Specific to the cannon trace provider
	CannonBin              string // Path to the cannon executable to run when generating trace data
	CannonServer           string // Path to the op-program executable that provides the pre-image oracle server
	CannonAbsolutePreState string // File to load the absolute pre-state for Cannon traces from
	CannonNetwork          string
	CannonRollupConfigPath string
	CannonL2GenesisPath    string
	CannonL2               string // L2 RPC Url
	CannonSnapshotFreq     uint   // Frequency of snapshots to create when executing cannon (in VM instructions)
	CannonInfoFreq         uint   // Frequency of cannon progress log messages (in VM instructions)

	TxMgrConfig   txmgr.CLIConfig
	MetricsConfig opmetrics.CLIConfig
	PprofConfig   oppprof.CLIConfig
}

Config is a well typed config that is parsed from the CLI params. This also contains config options for auxiliary services. It is used to initialize the challenger.

func NewConfig

func NewConfig(
	gameFactoryAddress common.Address,
	l1EthRpc string,
	datadir string,
	supportedTraceTypes ...TraceType,
) Config

func (Config) Check

func (c Config) Check() error

func (Config) TraceTypeEnabled added in v1.4.2

func (c Config) TraceTypeEnabled(t TraceType) bool

type TraceType added in v1.1.2

type TraceType string
const (
	TraceTypeAlphabet       TraceType = "alphabet"
	TraceTypeCannon         TraceType = "cannon"
	TraceTypeOutputCannon   TraceType = "output_cannon"
	TraceTypeOutputAlphabet TraceType = "output_alphabet"

	// Mainnet games
	CannonFaultGameID = 0

	// Devnet games
	AlphabetFaultGameID = 255
)

func (*TraceType) Clone added in v1.2.0

func (t *TraceType) Clone() any

func (*TraceType) Set added in v1.1.2

func (t *TraceType) Set(value string) error

Set implements the Set method required by the [cli.Generic] interface.

func (TraceType) String added in v1.1.2

func (t TraceType) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL