 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
      View Source
      
  
const ( ErrorEVM = 2 ErrorConfig = 3 ErrorMissingBlockhash = 4 ErrorJson = 10 ErrorIO = 11 ErrorRlp = 12 )
Variables ¶
      View Source
      
  
var ( TraceFlag = &cli.BoolFlag{ Name: "trace", Usage: "Output full trace logs to files <txhash>.jsonl", } TraceTracerFlag = &cli.StringFlag{ Name: "trace.tracer", Usage: "Configures the use of a custom tracer, e.g native or js tracers. Examples are callTracer and 4byteTracer. These tracers emit results into files as trace-<txIndex>-<txHash>.json", } TraceTracerConfigFlag = &cli.StringFlag{ Name: "trace.jsonconfig", Usage: "The configurations for the custom tracer specified by --trace.tracer. If provided, must be in JSON format", } TraceDisableMemoryFlag = &cli.BoolFlag{ Name: "trace.nomemory", Value: true, Usage: "Disable full memory dump in traces (deprecated)", } TraceEnableMemoryFlag = &cli.BoolFlag{ Name: "trace.memory", Usage: "Enable full memory dump in traces", } TraceDisableStackFlag = &cli.BoolFlag{ Name: "trace.nostack", Usage: "Disable stack output in traces", } TraceDisableReturnDataFlag = &cli.BoolFlag{ Name: "trace.noreturndata", Value: true, Usage: "Disable return data output in traces (deprecated)", } TraceEnableReturnDataFlag = &cli.BoolFlag{ Name: "trace.returndata", Usage: "Enable return data output in traces", } OutputBasedir = &cli.StringFlag{ Name: "output.basedir", Usage: "Specifies where output files are placed. Will be created if it does not exist.", Value: "", } OutputBodyFlag = &cli.StringFlag{ Name: "output.body", Usage: "If set, the RLP of the transactions (block body) will be written to this file.", Value: "", } OutputAllocFlag = &cli.StringFlag{ Name: "output.alloc", Usage: "Determines where to put the `alloc` of the post-state.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "alloc.json", } OutputResultFlag = &cli.StringFlag{ Name: "output.result", Usage: "Determines where to put the `result` (stateroot, txroot etc) of the post-state.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "result.json", } OutputBlockFlag = &cli.StringFlag{ Name: "output.block", Usage: "Determines where to put the `block` after building.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "block.json", } InputAllocFlag = &cli.StringFlag{ Name: "input.alloc", Usage: "`stdin` or file name of where to find the prestate alloc to use.", Value: "alloc.json", } InputEnvFlag = &cli.StringFlag{ Name: "input.env", Usage: "`stdin` or file name of where to find the prestate env to use.", Value: "env.json", } InputTxsFlag = &cli.StringFlag{ Name: "input.txs", Usage: "`stdin` or file name of where to find the transactions to apply. " + "If the file extension is '.rlp', then the data is interpreted as an RLP list of signed transactions." + "The '.rlp' format is identical to the output.body format.", Value: "txs.json", } InputHeaderFlag = &cli.StringFlag{ Name: "input.header", Usage: "`stdin` or file name of where to find the block header to use.", Value: "header.json", } InputOmmersFlag = &cli.StringFlag{ Name: "input.ommers", Usage: "`stdin` or file name of where to find the list of ommer header RLPs to use.", } InputWithdrawalsFlag = &cli.StringFlag{ Name: "input.withdrawals", Usage: "`stdin` or file name of where to find the list of withdrawals to use.", } InputTxsRlpFlag = &cli.StringFlag{ Name: "input.txs", Usage: "`stdin` or file name of where to find the transactions list in RLP form.", Value: "txs.rlp", } SealCliqueFlag = &cli.StringFlag{ Name: "seal.clique", Usage: "Seal block with Clique. `stdin` or file name of where to find the Clique sealing data.", } RewardFlag = &cli.Int64Flag{ Name: "state.reward", Usage: "Mining reward. Set to -1 to disable", Value: 0, } ChainIDFlag = &cli.Int64Flag{ Name: "state.chainid", Usage: "ChainID to use", Value: 1, } ForknameFlag = &cli.StringFlag{ Name: "state.fork", Usage: fmt.Sprintf("Name of ruleset to use."+ "\n\tAvailable forknames:"+ "\n\t %v"+ "\n\tAvailable extra eips:"+ "\n\t %v"+ "\n\tSyntax <forkname>(+ExtraEip)", strings.Join(tests.AvailableForks(), "\n\t "), strings.Join(vm.ActivateableEips(), ", ")), Value: "GrayGlacier", } VerbosityFlag = &cli.IntFlag{ Name: "verbosity", Usage: "sets the verbosity level", Value: 3, } )
Functions ¶
func BuildBlock ¶
func BuildBlock(ctx *cli.Context) error
BuildBlock constructs a block from the given inputs.
func MakePreState ¶
func Transaction ¶
func Transaction(ctx *cli.Context) error
func Transition ¶
func Transition(ctx *cli.Context) error
Types ¶
type Alloc ¶
type Alloc map[common.Address]core.GenesisAccount
type ExecutionResult ¶
type ExecutionResult struct {
	StateRoot            common.Hash           `json:"stateRoot"`
	TxRoot               common.Hash           `json:"txRoot"`
	ReceiptRoot          common.Hash           `json:"receiptsRoot"`
	LogsHash             common.Hash           `json:"logsHash"`
	Bloom                types.Bloom           `json:"logsBloom"        gencodec:"required"`
	Receipts             types.Receipts        `json:"receipts"`
	Rejected             []*rejectedTx         `json:"rejected,omitempty"`
	Difficulty           *math.HexOrDecimal256 `json:"currentDifficulty" gencodec:"required"`
	GasUsed              math.HexOrDecimal64   `json:"gasUsed"`
	BaseFee              *math.HexOrDecimal256 `json:"currentBaseFee,omitempty"`
	WithdrawalsRoot      *common.Hash          `json:"withdrawalsRoot,omitempty"`
	CurrentExcessBlobGas *math.HexOrDecimal64  `json:"currentExcessBlobGas,omitempty"`
	CurrentBlobGasUsed   *math.HexOrDecimal64  `json:"blobGasUsed,omitempty"`
}
    ExecutionResult contains the execution status after running a state test, any error that might have occurred and a dump of the final state if requested.
type NumberedError ¶
type NumberedError struct {
	// contains filtered or unexported fields
}
    func NewError ¶
func NewError(errorCode int, err error) *NumberedError
func (*NumberedError) Error ¶
func (n *NumberedError) Error() string
func (*NumberedError) ExitCode ¶
func (n *NumberedError) ExitCode() int
type Prestate ¶
type Prestate struct {
	Env stEnv             `json:"env"`
	Pre core.GenesisAlloc `json:"pre"`
}
    func (*Prestate) Apply ¶
func (pre *Prestate) Apply(vmConfig vm.Config, chainConfig *params.ChainConfig, txIt txIterator, miningReward int64, getTracerFn func(txIndex int, txHash common.Hash) (*tracers.Tracer, io.WriteCloser, error)) (*state.StateDB, *ExecutionResult, []byte, error)
Apply applies a set of transactions to a pre-state
 Click to show internal directories. 
   Click to hide internal directories.