Enum grin_chain::ErrorKind [−][src]
pub enum ErrorKind {}Show variants
Unfit(String), Orphan, DifficultyTooLow, WrongTotalDifficulty, LowEdgebits, InvalidScaling, InvalidPow, OldBlock, InvalidBlockProof(Error), InvalidBlockTime, InvalidBlockHeight, InvalidRoot, InvalidMMRSize, Keychain(Error), Secp(Error), AlreadySpent(Commitment), DuplicateCommitment(Commitment), ImmatureCoinbase, MerkleProof, OutputNotFound, RangeproofNotFound, TxKernelNotFound, OutputSpent, InvalidBlockVersion(HeaderVersion), InvalidTxHashSet(String), StoreErr(Error, String), FileReadErr(String), SerErr(Error), TxHashSetErr(String), TxLockHeight, NRDRelativeHeight, GenesisBlockRequired, Transaction(Error), Block(Error), Other(String), Committed(Error), Stopped, Bitmap, SyncError(String), SegmentError(SegmentError), SegmenterHeaderMismatch, InvalidSegmentHeight,
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 Fail for ErrorKind
[src]
impl Fail for ErrorKind
[src]fn cause(&self) -> Option<&dyn Fail>
[src]
fn cause(&self) -> Option<&dyn Fail>
[src]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>
[src]Returns a reference to the Backtrace
carried by this failure, if it
carries one. Read more
impl Eq for ErrorKind
[src]
impl StructuralEq for ErrorKind
[src]
impl StructuralPartialEq for ErrorKind
[src]
Auto Trait Implementations
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> CloneAny for T where
T: Any + Clone,
impl<T> CloneAny for T where
T: Any + Clone,
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<'a, T> DefaultFeatures<'a> for T where
T: 'a + Send + Sync + Clone,
impl<'a, T> DefaultFeatures<'a> for T where
T: 'a + Send + Sync + Clone,
pub fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a, Global>
pub fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a, Global>
Clone this value, and then immediately put it into a Box
behind a trait object of this trait. Read more
pub fn self_address_mut(&mut self) -> *mut ()
pub fn self_address_mut(&mut self) -> *mut ()
Returns the address of self
. Read more
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
pub fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a, Global>
pub fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a, Global>
Clone this value, and then immediately put it into a Box
behind a trait object of this trait. Read more
pub fn self_address_mut(&mut self) -> *mut ()
pub fn self_address_mut(&mut self) -> *mut ()
Returns the address of self
. Read more
impl<T> SafeBorrow<T> for T where
T: ?Sized,
impl<T> SafeBorrow<T> for T where
T: ?Sized,
pub fn borrow_replacement(ptr: &T) -> &T
pub 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<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 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<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<T> UnsafeAny for T where
T: Any,
T: Any,