Enum ckb_verification::TransactionError [−][src]
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: u32,
actual: u32,
},
ExceededMaximumBlockBytes {
limit: u64,
actual: u64,
},
Compatible {
feature: &'static str,
},
Internal {
description: String,
},
}Expand description
The error types to transactions.
Variants
InsufficientCellCapacity
Fields
inner: TransactionErrorSourceThe transaction field that causes error.
It should always be TransactionErrorSource::Outputs.
index: usizeThe index 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
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: TransactionErrorSourceThe 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 CellDeps within the same transaction.
DuplicateHeaderDeps
Fields
hash: Byte32The 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: usizeThe 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: usizeThe 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: TransactionErrorSourceThe 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: usizeThe index of immature input out-point or dependency out-point.
The transaction is not mature yet, according to the cellbase maturity rule.
MismatchedVersion
The transaction version does not match with the system expected.
ExceededMaximumBlockBytes
The transaction size exceeds limit.
Compatible
Fields
feature: &'static strThe feature name.
The compatible error.
Internal
Fields
description: StringThe error description
The internal error.
Implementations
Returns whether this transaction error indicates that the transaction is malformed.
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
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
Mutably borrows from an owned value. Read more