pub enum TokenConfiguration {
V0(TokenConfigurationV0),
}Variants§
Implementations§
Source§impl TokenConfiguration
impl TokenConfiguration
Sourcepub fn apply_token_configuration_item(
&mut self,
change_item: TokenConfigurationChangeItem,
)
pub fn apply_token_configuration_item( &mut self, change_item: TokenConfigurationChangeItem, )
Applies a TokenConfigurationChangeItem to this token configuration.
§Parameters
change_item: The change item to be applied.
This method modifies the current TokenConfigurationV0 instance in place.
Source§impl TokenConfiguration
impl TokenConfiguration
Sourcepub 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
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
Applies a TokenConfigurationChangeItem to this token configuration.
§Parameters
change_item: The change item to be applied.
This method modifies the current TokenConfigurationV0 instance in place.
Source§impl TokenConfiguration
impl TokenConfiguration
Sourcepub fn validate_token_config_groups_exist(
&self,
groups: &BTreeMap<GroupContractPosition, Group>,
platform_version: &PlatformVersion,
) -> Result<SimpleConsensusValidationResult, ProtocolError>
pub fn validate_token_config_groups_exist( &self, groups: &BTreeMap<GroupContractPosition, Group>, platform_version: &PlatformVersion, ) -> Result<SimpleConsensusValidationResult, ProtocolError>
Validates that all group positions referenced in the token configuration exist in the provided groups map.
§Parameters
groups: A reference to aBTreeMapcontaining group positions as keys and their associatedGroupobjects as values. These represent the groups defined in the data contract.platform_version: A reference to thePlatformVersionobject specifying the version of the function to call.
§Returns
Ok(SimpleConsensusValidationResult): If the validation is successful, returns a result containing a validation result object, which will be empty if no errors are found.Err(ProtocolError): If an unknown or unsupported platform version is specified, an error indicating a version mismatch is returned.
§Errors
- If a group position referenced in the token configuration does not exist in the provided
groupsmap, the method will invoke the version-specific validation logic, which will include any corresponding validation errors.
§Versioning
- This function dispatches to version-specific validation logic based on the
platform_version. - Currently supports
validate_token_config_groups_exist_v0for version0.
Source§impl TokenConfiguration
impl TokenConfiguration
pub fn validate_token_config_update( &self, new_config: &TokenConfiguration, contract_owner_id: &Identifier, groups: &BTreeMap<GroupContractPosition, Group>, action_taker: &ActionTaker, goal: ActionGoal, platform_version: &PlatformVersion, ) -> Result<SimpleConsensusValidationResult, ProtocolError>
Source§impl TokenConfiguration
impl TokenConfiguration
pub fn as_cow_v0(&self) -> Cow<'_, TokenConfigurationV0>
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for TokenConfiguration
impl<'__de, __Context> BorrowDecode<'__de, __Context> for TokenConfiguration
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Source§impl Clone for TokenConfiguration
impl Clone for TokenConfiguration
Source§fn clone(&self) -> TokenConfiguration
fn clone(&self) -> TokenConfiguration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TokenConfiguration
impl Debug for TokenConfiguration
Source§impl<__Context> Decode<__Context> for TokenConfiguration
impl<__Context> Decode<__Context> for TokenConfiguration
Source§impl<'de> Deserialize<'de> for TokenConfiguration
impl<'de> Deserialize<'de> for TokenConfiguration
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for TokenConfiguration
impl Display for TokenConfiguration
Source§impl Encode for TokenConfiguration
impl Encode for TokenConfiguration
Source§impl From<TokenConfigurationV0> for TokenConfiguration
impl From<TokenConfigurationV0> for TokenConfiguration
Source§fn from(value: TokenConfigurationV0) -> Self
fn from(value: TokenConfigurationV0) -> Self
Source§impl JsonConvertible for TokenConfiguration
impl JsonConvertible for TokenConfiguration
Source§impl PartialEq for TokenConfiguration
impl PartialEq for TokenConfiguration
Source§impl Serialize for TokenConfiguration
impl Serialize for TokenConfiguration
Source§impl TokenConfigurationV0Getters for TokenConfiguration
Implementing TokenConfigurationV0Getters for TokenConfiguration
impl TokenConfigurationV0Getters for TokenConfiguration
Implementing TokenConfigurationV0Getters for TokenConfiguration
Source§fn conventions(&self) -> &TokenConfigurationConvention
fn conventions(&self) -> &TokenConfigurationConvention
Returns a reference to the conventions.
Source§fn conventions_mut(&mut self) -> &mut TokenConfigurationConvention
fn conventions_mut(&mut self) -> &mut TokenConfigurationConvention
Returns a mutable reference to the conventions.
Source§fn base_supply(&self) -> TokenAmount
fn base_supply(&self) -> TokenAmount
Returns the base supply.
Source§fn keeps_history(&self) -> &TokenKeepsHistoryRules
fn keeps_history(&self) -> &TokenKeepsHistoryRules
Returns if we keep history.
Source§fn keeps_history_mut(&mut self) -> &mut TokenKeepsHistoryRules
fn keeps_history_mut(&mut self) -> &mut TokenKeepsHistoryRules
Returns if we keep history.
Source§fn start_as_paused(&self) -> bool
fn start_as_paused(&self) -> bool
Returns if we start as paused.
Source§fn max_supply(&self) -> Option<TokenAmount>
fn max_supply(&self) -> Option<TokenAmount>
Returns the maximum supply.
Source§fn max_supply_change_rules(&self) -> &ChangeControlRules
fn max_supply_change_rules(&self) -> &ChangeControlRules
Returns the max supply change rules.
Source§fn manual_minting_rules(&self) -> &ChangeControlRules
fn manual_minting_rules(&self) -> &ChangeControlRules
Returns the manual minting rules.
Source§fn manual_burning_rules(&self) -> &ChangeControlRules
fn manual_burning_rules(&self) -> &ChangeControlRules
Returns the manual burning rules.
Source§fn freeze_rules(&self) -> &ChangeControlRules
fn freeze_rules(&self) -> &ChangeControlRules
Returns the freeze rules.
Source§fn unfreeze_rules(&self) -> &ChangeControlRules
fn unfreeze_rules(&self) -> &ChangeControlRules
Returns the unfreeze rules.
Source§fn main_control_group(&self) -> Option<GroupContractPosition>
fn main_control_group(&self) -> Option<GroupContractPosition>
Returns the main control group.
Source§fn main_control_group_can_be_modified(&self) -> &AuthorizedActionTakers
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)
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)>
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>
fn description(&self) -> &Option<String>
Returns the token description.
Source§fn conventions_change_rules(&self) -> &ChangeControlRules
fn conventions_change_rules(&self) -> &ChangeControlRules
Source§fn is_allowed_transfer_to_frozen_balance(&self) -> bool
fn is_allowed_transfer_to_frozen_balance(&self) -> bool
Source§fn distribution_rules(&self) -> &TokenDistributionRules
fn distribution_rules(&self) -> &TokenDistributionRules
Source§fn distribution_rules_mut(&mut self) -> &mut TokenDistributionRules
fn distribution_rules_mut(&mut self) -> &mut TokenDistributionRules
Source§fn destroy_frozen_funds_rules(&self) -> &ChangeControlRules
fn destroy_frozen_funds_rules(&self) -> &ChangeControlRules
Source§fn emergency_action_rules(&self) -> &ChangeControlRules
fn emergency_action_rules(&self) -> &ChangeControlRules
Source§impl TokenConfigurationV0Setters for TokenConfiguration
Implementing TokenConfigurationV0Setters for TokenConfiguration
impl TokenConfigurationV0Setters for TokenConfiguration
Implementing TokenConfigurationV0Setters for TokenConfiguration
Source§fn set_conventions(&mut self, conventions: TokenConfigurationConvention)
fn set_conventions(&mut self, conventions: TokenConfigurationConvention)
Sets the conventions.
Source§fn set_conventions_change_rules(&mut self, rules: ChangeControlRules)
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)
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: u64)
fn set_base_supply(&mut self, base_supply: u64)
Sets the base supply.
Source§fn set_start_as_paused(&mut self, start_as_paused: bool)
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<u64>)
fn set_max_supply(&mut self, max_supply: Option<u64>)
Sets the maximum supply.
Source§fn set_max_supply_change_rules(&mut self, rules: ChangeControlRules)
fn set_max_supply_change_rules(&mut self, rules: ChangeControlRules)
Sets the max supply change rules.
Source§fn set_manual_minting_rules(&mut self, rules: ChangeControlRules)
fn set_manual_minting_rules(&mut self, rules: ChangeControlRules)
Sets the manual minting rules.
Source§fn set_manual_burning_rules(&mut self, rules: ChangeControlRules)
fn set_manual_burning_rules(&mut self, rules: ChangeControlRules)
Sets the manual burning rules.
Source§fn set_freeze_rules(&mut self, rules: ChangeControlRules)
fn set_freeze_rules(&mut self, rules: ChangeControlRules)
Sets the freeze rules.
Source§fn set_unfreeze_rules(&mut self, rules: ChangeControlRules)
fn set_unfreeze_rules(&mut self, rules: ChangeControlRules)
Sets the unfreeze rules.
Source§fn set_main_control_group(&mut self, group: Option<GroupContractPosition>)
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,
)
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>)
fn set_description(&mut self, description: Option<String>)
Sets the token description.
Source§fn set_distribution_rules(&mut self, rules: TokenDistributionRules)
fn set_distribution_rules(&mut self, rules: TokenDistributionRules)
Source§fn set_destroy_frozen_funds_rules(&mut self, rules: ChangeControlRules)
fn set_destroy_frozen_funds_rules(&mut self, rules: ChangeControlRules)
destroy frozen funds rules.Source§fn set_emergency_action_rules(&mut self, rules: ChangeControlRules)
fn set_emergency_action_rules(&mut self, rules: ChangeControlRules)
Source§impl ValueConvertible for TokenConfiguration
impl ValueConvertible for TokenConfiguration
fn to_object(&self) -> Result<Value, ProtocolError>where
Self: Sized,
fn into_object(self) -> Result<Value, ProtocolError>where
Self: Sized,
fn from_object(value: Value) -> Result<Self, ProtocolError>where
Self: Sized,
fn from_object_ref(value: &Value) -> Result<Self, ProtocolError>where
Self: Sized,
impl Eq for TokenConfiguration
impl JsonSafeFields for TokenConfiguration
impl StructuralPartialEq for TokenConfiguration
Auto Trait Implementations§
impl Freeze for TokenConfiguration
impl RefUnwindSafe for TokenConfiguration
impl Send for TokenConfiguration
impl Sync for TokenConfiguration
impl Unpin for TokenConfiguration
impl UnwindSafe for TokenConfiguration
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> CostsExt for T
impl<T> CostsExt for T
§fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
CostContext object with provided costs.§fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
CostContext object with costs computed using the
value getting wrapped.§impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
fn borrow_decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
§impl<T> DefaultDecode for T
impl<T> DefaultDecode for T
§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
key and return true if they are equal.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
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,
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,
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,
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,
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,
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,
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,
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,
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,
§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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 Twhere
U: FromOnNetwork<T>,
impl<T, U> IntoOnNetwork<U> for Twhere
U: FromOnNetwork<T>,
§fn into_on_network(self, network: Network) -> U
fn into_on_network(self, network: Network) -> U
Calls U::from_on_network(self).
§impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
§fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
§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,
§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,
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,
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
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
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
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§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
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
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
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
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
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
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
.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
.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
.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
.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
.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
.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
.tap_deref() only in debug builds, and is erased in release
builds.