Skip to main content

TokenConfigurationV1

Struct TokenConfigurationV1 

Source
pub struct TokenConfigurationV1 {
    pub base: TokenConfigurationV0,
    pub has_shielded_pool: bool,
    pub minimum_pool_notes_for_outgoing: Option<u64>,
    pub minimum_pool_notes_for_outgoing_change_rules: ChangeControlRules,
}
Expand description

Version 1 of the token configuration: everything TokenConfigurationV0 carries, plus the per-token shielded pool opt-in and the pool’s outgoing notes threshold.

The V0 fields are nested as base and flattened on the JSON / Value wire, so a V1 configuration reads exactly like a V0 one with $formatVersion: "1" and the extra hasShieldedPool, minimumPoolNotesForOutgoing and minimumPoolNotesForOutgoingChangeRules keys. On the bincode wire it is the V0 bytes followed by the flag, the threshold and its rules, under the enum’s variant index 1, so stored V0 configurations decode unchanged.

has_shielded_pool is decided at token creation and is immutable afterwards: the pool subtree (an Orchard note commitment tree, nullifier set, anchors and a balance) is created together with the token’s other trees, and a pool holding notes can never be removed. Enabling a pool on an existing token is not supported by this version.

Fields§

§base: TokenConfigurationV0

The V0 configuration this version extends.

§has_shielded_pool: bool

Whether this token has its own shielded pool. When true, holders may move balance into the pool (TokenShield), transfer privately inside it (TokenShieldedTransfer) and move balance back out to an identity (TokenUnshield).

§minimum_pool_notes_for_outgoing: Option<u64>

The fewest notes the token’s shielded pool must hold before tokens may leave it for a visible destination (unshielding to an identity, burning from the pool, paying a document’s token cost from the pool). Transfers inside the pool are not limited. None reads as 0, no threshold.

The count is of note commitments, not of holders: one bundle carries several actions, so a single depositor can reach a threshold alone. It tells holders how busy the pool should be before they leave it and guarantees no anonymity set. A threshold above 0 also traps a new pool’s first depositors until enough notes accumulate, so the default is none. At most max_token_pool_notes_for_outgoing, so an issuer cannot set one no pool reaches and strand every shielded balance. Changed through TokenConfigUpdate under minimum_pool_notes_for_outgoing_change_rules.

§minimum_pool_notes_for_outgoing_change_rules: ChangeControlRules

Change control rules governing who can modify minimum_pool_notes_for_outgoing. No one when absent.

Implementations§

Source§

impl TokenConfigurationV1

Source

pub fn apply_token_configuration_item( &mut self, change_item: TokenConfigurationChangeItem, )

Applies a TokenConfigurationChangeItem: the shielded pool’s threshold items to this configuration, every other item to the nested V0 configuration.

Source§

impl TokenConfigurationV1

Source

pub fn controlling_action_takers_for_configuration_item( &self, change_item: &TokenConfigurationChangeItem, ) -> AuthorizedActionTakers

Returns the current authority that controls a configuration item: the shielded pool’s threshold items are controlled like any other rule-governed item, every other item as the nested V0 configuration says.

Source

pub fn authorized_action_takers_for_configuration_item( &self, change_item: &TokenConfigurationChangeItem, ) -> AuthorizedActionTakers

Returns the authorized action takers for a specific TokenConfigurationChangeItem: the shielded pool’s threshold items from minimum_pool_notes_for_outgoing_change_rules, every other item from the nested V0 configuration.

Source§

impl TokenConfigurationV1

Source

pub fn can_apply_token_configuration_item( &self, change_item: &TokenConfigurationChangeItem, contract_owner_id: &Identifier, main_group: Option<GroupContractPosition>, groups: &BTreeMap<GroupContractPosition, Group>, action_taker: &ActionTaker, goal: ActionGoal, ) -> bool

Determines whether a TokenConfigurationChangeItem can be applied: the shielded pool’s threshold items under minimum_pool_notes_for_outgoing_change_rules, every other item under the nested V0 configuration’s rules.

Source§

impl TokenConfigurationV1

Source

pub fn from_v0(base: TokenConfigurationV0, has_shielded_pool: bool) -> Self

Wraps a V0 configuration, opting the token into a shielded pool when has_shielded_pool.

Trait Implementations§

Source§

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

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<'__de, __Context> BorrowDecodeUntrusted<'__de, __Context> for TokenConfigurationV1

Source§

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

Borrow-decode with explicit untrusted field dispatch and resource handling.
Source§

impl Clone for TokenConfigurationV1

Source§

fn clone(&self) -> TokenConfigurationV1

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for TokenConfigurationV1

Source§

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

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

impl<__Context> Decode<__Context> for TokenConfigurationV1

Source§

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

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

impl<__Context> DecodeUntrusted<__Context> for TokenConfigurationV1

Source§

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

Decode with explicit untrusted field dispatch and resource handling.
Source§

impl<'de> Deserialize<'de> for TokenConfigurationV1

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 Display for TokenConfigurationV1

Source§

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

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

impl Encode for TokenConfigurationV1

Source§

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

Encode a given type.
Source§

impl Eq for TokenConfigurationV1

Source§

impl From<TokenConfigurationV1> for TokenConfiguration

Source§

fn from(value: TokenConfigurationV1) -> Self

Converts to this type from the input type.
Source§

impl JsonSafeFields for TokenConfigurationV1

Source§

impl PartialEq for TokenConfigurationV1

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl Serialize for TokenConfigurationV1

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 StructuralPartialEq for TokenConfigurationV1

