pub enum TransactionError {
Show 13 variants
InsufficientCellCapacity {
inner: TransactionErrorSource,
index: usize,
occupied_capacity: Capacity,
capacity: Capacity,
},
OutputsSumOverflow {
inputs_sum: Capacity,
outputs_sum: Capacity,
},
Empty {
inner: TransactionErrorSource,
},
DuplicateCellDeps {
out_point: OutPoint,
},
DuplicateHeaderDeps {
hash: Byte32,
},
OutputsDataLengthMismatch {
outputs_len: usize,
outputs_data_len: usize,
},
InvalidSince {
index: usize,
},
Immature {
index: usize,
},
CellbaseImmaturity {
inner: TransactionErrorSource,
index: usize,
},
MismatchedVersion {
expected: Version,
actual: Version,
},
ExceededMaximumBlockBytes {
limit: u64,
actual: u64,
},
Compatible {
feature: &'static str,
},
Internal {
description: String,
},
}
Expand description
The error types to transactions.
Variants
InsufficientCellCapacity
Fields
inner: TransactionErrorSource
The transaction field that causes error.
It should always be TransactionErrorSource::Outputs.
index: usize
The index of that erroneous output.
occupied_capacity: Capacity
The occupied capacity of that erroneous output.
capacity: Capacity
The capacity of that erroneous output.
There is an erroneous output that its occupied capacity is greater than its capacity (output.occupied_capacity() > output.capacity()
).
OutputsSumOverflow
Fields
inputs_sum: Capacity
The total capacity of inputs.
outputs_sum: Capacity
The total capacity of outputs.
The total capacity of outputs is less than the total capacity of inputs (SUM([o.capacity for o in outputs]) > SUM([i.capacity for i in inputs]
).
Empty
Fields
inner: TransactionErrorSource
The transaction field that causes the error.
It should be TransactionErrorSource::Inputs
or TransactionErrorSource::Outputs
.
Either inputs or outputs of the transaction are empty (inputs.is_empty() || outputs.is_empty()
).
DuplicateCellDeps
There are duplicated CellDep
s within the same transaction.
DuplicateHeaderDeps
Fields
hash: Byte32
The block hash of that duplicated HeaderDep.
There are duplicated HeaderDep
within the same transaction.
OutputsDataLengthMismatch
The length of outputs is not equal to the length of outputs-data (outputs.len() != outputs_data.len()
).
InvalidSince
Fields
index: usize
The index of input with invalid since field
Error dues to the the fact that the since rule is not respected.
See also 0017-tx-valid-since.
Immature
Fields
index: usize
The index of input with immature since
field.
The transaction is not mature yet, according to the since
rule.
See also 0017-tx-valid-since.
CellbaseImmaturity
Fields
inner: TransactionErrorSource
The transaction field that causes the error.
It should be TransactionErrorSource::Inputs
or TransactionErrorSource::CellDeps
. It does not allow using an immature cell as input out-point and dependency out-point.
index: usize
The index of immature input out-point or dependency out-point.
The transaction is not mature yet, according to the cellbase maturity rule.
MismatchedVersion
Fields
expected: Version
The expected transaction version.
actual: Version
The actual transaction version.
The transaction version does not match with the system expected.
ExceededMaximumBlockBytes
The transaction size exceeds limit.
Compatible
Fields
feature: &'static str
The feature name.
The compatible error.
Internal
Fields
description: String
The error description
The internal error.
Implementations
sourceimpl TransactionError
impl TransactionError
sourcepub fn is_malformed_tx(&self) -> bool
pub fn is_malformed_tx(&self) -> bool
Returns whether this transaction error indicates that the transaction is malformed.
Trait Implementations
sourceimpl Clone for TransactionError
impl Clone for TransactionError
sourcefn clone(&self) -> TransactionError
fn clone(&self) -> TransactionError
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for TransactionError
impl Debug for TransactionError
sourceimpl Display for TransactionError
impl Display for TransactionError
sourceimpl Error for TransactionError
impl Error for TransactionError
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<TransactionError> for Error
impl From<TransactionError> for Error
sourcefn from(error: TransactionError) -> Self
fn from(error: TransactionError) -> Self
Converts to this type from the input type.
sourceimpl PartialEq<TransactionError> for TransactionError
impl PartialEq<TransactionError> for TransactionError
sourcefn eq(&self, other: &TransactionError) -> bool
fn eq(&self, other: &TransactionError) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &TransactionError) -> bool
fn ne(&self, other: &TransactionError) -> bool
This method tests for !=
.
impl Eq for TransactionError
impl StructuralEq for TransactionError
impl StructuralPartialEq for TransactionError
Auto Trait Implementations
impl RefUnwindSafe for TransactionError
impl Send for TransactionError
impl Sync for TransactionError
impl Unpin for TransactionError
impl UnwindSafe for TransactionError
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