pub enum CellbaseError {
    InvalidInput,
    InvalidRewardAmount,
    InvalidRewardTarget,
    InvalidWitness,
    InvalidTypeScript,
    InvalidOutputQuantity,
    InvalidQuantity,
    InvalidPosition,
    InvalidOutputData,
}
Expand description

Errors due to the fact that the cellbase rule is not respected.

See more about cellbase transaction: cellbase transaction

Variants

InvalidInput

The cellbase input is unexpected. The structure reference of correct cellbase input: new_cellbase_input.

InvalidRewardAmount

The cellbase output capacity is not equal to the total block reward.

InvalidRewardTarget

The cellbase output lock does not match with the target lock.

As for 0 ~ PROPOSAL_WINDOW.farthest blocks, cellbase outputs should be empty; otherwise, lock of first cellbase output should match with the target block.

Assumes the current block number is i, then its target block is that: (1) on that same chain with current block; (2) number is i - PROPOSAL_WINDOW.farthest - 1.

InvalidWitness

The cellbase witness is not in CellbaseWitness format.

InvalidTypeScript

The cellbase type script is not none.

InvalidOutputQuantity

The length of cellbase outputs and outputs-data should be equal and less than 1.

InvalidQuantity

There are multiple cellbase transactions inside the same block.

InvalidPosition

The first block transaction is not a valid cellbase transaction.

See also is_cellbase.

InvalidOutputData

The cellbase output-data is not empty.

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.

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

TODO(doc): @quake

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

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)

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.