Documentation
¶
Index ¶
- func BigIntSliceToChunks(values []*big.Int, chunkSize int) [][]*big.Int
- func ConstructEventABI(signature string) (*abi.Event, error)
- func ConstructFunctionABI(signature string) (*abi.Method, error)
- func GetABIForContract(chainId string, contract string) (*abi.ABI, error)
- func GetABIForContractWithCache(chainId string, contract string, abiCache map[string]*abi.ABI, mut *sync.Mutex) *abi.ABI
- func StripPayload(signature string) string
- func ValidateQuery(query string) error
- type Block
- type BlockData
- type BlockFailure
- type BlockHeader
- type DecodedLog
- type DecodedLogData
- type DecodedTransaction
- type DecodedTransactionData
- type Log
- type RawBlock
- type RawLogs
- type RawReceipt
- type RawReceipts
- type RawTraces
- type Set
- type TokenBalance
- type Trace
- type Transaction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StripPayload ¶
StripPayload removes parameter names, 'indexed' keywords, and extra whitespaces from a Solidity function or event signature.
func ValidateQuery ¶
ValidateQuery checks the query for disallowed patterns and ensures only allowed functions are used.
Types ¶
type Block ¶
type Block struct { ChainId *big.Int `json:"chain_id" ch:"chain_id"` Number *big.Int `json:"block_number" ch:"block_number"` Hash string `json:"hash" ch:"hash"` ParentHash string `json:"parent_hash" ch:"parent_hash"` Timestamp time.Time `json:"block_timestamp" ch:"block_timestamp"` Nonce string `json:"nonce" ch:"nonce"` Sha3Uncles string `json:"sha3_uncles" ch:"sha3_uncles"` MixHash string `json:"mix_hash" ch:"mix_hash"` Miner string `json:"miner" ch:"miner"` StateRoot string `json:"state_root" ch:"state_root"` TransactionsRoot string `json:"transactions_root" ch:"transactions_root"` ReceiptsRoot string `json:"receipts_root" ch:"receipts_root"` LogsBloom string `json:"logs_bloom" ch:"logs_bloom"` Size uint64 `json:"size" ch:"size"` ExtraData string `json:"extra_data" ch:"extra_data"` Difficulty *big.Int `json:"difficulty" ch:"difficulty"` TotalDifficulty *big.Int `json:"total_difficulty" ch:"total_difficulty"` TransactionCount uint64 `json:"transaction_count" ch:"transaction_count"` GasLimit *big.Int `json:"gas_limit" ch:"gas_limit"` GasUsed *big.Int `json:"gas_used" ch:"gas_used"` WithdrawalsRoot string `json:"withdrawals_root" ch:"withdrawals_root"` BaseFeePerGas uint64 `json:"base_fee_per_gas" ch:"base_fee_per_gas"` Sign int8 `json:"sign" ch:"sign"` InsertTimestamp time.Time `json:"insert_timestamp" ch:"insert_timestamp"` }
type BlockData ¶
type BlockData struct { Block Block Transactions []Transaction Logs []Log Traces []Trace }
type BlockFailure ¶
type BlockHeader ¶
type DecodedLog ¶
type DecodedLog struct { Log Decoded DecodedLogData `json:"decodedData"` }
func DecodeLogs ¶
func DecodeLogs(chainId string, logs []Log) []*DecodedLog
type DecodedLogData ¶
type DecodedTransaction ¶
type DecodedTransaction struct { Transaction Decoded DecodedTransactionData `json:"decodedData"` }
func DecodeTransactions ¶
func DecodeTransactions(chainId string, txs []Transaction) []*DecodedTransaction
type DecodedTransactionData ¶
type Log ¶
type Log struct { ChainId *big.Int `json:"chain_id" ch:"chain_id" swaggertype:"string"` BlockNumber *big.Int `json:"block_number" ch:"block_number" swaggertype:"string"` BlockHash string `json:"block_hash" ch:"block_hash"` BlockTimestamp time.Time `json:"block_timestamp" ch:"block_timestamp"` TransactionHash string `json:"transaction_hash" ch:"transaction_hash"` TransactionIndex uint64 `json:"transaction_index" ch:"transaction_index"` LogIndex uint64 `json:"log_index" ch:"log_index"` Address string `json:"address" ch:"address"` Data string `json:"data" ch:"data"` Topic0 string `json:"topic_0" ch:"topic_0"` Topic1 string `json:"topic_1" ch:"topic_1"` Topic2 string `json:"topic_2" ch:"topic_2"` Topic3 string `json:"topic_3" ch:"topic_3"` Sign int8 `json:"sign" ch:"sign"` InsertTimestamp time.Time `json:"insert_timestamp" ch:"insert_timestamp"` }
type RawReceipt ¶
type RawReceipt = map[string]interface{}
type RawReceipts ¶
type RawReceipts = []RawReceipt
type Set ¶
type Set[T comparable] struct { // contains filtered or unexported fields }
type TokenBalance ¶
type TokenBalance struct { ChainId *big.Int `json:"chain_id" ch:"chain_id"` TokenType string `json:"token_type" ch:"token_type"` TokenAddress string `json:"token_address" ch:"address"` Owner string `json:"owner" ch:"owner"` TokenId *big.Int `json:"token_id" ch:"token_id"` Balance *big.Int `json:"balance" ch:"balance"` }
type Trace ¶
type Trace struct { ChainID *big.Int `json:"chain_id" ch:"chain_id"` BlockNumber *big.Int `json:"block_number" ch:"block_number"` BlockHash string `json:"block_hash" ch:"block_hash"` BlockTimestamp time.Time `json:"block_timestamp" ch:"block_timestamp"` TransactionHash string `json:"transaction_hash" ch:"transaction_hash"` TransactionIndex uint64 `json:"transaction_index" ch:"transaction_index"` Subtraces int64 `json:"subtraces" ch:"subtraces"` TraceAddress []uint64 `json:"trace_address" ch:"trace_address"` TraceType string `json:"trace_type" ch:"type"` CallType string `json:"call_type" ch:"call_type"` Error string `json:"error" ch:"error"` FromAddress string `json:"from_address" ch:"from_address"` ToAddress string `json:"to_address" ch:"to_address"` Gas *big.Int `json:"gas" ch:"gas"` GasUsed *big.Int `json:"gas_used" ch:"gas_used"` Input string `json:"input" ch:"input"` Output string `json:"output" ch:"output"` Value *big.Int `json:"value" ch:"value"` Author string `json:"author" ch:"author"` RewardType string `json:"reward_type" ch:"reward_type"` RefundAddress string `json:"refund_address" ch:"refund_address"` Sign int8 `json:"sign" ch:"sign"` InsertTimestamp time.Time `json:"insert_timestamp" ch:"insert_timestamp"` }
type Transaction ¶
type Transaction struct { ChainId *big.Int `json:"chain_id" ch:"chain_id" swaggertype:"string"` Hash string `json:"hash" ch:"hash"` Nonce uint64 `json:"nonce" ch:"nonce"` BlockHash string `json:"block_hash" ch:"block_hash"` BlockNumber *big.Int `json:"block_number" ch:"block_number" swaggertype:"string"` BlockTimestamp time.Time `json:"block_timestamp" ch:"block_timestamp"` TransactionIndex uint64 `json:"transaction_index" ch:"transaction_index"` FromAddress string `json:"from_address" ch:"from_address"` ToAddress string `json:"to_address" ch:"to_address"` Value *big.Int `json:"value" ch:"value" swaggertype:"string"` Gas uint64 `json:"gas" ch:"gas"` GasPrice *big.Int `json:"gas_price" ch:"gas_price" swaggertype:"string"` Data string `json:"data" ch:"data"` FunctionSelector string `json:"function_selector" ch:"function_selector"` MaxFeePerGas *big.Int `json:"max_fee_per_gas" ch:"max_fee_per_gas" swaggertype:"string"` MaxPriorityFeePerGas *big.Int `json:"max_priority_fee_per_gas" ch:"max_priority_fee_per_gas" swaggertype:"string"` TransactionType uint8 `json:"transaction_type" ch:"transaction_type"` R *big.Int `json:"r" ch:"r" swaggertype:"string"` S *big.Int `json:"s" ch:"s" swaggertype:"string"` V *big.Int `json:"v" ch:"v" swaggertype:"string"` AccessListJson *string `json:"access_list_json" ch:"access_list"` ContractAddress *string `json:"contract_address" ch:"contract_address"` GasUsed *uint64 `json:"gas_used" ch:"gas_used"` CumulativeGasUsed *uint64 `json:"cumulative_gas_used" ch:"cumulative_gas_used"` EffectiveGasPrice *big.Int `json:"effective_gas_price" ch:"effective_gas_price" swaggertype:"string"` BlobGasUsed *uint64 `json:"blob_gas_used" ch:"blob_gas_used"` BlobGasPrice *big.Int `json:"blob_gas_price" ch:"blob_gas_price" swaggertype:"string"` LogsBloom *string `json:"logs_bloom" ch:"logs_bloom"` Status *uint64 `json:"status" ch:"status"` Sign int8 `json:"sign" ch:"sign"` InsertTimestamp time.Time `json:"insert_timestamp" ch:"insert_timestamp"` }
func (*Transaction) Decode ¶
func (t *Transaction) Decode(functionABI *abi.Method) *DecodedTransaction
Click to show internal directories.
Click to hide internal directories.