git.delta.rocks / unique-network / refs/commits / ae91eaeb0336

difftreelog

Merge pull request #447 from UniqueNetwork/fix/CORE-426

Yaroslav Bolyukin2022-07-21parents: #c4af3bb #ef7fcb6.patch.diff
in: master
fix(stubs): fixed code of erc module of pallet-common

16 files changed

modifiedCargo.lockdiffbeforeafterboth
57315731
5732[[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",
addedpallets/common/CHANGELOG.MDdiffbeforeafterboth

no changes

modifiedpallets/common/Cargo.tomldiffbeforeafterboth
1[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"
66
modifiedpallets/common/src/erc.rsdiffbeforeafterboth
226 /// 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();
249257
250 /// 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>)?;
modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/fungible/src/stubs/UniqueFungible.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth
43 }43 }
44}44}
45
46// Selector: 7d9262e6
47contract 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) 2f073f66
54 function setCollectionProperty(string memory key, bytes memory value)
55 public
56 {
57 require(false, stub_error);
58 key;
59 value;
60 dummy = 0;
61 }
62
63 // Delete collection property.
64 //
65 // @param key Property key.
66 //
67 // Selector: deleteCollectionProperty(string) 7b7debce
68 function deleteCollectionProperty(string memory key) public {
69 require(false, stub_error);
70 key;
71 dummy = 0;
72 }
73
74 // 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) cf24fd6d
82 function collectionProperty(string memory key)
83 public
84 view
85 returns (bytes memory)
86 {
87 require(false, stub_error);
88 key;
89 dummy;
90 return hex"";
91 }
92
93 // 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) 7623402e
100 function setCollectionSponsor(address sponsor) public {
101 require(false, stub_error);
102 sponsor;
103 dummy = 0;
104 }
105
106 // Collection sponsorship confirmation.
107 //
108 // @dev After setting the sponsor for the collection, it must be confirmed with this function.
109 //
110 // Selector: confirmCollectionSponsorship() 3c50e97a
111 function confirmCollectionSponsorship() public {
112 require(false, stub_error);
113 dummy = 0;
114 }
115
116 // 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) 6a3841db
128 function setCollectionLimit(string memory limit, uint32 value) public {
129 require(false, stub_error);
130 limit;
131 value;
132 dummy = 0;
133 }
134
135 // 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) 993b7fba
144 function setCollectionLimit(string memory limit, bool value) public {
145 require(false, stub_error);
146 limit;
147 value;
148 dummy = 0;
149 }
150
151 // Get contract address.
152 //
153 // Selector: contractAddress() f6b4dfb4
154 function contractAddress() public view returns (address) {
155 require(false, stub_error);
156 dummy;
157 return 0x0000000000000000000000000000000000000000;
158 }
159
160 // Add collection admin by substrate address.
161 // @param new_admin Substrate administrator address.
162 //
163 // Selector: addCollectionAdminSubstrate(uint256) 5730062b
164 function addCollectionAdminSubstrate(uint256 newAdmin) public {
165 require(false, stub_error);
166 newAdmin;
167 dummy = 0;
168 }
169
170 // Remove collection admin by substrate address.
171 // @param admin Substrate administrator address.
172 //
173 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9
174 function removeCollectionAdminSubstrate(uint256 admin) public {
175 require(false, stub_error);
176 admin;
177 dummy = 0;
178 }
179
180 // Add collection admin.
181 // @param new_admin Address of the added administrator.
182 //
183 // Selector: addCollectionAdmin(address) 92e462c7
184 function addCollectionAdmin(address newAdmin) public {
185 require(false, stub_error);
186 newAdmin;
187 dummy = 0;
188 }
189
190 // Remove collection admin.
191 //
192 // @param new_admin Address of the removed administrator.
193 //
194 // Selector: removeCollectionAdmin(address) fafd7b42
195 function removeCollectionAdmin(address admin) public {
196 require(false, stub_error);
197 admin;
198 dummy = 0;
199 }
200
201 // Toggle accessibility of collection nesting.
202 //
203 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'
204 //
205 // Selector: setCollectionNesting(bool) 112d4586
206 function setCollectionNesting(bool enable) public {
207 require(false, stub_error);
208 enable;
209 dummy = 0;
210 }
211
212 // 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[]) 64872396
218 function setCollectionNesting(bool enable, address[] memory collections)
219 public
220 {
221 require(false, stub_error);
222 enable;
223 collections;
224 dummy = 0;
225 }
226
227 // Set the collection access method.
228 // @param mode Access mode
229 // 0 for Normal
230 // 1 for AllowList
231 //
232 // Selector: setCollectionAccess(uint8) 41835d4c
233 function setCollectionAccess(uint8 mode) public {
234 require(false, stub_error);
235 mode;
236 dummy = 0;
237 }
238
239 // Add the user to the allowed list.
240 //
241 // @param user Address of a trusted user.
242 //
243 // Selector: addToCollectionAllowList(address) 67844fe6
244 function addToCollectionAllowList(address user) public {
245 require(false, stub_error);
246 user;
247 dummy = 0;
248 }
249
250 // Remove the user from the allowed list.
251 //
252 // @param user Address of a removed user.
253 //
254 // Selector: removeFromCollectionAllowList(address) 85c51acb
255 function removeFromCollectionAllowList(address user) public {
256 require(false, stub_error);
257 user;
258 dummy = 0;
259 }
260
261 // Switch permission for minting.
262 //
263 // @param mode Enable if "true".
264 //
265 // Selector: setCollectionMintMode(bool) 00018e84
266 function setCollectionMintMode(bool mode) public {
267 require(false, stub_error);
268 mode;
269 dummy = 0;
270 }
271}
45272
46// Selector: 942e8b22273// Selector: 942e8b22
47contract ERC20 is Dummy, ERC165, ERC20Events {274contract ERC20 is Dummy, ERC165, ERC20Events {
127 }354 }
128}355}
129
130// Selector: c894dc35
131contract Collection is Dummy, ERC165 {
132 // Selector: setCollectionProperty(string,bytes) 2f073f66
133 function setCollectionProperty(string memory key, bytes memory value)
134 public
135 {
136 require(false, stub_error);
137 key;
138 value;
139 dummy = 0;
140 }
141
142 // Selector: deleteCollectionProperty(string) 7b7debce
143 function deleteCollectionProperty(string memory key) public {
144 require(false, stub_error);
145 key;
146 dummy = 0;
147 }
148
149 // Throws error if key not found
150 //
151 // Selector: collectionProperty(string) cf24fd6d
152 function collectionProperty(string memory key)
153 public
154 view
155 returns (bytes memory)
156 {
157 require(false, stub_error);
158 key;
159 dummy;
160 return hex"";
161 }
162
163 // Selector: ethSetSponsor(address) 8f9af356
164 function ethSetSponsor(address sponsor) public {
165 require(false, stub_error);
166 sponsor;
167 dummy = 0;
168 }
169
170 // Selector: ethConfirmSponsorship() a8580d1a
171 function ethConfirmSponsorship() public {
172 require(false, stub_error);
173 dummy = 0;
174 }
175
176 // Selector: setLimit(string,uint32) 68db30ca
177 function setLimit(string memory limit, uint32 value) public {
178 require(false, stub_error);
179 limit;
180 value;
181 dummy = 0;
182 }
183
184 // Selector: setLimit(string,bool) ea67e4c2
185 function setLimit(string memory limit, bool value) public {
186 require(false, stub_error);
187 limit;
188 value;
189 dummy = 0;
190 }
191
192 // Selector: contractAddress() f6b4dfb4
193 function contractAddress() public view returns (address) {
194 require(false, stub_error);
195 dummy;
196 return 0x0000000000000000000000000000000000000000;
197 }
198}
199356
200contract UniqueFungible is357contract UniqueFungible is
201 Dummy,358 Dummy,
modifiedpallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
7777
78 // @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 //
9696
97 // @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) 066111d1
109109
110 // @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 found
112 // @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 bytes
114 //115 //
115 // Selector: property(uint256,string) 7228c327116 // Selector: property(uint256,string) 7228c327
116 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 owner
147 // @dev NFTs assigned to the zero address are considered invalid, and this148 // @dev NFTs assigned to the zero address are considered invalid, and this
148 // 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 balance
150 // @return The number of NFTs owned by `_owner`, possibly zero151 // @return The number of NFTs owned by `owner`, possibly zero
151 //152 //
152 // Selector: balanceOf(address) 70a08231153 // Selector: balanceOf(address) 70a08231
153 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 NFT
161 // @dev NFTs assigned to zero address are considered invalid, and queries162 // @dev NFTs assigned to zero address are considered invalid, and queries
162 // about them do throw.163 // about them do throw.
163 // @param _tokenId The identifier for an NFT164 // @param tokenId The identifier for an NFT
164 // @return The address of the owner of the NFT165 // @return The address of the owner of the NFT
165 //166 //
166 // Selector: ownerOf(uint256) 6352211e167 // Selector: ownerOf(uint256) 6352211e
371// Selector: 780e9d63372// Selector: 780e9d63
372contract ERC721Enumerable is Dummy, ERC165 {373contract ERC721Enumerable is Dummy, ERC165 {
373 // @notice Enumerate valid NFTs374 // @notice Enumerate valid NFTs
374 // @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)
413413
414// Selector: 7d9262e6414// Selector: 7d9262e6
415contract 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) 2f073f66
417 function setCollectionProperty(string memory key, bytes memory value)422 function setCollectionProperty(string memory key, bytes memory value)
418 public423 public
423 dummy = 0;428 dummy = 0;
424 }429 }
425430
431 // Delete collection property.
432 //
433 // @param key Property key.
434 //
426 // Selector: deleteCollectionProperty(string) 7b7debce435 // Selector: deleteCollectionProperty(string) 7b7debce
427 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 }
432441
442 // 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) cf24fd6d
436 function collectionProperty(string memory key)450 function collectionProperty(string memory key)
444 return hex"";458 return hex"";
445 }459 }
446460
461 // 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) 7623402e
448 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 }
453473
474 // 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() 3c50e97a
455 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 }
459483
484 // 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) 6a3841db
461 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 }
467502
503 // 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) 993b7fba
469 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 }
475518
519 // Get contract address.
520 //
476 // Selector: contractAddress() f6b4dfb4521 // Selector: contractAddress() f6b4dfb4
477 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 }
482527
528 // Add collection admin by substrate address.
529 // @param new_admin Substrate administrator address.
530 //
483 // Selector: addCollectionAdminSubstrate(uint256) 5730062b531 // Selector: addCollectionAdminSubstrate(uint256) 5730062b
484 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 }
489537
538 // Remove collection admin by substrate address.
539 // @param admin Substrate administrator address.
540 //
490 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9541 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9
491 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 }
496547
548 // Add collection admin.
549 // @param new_admin Address of the added administrator.
550 //
497 // Selector: addCollectionAdmin(address) 92e462c7551 // Selector: addCollectionAdmin(address) 92e462c7
498 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 }
503557
558 // Remove collection admin.
559 //
560 // @param new_admin Address of the removed administrator.
561 //
504 // Selector: removeCollectionAdmin(address) fafd7b42562 // Selector: removeCollectionAdmin(address) fafd7b42
505 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 }
510568
569 // 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) 112d4586
512 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 }
517579
580 // 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[]) 64872396
519 function setCollectionNesting(bool enable, address[] memory collections)586 function setCollectionNesting(bool enable, address[] memory collections)
520 public587 public
525 dummy = 0;592 dummy = 0;
526 }593 }
527594
595 // Set the collection access method.
596 // @param mode Access mode
597 // 0 for Normal
598 // 1 for AllowList
599 //
528 // Selector: setCollectionAccess(uint8) 41835d4c600 // Selector: setCollectionAccess(uint8) 41835d4c
529 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 }
534606
607 // 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) 67844fe6
536 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 }
541617
618 // 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) 85c51acb
543 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 }
548628
629 // Switch permission for minting.
630 //
631 // @param mode Enable if "true".
632 //
549 // Selector: setCollectionMintMode(bool) 00018e84633 // Selector: setCollectionMintMode(bool) 00018e84
550 function setCollectionMintMode(bool mode) public {634 function setCollectionMintMode(bool mode) public {
551 require(false, stub_error);635 require(false, stub_error);
556640
557// Selector: d74d154f641// Selector: d74d154f
558contract 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 NFT
560 // TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE
561 // THEY MAY BE PERMANENTLY LOST
562 // @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 owner
modifiedpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
28 function burnFrom(address from, uint256 amount) external returns (bool);28 function burnFrom(address from, uint256 amount) external returns (bool);
29}29}
30
31// Selector: 7d9262e6
32interface 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) 2f073f66
39 function setCollectionProperty(string memory key, bytes memory value)
40 external;
41
42 // Delete collection property.
43 //
44 // @param key Property key.
45 //
46 // Selector: deleteCollectionProperty(string) 7b7debce
47 function deleteCollectionProperty(string memory key) external;
48
49 // 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) cf24fd6d
57 function collectionProperty(string memory key)
58 external
59 view
60 returns (bytes memory);
61
62 // 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) 7623402e
69 function setCollectionSponsor(address sponsor) external;
70
71 // Collection sponsorship confirmation.
72 //
73 // @dev After setting the sponsor for the collection, it must be confirmed with this function.
74 //
75 // Selector: confirmCollectionSponsorship() 3c50e97a
76 function confirmCollectionSponsorship() external;
77
78 // 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) 6a3841db
90 function setCollectionLimit(string memory limit, uint32 value) external;
91
92 // 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) 993b7fba
101 function setCollectionLimit(string memory limit, bool value) external;
102
103 // Get contract address.
104 //
105 // Selector: contractAddress() f6b4dfb4
106 function contractAddress() external view returns (address);
107
108 // Add collection admin by substrate address.
109 // @param new_admin Substrate administrator address.
110 //
111 // Selector: addCollectionAdminSubstrate(uint256) 5730062b
112 function addCollectionAdminSubstrate(uint256 newAdmin) external;
113
114 // Remove collection admin by substrate address.
115 // @param admin Substrate administrator address.
116 //
117 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9
118 function removeCollectionAdminSubstrate(uint256 admin) external;
119
120 // Add collection admin.
121 // @param new_admin Address of the added administrator.
122 //
123 // Selector: addCollectionAdmin(address) 92e462c7
124 function addCollectionAdmin(address newAdmin) external;
125
126 // Remove collection admin.
127 //
128 // @param new_admin Address of the removed administrator.
129 //
130 // Selector: removeCollectionAdmin(address) fafd7b42
131 function removeCollectionAdmin(address admin) external;
132
133 // Toggle accessibility of collection nesting.
134 //
135 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'
136 //
137 // Selector: setCollectionNesting(bool) 112d4586
138 function setCollectionNesting(bool enable) external;
139
140 // 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[]) 64872396
146 function setCollectionNesting(bool enable, address[] memory collections)
147 external;
148
149 // Set the collection access method.
150 // @param mode Access mode
151 // 0 for Normal
152 // 1 for AllowList
153 //
154 // Selector: setCollectionAccess(uint8) 41835d4c
155 function setCollectionAccess(uint8 mode) external;
156
157 // Add the user to the allowed list.
158 //
159 // @param user Address of a trusted user.
160 //
161 // Selector: addToCollectionAllowList(address) 67844fe6
162 function addToCollectionAllowList(address user) external;
163
164 // Remove the user from the allowed list.
165 //
166 // @param user Address of a removed user.
167 //
168 // Selector: removeFromCollectionAllowList(address) 85c51acb
169 function removeFromCollectionAllowList(address user) external;
170
171 // Switch permission for minting.
172 //
173 // @param mode Enable if "true".
174 //
175 // Selector: setCollectionMintMode(bool) 00018e84
176 function setCollectionMintMode(bool mode) external;
177}
30178
31// Selector: 942e8b22179// Selector: 942e8b22
32interface ERC20 is Dummy, ERC165, ERC20Events {180interface ERC20 is Dummy, ERC165, ERC20Events {
65 returns (uint256);213 returns (uint256);
66}214}
67
68// Selector: c894dc35
69interface Collection is Dummy, ERC165 {
70 // Selector: setCollectionProperty(string,bytes) 2f073f66
71 function setCollectionProperty(string memory key, bytes memory value)
72 external;
73
74 // Selector: deleteCollectionProperty(string) 7b7debce
75 function deleteCollectionProperty(string memory key) external;
76
77 // Throws error if key not found
78 //
79 // Selector: collectionProperty(string) cf24fd6d
80 function collectionProperty(string memory key)
81 external
82 view
83 returns (bytes memory);
84
85 // Selector: ethSetSponsor(address) 8f9af356
86 function ethSetSponsor(address sponsor) external;
87
88 // Selector: ethConfirmSponsorship() a8580d1a
89 function ethConfirmSponsorship() external;
90
91 // Selector: setLimit(string,uint32) 68db30ca
92 function setLimit(string memory limit, uint32 value) external;
93
94 // Selector: setLimit(string,bool) ea67e4c2
95 function setLimit(string memory limit, bool value) external;
96
97 // Selector: contractAddress() f6b4dfb4
98 function contractAddress() external view returns (address);
99}
100215
101interface UniqueFungible is216interface UniqueFungible is
102 Dummy,217 Dummy,
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
6161
62 // @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 //
7474
75 // @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) 066111d1
81 function deleteProperty(uint256 tokenId, string memory key) external;81 function deleteProperty(uint256 tokenId, string memory key) external;
8282
83 // @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 found
85 // @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 bytes
87 //88 //
88 // Selector: property(uint256,string) 7228c32789 // Selector: property(uint256,string) 7228c327
89 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 owner
109 // @dev NFTs assigned to the zero address are considered invalid, and this110 // @dev NFTs assigned to the zero address are considered invalid, and this
110 // 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 balance
112 // @return The number of NFTs owned by `_owner`, possibly zero113 // @return The number of NFTs owned by `owner`, possibly zero
113 //114 //
114 // Selector: balanceOf(address) 70a08231115 // Selector: balanceOf(address) 70a08231
115 function balanceOf(address owner) external view returns (uint256);116 function balanceOf(address owner) external view returns (uint256);
116117
117 // @notice Find the owner of an NFT118 // @notice Find the owner of an NFT
118 // @dev NFTs assigned to zero address are considered invalid, and queries119 // @dev NFTs assigned to zero address are considered invalid, and queries
119 // about them do throw.120 // about them do throw.
120 // @param _tokenId The identifier for an NFT121 // @param tokenId The identifier for an NFT
121 // @return The address of the owner of the NFT122 // @return The address of the owner of the NFT
122 //123 //
123 // Selector: ownerOf(uint256) 6352211e124 // Selector: ownerOf(uint256) 6352211e
248// Selector: 780e9d63249// Selector: 780e9d63
249interface ERC721Enumerable is Dummy, ERC165 {250interface ERC721Enumerable is Dummy, ERC165 {
250 // @notice Enumerate valid NFTs251 // @notice Enumerate valid NFTs
251 // @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)
274274
275// Selector: 7d9262e6275// Selector: 7d9262e6
276interface 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) 2f073f66
278 function setCollectionProperty(string memory key, bytes memory value)283 function setCollectionProperty(string memory key, bytes memory value)
279 external;284 external;
280285
286 // Delete collection property.
287 //
288 // @param key Property key.
289 //
281 // Selector: deleteCollectionProperty(string) 7b7debce290 // Selector: deleteCollectionProperty(string) 7b7debce
282 function deleteCollectionProperty(string memory key) external;291 function deleteCollectionProperty(string memory key) external;
283292
293 // 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) cf24fd6d
287 function collectionProperty(string memory key)301 function collectionProperty(string memory key)
288 external302 external
289 view303 view
290 returns (bytes memory);304 returns (bytes memory);
291305
306 // 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) 7623402e
293 function setCollectionSponsor(address sponsor) external;313 function setCollectionSponsor(address sponsor) external;
294314
315 // 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() 3c50e97a
296 function confirmCollectionSponsorship() external;320 function confirmCollectionSponsorship() external;
297321
322 // 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) 6a3841db
299 function setCollectionLimit(string memory limit, uint32 value) external;334 function setCollectionLimit(string memory limit, uint32 value) external;
300335
336 // 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) 993b7fba
302 function setCollectionLimit(string memory limit, bool value) external;345 function setCollectionLimit(string memory limit, bool value) external;
303346
347 // Get contract address.
348 //
304 // Selector: contractAddress() f6b4dfb4349 // Selector: contractAddress() f6b4dfb4
305 function contractAddress() external view returns (address);350 function contractAddress() external view returns (address);
306351
352 // Add collection admin by substrate address.
353 // @param new_admin Substrate administrator address.
354 //
307 // Selector: addCollectionAdminSubstrate(uint256) 5730062b355 // Selector: addCollectionAdminSubstrate(uint256) 5730062b
308 function addCollectionAdminSubstrate(uint256 newAdmin) external view;356 function addCollectionAdminSubstrate(uint256 newAdmin) external;
309357
358 // Remove collection admin by substrate address.
359 // @param admin Substrate administrator address.
360 //
310 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9361 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9
311 function removeCollectionAdminSubstrate(uint256 newAdmin) external view;362 function removeCollectionAdminSubstrate(uint256 admin) external;
312363
364 // Add collection admin.
365 // @param new_admin Address of the added administrator.
366 //
313 // Selector: addCollectionAdmin(address) 92e462c7367 // Selector: addCollectionAdmin(address) 92e462c7
314 function addCollectionAdmin(address newAdmin) external view;368 function addCollectionAdmin(address newAdmin) external;
315369
370 // Remove collection admin.
371 //
372 // @param new_admin Address of the removed administrator.
373 //
316 // Selector: removeCollectionAdmin(address) fafd7b42374 // Selector: removeCollectionAdmin(address) fafd7b42
317 function removeCollectionAdmin(address admin) external view;375 function removeCollectionAdmin(address admin) external;
318376
377 // 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) 112d4586
320 function setCollectionNesting(bool enable) external;382 function setCollectionNesting(bool enable) external;
321383
384 // 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[]) 64872396
323 function setCollectionNesting(bool enable, address[] memory collections)390 function setCollectionNesting(bool enable, address[] memory collections)
324 external;391 external;
325392
393 // Set the collection access method.
394 // @param mode Access mode
395 // 0 for Normal
396 // 1 for AllowList
397 //
326 // Selector: setCollectionAccess(uint8) 41835d4c398 // Selector: setCollectionAccess(uint8) 41835d4c
327 function setCollectionAccess(uint8 mode) external;399 function setCollectionAccess(uint8 mode) external;
328400
401 // 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) 67844fe6
330 function addToCollectionAllowList(address user) external view;406 function addToCollectionAllowList(address user) external;
331407
408 // 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) 85c51acb
333 function removeFromCollectionAllowList(address user) external view;413 function removeFromCollectionAllowList(address user) external;
334414
415 // Switch permission for minting.
416 //
417 // @param mode Enable if "true".
418 //
335 // Selector: setCollectionMintMode(bool) 00018e84419 // Selector: setCollectionMintMode(bool) 00018e84
336 function setCollectionMintMode(bool mode) external;420 function setCollectionMintMode(bool mode) external;
337}421}
338422
339// Selector: d74d154f423// Selector: d74d154f
340interface 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 NFT
342 // TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE
343 // THEY MAY BE PERMANENTLY LOST
344 // @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 owner
modifiedtests/src/eth/fungibleAbi.jsondiffbeforeafterboth
49 "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" }
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
86 ],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 {
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
276 [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 error
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
187 [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 query
400 [key: string]: QueryableStorageEntry<ApiType>;409 [key: string]: QueryableStorageEntry<ApiType>;
401 };410 };
402 refungible: {411 refungible: {
412 /**
413 * Amount of tokens owned by account
414 **/
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 token
418 **/
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 account
422 **/
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 account
408 **/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 token
430 **/
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 collection
436 **/
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 token
440 **/
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