Enum grin_core::core::transaction::Error
source · pub enum Error {
Show 16 variants
Secp(Error),
Keychain(Error),
KernelSumMismatch,
TooHeavy,
LockHeight(u64),
RangeProof,
MerkleProof,
InvalidProofMessage,
Committed(Error),
CutThrough,
InvalidOutputFeatures,
InvalidKernelFeatures,
InvalidFeeFields,
InvalidNRDRelativeHeight,
IncorrectSignature,
Serialization(Error),
}
Expand description
Errors thrown by Transaction validation
Variants§
Secp(Error)
Underlying Secp256k1 error (signature validation or invalid public key typically)
Keychain(Error)
Underlying keychain related error
KernelSumMismatch
The sum of output minus input commitments does not match the sum of kernel commitments
TooHeavy
Restrict tx total weight.
LockHeight(u64)
Error originating from an invalid lock-height
RangeProof
Range proof validation error
MerkleProof
Error originating from an invalid Merkle proof
InvalidProofMessage
Returns if the value hidden within the a RangeProof message isn’t repeated 3 times, indicating it’s incorrect
Committed(Error)
Error when verifying kernel sums via committed trait.
CutThrough
Validation error relating to cut-through (tx is spending its own output).
InvalidOutputFeatures
Validation error relating to output features. It is invalid for a transaction to contain a coinbase output, for example.
InvalidKernelFeatures
Validation error relating to kernel features. It is invalid for a transaction to contain a coinbase kernel, for example.
InvalidFeeFields
feeshift is limited to 4 bits and fee must be positive and fit in 40 bits.
InvalidNRDRelativeHeight
NRD kernel relative height is limited to 1 week duration and must be greater than 0.
IncorrectSignature
Signature verification error.
Serialization(Error)
Underlying serialization error.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Error
impl<'de> Deserialize<'de> for Error
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Error for Error
impl Error for Error
source§fn description(&self) -> &str
fn description(&self) -> &str
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
source§impl PartialEq for Error
impl PartialEq for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.