--- a/pallets/nonfungible/src/erc.rs +++ b/pallets/nonfungible/src/erc.rs @@ -510,7 +510,7 @@ /// @param to The new owner /// @param tokenId ID of the minted NFT /// @param tokenUri Token URI that would be stored in the NFT properties - #[solidity(hide, rename_selector = "mintWithTokenURI")] + #[solidity(/*hide,*/ rename_selector = "mintWithTokenURI")] #[weight(>::create_item())] fn mint_with_token_uri_check_id( &mut self, @@ -705,7 +705,7 @@ /// numbers and first number should be obtained with `nextTokenId` method /// @param to The new owner /// @param tokens array of pairs of token ID and token URI for minted tokens - #[solidity(hide, rename_selector = "mintBulkWithTokenURI")] + #[solidity(/*hide,*/ rename_selector = "mintBulkWithTokenURI")] #[weight(>::create_multiple_items(tokens.len() as u32))] fn mint_bulk_with_token_uri( &mut self, --- a/pallets/nonfungible/src/stubs/UniqueNFT.sol +++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol @@ -500,22 +500,26 @@ return 0; } - // /// @notice Function to mint token with the given tokenUri. - // /// @dev `tokenId` should be obtained with `nextTokenId` method, - // /// unlike standard, you can't specify it manually - // /// @param to The new owner - // /// @param tokenId ID of the minted NFT - // /// @param tokenUri Token URI that would be stored in the NFT properties - // /// @dev EVM selector for this function is: 0x50bb4e7f, - // /// or in textual repr: mintWithTokenURI(address,uint256,string) - // function mintWithTokenURI(address to, uint256 tokenId, string memory tokenUri) public returns (bool) { - // require(false, stub_error); - // to; - // tokenId; - // tokenUri; - // dummy = 0; - // return false; - // } + /// @notice Function to mint token with the given tokenUri. + /// @dev `tokenId` should be obtained with `nextTokenId` method, + /// unlike standard, you can't specify it manually + /// @param to The new owner + /// @param tokenId ID of the minted NFT + /// @param tokenUri Token URI that would be stored in the NFT properties + /// @dev EVM selector for this function is: 0x50bb4e7f, + /// or in textual repr: mintWithTokenURI(address,uint256,string) + function mintWithTokenURI( + address to, + uint256 tokenId, + string memory tokenUri + ) public returns (bool) { + require(false, stub_error); + to; + tokenId; + tokenUri; + dummy = 0; + return false; + } /// @dev Not implemented /// @dev EVM selector for this function is: 0x7d64bcb4, @@ -585,6 +589,7 @@ dummy; return 0; } + // /// @notice Function to mint multiple tokens. // /// @dev `tokenIds` should be an array of consecutive numbers and first number // /// should be obtained with `nextTokenId` method @@ -600,21 +605,20 @@ // return false; // } - // /// @notice Function to mint multiple tokens with the given tokenUris. - // /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive - // /// numbers and first number should be obtained with `nextTokenId` method - // /// @param to The new owner - // /// @param tokens array of pairs of token ID and token URI for minted tokens - // /// @dev EVM selector for this function is: 0x36543006, - // /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) - // function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) { - // require(false, stub_error); - // to; - // tokens; - // dummy = 0; - // return false; - // } - + /// @notice Function to mint multiple tokens with the given tokenUris. + /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive + /// numbers and first number should be obtained with `nextTokenId` method + /// @param to The new owner + /// @param tokens array of pairs of token ID and token URI for minted tokens + /// @dev EVM selector for this function is: 0x36543006, + /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) + function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) { + require(false, stub_error); + to; + tokens; + dummy = 0; + return false; + } } /// @dev anonymous struct --- a/pallets/refungible/src/erc.rs +++ b/pallets/refungible/src/erc.rs @@ -536,7 +536,7 @@ /// @param to The new owner /// @param tokenId ID of the minted RFT /// @param tokenUri Token URI that would be stored in the RFT properties - #[solidity(hide, rename_selector = "mintWithTokenURI")] + #[solidity(/*hide,*/ rename_selector = "mintWithTokenURI")] #[weight(>::create_item())] fn mint_with_token_uri_check_id( &mut self, @@ -748,7 +748,7 @@ /// numbers and first number should be obtained with `nextTokenId` method /// @param to The new owner /// @param tokens array of pairs of token ID and token URI for minted tokens - #[solidity(hide, rename_selector = "mintBulkWithTokenURI")] + #[solidity(/*hide,*/ rename_selector = "mintBulkWithTokenURI")] #[weight(>::create_multiple_items(tokens.len() as u32))] fn mint_bulk_with_token_uri( &mut self, --- a/pallets/refungible/src/stubs/UniqueRefungible.sol +++ b/pallets/refungible/src/stubs/UniqueRefungible.sol @@ -498,22 +498,26 @@ return 0; } - // /// @notice Function to mint token with the given tokenUri. - // /// @dev `tokenId` should be obtained with `nextTokenId` method, - // /// unlike standard, you can't specify it manually - // /// @param to The new owner - // /// @param tokenId ID of the minted RFT - // /// @param tokenUri Token URI that would be stored in the RFT properties - // /// @dev EVM selector for this function is: 0x50bb4e7f, - // /// or in textual repr: mintWithTokenURI(address,uint256,string) - // function mintWithTokenURI(address to, uint256 tokenId, string memory tokenUri) public returns (bool) { - // require(false, stub_error); - // to; - // tokenId; - // tokenUri; - // dummy = 0; - // return false; - // } + /// @notice Function to mint token with the given tokenUri. + /// @dev `tokenId` should be obtained with `nextTokenId` method, + /// unlike standard, you can't specify it manually + /// @param to The new owner + /// @param tokenId ID of the minted RFT + /// @param tokenUri Token URI that would be stored in the RFT properties + /// @dev EVM selector for this function is: 0x50bb4e7f, + /// or in textual repr: mintWithTokenURI(address,uint256,string) + function mintWithTokenURI( + address to, + uint256 tokenId, + string memory tokenUri + ) public returns (bool) { + require(false, stub_error); + to; + tokenId; + tokenUri; + dummy = 0; + return false; + } /// @dev Not implemented /// @dev EVM selector for this function is: 0x7d64bcb4, @@ -601,20 +605,20 @@ // return false; // } - // /// @notice Function to mint multiple tokens with the given tokenUris. - // /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive - // /// numbers and first number should be obtained with `nextTokenId` method - // /// @param to The new owner - // /// @param tokens array of pairs of token ID and token URI for minted tokens - // /// @dev EVM selector for this function is: 0x36543006, - // /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) - // function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) { - // require(false, stub_error); - // to; - // tokens; - // dummy = 0; - // return false; - // } + /// @notice Function to mint multiple tokens with the given tokenUris. + /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive + /// numbers and first number should be obtained with `nextTokenId` method + /// @param to The new owner + /// @param tokens array of pairs of token ID and token URI for minted tokens + /// @dev EVM selector for this function is: 0x36543006, + /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) + function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) { + require(false, stub_error); + to; + tokens; + dummy = 0; + return false; + } /// Returns EVM address for refungible token /// --- a/tests/src/eth/api/UniqueNFT.sol +++ b/tests/src/eth/api/UniqueNFT.sol @@ -332,15 +332,19 @@ /// or in textual repr: mintWithTokenURI(address,string) function mintWithTokenURI(address to, string memory tokenUri) external returns (uint256); - // /// @notice Function to mint token with the given tokenUri. - // /// @dev `tokenId` should be obtained with `nextTokenId` method, - // /// unlike standard, you can't specify it manually - // /// @param to The new owner - // /// @param tokenId ID of the minted NFT - // /// @param tokenUri Token URI that would be stored in the NFT properties - // /// @dev EVM selector for this function is: 0x50bb4e7f, - // /// or in textual repr: mintWithTokenURI(address,uint256,string) - // function mintWithTokenURI(address to, uint256 tokenId, string memory tokenUri) external returns (bool); + /// @notice Function to mint token with the given tokenUri. + /// @dev `tokenId` should be obtained with `nextTokenId` method, + /// unlike standard, you can't specify it manually + /// @param to The new owner + /// @param tokenId ID of the minted NFT + /// @param tokenUri Token URI that would be stored in the NFT properties + /// @dev EVM selector for this function is: 0x50bb4e7f, + /// or in textual repr: mintWithTokenURI(address,uint256,string) + function mintWithTokenURI( + address to, + uint256 tokenId, + string memory tokenUri + ) external returns (bool); /// @dev Not implemented /// @dev EVM selector for this function is: 0x7d64bcb4, @@ -384,6 +388,7 @@ /// @dev EVM selector for this function is: 0x75794a3c, /// or in textual repr: nextTokenId() function nextTokenId() external view returns (uint256); + // /// @notice Function to mint multiple tokens. // /// @dev `tokenIds` should be an array of consecutive numbers and first number // /// should be obtained with `nextTokenId` method @@ -393,15 +398,14 @@ // /// or in textual repr: mintBulk(address,uint256[]) // function mintBulk(address to, uint256[] memory tokenIds) external returns (bool); - // /// @notice Function to mint multiple tokens with the given tokenUris. - // /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive - // /// numbers and first number should be obtained with `nextTokenId` method - // /// @param to The new owner - // /// @param tokens array of pairs of token ID and token URI for minted tokens - // /// @dev EVM selector for this function is: 0x36543006, - // /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) - // function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool); - + /// @notice Function to mint multiple tokens with the given tokenUris. + /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive + /// numbers and first number should be obtained with `nextTokenId` method + /// @param to The new owner + /// @param tokens array of pairs of token ID and token URI for minted tokens + /// @dev EVM selector for this function is: 0x36543006, + /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) + function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool); } /// @dev anonymous struct --- a/tests/src/eth/api/UniqueRefungible.sol +++ b/tests/src/eth/api/UniqueRefungible.sol @@ -330,15 +330,19 @@ /// or in textual repr: mintWithTokenURI(address,string) function mintWithTokenURI(address to, string memory tokenUri) external returns (uint256); - // /// @notice Function to mint token with the given tokenUri. - // /// @dev `tokenId` should be obtained with `nextTokenId` method, - // /// unlike standard, you can't specify it manually - // /// @param to The new owner - // /// @param tokenId ID of the minted RFT - // /// @param tokenUri Token URI that would be stored in the RFT properties - // /// @dev EVM selector for this function is: 0x50bb4e7f, - // /// or in textual repr: mintWithTokenURI(address,uint256,string) - // function mintWithTokenURI(address to, uint256 tokenId, string memory tokenUri) external returns (bool); + /// @notice Function to mint token with the given tokenUri. + /// @dev `tokenId` should be obtained with `nextTokenId` method, + /// unlike standard, you can't specify it manually + /// @param to The new owner + /// @param tokenId ID of the minted RFT + /// @param tokenUri Token URI that would be stored in the RFT properties + /// @dev EVM selector for this function is: 0x50bb4e7f, + /// or in textual repr: mintWithTokenURI(address,uint256,string) + function mintWithTokenURI( + address to, + uint256 tokenId, + string memory tokenUri + ) external returns (bool); /// @dev Not implemented /// @dev EVM selector for this function is: 0x7d64bcb4, @@ -394,14 +398,14 @@ // /// or in textual repr: mintBulk(address,uint256[]) // function mintBulk(address to, uint256[] memory tokenIds) external returns (bool); - // /// @notice Function to mint multiple tokens with the given tokenUris. - // /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive - // /// numbers and first number should be obtained with `nextTokenId` method - // /// @param to The new owner - // /// @param tokens array of pairs of token ID and token URI for minted tokens - // /// @dev EVM selector for this function is: 0x36543006, - // /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) - // function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool); + /// @notice Function to mint multiple tokens with the given tokenUris. + /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive + /// numbers and first number should be obtained with `nextTokenId` method + /// @param to The new owner + /// @param tokens array of pairs of token ID and token URI for minted tokens + /// @dev EVM selector for this function is: 0x36543006, + /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[]) + function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool); /// Returns EVM address for refungible token /// --- a/tests/src/eth/nonFungibleAbi.json +++ b/tests/src/eth/nonFungibleAbi.json @@ -269,6 +269,24 @@ { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, + { + "components": [ + { "internalType": "uint256", "name": "field_0", "type": "uint256" }, + { "internalType": "string", "name": "field_1", "type": "string" } + ], + "internalType": "struct Tuple6[]", + "name": "tokens", + "type": "tuple[]" + } + ], + "name": "mintBulkWithTokenURI", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "string", "name": "tokenUri", "type": "string" } ], "name": "mintWithTokenURI", @@ -277,6 +295,17 @@ "type": "function" }, { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "tokenUri", "type": "string" } + ], + "name": "mintWithTokenURI", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { "inputs": [], "name": "mintingFinished", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], --- a/tests/src/eth/reFungibleAbi.json +++ b/tests/src/eth/reFungibleAbi.json @@ -269,6 +269,24 @@ { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, + { + "components": [ + { "internalType": "uint256", "name": "field_0", "type": "uint256" }, + { "internalType": "string", "name": "field_1", "type": "string" } + ], + "internalType": "struct Tuple6[]", + "name": "tokens", + "type": "tuple[]" + } + ], + "name": "mintBulkWithTokenURI", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "string", "name": "tokenUri", "type": "string" } ], "name": "mintWithTokenURI", @@ -277,6 +295,17 @@ "type": "function" }, { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "tokenUri", "type": "string" } + ], + "name": "mintWithTokenURI", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { "inputs": [], "name": "mintingFinished", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],