multiversx_sc_modules::token_merge

Trait TokenMergeModule

Source
pub trait TokenMergeModule:
    ContractBase
    + Sized
    + MergedTokenSetupModule
    + DefaultIssueCallbacksModule
    + PauseModule {
    // Provided methods
    fn merge_tokens<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>(
        &self,
        payments: &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>,
        attr_creator: &AttributesCreator,
    ) -> EsdtTokenPayment<Self::Api> { ... }
    fn split_tokens(
        &self,
        payments: &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>,
    ) -> ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>> { ... }
    fn split_token_partial<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>(
        &self,
        merged_token: EsdtTokenPayment<Self::Api>,
        tokens_to_remove: ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>,
        attr_creator: &AttributesCreator,
    ) -> ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>> { ... }
}

Provided Methods§

Source

fn merge_tokens<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>( &self, payments: &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, attr_creator: &AttributesCreator, ) -> EsdtTokenPayment<Self::Api>

Source

fn split_tokens( &self, payments: &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, ) -> ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>

Source

fn split_token_partial<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>( &self, merged_token: EsdtTokenPayment<Self::Api>, tokens_to_remove: ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, attr_creator: &AttributesCreator, ) -> ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§