difftreelog
chore generate stubs
in: master
11 files changed
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
@@ -487,15 +487,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}
pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -42,18 +42,19 @@
/// @param permissions Permissions for keys.
/// @dev EVM selector for this function is: 0xbd92983a,
/// or in textual repr: setTokenPropertyPermissions((string,(uint8,bool)[])[])
- function setTokenPropertyPermissions(Tuple48[] memory permissions) public {
+ function setTokenPropertyPermissions(Tuple59[] memory permissions) public {
require(false, stub_error);
permissions;
dummy = 0;
}
+ /// @notice Get permissions for token properties.
/// @dev EVM selector for this function is: 0xf23d7790,
/// or in textual repr: tokenPropertyPermissions()
- function tokenPropertyPermissions() public view returns (Tuple48[] memory) {
+ function tokenPropertyPermissions() public view returns (Tuple59[] memory) {
require(false, stub_error);
dummy;
- return new Tuple48[](0);
+ return new Tuple59[](0);
}
// /// @notice Set token property value.
@@ -132,20 +133,24 @@
bytes value;
}
+/// @dev Ethereum representation of TokenPermissions (see [`up_data_structs::PropertyPermission`]) fields as an enumeration.
enum EthTokenPermissions {
+ /// @dev Permission to change the property and property permission. See [`up_data_structs::PropertyPermission::mutable`]
Mutable,
+ /// @dev Change permission for the collection administrator. See [`up_data_structs::PropertyPermission::token_owner`]
TokenOwner,
+ /// @dev Permission to change the property for the owner of the token. See [`up_data_structs::PropertyPermission::collection_admin`]
CollectionAdmin
}
/// @dev anonymous struct
-struct Tuple48 {
+struct Tuple59 {
string field_0;
- Tuple46[] field_1;
+ Tuple57[] field_1;
}
/// @dev anonymous struct
-struct Tuple46 {
+struct Tuple57 {
EthTokenPermissions field_0;
bool field_1;
}
@@ -620,15 +625,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}
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
@@ -42,7 +42,7 @@
/// @param permissions Permissions for keys.
/// @dev EVM selector for this function is: 0xbd92983a,
/// or in textual repr: setTokenPropertyPermissions((string,(uint8,bool)[])[])
- function setTokenPropertyPermissions(Tuple53[] memory permissions) public {
+ function setTokenPropertyPermissions(Tuple58[] memory permissions) public {
require(false, stub_error);
permissions;
dummy = 0;
@@ -51,10 +51,10 @@
/// @notice Get permissions for token properties.
/// @dev EVM selector for this function is: 0xf23d7790,
/// or in textual repr: tokenPropertyPermissions()
- function tokenPropertyPermissions() public view returns (Tuple53[] memory) {
+ function tokenPropertyPermissions() public view returns (Tuple58[] memory) {
require(false, stub_error);
dummy;
- return new Tuple53[](0);
+ return new Tuple58[](0);
}
// /// @notice Set token property value.
@@ -133,20 +133,24 @@
bytes value;
}
+/// @dev Ethereum representation of TokenPermissions (see [`up_data_structs::PropertyPermission`]) fields as an enumeration.
enum EthTokenPermissions {
+ /// @dev Permission to change the property and property permission. See [`up_data_structs::PropertyPermission::mutable`]
Mutable,
+ /// @dev Change permission for the collection administrator. See [`up_data_structs::PropertyPermission::token_owner`]
TokenOwner,
+ /// @dev Permission to change the property for the owner of the token. See [`up_data_structs::PropertyPermission::collection_admin`]
CollectionAdmin
}
/// @dev anonymous struct
-struct Tuple53 {
+struct Tuple58 {
string field_0;
- Tuple51[] field_1;
+ Tuple56[] field_1;
}
/// @dev anonymous struct
-struct Tuple51 {
+struct Tuple56 {
EthTokenPermissions field_0;
bool field_1;
}
@@ -621,15 +625,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}
tests/src/eth/abi/nonFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/nonFungible.json
+++ b/tests/src/eth/abi/nonFungible.json
@@ -736,12 +736,12 @@
},
{ "internalType": "bool", "name": "field_1", "type": "bool" }
],
- "internalType": "struct Tuple46[]",
+ "internalType": "struct Tuple57[]",
"name": "field_1",
"type": "tuple[]"
}
],
- "internalType": "struct Tuple48[]",
+ "internalType": "struct Tuple59[]",
"name": "permissions",
"type": "tuple[]"
}
@@ -802,12 +802,12 @@
},
{ "internalType": "bool", "name": "field_1", "type": "bool" }
],
- "internalType": "struct Tuple46[]",
+ "internalType": "struct Tuple57[]",
"name": "field_1",
"type": "tuple[]"
}
],
- "internalType": "struct Tuple48[]",
+ "internalType": "struct Tuple59[]",
"name": "",
"type": "tuple[]"
}
tests/src/eth/abi/reFungible.jsondiffbeforeafterboth1[2 {3 "anonymous": false,4 "inputs": [5 {6 "indexed": true,7 "internalType": "address",8 "name": "owner",9 "type": "address"10 },11 {12 "indexed": true,13 "internalType": "address",14 "name": "approved",15 "type": "address"16 },17 {18 "indexed": true,19 "internalType": "uint256",20 "name": "tokenId",21 "type": "uint256"22 }23 ],24 "name": "Approval",25 "type": "event"26 },27 {28 "anonymous": false,29 "inputs": [30 {31 "indexed": true,32 "internalType": "address",33 "name": "owner",34 "type": "address"35 },36 {37 "indexed": true,38 "internalType": "address",39 "name": "operator",40 "type": "address"41 },42 {43 "indexed": false,44 "internalType": "bool",45 "name": "approved",46 "type": "bool"47 }48 ],49 "name": "ApprovalForAll",50 "type": "event"51 },52 {53 "anonymous": false,54 "inputs": [],55 "name": "MintingFinished",56 "type": "event"57 },58 {59 "anonymous": false,60 "inputs": [61 {62 "indexed": true,63 "internalType": "address",64 "name": "from",65 "type": "address"66 },67 {68 "indexed": true,69 "internalType": "address",70 "name": "to",71 "type": "address"72 },73 {74 "indexed": true,75 "internalType": "uint256",76 "name": "tokenId",77 "type": "uint256"78 }79 ],80 "name": "Transfer",81 "type": "event"82 },83 {84 "inputs": [85 {86 "components": [87 { "internalType": "address", "name": "eth", "type": "address" },88 { "internalType": "uint256", "name": "sub", "type": "uint256" }89 ],90 "internalType": "struct EthCrossAccount",91 "name": "newAdmin",92 "type": "tuple"93 }94 ],95 "name": "addCollectionAdminCross",96 "outputs": [],97 "stateMutability": "nonpayable",98 "type": "function"99 },100 {101 "inputs": [102 {103 "components": [104 { "internalType": "address", "name": "eth", "type": "address" },105 { "internalType": "uint256", "name": "sub", "type": "uint256" }106 ],107 "internalType": "struct EthCrossAccount",108 "name": "user",109 "type": "tuple"110 }111 ],112 "name": "addToCollectionAllowListCross",113 "outputs": [],114 "stateMutability": "nonpayable",115 "type": "function"116 },117 {118 "inputs": [119 {120 "components": [121 { "internalType": "address", "name": "eth", "type": "address" },122 { "internalType": "uint256", "name": "sub", "type": "uint256" }123 ],124 "internalType": "struct EthCrossAccount",125 "name": "user",126 "type": "tuple"127 }128 ],129 "name": "allowlistedCross",130 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],131 "stateMutability": "view",132 "type": "function"133 },134 {135 "inputs": [136 { "internalType": "address", "name": "approved", "type": "address" },137 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }138 ],139 "name": "approve",140 "outputs": [],141 "stateMutability": "nonpayable",142 "type": "function"143 },144 {145 "inputs": [146 { "internalType": "address", "name": "owner", "type": "address" }147 ],148 "name": "balanceOf",149 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],150 "stateMutability": "view",151 "type": "function"152 },153 {154 "inputs": [155 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }156 ],157 "name": "burn",158 "outputs": [],159 "stateMutability": "nonpayable",160 "type": "function"161 },162 {163 "inputs": [164 {165 "components": [166 { "internalType": "address", "name": "eth", "type": "address" },167 { "internalType": "uint256", "name": "sub", "type": "uint256" }168 ],169 "internalType": "struct EthCrossAccount",170 "name": "from",171 "type": "tuple"172 },173 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }174 ],175 "name": "burnFromCross",176 "outputs": [],177 "stateMutability": "nonpayable",178 "type": "function"179 },180 {181 "inputs": [182 {183 "components": [184 { "internalType": "address", "name": "eth", "type": "address" },185 { "internalType": "uint256", "name": "sub", "type": "uint256" }186 ],187 "internalType": "struct EthCrossAccount",188 "name": "newOwner",189 "type": "tuple"190 }191 ],192 "name": "changeCollectionOwnerCross",193 "outputs": [],194 "stateMutability": "nonpayable",195 "type": "function"196 },197 {198 "inputs": [],199 "name": "collectionAdmins",200 "outputs": [201 {202 "components": [203 { "internalType": "address", "name": "eth", "type": "address" },204 { "internalType": "uint256", "name": "sub", "type": "uint256" }205 ],206 "internalType": "struct EthCrossAccount[]",207 "name": "",208 "type": "tuple[]"209 }210 ],211 "stateMutability": "view",212 "type": "function"213 },214 {215 "inputs": [],216 "name": "collectionHelperAddress",217 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],218 "stateMutability": "view",219 "type": "function"220 },221 {222 "inputs": [],223 "name": "collectionLimits",224 "outputs": [225 {226 "components": [227 {228 "internalType": "enum CollectionLimits",229 "name": "field_0",230 "type": "uint8"231 },232 { "internalType": "bool", "name": "field_1", "type": "bool" },233 { "internalType": "uint256", "name": "field_2", "type": "uint256" }234 ],235 "internalType": "struct Tuple32[]",236 "name": "",237 "type": "tuple[]"238 }239 ],240 "stateMutability": "view",241 "type": "function"242 },243 {244 "inputs": [],245 "name": "collectionNestingPermissions",246 "outputs": [247 {248 "components": [249 {250 "internalType": "enum CollectionPermissions",251 "name": "field_0",252 "type": "uint8"253 },254 { "internalType": "bool", "name": "field_1", "type": "bool" }255 ],256 "internalType": "struct Tuple41[]",257 "name": "",258 "type": "tuple[]"259 }260 ],261 "stateMutability": "view",262 "type": "function"263 },264 {265 "inputs": [],266 "name": "collectionNestingRestrictedCollectionIds",267 "outputs": [268 {269 "components": [270 { "internalType": "bool", "name": "field_0", "type": "bool" },271 {272 "internalType": "uint256[]",273 "name": "field_1",274 "type": "uint256[]"275 }276 ],277 "internalType": "struct Tuple38",278 "name": "",279 "type": "tuple"280 }281 ],282 "stateMutability": "view",283 "type": "function"284 },285 {286 "inputs": [],287 "name": "collectionOwner",288 "outputs": [289 {290 "components": [291 { "internalType": "address", "name": "eth", "type": "address" },292 { "internalType": "uint256", "name": "sub", "type": "uint256" }293 ],294 "internalType": "struct EthCrossAccount",295 "name": "",296 "type": "tuple"297 }298 ],299 "stateMutability": "view",300 "type": "function"301 },302 {303 "inputs": [304 { "internalType": "string[]", "name": "keys", "type": "string[]" }305 ],306 "name": "collectionProperties",307 "outputs": [308 {309 "components": [310 { "internalType": "string", "name": "key", "type": "string" },311 { "internalType": "bytes", "name": "value", "type": "bytes" }312 ],313 "internalType": "struct Property[]",314 "name": "",315 "type": "tuple[]"316 }317 ],318 "stateMutability": "view",319 "type": "function"320 },321 {322 "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],323 "name": "collectionProperty",324 "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],325 "stateMutability": "view",326 "type": "function"327 },328 {329 "inputs": [],330 "name": "collectionSponsor",331 "outputs": [332 {333 "components": [334 { "internalType": "address", "name": "field_0", "type": "address" },335 { "internalType": "uint256", "name": "field_1", "type": "uint256" }336 ],337 "internalType": "struct Tuple29",338 "name": "",339 "type": "tuple"340 }341 ],342 "stateMutability": "view",343 "type": "function"344 },345 {346 "inputs": [],347 "name": "confirmCollectionSponsorship",348 "outputs": [],349 "stateMutability": "nonpayable",350 "type": "function"351 },352 {353 "inputs": [],354 "name": "contractAddress",355 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],356 "stateMutability": "view",357 "type": "function"358 },359 {360 "inputs": [361 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }362 ],363 "name": "crossOwnerOf",364 "outputs": [365 {366 "components": [367 { "internalType": "address", "name": "eth", "type": "address" },368 { "internalType": "uint256", "name": "sub", "type": "uint256" }369 ],370 "internalType": "struct EthCrossAccount",371 "name": "",372 "type": "tuple"373 }374 ],375 "stateMutability": "view",376 "type": "function"377 },378 {379 "inputs": [380 { "internalType": "string[]", "name": "keys", "type": "string[]" }381 ],382 "name": "deleteCollectionProperties",383 "outputs": [],384 "stateMutability": "nonpayable",385 "type": "function"386 },387 {388 "inputs": [389 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },390 { "internalType": "string[]", "name": "keys", "type": "string[]" }391 ],392 "name": "deleteProperties",393 "outputs": [],394 "stateMutability": "nonpayable",395 "type": "function"396 },397 {398 "inputs": [],399 "name": "description",400 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],401 "stateMutability": "view",402 "type": "function"403 },404 {405 "inputs": [],406 "name": "finishMinting",407 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],408 "stateMutability": "nonpayable",409 "type": "function"410 },411 {412 "inputs": [413 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }414 ],415 "name": "getApproved",416 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],417 "stateMutability": "view",418 "type": "function"419 },420 {421 "inputs": [],422 "name": "hasCollectionPendingSponsor",423 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],424 "stateMutability": "view",425 "type": "function"426 },427 {428 "inputs": [429 { "internalType": "address", "name": "owner", "type": "address" },430 { "internalType": "address", "name": "operator", "type": "address" }431 ],432 "name": "isApprovedForAll",433 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],434 "stateMutability": "view",435 "type": "function"436 },437 {438 "inputs": [439 {440 "components": [441 { "internalType": "address", "name": "eth", "type": "address" },442 { "internalType": "uint256", "name": "sub", "type": "uint256" }443 ],444 "internalType": "struct EthCrossAccount",445 "name": "user",446 "type": "tuple"447 }448 ],449 "name": "isOwnerOrAdminCross",450 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],451 "stateMutability": "view",452 "type": "function"453 },454 {455 "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],456 "name": "mint",457 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],458 "stateMutability": "nonpayable",459 "type": "function"460 },461 {462 "inputs": [463 { "internalType": "address", "name": "to", "type": "address" },464 { "internalType": "string", "name": "tokenUri", "type": "string" }465 ],466 "name": "mintWithTokenURI",467 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],468 "stateMutability": "nonpayable",469 "type": "function"470 },471 {472 "inputs": [],473 "name": "mintingFinished",474 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],475 "stateMutability": "view",476 "type": "function"477 },478 {479 "inputs": [],480 "name": "name",481 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],482 "stateMutability": "view",483 "type": "function"484 },485 {486 "inputs": [],487 "name": "nextTokenId",488 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],489 "stateMutability": "view",490 "type": "function"491 },492 {493 "inputs": [494 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }495 ],496 "name": "ownerOf",497 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],498 "stateMutability": "view",499 "type": "function"500 },501 {502 "inputs": [503 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },504 { "internalType": "string[]", "name": "keys", "type": "string[]" }505 ],506 "name": "properties",507 "outputs": [508 {509 "components": [510 { "internalType": "string", "name": "key", "type": "string" },511 { "internalType": "bytes", "name": "value", "type": "bytes" }512 ],513 "internalType": "struct Property[]",514 "name": "",515 "type": "tuple[]"516 }517 ],518 "stateMutability": "view",519 "type": "function"520 },521 {522 "inputs": [523 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },524 { "internalType": "string", "name": "key", "type": "string" }525 ],526 "name": "property",527 "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],528 "stateMutability": "view",529 "type": "function"530 },531 {532 "inputs": [533 {534 "components": [535 { "internalType": "address", "name": "eth", "type": "address" },536 { "internalType": "uint256", "name": "sub", "type": "uint256" }537 ],538 "internalType": "struct EthCrossAccount",539 "name": "admin",540 "type": "tuple"541 }542 ],543 "name": "removeCollectionAdminCross",544 "outputs": [],545 "stateMutability": "nonpayable",546 "type": "function"547 },548 {549 "inputs": [],550 "name": "removeCollectionSponsor",551 "outputs": [],552 "stateMutability": "nonpayable",553 "type": "function"554 },555 {556 "inputs": [557 {558 "components": [559 { "internalType": "address", "name": "eth", "type": "address" },560 { "internalType": "uint256", "name": "sub", "type": "uint256" }561 ],562 "internalType": "struct EthCrossAccount",563 "name": "user",564 "type": "tuple"565 }566 ],567 "name": "removeFromCollectionAllowListCross",568 "outputs": [],569 "stateMutability": "nonpayable",570 "type": "function"571 },572 {573 "inputs": [574 { "internalType": "address", "name": "from", "type": "address" },575 { "internalType": "address", "name": "to", "type": "address" },576 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }577 ],578 "name": "safeTransferFrom",579 "outputs": [],580 "stateMutability": "nonpayable",581 "type": "function"582 },583 {584 "inputs": [585 { "internalType": "address", "name": "from", "type": "address" },586 { "internalType": "address", "name": "to", "type": "address" },587 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },588 { "internalType": "bytes", "name": "data", "type": "bytes" }589 ],590 "name": "safeTransferFromWithData",591 "outputs": [],592 "stateMutability": "nonpayable",593 "type": "function"594 },595 {596 "inputs": [597 { "internalType": "address", "name": "operator", "type": "address" },598 { "internalType": "bool", "name": "approved", "type": "bool" }599 ],600 "name": "setApprovalForAll",601 "outputs": [],602 "stateMutability": "nonpayable",603 "type": "function"604 },605 {606 "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],607 "name": "setCollectionAccess",608 "outputs": [],609 "stateMutability": "nonpayable",610 "type": "function"611 },612 {613 "inputs": [614 {615 "internalType": "enum CollectionLimits",616 "name": "limit",617 "type": "uint8"618 },619 { "internalType": "bool", "name": "status", "type": "bool" },620 { "internalType": "uint256", "name": "value", "type": "uint256" }621 ],622 "name": "setCollectionLimit",623 "outputs": [],624 "stateMutability": "nonpayable",625 "type": "function"626 },627 {628 "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],629 "name": "setCollectionMintMode",630 "outputs": [],631 "stateMutability": "nonpayable",632 "type": "function"633 },634 {635 "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],636 "name": "setCollectionNesting",637 "outputs": [],638 "stateMutability": "nonpayable",639 "type": "function"640 },641 {642 "inputs": [643 { "internalType": "bool", "name": "enable", "type": "bool" },644 {645 "internalType": "address[]",646 "name": "collections",647 "type": "address[]"648 }649 ],650 "name": "setCollectionNesting",651 "outputs": [],652 "stateMutability": "nonpayable",653 "type": "function"654 },655 {656 "inputs": [657 {658 "components": [659 { "internalType": "string", "name": "key", "type": "string" },660 { "internalType": "bytes", "name": "value", "type": "bytes" }661 ],662 "internalType": "struct Property[]",663 "name": "properties",664 "type": "tuple[]"665 }666 ],667 "name": "setCollectionProperties",668 "outputs": [],669 "stateMutability": "nonpayable",670 "type": "function"671 },672 {673 "inputs": [674 {675 "components": [676 { "internalType": "address", "name": "eth", "type": "address" },677 { "internalType": "uint256", "name": "sub", "type": "uint256" }678 ],679 "internalType": "struct EthCrossAccount",680 "name": "sponsor",681 "type": "tuple"682 }683 ],684 "name": "setCollectionSponsorCross",685 "outputs": [],686 "stateMutability": "nonpayable",687 "type": "function"688 },689 {690 "inputs": [691 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },692 {693 "components": [694 { "internalType": "string", "name": "key", "type": "string" },695 { "internalType": "bytes", "name": "value", "type": "bytes" }696 ],697 "internalType": "struct Property[]",698 "name": "properties",699 "type": "tuple[]"700 }701 ],702 "name": "setProperties",703 "outputs": [],704 "stateMutability": "nonpayable",705 "type": "function"706 },707 {708 "inputs": [709 {710 "components": [711 { "internalType": "string", "name": "field_0", "type": "string" },712 {713 "components": [714 {715 "internalType": "enum EthTokenPermissions",716 "name": "field_0",717 "type": "uint8"718 },719 { "internalType": "bool", "name": "field_1", "type": "bool" }720 ],721 "internalType": "struct Tuple51[]",722 "name": "field_1",723 "type": "tuple[]"724 }725 ],726 "internalType": "struct Tuple53[]",727 "name": "permissions",728 "type": "tuple[]"729 }730 ],731 "name": "setTokenPropertyPermissions",732 "outputs": [],733 "stateMutability": "nonpayable",734 "type": "function"735 },736 {737 "inputs": [738 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }739 ],740 "name": "supportsInterface",741 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],742 "stateMutability": "view",743 "type": "function"744 },745 {746 "inputs": [],747 "name": "symbol",748 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],749 "stateMutability": "view",750 "type": "function"751 },752 {753 "inputs": [754 { "internalType": "uint256", "name": "index", "type": "uint256" }755 ],756 "name": "tokenByIndex",757 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],758 "stateMutability": "view",759 "type": "function"760 },761 {762 "inputs": [763 { "internalType": "uint256", "name": "token", "type": "uint256" }764 ],765 "name": "tokenContractAddress",766 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],767 "stateMutability": "view",768 "type": "function"769 },770 {771 "inputs": [772 { "internalType": "address", "name": "owner", "type": "address" },773 { "internalType": "uint256", "name": "index", "type": "uint256" }774 ],775 "name": "tokenOfOwnerByIndex",776 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],777 "stateMutability": "view",778 "type": "function"779 },780 {781 "inputs": [],782 "name": "tokenPropertyPermissions",783 "outputs": [784 {785 "components": [786 { "internalType": "string", "name": "field_0", "type": "string" },787 {788 "components": [789 {790 "internalType": "enum EthTokenPermissions",791 "name": "field_0",792 "type": "uint8"793 },794 { "internalType": "bool", "name": "field_1", "type": "bool" }795 ],796 "internalType": "struct Tuple51[]",797 "name": "field_1",798 "type": "tuple[]"799 }800 ],801 "internalType": "struct Tuple53[]",802 "name": "",803 "type": "tuple[]"804 }805 ],806 "stateMutability": "view",807 "type": "function"808 },809 {810 "inputs": [811 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }812 ],813 "name": "tokenURI",814 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],815 "stateMutability": "view",816 "type": "function"817 },818 {819 "inputs": [],820 "name": "totalSupply",821 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],822 "stateMutability": "view",823 "type": "function"824 },825 {826 "inputs": [827 { "internalType": "address", "name": "to", "type": "address" },828 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }829 ],830 "name": "transfer",831 "outputs": [],832 "stateMutability": "nonpayable",833 "type": "function"834 },835 {836 "inputs": [837 {838 "components": [839 { "internalType": "address", "name": "eth", "type": "address" },840 { "internalType": "uint256", "name": "sub", "type": "uint256" }841 ],842 "internalType": "struct EthCrossAccount",843 "name": "to",844 "type": "tuple"845 },846 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }847 ],848 "name": "transferCross",849 "outputs": [],850 "stateMutability": "nonpayable",851 "type": "function"852 },853 {854 "inputs": [855 { "internalType": "address", "name": "from", "type": "address" },856 { "internalType": "address", "name": "to", "type": "address" },857 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }858 ],859 "name": "transferFrom",860 "outputs": [],861 "stateMutability": "nonpayable",862 "type": "function"863 },864 {865 "inputs": [866 {867 "components": [868 { "internalType": "address", "name": "eth", "type": "address" },869 { "internalType": "uint256", "name": "sub", "type": "uint256" }870 ],871 "internalType": "struct EthCrossAccount",872 "name": "from",873 "type": "tuple"874 },875 {876 "components": [877 { "internalType": "address", "name": "eth", "type": "address" },878 { "internalType": "uint256", "name": "sub", "type": "uint256" }879 ],880 "internalType": "struct EthCrossAccount",881 "name": "to",882 "type": "tuple"883 },884 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }885 ],886 "name": "transferFromCross",887 "outputs": [],888 "stateMutability": "nonpayable",889 "type": "function"890 },891 {892 "inputs": [],893 "name": "uniqueCollectionType",894 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],895 "stateMutability": "view",896 "type": "function"897 }898]1[2 {3 "anonymous": false,4 "inputs": [5 {6 "indexed": true,7 "internalType": "address",8 "name": "owner",9 "type": "address"10 },11 {12 "indexed": true,13 "internalType": "address",14 "name": "approved",15 "type": "address"16 },17 {18 "indexed": true,19 "internalType": "uint256",20 "name": "tokenId",21 "type": "uint256"22 }23 ],24 "name": "Approval",25 "type": "event"26 },27 {28 "anonymous": false,29 "inputs": [30 {31 "indexed": true,32 "internalType": "address",33 "name": "owner",34 "type": "address"35 },36 {37 "indexed": true,38 "internalType": "address",39 "name": "operator",40 "type": "address"41 },42 {43 "indexed": false,44 "internalType": "bool",45 "name": "approved",46 "type": "bool"47 }48 ],49 "name": "ApprovalForAll",50 "type": "event"51 },52 {53 "anonymous": false,54 "inputs": [],55 "name": "MintingFinished",56 "type": "event"57 },58 {59 "anonymous": false,60 "inputs": [61 {62 "indexed": true,63 "internalType": "address",64 "name": "from",65 "type": "address"66 },67 {68 "indexed": true,69 "internalType": "address",70 "name": "to",71 "type": "address"72 },73 {74 "indexed": true,75 "internalType": "uint256",76 "name": "tokenId",77 "type": "uint256"78 }79 ],80 "name": "Transfer",81 "type": "event"82 },83 {84 "inputs": [85 {86 "components": [87 { "internalType": "address", "name": "eth", "type": "address" },88 { "internalType": "uint256", "name": "sub", "type": "uint256" }89 ],90 "internalType": "struct EthCrossAccount",91 "name": "newAdmin",92 "type": "tuple"93 }94 ],95 "name": "addCollectionAdminCross",96 "outputs": [],97 "stateMutability": "nonpayable",98 "type": "function"99 },100 {101 "inputs": [102 {103 "components": [104 { "internalType": "address", "name": "eth", "type": "address" },105 { "internalType": "uint256", "name": "sub", "type": "uint256" }106 ],107 "internalType": "struct EthCrossAccount",108 "name": "user",109 "type": "tuple"110 }111 ],112 "name": "addToCollectionAllowListCross",113 "outputs": [],114 "stateMutability": "nonpayable",115 "type": "function"116 },117 {118 "inputs": [119 {120 "components": [121 { "internalType": "address", "name": "eth", "type": "address" },122 { "internalType": "uint256", "name": "sub", "type": "uint256" }123 ],124 "internalType": "struct EthCrossAccount",125 "name": "user",126 "type": "tuple"127 }128 ],129 "name": "allowlistedCross",130 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],131 "stateMutability": "view",132 "type": "function"133 },134 {135 "inputs": [136 { "internalType": "address", "name": "approved", "type": "address" },137 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }138 ],139 "name": "approve",140 "outputs": [],141 "stateMutability": "nonpayable",142 "type": "function"143 },144 {145 "inputs": [146 { "internalType": "address", "name": "owner", "type": "address" }147 ],148 "name": "balanceOf",149 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],150 "stateMutability": "view",151 "type": "function"152 },153 {154 "inputs": [155 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }156 ],157 "name": "burn",158 "outputs": [],159 "stateMutability": "nonpayable",160 "type": "function"161 },162 {163 "inputs": [164 {165 "components": [166 { "internalType": "address", "name": "eth", "type": "address" },167 { "internalType": "uint256", "name": "sub", "type": "uint256" }168 ],169 "internalType": "struct EthCrossAccount",170 "name": "from",171 "type": "tuple"172 },173 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }174 ],175 "name": "burnFromCross",176 "outputs": [],177 "stateMutability": "nonpayable",178 "type": "function"179 },180 {181 "inputs": [182 {183 "components": [184 { "internalType": "address", "name": "eth", "type": "address" },185 { "internalType": "uint256", "name": "sub", "type": "uint256" }186 ],187 "internalType": "struct EthCrossAccount",188 "name": "newOwner",189 "type": "tuple"190 }191 ],192 "name": "changeCollectionOwnerCross",193 "outputs": [],194 "stateMutability": "nonpayable",195 "type": "function"196 },197 {198 "inputs": [],199 "name": "collectionAdmins",200 "outputs": [201 {202 "components": [203 { "internalType": "address", "name": "eth", "type": "address" },204 { "internalType": "uint256", "name": "sub", "type": "uint256" }205 ],206 "internalType": "struct EthCrossAccount[]",207 "name": "",208 "type": "tuple[]"209 }210 ],211 "stateMutability": "view",212 "type": "function"213 },214 {215 "inputs": [],216 "name": "collectionHelperAddress",217 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],218 "stateMutability": "view",219 "type": "function"220 },221 {222 "inputs": [],223 "name": "collectionLimits",224 "outputs": [225 {226 "components": [227 {228 "internalType": "enum CollectionLimits",229 "name": "field_0",230 "type": "uint8"231 },232 { "internalType": "bool", "name": "field_1", "type": "bool" },233 { "internalType": "uint256", "name": "field_2", "type": "uint256" }234 ],235 "internalType": "struct Tuple32[]",236 "name": "",237 "type": "tuple[]"238 }239 ],240 "stateMutability": "view",241 "type": "function"242 },243 {244 "inputs": [],245 "name": "collectionNestingPermissions",246 "outputs": [247 {248 "components": [249 {250 "internalType": "enum CollectionPermissions",251 "name": "field_0",252 "type": "uint8"253 },254 { "internalType": "bool", "name": "field_1", "type": "bool" }255 ],256 "internalType": "struct Tuple41[]",257 "name": "",258 "type": "tuple[]"259 }260 ],261 "stateMutability": "view",262 "type": "function"263 },264 {265 "inputs": [],266 "name": "collectionNestingRestrictedCollectionIds",267 "outputs": [268 {269 "components": [270 { "internalType": "bool", "name": "field_0", "type": "bool" },271 {272 "internalType": "uint256[]",273 "name": "field_1",274 "type": "uint256[]"275 }276 ],277 "internalType": "struct Tuple38",278 "name": "",279 "type": "tuple"280 }281 ],282 "stateMutability": "view",283 "type": "function"284 },285 {286 "inputs": [],287 "name": "collectionOwner",288 "outputs": [289 {290 "components": [291 { "internalType": "address", "name": "eth", "type": "address" },292 { "internalType": "uint256", "name": "sub", "type": "uint256" }293 ],294 "internalType": "struct EthCrossAccount",295 "name": "",296 "type": "tuple"297 }298 ],299 "stateMutability": "view",300 "type": "function"301 },302 {303 "inputs": [304 { "internalType": "string[]", "name": "keys", "type": "string[]" }305 ],306 "name": "collectionProperties",307 "outputs": [308 {309 "components": [310 { "internalType": "string", "name": "key", "type": "string" },311 { "internalType": "bytes", "name": "value", "type": "bytes" }312 ],313 "internalType": "struct Property[]",314 "name": "",315 "type": "tuple[]"316 }317 ],318 "stateMutability": "view",319 "type": "function"320 },321 {322 "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],323 "name": "collectionProperty",324 "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],325 "stateMutability": "view",326 "type": "function"327 },328 {329 "inputs": [],330 "name": "collectionSponsor",331 "outputs": [332 {333 "components": [334 { "internalType": "address", "name": "field_0", "type": "address" },335 { "internalType": "uint256", "name": "field_1", "type": "uint256" }336 ],337 "internalType": "struct Tuple29",338 "name": "",339 "type": "tuple"340 }341 ],342 "stateMutability": "view",343 "type": "function"344 },345 {346 "inputs": [],347 "name": "confirmCollectionSponsorship",348 "outputs": [],349 "stateMutability": "nonpayable",350 "type": "function"351 },352 {353 "inputs": [],354 "name": "contractAddress",355 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],356 "stateMutability": "view",357 "type": "function"358 },359 {360 "inputs": [361 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }362 ],363 "name": "crossOwnerOf",364 "outputs": [365 {366 "components": [367 { "internalType": "address", "name": "eth", "type": "address" },368 { "internalType": "uint256", "name": "sub", "type": "uint256" }369 ],370 "internalType": "struct EthCrossAccount",371 "name": "",372 "type": "tuple"373 }374 ],375 "stateMutability": "view",376 "type": "function"377 },378 {379 "inputs": [380 { "internalType": "string[]", "name": "keys", "type": "string[]" }381 ],382 "name": "deleteCollectionProperties",383 "outputs": [],384 "stateMutability": "nonpayable",385 "type": "function"386 },387 {388 "inputs": [389 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },390 { "internalType": "string[]", "name": "keys", "type": "string[]" }391 ],392 "name": "deleteProperties",393 "outputs": [],394 "stateMutability": "nonpayable",395 "type": "function"396 },397 {398 "inputs": [],399 "name": "description",400 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],401 "stateMutability": "view",402 "type": "function"403 },404 {405 "inputs": [],406 "name": "finishMinting",407 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],408 "stateMutability": "nonpayable",409 "type": "function"410 },411 {412 "inputs": [413 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }414 ],415 "name": "getApproved",416 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],417 "stateMutability": "view",418 "type": "function"419 },420 {421 "inputs": [],422 "name": "hasCollectionPendingSponsor",423 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],424 "stateMutability": "view",425 "type": "function"426 },427 {428 "inputs": [429 { "internalType": "address", "name": "owner", "type": "address" },430 { "internalType": "address", "name": "operator", "type": "address" }431 ],432 "name": "isApprovedForAll",433 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],434 "stateMutability": "view",435 "type": "function"436 },437 {438 "inputs": [439 {440 "components": [441 { "internalType": "address", "name": "eth", "type": "address" },442 { "internalType": "uint256", "name": "sub", "type": "uint256" }443 ],444 "internalType": "struct EthCrossAccount",445 "name": "user",446 "type": "tuple"447 }448 ],449 "name": "isOwnerOrAdminCross",450 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],451 "stateMutability": "view",452 "type": "function"453 },454 {455 "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],456 "name": "mint",457 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],458 "stateMutability": "nonpayable",459 "type": "function"460 },461 {462 "inputs": [463 { "internalType": "address", "name": "to", "type": "address" },464 { "internalType": "string", "name": "tokenUri", "type": "string" }465 ],466 "name": "mintWithTokenURI",467 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],468 "stateMutability": "nonpayable",469 "type": "function"470 },471 {472 "inputs": [],473 "name": "mintingFinished",474 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],475 "stateMutability": "view",476 "type": "function"477 },478 {479 "inputs": [],480 "name": "name",481 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],482 "stateMutability": "view",483 "type": "function"484 },485 {486 "inputs": [],487 "name": "nextTokenId",488 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],489 "stateMutability": "view",490 "type": "function"491 },492 {493 "inputs": [494 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }495 ],496 "name": "ownerOf",497 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],498 "stateMutability": "view",499 "type": "function"500 },501 {502 "inputs": [503 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },504 { "internalType": "string[]", "name": "keys", "type": "string[]" }505 ],506 "name": "properties",507 "outputs": [508 {509 "components": [510 { "internalType": "string", "name": "key", "type": "string" },511 { "internalType": "bytes", "name": "value", "type": "bytes" }512 ],513 "internalType": "struct Property[]",514 "name": "",515 "type": "tuple[]"516 }517 ],518 "stateMutability": "view",519 "type": "function"520 },521 {522 "inputs": [523 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },524 { "internalType": "string", "name": "key", "type": "string" }525 ],526 "name": "property",527 "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],528 "stateMutability": "view",529 "type": "function"530 },531 {532 "inputs": [533 {534 "components": [535 { "internalType": "address", "name": "eth", "type": "address" },536 { "internalType": "uint256", "name": "sub", "type": "uint256" }537 ],538 "internalType": "struct EthCrossAccount",539 "name": "admin",540 "type": "tuple"541 }542 ],543 "name": "removeCollectionAdminCross",544 "outputs": [],545 "stateMutability": "nonpayable",546 "type": "function"547 },548 {549 "inputs": [],550 "name": "removeCollectionSponsor",551 "outputs": [],552 "stateMutability": "nonpayable",553 "type": "function"554 },555 {556 "inputs": [557 {558 "components": [559 { "internalType": "address", "name": "eth", "type": "address" },560 { "internalType": "uint256", "name": "sub", "type": "uint256" }561 ],562 "internalType": "struct EthCrossAccount",563 "name": "user",564 "type": "tuple"565 }566 ],567 "name": "removeFromCollectionAllowListCross",568 "outputs": [],569 "stateMutability": "nonpayable",570 "type": "function"571 },572 {573 "inputs": [574 { "internalType": "address", "name": "from", "type": "address" },575 { "internalType": "address", "name": "to", "type": "address" },576 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }577 ],578 "name": "safeTransferFrom",579 "outputs": [],580 "stateMutability": "nonpayable",581 "type": "function"582 },583 {584 "inputs": [585 { "internalType": "address", "name": "from", "type": "address" },586 { "internalType": "address", "name": "to", "type": "address" },587 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },588 { "internalType": "bytes", "name": "data", "type": "bytes" }589 ],590 "name": "safeTransferFromWithData",591 "outputs": [],592 "stateMutability": "nonpayable",593 "type": "function"594 },595 {596 "inputs": [597 { "internalType": "address", "name": "operator", "type": "address" },598 { "internalType": "bool", "name": "approved", "type": "bool" }599 ],600 "name": "setApprovalForAll",601 "outputs": [],602 "stateMutability": "nonpayable",603 "type": "function"604 },605 {606 "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],607 "name": "setCollectionAccess",608 "outputs": [],609 "stateMutability": "nonpayable",610 "type": "function"611 },612 {613 "inputs": [614 {615 "internalType": "enum CollectionLimits",616 "name": "limit",617 "type": "uint8"618 },619 { "internalType": "bool", "name": "status", "type": "bool" },620 { "internalType": "uint256", "name": "value", "type": "uint256" }621 ],622 "name": "setCollectionLimit",623 "outputs": [],624 "stateMutability": "nonpayable",625 "type": "function"626 },627 {628 "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],629 "name": "setCollectionMintMode",630 "outputs": [],631 "stateMutability": "nonpayable",632 "type": "function"633 },634 {635 "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],636 "name": "setCollectionNesting",637 "outputs": [],638 "stateMutability": "nonpayable",639 "type": "function"640 },641 {642 "inputs": [643 { "internalType": "bool", "name": "enable", "type": "bool" },644 {645 "internalType": "address[]",646 "name": "collections",647 "type": "address[]"648 }649 ],650 "name": "setCollectionNesting",651 "outputs": [],652 "stateMutability": "nonpayable",653 "type": "function"654 },655 {656 "inputs": [657 {658 "components": [659 { "internalType": "string", "name": "key", "type": "string" },660 { "internalType": "bytes", "name": "value", "type": "bytes" }661 ],662 "internalType": "struct Property[]",663 "name": "properties",664 "type": "tuple[]"665 }666 ],667 "name": "setCollectionProperties",668 "outputs": [],669 "stateMutability": "nonpayable",670 "type": "function"671 },672 {673 "inputs": [674 {675 "components": [676 { "internalType": "address", "name": "eth", "type": "address" },677 { "internalType": "uint256", "name": "sub", "type": "uint256" }678 ],679 "internalType": "struct EthCrossAccount",680 "name": "sponsor",681 "type": "tuple"682 }683 ],684 "name": "setCollectionSponsorCross",685 "outputs": [],686 "stateMutability": "nonpayable",687 "type": "function"688 },689 {690 "inputs": [691 { "internalType": "uint256", "name": "tokenId", "type": "uint256" },692 {693 "components": [694 { "internalType": "string", "name": "key", "type": "string" },695 { "internalType": "bytes", "name": "value", "type": "bytes" }696 ],697 "internalType": "struct Property[]",698 "name": "properties",699 "type": "tuple[]"700 }701 ],702 "name": "setProperties",703 "outputs": [],704 "stateMutability": "nonpayable",705 "type": "function"706 },707 {708 "inputs": [709 {710 "components": [711 { "internalType": "string", "name": "field_0", "type": "string" },712 {713 "components": [714 {715 "internalType": "enum EthTokenPermissions",716 "name": "field_0",717 "type": "uint8"718 },719 { "internalType": "bool", "name": "field_1", "type": "bool" }720 ],721 "internalType": "struct Tuple56[]",722 "name": "field_1",723 "type": "tuple[]"724 }725 ],726 "internalType": "struct Tuple58[]",727 "name": "permissions",728 "type": "tuple[]"729 }730 ],731 "name": "setTokenPropertyPermissions",732 "outputs": [],733 "stateMutability": "nonpayable",734 "type": "function"735 },736 {737 "inputs": [738 { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }739 ],740 "name": "supportsInterface",741 "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],742 "stateMutability": "view",743 "type": "function"744 },745 {746 "inputs": [],747 "name": "symbol",748 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],749 "stateMutability": "view",750 "type": "function"751 },752 {753 "inputs": [754 { "internalType": "uint256", "name": "index", "type": "uint256" }755 ],756 "name": "tokenByIndex",757 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],758 "stateMutability": "view",759 "type": "function"760 },761 {762 "inputs": [763 { "internalType": "uint256", "name": "token", "type": "uint256" }764 ],765 "name": "tokenContractAddress",766 "outputs": [{ "internalType": "address", "name": "", "type": "address" }],767 "stateMutability": "view",768 "type": "function"769 },770 {771 "inputs": [772 { "internalType": "address", "name": "owner", "type": "address" },773 { "internalType": "uint256", "name": "index", "type": "uint256" }774 ],775 "name": "tokenOfOwnerByIndex",776 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],777 "stateMutability": "view",778 "type": "function"779 },780 {781 "inputs": [],782 "name": "tokenPropertyPermissions",783 "outputs": [784 {785 "components": [786 { "internalType": "string", "name": "field_0", "type": "string" },787 {788 "components": [789 {790 "internalType": "enum EthTokenPermissions",791 "name": "field_0",792 "type": "uint8"793 },794 { "internalType": "bool", "name": "field_1", "type": "bool" }795 ],796 "internalType": "struct Tuple56[]",797 "name": "field_1",798 "type": "tuple[]"799 }800 ],801 "internalType": "struct Tuple58[]",802 "name": "",803 "type": "tuple[]"804 }805 ],806 "stateMutability": "view",807 "type": "function"808 },809 {810 "inputs": [811 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }812 ],813 "name": "tokenURI",814 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],815 "stateMutability": "view",816 "type": "function"817 },818 {819 "inputs": [],820 "name": "totalSupply",821 "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],822 "stateMutability": "view",823 "type": "function"824 },825 {826 "inputs": [827 { "internalType": "address", "name": "to", "type": "address" },828 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }829 ],830 "name": "transfer",831 "outputs": [],832 "stateMutability": "nonpayable",833 "type": "function"834 },835 {836 "inputs": [837 {838 "components": [839 { "internalType": "address", "name": "eth", "type": "address" },840 { "internalType": "uint256", "name": "sub", "type": "uint256" }841 ],842 "internalType": "struct EthCrossAccount",843 "name": "to",844 "type": "tuple"845 },846 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }847 ],848 "name": "transferCross",849 "outputs": [],850 "stateMutability": "nonpayable",851 "type": "function"852 },853 {854 "inputs": [855 { "internalType": "address", "name": "from", "type": "address" },856 { "internalType": "address", "name": "to", "type": "address" },857 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }858 ],859 "name": "transferFrom",860 "outputs": [],861 "stateMutability": "nonpayable",862 "type": "function"863 },864 {865 "inputs": [866 {867 "components": [868 { "internalType": "address", "name": "eth", "type": "address" },869 { "internalType": "uint256", "name": "sub", "type": "uint256" }870 ],871 "internalType": "struct EthCrossAccount",872 "name": "from",873 "type": "tuple"874 },875 {876 "components": [877 { "internalType": "address", "name": "eth", "type": "address" },878 { "internalType": "uint256", "name": "sub", "type": "uint256" }879 ],880 "internalType": "struct EthCrossAccount",881 "name": "to",882 "type": "tuple"883 },884 { "internalType": "uint256", "name": "tokenId", "type": "uint256" }885 ],886 "name": "transferFromCross",887 "outputs": [],888 "stateMutability": "nonpayable",889 "type": "function"890 },891 {892 "inputs": [],893 "name": "uniqueCollectionType",894 "outputs": [{ "internalType": "string", "name": "", "type": "string" }],895 "stateMutability": "view",896 "type": "function"897 }898]tests/src/eth/api/UniqueFungible.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -327,15 +327,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}
tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -30,11 +30,12 @@
/// @param permissions Permissions for keys.
/// @dev EVM selector for this function is: 0xbd92983a,
/// or in textual repr: setTokenPropertyPermissions((string,(uint8,bool)[])[])
- function setTokenPropertyPermissions(Tuple43[] memory permissions) external;
+ function setTokenPropertyPermissions(Tuple52[] memory permissions) external;
+ /// @notice Get permissions for token properties.
/// @dev EVM selector for this function is: 0xf23d7790,
/// or in textual repr: tokenPropertyPermissions()
- function tokenPropertyPermissions() external view returns (Tuple43[] memory);
+ function tokenPropertyPermissions() external view returns (Tuple52[] memory);
// /// @notice Set token property value.
// /// @dev Throws error if `msg.sender` has no permission to edit the property.
@@ -85,20 +86,24 @@
bytes value;
}
+/// @dev Ethereum representation of TokenPermissions (see [`up_data_structs::PropertyPermission`]) fields as an enumeration.
enum EthTokenPermissions {
+ /// @dev Permission to change the property and property permission. See [`up_data_structs::PropertyPermission::mutable`]
Mutable,
+ /// @dev Change permission for the collection administrator. See [`up_data_structs::PropertyPermission::token_owner`]
TokenOwner,
+ /// @dev Permission to change the property for the owner of the token. See [`up_data_structs::PropertyPermission::collection_admin`]
CollectionAdmin
}
/// @dev anonymous struct
-struct Tuple43 {
+struct Tuple52 {
string field_0;
- Tuple41[] field_1;
+ Tuple50[] field_1;
}
/// @dev anonymous struct
-struct Tuple41 {
+struct Tuple50 {
EthTokenPermissions field_0;
bool field_1;
}
@@ -418,15 +423,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}
tests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -30,12 +30,12 @@
/// @param permissions Permissions for keys.
/// @dev EVM selector for this function is: 0xbd92983a,
/// or in textual repr: setTokenPropertyPermissions((string,(uint8,bool)[])[])
- function setTokenPropertyPermissions(Tuple47[] memory permissions) external;
+ function setTokenPropertyPermissions(Tuple51[] memory permissions) external;
/// @notice Get permissions for token properties.
/// @dev EVM selector for this function is: 0xf23d7790,
/// or in textual repr: tokenPropertyPermissions()
- function tokenPropertyPermissions() external view returns (Tuple47[] memory);
+ function tokenPropertyPermissions() external view returns (Tuple51[] memory);
// /// @notice Set token property value.
// /// @dev Throws error if `msg.sender` has no permission to edit the property.
@@ -86,20 +86,24 @@
bytes value;
}
+/// @dev Ethereum representation of TokenPermissions (see [`up_data_structs::PropertyPermission`]) fields as an enumeration.
enum EthTokenPermissions {
+ /// @dev Permission to change the property and property permission. See [`up_data_structs::PropertyPermission::mutable`]
Mutable,
+ /// @dev Change permission for the collection administrator. See [`up_data_structs::PropertyPermission::token_owner`]
TokenOwner,
+ /// @dev Permission to change the property for the owner of the token. See [`up_data_structs::PropertyPermission::collection_admin`]
CollectionAdmin
}
/// @dev anonymous struct
-struct Tuple47 {
+struct Tuple51 {
string field_0;
- Tuple45[] field_1;
+ Tuple49[] field_1;
}
/// @dev anonymous struct
-struct Tuple45 {
+struct Tuple49 {
EthTokenPermissions field_0;
bool field_1;
}
@@ -419,15 +423,25 @@
uint256[] field_1;
}
+/// @dev [`CollectionLimits`](up_data_structs::CollectionLimits) representation for EVM.
enum CollectionLimits {
+ /// @dev How many tokens can a user have on one account.
AccountTokenOwnership,
+ /// @dev How many bytes of data are available for sponsorship.
SponsoredDataSize,
+ /// @dev In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
SponsoredDataRateLimit,
+ /// @dev How many tokens can be mined into this collection.
TokenLimit,
+ /// @dev Timeouts for transfer sponsoring.
SponsorTransferTimeout,
+ /// @dev Timeout for sponsoring an approval in passed blocks.
SponsorApproveTimeout,
+ /// @dev Whether the collection owner of the collection can send tokens (which belong to other users).
OwnerCanTransfer,
+ /// @dev Can the collection owner burn other people's tokens.
OwnerCanDestroy,
+ /// @dev Is it possible to send tokens from this collection between users.
TransferEnabled
}