package
0.0.0-20230803065340-eb934a0893fc
Repository: https://github.com/sliceledger-blockchain/slice-ledger.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

AvailableReceiptsFetchingMethods selects receipt fetching methods based on the RPC provider kind.
No description provided by the author
No description provided by the author
No description provided by the author
LimitRPC limits concurrent RPC requests (excluding subscriptions) to a given number by wrapping the client with a semaphore.
No description provided by the author
No description provided by the author
NewEthClient returns an [EthClient], wrapping an RPC with bindings to fetch ethereum data with added error logging, metric tracking, and caching.
NewIterativeBatchCall constructs a batch call, fetching the values with the given keys, and transforms them into a verified final result.
NewL1Client wraps a RPC with bindings to fetch L1 data, while logging errors, tracking metrics (optional), and caching.
NewL2Client constructs a new L2Client instance.
No description provided by the author
No description provided by the author
No description provided by the author
PickBestReceiptsFetchingMethod selects an RPC method that is still available, and optimal for fetching the given number of tx receipts from the specified provider kind.
No description provided by the author
No description provided by the author

# Constants

AlchemyGetTransactionReceipts is a special receipt fetching method provided by Alchemy.
DebugGetRawReceipts is a debug method from Geth, faster by avoiding serialization and metadata overhead.
ErigonGetBlockReceiptsByBlockHash is an Erigon-specific receipt fetching method, the same as EthGetBlockReceipts but supporting a block-hash argument.
EthGetBlockReceipts is a non-standard receipt fetching method in the eth namespace, supported by some RPC platforms.
EthGetTransactionReceiptBatch is standard per-tx receipt fetching with JSON-RPC batches.
ParityGetBlockReceipts is an old parity method, which has been adopted by Nethermind and some RPC providers.
No description provided by the author
try any method available.
try only the standard most basic receipt fetching.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
RpcSyncPeer is a mock PeerID for the RPC sync client.

# Structs

No description provided by the author
EngineClient extends L2Client with engine API bindings.
No description provided by the author
EthClient retrieves ethereum data with optimized batch requests, cached results, and flag to not trust the RPC.
No description provided by the author
IterativeBatchCall batches many RPC requests with safe and easy parallelization.
L1Client provides typed bindings to retrieve L1 data from an RPC source, with optimized batch requests, cached results, and flag to not trust the RPC (i.e.
No description provided by the author
L2Client extends EthClient with functions to fetch and cache eth.L2BlockRef values.
No description provided by the author
No description provided by the author
SyncClient implements the driver AltSync interface, including support for fetching an open-ended chain of L2 blocks.
No description provided by the author

# Interfaces

ReceiptsRequester helps determine which receipts fetching method can be used, and is given feedback upon receipt fetching errors to adapt the choice of method.
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
ReceiptsFetchingMethod is a bitfield with 1 bit for each receipts fetching type.
RPCProviderKind identifies an RPC provider, used to hint at the optimal receipt fetching approach.