common

package
v0.0.1-beta Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DEFAULT_BLOCKS_PER_REQUEST = 1000

TODO: we should detect this automatically

View Source
var DEFAULT_LOGS_PER_REQUEST = 100
View Source
var DEFAULT_TRACES_PER_REQUEST = 100

Functions

This section is empty.

Types

type Block

type Block struct {
	ChainId          *big.Int `json:"chain_id"`
	Number           *big.Int `json:"number"`
	Hash             string   `json:"hash"`
	ParentHash       string   `json:"parent_hash"`
	Timestamp        uint64   `json:"timestamp"`
	Nonce            string   `json:"nonce"`
	Sha3Uncles       string   `json:"sha3_uncles"`
	MixHash          string   `json:"mix_hash"`
	Miner            string   `json:"miner"`
	StateRoot        string   `json:"state_root"`
	TransactionsRoot string   `json:"transactions_root"`
	ReceiptsRoot     string   `json:"receipts_root"`
	LogsBloom        string   `json:"logs_bloom"`
	Size             uint64   `json:"size"`
	ExtraData        string   `json:"extra_data"`
	Difficulty       *big.Int `json:"difficulty"`
	TotalDifficulty  *big.Int `json:"total_difficulty"`
	TransactionCount uint64   `json:"transaction_count"`
	GasLimit         *big.Int `json:"gas_limit"`
	GasUsed          *big.Int `json:"gas_used"`
	WithdrawalsRoot  string   `json:"withdrawals_root"`
	BaseFeePerGas    uint64   `json:"base_fee_per_gas"`
}

type BlockData

type BlockData struct {
	Block        Block
	Transactions []Transaction
	Logs         []Log
	Traces       []Trace
}

type BlockFailure

type BlockFailure struct {
	BlockNumber   *big.Int
	ChainId       *big.Int
	FailureTime   time.Time
	FailureReason string
	FailureCount  int
}

type BlocksPerRequest

type BlocksPerRequest struct {
	Blocks int
	Logs   int
	Traces int
}

type Log

type Log struct {
	ChainId          *big.Int `json:"chain_id"`
	BlockNumber      *big.Int `json:"block_number"`
	BlockHash        string   `json:"block_hash"`
	BlockTimestamp   uint64   `json:"block_timestamp"`
	TransactionHash  string   `json:"transaction_hash"`
	TransactionIndex uint64   `json:"transaction_index"`
	LogIndex         uint64   `json:"log_index"`
	Address          string   `json:"address"`
	Data             string   `json:"data"`
	Topics           []string `json:"topics"`
}

type RPC

type RPC struct {
	RPCClient          *rpc.Client
	EthClient          *ethclient.Client
	SupportsTraceBlock bool
	IsWebsocket        bool
	URL                string
	ChainID            *big.Int
	BlocksPerRequest   BlocksPerRequest
}

func InitializeRPC

func InitializeRPC() (*RPC, error)

func (*RPC) Close

func (rpc *RPC) Close()

type Trace

type Trace struct {
	ChainID          *big.Int `json:"chain_id"`
	BlockNumber      *big.Int `json:"block_number"`
	BlockHash        string   `json:"block_hash"`
	BlockTimestamp   uint64   `json:"block_timestamp"`
	TransactionHash  string   `json:"transaction_hash"`
	TransactionIndex uint64   `json:"transaction_index"`
	Subtraces        int64    `json:"subtraces"`
	TraceAddress     []uint64 `json:"trace_address"`
	TraceType        string   `json:"trace_type"`
	CallType         string   `json:"call_type"`
	Error            string   `json:"error"`
	FromAddress      string   `json:"from_address"`
	ToAddress        string   `json:"to_address"`
	Gas              *big.Int `json:"gas"`
	GasUsed          *big.Int `json:"gas_used"`
	Input            string   `json:"input"`
	Output           string   `json:"output"`
	Value            *big.Int `json:"value"`
	Author           string   `json:"author"`
	RewardType       string   `json:"reward_type"`
	RefundAddress    string   `json:"refund_address"`
}

type Transaction

type Transaction struct {
	ChainId              *big.Int `json:"chain_id"`
	Hash                 string   `json:"hash"`
	Nonce                uint64   `json:"nonce"`
	BlockHash            string   `json:"block_hash"`
	BlockNumber          *big.Int `json:"block_number"`
	BlockTimestamp       uint64   `json:"block_timestamp"`
	TransactionIndex     uint64   `json:"transaction_index"`
	FromAddress          string   `json:"from_address"`
	ToAddress            string   `json:"to_address"`
	Value                *big.Int `json:"value"`
	Gas                  uint64   `json:"gas"`
	GasPrice             *big.Int `json:"gas_price"`
	Data                 string   `json:"data"`
	MaxFeePerGas         *big.Int `json:"max_fee_per_gas"`
	MaxPriorityFeePerGas *big.Int `json:"max_priority_fee_per_gas"`
	TransactionType      uint8    `json:"transaction_type"`
	R                    *big.Int `json:"r"`
	S                    *big.Int `json:"s"`
	V                    *big.Int `json:"v"`
	AccessListJson       string   `json:"access_list_json"`
}

Jump to

Keyboard shortcuts

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