sepolia

package
v0.3.5 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_blockchain_sepolia_sepolia_index_types_proto protoreflect.FileDescriptor

Functions

func ToEntireBlocksBatchFromLogProto

func ToEntireBlocksBatchFromLogProto(obj *SepoliaBlocksBatch) *seer_common.BlocksBatchJson

func ToEvenFromLogProto

func ToEvenFromLogProto(obj *SepoliaEventLog) *seer_common.EventJson

Types

type Client

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

func NewClient

func NewClient(url string, timeout int) (*Client, error)

func (*Client) BlockByHash

func (c *Client) BlockByHash(ctx context.Context, hash common.Hash) (*seer_common.BlockJson, error)

BlockByHash returns the block with the given hash.

func (*Client) ChainType

func (c *Client) ChainType() string

ChainType returns the chain type.

func (*Client) ClientFilterLogs

func (c *Client) ClientFilterLogs(ctx context.Context, q ethereum.FilterQuery, debug bool) ([]*seer_common.EventJson, error)

func (*Client) Close

func (c *Client) Close()

Close closes the underlying RPC client.

func (*Client) DecodeProtoBlocks

func (c *Client) DecodeProtoBlocks(data []string) ([]*SepoliaBlock, error)

func (*Client) DecodeProtoEntireBlockToJson

func (c *Client) DecodeProtoEntireBlockToJson(rawData *bytes.Buffer) (*seer_common.BlocksBatchJson, error)

func (*Client) DecodeProtoEntireBlockToLabels

func (c *Client) DecodeProtoEntireBlockToLabels(rawData *bytes.Buffer, abiMap map[string]map[string]*indexer.AbiEntry, threads int) ([]indexer.EventLabel, []indexer.TransactionLabel, error)

func (*Client) DecodeProtoEventLogs

func (c *Client) DecodeProtoEventLogs(data []string) ([]*SepoliaEventLog, error)

func (*Client) DecodeProtoTransactions

func (c *Client) DecodeProtoTransactions(data []string) ([]*SepoliaTransaction, error)

func (*Client) DecodeProtoTransactionsToLabels

func (c *Client) DecodeProtoTransactionsToLabels(transactions []string, blocksCache map[uint64]uint64, abiMap map[string]map[string]*indexer.AbiEntry) ([]indexer.TransactionLabel, error)

func (*Client) FetchAsProtoBlocksWithEvents

func (c *Client) FetchAsProtoBlocksWithEvents(from, to *big.Int, debug bool, maxRequests int) ([]proto.Message, []indexer.BlockIndex, uint64, error)

func (*Client) FetchBlocksInRange

func (c *Client) FetchBlocksInRange(from, to *big.Int, debug bool) ([]*seer_common.BlockJson, error)

FetchBlocksInRange fetches blocks within a specified range. This could be useful for batch processing or analysis.

func (*Client) FetchBlocksInRangeAsync

func (c *Client) FetchBlocksInRangeAsync(from, to *big.Int, debug bool, maxRequests int) ([]*seer_common.BlockJson, error)

FetchBlocksInRangeAsync fetches blocks within a specified range concurrently.

func (*Client) GetBlockByNumber

func (c *Client) GetBlockByNumber(ctx context.Context, number *big.Int, withTransactions bool) (*seer_common.BlockJson, error)

GetBlockByNumber returns the block with the given number.

func (*Client) GetCode

func (c *Client) GetCode(ctx context.Context, address common.Address, blockNumber uint64) ([]byte, error)

Get bytecode of a contract by address.

func (*Client) GetEventsLabels

func (c *Client) GetEventsLabels(startBlock uint64, endBlock uint64, abiMap map[string]map[string]*indexer.AbiEntry, blocksCache map[uint64]seer_common.BlockWithTransactions) ([]indexer.EventLabel, error)

func (*Client) GetLatestBlockNumber

func (c *Client) GetLatestBlockNumber() (*big.Int, error)

GetLatestBlockNumber returns the latest block number.

func (*Client) GetTransactionByHash

func (c *Client) GetTransactionByHash(ctx context.Context, hash string) (*seer_common.TransactionJson, error)

func (*Client) GetTransactionsLabels

func (c *Client) GetTransactionsLabels(startBlock uint64, endBlock uint64, abiMap map[string]map[string]*indexer.AbiEntry, threads int) ([]indexer.TransactionLabel, map[uint64]seer_common.BlockWithTransactions, error)

func (*Client) ParseBlocksWithTransactions

func (c *Client) ParseBlocksWithTransactions(from, to *big.Int, debug bool, maxRequests int) ([]*SepoliaBlock, error)

