From 32d865721ac4963928b12ab5d7dff5737f28251d Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Thu, 12 Jan 2023 13:45:32 +0000 Subject: [PATCH] misk: Remove and hiede some minting metods and events --- --- a/pallets/nonfungible/src/erc.rs +++ b/pallets/nonfungible/src/erc.rs @@ -291,12 +291,6 @@ }, } -#[derive(ToLog)] -pub enum ERC721UniqueMintableEvents { - #[allow(dead_code)] - MintingFinished {}, -} - /// @title ERC-721 Non-Fungible Token Standard, optional metadata extension /// @dev See https://eips.ethereum.org/EIPS/eip-721 #[solidity_interface(name = ERC721Metadata, expect_selector = 0x5b5e139f)] @@ -544,12 +538,8 @@ } /// @title ERC721 minting logic. -#[solidity_interface(name = ERC721UniqueMintable, events(ERC721UniqueMintableEvents))] +#[solidity_interface(name = ERC721UniqueMintable)] impl NonfungibleHandle { - fn minting_finished(&self) -> Result { - Ok(false) - } - /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -678,11 +668,6 @@ ) .map_err(dispatch_to_evm::)?; Ok(true) - } - - /// @dev Not implemented - fn finish_minting(&mut self, _caller: caller) -> Result { - Err("not implementable".into()) } } --- a/pallets/nonfungible/src/stubs/UniqueNFT.sol +++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol @@ -700,22 +700,9 @@ } } -/// @dev inlined interface -contract ERC721UniqueMintableEvents { - event MintingFinished(); -} - /// @title ERC721 minting logic. -/// @dev the ERC-165 identifier for this interface is 0x476ff149 -contract ERC721UniqueMintable is Dummy, ERC165, ERC721UniqueMintableEvents { - /// @dev EVM selector for this function is: 0x05d2035b, - /// or in textual repr: mintingFinished() - function mintingFinished() public view returns (bool) { - require(false, stub_error); - dummy; - return false; - } - +/// @dev the ERC-165 identifier for this interface is 0x3fd94ea6 +contract ERC721UniqueMintable is Dummy, ERC165 { /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -756,7 +743,6 @@ dummy = 0; 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 @@ -774,14 +760,6 @@ // return false; // } - /// @dev Not implemented - /// @dev EVM selector for this function is: 0x7d64bcb4, - /// or in textual repr: finishMinting() - function finishMinting() public returns (bool) { - require(false, stub_error); - dummy = 0; - return false; - } } /// @title Unique extensions for ERC721. --- a/pallets/refungible/src/erc.rs +++ b/pallets/refungible/src/erc.rs @@ -288,13 +288,6 @@ }, } -#[derive(ToLog)] -pub enum ERC721UniqueMintableEvents { - /// @dev Not supported - #[allow(dead_code)] - MintingFinished {}, -} - /// @title ERC-721 Non-Fungible Token Standard, optional metadata extension /// @dev See https://eips.ethereum.org/EIPS/eip-721 #[solidity_interface(name = ERC721Metadata, expect_selector = 0x5b5e139f)] @@ -576,12 +569,8 @@ } /// @title ERC721 minting logic. -#[solidity_interface(name = ERC721UniqueMintable, events(ERC721UniqueMintableEvents))] +#[solidity_interface(name = ERC721UniqueMintable)] impl RefungibleHandle { - fn minting_finished(&self) -> Result { - Ok(false) - } - /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -717,11 +706,6 @@ ) .map_err(dispatch_to_evm::)?; Ok(true) - } - - /// @dev Not implemented - fn finish_minting(&mut self, _caller: caller) -> Result { - Err("not implementable".into()) } } --- a/pallets/refungible/src/erc_token.rs +++ b/pallets/refungible/src/erc_token.rs @@ -25,7 +25,8 @@ ops::Deref, }; use evm_coder::{ - abi::AbiType, ToLog, execution::*, generate_stubgen, solidity_interface, types::*, weight, + abi::AbiType, ToLog, execution::*, generate_stubgen, solidity_interface, solidity, types::*, + weight, }; use pallet_common::{ CommonWeightInfo, @@ -206,6 +207,7 @@ /// @param from The account whose tokens will be burnt. /// @param amount The amount that will be burnt. #[weight(>::burn_from())] + #[solidity(hide)] fn burn_from(&mut self, caller: caller, from: address, amount: uint256) -> Result { let caller = T::CrossAccountId::from_eth(caller); let from = T::CrossAccountId::from_eth(from); --- a/pallets/refungible/src/stubs/UniqueRefungible.sol +++ b/pallets/refungible/src/stubs/UniqueRefungible.sol @@ -700,22 +700,9 @@ } } -/// @dev inlined interface -contract ERC721UniqueMintableEvents { - event MintingFinished(); -} - /// @title ERC721 minting logic. -/// @dev the ERC-165 identifier for this interface is 0x476ff149 -contract ERC721UniqueMintable is Dummy, ERC165, ERC721UniqueMintableEvents { - /// @dev EVM selector for this function is: 0x05d2035b, - /// or in textual repr: mintingFinished() - function mintingFinished() public view returns (bool) { - require(false, stub_error); - dummy; - return false; - } - +/// @dev the ERC-165 identifier for this interface is 0x3fd94ea6 +contract ERC721UniqueMintable is Dummy, ERC165 { /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -756,7 +743,6 @@ dummy = 0; 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 @@ -774,14 +760,6 @@ // return false; // } - /// @dev Not implemented - /// @dev EVM selector for this function is: 0x7d64bcb4, - /// or in textual repr: finishMinting() - function finishMinting() public returns (bool) { - require(false, stub_error); - dummy = 0; - return false; - } } /// @title Unique extensions for ERC721. --- a/pallets/refungible/src/stubs/UniqueRefungibleToken.sol +++ b/pallets/refungible/src/stubs/UniqueRefungibleToken.sol @@ -38,19 +38,19 @@ /// @dev the ERC-165 identifier for this interface is 0xe17a7d2b contract ERC20UniqueExtensions is Dummy, ERC165 { - /// @dev Function that burns an amount of the token of a given account, - /// deducting from the sender's allowance for said account. - /// @param from The account whose tokens will be burnt. - /// @param amount The amount that will be burnt. - /// @dev EVM selector for this function is: 0x79cc6790, - /// or in textual repr: burnFrom(address,uint256) - function burnFrom(address from, uint256 amount) public returns (bool) { - require(false, stub_error); - from; - amount; - dummy = 0; - return false; - } + // /// @dev Function that burns an amount of the token of a given account, + // /// deducting from the sender's allowance for said account. + // /// @param from The account whose tokens will be burnt. + // /// @param amount The amount that will be burnt. + // /// @dev EVM selector for this function is: 0x79cc6790, + // /// or in textual repr: burnFrom(address,uint256) + // function burnFrom(address from, uint256 amount) public returns (bool) { + // require(false, stub_error); + // from; + // amount; + // dummy = 0; + // return false; + // } /// @dev Function that burns an amount of the token of a given account, /// deducting from the sender's allowance for said account. --- a/runtime/common/ethereum/sponsoring/refungible.rs +++ b/runtime/common/ethereum/sponsoring/refungible.rs @@ -265,7 +265,7 @@ match call { // Readonly - ERC165Call(_, _) | MintingFinished => None, + ERC165Call(_, _) => None, // Not sponsored FinishMinting => None, --- a/tests/src/eth/api/UniqueNFT.sol +++ b/tests/src/eth/api/UniqueNFT.sol @@ -483,18 +483,9 @@ function burn(uint256 tokenId) external; } -/// @dev inlined interface -interface ERC721UniqueMintableEvents { - event MintingFinished(); -} - /// @title ERC721 minting logic. -/// @dev the ERC-165 identifier for this interface is 0x476ff149 -interface ERC721UniqueMintable is Dummy, ERC165, ERC721UniqueMintableEvents { - /// @dev EVM selector for this function is: 0x05d2035b, - /// or in textual repr: mintingFinished() - function mintingFinished() external view returns (bool); - +/// @dev the ERC-165 identifier for this interface is 0x3fd94ea6 +interface ERC721UniqueMintable is Dummy, ERC165 { /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -518,7 +509,6 @@ /// @dev EVM selector for this function is: 0x45c17782, /// 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 @@ -529,10 +519,6 @@ // /// 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, - /// or in textual repr: finishMinting() - function finishMinting() external returns (bool); } /// @title Unique extensions for ERC721. --- a/tests/src/eth/api/UniqueRefungible.sol +++ b/tests/src/eth/api/UniqueRefungible.sol @@ -483,18 +483,9 @@ function burn(uint256 tokenId) external; } -/// @dev inlined interface -interface ERC721UniqueMintableEvents { - event MintingFinished(); -} - /// @title ERC721 minting logic. -/// @dev the ERC-165 identifier for this interface is 0x476ff149 -interface ERC721UniqueMintable is Dummy, ERC165, ERC721UniqueMintableEvents { - /// @dev EVM selector for this function is: 0x05d2035b, - /// or in textual repr: mintingFinished() - function mintingFinished() external view returns (bool); - +/// @dev the ERC-165 identifier for this interface is 0x3fd94ea6 +interface ERC721UniqueMintable is Dummy, ERC165 { /// @notice Function to mint a token. /// @param to The new owner /// @return uint256 The id of the newly minted token @@ -518,7 +509,6 @@ /// @dev EVM selector for this function is: 0x45c17782, /// 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 @@ -529,10 +519,6 @@ // /// 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, - /// or in textual repr: finishMinting() - function finishMinting() external returns (bool); } /// @title Unique extensions for ERC721. --- a/tests/src/eth/api/UniqueRefungibleToken.sol +++ b/tests/src/eth/api/UniqueRefungibleToken.sol @@ -25,13 +25,13 @@ /// @dev the ERC-165 identifier for this interface is 0xe17a7d2b interface ERC20UniqueExtensions is Dummy, ERC165 { - /// @dev Function that burns an amount of the token of a given account, - /// deducting from the sender's allowance for said account. - /// @param from The account whose tokens will be burnt. - /// @param amount The amount that will be burnt. - /// @dev EVM selector for this function is: 0x79cc6790, - /// or in textual repr: burnFrom(address,uint256) - function burnFrom(address from, uint256 amount) external returns (bool); + // /// @dev Function that burns an amount of the token of a given account, + // /// deducting from the sender's allowance for said account. + // /// @param from The account whose tokens will be burnt. + // /// @param amount The amount that will be burnt. + // /// @dev EVM selector for this function is: 0x79cc6790, + // /// or in textual repr: burnFrom(address,uint256) + // function burnFrom(address from, uint256 amount) external returns (bool); /// @dev Function that burns an amount of the token of a given account, /// deducting from the sender's allowance for said account. --- a/tests/src/eth/base.test.ts +++ b/tests/src/eth/base.test.ts @@ -108,10 +108,6 @@ await checkInterface(helper, '0x5b5e139f', false, true); }); - itEth('ERC721UniqueMintable - 0x476ff149 - support', async ({helper}) => { - await checkInterface(helper, '0x476ff149', true, true); - }); - itEth('ERC721Enumerable - 0x780e9d63 - support', async ({helper}) => { await checkInterface(helper, '0x780e9d63', true, true); }); -- gitstuff