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> { ... }
}