[−][src]Enum grin_chain::ErrorKind
Chain error definitions
Variants
Unfit(String)
The block doesn't fit anywhere in our chain
Orphan
Special case of orphan blocks
DifficultyTooLow
Difficulty is too low either compared to ours or the block PoW hash
WrongTotalDifficulty
Addition of difficulties on all previous block is wrong
LowEdgebits
Block header edge_bits is lower than our min
InvalidScaling
Scaling factor between primary and secondary PoW is invalid
InvalidPow
The proof of work is invalid
OldBlock
Peer abusively sending us an old block we already have
InvalidBlockProof(Error)
The block doesn't sum correctly or a tx signature is invalid
InvalidBlockTime
Block time is too old
InvalidBlockHeight
Block height is invalid (not previous + 1)
InvalidRoot
One of the root hashes in the block is invalid
InvalidMMRSize
One of the MMR sizes in the block header is invalid
Keychain(Error)
Error from underlying keychain impl
Secp(Error)
Error from underlying secp lib
AlreadySpent(Commitment)
One of the inputs in the block has already been spent
DuplicateCommitment(Commitment)
An output with that commitment already exists (should be unique)
ImmatureCoinbase
Attempt to spend a coinbase output before it sufficiently matures.
MerkleProof
Error validating a Merkle proof (coinbase output)
OutputNotFound
output not found
OutputSpent
output spent
InvalidBlockVersion(u16)
Invalid block version, either a mistake or outdated software
InvalidTxHashSet(String)
We've been provided a bad txhashset
StoreErr(Error, String)
Internal issue when trying to save or load data from store
FileReadErr(String)
Internal issue when trying to save or load data from append only files
SerErr(Error)
Error serializing or deserializing a type
TxHashSetErr(String)
Error with the txhashset
TxLockHeight
Tx not valid based on lock_height.
GenesisBlockRequired
No chain exists and genesis block is required
Transaction(Error)
Error from underlying tx handling
Other(String)
Anything else
Committed(Error)
Error from summing and verifying kernel sums via committed trait.
Trait Implementations
impl PartialEq<ErrorKind> for ErrorKind
[src]
impl PartialEq<ErrorKind> for ErrorKind
fn eq(&self, other: &ErrorKind) -> bool
[src]
fn eq(&self, other: &ErrorKind) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &ErrorKind) -> bool
[src]
fn ne(&self, other: &ErrorKind) -> bool
This method tests for !=
.
impl From<ErrorKind> for Error
[src]
impl From<ErrorKind> for Error
impl Clone for ErrorKind
[src]
impl Clone for ErrorKind
fn clone(&self) -> ErrorKind
[src]
fn clone(&self) -> ErrorKind
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Eq for ErrorKind
[src]
impl Eq for ErrorKind
impl Debug for ErrorKind
[src]
impl Debug for ErrorKind
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Display for ErrorKind
[src]
impl Display for ErrorKind
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Fail for ErrorKind
[src]
impl Fail for ErrorKind
fn cause(&self) -> Option<&dyn Fail>
[src]
fn cause(&self) -> Option<&dyn Fail>
Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more
fn backtrace(&self) -> Option<&Backtrace>
[src]
fn backtrace(&self) -> Option<&Backtrace>
Returns a reference to the Backtrace
carried by this failure, if it carries one. Read more
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
Provides context for this failure. Read more
fn compat(self) -> Compat<Self>
[src]
fn compat(self) -> Compat<Self>
Wraps this failure in a compatibility wrapper that implements std::error::Error
. Read more
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
impl<T> ToString for T where
T: Display + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> SafeBorrow for T where
T: ?Sized,
impl<T> SafeBorrow for T where
T: ?Sized,
fn borrow_replacement(ptr: &T) -> &T
fn borrow_replacement(ptr: &T) -> &T
Given ptr
, which was obtained from a prior call to Self::borrow()
, return a value with the same nominal lifetime which is guaranteed to survive mutations to Self
. Read more
impl<'a, T> DefaultFeatures for T where
T: 'a + Send + Sync + Clone,
impl<'a, T> DefaultFeatures for T where
T: 'a + Send + Sync + Clone,
fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a>
fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a>
Clone this value, and then immediately put it into a Box
behind a trait object of this trait. Read more
fn self_address_mut(&mut self) -> *mut ()
fn self_address_mut(&mut self) -> *mut ()
Returns the address of self
. Read more
impl<'a, T> NonSyncFeatures for T where
T: 'a + Clone,
impl<'a, T> NonSyncFeatures for T where
T: 'a + Clone,
fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a>
fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a>
Clone this value, and then immediately put it into a Box
behind a trait object of this trait. Read more
fn self_address_mut(&mut self) -> *mut ()
fn self_address_mut(&mut self) -> *mut ()
Returns the address of self
. Read more
impl<T> AsFail for T where
T: Fail,
[src]
impl<T> AsFail for T where
T: Fail,
fn as_fail(&self) -> &(dyn Fail + 'static)
[src]
fn as_fail(&self) -> &(dyn Fail + 'static)
Converts a reference to Self
into a dynamic trait object of Fail
.
impl<E> Fail for E where
E: 'static + Error + Send + Sync,
[src]
impl<E> Fail for E where
E: 'static + Error + Send + Sync,
fn cause(&self) -> Option<&(dyn Fail + 'static)>
[src]
fn cause(&self) -> Option<&(dyn Fail + 'static)>
Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more
fn backtrace(&self) -> Option<&Backtrace>
[src]
fn backtrace(&self) -> Option<&Backtrace>
Returns a reference to the Backtrace
carried by this failure, if it carries one. Read more
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
Provides context for this failure. Read more
fn compat(self) -> Compat<Self>
[src]
fn compat(self) -> Compat<Self>
Wraps this failure in a compatibility wrapper that implements std::error::Error
. Read more
impl<T> DebugAny for T where
T: Any + Debug,
impl<T> DebugAny for T where
T: Any + Debug,
impl<T> CloneAny for T where
T: Clone + Any,
impl<T> CloneAny for T where
T: Clone + Any,
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Sync + Send> where
T: Send + Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Sync + Send> where
T: Send + Sync,
impl<T> UnsafeAny for T where
T: Any,
impl<T> UnsafeAny for T where
T: Any,
impl<T> Erased for T
impl<T> Erased for T
impl<T> Same for T
impl<T> Same for T
type Output = T
Should always be Self