Enum fuels_types::output::Output
source · pub enum Output {
Coin {
to: Address,
amount: u64,
asset_id: AssetId,
},
Contract {
input_index: u8,
balance_root: Bytes32,
state_root: Bytes32,
},
Change {
to: Address,
amount: u64,
asset_id: AssetId,
},
Variable {
to: Address,
amount: u64,
asset_id: AssetId,
},
ContractCreated {
contract_id: ContractId,
state_root: Bytes32,
},
}
Variants§
Implementations§
source§impl Output
impl Output
pub const fn repr(&self) -> OutputRepr
pub const fn coin(to: Address, amount: u64, asset_id: AssetId) -> Output ⓘ
pub const fn contract( input_index: u8, balance_root: Bytes32, state_root: Bytes32 ) -> Output ⓘ
pub const fn change(to: Address, amount: u64, asset_id: AssetId) -> Output ⓘ
pub const fn variable(to: Address, amount: u64, asset_id: AssetId) -> Output ⓘ
pub const fn contract_created( contract_id: ContractId, state_root: Bytes32 ) -> Output ⓘ
pub const fn asset_id(&self) -> Option<&AssetId>
pub const fn to(&self) -> Option<&Address>
pub const fn amount(&self) -> Option<u64>
pub const fn input_index(&self) -> Option<u8>
pub const fn balance_root(&self) -> Option<&Bytes32>
pub const fn state_root(&self) -> Option<&Bytes32>
pub const fn contract_id(&self) -> Option<&ContractId>
pub const fn is_coin(&self) -> bool
pub const fn is_variable(&self) -> bool
pub const fn is_contract(&self) -> bool
pub const fn is_contract_created(&self) -> bool
pub fn message_nonce(txid: &Bytes32, idx: u64) -> Nonce
pub fn message_digest(data: &[u8]) -> Bytes32
sourcepub fn prepare_init_script(&mut self)
pub fn prepare_init_script(&mut self)
Prepare the output for VM initialization for script execution
sourcepub fn prepare_init_predicate(&mut self)
pub fn prepare_init_predicate(&mut self)
Prepare the output for VM initialization for predicate verification
source§impl Output
impl Output
sourcepub fn check(&self, index: usize, inputs: &[Input]) -> Result<(), CheckError>
pub fn check(&self, index: usize, inputs: &[Input]) -> Result<(), CheckError>
Validate the output of the transaction.
This function is stateful - meaning it might validate a transaction during VM initialization, but this transaction will no longer be valid in post-execution because the VM might mutate the message outputs, producing invalid transactions.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Output
impl<'de> Deserialize<'de> for Output
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Output, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Output, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<Output> for Output
impl PartialEq<Output> for Output
source§impl Read for Output
impl Read for Output
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>
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 Serialize for Output
impl Serialize for Output
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
source§impl SizedBytes for Output
impl SizedBytes for Output
source§fn serialized_size(&self) -> usize
fn serialized_size(&self) -> usize
Return the expected serialized size for an instance of the type.
source§impl Write for Output
impl Write for Output
source§fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
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 Copy for Output
impl Eq for Output
impl StructuralEq for Output
impl StructuralPartialEq for Output
Auto Trait Implementations§
impl RefUnwindSafe for Output
impl Send for Output
impl Sync for Output
impl Unpin for Output
impl UnwindSafe for Output
Blanket Implementations§
§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere T: Any + Debug,
§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
.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<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,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.