multiversx_sc_modules::token_merge::merged_token_setup

Trait MergedTokenSetupModule

Source
pub trait MergedTokenSetupModule: ContractBase + Sized {
    // Required methods
    fn merged_token(&self) -> NonFungibleTokenMapper<Self::Api>;
    fn mergeable_tokens_whitelist(
        &self,
    ) -> UnorderedSetMapper<Self::Api, TokenIdentifier<Self::Api>>;

    // Provided methods
    fn issue_merged_token(
        &self,
        token_display_name: ManagedBuffer<Self::Api>,
        token_ticker: ManagedBuffer<Self::Api>,
    ) { ... }
    fn add_mergeable_tokens_to_whitelist(
        &self,
        tokens: MultiValueEncoded<Self::Api, TokenIdentifier<Self::Api>>,
    ) { ... }
    fn remove_mergeable_tokens_from_whitelist(
        &self,
        tokens: MultiValueEncoded<Self::Api, TokenIdentifier<Self::Api>>,
    ) { ... }
    fn create_merged_token<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>(
        &self,
        merged_token_id: TokenIdentifier<Self::Api>,
        merged_instances: &MergedTokenInstances<Self::Api>,
        attr_creator: &AttributesCreator,
    ) -> EsdtTokenPayment<Self::Api> { ... }
    fn create_uri_for_merged_token(
        &self,
        merged_instances: &MergedTokenInstances<Self::Api>,
    ) -> ManagedBuffer<Self::Api> { ... }
    fn collect_token_data(
        &self,
        merged_instances: &MergedTokenInstances<Self::Api>,
    ) -> ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS> { ... }
    fn require_all_parts_same_creator(
        &self,
        all_token_data: &ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS>,
    ) { ... }
    fn get_max_royalties(
        &self,
        all_token_data: &ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS>,
    ) -> BigUint<Self::Api> { ... }
}

Required Methods§

Provided Methods§

Source

fn issue_merged_token( &self, token_display_name: ManagedBuffer<Self::Api>, token_ticker: ManagedBuffer<Self::Api>, )

Source

fn add_mergeable_tokens_to_whitelist( &self, tokens: MultiValueEncoded<Self::Api, TokenIdentifier<Self::Api>>, )

Source

fn remove_mergeable_tokens_from_whitelist( &self, tokens: MultiValueEncoded<Self::Api, TokenIdentifier<Self::Api>>, )

Source

fn create_merged_token<AttributesCreator: MergedTokenAttributesCreator<ScType = Self>>( &self, merged_token_id: TokenIdentifier<Self::Api>, merged_instances: &MergedTokenInstances<Self::Api>, attr_creator: &AttributesCreator, ) -> EsdtTokenPayment<Self::Api>

Source

fn create_uri_for_merged_token( &self, merged_instances: &MergedTokenInstances<Self::Api>, ) -> ManagedBuffer<Self::Api>

Source

fn collect_token_data( &self, merged_instances: &MergedTokenInstances<Self::Api>, ) -> ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS>

Source

fn require_all_parts_same_creator( &self, all_token_data: &ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS>, )

Source

fn get_max_royalties( &self, all_token_data: &ArrayVec<EsdtTokenData<Self::Api>, MAX_MERGED_TOKENS>, ) -> BigUint<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§