difftreelog
fix nonfungible erc721 selector
in: master
7 files changed
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -524,11 +524,6 @@
Ok(<Pallet<T>>::allowance_for_all(self, &owner, &operator))
}
-
- /// @notice Returns collection helper contract address
- fn collection_helper_address(&self) -> Result<address> {
- Ok(T::ContractAddress::get())
- }
}
/// @title ERC721 Token that can be irreversibly burned (destroyed).
@@ -1058,6 +1053,11 @@
Ok(token_id.into())
}
+
+ /// @notice Returns collection helper contract address
+ fn collection_helper_address(&self) -> Result<address> {
+ Ok(T::ContractAddress::get())
+ }
}
#[solidity_interface(
pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -785,7 +785,7 @@
}
/// @title Unique extensions for ERC721.
-/// @dev the ERC-165 identifier for this interface is 0x0e48fdb4
+/// @dev the ERC-165 identifier for this interface is 0x16de3152
contract ERC721UniqueExtensions is Dummy, ERC165 {
/// @notice A descriptive name for a collection of NFTs in this contract
/// @dev EVM selector for this function is: 0x06fdde03,
@@ -986,6 +986,15 @@
dummy = 0;
return 0;
}
+
+ /// @notice Returns collection helper contract address
+ /// @dev EVM selector for this function is: 0x1896cce6,
+ /// or in textual repr: collectionHelperAddress()
+ function collectionHelperAddress() public view returns (address) {
+ require(false, stub_error);
+ dummy;
+ return 0x0000000000000000000000000000000000000000;
+ }
}
/// @dev anonymous struct
@@ -1043,7 +1052,7 @@
/// @title ERC-721 Non-Fungible Token Standard
/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
-/// @dev the ERC-165 identifier for this interface is 0x983a942b
+/// @dev the ERC-165 identifier for this interface is 0x80ac58cd
contract ERC721 is Dummy, ERC165, ERC721Events {
/// @notice Count all NFTs assigned to an owner
/// @dev NFTs assigned to the zero address are considered invalid, and this
@@ -1175,15 +1184,6 @@
operator;
dummy;
return false;
- }
-
- /// @notice Returns collection helper contract address
- /// @dev EVM selector for this function is: 0x1896cce6,
- /// or in textual repr: collectionHelperAddress()
- function collectionHelperAddress() public view returns (address) {
- require(false, stub_error);
- dummy;
- return 0x0000000000000000000000000000000000000000;
}
}
tests/src/eth/abi/nonFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/nonFungible.json
+++ b/tests/src/eth/abi/nonFungible.json
@@ -51,6 +51,12 @@
},
{
"anonymous": false,
+ "inputs": [],
+ "name": "MintingFinished",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
"inputs": [
{
"indexed": true,
@@ -417,6 +423,13 @@
"type": "function"
},
{
+ "inputs": [],
+ "name": "finishMinting",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
"inputs": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }
],
@@ -504,6 +517,13 @@
},
{
"inputs": [],
+ "name": "mintingFinished",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
"name": "name",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "view",
tests/src/eth/abi/reFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/reFungible.json
+++ b/tests/src/eth/abi/reFungible.json
@@ -51,6 +51,12 @@
},
{
"anonymous": false,
+ "inputs": [],
+ "name": "MintingFinished",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
"inputs": [
{
"indexed": true,
@@ -399,6 +405,13 @@
"type": "function"
},
{
+ "inputs": [],
+ "name": "finishMinting",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
"inputs": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }
],
@@ -486,6 +499,13 @@
},
{
"inputs": [],
+ "name": "mintingFinished",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
"name": "name",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "view",
tests/src/eth/abi/reFungibleToken.jsondiffbeforeafterboth1[2 {3 "anonymous": false,4 "inputs": [5 {6 "indexed": true,7 "internalType": "address",8 "name": "owner",9 "type": "address"10 },11 {12 "indexed": true,13 "internalType": "address",14 "name": "spender",15 "type": "address"16 },17 {18 "indexed": false,19 "internalType": "uint256",20 "name": "value",21 "type": "uint256"22 }23 ],24 "name": "Approval",25 "type": "event"26 },27 {28 "anonymous": false,29 "inputs": [30 {31 "indexed": true,32 "internalType": "address",33 "name": "from",34 "type": "address"35 },36 {37 "indexed": true,38 "internalType": "address",39 "name": "to",40 "type": "address"41 },42 {43 "indexed": false,44 "internalType": "uint256",45 "name": "value",46 "type": "uint256"47 }48 ],49 "name": "Transfer",50 "type": "event"51 },52 {53 "inputs": [54 { "internalType": "address", "name": "owner", "type": "address" },55 { "internalType": "address", "name": "spender", "type": "address" }56 ],57 "name": "allowance",58 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],59 "stateMutability": "view",60 "type": "function"61 },62 {63 "inputs": [64 { "internalType": "address", "name": "spender", "type": "address" },65 { "internalType": "uint256", "name": "amount", "type": "uint256" }66 ],67 "name": "approve",68 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],69 "stateMutability": "nonpayable",70 "type": "function"71 },72 {73 "inputs": [74 {75 "components": [76 { "internalType": "address", "name": "eth", "type": "address" },77 { "internalType": "uint256", "name": "sub", "type": "uint256" }78 ],79 "internalType": "struct CrossAddress",80 "name": "spender",81 "type": "tuple"82 },83 { "internalType": "uint256", "name": "amount", "type": "uint256" }84 ],85 "name": "approveCross",86 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],87 "stateMutability": "nonpayable",88 "type": "function"89 },90 {91 "inputs": [92 { "internalType": "address", "name": "owner", "type": "address" }93 ],94 "name": "balanceOf",95 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],96 "stateMutability": "view",97 "type": "function"98 },99 {100 "inputs": [101 {102 "components": [103 { "internalType": "address", "name": "eth", "type": "address" },104 { "internalType": "uint256", "name": "sub", "type": "uint256" }105 ],106 "internalType": "struct CrossAddress",107 "name": "from",108 "type": "tuple"109 },110 { "internalType": "uint256", "name": "amount", "type": "uint256" }111 ],112 "name": "burnFromCross",113 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],114 "stateMutability": "nonpayable",115 "type": "function"116 },117 {118 "inputs": [],119 "name": "decimals",120 "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],121 "stateMutability": "view",122 "type": "function"123 },124 {125 "inputs": [],126 "name": "name",127 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],128 "stateMutability": "view",129 "type": "function"130 },131 {132 "inputs": [],133 "name": "parentToken",134 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],135 "stateMutability": "view",136 "type": "function"137 },138 {139 "inputs": [],140 "name": "parentTokenId",141 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],142 "stateMutability": "view",143 "type": "function"144 },145 {146 "inputs": [147 { "internalType": "uint256", "name": "amount", "type": "uint256" }148 ],149 "name": "repartition",150 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],151 "stateMutability": "nonpayable",152 "type": "function"153 },154 {155 "inputs": [156 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }157 ],158 "name": "supportsInterface",159 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],160 "stateMutability": "view",161 "type": "function"162 },163 {164 "inputs": [],165 "name": "symbol",166 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],167 "stateMutability": "view",168 "type": "function"169 },170 {171 "inputs": [],172 "name": "totalSupply",173 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],174 "stateMutability": "view",175 "type": "function"176 },177 {178 "inputs": [179 { "internalType": "address", "name": "to", "type": "address" },180 { "internalType": "uint256", "name": "amount", "type": "uint256" }181 ],182 "name": "transfer",183 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],184 "stateMutability": "nonpayable",185 "type": "function"186 },187 {188 "inputs": [189 {190 "components": [191 { "internalType": "address", "name": "eth", "type": "address" },192 { "internalType": "uint256", "name": "sub", "type": "uint256" }193 ],194 "internalType": "struct CrossAddress",195 "name": "to",196 "type": "tuple"197 },198 { "internalType": "uint256", "name": "amount", "type": "uint256" }199 ],200 "name": "transferCross",201 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],202 "stateMutability": "nonpayable",203 "type": "function"204 },205 {206 "inputs": [207 { "internalType": "address", "name": "from", "type": "address" },208 { "internalType": "address", "name": "to", "type": "address" },209 { "internalType": "uint256", "name": "amount", "type": "uint256" }210 ],211 "name": "transferFrom",212 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],213 "stateMutability": "nonpayable",214 "type": "function"215 },216 {217 "inputs": [218 {219 "components": [220 { "internalType": "address", "name": "eth", "type": "address" },221 { "internalType": "uint256", "name": "sub", "type": "uint256" }222 ],223 "internalType": "struct CrossAddress",224 "name": "from",225 "type": "tuple"226 },227 {228 "components": [229 { "internalType": "address", "name": "eth", "type": "address" },230 { "internalType": "uint256", "name": "sub", "type": "uint256" }231 ],232 "internalType": "struct CrossAddress",233 "name": "to",234 "type": "tuple"235 },236 { "internalType": "uint256", "name": "amount", "type": "uint256" }237 ],238 "name": "transferFromCross",239 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],240 "stateMutability": "nonpayable",241 "type": "function"242 }243]tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -536,7 +536,7 @@
}
/// @title Unique extensions for ERC721.
-/// @dev the ERC-165 identifier for this interface is 0x0e48fdb4
+/// @dev the ERC-165 identifier for this interface is 0x16de3152
interface ERC721UniqueExtensions is Dummy, ERC165 {
/// @notice A descriptive name for a collection of NFTs in this contract
/// @dev EVM selector for this function is: 0x06fdde03,
@@ -661,6 +661,11 @@
/// @dev EVM selector for this function is: 0xb904db03,
/// or in textual repr: mintCross((address,uint256),(string,bytes)[])
function mintCross(CrossAddress memory to, Property[] memory properties) external returns (uint256);
+
+ /// @notice Returns collection helper contract address
+ /// @dev EVM selector for this function is: 0x1896cce6,
+ /// or in textual repr: collectionHelperAddress()
+ function collectionHelperAddress() external view returns (address);
}
/// @dev anonymous struct
@@ -703,7 +708,7 @@
/// @title ERC-721 Non-Fungible Token Standard
/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
-/// @dev the ERC-165 identifier for this interface is 0x983a942b
+/// @dev the ERC-165 identifier for this interface is 0x80ac58cd
interface ERC721 is Dummy, ERC165, ERC721Events {
/// @notice Count all NFTs assigned to an owner
/// @dev NFTs assigned to the zero address are considered invalid, and this
@@ -786,11 +791,6 @@
/// @dev EVM selector for this function is: 0xe985e9c5,
/// or in textual repr: isApprovedForAll(address,address)
function isApprovedForAll(address owner, address operator) external view returns (bool);
-
- /// @notice Returns collection helper contract address
- /// @dev EVM selector for this function is: 0x1896cce6,
- /// or in textual repr: collectionHelperAddress()
- function collectionHelperAddress() external view returns (address);
}
interface UniqueNFT is