ParseBlocksWithTransactions parses blocks and their transactions into custom data structure. This method showcases how to handle and transform detailed block and transaction data.

func (*Client) ParseEvents

func (c *Client) ParseEvents(from, to *big.Int, blocksCache map[uint64]indexer.BlockCache, debug bool) ([]*SepoliaEventLog, error)

func (*Client) ProcessBlocksToBatch

func (c *Client) ProcessBlocksToBatch(msgs []proto.Message) (proto.Message, error)

func (*Client) TransactionReceipt

func (c *Client) TransactionReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error)

TransactionReceipt returns the receipt of a transaction by transaction hash.

type SepoliaBlock

type SepoliaBlock struct {
	BlockNumber      uint64                `protobuf:"varint,1,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	Difficulty       uint64                `protobuf:"varint,2,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
	ExtraData        string                `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"`
	GasLimit         uint64                `protobuf:"varint,4,opt,name=gas_limit,json=gasLimit,proto3" json:"gas_limit,omitempty"`
	GasUsed          uint64                `protobuf:"varint,5,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
	BaseFeePerGas    string                `protobuf:"bytes,6,opt,name=base_fee_per_gas,json=baseFeePerGas,proto3" json:"base_fee_per_gas,omitempty"` // using string to handle big numeric values
	Hash             string                `protobuf:"bytes,7,opt,name=hash,proto3" json:"hash,omitempty"`
	LogsBloom        string                `protobuf:"bytes,8,opt,name=logs_bloom,json=logsBloom,proto3" json:"logs_bloom,omitempty"`
	Miner            string                `protobuf:"bytes,9,opt,name=miner,proto3" json:"miner,omitempty"`
	Nonce            string                `protobuf:"bytes,10,opt,name=nonce,proto3" json:"nonce,omitempty"`
	ParentHash       string                `protobuf:"bytes,11,opt,name=parent_hash,json=parentHash,proto3" json:"parent_hash,omitempty"`
	ReceiptsRoot     string                `protobuf:"bytes,12,opt,name=receipts_root,json=receiptsRoot,proto3" json:"receipts_root,omitempty"`
	Sha3Uncles       string                `protobuf:"bytes,13,opt,name=sha3_uncles,json=sha3Uncles,proto3" json:"sha3_uncles,omitempty"`
	Size             uint64                `protobuf:"varint,14,opt,name=size,proto3" json:"size,omitempty"`
	StateRoot        string                `protobuf:"bytes,15,opt,name=state_root,json=stateRoot,proto3" json:"state_root,omitempty"`
	Timestamp        uint64                `protobuf:"varint,16,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	TotalDifficulty  string                `protobuf:"bytes,17,opt,name=total_difficulty,json=totalDifficulty,proto3" json:"total_difficulty,omitempty"`
	TransactionsRoot string                `protobuf:"bytes,18,opt,name=transactions_root,json=transactionsRoot,proto3" json:"transactions_root,omitempty"`
	IndexedAt        uint64                `protobuf:"varint,19,opt,name=indexed_at,json=indexedAt,proto3" json:"indexed_at,omitempty"` // using uint64 to represent timestamp
	Transactions     []*SepoliaTransaction `protobuf:"bytes,20,rep,name=transactions,proto3" json:"transactions,omitempty"`
	// contains filtered or unexported fields
}

Represents a single blockchain block

func ToProtoSingleBlock

func ToProtoSingleBlock(obj *seer_common.BlockJson) *SepoliaBlock

func (*SepoliaBlock) Descriptor deprecated

func (*SepoliaBlock) Descriptor() ([]byte, []int)

Deprecated: Use SepoliaBlock.ProtoReflect.Descriptor instead.

func (*SepoliaBlock) GetBaseFeePerGas

func (x *SepoliaBlock) GetBaseFeePerGas() string

func (*SepoliaBlock) GetBlockNumber

func (x *SepoliaBlock) GetBlockNumber() uint64

func (*SepoliaBlock) GetDifficulty

func (x *SepoliaBlock) GetDifficulty() uint64

func (*SepoliaBlock) GetExtraData

func (x *SepoliaBlock) GetExtraData() string

func (*SepoliaBlock) GetGasLimit

func (x *SepoliaBlock) GetGasLimit() uint64

func (*SepoliaBlock) GetGasUsed

func (x *SepoliaBlock) GetGasUsed() uint64

func (*SepoliaBlock) GetHash

func (x *SepoliaBlock) GetHash() string

func (*SepoliaBlock) GetIndexedAt

func (x *SepoliaBlock) GetIndexedAt() uint64

