Enum fuel_tx::Transaction
source · pub enum Transaction {
Script(Script),
Create(Create),
Mint(Mint),
}
Expand description
The fuel transaction entity https://github.com/FuelLabs/fuel-specs/blob/master/src/protocol/tx_format/transaction.md#transaction.
Variants§
Implementations§
source§impl Transaction
impl Transaction
pub fn try_from_bytes(bytes: &[u8]) -> Result<(usize, Self)>
source§impl Transaction
impl Transaction
pub const fn script( gas_price: Word, gas_limit: Word, maturity: BlockHeight, script: Vec<u8>, script_data: Vec<u8>, inputs: Vec<Input>, outputs: Vec<Output>, witnesses: Vec<Witness> ) -> Script ⓘ
pub fn create( gas_price: Word, gas_limit: Word, maturity: BlockHeight, bytecode_witness_index: u8, salt: Salt, storage_slots: Vec<StorageSlot>, inputs: Vec<Input>, outputs: Vec<Output>, witnesses: Vec<Witness> ) -> Create ⓘ
pub fn mint(tx_pointer: TxPointer, outputs: Vec<Output>) -> Mint ⓘ
pub const fn is_script(&self) -> bool
pub const fn is_create(&self) -> bool
pub const fn is_mint(&self) -> bool
pub const fn as_script(&self) -> Option<&Script>
pub fn as_script_mut(&mut self) -> Option<&mut Script>
pub const fn as_create(&self) -> Option<&Create>
pub fn as_create_mut(&mut self) -> Option<&mut Create>
pub const fn as_mint(&self) -> Option<&Mint>
pub fn as_mint_mut(&mut self) -> Option<&mut Mint>
Trait Implementations§
source§impl Cacheable for Transaction
impl Cacheable for Transaction
source§fn is_computed(&self) -> bool
fn is_computed(&self) -> bool
The cache is already computed. Read more
source§fn precompute(&mut self, parameters: &ConsensusParameters)
fn precompute(&mut self, parameters: &ConsensusParameters)
Computes the cache for the entity.
source§impl Clone for Transaction
impl Clone for Transaction
source§impl Debug for Transaction
impl Debug for Transaction
source§impl Default for Transaction
impl Default for Transaction
source§impl FormatValidityChecks for Transaction
impl FormatValidityChecks for Transaction
source§fn check_signatures(
&self,
parameters: &ConsensusParameters
) -> Result<(), CheckError>
fn check_signatures( &self, parameters: &ConsensusParameters ) -> Result<(), CheckError>
Validates that all required signatures are set in the transaction and that they are valid.
source§fn check_without_signatures(
&self,
block_height: BlockHeight,
parameters: &ConsensusParameters
) -> Result<(), CheckError>
fn check_without_signatures( &self, block_height: BlockHeight, parameters: &ConsensusParameters ) -> Result<(), CheckError>
Validates the transactions according to rules from the specification:
https://github.com/FuelLabs/fuel-specs/blob/master/src/protocol/tx_format/transaction.md#transaction
source§fn check(
&self,
block_height: BlockHeight,
parameters: &ConsensusParameters
) -> Result<(), CheckError>
fn check( &self, block_height: BlockHeight, parameters: &ConsensusParameters ) -> Result<(), CheckError>
Performs all stateless transaction validity checks. This includes the validity
of fields according to rules in the specification and validity of signatures.
source§impl From<&Transaction> for TransactionRepr
impl From<&Transaction> for TransactionRepr
source§fn from(tx: &Transaction) -> Self
fn from(tx: &Transaction) -> Self
Converts to this type from the input type.
source§impl From<Create> for Transaction
impl From<Create> for Transaction
source§impl From<Mint> for Transaction
impl From<Mint> for Transaction
source§impl From<Script> for Transaction
impl From<Script> for Transaction
source§impl Hash for Transaction
impl Hash for Transaction
source§impl PartialEq<Transaction> for Transaction
impl PartialEq<Transaction> for Transaction
source§fn eq(&self, other: &Transaction) -> bool
fn eq(&self, other: &Transaction) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Read for Transaction
impl Read for Transaction
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into
buf
. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to
buf
. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill
buf
. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Read the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moresource§impl SizedBytes for Transaction
impl SizedBytes for Transaction
source§fn serialized_size(&self) -> usize
fn serialized_size(&self) -> usize
Return the expected serialized size for an instance of the type.
source§impl TryFrom<&Transaction> for Contract
impl TryFrom<&Transaction> for Contract
§type Error = CheckError
type Error = CheckError
The type returned in the event of a conversion error.
source§impl UniqueIdentifier for Transaction
impl UniqueIdentifier for Transaction
source§impl Write for Transaction
impl Write for Transaction
source§fn write(&mut self, full_buf: &[u8]) -> Result<usize>
fn write(&mut self, full_buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
impl Eq for Transaction
impl StructuralEq for Transaction
impl StructuralPartialEq for Transaction
Auto Trait Implementations§
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnwindSafe for Transaction
Blanket Implementations§
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
source§impl<T> Deserializable for Twhere
T: Default + Write,
impl<T> Deserializable for Twhere T: Default + Write,
§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