difftreelog
fix(pallet-common) invalid erc function modifiers
in: master
Some methods in `#[solidity_interface]` for `CollectionHandle` had invalid mutability modifiers, causing invalid stub/abi generation
16 files changed
Cargo.lockdiffbeforeafterboth573157315732[[package]]5732[[package]]5733name = "pallet-common"5733name = "pallet-common"5734version = "0.1.0"5734version = "0.1.2"5735dependencies = [5735dependencies = [5736 "ethereum",5736 "ethereum",5737 "evm-coder",5737 "evm-coder",pallets/common/CHANGELOG.MDdiffbeforeafterbothno changes
pallets/common/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "pallet-common"2name = "pallet-common"3version = "0.1.0"3version = "0.1.2"4license = "GPLv3"4license = "GPLv3"5edition = "2021"5edition = "2021"66pallets/common/src/erc.rsdiffbeforeafterboth226 /// Add collection admin by substrate address.226 /// Add collection admin by substrate address.227 /// @param new_admin Substrate administrator address.227 /// @param new_admin Substrate administrator address.228 fn add_collection_admin_substrate(&self, caller: caller, new_admin: uint256) -> Result<void> {228 fn add_collection_admin_substrate(229 &mut self,230 caller: caller,231 new_admin: uint256,232 ) -> Result<void> {229 let caller = T::CrossAccountId::from_eth(caller);233 let caller = T::CrossAccountId::from_eth(caller);230 let mut new_admin_arr: [u8; 32] = Default::default();234 let mut new_admin_arr: [u8; 32] = Default::default();238 /// Remove collection admin by substrate address.242 /// Remove collection admin by substrate address.239 /// @param admin Substrate administrator address.243 /// @param admin Substrate administrator address.240 fn remove_collection_admin_substrate(&self, caller: caller, admin: uint256) -> Result<void> {244 fn remove_collection_admin_substrate(245 &mut self,246 caller: caller,247 admin: uint256,248 ) -> Result<void> {241 let caller = T::CrossAccountId::from_eth(caller);249 let caller = T::CrossAccountId::from_eth(caller);242 let mut admin_arr: [u8; 32] = Default::default();250 let mut admin_arr: [u8; 32] = Default::default();249257250 /// Add collection admin.258 /// Add collection admin.251 /// @param new_admin Address of the added administrator.259 /// @param new_admin Address of the added administrator.252 fn add_collection_admin(&self, caller: caller, new_admin: address) -> Result<void> {260 fn add_collection_admin(&mut self, caller: caller, new_admin: address) -> Result<void> {253 let caller = T::CrossAccountId::from_eth(caller);261 let caller = T::CrossAccountId::from_eth(caller);254 let new_admin = T::CrossAccountId::from_eth(new_admin);262 let new_admin = T::CrossAccountId::from_eth(new_admin);255 <Pallet<T>>::toggle_admin(self, &caller, &new_admin, true).map_err(dispatch_to_evm::<T>)?;263 <Pallet<T>>::toggle_admin(self, &caller, &new_admin, true).map_err(dispatch_to_evm::<T>)?;259 /// Remove collection admin.267 /// Remove collection admin.260 ///268 ///261 /// @param new_admin Address of the removed administrator.269 /// @param new_admin Address of the removed administrator.262 fn remove_collection_admin(&self, caller: caller, admin: address) -> Result<void> {270 fn remove_collection_admin(&mut self, caller: caller, admin: address) -> Result<void> {263 let caller = T::CrossAccountId::from_eth(caller);271 let caller = T::CrossAccountId::from_eth(caller);264 let admin = T::CrossAccountId::from_eth(admin);272 let admin = T::CrossAccountId::from_eth(admin);265 <Pallet<T>>::toggle_admin(self, &caller, &admin, false).map_err(dispatch_to_evm::<T>)?;273 <Pallet<T>>::toggle_admin(self, &caller, &admin, false).map_err(dispatch_to_evm::<T>)?;365 /// Add the user to the allowed list.373 /// Add the user to the allowed list.366 ///374 ///367 /// @param user Address of a trusted user.375 /// @param user Address of a trusted user.368 fn add_to_collection_allow_list(&self, caller: caller, user: address) -> Result<void> {376 fn add_to_collection_allow_list(&mut self, caller: caller, user: address) -> Result<void> {369 let caller = T::CrossAccountId::from_eth(caller);377 let caller = T::CrossAccountId::from_eth(caller);370 let user = T::CrossAccountId::from_eth(user);378 let user = T::CrossAccountId::from_eth(user);371 <Pallet<T>>::toggle_allowlist(self, &caller, &user, true).map_err(dispatch_to_evm::<T>)?;379 <Pallet<T>>::toggle_allowlist(self, &caller, &user, true).map_err(dispatch_to_evm::<T>)?;375 /// Remove the user from the allowed list.383 /// Remove the user from the allowed list.376 ///384 ///377 /// @param user Address of a removed user.385 /// @param user Address of a removed user.378 fn remove_from_collection_allow_list(&self, caller: caller, user: address) -> Result<void> {386 fn remove_from_collection_allow_list(&mut self, caller: caller, user: address) -> Result<void> {379 let caller = T::CrossAccountId::from_eth(caller);387 let caller = T::CrossAccountId::from_eth(caller);380 let user = T::CrossAccountId::from_eth(user);388 let user = T::CrossAccountId::from_eth(user);381 <Pallet<T>>::toggle_allowlist(self, &caller, &user, false).map_err(dispatch_to_evm::<T>)?;389 <Pallet<T>>::toggle_allowlist(self, &caller, &user, false).map_err(dispatch_to_evm::<T>)?;pallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterbothbinary blob — no preview
pallets/fungible/src/stubs/UniqueFungible.rawdiffbeforeafterbothbinary blob — no preview
pallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth43 }43 }44}44}4546// Selector: 7d9262e647contract Collection is Dummy, ERC165 {48 // Set collection property.49 //50 // @param key Property key.51 // @param value Propery value.52 //53 // Selector: setCollectionProperty(string,bytes) 2f073f6654 function setCollectionProperty(string memory key, bytes memory value)55 public56 {57 require(false, stub_error);58 key;59 value;60 dummy = 0;61 }6263 // Delete collection property.64 //65 // @param key Property key.66 //67 // Selector: deleteCollectionProperty(string) 7b7debce68 function deleteCollectionProperty(string memory key) public {69 require(false, stub_error);70 key;71 dummy = 0;72 }7374 // Get collection property.75 //76 // @dev Throws error if key not found.77 //78 // @param key Property key.79 // @return bytes The property corresponding to the key.80 //81 // Selector: collectionProperty(string) cf24fd6d82 function collectionProperty(string memory key)83 public84 view85 returns (bytes memory)86 {87 require(false, stub_error);88 key;89 dummy;90 return hex"";91 }9293 // Set the sponsor of the collection.94 //95 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.96 //97 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.98 //99 // Selector: setCollectionSponsor(address) 7623402e100 function setCollectionSponsor(address sponsor) public {101 require(false, stub_error);102 sponsor;103 dummy = 0;104 }105106 // Collection sponsorship confirmation.107 //108 // @dev After setting the sponsor for the collection, it must be confirmed with this function.109 //110 // Selector: confirmCollectionSponsorship() 3c50e97a111 function confirmCollectionSponsorship() public {112 require(false, stub_error);113 dummy = 0;114 }115116 // Set limits for the collection.117 // @dev Throws error if limit not found.118 // @param limit Name of the limit. Valid names:119 // "accountTokenOwnershipLimit",120 // "sponsoredDataSize",121 // "sponsoredDataRateLimit",122 // "tokenLimit",123 // "sponsorTransferTimeout",124 // "sponsorApproveTimeout"125 // @param value Value of the limit.126 //127 // Selector: setCollectionLimit(string,uint32) 6a3841db128 function setCollectionLimit(string memory limit, uint32 value) public {129 require(false, stub_error);130 limit;131 value;132 dummy = 0;133 }134135 // Set limits for the collection.136 // @dev Throws error if limit not found.137 // @param limit Name of the limit. Valid names:138 // "ownerCanTransfer",139 // "ownerCanDestroy",140 // "transfersEnabled"141 // @param value Value of the limit.142 //143 // Selector: setCollectionLimit(string,bool) 993b7fba144 function setCollectionLimit(string memory limit, bool value) public {145 require(false, stub_error);146 limit;147 value;148 dummy = 0;149 }150151 // Get contract address.152 //153 // Selector: contractAddress() f6b4dfb4154 function contractAddress() public view returns (address) {155 require(false, stub_error);156 dummy;157 return 0x0000000000000000000000000000000000000000;158 }159160 // Add collection admin by substrate address.161 // @param new_admin Substrate administrator address.162 //163 // Selector: addCollectionAdminSubstrate(uint256) 5730062b164 function addCollectionAdminSubstrate(uint256 newAdmin) public {165 require(false, stub_error);166 newAdmin;167 dummy = 0;168 }169170 // Remove collection admin by substrate address.171 // @param admin Substrate administrator address.172 //173 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9174 function removeCollectionAdminSubstrate(uint256 admin) public {175 require(false, stub_error);176 admin;177 dummy = 0;178 }179180 // Add collection admin.181 // @param new_admin Address of the added administrator.182 //183 // Selector: addCollectionAdmin(address) 92e462c7184 function addCollectionAdmin(address newAdmin) public {185 require(false, stub_error);186 newAdmin;187 dummy = 0;188 }189190 // Remove collection admin.191 //192 // @param new_admin Address of the removed administrator.193 //194 // Selector: removeCollectionAdmin(address) fafd7b42195 function removeCollectionAdmin(address admin) public {196 require(false, stub_error);197 admin;198 dummy = 0;199 }200201 // Toggle accessibility of collection nesting.202 //203 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'204 //205 // Selector: setCollectionNesting(bool) 112d4586206 function setCollectionNesting(bool enable) public {207 require(false, stub_error);208 enable;209 dummy = 0;210 }211212 // Toggle accessibility of collection nesting.213 //214 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'215 // @param collections Addresses of collections that will be available for nesting.216 //217 // Selector: setCollectionNesting(bool,address[]) 64872396218 function setCollectionNesting(bool enable, address[] memory collections)219 public220 {221 require(false, stub_error);222 enable;223 collections;224 dummy = 0;225 }226227 // Set the collection access method.228 // @param mode Access mode229 // 0 for Normal230 // 1 for AllowList231 //232 // Selector: setCollectionAccess(uint8) 41835d4c233 function setCollectionAccess(uint8 mode) public {234 require(false, stub_error);235 mode;236 dummy = 0;237 }238239 // Add the user to the allowed list.240 //241 // @param user Address of a trusted user.242 //243 // Selector: addToCollectionAllowList(address) 67844fe6244 function addToCollectionAllowList(address user) public {245 require(false, stub_error);246 user;247 dummy = 0;248 }249250 // Remove the user from the allowed list.251 //252 // @param user Address of a removed user.253 //254 // Selector: removeFromCollectionAllowList(address) 85c51acb255 function removeFromCollectionAllowList(address user) public {256 require(false, stub_error);257 user;258 dummy = 0;259 }260261 // Switch permission for minting.262 //263 // @param mode Enable if "true".264 //265 // Selector: setCollectionMintMode(bool) 00018e84266 function setCollectionMintMode(bool mode) public {267 require(false, stub_error);268 mode;269 dummy = 0;270 }271}4527246// Selector: 942e8b22273// Selector: 942e8b2247contract ERC20 is Dummy, ERC165, ERC20Events {274contract ERC20 is Dummy, ERC165, ERC20Events {127 }354 }128}355}129130// Selector: c894dc35131contract Collection is Dummy, ERC165 {132 // Selector: setCollectionProperty(string,bytes) 2f073f66133 function setCollectionProperty(string memory key, bytes memory value)134 public135 {136 require(false, stub_error);137 key;138 value;139 dummy = 0;140 }141142 // Selector: deleteCollectionProperty(string) 7b7debce143 function deleteCollectionProperty(string memory key) public {144 require(false, stub_error);145 key;146 dummy = 0;147 }148149 // Throws error if key not found150 //151 // Selector: collectionProperty(string) cf24fd6d152 function collectionProperty(string memory key)153 public154 view155 returns (bytes memory)156 {157 require(false, stub_error);158 key;159 dummy;160 return hex"";161 }162163 // Selector: ethSetSponsor(address) 8f9af356164 function ethSetSponsor(address sponsor) public {165 require(false, stub_error);166 sponsor;167 dummy = 0;168 }169170 // Selector: ethConfirmSponsorship() a8580d1a171 function ethConfirmSponsorship() public {172 require(false, stub_error);173 dummy = 0;174 }175176 // Selector: setLimit(string,uint32) 68db30ca177 function setLimit(string memory limit, uint32 value) public {178 require(false, stub_error);179 limit;180 value;181 dummy = 0;182 }183184 // Selector: setLimit(string,bool) ea67e4c2185 function setLimit(string memory limit, bool value) public {186 require(false, stub_error);187 limit;188 value;189 dummy = 0;190 }191192 // Selector: contractAddress() f6b4dfb4193 function contractAddress() public view returns (address) {194 require(false, stub_error);195 dummy;196 return 0x0000000000000000000000000000000000000000;197 }198}199356200contract UniqueFungible is357contract UniqueFungible is201 Dummy,358 Dummy,pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth777778 // @notice Set token property value.78 // @notice Set token property value.79 // @dev Throws error if `msg.sender` has no permission to edit the property.79 // @dev Throws error if `msg.sender` has no permission to edit the property.80 // @param token_id ID of the token.80 // @param tokenId ID of the token.81 // @param key Property key.81 // @param key Property key.82 // @param value Property value.82 // @param value Property value.83 //83 //969697 // @notice Delete token property value.97 // @notice Delete token property value.98 // @dev Throws error if `msg.sender` has no permission to edit the property.98 // @dev Throws error if `msg.sender` has no permission to edit the property.99 // @param token_id ID of the token.99 // @param tokenId ID of the token.100 // @param key Property key.100 // @param key Property key.101 //101 //102 // Selector: deleteProperty(uint256,string) 066111d1102 // Selector: deleteProperty(uint256,string) 066111d1109109110 // @notice Get token property value.110 // @notice Get token property value.111 // @dev Throws error if key not found111 // @dev Throws error if key not found112 // @param token_id ID of the token.112 // @param tokenId ID of the token.113 // @param key Property key.113 // @param key Property key.114 // @return Property value bytes114 //115 //115 // Selector: property(uint256,string) 7228c327116 // Selector: property(uint256,string) 7228c327116 function property(uint256 tokenId, string memory key)117 function property(uint256 tokenId, string memory key)146 // @notice Count all NFTs assigned to an owner147 // @notice Count all NFTs assigned to an owner147 // @dev NFTs assigned to the zero address are considered invalid, and this148 // @dev NFTs assigned to the zero address are considered invalid, and this148 // function throws for queries about the zero address.149 // function throws for queries about the zero address.149 // @param _owner An address for whom to query the balance150 // @param owner An address for whom to query the balance150 // @return The number of NFTs owned by `_owner`, possibly zero151 // @return The number of NFTs owned by `owner`, possibly zero151 //152 //152 // Selector: balanceOf(address) 70a08231153 // Selector: balanceOf(address) 70a08231153 function balanceOf(address owner) public view returns (uint256) {154 function balanceOf(address owner) public view returns (uint256) {160 // @notice Find the owner of an NFT161 // @notice Find the owner of an NFT161 // @dev NFTs assigned to zero address are considered invalid, and queries162 // @dev NFTs assigned to zero address are considered invalid, and queries162 // about them do throw.163 // about them do throw.163 // @param _tokenId The identifier for an NFT164 // @param tokenId The identifier for an NFT164 // @return The address of the owner of the NFT165 // @return The address of the owner of the NFT165 //166 //166 // Selector: ownerOf(uint256) 6352211e167 // Selector: ownerOf(uint256) 6352211e371// Selector: 780e9d63372// Selector: 780e9d63372contract ERC721Enumerable is Dummy, ERC165 {373contract ERC721Enumerable is Dummy, ERC165 {373 // @notice Enumerate valid NFTs374 // @notice Enumerate valid NFTs374 // @dev Throws if `index` >= `totalSupply()`.375 // @param index A counter less than `totalSupply()`375 // @param index A counter less than `totalSupply()`376 // @return The token identifier for the `index`th NFT,376 // @return The token identifier for the `index`th NFT,377 // (sort order not specified)377 // (sort order not specified)413413414// Selector: 7d9262e6414// Selector: 7d9262e6415contract Collection is Dummy, ERC165 {415contract Collection is Dummy, ERC165 {416 // Set collection property.417 //418 // @param key Property key.419 // @param value Propery value.420 //416 // Selector: setCollectionProperty(string,bytes) 2f073f66421 // Selector: setCollectionProperty(string,bytes) 2f073f66417 function setCollectionProperty(string memory key, bytes memory value)422 function setCollectionProperty(string memory key, bytes memory value)418 public423 public423 dummy = 0;428 dummy = 0;424 }429 }425430431 // Delete collection property.432 //433 // @param key Property key.434 //426 // Selector: deleteCollectionProperty(string) 7b7debce435 // Selector: deleteCollectionProperty(string) 7b7debce427 function deleteCollectionProperty(string memory key) public {436 function deleteCollectionProperty(string memory key) public {428 require(false, stub_error);437 require(false, stub_error);429 key;438 key;430 dummy = 0;439 dummy = 0;431 }440 }432441442 // Get collection property.443 //433 // Throws error if key not found444 // @dev Throws error if key not found.445 //446 // @param key Property key.447 // @return bytes The property corresponding to the key.434 //448 //435 // Selector: collectionProperty(string) cf24fd6d449 // Selector: collectionProperty(string) cf24fd6d436 function collectionProperty(string memory key)450 function collectionProperty(string memory key)444 return hex"";458 return hex"";445 }459 }446460461 // Set the sponsor of the collection.462 //463 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.464 //465 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.466 //447 // Selector: setCollectionSponsor(address) 7623402e467 // Selector: setCollectionSponsor(address) 7623402e448 function setCollectionSponsor(address sponsor) public {468 function setCollectionSponsor(address sponsor) public {449 require(false, stub_error);469 require(false, stub_error);450 sponsor;470 sponsor;451 dummy = 0;471 dummy = 0;452 }472 }453473474 // Collection sponsorship confirmation.475 //476 // @dev After setting the sponsor for the collection, it must be confirmed with this function.477 //454 // Selector: confirmCollectionSponsorship() 3c50e97a478 // Selector: confirmCollectionSponsorship() 3c50e97a455 function confirmCollectionSponsorship() public {479 function confirmCollectionSponsorship() public {456 require(false, stub_error);480 require(false, stub_error);457 dummy = 0;481 dummy = 0;458 }482 }459483484 // Set limits for the collection.485 // @dev Throws error if limit not found.486 // @param limit Name of the limit. Valid names:487 // "accountTokenOwnershipLimit",488 // "sponsoredDataSize",489 // "sponsoredDataRateLimit",490 // "tokenLimit",491 // "sponsorTransferTimeout",492 // "sponsorApproveTimeout"493 // @param value Value of the limit.494 //460 // Selector: setCollectionLimit(string,uint32) 6a3841db495 // Selector: setCollectionLimit(string,uint32) 6a3841db461 function setCollectionLimit(string memory limit, uint32 value) public {496 function setCollectionLimit(string memory limit, uint32 value) public {462 require(false, stub_error);497 require(false, stub_error);465 dummy = 0;500 dummy = 0;466 }501 }467502503 // Set limits for the collection.504 // @dev Throws error if limit not found.505 // @param limit Name of the limit. Valid names:506 // "ownerCanTransfer",507 // "ownerCanDestroy",508 // "transfersEnabled"509 // @param value Value of the limit.510 //468 // Selector: setCollectionLimit(string,bool) 993b7fba511 // Selector: setCollectionLimit(string,bool) 993b7fba469 function setCollectionLimit(string memory limit, bool value) public {512 function setCollectionLimit(string memory limit, bool value) public {470 require(false, stub_error);513 require(false, stub_error);473 dummy = 0;516 dummy = 0;474 }517 }475518519 // Get contract address.520 //476 // Selector: contractAddress() f6b4dfb4521 // Selector: contractAddress() f6b4dfb4477 function contractAddress() public view returns (address) {522 function contractAddress() public view returns (address) {478 require(false, stub_error);523 require(false, stub_error);479 dummy;524 dummy;480 return 0x0000000000000000000000000000000000000000;525 return 0x0000000000000000000000000000000000000000;481 }526 }482527528 // Add collection admin by substrate address.529 // @param new_admin Substrate administrator address.530 //483 // Selector: addCollectionAdminSubstrate(uint256) 5730062b531 // Selector: addCollectionAdminSubstrate(uint256) 5730062b484 function addCollectionAdminSubstrate(uint256 newAdmin) public view {532 function addCollectionAdminSubstrate(uint256 newAdmin) public {485 require(false, stub_error);533 require(false, stub_error);486 newAdmin;534 newAdmin;487 dummy;535 dummy = 0;488 }536 }489537538 // Remove collection admin by substrate address.539 // @param admin Substrate administrator address.540 //490 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9541 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9491 function removeCollectionAdminSubstrate(uint256 newAdmin) public view {542 function removeCollectionAdminSubstrate(uint256 admin) public {492 require(false, stub_error);543 require(false, stub_error);493 newAdmin;544 admin;494 dummy;545 dummy = 0;495 }546 }496547548 // Add collection admin.549 // @param new_admin Address of the added administrator.550 //497 // Selector: addCollectionAdmin(address) 92e462c7551 // Selector: addCollectionAdmin(address) 92e462c7498 function addCollectionAdmin(address newAdmin) public view {552 function addCollectionAdmin(address newAdmin) public {499 require(false, stub_error);553 require(false, stub_error);500 newAdmin;554 newAdmin;501 dummy;555 dummy = 0;502 }556 }503557558 // Remove collection admin.559 //560 // @param new_admin Address of the removed administrator.561 //504 // Selector: removeCollectionAdmin(address) fafd7b42562 // Selector: removeCollectionAdmin(address) fafd7b42505 function removeCollectionAdmin(address admin) public view {563 function removeCollectionAdmin(address admin) public {506 require(false, stub_error);564 require(false, stub_error);507 admin;565 admin;508 dummy;566 dummy = 0;509 }567 }510568569 // Toggle accessibility of collection nesting.570 //571 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'572 //511 // Selector: setCollectionNesting(bool) 112d4586573 // Selector: setCollectionNesting(bool) 112d4586512 function setCollectionNesting(bool enable) public {574 function setCollectionNesting(bool enable) public {513 require(false, stub_error);575 require(false, stub_error);514 enable;576 enable;515 dummy = 0;577 dummy = 0;516 }578 }517579580 // Toggle accessibility of collection nesting.581 //582 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'583 // @param collections Addresses of collections that will be available for nesting.584 //518 // Selector: setCollectionNesting(bool,address[]) 64872396585 // Selector: setCollectionNesting(bool,address[]) 64872396519 function setCollectionNesting(bool enable, address[] memory collections)586 function setCollectionNesting(bool enable, address[] memory collections)520 public587 public525 dummy = 0;592 dummy = 0;526 }593 }527594595 // Set the collection access method.596 // @param mode Access mode597 // 0 for Normal598 // 1 for AllowList599 //528 // Selector: setCollectionAccess(uint8) 41835d4c600 // Selector: setCollectionAccess(uint8) 41835d4c529 function setCollectionAccess(uint8 mode) public {601 function setCollectionAccess(uint8 mode) public {530 require(false, stub_error);602 require(false, stub_error);531 mode;603 mode;532 dummy = 0;604 dummy = 0;533 }605 }534606607 // Add the user to the allowed list.608 //609 // @param user Address of a trusted user.610 //535 // Selector: addToCollectionAllowList(address) 67844fe6611 // Selector: addToCollectionAllowList(address) 67844fe6536 function addToCollectionAllowList(address user) public view {612 function addToCollectionAllowList(address user) public {537 require(false, stub_error);613 require(false, stub_error);538 user;614 user;539 dummy;615 dummy = 0;540 }616 }541617618 // Remove the user from the allowed list.619 //620 // @param user Address of a removed user.621 //542 // Selector: removeFromCollectionAllowList(address) 85c51acb622 // Selector: removeFromCollectionAllowList(address) 85c51acb543 function removeFromCollectionAllowList(address user) public view {623 function removeFromCollectionAllowList(address user) public {544 require(false, stub_error);624 require(false, stub_error);545 user;625 user;546 dummy;626 dummy = 0;547 }627 }548628629 // Switch permission for minting.630 //631 // @param mode Enable if "true".632 //549 // Selector: setCollectionMintMode(bool) 00018e84633 // Selector: setCollectionMintMode(bool) 00018e84550 function setCollectionMintMode(bool mode) public {634 function setCollectionMintMode(bool mode) public {551 require(false, stub_error);635 require(false, stub_error);556640557// Selector: d74d154f641// Selector: d74d154f558contract ERC721UniqueExtensions is Dummy, ERC165 {642contract ERC721UniqueExtensions is Dummy, ERC165 {559 // @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE643 // @notice Transfer ownership of an NFT560 // TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE561 // THEY MAY BE PERMANENTLY LOST562 // @dev Throws unless `msg.sender` is the current owner. Throws if `to`644 // @dev Throws unless `msg.sender` is the current owner. Throws if `to`563 // is the zero address. Throws if `tokenId` is not a valid NFT.645 // is the zero address. Throws if `tokenId` is not a valid NFT.564 // @param to The new owner646 // @param to The new ownerpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterbothbinary blob — no preview
tests/src/eth/api/UniqueFungible.soldiffbeforeafterboth28 function burnFrom(address from, uint256 amount) external returns (bool);28 function burnFrom(address from, uint256 amount) external returns (bool);29}29}3031// Selector: 7d9262e632interface Collection is Dummy, ERC165 {33 // Set collection property.34 //35 // @param key Property key.36 // @param value Propery value.37 //38 // Selector: setCollectionProperty(string,bytes) 2f073f6639 function setCollectionProperty(string memory key, bytes memory value)40 external;4142 // Delete collection property.43 //44 // @param key Property key.45 //46 // Selector: deleteCollectionProperty(string) 7b7debce47 function deleteCollectionProperty(string memory key) external;4849 // Get collection property.50 //51 // @dev Throws error if key not found.52 //53 // @param key Property key.54 // @return bytes The property corresponding to the key.55 //56 // Selector: collectionProperty(string) cf24fd6d57 function collectionProperty(string memory key)58 external59 view60 returns (bytes memory);6162 // Set the sponsor of the collection.63 //64 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.65 //66 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.67 //68 // Selector: setCollectionSponsor(address) 7623402e69 function setCollectionSponsor(address sponsor) external;7071 // Collection sponsorship confirmation.72 //73 // @dev After setting the sponsor for the collection, it must be confirmed with this function.74 //75 // Selector: confirmCollectionSponsorship() 3c50e97a76 function confirmCollectionSponsorship() external;7778 // Set limits for the collection.79 // @dev Throws error if limit not found.80 // @param limit Name of the limit. Valid names:81 // "accountTokenOwnershipLimit",82 // "sponsoredDataSize",83 // "sponsoredDataRateLimit",84 // "tokenLimit",85 // "sponsorTransferTimeout",86 // "sponsorApproveTimeout"87 // @param value Value of the limit.88 //89 // Selector: setCollectionLimit(string,uint32) 6a3841db90 function setCollectionLimit(string memory limit, uint32 value) external;9192 // Set limits for the collection.93 // @dev Throws error if limit not found.94 // @param limit Name of the limit. Valid names:95 // "ownerCanTransfer",96 // "ownerCanDestroy",97 // "transfersEnabled"98 // @param value Value of the limit.99 //100 // Selector: setCollectionLimit(string,bool) 993b7fba101 function setCollectionLimit(string memory limit, bool value) external;102103 // Get contract address.104 //105 // Selector: contractAddress() f6b4dfb4106 function contractAddress() external view returns (address);107108 // Add collection admin by substrate address.109 // @param new_admin Substrate administrator address.110 //111 // Selector: addCollectionAdminSubstrate(uint256) 5730062b112 function addCollectionAdminSubstrate(uint256 newAdmin) external;113114 // Remove collection admin by substrate address.115 // @param admin Substrate administrator address.116 //117 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9118 function removeCollectionAdminSubstrate(uint256 admin) external;119120 // Add collection admin.121 // @param new_admin Address of the added administrator.122 //123 // Selector: addCollectionAdmin(address) 92e462c7124 function addCollectionAdmin(address newAdmin) external;125126 // Remove collection admin.127 //128 // @param new_admin Address of the removed administrator.129 //130 // Selector: removeCollectionAdmin(address) fafd7b42131 function removeCollectionAdmin(address admin) external;132133 // Toggle accessibility of collection nesting.134 //135 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'136 //137 // Selector: setCollectionNesting(bool) 112d4586138 function setCollectionNesting(bool enable) external;139140 // Toggle accessibility of collection nesting.141 //142 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'143 // @param collections Addresses of collections that will be available for nesting.144 //145 // Selector: setCollectionNesting(bool,address[]) 64872396146 function setCollectionNesting(bool enable, address[] memory collections)147 external;148149 // Set the collection access method.150 // @param mode Access mode151 // 0 for Normal152 // 1 for AllowList153 //154 // Selector: setCollectionAccess(uint8) 41835d4c155 function setCollectionAccess(uint8 mode) external;156157 // Add the user to the allowed list.158 //159 // @param user Address of a trusted user.160 //161 // Selector: addToCollectionAllowList(address) 67844fe6162 function addToCollectionAllowList(address user) external;163164 // Remove the user from the allowed list.165 //166 // @param user Address of a removed user.167 //168 // Selector: removeFromCollectionAllowList(address) 85c51acb169 function removeFromCollectionAllowList(address user) external;170171 // Switch permission for minting.172 //173 // @param mode Enable if "true".174 //175 // Selector: setCollectionMintMode(bool) 00018e84176 function setCollectionMintMode(bool mode) external;177}3017831// Selector: 942e8b22179// Selector: 942e8b2232interface ERC20 is Dummy, ERC165, ERC20Events {180interface ERC20 is Dummy, ERC165, ERC20Events {65 returns (uint256);213 returns (uint256);66}214}6768// Selector: c894dc3569interface Collection is Dummy, ERC165 {70 // Selector: setCollectionProperty(string,bytes) 2f073f6671 function setCollectionProperty(string memory key, bytes memory value)72 external;7374 // Selector: deleteCollectionProperty(string) 7b7debce75 function deleteCollectionProperty(string memory key) external;7677 // Throws error if key not found78 //79 // Selector: collectionProperty(string) cf24fd6d80 function collectionProperty(string memory key)81 external82 view83 returns (bytes memory);8485 // Selector: ethSetSponsor(address) 8f9af35686 function ethSetSponsor(address sponsor) external;8788 // Selector: ethConfirmSponsorship() a8580d1a89 function ethConfirmSponsorship() external;9091 // Selector: setLimit(string,uint32) 68db30ca92 function setLimit(string memory limit, uint32 value) external;9394 // Selector: setLimit(string,bool) ea67e4c295 function setLimit(string memory limit, bool value) external;9697 // Selector: contractAddress() f6b4dfb498 function contractAddress() external view returns (address);99}100215101interface UniqueFungible is216interface UniqueFungible is102 Dummy,217 Dummy,tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth616162 // @notice Set token property value.62 // @notice Set token property value.63 // @dev Throws error if `msg.sender` has no permission to edit the property.63 // @dev Throws error if `msg.sender` has no permission to edit the property.64 // @param token_id ID of the token.64 // @param tokenId ID of the token.65 // @param key Property key.65 // @param key Property key.66 // @param value Property value.66 // @param value Property value.67 //67 //747475 // @notice Delete token property value.75 // @notice Delete token property value.76 // @dev Throws error if `msg.sender` has no permission to edit the property.76 // @dev Throws error if `msg.sender` has no permission to edit the property.77 // @param token_id ID of the token.77 // @param tokenId ID of the token.78 // @param key Property key.78 // @param key Property key.79 //79 //80 // Selector: deleteProperty(uint256,string) 066111d180 // Selector: deleteProperty(uint256,string) 066111d181 function deleteProperty(uint256 tokenId, string memory key) external;81 function deleteProperty(uint256 tokenId, string memory key) external;828283 // @notice Get token property value.83 // @notice Get token property value.84 // @dev Throws error if key not found84 // @dev Throws error if key not found85 // @param token_id ID of the token.85 // @param tokenId ID of the token.86 // @param key Property key.86 // @param key Property key.87 // @return Property value bytes87 //88 //88 // Selector: property(uint256,string) 7228c32789 // Selector: property(uint256,string) 7228c32789 function property(uint256 tokenId, string memory key)90 function property(uint256 tokenId, string memory key)108 // @notice Count all NFTs assigned to an owner109 // @notice Count all NFTs assigned to an owner109 // @dev NFTs assigned to the zero address are considered invalid, and this110 // @dev NFTs assigned to the zero address are considered invalid, and this110 // function throws for queries about the zero address.111 // function throws for queries about the zero address.111 // @param _owner An address for whom to query the balance112 // @param owner An address for whom to query the balance112 // @return The number of NFTs owned by `_owner`, possibly zero113 // @return The number of NFTs owned by `owner`, possibly zero113 //114 //114 // Selector: balanceOf(address) 70a08231115 // Selector: balanceOf(address) 70a08231115 function balanceOf(address owner) external view returns (uint256);116 function balanceOf(address owner) external view returns (uint256);116117117 // @notice Find the owner of an NFT118 // @notice Find the owner of an NFT118 // @dev NFTs assigned to zero address are considered invalid, and queries119 // @dev NFTs assigned to zero address are considered invalid, and queries119 // about them do throw.120 // about them do throw.120 // @param _tokenId The identifier for an NFT121 // @param tokenId The identifier for an NFT121 // @return The address of the owner of the NFT122 // @return The address of the owner of the NFT122 //123 //123 // Selector: ownerOf(uint256) 6352211e124 // Selector: ownerOf(uint256) 6352211e248// Selector: 780e9d63249// Selector: 780e9d63249interface ERC721Enumerable is Dummy, ERC165 {250interface ERC721Enumerable is Dummy, ERC165 {250 // @notice Enumerate valid NFTs251 // @notice Enumerate valid NFTs251 // @dev Throws if `index` >= `totalSupply()`.252 // @param index A counter less than `totalSupply()`252 // @param index A counter less than `totalSupply()`253 // @return The token identifier for the `index`th NFT,253 // @return The token identifier for the `index`th NFT,254 // (sort order not specified)254 // (sort order not specified)274274275// Selector: 7d9262e6275// Selector: 7d9262e6276interface Collection is Dummy, ERC165 {276interface Collection is Dummy, ERC165 {277 // Set collection property.278 //279 // @param key Property key.280 // @param value Propery value.281 //277 // Selector: setCollectionProperty(string,bytes) 2f073f66282 // Selector: setCollectionProperty(string,bytes) 2f073f66278 function setCollectionProperty(string memory key, bytes memory value)283 function setCollectionProperty(string memory key, bytes memory value)279 external;284 external;280285286 // Delete collection property.287 //288 // @param key Property key.289 //281 // Selector: deleteCollectionProperty(string) 7b7debce290 // Selector: deleteCollectionProperty(string) 7b7debce282 function deleteCollectionProperty(string memory key) external;291 function deleteCollectionProperty(string memory key) external;283292293 // Get collection property.294 //284 // Throws error if key not found295 // @dev Throws error if key not found.296 //297 // @param key Property key.298 // @return bytes The property corresponding to the key.285 //299 //286 // Selector: collectionProperty(string) cf24fd6d300 // Selector: collectionProperty(string) cf24fd6d287 function collectionProperty(string memory key)301 function collectionProperty(string memory key)288 external302 external289 view303 view290 returns (bytes memory);304 returns (bytes memory);291305306 // Set the sponsor of the collection.307 //308 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.309 //310 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.311 //292 // Selector: setCollectionSponsor(address) 7623402e312 // Selector: setCollectionSponsor(address) 7623402e293 function setCollectionSponsor(address sponsor) external;313 function setCollectionSponsor(address sponsor) external;294314315 // Collection sponsorship confirmation.316 //317 // @dev After setting the sponsor for the collection, it must be confirmed with this function.318 //295 // Selector: confirmCollectionSponsorship() 3c50e97a319 // Selector: confirmCollectionSponsorship() 3c50e97a296 function confirmCollectionSponsorship() external;320 function confirmCollectionSponsorship() external;297321322 // Set limits for the collection.323 // @dev Throws error if limit not found.324 // @param limit Name of the limit. Valid names:325 // "accountTokenOwnershipLimit",326 // "sponsoredDataSize",327 // "sponsoredDataRateLimit",328 // "tokenLimit",329 // "sponsorTransferTimeout",330 // "sponsorApproveTimeout"331 // @param value Value of the limit.332 //298 // Selector: setCollectionLimit(string,uint32) 6a3841db333 // Selector: setCollectionLimit(string,uint32) 6a3841db299 function setCollectionLimit(string memory limit, uint32 value) external;334 function setCollectionLimit(string memory limit, uint32 value) external;300335336 // Set limits for the collection.337 // @dev Throws error if limit not found.338 // @param limit Name of the limit. Valid names:339 // "ownerCanTransfer",340 // "ownerCanDestroy",341 // "transfersEnabled"342 // @param value Value of the limit.343 //301 // Selector: setCollectionLimit(string,bool) 993b7fba344 // Selector: setCollectionLimit(string,bool) 993b7fba302 function setCollectionLimit(string memory limit, bool value) external;345 function setCollectionLimit(string memory limit, bool value) external;303346347 // Get contract address.348 //304 // Selector: contractAddress() f6b4dfb4349 // Selector: contractAddress() f6b4dfb4305 function contractAddress() external view returns (address);350 function contractAddress() external view returns (address);306351352 // Add collection admin by substrate address.353 // @param new_admin Substrate administrator address.354 //307 // Selector: addCollectionAdminSubstrate(uint256) 5730062b355 // Selector: addCollectionAdminSubstrate(uint256) 5730062b308 function addCollectionAdminSubstrate(uint256 newAdmin) external view;356 function addCollectionAdminSubstrate(uint256 newAdmin) external;309357358 // Remove collection admin by substrate address.359 // @param admin Substrate administrator address.360 //310 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9361 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9311 function removeCollectionAdminSubstrate(uint256 newAdmin) external view;362 function removeCollectionAdminSubstrate(uint256 admin) external;312363364 // Add collection admin.365 // @param new_admin Address of the added administrator.366 //313 // Selector: addCollectionAdmin(address) 92e462c7367 // Selector: addCollectionAdmin(address) 92e462c7314 function addCollectionAdmin(address newAdmin) external view;368 function addCollectionAdmin(address newAdmin) external;315369370 // Remove collection admin.371 //372 // @param new_admin Address of the removed administrator.373 //316 // Selector: removeCollectionAdmin(address) fafd7b42374 // Selector: removeCollectionAdmin(address) fafd7b42317 function removeCollectionAdmin(address admin) external view;375 function removeCollectionAdmin(address admin) external;318376377 // Toggle accessibility of collection nesting.378 //379 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'380 //319 // Selector: setCollectionNesting(bool) 112d4586381 // Selector: setCollectionNesting(bool) 112d4586320 function setCollectionNesting(bool enable) external;382 function setCollectionNesting(bool enable) external;321383384 // Toggle accessibility of collection nesting.385 //386 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'387 // @param collections Addresses of collections that will be available for nesting.388 //322 // Selector: setCollectionNesting(bool,address[]) 64872396389 // Selector: setCollectionNesting(bool,address[]) 64872396323 function setCollectionNesting(bool enable, address[] memory collections)390 function setCollectionNesting(bool enable, address[] memory collections)324 external;391 external;325392393 // Set the collection access method.394 // @param mode Access mode395 // 0 for Normal396 // 1 for AllowList397 //326 // Selector: setCollectionAccess(uint8) 41835d4c398 // Selector: setCollectionAccess(uint8) 41835d4c327 function setCollectionAccess(uint8 mode) external;399 function setCollectionAccess(uint8 mode) external;328400401 // Add the user to the allowed list.402 //403 // @param user Address of a trusted user.404 //329 // Selector: addToCollectionAllowList(address) 67844fe6405 // Selector: addToCollectionAllowList(address) 67844fe6330 function addToCollectionAllowList(address user) external view;406 function addToCollectionAllowList(address user) external;331407408 // Remove the user from the allowed list.409 //410 // @param user Address of a removed user.411 //332 // Selector: removeFromCollectionAllowList(address) 85c51acb412 // Selector: removeFromCollectionAllowList(address) 85c51acb333 function removeFromCollectionAllowList(address user) external view;413 function removeFromCollectionAllowList(address user) external;334414415 // Switch permission for minting.416 //417 // @param mode Enable if "true".418 //335 // Selector: setCollectionMintMode(bool) 00018e84419 // Selector: setCollectionMintMode(bool) 00018e84336 function setCollectionMintMode(bool mode) external;420 function setCollectionMintMode(bool mode) external;337}421}338422339// Selector: d74d154f423// Selector: d74d154f340interface ERC721UniqueExtensions is Dummy, ERC165 {424interface ERC721UniqueExtensions is Dummy, ERC165 {341 // @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE425 // @notice Transfer ownership of an NFT342 // TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE343 // THEY MAY BE PERMANENTLY LOST344 // @dev Throws unless `msg.sender` is the current owner. Throws if `to`426 // @dev Throws unless `msg.sender` is the current owner. Throws if `to`345 // is the zero address. Throws if `tokenId` is not a valid NFT.427 // is the zero address. Throws if `tokenId` is not a valid NFT.346 // @param to The new owner428 // @param to The new ownertests/src/eth/fungibleAbi.jsondiffbeforeafterboth49 "name": "Transfer",49 "name": "Transfer",50 "type": "event"50 "type": "event"51 },51 },52 {53 "inputs": [54 { "internalType": "address", "name": "newAdmin", "type": "address" }55 ],56 "name": "addCollectionAdmin",57 "outputs": [],58 "stateMutability": "nonpayable",59 "type": "function"60 },61 {62 "inputs": [63 { "internalType": "uint256", "name": "newAdmin", "type": "uint256" }64 ],65 "name": "addCollectionAdminSubstrate",66 "outputs": [],67 "stateMutability": "nonpayable",68 "type": "function"69 },70 {71 "inputs": [72 { "internalType": "address", "name": "user", "type": "address" }73 ],74 "name": "addToCollectionAllowList",75 "outputs": [],76 "stateMutability": "nonpayable",77 "type": "function"78 },52 {79 {53 "inputs": [80 "inputs": [54 { "internalType": "address", "name": "owner", "type": "address" },81 { "internalType": "address", "name": "owner", "type": "address" },95 "stateMutability": "view",122 "stateMutability": "view",96 "type": "function"123 "type": "function"97 },124 },125 {126 "inputs": [],127 "name": "confirmCollectionSponsorship",128 "outputs": [],129 "stateMutability": "nonpayable",130 "type": "function"131 },98 {132 {99 "inputs": [],133 "inputs": [],100 "name": "contractAddress",134 "name": "contractAddress",116 "stateMutability": "nonpayable",150 "stateMutability": "nonpayable",117 "type": "function"151 "type": "function"118 },152 },153 {154 "inputs": [],155 "name": "name",156 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],157 "stateMutability": "view",158 "type": "function"159 },160 {161 "inputs": [162 { "internalType": "address", "name": "admin", "type": "address" }163 ],164 "name": "removeCollectionAdmin",165 "outputs": [],166 "stateMutability": "nonpayable",167 "type": "function"168 },119 {169 {120 "inputs": [],170 "inputs": [171 { "internalType": "uint256", "name": "admin", "type": "uint256" }172 ],121 "name": "ethConfirmSponsorship",173 "name": "removeCollectionAdminSubstrate",122 "outputs": [],174 "outputs": [],123 "stateMutability": "nonpayable",175 "stateMutability": "nonpayable",124 "type": "function"176 "type": "function"125 },177 },126 {178 {127 "inputs": [179 "inputs": [128 { "internalType": "address", "name": "sponsor", "type": "address" }180 { "internalType": "address", "name": "user", "type": "address" }129 ],181 ],130 "name": "ethSetSponsor",182 "name": "removeFromCollectionAllowList",131 "outputs": [],183 "outputs": [],132 "stateMutability": "nonpayable",184 "stateMutability": "nonpayable",133 "type": "function"185 "type": "function"134 },186 },135 {187 {136 "inputs": [],188 "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],189 "name": "setCollectionAccess",190 "outputs": [],191 "stateMutability": "nonpayable",192 "type": "function"193 },194 {195 "inputs": [137 "name": "name",196 { "internalType": "string", "name": "limit", "type": "string" },197 { "internalType": "uint32", "name": "value", "type": "uint32" }198 ],199 "name": "setCollectionLimit",138 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],200 "outputs": [],201 "stateMutability": "nonpayable",202 "type": "function"203 },204 {205 "inputs": [206 { "internalType": "string", "name": "limit", "type": "string" },207 { "internalType": "bool", "name": "value", "type": "bool" }208 ],209 "name": "setCollectionLimit",210 "outputs": [],139 "stateMutability": "view",211 "stateMutability": "nonpayable",140 "type": "function"212 "type": "function"141 },213 },214 {215 "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],216 "name": "setCollectionMintMode",217 "outputs": [],218 "stateMutability": "nonpayable",219 "type": "function"220 },221 {222 "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],223 "name": "setCollectionNesting",224 "outputs": [],225 "stateMutability": "nonpayable",226 "type": "function"227 },228 {229 "inputs": [230 { "internalType": "bool", "name": "enable", "type": "bool" },231 {232 "internalType": "address[]",233 "name": "collections",234 "type": "address[]"235 }236 ],237 "name": "setCollectionNesting",238 "outputs": [],239 "stateMutability": "nonpayable",240 "type": "function"241 },142 {242 {143 "inputs": [243 "inputs": [144 { "internalType": "string", "name": "key", "type": "string" },244 { "internalType": "string", "name": "key", "type": "string" },151 },251 },152 {252 {153 "inputs": [253 "inputs": [154 { "internalType": "string", "name": "limit", "type": "string" },254 { "internalType": "address", "name": "sponsor", "type": "address" }155 { "internalType": "uint32", "name": "value", "type": "uint32" }156 ],255 ],157 "name": "setLimit",256 "name": "setCollectionSponsor",158 "outputs": [],257 "outputs": [],159 "stateMutability": "nonpayable",258 "stateMutability": "nonpayable",160 "type": "function"259 "type": "function"161 },260 },162 {163 "inputs": [164 { "internalType": "string", "name": "limit", "type": "string" },165 { "internalType": "bool", "name": "value", "type": "bool" }166 ],167 "name": "setLimit",168 "outputs": [],169 "stateMutability": "nonpayable",170 "type": "function"171 },172 {261 {173 "inputs": [262 "inputs": [174 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }263 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }tests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth86 ],86 ],87 "name": "addCollectionAdmin",87 "name": "addCollectionAdmin",88 "outputs": [],88 "outputs": [],89 "stateMutability": "view",89 "stateMutability": "nonpayable",90 "type": "function"90 "type": "function"91 },91 },92 {92 {95 ],95 ],96 "name": "addCollectionAdminSubstrate",96 "name": "addCollectionAdminSubstrate",97 "outputs": [],97 "outputs": [],98 "stateMutability": "view",98 "stateMutability": "nonpayable",99 "type": "function"99 "type": "function"100 },100 },101 {101 {104 ],104 ],105 "name": "addToCollectionAllowList",105 "name": "addToCollectionAllowList",106 "outputs": [],106 "outputs": [],107 "stateMutability": "view",107 "stateMutability": "nonpayable",108 "type": "function"108 "type": "function"109 },109 },110 {110 {304 ],304 ],305 "name": "removeCollectionAdmin",305 "name": "removeCollectionAdmin",306 "outputs": [],306 "outputs": [],307 "stateMutability": "view",307 "stateMutability": "nonpayable",308 "type": "function"308 "type": "function"309 },309 },310 {310 {311 "inputs": [311 "inputs": [312 { "internalType": "uint256", "name": "newAdmin", "type": "uint256" }312 { "internalType": "uint256", "name": "admin", "type": "uint256" }313 ],313 ],314 "name": "removeCollectionAdminSubstrate",314 "name": "removeCollectionAdminSubstrate",315 "outputs": [],315 "outputs": [],316 "stateMutability": "view",316 "stateMutability": "nonpayable",317 "type": "function"317 "type": "function"318 },318 },319 {319 {322 ],322 ],323 "name": "removeFromCollectionAllowList",323 "name": "removeFromCollectionAllowList",324 "outputs": [],324 "outputs": [],325 "stateMutability": "view",325 "stateMutability": "nonpayable",326 "type": "function"326 "type": "function"327 },327 },328 {328 {tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth276 [key: string]: AugmentedError<ApiType>;276 [key: string]: AugmentedError<ApiType>;277 };277 };278 fungible: {278 fungible: {279 /**279 /**280 * Fungible token does not support nested280 * Fungible token does not support nesting.281 **/281 **/282 FungibleDisallowsNesting: AugmentedError<ApiType>;282 FungibleDisallowsNesting: AugmentedError<ApiType>;283 /**283 /**284 * Tried to set data for fungible item284 * Tried to set data for fungible item.285 **/285 **/286 FungibleItemsDontHaveData: AugmentedError<ApiType>;286 FungibleItemsDontHaveData: AugmentedError<ApiType>;287 /**287 /**288 * Not default id passed as TokenId argument288 * Not default id passed as TokenId argument.289 * The default value of TokenId for Fungible collection is 0.289 **/290 **/290 FungibleItemsHaveNoId: AugmentedError<ApiType>;291 FungibleItemsHaveNoId: AugmentedError<ApiType>;291 /**292 /**292 * Not Fungible item data used to mint in Fungible collection.293 * Not Fungible item data used to mint in Fungible collection.293 **/294 **/294 NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;295 NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;295 /**296 /**296 * Setting item properties is not allowed297 * Setting item properties is not allowed.297 **/298 **/298 SettingPropertiesNotAllowed: AugmentedError<ApiType>;299 SettingPropertiesNotAllowed: AugmentedError<ApiType>;299 /**300 /**300 * Generic error301 * Generic errortests/src/interfaces/augment-api-query.tsdiffbeforeafterboth187 [key: string]: QueryableStorageEntry<ApiType>;187 [key: string]: QueryableStorageEntry<ApiType>;188 };188 };189 fungible: {189 fungible: {190 /**191 * Storage for delegated assets.192 **/190 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;193 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;194 /**195 * Amount of tokens owned by an account inside a collection.196 **/191 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;197 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;198 /**199 * Total amount of fungible tokens inside a collection.200 **/192 totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;201 totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;193 /**202 /**194 * Generic query203 * Generic query400 [key: string]: QueryableStorageEntry<ApiType>;409 [key: string]: QueryableStorageEntry<ApiType>;401 };410 };402 refungible: {411 refungible: {412 /**413 * Amount of tokens owned by account414 **/403 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;415 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;416 /**417 * Allowance set by an owner for a spender for a token418 **/404 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;419 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;420 /**421 * Amount of token pieces owned by account422 **/405 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;423 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;406 /**424 /**407 * Used to enumerate tokens owned by account425 * Used to enumerate tokens owned by account408 **/426 **/409 owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;427 owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;428 /**429 * Custom data serialized to bytes for token430 **/410 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;431 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;411 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;432 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;412 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;433 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;434 /**435 * Amount of tokens minted for collection436 **/413 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;437 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;438 /**439 * Total amount of pieces for token440 **/414 totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;441 totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;415 /**442 /**416 * Generic query443 * Generic query