Enum webb_proposals::TargetSystem
source · #[non_exhaustive]pub enum TargetSystem {
ContractAddress([u8; 20]),
Substrate(SubstrateTargetSystem),
}Expand description
TargetSystem (26 Bytes)
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
ContractAddress([u8; 20])
Ethereum Contract address (20 bytes).
Substrate(SubstrateTargetSystem)
Webb Protocol-Substrate 6 bytes (pallet_index, call_index, tree_id ).
Implementations§
source§impl TargetSystem
impl TargetSystem
sourcepub fn new_contract_address<T: Into<[u8; 20]>>(address: T) -> Self
pub fn new_contract_address<T: Into<[u8; 20]>>(address: T) -> Self
Create a new TargetSystem as a ContractAddress.
sourcepub fn into_bytes(self) -> [u8; 26]
pub fn into_bytes(self) -> [u8; 26]
Get the underlying bytes of the TargetSystem without copying.
sourcepub fn get_substrate_target_system(self) -> Option<SubstrateTargetSystem>
pub fn get_substrate_target_system(self) -> Option<SubstrateTargetSystem>
Get substrate TargetSystem details
sourcepub fn into_contract_address_or_default(self) -> [u8; 20]
pub fn into_contract_address_or_default(self) -> [u8; 20]
Get smart contract address from the target system.
Returns [0; 20] if the target system is not a contract address.
Trait Implementations§
source§impl Clone for TargetSystem
impl Clone for TargetSystem
source§fn clone(&self) -> TargetSystem
fn clone(&self) -> TargetSystem
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for TargetSystem
impl Debug for TargetSystem
source§impl Decode for TargetSystem
impl Decode for TargetSystem
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
Attempt to deserialise the value from input.
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§impl Default for TargetSystem
impl Default for TargetSystem
source§impl Encode for TargetSystem
impl Encode for TargetSystem
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl From<TargetSystem> for [u8; 26]
impl From<TargetSystem> for [u8; 26]
source§fn from(target_system: TargetSystem) -> Self
fn from(target_system: TargetSystem) -> Self
Converts to this type from the input type.
source§impl Hash for TargetSystem
impl Hash for TargetSystem
source§impl MaxEncodedLen for TargetSystem
impl MaxEncodedLen for TargetSystem
source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
source§impl PartialEq for TargetSystem
impl PartialEq for TargetSystem
source§fn eq(&self, other: &TargetSystem) -> bool
fn eq(&self, other: &TargetSystem) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl TypeInfo for TargetSystem
impl TypeInfo for TargetSystem
impl Copy for TargetSystem
impl EncodeLike for TargetSystem
impl Eq for TargetSystem
impl StructuralEq for TargetSystem
impl StructuralPartialEq for TargetSystem
Auto Trait Implementations§
impl RefUnwindSafe for TargetSystem
impl Send for TargetSystem
impl Sync for TargetSystem
impl Unpin for TargetSystem
impl UnwindSafe for TargetSystem
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
§impl<T> CallHasher for T
impl<T> CallHasher for T
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> Clear for T
impl<T> Clear for T
source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> 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, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.