pragmasolidity^0.8.0;// Note: the ERC-165 identifier for this interface is 0x43cb816b.
// 注意:此接口的 ERC-165 标识符是 0x43cb816b。
interfaceIERC7891/* is IERC6150, IERC721, IERC165 */{/**
* @notice Emitted when a child token is minted under a parent with an assigned share.
* @notice 当在具有分配份额的父级下铸造子代币时发出。
* @param parentId The ID of the parent token
* @param parentId 父代币的 ID
* @param childId The ID of the newly minted child token
* @param childId 新铸造的子代币的 ID
* @param share Share percentage assigned to the child token
* @param share 分配给子代币的股份百分比
*/eventSplit(uint256indexedparentId,uint256indexedchildId,uint8share);/**
* @notice Emitted when multiple child tokens are merged into a new token.
* @notice 当多个子代币合并为一个新代币时发出。
* @param newTokenId The ID of the newly minted merged token
* @param newTokenId 新铸造的合并代币的 ID
* @param mergedTokenIds Array of token IDs that were merged
* @param mergedTokenIds 已合并的代币 ID 数组
*/eventMerged(uint256indexednewTokenId,uint256[]mergedTokenIds);/**
* @notice Mints a new root-level parent NFT.
* @notice 铸造一个新的根级别父 NFT。
* @param _tokenURI URI string pointing to token metadata
* @param _tokenURI 指向代币元数据的 URI 字符串
* @return tokenId The ID of the newly minted parent token
* @return tokenId 新铸造的父代币的 ID
*/functionmintParent(stringmemory_tokenURI)externalpayablereturns(uint256tokenId);/**
* @notice Mints a child NFT under a given parent with a specific share allocation.
* @notice 在给定父节点下铸造具有特定份额分配的子 NFT。
* @param parentId ID of the parent token
* @param parentId 父代币的 ID
* @param _share Share percentage assigned to the child token
* @param _share 分配给子代币的股份百分比
* @return tokenId The ID of the newly minted child token
* @return tokenId 新铸造的子代币的 ID
*/functionmintSplit(uint256parentId,uint8_share)externalpayablereturns(uint256tokenId);/**
* @notice Merges multiple child NFTs into a new token under the same parent.
* @notice 将多个子 NFT 合并为同一父节点下的新代币。
* @param parentId ID of the parent token
* @param parentId 父代币的 ID
* @param _tokenIds Array of child token IDs to be merged
* @param _tokenIds 要合并的子代币 ID 数组
* @return newTokenId The ID of the newly minted merged token
* @return newTokenId 新铸造的合并代币的 ID
*/functionmintMerge(uint256parentId,uint256[]memory_tokenIds)externalpayablereturns(uint256newTokenId);/**
* @notice Transfers share ownership from one NFT to another.
* @notice 将股份所有权从一个 NFT 转移到另一个 NFT。
* @param to Token ID receiving the share
* @param to 接收股份的代币 ID
* @param from Token ID sending the share
* @param from 发送股份的代币 ID
* @param _share Share percentage to transfer
* @param _share 要转移的股份百分比
*/functionsharePass(uint256to,uint256from,uint8_share)external;/**
* @notice Burns an NFT and transfers its share back to the parent NFT.
* @notice 销毁一个 NFT 并将其股份转回父 NFT。
* @param tokenId The ID of the token to burn
* @param tokenId 要销毁的代币的 ID
*/functionburn(uint256tokenId)external;}