Enum ckb_types::core::error::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: Version,
actual: Version,
},
ExceededMaximumBlockBytes {
limit: u64,
actual: u64,
},
Compatible {
feature: &'static str,
},
Internal {
description: String,
},
}
Expand description
The error types to transactions.
Variants
There is an erroneous output that its occupied capacity is greater than its capacity (output.occupied_capacity() > output.capacity()
).
Fields of InsufficientCellCapacity
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.
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]
).
Fields of OutputsSumOverflow
Either inputs or outputs of the transaction are empty (inputs.is_empty() || outputs.is_empty()
).
Fields of Empty
inner: TransactionErrorSource
The transaction field that causes the error.
It should be TransactionErrorSource::Inputs
or TransactionErrorSource::Outputs
.
There are duplicated CellDep
s within the same transaction.
There are duplicated HeaderDep
within the same transaction.
Fields of DuplicateHeaderDeps
hash: Byte32
The block hash of that duplicated HeaderDep.
The length of outputs is not equal to the length of outputs-data (outputs.len() != outputs_data.len()
).
Fields of OutputsDataLengthMismatch
Error dues to the the fact that the since rule is not respected.
See also 0017-tx-valid-since.
Fields of InvalidSince
index: usize
The index of input with invalid since field
The transaction is not mature yet, according to the since
rule.
See also 0017-tx-valid-since.
Fields of Immature
index: usize
The index of input with immature since
field.
The transaction is not mature yet, according to the cellbase maturity rule.
Fields of CellbaseImmaturity
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 version does not match with the system expected.
Fields of MismatchedVersion
The transaction size exceeds limit.
Fields of ExceededMaximumBlockBytes
The compatible error.
Fields of Compatible
feature: &'static str
The feature name.
The internal error.
Fields of Internal
description: String
The error description
Implementations
Returns whether this transaction error indicates that the transaction is malformed.
Trait Implementations
Performs the conversion.
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