[−][src]Enum grin_chain::ErrorKind
Chain error definitions
Variants
Unfit(String)
The block doesn't fit anywhere in our chain
Special case of orphan blocks
Difficulty is too low either compared to ours or the block PoW hash
Addition of difficulties on all previous block is wrong
Block header edge_bits is lower than our min
Scaling factor between primary and secondary PoW is invalid
The proof of work is invalid
Peer abusively sending us an old block we already have
InvalidBlockProof(Error)
The block doesn't sum correctly or a tx signature is invalid
Block time is too old
Block height is invalid (not previous + 1)
One of the root hashes in the block is invalid
One of the MMR sizes in the block header is invalid
Keychain(Error)
Error from underlying keychain impl
Error from underlying secp lib
One of the inputs in the block has already been spent
An output with that commitment already exists (should be unique)
Attempt to spend a coinbase output before it sufficiently matures.
Error validating a Merkle proof (coinbase output)
Output not found
Rangeproof not found
Tx kernel not found
output spent
InvalidBlockVersion(HeaderVersion)
Invalid block version, either a mistake or outdated software
InvalidTxHashSet(String)
We've been provided a bad txhashset
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
Tx not valid based on lock_height.
Tx is not valid due to NRD relative_height restriction.
No chain exists and genesis block is required
Transaction(Error)
Error from underlying tx handling
Block(Error)
Error from underlying block handling
Other(String)
Anything else
Committed(Error)
Error from summing and verifying kernel sums via committed trait.
We cannot process data once the Grin server has been stopped.
Internal Roaring Bitmap error
SyncError(String)
Error during chain sync
SegmentError(SegmentError)
PIBD segment related error
The segmenter is associated to a different block header
Segment height not within allowed range
Trait Implementations
impl Clone for ErrorKind
[src]
impl Debug for ErrorKind
[src]
impl Display for ErrorKind
[src]
impl Eq for ErrorKind
[src]
impl Fail for ErrorKind
[src]
pub fn name(&self) -> Option<&str>
[src]
pub fn cause(&self) -> Option<&dyn Fail>
[src]
pub fn backtrace(&self) -> Option<&Backtrace>
[src]
pub fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
D: Display + Send + Sync + 'static,
pub fn compat(self) -> Compat<Self>
[src]
impl From<ErrorKind> for Error
[src]
impl PartialEq<ErrorKind> for ErrorKind
[src]
impl StructuralEq for ErrorKind
[src]
impl StructuralPartialEq for ErrorKind
[src]
Auto Trait Implementations
impl RefUnwindSafe for ErrorKind
[src]
impl Send for ErrorKind
[src]
impl Sync for ErrorKind
[src]
impl Unpin for ErrorKind
[src]
impl UnwindSafe for ErrorKind
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsFail for T where
T: Fail,
[src]
T: Fail,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CloneAny for T where
T: Clone + Any,
T: Clone + Any,
pub fn clone_any(&self) -> Box<dyn CloneAny + 'static, Global>
pub fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send, Global> where
T: Send,
T: Send,
pub fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync, Global> where
T: Sync,
T: Sync,
pub fn clone_any_send_sync(
&self
) -> Box<dyn CloneAny + 'static + Sync + Send, Global> where
T: Send + Sync,
&self
) -> Box<dyn CloneAny + 'static + Sync + Send, Global> where
T: Send + Sync,
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<'a, T> DefaultFeatures<'a> for T where
T: 'a + Clone + Send + Sync,
T: 'a + Clone + Send + Sync,
pub fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a, Global>
pub fn self_address_mut(&mut self) -> *mut ()
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
T: 'a + Clone,
pub fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a, Global>
pub fn self_address_mut(&mut self) -> *mut ()
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
pub fn borrow_replacement(ptr: &T) -> &T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> UnsafeAny for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,