pub enum NotAvailable {
NotWatched(Address),
BeforeStart {
requested: u64,
start: u64,
},
AfterHead {
requested: u64,
head: u64,
},
NotSynced,
InvalidRange {
start: u64,
end: u64,
},
NeverRecorded,
UnknownBefore {
first_seen: u64,
},
Internal(String),
}Expand description
Why a read has no answer. Promise #3 lives here: a caller always learns which boundary it hit, and never receives a zero in place of “unknown”.
Variants§
NotWatched(Address)
The address is not on the watchlist.
BeforeStart
The block precedes the address’s watch start.
AfterHead
The block is beyond what the archive has applied.
NotSynced
No block has been applied yet.
InvalidRange
start >= end: a caller error, reported rather than answered with nothing.
NeverRecorded
No change to the slot has been recorded since start, and the address
was not seen being created: its value is not known. Backfill to the
contract’s creation (Archive::backfill) or prove it at the head
(Archive::bootstrap_slot).
UnknownBefore
The slot’s earliest recorded change is at first_seen; nothing is
known before it yet. Backfill further back (or prove it while the
node’s state window still allows).
Internal(String)
Storage failure surfaced through a read.
Trait Implementations§
Source§impl Clone for NotAvailable
impl Clone for NotAvailable
Source§fn clone(&self) -> NotAvailable
fn clone(&self) -> NotAvailable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NotAvailable
impl Debug for NotAvailable
Source§impl Display for NotAvailable
impl Display for NotAvailable
impl Eq for NotAvailable
Source§impl Error for NotAvailable
impl Error for NotAvailable
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ArchiveError> for NotAvailable
impl From<ArchiveError> for NotAvailable
Source§fn from(e: ArchiveError) -> Self
fn from(e: ArchiveError) -> Self
Source§impl PartialEq for NotAvailable
impl PartialEq for NotAvailable
impl StructuralPartialEq for NotAvailable
Auto Trait Implementations§
impl Freeze for NotAvailable
impl RefUnwindSafe for NotAvailable
impl Send for NotAvailable
impl Sync for NotAvailable
impl Unpin for NotAvailable
impl UnsafeUnpin for NotAvailable
impl UnwindSafe for NotAvailable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more