Enum fuel_indexer_plugin::types::fuel::ClientInput
pub enum ClientInput {
CoinSigned(Coin<Signed>),
CoinPredicate(Coin<Predicate>),
Contract(Contract),
MessageCoinSigned(Message<MessageCoin<Signed>>),
MessageCoinPredicate(Message<MessageCoin<Predicate>>),
MessageDataSigned(Message<MessageData<Signed>>),
MessageDataPredicate(Message<MessageData<Predicate>>),
}
Variants§
CoinSigned(Coin<Signed>)
CoinPredicate(Coin<Predicate>)
Contract(Contract)
MessageCoinSigned(Message<MessageCoin<Signed>>)
MessageCoinPredicate(Message<MessageCoin<Predicate>>)
MessageDataSigned(Message<MessageData<Signed>>)
MessageDataPredicate(Message<MessageData<Predicate>>)
Implementations§
§impl Input
impl Input
pub const fn repr(&self) -> InputRepr
pub fn owner(pk: &PublicKey) -> Address
pub const fn coin_predicate( utxo_id: UtxoId, owner: Address, amount: u64, asset_id: AssetId, tx_pointer: TxPointer, maturity: BlockHeight, predicate_gas_used: u64, predicate: Vec<u8>, predicate_data: Vec<u8> ) -> Input ⓘ
pub const fn coin_signed( utxo_id: UtxoId, owner: Address, amount: u64, asset_id: AssetId, tx_pointer: TxPointer, witness_index: u8, maturity: BlockHeight ) -> Input ⓘ
pub const fn contract( utxo_id: UtxoId, balance_root: Bytes32, state_root: Bytes32, tx_pointer: TxPointer, contract_id: ContractId ) -> Input ⓘ
pub const fn message_coin_signed( sender: Address, recipient: Address, amount: u64, nonce: Nonce, witness_index: u8 ) -> Input ⓘ
pub const fn message_coin_predicate( sender: Address, recipient: Address, amount: u64, nonce: Nonce, predicate_gas_used: u64, predicate: Vec<u8>, predicate_data: Vec<u8> ) -> Input ⓘ
pub const fn message_data_signed( sender: Address, recipient: Address, amount: u64, nonce: Nonce, witness_index: u8, data: Vec<u8> ) -> Input ⓘ
pub const fn message_data_predicate( sender: Address, recipient: Address, amount: u64, nonce: Nonce, predicate_gas_used: u64, data: Vec<u8>, predicate: Vec<u8>, predicate_data: Vec<u8> ) -> Input ⓘ
pub const fn utxo_id(&self) -> Option<&UtxoId>
pub const fn input_owner(&self) -> Option<&Address>
pub const fn asset_id(&self) -> Option<&AssetId>
pub const fn contract_id(&self) -> Option<&ContractId>
pub const fn amount(&self) -> Option<u64>
pub const fn witness_index(&self) -> Option<u8>
pub const fn maturity(&self) -> Option<BlockHeight>
pub fn predicate_offset(&self) -> Option<usize>
pub fn predicate_data_offset(&self) -> Option<usize>
pub fn predicate_len(&self) -> Option<usize>
pub fn predicate_data_len(&self) -> Option<usize>
pub fn predicate_gas_used(&self) -> Option<u64>
pub fn message_id(&self) -> Option<MessageId>
pub const fn tx_pointer(&self) -> Option<&TxPointer>
pub fn input_data(&self) -> Option<&[u8]>
pub fn input_data_len(&self) -> Option<usize>
pub fn input_predicate(&self) -> Option<&[u8]>
pub fn input_predicate_data(&self) -> Option<&[u8]>
pub fn predicate(&self) -> Option<(&[u8], &[u8], &u64)>
pub fn predicate(&self) -> Option<(&[u8], &[u8], &u64)>
Return a tuple containing the predicate, its data and used gas if the input is of
type CoinPredicate
or MessageCoinPredicate
or MessageDataPredicate
pub const fn is_coin(&self) -> bool
pub const fn is_coin_signed(&self) -> bool
pub const fn is_coin_predicate(&self) -> bool
pub const fn is_message(&self) -> bool
pub const fn is_message_coin_signed(&self) -> bool
pub const fn is_message_coin_predicate(&self) -> bool
pub const fn is_message_data_signed(&self) -> bool
pub const fn is_message_data_predicate(&self) -> bool
pub const fn is_contract(&self) -> bool
pub const fn coin_predicate_offset() -> usize
pub const fn message_data_offset() -> usize
pub const fn balance_root(&self) -> Option<&Bytes32>
pub const fn state_root(&self) -> Option<&Bytes32>
pub const fn sender(&self) -> Option<&Address>
pub const fn recipient(&self) -> Option<&Address>
pub const fn nonce(&self) -> Option<&Nonce>
pub fn compute_message_id( sender: &Address, recipient: &Address, nonce: &Nonce, amount: u64, data: &[u8] ) -> MessageId
pub fn predicate_owner<P>(predicate: P, chain_id: &ChainId) -> Address
pub fn is_predicate_owner_valid<P>( owner: &Address, predicate: P, chain_id: &ChainId ) -> bool
pub fn prepare_init_predicate(&mut self)
pub fn prepare_init_predicate(&mut self)
Prepare the output for VM predicate execution
§impl Input
impl Input
pub fn check( &self, index: usize, txhash: &Bytes32, outputs: &[Output], witnesses: &[Witness], parameters: &ConsensusParameters, recovery_cache: &mut Option<HashMap<u8, Address>> ) -> Result<(), CheckError>
pub fn check_signature( &self, index: usize, txhash: &Bytes32, witnesses: &[Witness], chain_id: &ChainId, recovery_cache: &mut Option<HashMap<u8, Address>> ) -> Result<(), CheckError>
pub fn check_without_signature( &self, index: usize, outputs: &[Output], witnesses: &[Witness], parameters: &ConsensusParameters ) -> Result<(), CheckError>
Trait Implementations§
§impl<'de> Deserialize<'de> for Input
impl<'de> Deserialize<'de> for Input
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Input, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Input, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Read for Input
impl Read for Input
§fn read(&mut self, full_buf: &mut [u8]) -> Result<usize, Error>
fn read(&mut self, full_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>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> 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 more§impl Serialize for Input
impl Serialize for Input
§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
§impl SizedBytes for Input
impl SizedBytes for Input
§fn serialized_size(&self) -> usize
fn serialized_size(&self) -> usize
Return the expected serialized size for an instance of the type.
§impl Write for Input
impl Write for Input
§fn write(&mut self, full_buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, full_buf: &[u8]) -> Result<usize, Error>
Write a buffer into this writer, returning how many bytes were written. Read more
§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 Eq for Input
impl StructuralEq for Input
impl StructuralPartialEq for Input
Auto Trait Implementations§
impl RefUnwindSafe for Input
impl Send for Input
impl Sync for Input
impl Unpin for Input
impl UnwindSafe for Input
Blanket Implementations§
§impl<T> AnyDebug for T
impl<T> AnyDebug for T
§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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Deserializable for T
impl<T> Deserializable for T
§fn from_bytes(bytes: &[u8]) -> Result<T, Error>
fn from_bytes(bytes: &[u8]) -> Result<T, Error>
Deserialization from variable length slices of bytes.
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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 Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§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,
§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,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.