watcher

package
v0.17.4 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyLatestHeight = "LatestHeight"

	TransactionSuccess = 1
	TransactionFailed  = 0
)
View Source
const FlagFastQuery = "fast-query"
View Source
const MsgFunctionDisable = "fast query function disabled"

Variables

This section is empty.

Functions

func IsWatcherEnabled

func IsWatcherEnabled() bool

Types

type BlockNonce

type BlockNonce [8]byte

A BlockNonce is a 64-bit hash which proves (combined with the mix-hash) that a sufficient amount of computation has been carried out on a block.

func EncodeNonce

func EncodeNonce(i uint64) BlockNonce

EncodeNonce converts the given integer to a block nonce.

func (BlockNonce) MarshalText

func (n BlockNonce) MarshalText() ([]byte, error)

MarshalText encodes n as a hex string with 0x prefix.

func (BlockNonce) Uint64

func (n BlockNonce) Uint64() uint64

Uint64 returns the integer value of a block nonce.

func (*BlockNonce) UnmarshalText

func (n *BlockNonce) UnmarshalText(input []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type CodeInfo

type CodeInfo struct {
	Height uint64 `json:"height"`
	Code   string `json:"code"`
}

type EthBlock

type EthBlock struct {
	Number           hexutil.Uint64 `json:"number"`
	Hash             common.Hash    `json:"hash"`
	ParentHash       common.Hash    `json:"parentHash"`
	Nonce            BlockNonce     `json:"nonce"`
	Sha3Uncles       common.Hash    `json:"sha3Uncles"`
	LogsBloom        ethtypes.Bloom `json:"logsBloom"`
	TransactionsRoot common.Hash    `json:"transactionsRoot"`
	StateRoot        common.Hash    `json:"stateRoot"`
	Miner            common.Address `json:"miner"`
	MixHash          common.Hash    `json:"mixHash"`
	Difficulty       hexutil.Uint64 `json:"difficulty"`
	TotalDifficulty  hexutil.Uint64 `json:"totalDifficulty"`
	ExtraData        hexutil.Bytes  `json:"extraData"`
	Size             hexutil.Uint64 `json:"size"`
	GasLimit         hexutil.Uint64 `json:"gasLimit"`
	GasUsed          *hexutil.Big   `json:"gasUsed"`
	Timestamp        hexutil.Uint64 `json:"timestamp"`
	Uncles           []string       `json:"uncles"`
	ReceiptsRoot     common.Hash    `json:"receiptsRoot"`
	Transactions     interface{}    `json:"transactions"`
}

type MsgBlock

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

func NewMsgBlock

func NewMsgBlock(height uint64, blockBloom ethtypes.Bloom, blockHash common.Hash, header abci.Header, gasLimit uint64, gasUsed *big.Int, txs interface{}) *MsgBlock

func (MsgBlock) GetKey

func (m MsgBlock) GetKey() string

func (MsgBlock) GetValue

func (m MsgBlock) GetValue() string

type MsgBlockInfo

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

func NewMsgBlockInfo

func NewMsgBlockInfo(height uint64, blockHash common.Hash) *MsgBlockInfo

func (MsgBlockInfo) GetKey

func (b MsgBlockInfo) GetKey() string

func (MsgBlockInfo) GetValue

func (b MsgBlockInfo) GetValue() string

type MsgCode

type MsgCode struct {
	Key  string
	Code string
}

func NewMsgCode

func NewMsgCode(contractAddr common.Address, code []byte, height uint64) *MsgCode

func (MsgCode) GetKey

func (m MsgCode) GetKey() string

func (MsgCode) GetValue

func (m MsgCode) GetValue() string

type MsgEthTx

type MsgEthTx struct {
	Key       string
	JsonEthTx string
}

func NewMsgEthTx

func NewMsgEthTx(tx *types.MsgEthereumTx, txHash, blockHash common.Hash, height, index uint64) *MsgEthTx

func (MsgEthTx) GetKey

func (m MsgEthTx) GetKey() string

func (MsgEthTx) GetValue

func (m MsgEthTx) GetValue() string

type MsgLatestHeight

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

func NewMsgLatestHeight

func NewMsgLatestHeight(height uint64) *MsgLatestHeight

func (MsgLatestHeight) GetKey

func (b MsgLatestHeight) GetKey() string

func (MsgLatestHeight) GetValue

func (b MsgLatestHeight) GetValue() string

type MsgTransactionReceipt

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

func NewMsgTransactionReceipt

func NewMsgTransactionReceipt(status uint32, tx *types.MsgEthereumTx, txHash, blockHash common.Hash, txIndex, height uint64, data *types.ResultData, cumulativeGas, GasUsed uint64) *MsgTransactionReceipt

func (MsgTransactionReceipt) GetKey

func (m MsgTransactionReceipt) GetKey() string

func (MsgTransactionReceipt) GetValue

func (m MsgTransactionReceipt) GetValue() string

type Querier

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

func NewQuerier

func NewQuerier() *Querier

func (*Querier) Enable

func (q *Querier) Enable(sw bool)

func (Querier) GetBlockByHash

func (q Querier) GetBlockByHash(hash common.Hash, fullTx bool) (*EthBlock, error)

func (Querier) GetBlockByNumber

func (q Querier) GetBlockByNumber(number uint64, fullTx bool) (*EthBlock, error)

func (Querier) GetCode

func (q Querier) GetCode(contractAddr common.Address, height uint64) ([]byte, error)

func (Querier) GetLatestBlockNumber

func (q Querier) GetLatestBlockNumber() (uint64, error)

func (Querier) GetTransactionByBlockHashAndIndex

func (q Querier) GetTransactionByBlockHashAndIndex(hash common.Hash, idx uint) (*rpctypes.Transaction, error)

func (Querier) GetTransactionByBlockNumberAndIndex

func (q Querier) GetTransactionByBlockNumberAndIndex(number uint64, idx uint) (*rpctypes.Transaction, error)

func (Querier) GetTransactionByHash

func (q Querier) GetTransactionByHash(hash common.Hash) (*rpctypes.Transaction, error)

func (Querier) GetTransactionReceipt

func (q Querier) GetTransactionReceipt(hash common.Hash) (*TransactionReceipt, error)

type TransactionReceipt

type TransactionReceipt struct {
	Status            hexutil.Uint64  `json:"status"`
	CumulativeGasUsed hexutil.Uint64  `json:"cumulativeGasUsed"`
	LogsBloom         ethtypes.Bloom  `json:"logsBloom"`
	Logs              []*ethtypes.Log `json:"logs"`
	TransactionHash   string          `json:"transactionHash"`
	ContractAddress   *common.Address `json:"contractAddress"`
	GasUsed           hexutil.Uint64  `json:"gasUsed"`
	BlockHash         string          `json:"blockHash"`
	BlockNumber       hexutil.Uint64  `json:"blockNumber"`
	TransactionIndex  hexutil.Uint64  `json:"transactionIndex"`
	From              string          `json:"from"`
	To                *common.Address `json:"to"`
}

type WatchMessage

type WatchMessage interface {
	GetKey() string
	GetValue() string
}

type WatchStore

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

func InstanceOfWatchStore

func InstanceOfWatchStore() *WatchStore

func (WatchStore) Get

func (w WatchStore) Get(key []byte) ([]byte, error)

func (WatchStore) Set

func (w WatchStore) Set(key []byte, value []byte)

type Watcher

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

func NewWatcher

func NewWatcher() *Watcher

func (*Watcher) Commit

func (w *Watcher) Commit()

func (*Watcher) Enable

func (w *Watcher) Enable(sw bool)

func (*Watcher) NewHeight

func (w *Watcher) NewHeight(height uint64, blockHash common.Hash, header types.Header)

func (*Watcher) SaveBlock

func (w *Watcher) SaveBlock(bloom ethtypes.Bloom)

func (*Watcher) SaveContractCode

func (w *Watcher) SaveContractCode(addr common.Address, code []byte)

func (*Watcher) SaveEthereumTx

func (w *Watcher) SaveEthereumTx(msg types2.MsgEthereumTx, txHash common.Hash, index uint64)

func (*Watcher) SaveLatestHeight

func (w *Watcher) SaveLatestHeight(height uint64)

func (*Watcher) SaveTransactionReceipt

func (w *Watcher) SaveTransactionReceipt(status uint32, msg types2.MsgEthereumTx, txHash common.Hash, txIndex uint64, data *types2.ResultData, gasUsed uint64)

func (*Watcher) UpdateBlockTxs

func (w *Watcher) UpdateBlockTxs(txHash common.Hash)

func (*Watcher) UpdateCumulativeGas

func (w *Watcher) UpdateCumulativeGas(txIndex, gasUsed uint64)

Jump to

Keyboard shortcuts

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