Enum stack_test_epic_chain::ErrorKind
source · [−]pub enum ErrorKind {
Show 42 variants
Unfit(String),
Orphan,
DifficultyTooLow,
DifficultyTooHigh,
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,
GenesisBlockRequired,
Transaction(Error),
Other(String),
Committed(Error),
Stopped,
Bitmap,
SyncError(String),
InvalidSortAlgo,
ThereIsNotPolicy,
PolicyIsNotAllowed,
InvalidSeed,
}
Expand description
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
DifficultyTooHigh
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
RangeproofNotFound
Rangeproof not found
TxKernelNotFound
Tx kernel not found
OutputSpent
output spent
InvalidBlockVersion(HeaderVersion)
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.
Stopped
We cannot process data once the Epic server has been stopped.
Bitmap
Internal Roaring Bitmap error
SyncError(String)
Error during chain sync
InvalidSortAlgo
comment here
ThereIsNotPolicy
comment here
PolicyIsNotAllowed
InvalidSeed
Trait Implementations
sourceimpl Fail for ErrorKind
impl Fail for ErrorKind
sourcefn cause(&self) -> Option<&dyn Fail>
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
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
Returns a reference to the Backtrace
carried by this failure, if it
carries one. Read more
impl Eq for ErrorKind
impl StructuralEq for ErrorKind
impl StructuralPartialEq for ErrorKind
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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,
fn clone_any(&self) -> Box<dyn CloneAny + 'static, Global>
fn clone_any_send(&self) -> Box<dyn CloneAny + Send + 'static, Global> where
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + Sync + 'static, Global> where
T: Sync,
fn clone_any_send_sync(
&self
) -> Box<dyn CloneAny + Send + Sync + 'static, 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,
fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a, Global>
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
fn self_address_mut(&mut self) -> *mut ()
fn self_address_mut(&mut self) -> *mut ()
Returns the address of self
. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a, Global>
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
fn self_address_mut(&mut self) -> *mut ()
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,
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