Enum ProviderError
pub enum ProviderError {
Show 44 variants
Database(DatabaseError),
Bal(BalError),
Pruning(PruneSegmentError),
StaticFileWriter(StaticFileWriterError),
Rlp(Error),
TrieWitnessError(String),
SenderRecoveryError,
BlockHashNotFound(FixedBytes<32>),
BlockBodyIndicesNotFound(u64),
StorageChangesetNotFound {
block_number: u64,
address: Address,
storage_key: Box<FixedBytes<32>>,
},
AccountChangesetNotFound {
block_number: u64,
address: Address,
},
HeaderNotFound(HashOrNumber),
TransactionNotFound(HashOrNumber),
ReceiptNotFound(HashOrNumber),
BestBlockNotFound,
FinalizedBlockNotFound,
SafeBlockNotFound,
UnknownBlockHash(FixedBytes<32>),
StateForHashNotFound(FixedBytes<32>),
StateForNumberNotFound(u64),
BlockNumberForTransactionIndexNotFound,
StateRootMismatch(Box<RootMismatch>),
UnwindStateRootMismatch(Box<RootMismatch>),
StateAtBlockPruned(u64),
BlockNotExecuted {
requested: u64,
executed: u64,
},
BlockExpired {
requested: u64,
earliest_available: u64,
},
UnsupportedProvider,
MissingStaticFileSegmentPath(StaticFileSegment, PathBuf),
MissingStaticFilePath(PathBuf),
MissingHighestStaticFileBlock(StaticFileSegment),
MissingStaticFileBlock(StaticFileSegment, u64),
MissingStaticFileTx(StaticFileSegment, u64),
FinalizedStaticFile(StaticFileSegment, u64),
UnexpectedStaticFileBlockNumber(StaticFileSegment, u64, u64),
UnexpectedStaticFileTxNumber(StaticFileSegment, u64, u64),
CorruptedChangeSetStaticFile,
UnboundedStartUnsupported,
ReadOnlyStaticFileAccess,
ConsistentView(Box<ConsistentViewError>),
InvalidStorageOutput,
MissingTrieUpdates(FixedBytes<32>),
InsufficientChangesets {
requested: u64,
available: RangeInclusive<u64>,
},
MustUnwind {
data_source: &'static str,
unwind_to: u64,
},
Other(AnyError),
}Expand description
Bundled errors variants thrown by various providers.
Database error.
BAL error.
Pruning error.
Static file writer error.
RLP error.
Trie witness error.
Error when recovering the sender for a transaction
The header number was not found for the given block hash.
A block body is missing.
The transition ID was found for the given address and storage key, but the changeset was not found.
Fields
The block number found for the address and storage key.
The block number was found for the given address, but the changeset was not found.
Fields
Block number found for the address.
When required header related data was not found but was required.
The specific transaction identified by hash or id is missing.
The specific receipt for a transaction identified by hash or id is missing
Unable to find the best block.
Unable to find the finalized block.
Unable to find the safe block.
Thrown when we failed to lookup a block for the pending state.
Thrown when we were unable to find a state for a block hash.
Thrown when we were unable to find a state for a block number.
Unable to find the block number for a given transaction index.
Root mismatch.
Root mismatch during unwind
State is not available for the given block number because it is pruned.
State is not available because the block has not been executed yet.
Fields
The block number that was requested.
The latest executed block number.
Block data is not available because history has expired.
The requested block number is below the earliest available block.
Fields
The block number that was requested.
The earliest available block number.
Provider does not support this particular request.
Available on crate feature std only.
Static File is not found at specified path.
Available on crate feature std only.
Static File is not found at specified path.
Highest block is not found for static file block.
Static File is not found for requested block.
Static File is not found for requested transaction.
Static File is finalized and cannot be written to.
Trying to insert data from an unexpected block number.
Trying to insert data from an unexpected block number.
Changeset static file is corrupted, and does not have offsets for changesets in each block
Error when constructing hashed post state reverts
Static File Provider was initialized as read-only.
Consistent view error.
Received invalid output from configured storage implementation.
Missing trie updates.
Insufficient changesets to revert to the requested block.
Fields
The block number requested for reversion
The available range of blocks with changesets
Inconsistency detected between static files/rocksdb and the DB during
ProviderFactory::check_consistency. The database must be unwound to
the specified block number to restore consistency.
Fields
The inconsistent data source(s).
The block number to which the database must be unwound.
Any other error type wrapped into a cloneable [AnyError].
§
§
Causes self to use its Binary implementation when Debug-formatted.
§
Causes self to use its Display implementation when
Debug-formatted.
§
Causes self to use its LowerExp implementation when
Debug-formatted.
§
Causes self to use its LowerHex implementation when
Debug-formatted.
§
Causes self to use its Octal implementation when Debug-formatted.
§
Causes self to use its Pointer implementation when
Debug-formatted.
§
Causes self to use its UpperExp implementation when
Debug-formatted.
§
Causes self to use its UpperHex implementation when
Debug-formatted.
§
§
§
Calls .tap() only in debug builds, and is erased in release builds.
§
Calls .tap_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref_mut() only in debug builds, and is erased in release
builds.
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes
Size for each variant:
Database: 39 bytesBal: 1 bytePruning: 1 byteStaticFileWriter: 31 bytesRlp: 31 bytesTrieWitnessError: 31 bytesSenderRecoveryError: 0 bytesBlockHashNotFound: 32 bytesBlockBodyIndicesNotFound: 15 bytesStorageChangesetNotFound: 39 bytesAccountChangesetNotFound: 31 bytesHeaderNotFound: 47 bytesTransactionNotFound: 47 bytesReceiptNotFound: 47 bytesBestBlockNotFound: 0 bytesFinalizedBlockNotFound: 0 bytesSafeBlockNotFound: 0 bytesUnknownBlockHash: 32 bytesStateForHashNotFound: 32 bytesStateForNumberNotFound: 15 bytesBlockNumberForTransactionIndexNotFound: 0 bytesStateRootMismatch: 15 bytesUnwindStateRootMismatch: 15 bytesStateAtBlockPruned: 15 bytesBlockNotExecuted: 23 bytesBlockExpired: 23 bytesUnsupportedProvider: 0 bytesMissingStaticFileSegmentPath: 31 bytesMissingStaticFilePath: 31 bytesMissingHighestStaticFileBlock: 1 byteMissingStaticFileBlock: 15 bytesMissingStaticFileTx: 15 bytesFinalizedStaticFile: 15 bytesUnexpectedStaticFileBlockNumber: 23 bytesUnexpectedStaticFileTxNumber: 23 bytesCorruptedChangeSetStaticFile: 0 bytesUnboundedStartUnsupported: 0 bytesReadOnlyStaticFileAccess: 0 bytesConsistentView: 15 bytesInvalidStorageOutput: 0 bytesMissingTrieUpdates: 32 bytesInsufficientChangesets: 39 bytesMustUnwind: 31 bytesOther: 23 bytes