pub struct Script { /* private fields */ }
Trait Implementations§
source§impl Cacheable for Script
impl Cacheable for Script
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 Chargeable for Script
impl Chargeable for Script
source§impl FormatValidityChecks for Script
impl FormatValidityChecks for Script
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<Script> for Transaction
impl From<Script> for Transaction
source§impl Inputs for Script
impl Inputs for Script
source§impl Maturity for Script
impl Maturity for Script
fn maturity(&self) -> &BlockHeight
fn maturity_mut(&mut self) -> &mut BlockHeight
fn maturity_offset_static() -> usize
fn maturity_offset(&self) -> usize
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
impl MemLocType<{ <$o as $crate::MemLayout>::LAYOUT.$field.addr() }, { <$o as $crate::MemLayout>::LAYOUT.$field.size() }> for Script
source§fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
fn layout(loc: MemLoc<ADDR, SIZE>) -> LayoutType<ADDR, SIZE, Self>
Combine a memory location and a type.
This will only work if this trait is defined for the memory location.
source§impl PartialEq<Script> for Script
impl PartialEq<Script> for Script
source§impl Read for Script
impl Read for Script
source§fn read(&mut self, full_buf: &mut [u8]) -> Result<usize>
fn read(&mut self, full_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 ReceiptsRoot for Script
impl ReceiptsRoot for Script
fn receipts_root(&self) -> &Bytes32
fn receipts_root_mut(&mut self) -> &mut Bytes32
fn receipts_root_offset_static() -> usize
fn receipts_root_offset(&self) -> usize
source§impl ScriptData for Script
impl ScriptData for Script
fn script_data(&self) -> &Vec<u8>
fn script_data_mut(&mut self) -> &mut Vec<u8>
fn script_data_offset(&self) -> usize
source§impl SizedBytes for Script
impl SizedBytes for Script
source§fn serialized_size(&self) -> usize
fn serialized_size(&self) -> usize
Return the expected serialized size for an instance of the type.
source§impl UniqueIdentifier for Script
impl UniqueIdentifier for Script
source§impl Write for Script
impl Write for Script
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 Script
Auto Trait Implementations§
impl RefUnwindSafe for Script
impl Send for Script
impl Sync for Script
impl Unpin for Script
impl UnwindSafe for Script
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
source§impl<T> Executable for Twhere
T: Inputs + Outputs + Witnesses,
impl<T> Executable for Twhere T: Inputs + Outputs + Witnesses,
source§fn input_asset_ids(&self) -> IntoIter<&AssetId>
fn input_asset_ids(&self) -> IntoIter<&AssetId>
Returns the assets’ ids used in the inputs in the order of inputs.
source§fn input_asset_ids_unique(&self) -> IntoIter<&AssetId>
fn input_asset_ids_unique(&self) -> IntoIter<&AssetId>
Returns unique assets’ ids used in the inputs.
source§fn input_contracts(&self) -> IntoIter<&ContractId>
fn input_contracts(&self) -> IntoIter<&ContractId>
Returns ids of all
Input::Contract
that are present in the inputs.source§fn check_predicate_owners(&self, parameters: &ConsensusParameters) -> bool
fn check_predicate_owners(&self, parameters: &ConsensusParameters) -> bool
Checks that all owners of inputs in the predicates are valid.
source§fn add_unsigned_coin_input(
&mut self,
utxo_id: UtxoId,
owner: &PublicKey,
amount: Word,
asset_id: AssetId,
tx_pointer: TxPointer,
maturity: BlockHeight
)
fn add_unsigned_coin_input( &mut self, utxo_id: UtxoId, owner: &PublicKey, amount: Word, asset_id: AssetId, tx_pointer: TxPointer, maturity: BlockHeight )
Append a new unsigned coin input to the transaction. Read more
source§fn add_unsigned_message_input(
&mut self,
sender: Address,
recipient: Address,
nonce: Nonce,
amount: Word,
data: Vec<u8>
)
fn add_unsigned_message_input( &mut self, sender: Address, recipient: Address, nonce: Nonce, amount: Word, data: Vec<u8> )
Append a new unsigned message input to the transaction. Read more
source§fn prepare_init_script(&mut self) -> &mut Self
fn prepare_init_script(&mut self) -> &mut Self
Prepare the transaction for VM initialization for script execution Read more
source§fn prepare_init_predicate(&mut self) -> &mut Self
fn prepare_init_predicate(&mut self) -> &mut Self
Prepare the transaction for VM initialization for predicate verification
source§impl<T> SerializableVec for Twhere
T: SizedBytes + Read,
impl<T> SerializableVec for Twhere T: SizedBytes + Read,
source§impl<T> Signable for Twhere
T: UniqueIdentifier + Witnesses + Inputs,
impl<T> Signable for Twhere T: UniqueIdentifier + Witnesses + Inputs,
source§fn sign_inputs(&mut self, secret: &SecretKey, parameters: &ConsensusParameters)
fn sign_inputs(&mut self, secret: &SecretKey, parameters: &ConsensusParameters)
For all inputs of type coin
or message
, check if its owner
equals the public
counterpart of the provided key. Sign all matches.