Identity

Enum Identity 

Source
pub enum Identity {
    V0(IdentityV0),
}
Expand description

The identity is not stored inside of drive, because of this, the serialization is mainly for transport, the serialization of the identity will include the version, so no passthrough or untagged is needed here

Variants§

Implementations§

Source§

impl Identity

Source

pub fn hash(&self) -> Result<Vec<u8>, ProtocolError>

Computes the hash of an identity

Source

pub fn default_versioned( platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Source

pub fn new_with_id_and_keys( id: Identifier, public_keys: BTreeMap<KeyID, IdentityPublicKey>, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Created a new identity based on asset locks and keys

Source

pub fn new_with_input_addresses_and_keys( inputs: &BTreeMap<PlatformAddress, (AddressNonce, Credits)>, public_keys: BTreeMap<KeyID, IdentityPublicKey>, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Create a new identity using input PlatformAddresses.

This function derives the identity ID from the provided input addresses.

§Arguments
  • inputs - A map of PlatformAddress to (AddressNonce, Credits). The identity id is derived from the addresses and nonces (credits are ignored for the id derivation). The nonces should represent state after creation of the identity (e.g. be incremented by 1).
  • public_keys - A map of KeyID to IdentityPublicKey tuples representing the public keys for the identity.
  • platform_version - The platform version to use for identity creation.
§Returns
  • Result<Identity, ProtocolError> - Returns the newly created Identity or a ProtocolError if the operation fails.
Source

pub fn into_partial_identity_info(self) -> PartialIdentity

Convenience method to get Partial Identity Info

Source

pub fn into_partial_identity_info_no_balance(self) -> PartialIdentity

Convenience method to get Partial Identity Info

Source§

impl Identity

Source

pub fn create_basic_identity( id: Identifier, platform_version: &PlatformVersion, ) -> Result<Self, ProtocolError>

Source§

impl Identity

Source

pub fn random_identity_with_rng( key_count: KeyCount, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<Self, ProtocolError>

Generates a random identity using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • rng - A mutable reference to a random number generator to use for generating the identity.
§Returns

A randomly generated identity of the specified version.

§Panics

This function will panic if an unsupported version is provided.

Source

pub fn random_identity_with_main_keys_with_private_key<I>( key_count: KeyCount, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<(Self, I), ProtocolError>

Generates a random identity with main keys and their corresponding private keys, using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • rng - A mutable reference to a random number generator to use for generating the identity.
§Returns

A tuple containing the randomly generated identity and a collection of main keys with their corresponding private keys.

§Panics

This function will panic if an unsupported version is provided.

§Errors

This function may return a ProtocolError if an error occurs during identity generation.

Source

pub fn random_identity( key_count: KeyCount, seed: Option<u64>, platform_version: &PlatformVersion, ) -> Result<Self, ProtocolError>

Generates a random identity using the specified version and key count, with an optional seed for reproducibility.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • seed - An optional seed for reproducibility. If provided, the RNG will be seeded with this value.
§Returns

A randomly generated identity of the specified version.

§Panics

This function will panic if an unsupported version is provided.

Source

pub fn random_identities( count: u16, key_count: KeyCount, seed: Option<u64>, platform_version: &PlatformVersion, ) -> Result<Vec<Self>, ProtocolError>

Generates a specified number of random identities using the specified version and key count, with an optional seed for reproducibility.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • seed - An optional seed for reproducibility. If provided, the RNG will be seeded with this value.
§Returns

A vector of randomly generated identities of the specified version.

§Panics

This function will panic if an unsupported version is provided.

Source

pub fn random_identities_with_rng( count: u16, key_count: KeyCount, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<Vec<Self>, ProtocolError>

Generates a specified number of random identities using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • rng - A mutable reference to a random number generator to use for generating the identities.
§Returns

A vector of randomly generated identities of the specified version.

§Panics

This function will panic if an unsupported version is provided.

Source

pub fn random_identities_with_private_keys_with_rng<I>( count: u16, key_count: KeyCount, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<(Vec<Self>, I), ProtocolError>

Generates a specified number of random identities with their corresponding private keys, using the specified version, key count, and a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • rng - A mutable reference to a random number generator to use for generating the identities.
§Returns

A tuple containing a vector of randomly generated identities and a collection of main keys with their corresponding private keys.

§Panics

This function will panic if an unsupported version is provided.

§Errors

This function may return a ProtocolError if an error occurs during identity generation.

Trait Implementations§

Source§

impl<'__de, __Context> BorrowDecode<'__de, __Context> for Identity

Source§

fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for Identity

Source§

fn clone(&self) -> Identity

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Identity

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<__Context> Decode<__Context> for Identity

Source§

fn decode<__D: Decoder<Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl<'de> Deserialize<'de> for Identity

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Encode for Identity

Source§

fn encode<__E: Encoder>(&self, encoder: &mut __E) -> Result<(), EncodeError>

Encode a given type.
Source§

impl From<IdentityV0> for Identity

Source§

fn from(value: IdentityV0) -> Self

Converts to this type from the input type.
Source§

impl IdentityGettersV0 for Identity

Source§

fn public_keys(&self) -> &BTreeMap<KeyID, IdentityPublicKey>

Returns a reference to the public keys of the identity.

§Returns

A reference to a BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

Source§

fn public_keys_mut(&mut self) -> &mut BTreeMap<KeyID, IdentityPublicKey>

Returns a mutable reference to the public keys of the identity.

§Returns

A mutable reference to a BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

Source§

fn public_keys_owned(self) -> BTreeMap<KeyID, IdentityPublicKey>

Consumes the Identity and returns the owned public keys.

§Returns

A BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

Source§

fn balance(&self) -> u64

Returns the balance of the identity.

§Returns

The balance as a u64.

Source§

fn revision(&self) -> Revision

Returns the revision of the identity.

§Returns

The revision as a Revision.

Source§

fn id(&self) -> Identifier

Returns the identifier of the identity.

§Returns

The identifier as an Identifier.

Source§

fn get_public_key_by_id(&self, key_id: KeyID) -> Option<&IdentityPublicKey>

Returns a public key for a given id

Source§

fn get_public_key_by_id_mut( &mut self, key_id: KeyID, ) -> Option<&mut IdentityPublicKey>

Returns a public key for a given id

Source§

fn get_public_key_max_id(&self) -> KeyID

Get the biggest public KeyID

Source§

fn add_public_key(&mut self, key: IdentityPublicKey)

Add an identity public key

Source§

fn add_public_keys(&mut self, keys: impl IntoIterator<Item = IdentityPublicKey>)

Add identity public keys

Source§

fn get_first_public_key_matching( &self, purpose: Purpose, security_levels: HashSet<SecurityLevel>, key_types: HashSet<KeyType>, allow_disabled: bool, ) -> Option<&IdentityPublicKey>

Get first public key matching a purpose, security levels, or key types, optionally allowing disabled keys

Source§

impl IdentityPlatformValueConversionMethodsV0 for Identity

Source§

fn to_cleaned_object(&self) -> Result<Value, ProtocolError>
where Self: Sized,

Source§

impl IdentitySettersV0 for Identity

Source§

fn set_public_keys( &mut self, new_public_keys: BTreeMap<KeyID, IdentityPublicKey>, )

Sets the public keys of the identity.

§Arguments
  • new_public_keys - A BTreeMap containing the new KeyID as keys and IdentityPublicKey as values.
Source§

fn set_balance(&mut self, new_balance: u64)

Sets the balance of the identity.

§Arguments
  • new_balance - The new balance as a u64.
Source§

fn set_revision(&mut self, new_revision: Revision)

Sets the revision of the identity.

§Arguments
  • new_revision - The new revision as a Revision.
Source§

fn bump_revision(&mut self)

Sets the revision of the identity to +1.

Source§

fn set_id(&mut self, new_id: Identifier)

Sets the identifier of the identity.

§Arguments
  • new_id - The new identifier as an Identifier.
Source§

fn increase_balance(&mut self, amount: u64) -> u64

Increase Identity balance

Source§

fn reduce_balance(&mut self, amount: u64) -> u64

Reduce the Identity balance

Source§

fn increment_revision(&mut self) -> Result<(), ProtocolError>

Increment revision

Source§

impl PartialEq for Identity

Source§

fn eq(&self, other: &Identity) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PlatformDeserializable for Identity

Source§

impl PlatformSerializable for Identity

Source§

type Error = ProtocolError

Source§

fn serialize_to_bytes(&self) -> Result<Vec<u8>, Self::Error>

Source§

fn serialize_consume_to_bytes(self) -> Result<Vec<u8>, Self::Error>

If the trait is not used just do a simple serialize
Source§

impl PlatformVersionEncode for Identity

Source§

fn platform_encode<__E: Encoder>( &self, encoder: &mut __E, platform_version: &PlatformVersion, ) -> Result<(), EncodeError>

Encode a given type.
Source§

impl<'__de> PlatformVersionedBorrowDecode<'__de> for Identity

Source§

fn platform_versioned_borrow_decode<__D: BorrowDecoder<'__de, Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl PlatformVersionedDecode for Identity

Source§

fn platform_versioned_decode<__D: Decoder<Context = BincodeContext>>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl Serialize for Identity

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<StateTransitionProofResult> for Identity

Source§

type Error = TryIntoError<StateTransitionProofResult>

The type returned in the event of a conversion error.
Source§

fn try_from(value: StateTransitionProofResult) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFromPlatformVersioned<&Value> for Identity

Source§

type Error = ProtocolError

The type returned in the event of a conversion error.
Source§

fn try_from_platform_versioned( value: &Value, platform_version: &PlatformVersion, ) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFromPlatformVersioned<Value> for Identity

Source§

type Error = ProtocolError

The type returned in the event of a conversion error.
Source§

fn try_from_platform_versioned( value: Value, platform_version: &PlatformVersion, ) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl ValueConvertible for Identity

Source§

fn to_object(&self) -> Result<Value, ProtocolError>
where Self: Sized,

Source§

fn into_object(self) -> Result<Value, ProtocolError>
where Self: Sized,

Source§

fn from_object(value: Value) -> Result<Self, ProtocolError>
where Self: Sized,

Source§

fn from_object_ref(value: &Value) -> Result<Self, ProtocolError>
where Self: Sized,

Source§

impl StructuralPartialEq for Identity

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> CostsExt for T

§

fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>
where Self: Sized,

Wraps any value into a CostContext object with provided costs.
§

fn wrap_fn_cost( self, f: impl FnOnce(&Self) -> OperationCost, ) -> CostContext<Self>
where Self: Sized,

Wraps any value into CostContext object with costs computed using the value getting wrapped.
§

impl<'de, T> DefaultBorrowDecode<'de> for T
where T: BorrowDecode<'de, ()>,

§

fn borrow_decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
where D: BorrowDecoder<'de, Context = ()>, Self: Sized,

§

impl<T> DefaultDecode for T
where T: Decode<()>,

§

fn decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
where D: Decoder<Context = ()>, Self: Sized,

§

impl<T> FmtForward for T

§

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,

Causes self to use its Display implementation when Debug-formatted.
§

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,

Causes self to use its LowerHex implementation when Debug-formatted.
§

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,

Causes self to use its Pointer implementation when Debug-formatted.
§

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,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T, U> IntoOnNetwork<U> for T
where U: FromOnNetwork<T>,

§

fn into_on_network(self, network: Network) -> U

Calls U::from_on_network(self).

§

impl<T, U> IntoPlatformVersioned<U> for T

§

fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U

Performs the conversion.
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where 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) -> R
where 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) -> R
where 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
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

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

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

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
where Self: BorrowMut<B>, B: ?Sized,

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
where Self: AsRef<R>, R: ?Sized,

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
where Self: AsMut<R>, R: ?Sized,

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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryFromVersioned<U> for T
where T: TryFrom<U>,

§

type Error = <T as TryFrom<U>>::Error

The type returned in the event of a conversion error.
§

fn try_from_versioned( value: U, _grove_version: &GroveVersion, ) -> Result<T, <T as TryFromVersioned<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoPlatformVersioned<U> for T

§

type Error = <U as TryFromPlatformVersioned<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into_platform_versioned( self, platform_version: &PlatformVersion, ) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoVersioned<U> for T
where U: TryFromVersioned<T>,

§

type Error = <U as TryFromVersioned<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into_versioned( self, grove_version: &GroveVersion, ) -> Result<U, <U as TryFromVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoWithBlockHashLookup<U> for T
where U: TryFromWithBlockHashLookup<T>,

§

type Error = <U as TryFromWithBlockHashLookup<T>>::Error

§

fn try_into_with_block_hash_lookup<F>( self, block_hash_lookup: F, network: Network, ) -> Result<U, <T as TryIntoWithBlockHashLookup<U>>::Error>
where F: Fn(&BlockHash) -> Option<u32>,

Converts self into T, using a block hash lookup function.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,