func (*SepoliaBlock) GetLogsBloom

func (x *SepoliaBlock) GetLogsBloom() string

func (*SepoliaBlock) GetMiner

func (x *SepoliaBlock) GetMiner() string

func (*SepoliaBlock) GetNonce

func (x *SepoliaBlock) GetNonce() string

func (*SepoliaBlock) GetParentHash

func (x *SepoliaBlock) GetParentHash() string

func (*SepoliaBlock) GetReceiptsRoot

func (x *SepoliaBlock) GetReceiptsRoot() string

func (*SepoliaBlock) GetSha3Uncles

func (x *SepoliaBlock) GetSha3Uncles() string

func (*SepoliaBlock) GetSize

func (x *SepoliaBlock) GetSize() uint64

func (*SepoliaBlock) GetStateRoot

func (x *SepoliaBlock) GetStateRoot() string

func (*SepoliaBlock) GetTimestamp

func (x *SepoliaBlock) GetTimestamp() uint64

func (*SepoliaBlock) GetTotalDifficulty

func (x *SepoliaBlock) GetTotalDifficulty() string

func (*SepoliaBlock) GetTransactions

func (x *SepoliaBlock) GetTransactions() []*SepoliaTransaction

func (*SepoliaBlock) GetTransactionsRoot

func (x *SepoliaBlock) GetTransactionsRoot() string

func (*SepoliaBlock) ProtoMessage

func (*SepoliaBlock) ProtoMessage()

func (*SepoliaBlock) ProtoReflect

func (x *SepoliaBlock) ProtoReflect() protoreflect.Message

func (*SepoliaBlock) Reset

func (x *SepoliaBlock) Reset()

func (*SepoliaBlock) String

func (x *SepoliaBlock) String() string

type SepoliaBlocksBatch

type SepoliaBlocksBatch struct {
	Blocks      []*SepoliaBlock `protobuf:"bytes,1,rep,name=blocks,proto3" json:"blocks,omitempty"`
	SeerVersion string          `protobuf:"bytes,2,opt,name=seer_version,json=seerVersion,proto3" json:"seer_version,omitempty"`
	// contains filtered or unexported fields
}

func (*SepoliaBlocksBatch) Descriptor deprecated

func (*SepoliaBlocksBatch) Descriptor() ([]byte, []int)

Deprecated: Use SepoliaBlocksBatch.ProtoReflect.Descriptor instead.

func (*SepoliaBlocksBatch) GetBlocks

func (x *SepoliaBlocksBatch) GetBlocks() []*SepoliaBlock

func (*SepoliaBlocksBatch) GetSeerVersion

func (x *SepoliaBlocksBatch) GetSeerVersion() string

func (*SepoliaBlocksBatch) ProtoMessage

func (*SepoliaBlocksBatch) ProtoMessage()

func (*SepoliaBlocksBatch) ProtoReflect

func (x *SepoliaBlocksBatch) ProtoReflect() protoreflect.Message

func (*SepoliaBlocksBatch) Reset

func (x *SepoliaBlocksBatch) Reset()

func (*SepoliaBlocksBatch) String

func (x *SepoliaBlocksBatch) String() string

type SepoliaEventLog

type SepoliaEventLog struct {
	Address          string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`                                            // The address of the contract that generated the log
	Topics           []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`                                              // Topics are indexed parameters during log generation
	Data             string   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`                                                  // The data field from the log
	BlockNumber      uint64   `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`                // The block number where this log was in
	TransactionHash  string   `protobuf:"bytes,5,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"`     // The hash of the transaction that generated this log
	BlockHash        string   `protobuf:"bytes,6,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`                       // The hash of the block where this log was in
	Removed          bool     `protobuf:"varint,7,opt,name=removed,proto3" json:"removed,omitempty"`                                           // True if the log was reverted due to a chain reorganization
	LogIndex         uint64   `protobuf:"varint,8,opt,name=log_index,json=logIndex,proto3" json:"log_index,omitempty"`                         // The index of the log in the block
	TransactionIndex uint64   `protobuf:"varint,9,opt,name=transaction_index,json=transactionIndex,proto3" json:"transaction_index,omitempty"` // The index of the transaction in the block
	// contains filtered or unexported fields
}

func ToProtoSingleEventLog

func ToProtoSingleEventLog(obj *seer_common.EventJson) *SepoliaEventLog

func (*SepoliaEventLog) Descriptor deprecated

func (*SepoliaEventLog) Descriptor() ([]byte, []int)

Deprecated: Use SepoliaEventLog.ProtoReflect.Descriptor instead.

