cannon

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2023 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewOracleUpdater

func NewOracleUpdater(
	ctx context.Context,
	logger log.Logger,
	txMgr txmgr.TxManager,
	fdgAddr common.Address,
	client bind.ContractCaller,
) (*cannonUpdater, error)

NewOracleUpdater returns a new updater. The pre-image oracle address is loaded from the fault dispute game.

func NewOracleUpdaterWithOracle

func NewOracleUpdaterWithOracle(
	logger log.Logger,
	txMgr txmgr.TxManager,
	fdgAddr common.Address,
	preimageOracleAddr common.Address,
) (*cannonUpdater, error)

NewOracleUpdaterWithOracle returns a new updater using a specified pre-image oracle address.

Types

type CannonMetricer

type CannonMetricer interface {
	RecordCannonExecutionTime(t float64)
}

type CannonTraceProvider

type CannonTraceProvider struct {
	// contains filtered or unexported fields
}

func NewTraceProvider

func NewTraceProvider(ctx context.Context, logger log.Logger, m CannonMetricer, cfg *config.Config, l1Client bind.ContractCaller, dir string, gameAddr common.Address, gameDepth uint64) (*CannonTraceProvider, error)

func NewTraceProviderFromInputs

func NewTraceProviderFromInputs(logger log.Logger, m CannonMetricer, cfg *config.Config, localInputs LocalGameInputs, dir string, gameDepth uint64) *CannonTraceProvider

func (*CannonTraceProvider) AbsolutePreState

func (p *CannonTraceProvider) AbsolutePreState(ctx context.Context) ([]byte, error)

func (*CannonTraceProvider) AbsolutePreStateCommitment

func (p *CannonTraceProvider) AbsolutePreStateCommitment(ctx context.Context) (common.Hash, error)

func (*CannonTraceProvider) Get

func (*CannonTraceProvider) GetStepData

func (*CannonTraceProvider) SetMaxDepth added in v1.2.0

func (p *CannonTraceProvider) SetMaxDepth(gameDepth uint64)

type Executor

type Executor struct {
	// contains filtered or unexported fields
}

func NewExecutor

func NewExecutor(logger log.Logger, m CannonMetricer, cfg *config.Config, inputs LocalGameInputs) *Executor

func (*Executor) GenerateProof

func (e *Executor) GenerateProof(ctx context.Context, dir string, i uint64) error

type GameInputsSource

type GameInputsSource interface {
	L1Head(opts *bind.CallOpts) ([32]byte, error)
	Proposals(opts *bind.CallOpts) (struct {
		Starting bindings.IFaultDisputeGameOutputProposal
		Disputed bindings.IFaultDisputeGameOutputProposal
	}, error)
}

type L2DataSource

type L2DataSource interface {
	ChainID(context.Context) (*big.Int, error)
	HeaderByNumber(context.Context, *big.Int) (*ethtypes.Header, error)
}

type LocalGameInputs

type LocalGameInputs struct {
	L1Head        common.Hash
	L2Head        common.Hash
	L2OutputRoot  common.Hash
	L2Claim       common.Hash
	L2BlockNumber *big.Int
}

type ProofGenerator

type ProofGenerator interface {
	// GenerateProof executes cannon to generate a proof at the specified trace index in dataDir.
	GenerateProof(ctx context.Context, dataDir string, proofAt uint64) error
}

Jump to

Keyboard shortcuts

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