Struct fuel_vm::checked_transaction::Checked
source · pub struct Checked<Tx: IntoChecked> { /* private fields */ }
Expand description
The type describes that the inner transaction was already checked.
All fields are private, and there is no constructor, so it is impossible to create the instance
of Checked
outside the fuel-tx
crate.
The inner data is immutable to prevent modification to invalidate the checking.
If you need to modify an inner state, you need to get inner values
(via the Into<(Tx, Tx ::Metadata)>
trait), modify them and check again.
Dev note: Avoid serde serialization of this type.
Since checked tx would need to be re-validated on deserialization anyways, it’s cleaner to redo the tx check.
Implementations§
source§impl<Tx: IntoChecked> Checked<Tx>
impl<Tx: IntoChecked> Checked<Tx>
sourcepub fn transaction(&self) -> &Tx
pub fn transaction(&self) -> &Tx
Returns reference on inner transaction.
sourcepub fn metadata(&self) -> &Tx::Metadata
pub fn metadata(&self) -> &Tx::Metadata
Returns the metadata generated during the check for transaction.
sourcepub fn check_signatures(self) -> Result<Self, CheckError>
pub fn check_signatures(self) -> Result<Self, CheckError>
Performs check of signatures, if not yet done.
Trait Implementations§
source§impl<Tx: IntoChecked> AsRef<Tx> for Checked<Tx>
impl<Tx: IntoChecked> AsRef<Tx> for Checked<Tx>
source§impl<Tx: IntoChecked> Borrow<Tx> for Checked<Tx>
impl<Tx: IntoChecked> Borrow<Tx> for Checked<Tx>
source§impl CheckPredicates for Checked<Mint>
impl CheckPredicates for Checked<Mint>
source§fn check_predicates(
self,
_params: &ConsensusParameters,
_gas_costs: &GasCosts
) -> Result<Self, CheckError>
fn check_predicates(
self,
_params: &ConsensusParameters,
_gas_costs: &GasCosts
) -> Result<Self, CheckError>
Define predicate verification logic (if any)
source§impl CheckPredicates for Checked<Transaction>
impl CheckPredicates for Checked<Transaction>
source§fn check_predicates(
self,
params: &ConsensusParameters,
gas_costs: &GasCosts
) -> Result<Self, CheckError>
fn check_predicates(
self,
params: &ConsensusParameters,
gas_costs: &GasCosts
) -> Result<Self, CheckError>
Define predicate verification logic (if any)
source§impl<Tx: ExecutableTransaction> CheckPredicates for Checked<Tx>where
Self: Clone,
<Tx as IntoChecked>::Metadata: CheckedMetadata,
impl<Tx: ExecutableTransaction> CheckPredicates for Checked<Tx>where
Self: Clone,
<Tx as IntoChecked>::Metadata: CheckedMetadata,
source§fn check_predicates(
self,
params: &ConsensusParameters,
gas_costs: &GasCosts
) -> Result<Self, CheckError>
fn check_predicates(
self,
params: &ConsensusParameters,
gas_costs: &GasCosts
) -> Result<Self, CheckError>
Define predicate verification logic (if any)
source§impl From<Checked<Transaction>> for CheckedTransaction
impl From<Checked<Transaction>> for CheckedTransaction
source§fn from(checked: Checked<Transaction>) -> Self
fn from(checked: Checked<Transaction>) -> Self
Converts to this type from the input type.
source§impl From<CheckedTransaction> for Checked<Transaction>
impl From<CheckedTransaction> for Checked<Transaction>
source§fn from(checked: CheckedTransaction) -> Self
fn from(checked: CheckedTransaction) -> Self
Converts to this type from the input type.
source§impl<Tx: PartialEq + IntoChecked> PartialEq<Checked<Tx>> for Checked<Tx>where
Tx::Metadata: PartialEq,
impl<Tx: PartialEq + IntoChecked> PartialEq<Checked<Tx>> for Checked<Tx>where
Tx::Metadata: PartialEq,
impl<Tx: Eq + IntoChecked> Eq for Checked<Tx>where
Tx::Metadata: Eq,
impl<Tx: IntoChecked> StructuralEq for Checked<Tx>
impl<Tx: IntoChecked> StructuralPartialEq for Checked<Tx>
Auto Trait Implementations§
impl<Tx> RefUnwindSafe for Checked<Tx>where
Tx: RefUnwindSafe,
<Tx as IntoChecked>::Metadata: RefUnwindSafe,
impl<Tx> Send for Checked<Tx>where
Tx: Send,
<Tx as IntoChecked>::Metadata: Send,
impl<Tx> Sync for Checked<Tx>where
Tx: Sync,
<Tx as IntoChecked>::Metadata: Sync,
impl<Tx> Unpin for Checked<Tx>where
Tx: Unpin,
<Tx as IntoChecked>::Metadata: Unpin,
impl<Tx> UnwindSafe for Checked<Tx>where
Tx: UnwindSafe,
<Tx as IntoChecked>::Metadata: UnwindSafe,
Blanket Implementations§
source§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere
T: Any + Debug,
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Returns a reference to the underlying type as
Any
.§impl<T> Base32Len for Twhere
T: AsRef<[u8]>,
impl<T> Base32Len for Twhere
T: AsRef<[u8]>,
§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
Calculate the base32 serialized length
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
source§impl<T> StorageAsRef for T
impl<T> StorageAsRef for T
fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere
T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Lower case
letters are used (e.g. f9b4ca
)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Upper case
letters are used (e.g. F9B4CA
)