geth

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2019 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultSchema = Schema{
	ValueEth:    ethSchema{},
	ValueNet:    netSchema{},
	ValueTrace:  traceSchema{},
	ValueCode:   codeSchema{},
	ValuePubSub: pubSubSchema{},
}

Functions

func Walk

func Walk(c *CallTrace, ch chan *CallTrace)

Types

type Block

type Block struct {
	ValuesTransactions []*Transaction `json:"transactions"`
}

func (Block) Transactions

func (b Block) Transactions() []ethereum.Transaction

type CallTrace

type CallTrace struct {
	ValueHash            *common.Hash    `json:"hash"`
	ValueParentHash      *common.Hash    `json:"parentHash"`
	ValueTransactionHash *common.Hash    `json:"transactionHash"`
	ValueType            string          `json:"type"`
	ValueFrom            common.Address  `json:"from"`
	ValueTo              common.Address  `json:"to"`
	ValueInput           hexutil.Bytes   `json:"input"`
	ValueOutput          hexutil.Bytes   `json:"output"`
	ValueGas             *hexutil.Uint64 `json:"gas,omitempty"`
	ValueGasUsed         *hexutil.Uint64 `json:"gasUsed,omitempty"`
	ValueValue           *hexutil.Big    `json:"value,omitempty"`
	ValueError           string          `json:"error,omitempty"`
	ValueCalls           []CallTrace     `json:"calls,omitempty"`
}

func (*CallTrace) Error

func (c *CallTrace) Error() string

func (*CallTrace) From

func (c *CallTrace) From() common.Address

func (*CallTrace) Gas

func (c *CallTrace) Gas() *hexutil.Uint64

func (*CallTrace) GasUsed

func (c *CallTrace) GasUsed() *hexutil.Uint64

func (*CallTrace) Hash

func (c *CallTrace) Hash() *common.Hash

func (*CallTrace) Input

func (c *CallTrace) Input() hexutil.Bytes

func (*CallTrace) Output

func (c *CallTrace) Output() hexutil.Bytes

func (*CallTrace) ParentHash

func (c *CallTrace) ParentHash() *common.Hash

func (*CallTrace) To

func (c *CallTrace) To() common.Address

func (*CallTrace) Traces

func (c *CallTrace) Traces() []ethereum.Trace

func (*CallTrace) TransactionHash

func (c *CallTrace) TransactionHash() *common.Hash

func (*CallTrace) Type

func (c *CallTrace) Type() string

func (*CallTrace) Value

func (c *CallTrace) Value() *hexutil.Big

type EvmState

type EvmState struct {
	ValuePc      uint64             `json:"pc"`
	ValueOp      string             `json:"op"`
	ValueGas     uint64             `json:"gas"`
	ValueGasCost int64              `json:"gasCost"`
	ValueDepth   int                `json:"depth"`
	ValueError   json.RawMessage    `json:"error,omitempty"`
	ValueStack   *[]string          `json:"stack,omitempty"`
	ValueMemory  *[]string          `json:"memory,omitempty"`
	ValueStorage *map[string]string `json:"storage,omitempty"`
}

func (*EvmState) Depth

func (s *EvmState) Depth() int

func (*EvmState) Op

func (s *EvmState) Op() string

func (*EvmState) Pc

func (s *EvmState) Pc() uint64

func (*EvmState) Stack

func (s *EvmState) Stack() []string
type Header struct {
	HNumber *ethereum.Number `json:"number"`
}

func (*Header) Number

func (h *Header) Number() *ethereum.Number

type Log

type Log struct {
	ValueAddress             string   `json:"address"`
	ValueBlockHash           string   `json:"blockHash"`
	ValueBlockNumber         string   `json:"blockNumber"`
	ValueData                string   `json:"data"`
	ValueLogIndex            string   `json:"logIndex"`
	ValueRemoved             bool     `json:"removed"`
	ValueTopics              []string `json:"topics"`
	ValueTransactionHash     string   `json:"transactionHash"`
	ValueTransactionIndex    string   `json:"transactionIndex"`
	ValueTransactionLogIndex string   `json:"transactionLogIndex"`
	ValueType                string   `json:"type"`
}

func (*Log) Data

func (l *Log) Data() string

func (*Log) Topics

func (l *Log) Topics() []string

type PubSubSchema

type PubSubSchema interface {
	Subscribe() (*jsonrpc2.Request, *ethereum.SubscriptionID)
	Unsubscribe(id ethereum.SubscriptionID) (*jsonrpc2.Request, *ethereum.UnsubscribeSuccess)
}

type Schema

