difftreelog
misc: update stubs
in: master
14 files changed
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -21,20 +21,8 @@
}
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @title Magic contract, which allows users to reconfigure other contracts
/// @dev the ERC-165 identifier for this interface is 0xd77fab70
-=======
-<<<<<<< HEAD
-// Selector: 6073d917
-=======
-// Selector: 06fc42e9
->>>>>>> path: add stubs
->>>>>>> path: add stubs
-=======
-// Selector: 6073d917
->>>>>>> misc: update stubs
contract ContractHelpers is Dummy, ERC165 {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
@@ -56,24 +44,11 @@
return 0x0000000000000000000000000000000000000000;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Set sponsor.
/// @param contractAddress Contract for which a sponsor is being established.
/// @param sponsor User address who set as pending sponsor.
/// @dev EVM selector for this function is: 0xf01fba93,
/// or in textual repr: setSponsor(address,address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Set sponsor.
- //
- // @param contract_address Contract for which a sponsor is being established.
- // @param sponsor User address who set as pending sponsor.
- //
- // Selector: setSponsor(address,address) f01fba93
->>>>>>> path: add stubs
function setSponsor(address contractAddress, address sponsor) public {
require(false, stub_error);
contractAddress;
@@ -81,46 +56,22 @@
dummy = 0;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Set contract as self sponsored.
///
/// @param contractAddress Contract for which a self sponsoring is being enabled.
/// @dev EVM selector for this function is: 0x89f7d9ae,
/// or in textual repr: selfSponsoredEnable(address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Set contract as self sponsored.
- //
- // @param contract_address Contract for which a self sponsoring is being enabled.
- //
- // Selector: selfSponsoredEnable(address) 89f7d9ae
->>>>>>> path: add stubs
function selfSponsoredEnable(address contractAddress) public {
require(false, stub_error);
contractAddress;
dummy = 0;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Remove sponsor.
///
/// @param contractAddress Contract for which a sponsorship is being removed.
/// @dev EVM selector for this function is: 0xef784250,
/// or in textual repr: removeSponsor(address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Remove sponsor.
- //
- // @param contract_address Contract for which a sponsorship is being removed.
- //
- // Selector: removeSponsor(address) ef784250
->>>>>>> path: add stubs
function removeSponsor(address contractAddress) public {
require(false, stub_error);
contractAddress;
@@ -170,25 +121,12 @@
return false;
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Check tat contract has pending sponsor.
///
/// @param contractAddress The contract for which the presence of a pending sponsor is checked.
/// @return **true** if contract has pending sponsor.
/// @dev EVM selector for this function is: 0x39b9b242,
/// or in textual repr: hasPendingSponsor(address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Check tat contract has pending sponsor.
- //
- // @param contract_address The contract for which the presence of a pending sponsor is checked.
- // @return **true** if contract has pending sponsor.
- //
- // Selector: hasPendingSponsor(address) 39b9b242
->>>>>>> path: add stubs
function hasPendingSponsor(address contractAddress)
public
view
pallets/fungible/src/stubs/UniqueFungible.rawdiffbeforeafterbothbinary blob — no preview
pallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth--- a/pallets/fungible/src/stubs/UniqueFungible.sol
+++ b/pallets/fungible/src/stubs/UniqueFungible.sol
@@ -3,17 +3,7 @@
pragma solidity >=0.8.0 <0.9.0;
-<<<<<<< HEAD
/// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
- address field_0;
- uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
contract Dummy {
uint8 dummy;
string stub_error = "this contract is implemented in native";
@@ -31,125 +21,8 @@
}
}
-<<<<<<< HEAD
/// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
-=======
-// Inline
-contract ERC20Events {
- event Transfer(address indexed from, address indexed to, uint256 value);
- event Approval(
- address indexed owner,
- address indexed spender,
- uint256 value
- );
-}
-
-// Selector: 79cc6790
-contract ERC20UniqueExtensions is Dummy, ERC165 {
- // Selector: burnFrom(address,uint256) 79cc6790
- function burnFrom(address from, uint256 amount) public returns (bool) {
- require(false, stub_error);
- from;
- amount;
- dummy = 0;
- return false;
- }
-}
-
-// Selector: 942e8b22
-contract ERC20 is Dummy, ERC165, ERC20Events {
- // Selector: name() 06fdde03
- function name() public view returns (string memory) {
- require(false, stub_error);
- dummy;
- return "";
- }
-
- // Selector: symbol() 95d89b41
- function symbol() public view returns (string memory) {
- require(false, stub_error);
- dummy;
- return "";
- }
-
- // Selector: totalSupply() 18160ddd
- function totalSupply() public view returns (uint256) {
- require(false, stub_error);
- dummy;
- return 0;
- }
-
- // Selector: decimals() 313ce567
- function decimals() public view returns (uint8) {
- require(false, stub_error);
- dummy;
- return 0;
- }
-
- // Selector: balanceOf(address) 70a08231
- function balanceOf(address owner) public view returns (uint256) {
- require(false, stub_error);
- owner;
- dummy;
- return 0;
- }
-
- // Selector: transfer(address,uint256) a9059cbb
- function transfer(address to, uint256 amount) public returns (bool) {
- require(false, stub_error);
- to;
- amount;
- dummy = 0;
- return false;
- }
-
- // Selector: transferFrom(address,address,uint256) 23b872dd
- function transferFrom(
- address from,
- address to,
- uint256 amount
- ) public returns (bool) {
- require(false, stub_error);
- from;
- to;
- amount;
- dummy = 0;
- return false;
- }
-
- // Selector: approve(address,uint256) 095ea7b3
- function approve(address spender, uint256 amount) public returns (bool) {
- require(false, stub_error);
- spender;
- amount;
- dummy = 0;
- return false;
- }
-
- // Selector: allowance(address,address) dd62ed3e
- function allowance(address owner, address spender)
- public
- view
- returns (uint256)
- {
- require(false, stub_error);
- owner;
- spender;
- dummy;
- return 0;
- }
-}
-
-<<<<<<< HEAD
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
contract Collection is Dummy, ERC165 {
/// Set collection property.
///
@@ -209,45 +82,56 @@
dummy = 0;
}
-<<<<<<< HEAD
- /// Collection sponsorship confirmation.
+ /// Set the substrate sponsor of the collection.
+ ///
+ /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
///
- /// @dev After setting the sponsor for the collection, it must be confirmed with this function.
- /// @dev EVM selector for this function is: 0x3c50e97a,
- /// or in textual repr: confirmCollectionSponsorship()
-=======
- // Set the substrate sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsorSubstrate(uint256) c74d6751
+ /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+ /// @dev EVM selector for this function is: 0xc74d6751,
+ /// or in textual repr: setCollectionSponsorSubstrate(uint256)
function setCollectionSponsorSubstrate(uint256 sponsor) public {
require(false, stub_error);
sponsor;
dummy = 0;
}
- // Selector: hasCollectionPendingSponsor() 058ac185
+ /// @dev EVM selector for this function is: 0x058ac185,
+ /// or in textual repr: hasCollectionPendingSponsor()
function hasCollectionPendingSponsor() public view returns (bool) {
require(false, stub_error);
dummy;
return false;
}
- // Collection sponsorship confirmation.
- //
- // @dev After setting the sponsor for the collection, it must be confirmed with this function.
- //
- // Selector: confirmCollectionSponsorship() 3c50e97a
->>>>>>> misk: Update stubs
+ /// Collection sponsorship confirmation.
+ ///
+ /// @dev After setting the sponsor for the collection, it must be confirmed with this function.
+ /// @dev EVM selector for this function is: 0x3c50e97a,
+ /// or in textual repr: confirmCollectionSponsorship()
function confirmCollectionSponsorship() public {
require(false, stub_error);
dummy = 0;
}
-<<<<<<< HEAD
+ /// Remove collection sponsor.
+ /// @dev EVM selector for this function is: 0x6e0326a3,
+ /// or in textual repr: removeCollectionSponsor()
+ function removeCollectionSponsor() public {
+ require(false, stub_error);
+ dummy = 0;
+ }
+
+ /// Get current sponsor.
+ ///
+ /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+ /// @dev EVM selector for this function is: 0xb66bbc14,
+ /// or in textual repr: getCollectionSponsor()
+ function getCollectionSponsor() public view returns (Tuple6 memory) {
+ require(false, stub_error);
+ dummy;
+ return Tuple6(0x0000000000000000000000000000000000000000, 0);
+ }
+
/// Set limits for the collection.
/// @dev Throws error if limit not found.
/// @param limit Name of the limit. Valid names:
@@ -260,39 +144,6 @@
/// @param value Value of the limit.
/// @dev EVM selector for this function is: 0x6a3841db,
/// or in textual repr: setCollectionLimit(string,uint32)
-=======
- // Remove collection sponsor.
- //
- // Selector: removeCollectionSponsor() 6e0326a3
- function removeCollectionSponsor() public {
- require(false, stub_error);
- dummy = 0;
- }
-
- // Get current sponsor.
- //
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getCollectionSponsor() b66bbc14
- function getCollectionSponsor() public view returns (Tuple0 memory) {
- require(false, stub_error);
- dummy;
- return Tuple0(0x0000000000000000000000000000000000000000, 0);
- }
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "accountTokenOwnershipLimit",
- // "sponsoredDataSize",
- // "sponsoredDataRateLimit",
- // "tokenLimit",
- // "sponsorTransferTimeout",
- // "sponsorApproveTimeout"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,uint32) 6a3841db
->>>>>>> misk: Update stubs
function setCollectionLimit(string memory limit, uint32 value) public {
require(false, stub_error);
limit;
@@ -499,6 +350,12 @@
}
}
+/// @dev anonymous struct
+struct Tuple6 {
+ address field_0;
+ uint256 field_1;
+}
+
/// @dev the ERC-165 identifier for this interface is 0x79cc6790
contract ERC20UniqueExtensions is Dummy, ERC165 {
/// @dev EVM selector for this function is: 0x79cc6790,
pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56<<<<<<< HEAD7/// @dev common stubs holder8=======9// Anonymous struct10struct Tuple0 {11 uint256 field_0;12 string field_1;13}1415// Anonymous struct16struct Tuple1 {17 address field_0;18 uint256 field_1;19}2021// Common stubs holder22>>>>>>> misk: Update stubs23contract Dummy {24 uint8 dummy;25 string stub_error = "this contract is implemented in native";26}2728contract ERC165 is Dummy {29 function supportsInterface(bytes4 interfaceID)30 external31 view32 returns (bool)33 {34 require(false, stub_error);35 interfaceID;36 return true;37 }38}3940/// @title A contract that allows to set and delete token properties and change token property permissions.41/// @dev the ERC-165 identifier for this interface is 0x4136937742contract TokenProperties is Dummy, ERC165 {43 /// @notice Set permissions for token property.44 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.45 /// @param key Property key.46 /// @param isMutable Permission to mutate property.47 /// @param collectionAdmin Permission to mutate property by collection admin if property is mutable.48 /// @param tokenOwner Permission to mutate property by token owner if property is mutable.49 /// @dev EVM selector for this function is: 0x222d97fa,50 /// or in textual repr: setTokenPropertyPermission(string,bool,bool,bool)51 function setTokenPropertyPermission(52 string memory key,53 bool isMutable,54 bool collectionAdmin,55 bool tokenOwner56 ) public {57 require(false, stub_error);58 key;59 isMutable;60 collectionAdmin;61 tokenOwner;62 dummy = 0;63 }6465 /// @notice Set token property value.66 /// @dev Throws error if `msg.sender` has no permission to edit the property.67 /// @param tokenId ID of the token.68 /// @param key Property key.69 /// @param value Property value.70 /// @dev EVM selector for this function is: 0x1752d67b,71 /// or in textual repr: setProperty(uint256,string,bytes)72 function setProperty(73 uint256 tokenId,74 string memory key,75 bytes memory value76 ) public {77 require(false, stub_error);78 tokenId;79 key;80 value;81 dummy = 0;82 }8384 /// @notice Delete token property value.85 /// @dev Throws error if `msg.sender` has no permission to edit the property.86 /// @param tokenId ID of the token.87 /// @param key Property key.88 /// @dev EVM selector for this function is: 0x066111d1,89 /// or in textual repr: deleteProperty(uint256,string)90 function deleteProperty(uint256 tokenId, string memory key) public {91 require(false, stub_error);92 tokenId;93 key;94 dummy = 0;95 }9697 /// @notice Get token property value.98 /// @dev Throws error if key not found99 /// @param tokenId ID of the token.100 /// @param key Property key.101 /// @return Property value bytes102 /// @dev EVM selector for this function is: 0x7228c327,103 /// or in textual repr: property(uint256,string)104 function property(uint256 tokenId, string memory key)105 public106 view107 returns (bytes memory)108 {109 require(false, stub_error);110 tokenId;111 key;112 dummy;113 return hex"";114 }115}116117/// @title A contract that allows you to work with collections.118/// @dev the ERC-165 identifier for this interface is 0xffe4da23119contract Collection is Dummy, ERC165 {120 /// Set collection property.121 ///122 /// @param key Property key.123 /// @param value Propery value.124 /// @dev EVM selector for this function is: 0x2f073f66,125 /// or in textual repr: setCollectionProperty(string,bytes)126 function setCollectionProperty(string memory key, bytes memory value)127 public128 {129 require(false, stub_error);130 key;131 value;132 dummy = 0;133 }134135 /// Delete collection property.136 ///137 /// @param key Property key.138 /// @dev EVM selector for this function is: 0x7b7debce,139 /// or in textual repr: deleteCollectionProperty(string)140 function deleteCollectionProperty(string memory key) public {141 require(false, stub_error);142 key;143 dummy = 0;144 }145146 /// Get collection property.147 ///148 /// @dev Throws error if key not found.149 ///150 /// @param key Property key.151 /// @return bytes The property corresponding to the key.152 /// @dev EVM selector for this function is: 0xcf24fd6d,153 /// or in textual repr: collectionProperty(string)154 function collectionProperty(string memory key)155 public156 view157 returns (bytes memory)158 {159 require(false, stub_error);160 key;161 dummy;162 return hex"";163 }164165 /// Set the sponsor of the collection.166 ///167 /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.168 ///169 /// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.170 /// @dev EVM selector for this function is: 0x7623402e,171 /// or in textual repr: setCollectionSponsor(address)172 function setCollectionSponsor(address sponsor) public {173 require(false, stub_error);174 sponsor;175 dummy = 0;176 }177178 /// Collection sponsorship confirmation.179 ///180 /// @dev After setting the sponsor for the collection, it must be confirmed with this function.181 /// @dev EVM selector for this function is: 0x3c50e97a,182 /// or in textual repr: confirmCollectionSponsorship()183 function confirmCollectionSponsorship() public {184 require(false, stub_error);185 dummy = 0;186 }187188 /// Set limits for the collection.189 /// @dev Throws error if limit not found.190 /// @param limit Name of the limit. Valid names:191 /// "accountTokenOwnershipLimit",192 /// "sponsoredDataSize",193 /// "sponsoredDataRateLimit",194 /// "tokenLimit",195 /// "sponsorTransferTimeout",196 /// "sponsorApproveTimeout"197 /// @param value Value of the limit.198 /// @dev EVM selector for this function is: 0x6a3841db,199 /// or in textual repr: setCollectionLimit(string,uint32)200 function setCollectionLimit(string memory limit, uint32 value) public {201 require(false, stub_error);202 limit;203 value;204 dummy = 0;205 }206207 /// Set limits for the collection.208 /// @dev Throws error if limit not found.209 /// @param limit Name of the limit. Valid names:210 /// "ownerCanTransfer",211 /// "ownerCanDestroy",212 /// "transfersEnabled"213 /// @param value Value of the limit.214 /// @dev EVM selector for this function is: 0x993b7fba,215 /// or in textual repr: setCollectionLimit(string,bool)216 function setCollectionLimit(string memory limit, bool value) public {217 require(false, stub_error);218 limit;219 value;220 dummy = 0;221 }222223 /// Get contract address.224 /// @dev EVM selector for this function is: 0xf6b4dfb4,225 /// or in textual repr: contractAddress()226 function contractAddress() public view returns (address) {227 require(false, stub_error);228 dummy;229 return 0x0000000000000000000000000000000000000000;230 }231232 /// Add collection admin by substrate address.233 /// @param newAdmin Substrate administrator address.234 /// @dev EVM selector for this function is: 0x5730062b,235 /// or in textual repr: addCollectionAdminSubstrate(uint256)236 function addCollectionAdminSubstrate(uint256 newAdmin) public {237 require(false, stub_error);238 newAdmin;239 dummy = 0;240 }241242 /// Remove collection admin by substrate address.243 /// @param admin Substrate administrator address.244 /// @dev EVM selector for this function is: 0x4048fcf9,245 /// or in textual repr: removeCollectionAdminSubstrate(uint256)246 function removeCollectionAdminSubstrate(uint256 admin) public {247 require(false, stub_error);248 admin;249 dummy = 0;250 }251252 /// Add collection admin.253 /// @param newAdmin Address of the added administrator.254 /// @dev EVM selector for this function is: 0x92e462c7,255 /// or in textual repr: addCollectionAdmin(address)256 function addCollectionAdmin(address newAdmin) public {257 require(false, stub_error);258 newAdmin;259 dummy = 0;260 }261262 /// Remove collection admin.263 ///264 /// @param admin Address of the removed administrator.265 /// @dev EVM selector for this function is: 0xfafd7b42,266 /// or in textual repr: removeCollectionAdmin(address)267 function removeCollectionAdmin(address admin) public {268 require(false, stub_error);269 admin;270 dummy = 0;271 }272273 /// Toggle accessibility of collection nesting.274 ///275 /// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'276 /// @dev EVM selector for this function is: 0x112d4586,277 /// or in textual repr: setCollectionNesting(bool)278 function setCollectionNesting(bool enable) public {279 require(false, stub_error);280 enable;281 dummy = 0;282 }283284 /// Toggle accessibility of collection nesting.285 ///286 /// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'287 /// @param collections Addresses of collections that will be available for nesting.288 /// @dev EVM selector for this function is: 0x64872396,289 /// or in textual repr: setCollectionNesting(bool,address[])290 function setCollectionNesting(bool enable, address[] memory collections)291 public292 {293 require(false, stub_error);294 enable;295 collections;296 dummy = 0;297 }298299 /// Set the collection access method.300 /// @param mode Access mode301 /// 0 for Normal302 /// 1 for AllowList303 /// @dev EVM selector for this function is: 0x41835d4c,304 /// or in textual repr: setCollectionAccess(uint8)305 function setCollectionAccess(uint8 mode) public {306 require(false, stub_error);307 mode;308 dummy = 0;309 }310311 /// Add the user to the allowed list.312 ///313 /// @param user Address of a trusted user.314 /// @dev EVM selector for this function is: 0x67844fe6,315 /// or in textual repr: addToCollectionAllowList(address)316 function addToCollectionAllowList(address user) public {317 require(false, stub_error);318 user;319 dummy = 0;320 }321322 /// Remove the user from the allowed list.323 ///324 /// @param user Address of a removed user.325 /// @dev EVM selector for this function is: 0x85c51acb,326 /// or in textual repr: removeFromCollectionAllowList(address)327 function removeFromCollectionAllowList(address user) public {328 require(false, stub_error);329 user;330 dummy = 0;331 }332333 /// Switch permission for minting.334 ///335 /// @param mode Enable if "true".336 /// @dev EVM selector for this function is: 0x00018e84,337 /// or in textual repr: setCollectionMintMode(bool)338 function setCollectionMintMode(bool mode) public {339 require(false, stub_error);340 mode;341 dummy = 0;342 }343344 /// Check that account is the owner or admin of the collection345 ///346 /// @param user account to verify347 /// @return "true" if account is the owner or admin348 /// @dev EVM selector for this function is: 0x9811b0c7,349 /// or in textual repr: isOwnerOrAdmin(address)350 function isOwnerOrAdmin(address user) public view returns (bool) {351 require(false, stub_error);352 user;353 dummy;354 return false;355 }356357 /// Check that substrate account is the owner or admin of the collection358 ///359 /// @param user account to verify360 /// @return "true" if account is the owner or admin361 /// @dev EVM selector for this function is: 0x68910e00,362 /// or in textual repr: isOwnerOrAdminSubstrate(uint256)363 function isOwnerOrAdminSubstrate(uint256 user) public view returns (bool) {364 require(false, stub_error);365 user;366 dummy;367 return false;368 }369370 /// Returns collection type371 ///372 /// @return `Fungible` or `NFT` or `ReFungible`373 /// @dev EVM selector for this function is: 0xd34b55b8,374 /// or in textual repr: uniqueCollectionType()375 function uniqueCollectionType() public returns (string memory) {376 require(false, stub_error);377 dummy = 0;378 return "";379 }380381 /// Changes collection owner to another account382 ///383 /// @dev Owner can be changed only by current owner384 /// @param newOwner new owner account385 /// @dev EVM selector for this function is: 0x13af4035,386 /// or in textual repr: setOwner(address)387 function setOwner(address newOwner) public {388 require(false, stub_error);389 newOwner;390 dummy = 0;391 }392393 /// Changes collection owner to another substrate account394 ///395 /// @dev Owner can be changed only by current owner396 /// @param newOwner new owner substrate account397 /// @dev EVM selector for this function is: 0xb212138f,398 /// or in textual repr: setOwnerSubstrate(uint256)399 function setOwnerSubstrate(uint256 newOwner) public {400 require(false, stub_error);401 newOwner;402 dummy = 0;403 }404}405406/// @title ERC721 Token that can be irreversibly burned (destroyed).407/// @dev the ERC-165 identifier for this interface is 0x42966c68408contract ERC721Burnable is Dummy, ERC165 {409 /// @notice Burns a specific ERC721 token.410 /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized411 /// operator of the current owner.412 /// @param tokenId The NFT to approve413 /// @dev EVM selector for this function is: 0x42966c68,414 /// or in textual repr: burn(uint256)415 function burn(uint256 tokenId) public {416 require(false, stub_error);417 tokenId;418 dummy = 0;419 }420}421422/// @dev inlined interface423contract ERC721MintableEvents {424 event MintingFinished();425}426427/// @title ERC721 minting logic.428/// @dev the ERC-165 identifier for this interface is 0x68ccfe89429contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {430 /// @dev EVM selector for this function is: 0x05d2035b,431 /// or in textual repr: mintingFinished()432 function mintingFinished() public view returns (bool) {433 require(false, stub_error);434 dummy;435 return false;436 }437438 /// @notice Function to mint token.439 /// @dev `tokenId` should be obtained with `nextTokenId` method,440 /// unlike standard, you can't specify it manually441 /// @param to The new owner442 /// @param tokenId ID of the minted NFT443 /// @dev EVM selector for this function is: 0x40c10f19,444 /// or in textual repr: mint(address,uint256)445 function mint(address to, uint256 tokenId) public returns (bool) {446 require(false, stub_error);447 to;448 tokenId;449 dummy = 0;450 return false;451 }452453 /// @notice Function to mint token with the given tokenUri.454 /// @dev `tokenId` should be obtained with `nextTokenId` method,455 /// unlike standard, you can't specify it manually456 /// @param to The new owner457 /// @param tokenId ID of the minted NFT458 /// @param tokenUri Token URI that would be stored in the NFT properties459 /// @dev EVM selector for this function is: 0x50bb4e7f,460 /// or in textual repr: mintWithTokenURI(address,uint256,string)461 function mintWithTokenURI(462 address to,463 uint256 tokenId,464 string memory tokenUri465 ) public returns (bool) {466 require(false, stub_error);467 to;468 tokenId;469 tokenUri;470 dummy = 0;471 return false;472 }473474 /// @dev Not implemented475 /// @dev EVM selector for this function is: 0x7d64bcb4,476 /// or in textual repr: finishMinting()477 function finishMinting() public returns (bool) {478 require(false, stub_error);479 dummy = 0;480 return false;481 }482}483484<<<<<<< HEAD485<<<<<<< HEAD486/// @title Unique extensions for ERC721.487/// @dev the ERC-165 identifier for this interface is 0xd74d154f488=======489<<<<<<< HEAD490=======491>>>>>>> misc: update stubs492// Selector: 780e9d63493contract ERC721Enumerable is Dummy, ERC165 {494 // @notice Enumerate valid NFTs495 // @param index A counter less than `totalSupply()`496 // @return The token identifier for the `index`th NFT,497 // (sort order not specified)498 //499 // Selector: tokenByIndex(uint256) 4f6ccce7500 function tokenByIndex(uint256 index) public view returns (uint256) {501 require(false, stub_error);502 index;503 dummy;504 return 0;505 }506507 // @dev Not implemented508 //509 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59510 function tokenOfOwnerByIndex(address owner, uint256 index)511 public512 view513 returns (uint256)514 {515 require(false, stub_error);516 owner;517 index;518 dummy;519 return 0;520 }521522 // @notice Count NFTs tracked by this contract523 // @return A count of valid NFTs tracked by this contract, where each one of524 // them has an assigned and queryable owner not equal to the zero address525 //526 // Selector: totalSupply() 18160ddd527 function totalSupply() public view returns (uint256) {528 require(false, stub_error);529 dummy;530 return 0;531 }532}533534// Selector: d74d154f535>>>>>>> misk: Update stubs536contract ERC721UniqueExtensions is Dummy, ERC165 {537 /// @notice Transfer ownership of an NFT538 /// @dev Throws unless `msg.sender` is the current owner. Throws if `to`539 /// is the zero address. Throws if `tokenId` is not a valid NFT.540 /// @param to The new owner541 /// @param tokenId The NFT to transfer542 /// @dev EVM selector for this function is: 0xa9059cbb,543 /// or in textual repr: transfer(address,uint256)544 function transfer(address to, uint256 tokenId) public {545 require(false, stub_error);546 to;547 tokenId;548 dummy = 0;549 }550551 /// @notice Burns a specific ERC721 token.552 /// @dev Throws unless `msg.sender` is the current owner or an authorized553 /// operator for this NFT. Throws if `from` is not the current owner. Throws554 /// if `to` is the zero address. Throws if `tokenId` is not a valid NFT.555 /// @param from The current owner of the NFT556 /// @param tokenId The NFT to transfer557 /// @dev EVM selector for this function is: 0x79cc6790,558 /// or in textual repr: burnFrom(address,uint256)559 function burnFrom(address from, uint256 tokenId) public {560 require(false, stub_error);561 from;562 tokenId;563 dummy = 0;564 }565566 /// @notice Returns next free NFT ID.567 /// @dev EVM selector for this function is: 0x75794a3c,568 /// or in textual repr: nextTokenId()569 function nextTokenId() public view returns (uint256) {570 require(false, stub_error);571 dummy;572 return 0;573 }574575 /// @notice Function to mint multiple tokens.576 /// @dev `tokenIds` should be an array of consecutive numbers and first number577 /// should be obtained with `nextTokenId` method578 /// @param to The new owner579 /// @param tokenIds IDs of the minted NFTs580 /// @dev EVM selector for this function is: 0x44a9945e,581 /// or in textual repr: mintBulk(address,uint256[])582 function mintBulk(address to, uint256[] memory tokenIds)583 public584 returns (bool)585 {586 require(false, stub_error);587 to;588 tokenIds;589 dummy = 0;590 return false;591 }592593 /// @notice Function to mint multiple tokens with the given tokenUris.594 /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive595 /// numbers and first number should be obtained with `nextTokenId` method596 /// @param to The new owner597 /// @param tokens array of pairs of token ID and token URI for minted tokens598 /// @dev EVM selector for this function is: 0x36543006,599 /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])600 function mintBulkWithTokenURI(address to, Tuple8[] memory tokens)601 public602 returns (bool)603 {604 require(false, stub_error);605 to;606 tokens;607 dummy = 0;608 return false;609 }610}611612<<<<<<< HEAD613<<<<<<< HEAD614/// @dev anonymous struct615struct Tuple8 {616 uint256 field_0;617 string field_1;618}619=======620// Selector: ffe4da23621=======622// Selector: 765e2fae623>>>>>>> misk: Update stubs624=======625// Selector: e54be640626>>>>>>> misc: update stubs627contract Collection is Dummy, ERC165 {628 // Set collection property.629 //630 // @param key Property key.631 // @param value Propery value.632 //633 // Selector: setCollectionProperty(string,bytes) 2f073f66634 function setCollectionProperty(string memory key, bytes memory value)635 public636 {637 require(false, stub_error);638 key;639 value;640 dummy = 0;641 }642>>>>>>> misk: Update stubs643644/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension645/// @dev See https://eips.ethereum.org/EIPS/eip-721646/// @dev the ERC-165 identifier for this interface is 0x780e9d63647contract ERC721Enumerable is Dummy, ERC165 {648 /// @notice Enumerate valid NFTs649 /// @param index A counter less than `totalSupply()`650 /// @return The token identifier for the `index`th NFT,651 /// (sort order not specified)652 /// @dev EVM selector for this function is: 0x4f6ccce7,653 /// or in textual repr: tokenByIndex(uint256)654 function tokenByIndex(uint256 index) public view returns (uint256) {655 require(false, stub_error);656 index;657 dummy;658 return 0;659 }660661 /// @dev Not implemented662 /// @dev EVM selector for this function is: 0x2f745c59,663 /// or in textual repr: tokenOfOwnerByIndex(address,uint256)664 function tokenOfOwnerByIndex(address owner, uint256 index)665 public666 view667 returns (uint256)668 {669 require(false, stub_error);670 owner;671 index;672 dummy;673<<<<<<< HEAD674 return 0;675=======676 return hex"";677 }678679 // Set the sponsor of the collection.680 //681 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.682 //683 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.684 //685 // Selector: setCollectionSponsor(address) 7623402e686 function setCollectionSponsor(address sponsor) public {687 require(false, stub_error);688 sponsor;689 dummy = 0;690 }691692 // Set the substrate sponsor of the collection.693 //694 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.695 //696 // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.697 //698 // Selector: setCollectionSponsorSubstrate(uint256) c74d6751699 function setCollectionSponsorSubstrate(uint256 sponsor) public {700 require(false, stub_error);701 sponsor;702 dummy = 0;703 }704705 // Selector: hasCollectionPendingSponsor() 058ac185706 function hasCollectionPendingSponsor() public view returns (bool) {707 require(false, stub_error);708 dummy;709 return false;710 }711712 // Collection sponsorship confirmation.713 //714 // @dev After setting the sponsor for the collection, it must be confirmed with this function.715 //716 // Selector: confirmCollectionSponsorship() 3c50e97a717 function confirmCollectionSponsorship() public {718 require(false, stub_error);719 dummy = 0;720 }721722 // Remove collection sponsor.723 //724 // Selector: removeCollectionSponsor() 6e0326a3725 function removeCollectionSponsor() public {726 require(false, stub_error);727 dummy = 0;728 }729730 // Get current sponsor.731 //732 // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.733 //734 // Selector: getCollectionSponsor() b66bbc14735 function getCollectionSponsor() public view returns (Tuple1 memory) {736 require(false, stub_error);737 dummy;738 return Tuple1(0x0000000000000000000000000000000000000000, 0);739 }740741 // Set limits for the collection.742 // @dev Throws error if limit not found.743 // @param limit Name of the limit. Valid names:744 // "accountTokenOwnershipLimit",745 // "sponsoredDataSize",746 // "sponsoredDataRateLimit",747 // "tokenLimit",748 // "sponsorTransferTimeout",749 // "sponsorApproveTimeout"750 // @param value Value of the limit.751 //752 // Selector: setCollectionLimit(string,uint32) 6a3841db753 function setCollectionLimit(string memory limit, uint32 value) public {754 require(false, stub_error);755 limit;756 value;757 dummy = 0;758>>>>>>> misk: Update stubs759 }760761 /// @notice Count NFTs tracked by this contract762 /// @return A count of valid NFTs tracked by this contract, where each one of763 /// them has an assigned and queryable owner not equal to the zero address764 /// @dev EVM selector for this function is: 0x18160ddd,765 /// or in textual repr: totalSupply()766 function totalSupply() public view returns (uint256) {767 require(false, stub_error);768 dummy;769 return 0;770 }771}772773/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension774/// @dev See https://eips.ethereum.org/EIPS/eip-721775/// @dev the ERC-165 identifier for this interface is 0x5b5e139f776contract ERC721Metadata is Dummy, ERC165 {777 /// @notice A descriptive name for a collection of NFTs in this contract778 /// @dev EVM selector for this function is: 0x06fdde03,779 /// or in textual repr: name()780 function name() public view returns (string memory) {781 require(false, stub_error);782 dummy;783 return "";784 }785786 /// @notice An abbreviated name for NFTs in this contract787 /// @dev EVM selector for this function is: 0x95d89b41,788 /// or in textual repr: symbol()789 function symbol() public view returns (string memory) {790 require(false, stub_error);791 dummy;792 return "";793 }794795 /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.796 ///797 /// @dev If the token has a `url` property and it is not empty, it is returned.798 /// Else If the collection does not have a property with key `schemaName` or its value is not equal to `ERC721Metadata`, it return an error `tokenURI not set`.799 /// If the collection property `baseURI` is empty or absent, return "" (empty string)800 /// otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix801 /// otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).802 ///803 /// @return token's const_metadata804 /// @dev EVM selector for this function is: 0xc87b56dd,805 /// or in textual repr: tokenURI(uint256)806 function tokenURI(uint256 tokenId) public view returns (string memory) {807 require(false, stub_error);808 tokenId;809 dummy;810 return "";811 }812}813814/// @dev inlined interface815contract ERC721Events {816 event Transfer(817 address indexed from,818 address indexed to,819 uint256 indexed tokenId820 );821 event Approval(822 address indexed owner,823 address indexed approved,824 uint256 indexed tokenId825 );826 event ApprovalForAll(827 address indexed owner,828 address indexed operator,829 bool approved830 );831}832833/// @title ERC-721 Non-Fungible Token Standard834/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md835/// @dev the ERC-165 identifier for this interface is 0x80ac58cd836contract ERC721 is Dummy, ERC165, ERC721Events {837 /// @notice Count all NFTs assigned to an owner838 /// @dev NFTs assigned to the zero address are considered invalid, and this839 /// function throws for queries about the zero address.840 /// @param owner An address for whom to query the balance841 /// @return The number of NFTs owned by `owner`, possibly zero842 /// @dev EVM selector for this function is: 0x70a08231,843 /// or in textual repr: balanceOf(address)844 function balanceOf(address owner) public view returns (uint256) {845 require(false, stub_error);846 owner;847 dummy;848 return 0;849 }850851 /// @notice Find the owner of an NFT852 /// @dev NFTs assigned to zero address are considered invalid, and queries853 /// about them do throw.854 /// @param tokenId The identifier for an NFT855 /// @return The address of the owner of the NFT856 /// @dev EVM selector for this function is: 0x6352211e,857 /// or in textual repr: ownerOf(uint256)858 function ownerOf(uint256 tokenId) public view returns (address) {859 require(false, stub_error);860 tokenId;861 dummy;862 return 0x0000000000000000000000000000000000000000;863 }864865 /// @dev Not implemented866 /// @dev EVM selector for this function is: 0xb88d4fde,867 /// or in textual repr: safeTransferFrom(address,address,uint256,bytes)868 function safeTransferFrom(869 address from,870 address to,871 uint256 tokenId,872 bytes memory data873 ) public {874 require(false, stub_error);875 from;876 to;877 tokenId;878 data;879 dummy = 0;880 }881882 /// @dev Not implemented883 /// @dev EVM selector for this function is: 0x42842e0e,884 /// or in textual repr: safeTransferFrom(address,address,uint256)885 function safeTransferFrom(886 address from,887 address to,888 uint256 tokenId889 ) public {890 require(false, stub_error);891 from;892 to;893 tokenId;894 dummy = 0;895 }896897 /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE898 /// TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE899 /// THEY MAY BE PERMANENTLY LOST900 /// @dev Throws unless `msg.sender` is the current owner or an authorized901 /// operator for this NFT. Throws if `from` is not the current owner. Throws902 /// if `to` is the zero address. Throws if `tokenId` is not a valid NFT.903 /// @param from The current owner of the NFT904 /// @param to The new owner905 /// @param tokenId The NFT to transfer906 /// @dev EVM selector for this function is: 0x23b872dd,907 /// or in textual repr: transferFrom(address,address,uint256)908 function transferFrom(909 address from,910 address to,911 uint256 tokenId912 ) public {913 require(false, stub_error);914 from;915 to;916 tokenId;917 dummy = 0;918 }919920 /// @notice Set or reaffirm the approved address for an NFT921 /// @dev The zero address indicates there is no approved address.922 /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized923 /// operator of the current owner.924 /// @param approved The new approved NFT controller925 /// @param tokenId The NFT to approve926 /// @dev EVM selector for this function is: 0x095ea7b3,927 /// or in textual repr: approve(address,uint256)928 function approve(address approved, uint256 tokenId) public {929 require(false, stub_error);930 approved;931 tokenId;932 dummy = 0;933 }934935 /// @dev Not implemented936 /// @dev EVM selector for this function is: 0xa22cb465,937 /// or in textual repr: setApprovalForAll(address,bool)938 function setApprovalForAll(address operator, bool approved) public {939 require(false, stub_error);940 operator;941 approved;942 dummy = 0;943 }944945 /// @dev Not implemented946 /// @dev EVM selector for this function is: 0x081812fc,947 /// or in textual repr: getApproved(uint256)948 function getApproved(uint256 tokenId) public view returns (address) {949 require(false, stub_error);950 tokenId;951 dummy;952 return 0x0000000000000000000000000000000000000000;953 }954955 /// @dev Not implemented956 /// @dev EVM selector for this function is: 0xe985e9c5,957 /// or in textual repr: isApprovedForAll(address,address)958 function isApprovedForAll(address owner, address operator)959 public960 view961 returns (address)962 {963 require(false, stub_error);964 owner;965 operator;966 dummy;967 return 0x0000000000000000000000000000000000000000;968 }969}970971contract UniqueNFT is972 Dummy,973 ERC165,974 ERC721,975 ERC721Metadata,976 ERC721Enumerable,977 ERC721UniqueExtensions,978 ERC721Mintable,979 ERC721Burnable,980 Collection,981 TokenProperties982{}1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56/// @dev common stubs holder7contract Dummy {8 uint8 dummy;9 string stub_error = "this contract is implemented in native";10}1112contract ERC165 is Dummy {13 function supportsInterface(bytes4 interfaceID)14 external15 view16 returns (bool)17 {18 require(false, stub_error);19 interfaceID;20 return true;21 }22}2324/// @title A contract that allows to set and delete token properties and change token property permissions.25/// @dev the ERC-165 identifier for this interface is 0x4136937726contract TokenProperties is Dummy, ERC165 {27 /// @notice Set permissions for token property.28 /// @dev Throws error if `msg.sender` is not admin or owner of the collection.29 /// @param key Property key.30 /// @param isMutable Permission to mutate property.31 /// @param collectionAdmin Permission to mutate property by collection admin if property is mutable.32 /// @param tokenOwner Permission to mutate property by token owner if property is mutable.33 /// @dev EVM selector for this function is: 0x222d97fa,34 /// or in textual repr: setTokenPropertyPermission(string,bool,bool,bool)35 function setTokenPropertyPermission(36 string memory key,37 bool isMutable,38 bool collectionAdmin,39 bool tokenOwner40 ) public {41 require(false, stub_error);42 key;43 isMutable;44 collectionAdmin;45 tokenOwner;46 dummy = 0;47 }4849 /// @notice Set token property value.50 /// @dev Throws error if `msg.sender` has no permission to edit the property.51 /// @param tokenId ID of the token.52 /// @param key Property key.53 /// @param value Property value.54 /// @dev EVM selector for this function is: 0x1752d67b,55 /// or in textual repr: setProperty(uint256,string,bytes)56 function setProperty(57 uint256 tokenId,58 string memory key,59 bytes memory value60 ) public {61 require(false, stub_error);62 tokenId;63 key;64 value;65 dummy = 0;66 }6768 /// @notice Delete token property value.69 /// @dev Throws error if `msg.sender` has no permission to edit the property.70 /// @param tokenId ID of the token.71 /// @param key Property key.72 /// @dev EVM selector for this function is: 0x066111d1,73 /// or in textual repr: deleteProperty(uint256,string)74 function deleteProperty(uint256 tokenId, string memory key) public {75 require(false, stub_error);76 tokenId;77 key;78 dummy = 0;79 }8081 /// @notice Get token property value.82 /// @dev Throws error if key not found83 /// @param tokenId ID of the token.84 /// @param key Property key.85 /// @return Property value bytes86 /// @dev EVM selector for this function is: 0x7228c327,87 /// or in textual repr: property(uint256,string)88 function property(uint256 tokenId, string memory key)89 public90 view91 returns (bytes memory)92 {93 require(false, stub_error);94 tokenId;95 key;96 dummy;97 return hex"";98 }99}100101/// @title A contract that allows you to work with collections.102/// @dev the ERC-165 identifier for this interface is 0xe54be640103contract Collection is Dummy, ERC165 {104 /// Set collection property.105 ///106 /// @param key Property key.107 /// @param value Propery value.108 /// @dev EVM selector for this function is: 0x2f073f66,109 /// or in textual repr: setCollectionProperty(string,bytes)110 function setCollectionProperty(string memory key, bytes memory value)111 public112 {113 require(false, stub_error);114 key;115 value;116 dummy = 0;117 }118119 /// Delete collection property.120 ///121 /// @param key Property key.122 /// @dev EVM selector for this function is: 0x7b7debce,123 /// or in textual repr: deleteCollectionProperty(string)124 function deleteCollectionProperty(string memory key) public {125 require(false, stub_error);126 key;127 dummy = 0;128 }129130 /// Get collection property.131 ///132 /// @dev Throws error if key not found.133 ///134 /// @param key Property key.135 /// @return bytes The property corresponding to the key.136 /// @dev EVM selector for this function is: 0xcf24fd6d,137 /// or in textual repr: collectionProperty(string)138 function collectionProperty(string memory key)139 public140 view141 returns (bytes memory)142 {143 require(false, stub_error);144 key;145 dummy;146 return hex"";147 }148149 /// Set the sponsor of the collection.150 ///151 /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.152 ///153 /// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.154 /// @dev EVM selector for this function is: 0x7623402e,155 /// or in textual repr: setCollectionSponsor(address)156 function setCollectionSponsor(address sponsor) public {157 require(false, stub_error);158 sponsor;159 dummy = 0;160 }161162 /// Set the substrate sponsor of the collection.163 ///164 /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.165 ///166 /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.167 /// @dev EVM selector for this function is: 0xc74d6751,168 /// or in textual repr: setCollectionSponsorSubstrate(uint256)169 function setCollectionSponsorSubstrate(uint256 sponsor) public {170 require(false, stub_error);171 sponsor;172 dummy = 0;173 }174175 /// @dev EVM selector for this function is: 0x058ac185,176 /// or in textual repr: hasCollectionPendingSponsor()177 function hasCollectionPendingSponsor() public view returns (bool) {178 require(false, stub_error);179 dummy;180 return false;181 }182183 /// Collection sponsorship confirmation.184 ///185 /// @dev After setting the sponsor for the collection, it must be confirmed with this function.186 /// @dev EVM selector for this function is: 0x3c50e97a,187 /// or in textual repr: confirmCollectionSponsorship()188 function confirmCollectionSponsorship() public {189 require(false, stub_error);190 dummy = 0;191 }192193 /// Remove collection sponsor.194 /// @dev EVM selector for this function is: 0x6e0326a3,195 /// or in textual repr: removeCollectionSponsor()196 function removeCollectionSponsor() public {197 require(false, stub_error);198 dummy = 0;199 }200201 /// Get current sponsor.202 ///203 /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.204 /// @dev EVM selector for this function is: 0xb66bbc14,205 /// or in textual repr: getCollectionSponsor()206 function getCollectionSponsor() public view returns (Tuple17 memory) {207 require(false, stub_error);208 dummy;209 return Tuple17(0x0000000000000000000000000000000000000000, 0);210 }211212 /// Set limits for the collection.213 /// @dev Throws error if limit not found.214 /// @param limit Name of the limit. Valid names:215 /// "accountTokenOwnershipLimit",216 /// "sponsoredDataSize",217 /// "sponsoredDataRateLimit",218 /// "tokenLimit",219 /// "sponsorTransferTimeout",220 /// "sponsorApproveTimeout"221 /// @param value Value of the limit.222 /// @dev EVM selector for this function is: 0x6a3841db,223 /// or in textual repr: setCollectionLimit(string,uint32)224 function setCollectionLimit(string memory limit, uint32 value) public {225 require(false, stub_error);226 limit;227 value;228 dummy = 0;229 }230231 /// Set limits for the collection.232 /// @dev Throws error if limit not found.233 /// @param limit Name of the limit. Valid names:234 /// "ownerCanTransfer",235 /// "ownerCanDestroy",236 /// "transfersEnabled"237 /// @param value Value of the limit.238 /// @dev EVM selector for this function is: 0x993b7fba,239 /// or in textual repr: setCollectionLimit(string,bool)240 function setCollectionLimit(string memory limit, bool value) public {241 require(false, stub_error);242 limit;243 value;244 dummy = 0;245 }246247 /// Get contract address.248 /// @dev EVM selector for this function is: 0xf6b4dfb4,249 /// or in textual repr: contractAddress()250 function contractAddress() public view returns (address) {251 require(false, stub_error);252 dummy;253 return 0x0000000000000000000000000000000000000000;254 }255256 /// Add collection admin by substrate address.257 /// @param newAdmin Substrate administrator address.258 /// @dev EVM selector for this function is: 0x5730062b,259 /// or in textual repr: addCollectionAdminSubstrate(uint256)260 function addCollectionAdminSubstrate(uint256 newAdmin) public {261 require(false, stub_error);262 newAdmin;263 dummy = 0;264 }265266 /// Remove collection admin by substrate address.267 /// @param admin Substrate administrator address.268 /// @dev EVM selector for this function is: 0x4048fcf9,269 /// or in textual repr: removeCollectionAdminSubstrate(uint256)270 function removeCollectionAdminSubstrate(uint256 admin) public {271 require(false, stub_error);272 admin;273 dummy = 0;274 }275276 /// Add collection admin.277 /// @param newAdmin Address of the added administrator.278 /// @dev EVM selector for this function is: 0x92e462c7,279 /// or in textual repr: addCollectionAdmin(address)280 function addCollectionAdmin(address newAdmin) public {281 require(false, stub_error);282 newAdmin;283 dummy = 0;284 }285286 /// Remove collection admin.287 ///288 /// @param admin Address of the removed administrator.289 /// @dev EVM selector for this function is: 0xfafd7b42,290 /// or in textual repr: removeCollectionAdmin(address)291 function removeCollectionAdmin(address admin) public {292 require(false, stub_error);293 admin;294 dummy = 0;295 }296297 /// Toggle accessibility of collection nesting.298 ///299 /// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'300 /// @dev EVM selector for this function is: 0x112d4586,301 /// or in textual repr: setCollectionNesting(bool)302 function setCollectionNesting(bool enable) public {303 require(false, stub_error);304 enable;305 dummy = 0;306 }307308 /// Toggle accessibility of collection nesting.309 ///310 /// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'311 /// @param collections Addresses of collections that will be available for nesting.312 /// @dev EVM selector for this function is: 0x64872396,313 /// or in textual repr: setCollectionNesting(bool,address[])314 function setCollectionNesting(bool enable, address[] memory collections)315 public316 {317 require(false, stub_error);318 enable;319 collections;320 dummy = 0;321 }322323 /// Set the collection access method.324 /// @param mode Access mode325 /// 0 for Normal326 /// 1 for AllowList327 /// @dev EVM selector for this function is: 0x41835d4c,328 /// or in textual repr: setCollectionAccess(uint8)329 function setCollectionAccess(uint8 mode) public {330 require(false, stub_error);331 mode;332 dummy = 0;333 }334335 /// Add the user to the allowed list.336 ///337 /// @param user Address of a trusted user.338 /// @dev EVM selector for this function is: 0x67844fe6,339 /// or in textual repr: addToCollectionAllowList(address)340 function addToCollectionAllowList(address user) public {341 require(false, stub_error);342 user;343 dummy = 0;344 }345346 /// Remove the user from the allowed list.347 ///348 /// @param user Address of a removed user.349 /// @dev EVM selector for this function is: 0x85c51acb,350 /// or in textual repr: removeFromCollectionAllowList(address)351 function removeFromCollectionAllowList(address user) public {352 require(false, stub_error);353 user;354 dummy = 0;355 }356357 /// Switch permission for minting.358 ///359 /// @param mode Enable if "true".360 /// @dev EVM selector for this function is: 0x00018e84,361 /// or in textual repr: setCollectionMintMode(bool)362 function setCollectionMintMode(bool mode) public {363 require(false, stub_error);364 mode;365 dummy = 0;366 }367368 /// Check that account is the owner or admin of the collection369 ///370 /// @param user account to verify371 /// @return "true" if account is the owner or admin372 /// @dev EVM selector for this function is: 0x9811b0c7,373 /// or in textual repr: isOwnerOrAdmin(address)374 function isOwnerOrAdmin(address user) public view returns (bool) {375 require(false, stub_error);376 user;377 dummy;378 return false;379 }380381 /// Check that substrate account is the owner or admin of the collection382 ///383 /// @param user account to verify384 /// @return "true" if account is the owner or admin385 /// @dev EVM selector for this function is: 0x68910e00,386 /// or in textual repr: isOwnerOrAdminSubstrate(uint256)387 function isOwnerOrAdminSubstrate(uint256 user) public view returns (bool) {388 require(false, stub_error);389 user;390 dummy;391 return false;392 }393394 /// Returns collection type395 ///396 /// @return `Fungible` or `NFT` or `ReFungible`397 /// @dev EVM selector for this function is: 0xd34b55b8,398 /// or in textual repr: uniqueCollectionType()399 function uniqueCollectionType() public returns (string memory) {400 require(false, stub_error);401 dummy = 0;402 return "";403 }404405 /// Changes collection owner to another account406 ///407 /// @dev Owner can be changed only by current owner408 /// @param newOwner new owner account409 /// @dev EVM selector for this function is: 0x13af4035,410 /// or in textual repr: setOwner(address)411 function setOwner(address newOwner) public {412 require(false, stub_error);413 newOwner;414 dummy = 0;415 }416417 /// Changes collection owner to another substrate account418 ///419 /// @dev Owner can be changed only by current owner420 /// @param newOwner new owner substrate account421 /// @dev EVM selector for this function is: 0xb212138f,422 /// or in textual repr: setOwnerSubstrate(uint256)423 function setOwnerSubstrate(uint256 newOwner) public {424 require(false, stub_error);425 newOwner;426 dummy = 0;427 }428}429430/// @dev anonymous struct431struct Tuple17 {432 address field_0;433 uint256 field_1;434}435436/// @title ERC721 Token that can be irreversibly burned (destroyed).437/// @dev the ERC-165 identifier for this interface is 0x42966c68438contract ERC721Burnable is Dummy, ERC165 {439 /// @notice Burns a specific ERC721 token.440 /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized441 /// operator of the current owner.442 /// @param tokenId The NFT to approve443 /// @dev EVM selector for this function is: 0x42966c68,444 /// or in textual repr: burn(uint256)445 function burn(uint256 tokenId) public {446 require(false, stub_error);447 tokenId;448 dummy = 0;449 }450}451452/// @dev inlined interface453contract ERC721MintableEvents {454 event MintingFinished();455}456457/// @title ERC721 minting logic.458/// @dev the ERC-165 identifier for this interface is 0x68ccfe89459contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {460 /// @dev EVM selector for this function is: 0x05d2035b,461 /// or in textual repr: mintingFinished()462 function mintingFinished() public view returns (bool) {463 require(false, stub_error);464 dummy;465 return false;466 }467468 /// @notice Function to mint token.469 /// @dev `tokenId` should be obtained with `nextTokenId` method,470 /// unlike standard, you can't specify it manually471 /// @param to The new owner472 /// @param tokenId ID of the minted NFT473 /// @dev EVM selector for this function is: 0x40c10f19,474 /// or in textual repr: mint(address,uint256)475 function mint(address to, uint256 tokenId) public returns (bool) {476 require(false, stub_error);477 to;478 tokenId;479 dummy = 0;480 return false;481 }482483 /// @notice Function to mint token with the given tokenUri.484 /// @dev `tokenId` should be obtained with `nextTokenId` method,485 /// unlike standard, you can't specify it manually486 /// @param to The new owner487 /// @param tokenId ID of the minted NFT488 /// @param tokenUri Token URI that would be stored in the NFT properties489 /// @dev EVM selector for this function is: 0x50bb4e7f,490 /// or in textual repr: mintWithTokenURI(address,uint256,string)491 function mintWithTokenURI(492 address to,493 uint256 tokenId,494 string memory tokenUri495 ) public returns (bool) {496 require(false, stub_error);497 to;498 tokenId;499 tokenUri;500 dummy = 0;501 return false;502 }503504 /// @dev Not implemented505 /// @dev EVM selector for this function is: 0x7d64bcb4,506 /// or in textual repr: finishMinting()507 function finishMinting() public returns (bool) {508 require(false, stub_error);509 dummy = 0;510 return false;511 }512}513514/// @title Unique extensions for ERC721.515/// @dev the ERC-165 identifier for this interface is 0xd74d154f516contract ERC721UniqueExtensions is Dummy, ERC165 {517 /// @notice Transfer ownership of an NFT518 /// @dev Throws unless `msg.sender` is the current owner. Throws if `to`519 /// is the zero address. Throws if `tokenId` is not a valid NFT.520 /// @param to The new owner521 /// @param tokenId The NFT to transfer522 /// @dev EVM selector for this function is: 0xa9059cbb,523 /// or in textual repr: transfer(address,uint256)524 function transfer(address to, uint256 tokenId) public {525 require(false, stub_error);526 to;527 tokenId;528 dummy = 0;529 }530531 /// @notice Burns a specific ERC721 token.532 /// @dev Throws unless `msg.sender` is the current owner or an authorized533 /// operator for this NFT. Throws if `from` is not the current owner. Throws534 /// if `to` is the zero address. Throws if `tokenId` is not a valid NFT.535 /// @param from The current owner of the NFT536 /// @param tokenId The NFT to transfer537 /// @dev EVM selector for this function is: 0x79cc6790,538 /// or in textual repr: burnFrom(address,uint256)539 function burnFrom(address from, uint256 tokenId) public {540 require(false, stub_error);541 from;542 tokenId;543 dummy = 0;544 }545546 /// @notice Returns next free NFT ID.547 /// @dev EVM selector for this function is: 0x75794a3c,548 /// or in textual repr: nextTokenId()549 function nextTokenId() public view returns (uint256) {550 require(false, stub_error);551 dummy;552 return 0;553 }554555 /// @notice Function to mint multiple tokens.556 /// @dev `tokenIds` should be an array of consecutive numbers and first number557 /// should be obtained with `nextTokenId` method558 /// @param to The new owner559 /// @param tokenIds IDs of the minted NFTs560 /// @dev EVM selector for this function is: 0x44a9945e,561 /// or in textual repr: mintBulk(address,uint256[])562 function mintBulk(address to, uint256[] memory tokenIds)563 public564 returns (bool)565 {566 require(false, stub_error);567 to;568 tokenIds;569 dummy = 0;570 return false;571 }572573 /// @notice Function to mint multiple tokens with the given tokenUris.574 /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive575 /// numbers and first number should be obtained with `nextTokenId` method576 /// @param to The new owner577 /// @param tokens array of pairs of token ID and token URI for minted tokens578 /// @dev EVM selector for this function is: 0x36543006,579 /// or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])580 function mintBulkWithTokenURI(address to, Tuple8[] memory tokens)581 public582 returns (bool)583 {584 require(false, stub_error);585 to;586 tokens;587 dummy = 0;588 return false;589 }590}591592/// @dev anonymous struct593struct Tuple8 {594 uint256 field_0;595 string field_1;596}597598/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension599/// @dev See https://eips.ethereum.org/EIPS/eip-721600/// @dev the ERC-165 identifier for this interface is 0x780e9d63601contract ERC721Enumerable is Dummy, ERC165 {602 /// @notice Enumerate valid NFTs603 /// @param index A counter less than `totalSupply()`604 /// @return The token identifier for the `index`th NFT,605 /// (sort order not specified)606 /// @dev EVM selector for this function is: 0x4f6ccce7,607 /// or in textual repr: tokenByIndex(uint256)608 function tokenByIndex(uint256 index) public view returns (uint256) {609 require(false, stub_error);610 index;611 dummy;612 return 0;613 }614615 /// @dev Not implemented616 /// @dev EVM selector for this function is: 0x2f745c59,617 /// or in textual repr: tokenOfOwnerByIndex(address,uint256)618 function tokenOfOwnerByIndex(address owner, uint256 index)619 public620 view621 returns (uint256)622 {623 require(false, stub_error);624 owner;625 index;626 dummy;627 return 0;628 }629630 /// @notice Count NFTs tracked by this contract631 /// @return A count of valid NFTs tracked by this contract, where each one of632 /// them has an assigned and queryable owner not equal to the zero address633 /// @dev EVM selector for this function is: 0x18160ddd,634 /// or in textual repr: totalSupply()635 function totalSupply() public view returns (uint256) {636 require(false, stub_error);637 dummy;638 return 0;639 }640}641642/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension643/// @dev See https://eips.ethereum.org/EIPS/eip-721644/// @dev the ERC-165 identifier for this interface is 0x5b5e139f645contract ERC721Metadata is Dummy, ERC165 {646 /// @notice A descriptive name for a collection of NFTs in this contract647 /// @dev EVM selector for this function is: 0x06fdde03,648 /// or in textual repr: name()649 function name() public view returns (string memory) {650 require(false, stub_error);651 dummy;652 return "";653 }654655 /// @notice An abbreviated name for NFTs in this contract656 /// @dev EVM selector for this function is: 0x95d89b41,657 /// or in textual repr: symbol()658 function symbol() public view returns (string memory) {659 require(false, stub_error);660 dummy;661 return "";662 }663664 /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.665 ///666 /// @dev If the token has a `url` property and it is not empty, it is returned.667 /// Else If the collection does not have a property with key `schemaName` or its value is not equal to `ERC721Metadata`, it return an error `tokenURI not set`.668 /// If the collection property `baseURI` is empty or absent, return "" (empty string)669 /// otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix670 /// otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).671 ///672 /// @return token's const_metadata673 /// @dev EVM selector for this function is: 0xc87b56dd,674 /// or in textual repr: tokenURI(uint256)675 function tokenURI(uint256 tokenId) public view returns (string memory) {676 require(false, stub_error);677 tokenId;678 dummy;679 return "";680 }681}682683/// @dev inlined interface684contract ERC721Events {685 event Transfer(686 address indexed from,687 address indexed to,688 uint256 indexed tokenId689 );690 event Approval(691 address indexed owner,692 address indexed approved,693 uint256 indexed tokenId694 );695 event ApprovalForAll(696 address indexed owner,697 address indexed operator,698 bool approved699 );700}701702/// @title ERC-721 Non-Fungible Token Standard703/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md704/// @dev the ERC-165 identifier for this interface is 0x80ac58cd705contract ERC721 is Dummy, ERC165, ERC721Events {706 /// @notice Count all NFTs assigned to an owner707 /// @dev NFTs assigned to the zero address are considered invalid, and this708 /// function throws for queries about the zero address.709 /// @param owner An address for whom to query the balance710 /// @return The number of NFTs owned by `owner`, possibly zero711 /// @dev EVM selector for this function is: 0x70a08231,712 /// or in textual repr: balanceOf(address)713 function balanceOf(address owner) public view returns (uint256) {714 require(false, stub_error);715 owner;716 dummy;717 return 0;718 }719720 /// @notice Find the owner of an NFT721 /// @dev NFTs assigned to zero address are considered invalid, and queries722 /// about them do throw.723 /// @param tokenId The identifier for an NFT724 /// @return The address of the owner of the NFT725 /// @dev EVM selector for this function is: 0x6352211e,726 /// or in textual repr: ownerOf(uint256)727 function ownerOf(uint256 tokenId) public view returns (address) {728 require(false, stub_error);729 tokenId;730 dummy;731 return 0x0000000000000000000000000000000000000000;732 }733734 /// @dev Not implemented735 /// @dev EVM selector for this function is: 0xb88d4fde,736 /// or in textual repr: safeTransferFrom(address,address,uint256,bytes)737 function safeTransferFrom(738 address from,739 address to,740 uint256 tokenId,741 bytes memory data742 ) public {743 require(false, stub_error);744 from;745 to;746 tokenId;747 data;748 dummy = 0;749 }750751 /// @dev Not implemented752 /// @dev EVM selector for this function is: 0x42842e0e,753 /// or in textual repr: safeTransferFrom(address,address,uint256)754 function safeTransferFrom(755 address from,756 address to,757 uint256 tokenId758 ) public {759 require(false, stub_error);760 from;761 to;762 tokenId;763 dummy = 0;764 }765766 /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE767 /// TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE768 /// THEY MAY BE PERMANENTLY LOST769 /// @dev Throws unless `msg.sender` is the current owner or an authorized770 /// operator for this NFT. Throws if `from` is not the current owner. Throws771 /// if `to` is the zero address. Throws if `tokenId` is not a valid NFT.772 /// @param from The current owner of the NFT773 /// @param to The new owner774 /// @param tokenId The NFT to transfer775 /// @dev EVM selector for this function is: 0x23b872dd,776 /// or in textual repr: transferFrom(address,address,uint256)777 function transferFrom(778 address from,779 address to,780 uint256 tokenId781 ) public {782 require(false, stub_error);783 from;784 to;785 tokenId;786 dummy = 0;787 }788789 /// @notice Set or reaffirm the approved address for an NFT790 /// @dev The zero address indicates there is no approved address.791 /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized792 /// operator of the current owner.793 /// @param approved The new approved NFT controller794 /// @param tokenId The NFT to approve795 /// @dev EVM selector for this function is: 0x095ea7b3,796 /// or in textual repr: approve(address,uint256)797 function approve(address approved, uint256 tokenId) public {798 require(false, stub_error);799 approved;800 tokenId;801 dummy = 0;802 }803804 /// @dev Not implemented805 /// @dev EVM selector for this function is: 0xa22cb465,806 /// or in textual repr: setApprovalForAll(address,bool)807 function setApprovalForAll(address operator, bool approved) public {808 require(false, stub_error);809 operator;810 approved;811 dummy = 0;812 }813814 /// @dev Not implemented815 /// @dev EVM selector for this function is: 0x081812fc,816 /// or in textual repr: getApproved(uint256)817 function getApproved(uint256 tokenId) public view returns (address) {818 require(false, stub_error);819 tokenId;820 dummy;821 return 0x0000000000000000000000000000000000000000;822 }823824 /// @dev Not implemented825 /// @dev EVM selector for this function is: 0xe985e9c5,826 /// or in textual repr: isApprovedForAll(address,address)827 function isApprovedForAll(address owner, address operator)828 public829 view830 returns (address)831 {832 require(false, stub_error);833 owner;834 operator;835 dummy;836 return 0x0000000000000000000000000000000000000000;837 }838}839840contract UniqueNFT is841 Dummy,842 ERC165,843 ERC721,844 ERC721Metadata,845 ERC721Enumerable,846 ERC721UniqueExtensions,847 ERC721Mintable,848 ERC721Burnable,849 Collection,850 TokenProperties851{}pallets/refungible/src/stubs/UniqueRefungible.rawdiffbeforeafterbothbinary blob — no preview
pallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth--- a/pallets/refungible/src/stubs/UniqueRefungible.sol
+++ b/pallets/refungible/src/stubs/UniqueRefungible.sol
@@ -3,23 +3,7 @@
pragma solidity >=0.8.0 <0.9.0;
-<<<<<<< HEAD
/// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
- uint256 field_0;
- string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
- address field_0;
- uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
contract Dummy {
uint8 dummy;
string stub_error = "this contract is implemented in native";
@@ -115,7 +99,7 @@
}
/// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
contract Collection is Dummy, ERC165 {
/// Set collection property.
///
@@ -175,6 +159,27 @@
dummy = 0;
}
+ /// Set the substrate sponsor of the collection.
+ ///
+ /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+ ///
+ /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+ /// @dev EVM selector for this function is: 0xc74d6751,
+ /// or in textual repr: setCollectionSponsorSubstrate(uint256)
+ function setCollectionSponsorSubstrate(uint256 sponsor) public {
+ require(false, stub_error);
+ sponsor;
+ dummy = 0;
+ }
+
+ /// @dev EVM selector for this function is: 0x058ac185,
+ /// or in textual repr: hasCollectionPendingSponsor()
+ function hasCollectionPendingSponsor() public view returns (bool) {
+ require(false, stub_error);
+ dummy;
+ return false;
+ }
+
/// Collection sponsorship confirmation.
///
/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -185,6 +190,25 @@
dummy = 0;
}
+ /// Remove collection sponsor.
+ /// @dev EVM selector for this function is: 0x6e0326a3,
+ /// or in textual repr: removeCollectionSponsor()
+ function removeCollectionSponsor() public {
+ require(false, stub_error);
+ dummy = 0;
+ }
+
+ /// Get current sponsor.
+ ///
+ /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+ /// @dev EVM selector for this function is: 0xb66bbc14,
+ /// or in textual repr: getCollectionSponsor()
+ function getCollectionSponsor() public view returns (Tuple17 memory) {
+ require(false, stub_error);
+ dummy;
+ return Tuple17(0x0000000000000000000000000000000000000000, 0);
+ }
+
/// Set limits for the collection.
/// @dev Throws error if limit not found.
/// @param limit Name of the limit. Valid names:
@@ -403,6 +427,12 @@
}
}
+/// @dev anonymous struct
+struct Tuple17 {
+ address field_0;
+ uint256 field_1;
+}
+
/// @title ERC721 Token that can be irreversibly burned (destroyed).
/// @dev the ERC-165 identifier for this interface is 0x42966c68
contract ERC721Burnable is Dummy, ERC165 {
@@ -481,58 +511,8 @@
}
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @title Unique extensions for ERC721.
/// @dev the ERC-165 identifier for this interface is 0x7c3bef89
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
-// Selector: 780e9d63
-contract ERC721Enumerable is Dummy, ERC165 {
- // @notice Enumerate valid RFTs
- // @param index A counter less than `totalSupply()`
- // @return The token identifier for the `index`th NFT,
- // (sort order not specified)
- //
- // Selector: tokenByIndex(uint256) 4f6ccce7
- function tokenByIndex(uint256 index) public view returns (uint256) {
- require(false, stub_error);
- index;
- dummy;
- return 0;
- }
-
- // Not implemented
- //
- // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
- function tokenOfOwnerByIndex(address owner, uint256 index)
- public
- view
- returns (uint256)
- {
- require(false, stub_error);
- owner;
- index;
- dummy;
- return 0;
- }
-
- // @notice Count RFTs tracked by this contract
- // @return A count of valid RFTs tracked by this contract, where each one of
- // them has an assigned and queryable owner not equal to the zero address
- //
- // Selector: totalSupply() 18160ddd
- function totalSupply() public view returns (uint256) {
- require(false, stub_error);
- dummy;
- return 0;
- }
-}
-
-// Selector: 7c3bef89
->>>>>>> misk: Update stubs
contract ERC721UniqueExtensions is Dummy, ERC165 {
/// @notice Transfer ownership of an RFT
/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -623,37 +603,11 @@
}
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @dev anonymous struct
struct Tuple8 {
uint256 field_0;
string field_1;
}
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-contract Collection is Dummy, ERC165 {
- // Set collection property.
- //
- // @param key Property key.
- // @param value Propery value.
- //
- // Selector: setCollectionProperty(string,bytes) 2f073f66
- function setCollectionProperty(string memory key, bytes memory value)
- public
- {
- require(false, stub_error);
- key;
- value;
- dummy = 0;
- }
->>>>>>> misk: Update stubs
/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
/// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -684,92 +638,7 @@
owner;
index;
dummy;
-<<<<<<< HEAD
return 0;
-=======
- return hex"";
- }
-
- // Set the sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsor(address) 7623402e
- function setCollectionSponsor(address sponsor) public {
- require(false, stub_error);
- sponsor;
- dummy = 0;
- }
-
- // Set the substrate sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsorSubstrate(uint256) c74d6751
- function setCollectionSponsorSubstrate(uint256 sponsor) public {
- require(false, stub_error);
- sponsor;
- dummy = 0;
- }
-
- // Selector: hasCollectionPendingSponsor() 058ac185
- function hasCollectionPendingSponsor() public view returns (bool) {
- require(false, stub_error);
- dummy;
- return false;
- }
-
- // Collection sponsorship confirmation.
- //
- // @dev After setting the sponsor for the collection, it must be confirmed with this function.
- //
- // Selector: confirmCollectionSponsorship() 3c50e97a
- function confirmCollectionSponsorship() public {
- require(false, stub_error);
- dummy = 0;
- }
-
- // Remove collection sponsor.
- //
- // Selector: removeCollectionSponsor() 6e0326a3
- function removeCollectionSponsor() public {
- require(false, stub_error);
- dummy = 0;
- }
-
- // Get current sponsor.
- //
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getCollectionSponsor() b66bbc14
- function getCollectionSponsor() public view returns (Tuple1 memory) {
- require(false, stub_error);
- dummy;
- return Tuple1(0x0000000000000000000000000000000000000000, 0);
- }
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "accountTokenOwnershipLimit",
- // "sponsoredDataSize",
- // "sponsoredDataRateLimit",
- // "tokenLimit",
- // "sponsorTransferTimeout",
- // "sponsorApproveTimeout"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,uint32) 6a3841db
- function setCollectionLimit(string memory limit, uint32 value) public {
- require(false, stub_error);
- limit;
- value;
- dummy = 0;
->>>>>>> misk: Update stubs
}
/// @notice Count RFTs tracked by this contract
tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -12,20 +12,8 @@
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @title Magic contract, which allows users to reconfigure other contracts
/// @dev the ERC-165 identifier for this interface is 0xd77fab70
-=======
-<<<<<<< HEAD
-// Selector: 6073d917
-=======
-// Selector: 06fc42e9
->>>>>>> path: add stubs
->>>>>>> path: add stubs
-=======
-// Selector: 6073d917
->>>>>>> misc: update stubs
interface ContractHelpers is Dummy, ERC165 {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
@@ -41,24 +29,11 @@
view
returns (address);
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Set sponsor.
/// @param contractAddress Contract for which a sponsor is being established.
/// @param sponsor User address who set as pending sponsor.
/// @dev EVM selector for this function is: 0xf01fba93,
/// or in textual repr: setSponsor(address,address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Set sponsor.
- //
- // @param contract_address Contract for which a sponsor is being established.
- // @param sponsor User address who set as pending sponsor.
- //
- // Selector: setSponsor(address,address) f01fba93
->>>>>>> path: add stubs
function setSponsor(address contractAddress, address sponsor) external;
/// Set contract as self sponsored.
@@ -84,28 +59,17 @@
/// or in textual repr: confirmSponsorship(address)
function confirmSponsorship(address contractAddress) external;
-<<<<<<< HEAD
/// Get current sponsor.
///
/// @param contractAddress The contract for which a sponsor is requested.
/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
/// @dev EVM selector for this function is: 0x743fc745,
/// or in textual repr: getSponsor(address)
-=======
- // Get current sponsor.
- //
- // @param contract_address The contract for which a sponsor is requested.
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getSponsor(address) 743fc745
->>>>>>> path: add stubs
function getSponsor(address contractAddress)
external
view
returns (Tuple0 memory);
-<<<<<<< HEAD
-<<<<<<< HEAD
/// Check tat contract has confirmed sponsor.
///
/// @param contractAddress The contract for which the presence of a confirmed sponsor is checked.
@@ -120,25 +84,6 @@
/// @return **true** if contract has pending sponsor.
/// @dev EVM selector for this function is: 0x39b9b242,
/// or in textual repr: hasPendingSponsor(address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
- // Check tat contract has confirmed sponsor.
- //
- // @param contract_address The contract for which the presence of a confirmed sponsor is checked.
- // @return **true** if contract has confirmed sponsor.
- //
- // Selector: hasSponsor(address) 97418603
- function hasSponsor(address contractAddress) external view returns (bool);
-
- // Check tat contract has pending sponsor.
- //
- // @param contract_address The contract for which the presence of a pending sponsor is checked.
- // @return **true** if contract has pending sponsor.
- //
- // Selector: hasPendingSponsor(address) 39b9b242
->>>>>>> path: add stubs
function hasPendingSponsor(address contractAddress)
external
view
tests/src/eth/api/UniqueFungible.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -3,17 +3,7 @@
pragma solidity >=0.8.0 <0.9.0;
-<<<<<<< HEAD
/// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
- address field_0;
- uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
interface Dummy {
}
@@ -22,72 +12,8 @@
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
-<<<<<<< HEAD
/// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
-=======
-// Inline
-interface ERC20Events {
- event Transfer(address indexed from, address indexed to, uint256 value);
- event Approval(
- address indexed owner,
- address indexed spender,
- uint256 value
- );
-}
-
-// Selector: 79cc6790
-interface ERC20UniqueExtensions is Dummy, ERC165 {
- // Selector: burnFrom(address,uint256) 79cc6790
- function burnFrom(address from, uint256 amount) external returns (bool);
-}
-
-// Selector: 942e8b22
-interface ERC20 is Dummy, ERC165, ERC20Events {
- // Selector: name() 06fdde03
- function name() external view returns (string memory);
-
- // Selector: symbol() 95d89b41
- function symbol() external view returns (string memory);
-
- // Selector: totalSupply() 18160ddd
- function totalSupply() external view returns (uint256);
-
- // Selector: decimals() 313ce567
- function decimals() external view returns (uint8);
-
- // Selector: balanceOf(address) 70a08231
- function balanceOf(address owner) external view returns (uint256);
-
- // Selector: transfer(address,uint256) a9059cbb
- function transfer(address to, uint256 amount) external returns (bool);
-
- // Selector: transferFrom(address,address,uint256) 23b872dd
- function transferFrom(
- address from,
- address to,
- uint256 amount
- ) external returns (bool);
-
- // Selector: approve(address,uint256) 095ea7b3
- function approve(address spender, uint256 amount) external returns (bool);
-
- // Selector: allowance(address,address) dd62ed3e
- function allowance(address owner, address spender)
- external
- view
- returns (uint256);
-}
-
-<<<<<<< HEAD
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
interface Collection is Dummy, ERC165 {
/// Set collection property.
///
@@ -127,7 +53,19 @@
/// or in textual repr: setCollectionSponsor(address)
function setCollectionSponsor(address sponsor) external;
-<<<<<<< HEAD
+ /// Set the substrate sponsor of the collection.
+ ///
+ /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+ ///
+ /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+ /// @dev EVM selector for this function is: 0xc74d6751,
+ /// or in textual repr: setCollectionSponsorSubstrate(uint256)
+ function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+ /// @dev EVM selector for this function is: 0x058ac185,
+ /// or in textual repr: hasCollectionPendingSponsor()
+ function hasCollectionPendingSponsor() external view returns (bool);
+
/// Collection sponsorship confirmation.
///
/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -135,6 +73,18 @@
/// or in textual repr: confirmCollectionSponsorship()
function confirmCollectionSponsorship() external;
+ /// Remove collection sponsor.
+ /// @dev EVM selector for this function is: 0x6e0326a3,
+ /// or in textual repr: removeCollectionSponsor()
+ function removeCollectionSponsor() external;
+
+ /// Get current sponsor.
+ ///
+ /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+ /// @dev EVM selector for this function is: 0xb66bbc14,
+ /// or in textual repr: getCollectionSponsor()
+ function getCollectionSponsor() external view returns (Tuple6 memory);
+
/// Set limits for the collection.
/// @dev Throws error if limit not found.
/// @param limit Name of the limit. Valid names:
@@ -147,51 +97,6 @@
/// @param value Value of the limit.
/// @dev EVM selector for this function is: 0x6a3841db,
/// or in textual repr: setCollectionLimit(string,uint32)
-=======
- // Set the substrate sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsorSubstrate(uint256) c74d6751
- function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
- // Selector: hasCollectionPendingSponsor() 058ac185
- function hasCollectionPendingSponsor() external view returns (bool);
-
- // Collection sponsorship confirmation.
- //
- // @dev After setting the sponsor for the collection, it must be confirmed with this function.
- //
- // Selector: confirmCollectionSponsorship() 3c50e97a
- function confirmCollectionSponsorship() external;
-
- // Remove collection sponsor.
- //
- // Selector: removeCollectionSponsor() 6e0326a3
- function removeCollectionSponsor() external;
-
- // Get current sponsor.
- //
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getCollectionSponsor() b66bbc14
- function getCollectionSponsor() external view returns (Tuple0 memory);
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "accountTokenOwnershipLimit",
- // "sponsoredDataSize",
- // "sponsoredDataRateLimit",
- // "tokenLimit",
- // "sponsorTransferTimeout",
- // "sponsorApproveTimeout"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,uint32) 6a3841db
->>>>>>> misk: Update stubs
function setCollectionLimit(string memory limit, uint32 value) external;
/// Set limits for the collection.
@@ -320,6 +225,12 @@
function setOwnerSubstrate(uint256 newOwner) external;
}
+/// @dev anonymous struct
+struct Tuple6 {
+ address field_0;
+ uint256 field_1;
+}
+
/// @dev the ERC-165 identifier for this interface is 0x79cc6790
interface ERC20UniqueExtensions is Dummy, ERC165 {
/// @dev EVM selector for this function is: 0x79cc6790,
tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -3,23 +3,7 @@
pragma solidity >=0.8.0 <0.9.0;
-<<<<<<< HEAD
/// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
- uint256 field_0;
- string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
- address field_0;
- uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
interface Dummy {
}
@@ -81,7 +65,7 @@
}
/// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
interface Collection is Dummy, ERC165 {
/// Set collection property.
///
@@ -121,6 +105,19 @@
/// or in textual repr: setCollectionSponsor(address)
function setCollectionSponsor(address sponsor) external;
+ /// Set the substrate sponsor of the collection.
+ ///
+ /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+ ///
+ /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+ /// @dev EVM selector for this function is: 0xc74d6751,
+ /// or in textual repr: setCollectionSponsorSubstrate(uint256)
+ function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+ /// @dev EVM selector for this function is: 0x058ac185,
+ /// or in textual repr: hasCollectionPendingSponsor()
+ function hasCollectionPendingSponsor() external view returns (bool);
+
/// Collection sponsorship confirmation.
///
/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -128,6 +125,18 @@
/// or in textual repr: confirmCollectionSponsorship()
function confirmCollectionSponsorship() external;
+ /// Remove collection sponsor.
+ /// @dev EVM selector for this function is: 0x6e0326a3,
+ /// or in textual repr: removeCollectionSponsor()
+ function removeCollectionSponsor() external;
+
+ /// Get current sponsor.
+ ///
+ /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+ /// @dev EVM selector for this function is: 0xb66bbc14,
+ /// or in textual repr: getCollectionSponsor()
+ function getCollectionSponsor() external view returns (Tuple17 memory);
+
/// Set limits for the collection.
/// @dev Throws error if limit not found.
/// @param limit Name of the limit. Valid names:
@@ -268,6 +277,12 @@
function setOwnerSubstrate(uint256 newOwner) external;
}
+/// @dev anonymous struct
+struct Tuple17 {
+ address field_0;
+ uint256 field_1;
+}
+
/// @title ERC721 Token that can be irreversibly burned (destroyed).
/// @dev the ERC-165 identifier for this interface is 0x42966c68
interface ERC721Burnable is Dummy, ERC165 {
@@ -321,42 +336,8 @@
function finishMinting() external returns (bool);
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @title Unique extensions for ERC721.
/// @dev the ERC-165 identifier for this interface is 0xd74d154f
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
-// Selector: 780e9d63
-interface ERC721Enumerable is Dummy, ERC165 {
- // @notice Enumerate valid NFTs
- // @param index A counter less than `totalSupply()`
- // @return The token identifier for the `index`th NFT,
- // (sort order not specified)
- //
- // Selector: tokenByIndex(uint256) 4f6ccce7
- function tokenByIndex(uint256 index) external view returns (uint256);
-
- // @dev Not implemented
- //
- // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
- function tokenOfOwnerByIndex(address owner, uint256 index)
- external
- view
- returns (uint256);
-
- // @notice Count NFTs tracked by this contract
- // @return A count of valid NFTs tracked by this contract, where each one of
- // them has an assigned and queryable owner not equal to the zero address
- //
- // Selector: totalSupply() 18160ddd
- function totalSupply() external view returns (uint256);
-}
-
-// Selector: d74d154f
->>>>>>> misk: Update stubs
interface ERC721UniqueExtensions is Dummy, ERC165 {
/// @notice Transfer ownership of an NFT
/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -405,31 +386,11 @@
returns (bool);
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @dev anonymous struct
struct Tuple8 {
uint256 field_0;
string field_1;
}
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-interface Collection is Dummy, ERC165 {
- // Set collection property.
- //
- // @param key Property key.
- // @param value Propery value.
- //
- // Selector: setCollectionProperty(string,bytes) 2f073f66
- function setCollectionProperty(string memory key, bytes memory value)
- external;
->>>>>>> misk: Update stubs
/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
/// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -449,87 +410,7 @@
function tokenOfOwnerByIndex(address owner, uint256 index)
external
view
-<<<<<<< HEAD
returns (uint256);
-=======
- returns (bytes memory);
-
- // Set the sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsor(address) 7623402e
- function setCollectionSponsor(address sponsor) external;
-
- // Set the substrate sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsorSubstrate(uint256) c74d6751
- function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
- // Selector: hasCollectionPendingSponsor() 058ac185
- function hasCollectionPendingSponsor() external view returns (bool);
-
- // Collection sponsorship confirmation.
- //
- // @dev After setting the sponsor for the collection, it must be confirmed with this function.
- //
- // Selector: confirmCollectionSponsorship() 3c50e97a
- function confirmCollectionSponsorship() external;
-
- // Remove collection sponsor.
- //
- // Selector: removeCollectionSponsor() 6e0326a3
- function removeCollectionSponsor() external;
-
- // Get current sponsor.
- //
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getCollectionSponsor() b66bbc14
- function getCollectionSponsor() external view returns (Tuple1 memory);
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "accountTokenOwnershipLimit",
- // "sponsoredDataSize",
- // "sponsoredDataRateLimit",
- // "tokenLimit",
- // "sponsorTransferTimeout",
- // "sponsorApproveTimeout"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,uint32) 6a3841db
- function setCollectionLimit(string memory limit, uint32 value) external;
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "ownerCanTransfer",
- // "ownerCanDestroy",
- // "transfersEnabled"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,bool) 993b7fba
- function setCollectionLimit(string memory limit, bool value) external;
-
- // Get contract address.
- //
- // Selector: contractAddress() f6b4dfb4
- function contractAddress() external view returns (address);
-
- // Add collection admin by substrate address.
- // @param new_admin Substrate administrator address.
- //
- // Selector: addCollectionAdminSubstrate(uint256) 5730062b
- function addCollectionAdminSubstrate(uint256 newAdmin) external;
->>>>>>> misk: Update stubs
/// @notice Count NFTs tracked by this contract
/// @return A count of valid NFTs tracked by this contract, where each one of
tests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -3,23 +3,7 @@
pragma solidity >=0.8.0 <0.9.0;
-<<<<<<< HEAD
/// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
- uint256 field_0;
- string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
- address field_0;
- uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
interface Dummy {
}
@@ -81,7 +65,7 @@
}
/// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
interface Collection is Dummy, ERC165 {
/// Set collection property.
///
@@ -121,6 +105,19 @@
/// or in textual repr: setCollectionSponsor(address)
function setCollectionSponsor(address sponsor) external;
+ /// Set the substrate sponsor of the collection.
+ ///
+ /// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+ ///
+ /// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+ /// @dev EVM selector for this function is: 0xc74d6751,
+ /// or in textual repr: setCollectionSponsorSubstrate(uint256)
+ function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+ /// @dev EVM selector for this function is: 0x058ac185,
+ /// or in textual repr: hasCollectionPendingSponsor()
+ function hasCollectionPendingSponsor() external view returns (bool);
+
/// Collection sponsorship confirmation.
///
/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -128,6 +125,18 @@
/// or in textual repr: confirmCollectionSponsorship()
function confirmCollectionSponsorship() external;
+ /// Remove collection sponsor.
+ /// @dev EVM selector for this function is: 0x6e0326a3,
+ /// or in textual repr: removeCollectionSponsor()
+ function removeCollectionSponsor() external;
+
+ /// Get current sponsor.
+ ///
+ /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+ /// @dev EVM selector for this function is: 0xb66bbc14,
+ /// or in textual repr: getCollectionSponsor()
+ function getCollectionSponsor() external view returns (Tuple17 memory);
+
/// Set limits for the collection.
/// @dev Throws error if limit not found.
/// @param limit Name of the limit. Valid names:
@@ -268,6 +277,12 @@
function setOwnerSubstrate(uint256 newOwner) external;
}
+/// @dev anonymous struct
+struct Tuple17 {
+ address field_0;
+ uint256 field_1;
+}
+
/// @title ERC721 Token that can be irreversibly burned (destroyed).
/// @dev the ERC-165 identifier for this interface is 0x42966c68
interface ERC721Burnable is Dummy, ERC165 {
@@ -321,42 +336,8 @@
function finishMinting() external returns (bool);
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @title Unique extensions for ERC721.
/// @dev the ERC-165 identifier for this interface is 0x7c3bef89
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
-// Selector: 780e9d63
-interface ERC721Enumerable is Dummy, ERC165 {
- // @notice Enumerate valid RFTs
- // @param index A counter less than `totalSupply()`
- // @return The token identifier for the `index`th NFT,
- // (sort order not specified)
- //
- // Selector: tokenByIndex(uint256) 4f6ccce7
- function tokenByIndex(uint256 index) external view returns (uint256);
-
- // Not implemented
- //
- // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
- function tokenOfOwnerByIndex(address owner, uint256 index)
- external
- view
- returns (uint256);
-
- // @notice Count RFTs tracked by this contract
- // @return A count of valid RFTs tracked by this contract, where each one of
- // them has an assigned and queryable owner not equal to the zero address
- //
- // Selector: totalSupply() 18160ddd
- function totalSupply() external view returns (uint256);
-}
-
-// Selector: 7c3bef89
->>>>>>> misk: Update stubs
interface ERC721UniqueExtensions is Dummy, ERC165 {
/// @notice Transfer ownership of an RFT
/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -417,31 +398,11 @@
returns (address);
}
-<<<<<<< HEAD
-<<<<<<< HEAD
/// @dev anonymous struct
struct Tuple8 {
uint256 field_0;
string field_1;
}
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-interface Collection is Dummy, ERC165 {
- // Set collection property.
- //
- // @param key Property key.
- // @param value Propery value.
- //
- // Selector: setCollectionProperty(string,bytes) 2f073f66
- function setCollectionProperty(string memory key, bytes memory value)
- external;
->>>>>>> misk: Update stubs
/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
/// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -461,87 +422,7 @@
function tokenOfOwnerByIndex(address owner, uint256 index)
external
view
-<<<<<<< HEAD
returns (uint256);
-=======
- returns (bytes memory);
-
- // Set the sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsor(address) 7623402e
- function setCollectionSponsor(address sponsor) external;
-
- // Set the substrate sponsor of the collection.
- //
- // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
- //
- // @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
- //
- // Selector: setCollectionSponsorSubstrate(uint256) c74d6751
- function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
- // Selector: hasCollectionPendingSponsor() 058ac185
- function hasCollectionPendingSponsor() external view returns (bool);
-
- // Collection sponsorship confirmation.
- //
- // @dev After setting the sponsor for the collection, it must be confirmed with this function.
- //
- // Selector: confirmCollectionSponsorship() 3c50e97a
- function confirmCollectionSponsorship() external;
-
- // Remove collection sponsor.
- //
- // Selector: removeCollectionSponsor() 6e0326a3
- function removeCollectionSponsor() external;
-
- // Get current sponsor.
- //
- // @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
- //
- // Selector: getCollectionSponsor() b66bbc14
- function getCollectionSponsor() external view returns (Tuple1 memory);
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "accountTokenOwnershipLimit",
- // "sponsoredDataSize",
- // "sponsoredDataRateLimit",
- // "tokenLimit",
- // "sponsorTransferTimeout",
- // "sponsorApproveTimeout"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,uint32) 6a3841db
- function setCollectionLimit(string memory limit, uint32 value) external;
-
- // Set limits for the collection.
- // @dev Throws error if limit not found.
- // @param limit Name of the limit. Valid names:
- // "ownerCanTransfer",
- // "ownerCanDestroy",
- // "transfersEnabled"
- // @param value Value of the limit.
- //
- // Selector: setCollectionLimit(string,bool) 993b7fba
- function setCollectionLimit(string memory limit, bool value) external;
-
- // Get contract address.
- //
- // Selector: contractAddress() f6b4dfb4
- function contractAddress() external view returns (address);
-
- // Add collection admin by substrate address.
- // @param new_admin Substrate administrator address.
- //
- // Selector: addCollectionAdminSubstrate(uint256) 5730062b
- function addCollectionAdminSubstrate(uint256 newAdmin) external;
->>>>>>> misk: Update stubs
/// @notice Count RFTs tracked by this contract
/// @return A count of valid RFTs tracked by this contract, where each one of
tests/src/eth/fungibleAbi.jsondiffbeforeafterboth--- a/tests/src/eth/fungibleAbi.json
+++ b/tests/src/eth/fungibleAbi.json
@@ -159,7 +159,7 @@
{ "internalType": "address", "name": "field_0", "type": "address" },
{ "internalType": "uint256", "name": "field_1", "type": "uint256" }
],
- "internalType": "struct Tuple0",
+ "internalType": "struct Tuple6",
"name": "",
"type": "tuple"
}
tests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth--- a/tests/src/eth/nonFungibleAbi.json
+++ b/tests/src/eth/nonFungibleAbi.json
@@ -208,7 +208,7 @@
{ "internalType": "address", "name": "field_0", "type": "address" },
{ "internalType": "uint256", "name": "field_1", "type": "uint256" }
],
- "internalType": "struct Tuple1",
+ "internalType": "struct Tuple17",
"name": "",
"type": "tuple"
}
tests/src/eth/reFungibleAbi.jsondiffbeforeafterboth--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -208,7 +208,7 @@
{ "internalType": "address", "name": "field_0", "type": "address" },
{ "internalType": "uint256", "name": "field_1", "type": "uint256" }
],
- "internalType": "struct Tuple1",
+ "internalType": "struct Tuple17",
"name": "",
"type": "tuple"
}