Source§

impl TokenConfigurationV0Getters for TokenConfigurationV1

Every V0 getter reads through to the nested base configuration.

Source§

fn conventions(&self) -> &TokenConfigurationConvention

Returns a reference to the conventions.
Source§

fn conventions_mut(&mut self) -> &mut TokenConfigurationConvention

Returns a mutable reference to the conventions.
Source§

fn conventions_change_rules(&self) -> &ChangeControlRules

Returns the new tokens destination identity rules.
Source§

fn base_supply(&self) -> TokenAmount

Returns the base supply.
Source§

fn keeps_history(&self) -> &TokenKeepsHistoryRules

Returns the KeepsHistory rules.
Source§

fn keeps_history_mut(&mut self) -> &mut TokenKeepsHistoryRules

Returns if we keep history.
Source§

fn start_as_paused(&self) -> bool

Returns if we start as paused.
Source§

fn is_allowed_transfer_to_frozen_balance(&self) -> bool

Allow to transfer and mint tokens to frozen identity token balances
Source§

fn max_supply(&self) -> Option<TokenAmount>

Returns the maximum supply.
Source§

fn max_supply_change_rules(&self) -> &ChangeControlRules

Returns the max supply change rules.
Source§

fn distribution_rules(&self) -> &TokenDistributionRules

Returns the distribution rules.
Source§

fn distribution_rules_mut(&mut self) -> &mut TokenDistributionRules

Returns a mutable reference to the distribution rules.
Source§

fn manual_minting_rules(&self) -> &ChangeControlRules

Returns the manual minting rules.
Source§

fn manual_burning_rules(&self) -> &ChangeControlRules

Returns the manual burning rules.
Source§

fn freeze_rules(&self) -> &ChangeControlRules

Returns the freeze rules.
Source§

fn unfreeze_rules(&self) -> &ChangeControlRules

Returns the unfreeze rules.
Source§

fn destroy_frozen_funds_rules(&self) -> &ChangeControlRules

Returns the destroy frozen funds rules.
Source§

fn emergency_action_rules(&self) -> &ChangeControlRules

Returns the emergency action rules.
Source§

fn main_control_group(&self) -> Option<GroupContractPosition>

Returns the main control group.
Source§

fn main_control_group_can_be_modified(&self) -> &AuthorizedActionTakers

Returns the main control group can be modified.
Source§

fn all_used_group_positions(&self) -> (BTreeSet<GroupContractPosition>, bool)

Returns all group positions used in the token configuration
Source§

fn all_change_control_rules(&self) -> Vec<(&str, &ChangeControlRules)>

Returns all the change contract rules, including those from the distribution rules
Source§

fn description(&self) -> &Option<String>

Returns the token description.
Source§

impl TokenConfigurationV0Setters for TokenConfigurationV1

Every V0 setter writes through to the nested base configuration.

Source§

fn set_conventions(&mut self, conventions: TokenConfigurationConvention)

Sets the conventions.
Source§

fn set_conventions_change_rules(&mut self, rules: ChangeControlRules)

Sets the conventions change rules.
Source§

fn allow_transfer_to_frozen_balance(&mut self, allow: bool)

Allow or not a transfer and mint tokens to frozen identity token balances
Source§

fn set_base_supply(&mut self, base_supply: TokenAmount)

Sets the base supply.
Source§

fn set_start_as_paused(&mut self, start_as_paused: bool)

Sets if we should start as paused. Meaning transfers will not work till unpaused
Source§

fn set_max_supply(&mut self, max_supply: Option<TokenAmount>)

Sets the maximum supply.
Source§

fn set_max_supply_change_rules(&mut self, rules: ChangeControlRules)

Sets the max supply change rules.
Source§

fn set_distribution_rules(&mut self, rules: TokenDistributionRules)

Sets the distribution rules.
Source§

fn set_manual_minting_rules(&mut self, rules: ChangeControlRules)

Sets the manual minting rules.
Source§

fn set_manual_burning_rules(&mut self, rules: ChangeControlRules)

Sets the manual burning rules.
Source§

fn set_freeze_rules(&mut self, rules: ChangeControlRules)

Sets the freeze rules.
Source§

fn set_unfreeze_rules(&mut self, rules: ChangeControlRules)

Sets the unfreeze rules.
Source§

fn set_destroy_frozen_funds_rules(&mut self, rules: ChangeControlRules)

Sets the destroy frozen funds rules.
Source§

fn set_emergency_action_rules(&mut self, rules: ChangeControlRules)

Sets the emergency action rules.
Source§

fn set_main_control_group(&mut self, group: Option<GroupContractPosition>)

Sets the main control group.
Source§

fn set_main_control_group_can_be_modified( &mut self, action_takers: AuthorizedActionTakers, )

Sets the main control group can be modified.
Source§

fn set_description(&mut self, description: Option<String>)

Sets the token description.
Source§

impl TokenConfigurationV1Getters for TokenConfigurationV1

Source§

fn has_shielded_pool(&self) -> bool

Whether the token has its own shielded pool.
Source§

fn minimum_pool_notes_for_outgoing(&self) -> u64

The fewest notes the token’s shielded pool must hold before tokens may leave it for a visible destination; 0 when the configuration sets none.
Source§

impl TokenConfigurationV1Setters for TokenConfigurationV1

Source§

fn set_has_shielded_pool(&mut self, has_shielded_pool: bool)

Sets whether the token has its own shielded pool.

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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,

Source§

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

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

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
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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