type Schema struct {
	ValueEth    ethereum.EthSchema
	ValueNet    ethereum.NetSchema
	ValueTrace  ethereum.TraceSchema
	ValueCode   ethereum.CodeSchema
	ValuePubSub ethereum.PubSubSchema
}

func (*Schema) Code

func (s *Schema) Code() ethereum.CodeSchema

func (*Schema) Eth

func (s *Schema) Eth() ethereum.EthSchema

func (*Schema) Net

func (s *Schema) Net() ethereum.NetSchema

func (*Schema) PubSub

func (s *Schema) PubSub() ethereum.PubSubSchema

func (*Schema) Trace

func (s *Schema) Trace() ethereum.TraceSchema

type SubscriptionResult

type SubscriptionResult struct {
	Subscription ethereum.SubscriptionID `json:"subscription"`
	Result       Header                  `json:"result"`
}

type TraceResult

type TraceResult struct {
	Gas         uint64      `json:"gas"`
	Failed      bool        `json:"failed"`
	ReturnValue string      `json:"returnValue"`
	StructLogs  []*EvmState `json:"structLogs"`
}

func (*TraceResult) ProcessTrace

func (gtr *TraceResult) ProcessTrace()

func (*TraceResult) States

func (gtr *TraceResult) States() []ethereum.EvmState

type Transaction

type Transaction struct {
	ValueHash *common.Hash    `json:"hash"`
	ValueFrom *common.Address `json:"from"`
	ValueTo   *common.Address `json:"to"`
	//ValueInput       hexutil.Bytes   `json:"input"`
	//ValueValue       *hexutil.Big    `json:"value"`
	//ValueGas         *hexutil.Big    `json:"gas"`
	//ValueGasPrice    *hexutil.Big    `json:"gasPrice"`
	ValueBlockNumber string `json:"blockNumber"`
}

func (*Transaction) From

func (t *Transaction) From() *common.Address

func (*Transaction) Gas

func (t *Transaction) Gas() *hexutil.Big

func (*Transaction) GasPrice

func (t *Transaction) GasPrice() *hexutil.Big

func (*Transaction) Hash

func (t *Transaction) Hash() *common.Hash

func (*Transaction) Input

func (t *Transaction) Input() hexutil.Bytes

func (*Transaction) To

func (t *Transaction) To() *common.Address

func (*Transaction) Value

func (t *Transaction) Value() *hexutil.Big

type TransactionReceipt

type TransactionReceipt struct {
	TTransactionHash  string      `json:"transactionHash"`
	TTransactionIndex hexutil.Big `json:"transactionIndex"`
	TBlockHash        common.Hash `json:"blockHash"`
	TBlockNumber      hexutil.Big `json:"blockNumber"`

	TFrom common.Address  `json:"from"`
	TTo   *common.Address `json:"to"`

	TGasUsed           *hexutil.Big    `json:"gasUsed"`
	TCumulativeGasUsed *hexutil.Big    `json:"cumulativeGasUsed"`
	TContractAddress   *common.Address `json:"contractAddress"`

	TStatus    string        `json:"status"` // Can be null, if null do a check anyways. 0x0 fail, 0x1 success
	TLogs      []*Log        `json:"logs"`
	TLogsBloom hexutil.Bytes `json:"logsBloom"`
	TRoot      *string       `json:"root"`
}

func (*TransactionReceipt) BlockHash added in v0.2.10

func (t *TransactionReceipt) BlockHash() common.Hash

func (*TransactionReceipt) BlockNumber added in v0.2.10

func (t *TransactionReceipt) BlockNumber() hexutil.Big

func (*TransactionReceipt) ContractAddress

func (t *TransactionReceipt) ContractAddress() *common.Address

func (*TransactionReceipt) CumulativeGasUsed

func (t *TransactionReceipt) CumulativeGasUsed() *hexutil.Big

func (*TransactionReceipt) From added in v0.2.10

func (t *TransactionReceipt) From() common.Address

func (*TransactionReceipt) GasUsed

func (t *TransactionReceipt) GasUsed() *hexutil.Big

func (*TransactionReceipt) Hash

func (t *TransactionReceipt) Hash() string

func (*TransactionReceipt) Logs

func (t *TransactionReceipt) Logs() []ethereum.Log

func (*TransactionReceipt) LogsBloom added in v0.2.10

func (t *TransactionReceipt) LogsBloom() hexutil.Bytes

func (*TransactionReceipt) SetStatus

func (t *TransactionReceipt) SetStatus(trace string)

func (*TransactionReceipt) Status

func (t *TransactionReceipt) Status() string

func (*TransactionReceipt) To added in v0.2.10

func (*TransactionReceipt) TransactionIndex added in v0.2.10

func (t *TransactionReceipt) TransactionIndex() hexutil.Big

Jump to

Keyboard shortcuts

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