Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( LoadELFPathFlag = &cli.PathFlag{ Name: "path", Usage: "Path to 32-bit big-endian MIPS ELF file", TakesFile: true, Required: true, } LoadELFPatchFlag = &cli.StringSliceFlag{ Name: "patch", Usage: "Type of patching to do", Value: cli.NewStringSlice("go", "stack"), Required: false, } LoadELFOutFlag = &cli.PathFlag{ Name: "out", Usage: "Output path to write JSON state to. State is dumped to stdout if set to empty string.", Value: "state.json", Required: false, } LoadELFMetaFlag = &cli.PathFlag{ Name: "meta", Usage: "Write metadata file, for symbol lookup during program execution. None if empty.", Value: "meta.json", Required: false, } )
View Source
var ( RunInputFlag = &cli.PathFlag{ Name: "input", Usage: "path of input JSON state. Stdin if left empty.", TakesFile: true, Value: "state.json", Required: true, } RunOutputFlag = &cli.PathFlag{ Name: "output", Usage: "path of output JSON state. Stdout if left empty.", TakesFile: true, Value: "out.json", Required: false, } RunProofAtFlag = &cli.GenericFlag{ Name: "proof-at", Usage: "step pattern to output proof at: " + patternHelp, Value: new(StepMatcherFlag), Required: false, } RunProofFmtFlag = &cli.StringFlag{ Name: "proof-fmt", Usage: "format for proof data output file names. Proof data is written to stdout if empty.", Value: "proof-%d.json", Required: false, } RunSnapshotAtFlag = &cli.GenericFlag{ Name: "snapshot-at", Usage: "step pattern to output snapshots at: " + patternHelp, Value: new(StepMatcherFlag), Required: false, } RunSnapshotFmtFlag = &cli.StringFlag{ Name: "snapshot-fmt", Usage: "format for snapshot output file names.", Value: "state-%d.json", Required: false, } RunStopAtFlag = &cli.GenericFlag{ Name: "stop-at", Usage: "step pattern to stop at: " + patternHelp, Value: new(StepMatcherFlag), Required: false, } RunMetaFlag = &cli.PathFlag{ Name: "meta", Usage: "path to metadata file for symbol lookup for enhanced debugging info durign execution.", Value: "meta.json", Required: false, } RunInfoAtFlag = &cli.GenericFlag{ Name: "info-at", Usage: "step pattern to print info at: " + patternHelp, Value: MustStepMatcherFlag("%100000"), Required: false, } RunPProfCPU = &cli.BoolFlag{ Name: "pprof.cpu", Usage: "enable pprof cpu profiling", } )
View Source
var ( WitnessInputFlag = &cli.PathFlag{ Name: "input", Usage: "path of input JSON state.", TakesFile: true, Required: true, } WitnessOutputFlag = &cli.PathFlag{ Name: "output", Usage: "path to write binary witness.", TakesFile: true, } )
View Source
var LoadELFCommand = &cli.Command{ Name: "load-elf", Usage: "Load ELF file into Cannon JSON state", Description: "Load ELF file into Cannon JSON state, optionally patch out functions", Action: LoadELF, Flags: []cli.Flag{ LoadELFPathFlag, LoadELFPatchFlag, LoadELFOutFlag, LoadELFMetaFlag, }, }
View Source
var RunCommand = &cli.Command{ Name: "run", Usage: "Run VM step(s) and generate proof data to replicate onchain.", Description: "Run VM step(s) and generate proof data to replicate onchain. See flags to match when to output a proof, a snapshot, or to stop early.", Action: Run, Flags: []cli.Flag{ RunInputFlag, RunOutputFlag, RunProofAtFlag, RunProofFmtFlag, RunSnapshotAtFlag, RunSnapshotFmtFlag, RunStopAtFlag, RunMetaFlag, RunInfoAtFlag, RunPProfCPU, }, }
View Source
var WitnessCommand = &cli.Command{ Name: "witness", Usage: "Convert a Cannon JSON state into a binary witness", Description: "Convert a Cannon JSON state into a binary witness. The hash of the witness is written to stdout", Action: Witness, Flags: []cli.Flag{ WitnessInputFlag, WitnessOutputFlag, }, }
Functions ¶
Types ¶
type ProcessPreimageOracle ¶
type ProcessPreimageOracle struct {
// contains filtered or unexported fields
}
func NewProcessPreimageOracle ¶
func NewProcessPreimageOracle(name string, args []string) (*ProcessPreimageOracle, error)
func (*ProcessPreimageOracle) Close ¶
func (p *ProcessPreimageOracle) Close() error
func (*ProcessPreimageOracle) GetPreimage ¶
func (p *ProcessPreimageOracle) GetPreimage(k [32]byte) []byte
func (*ProcessPreimageOracle) Hint ¶
func (p *ProcessPreimageOracle) Hint(v []byte)
func (*ProcessPreimageOracle) Start ¶
func (p *ProcessPreimageOracle) Start() error
type Proof ¶
type Proof struct { Step uint64 `json:"step"` Pre common.Hash `json:"pre"` Post common.Hash `json:"post"` StateData hexutil.Bytes `json:"state-data"` ProofData hexutil.Bytes `json:"proof-data"` OracleKey hexutil.Bytes `json:"oracle-key,omitempty"` OracleValue hexutil.Bytes `json:"oracle-value,omitempty"` OracleOffset uint32 `json:"oracle-offset,omitempty"` StepInput hexutil.Bytes `json:"step-input"` OracleInput hexutil.Bytes `json:"oracle-input"` }
type StepMatcher ¶
type StepMatcherFlag ¶
type StepMatcherFlag struct {
// contains filtered or unexported fields
}
func MustStepMatcherFlag ¶
func MustStepMatcherFlag(pattern string) *StepMatcherFlag
func (*StepMatcherFlag) Matcher ¶
func (m *StepMatcherFlag) Matcher() StepMatcher
func (*StepMatcherFlag) Set ¶
func (m *StepMatcherFlag) Set(value string) error
func (*StepMatcherFlag) String ¶
func (m *StepMatcherFlag) String() string
Click to show internal directories.
Click to hide internal directories.