func (*SepoliaEventLog) GetAddress

func (x *SepoliaEventLog) GetAddress() string

func (*SepoliaEventLog) GetBlockHash

func (x *SepoliaEventLog) GetBlockHash() string

func (*SepoliaEventLog) GetBlockNumber

func (x *SepoliaEventLog) GetBlockNumber() uint64

func (*SepoliaEventLog) GetData

func (x *SepoliaEventLog) GetData() string

func (*SepoliaEventLog) GetLogIndex

func (x *SepoliaEventLog) GetLogIndex() uint64

func (*SepoliaEventLog) GetRemoved

func (x *SepoliaEventLog) GetRemoved() bool

func (*SepoliaEventLog) GetTopics

func (x *SepoliaEventLog) GetTopics() []string

func (*SepoliaEventLog) GetTransactionHash

func (x *SepoliaEventLog) GetTransactionHash() string

func (*SepoliaEventLog) GetTransactionIndex

func (x *SepoliaEventLog) GetTransactionIndex() uint64

func (*SepoliaEventLog) ProtoMessage

func (*SepoliaEventLog) ProtoMessage()

func (*SepoliaEventLog) ProtoReflect

func (x *SepoliaEventLog) ProtoReflect() protoreflect.Message

func (*SepoliaEventLog) Reset

func (x *SepoliaEventLog) Reset()

func (*SepoliaEventLog) String

func (x *SepoliaEventLog) String() string

type SepoliaTransaction

type SepoliaTransaction struct {
	Hash                 string                          `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	BlockNumber          uint64                          `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	FromAddress          string                          `protobuf:"bytes,3,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty"`
	ToAddress            string                          `protobuf:"bytes,4,opt,name=to_address,json=toAddress,proto3" json:"to_address,omitempty"`
	Gas                  string                          `protobuf:"bytes,5,opt,name=gas,proto3" json:"gas,omitempty"` // using string to handle big numeric values
	GasPrice             string                          `protobuf:"bytes,6,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"`
	MaxFeePerGas         string                          `protobuf:"bytes,7,opt,name=max_fee_per_gas,json=maxFeePerGas,proto3" json:"max_fee_per_gas,omitempty"`
	MaxPriorityFeePerGas string                          ``                                                                /* 127-byte string literal not displayed */
	Input                string                          `protobuf:"bytes,9,opt,name=input,proto3" json:"input,omitempty"` // could be a long text
	Nonce                string                          `protobuf:"bytes,10,opt,name=nonce,proto3" json:"nonce,omitempty"`
	TransactionIndex     uint64                          `protobuf:"varint,11,opt,name=transaction_index,json=transactionIndex,proto3" json:"transaction_index,omitempty"`
	TransactionType      uint64                          `protobuf:"varint,12,opt,name=transaction_type,json=transactionType,proto3" json:"transaction_type,omitempty"`
	Value                string                          `protobuf:"bytes,13,opt,name=value,proto3" json:"value,omitempty"`                                          // using string to handle big numeric values
	IndexedAt            uint64                          `protobuf:"varint,14,opt,name=indexed_at,json=indexedAt,proto3" json:"indexed_at,omitempty"`                // using uint64 to represent timestamp
	BlockTimestamp       uint64                          `protobuf:"varint,15,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` // using uint64 to represent timestam
	BlockHash            string                          `protobuf:"bytes,16,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`                 // Added field for block hash
	ChainId              string                          `protobuf:"bytes,17,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`                       // Used as a field to match potential EIP-1559 transaction types
	V                    string                          `protobuf:"bytes,18,opt,name=v,proto3" json:"v,omitempty"`                                                  // Used as a field to match potential EIP-1559 transaction types
	R                    string                          `protobuf:"bytes,19,opt,name=r,proto3" json:"r,omitempty"`                                                  // Used as a field to match potential EIP-1559 transaction types
	S                    string                          `protobuf:"bytes,20,opt,name=s,proto3" json:"s,omitempty"`                                                  // Used as a field to match potential EIP-1559 transaction types
	AccessList           []*SepoliaTransactionAccessList `protobuf:"bytes,21,rep,name=access_list,json=accessList,proto3" json:"access_list,omitempty"`
	YParity              string                          `protobuf:"bytes,22,opt,name=y_parity,json=yParity,proto3" json:"y_parity,omitempty"` // Used as a field to match potential EIP-1559 transaction types
	Logs                 []*SepoliaEventLog              `protobuf:"bytes,23,rep,name=logs,proto3" json:"logs,omitempty"`                      // The logs generated by this transaction
	// contains filtered or unexported fields
}

Represents a single transaction within a block

