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

InsufficientCellCapacity

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.

OutputsSumOverflow

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

inputs_sum: Capacity

The total capacity of inputs.

outputs_sum: Capacity

The total capacity of outputs.

Empty

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.

DuplicateCellDeps

There are duplicated CellDeps within the same transaction.

Fields of DuplicateCellDeps

out_point: OutPoint

The out-point of that duplicated CellDep.

DuplicateHeaderDeps

There are duplicated HeaderDep within the same transaction.

Fields of DuplicateHeaderDeps

hash: Byte32

The block hash of that duplicated HeaderDep.

OutputsDataLengthMismatch

The length of outputs is not equal to the length of outputs-data (outputs.len() != outputs_data.len()).

Fields of OutputsDataLengthMismatch

outputs_len: usize

The length of outputs.

outputs_data_len: usize

The length of outputs-data.

InvalidSince

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

Immature

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.

CellbaseImmaturity

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.

MismatchedVersion

The transaction version does not match with the system expected.

Fields of MismatchedVersion

expected: Version

The expected transaction version.

actual: Version

The actual transaction version.

ExceededMaximumBlockBytes

The transaction size exceeds limit.

Fields of ExceededMaximumBlockBytes

limit: u64

The limited transaction size.

actual: u64

The actual transaction size.

Compatible

The compatible error.

Fields of Compatible

feature: &'static str

The feature name.

Internal

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

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

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.