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
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§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> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,
fn storage_as_mut<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,
fn storage_as_ref<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
)