func ToProtoSingleTransaction

func ToProtoSingleTransaction(obj *seer_common.TransactionJson) *SepoliaTransaction

func (*SepoliaTransaction) Descriptor deprecated

func (*SepoliaTransaction) Descriptor() ([]byte, []int)

Deprecated: Use SepoliaTransaction.ProtoReflect.Descriptor instead.

func (*SepoliaTransaction) GetAccessList

func (x *SepoliaTransaction) GetAccessList() []*SepoliaTransactionAccessList

func (*SepoliaTransaction) GetBlockHash

func (x *SepoliaTransaction) GetBlockHash() string

func (*SepoliaTransaction) GetBlockNumber

func (x *SepoliaTransaction) GetBlockNumber() uint64

func (*SepoliaTransaction) GetBlockTimestamp

func (x *SepoliaTransaction) GetBlockTimestamp() uint64

func (*SepoliaTransaction) GetChainId

func (x *SepoliaTransaction) GetChainId() string

func (*SepoliaTransaction) GetFromAddress

func (x *SepoliaTransaction) GetFromAddress() string

func (*SepoliaTransaction) GetGas

func (x *SepoliaTransaction) GetGas() string

func (*SepoliaTransaction) GetGasPrice

func (x *SepoliaTransaction) GetGasPrice() string

func (*SepoliaTransaction) GetHash

func (x *SepoliaTransaction) GetHash() string

func (*SepoliaTransaction) GetIndexedAt

func (x *SepoliaTransaction) GetIndexedAt() uint64

func (*SepoliaTransaction) GetInput

func (x *SepoliaTransaction) GetInput() string

func (*SepoliaTransaction) GetLogs

func (x *SepoliaTransaction) GetLogs() []*SepoliaEventLog

func (*SepoliaTransaction) GetMaxFeePerGas

func (x *SepoliaTransaction) GetMaxFeePerGas() string

func (*SepoliaTransaction) GetMaxPriorityFeePerGas

func (x *SepoliaTransaction) GetMaxPriorityFeePerGas() string

func (*SepoliaTransaction) GetNonce

func (x *SepoliaTransaction) GetNonce() string

func (*SepoliaTransaction) GetR

func (x *SepoliaTransaction) GetR() string

func (*SepoliaTransaction) GetS

func (x *SepoliaTransaction) GetS() string

func (*SepoliaTransaction) GetToAddress

func (x *SepoliaTransaction) GetToAddress() string

func (*SepoliaTransaction) GetTransactionIndex

func (x *SepoliaTransaction) GetTransactionIndex() uint64

func (*SepoliaTransaction) GetTransactionType

func (x *SepoliaTransaction) GetTransactionType() uint64

func (*SepoliaTransaction) GetV

func (x *SepoliaTransaction) GetV() string

func (*SepoliaTransaction) GetValue

func (x *SepoliaTransaction) GetValue() string

func (*SepoliaTransaction) GetYParity

func (x *SepoliaTransaction) GetYParity() string

func (*SepoliaTransaction) ProtoMessage

func (*SepoliaTransaction) ProtoMessage()

func (*SepoliaTransaction) ProtoReflect

func (x *SepoliaTransaction) ProtoReflect() protoreflect.Message

func (*SepoliaTransaction) Reset

func (x *SepoliaTransaction) Reset()

func (*SepoliaTransaction) String

func (x *SepoliaTransaction) String() string

type SepoliaTransactionAccessList

type SepoliaTransactionAccessList struct {
	Address     string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	StorageKeys []string `protobuf:"bytes,2,rep,name=storage_keys,json=storageKeys,proto3" json:"storage_keys,omitempty"`
	// contains filtered or unexported fields
}

func (*SepoliaTransactionAccessList) Descriptor deprecated

func (*SepoliaTransactionAccessList) Descriptor() ([]byte, []int)

Deprecated: Use SepoliaTransactionAccessList.ProtoReflect.Descriptor instead.

func (*SepoliaTransactionAccessList) GetAddress

func (x *SepoliaTransactionAccessList) GetAddress() string

func (*SepoliaTransactionAccessList) GetStorageKeys

func (x *SepoliaTransactionAccessList) GetStorageKeys() []string

func (*SepoliaTransactionAccessList) ProtoMessage

func (*SepoliaTransactionAccessList) ProtoMessage()

func (*SepoliaTransactionAccessList) ProtoReflect

func (*SepoliaTransactionAccessList) Reset

func (x *SepoliaTransactionAccessList) Reset()

func (*SepoliaTransactionAccessList) String

Jump to

Keyboard shortcuts

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