@cartesi/devnet 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/LICENSE +202 -0
  2. package/build/anvil_state.json +1 -0
  3. package/deployments/localhost/.chainId +1 -0
  4. package/deployments/localhost/AuthorityFactory.json +177 -0
  5. package/deployments/localhost/AuthorityHistoryPairFactory.json +276 -0
  6. package/deployments/localhost/Bitmask.json +44 -0
  7. package/deployments/localhost/CartesiDAppFactory.json +231 -0
  8. package/deployments/localhost/CartesiMathV2.json +213 -0
  9. package/deployments/localhost/DAppAddressRelay.json +102 -0
  10. package/deployments/localhost/ERC1155BatchPortal.json +133 -0
  11. package/deployments/localhost/ERC1155SinglePortal.json +132 -0
  12. package/deployments/localhost/ERC20Portal.json +120 -0
  13. package/deployments/localhost/ERC721Portal.json +126 -0
  14. package/deployments/localhost/EtherPortal.json +121 -0
  15. package/deployments/localhost/HistoryFactory.json +177 -0
  16. package/deployments/localhost/InputBox.json +207 -0
  17. package/deployments/localhost/MerkleV2.json +217 -0
  18. package/deployments/localhost/SelfHostedApplicationFactory.json +226 -0
  19. package/deployments/localhost/TestMultiToken.json +829 -0
  20. package/deployments/localhost/TestNFT.json +891 -0
  21. package/deployments/localhost/TestToken.json +1079 -0
  22. package/deployments/localhost/UnrolledCordic.json +54 -0
  23. package/dist/deploy/01_token.js +15 -0
  24. package/dist/deploy/02_nft.js +15 -0
  25. package/dist/deploy/03_multitoken.js +15 -0
  26. package/dist/src/tasks/deploy-anvil.d.ts +6 -0
  27. package/dist/src/tasks/deploy-anvil.d.ts.map +1 -0
  28. package/dist/src/tasks/deploy-anvil.js +38 -0
  29. package/export/abi/localhost.json +3205 -0
  30. package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +128 -0
  31. package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +137 -0
  32. package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +32 -0
  33. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +133 -0
  34. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +1251 -0
  35. package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +60 -0
  36. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +401 -0
  37. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +84 -0
  38. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +190 -0
  39. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +165 -0
  40. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +197 -0
  41. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +553 -0
  42. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +362 -0
  43. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +156 -0
  44. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +385 -0
  45. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +436 -0
  46. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +242 -0
  47. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +472 -0
  48. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +502 -0
  49. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +695 -0
  50. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +293 -0
  51. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +114 -0
  52. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +595 -0
  53. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +363 -0
  54. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +66 -0
  55. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +630 -0
  56. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +421 -0
  57. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +38 -0
  58. package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +24 -0
  59. package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +73 -0
  60. package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +103 -0
  61. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +55 -0
  62. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +40 -0
  63. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +62 -0
  64. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +84 -0
  65. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +105 -0
  66. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +36 -0
  67. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +50 -0
  68. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +50 -0
  69. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +65 -0
  70. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +173 -0
  71. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +36 -0
  72. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +41 -0
  73. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +750 -0
  74. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +779 -0
  75. package/export/artifacts/contracts/TestToken.sol/TestToken.json +963 -0
  76. package/package.json +41 -0
@@ -0,0 +1,595 @@
1
+ {
2
+ "contractName": "ERC721",
3
+ "sourceName": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
4
+ "abi": [
5
+ {
6
+ "inputs": [
7
+ {
8
+ "internalType": "address",
9
+ "name": "sender",
10
+ "type": "address"
11
+ },
12
+ {
13
+ "internalType": "uint256",
14
+ "name": "tokenId",
15
+ "type": "uint256"
16
+ },
17
+ {
18
+ "internalType": "address",
19
+ "name": "owner",
20
+ "type": "address"
21
+ }
22
+ ],
23
+ "name": "ERC721IncorrectOwner",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [
28
+ {
29
+ "internalType": "address",
30
+ "name": "operator",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "tokenId",
36
+ "type": "uint256"
37
+ }
38
+ ],
39
+ "name": "ERC721InsufficientApproval",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "internalType": "address",
46
+ "name": "approver",
47
+ "type": "address"
48
+ }
49
+ ],
50
+ "name": "ERC721InvalidApprover",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "operator",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "ERC721InvalidOperator",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "owner",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "ERC721InvalidOwner",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "receiver",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ERC721InvalidReceiver",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "address",
90
+ "name": "sender",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "ERC721InvalidSender",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "tokenId",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "ERC721NonexistentToken",
106
+ "type": "error"
107
+ },
108
+ {
109
+ "anonymous": false,
110
+ "inputs": [
111
+ {
112
+ "indexed": true,
113
+ "internalType": "address",
114
+ "name": "owner",
115
+ "type": "address"
116
+ },
117
+ {
118
+ "indexed": true,
119
+ "internalType": "address",
120
+ "name": "approved",
121
+ "type": "address"
122
+ },
123
+ {
124
+ "indexed": true,
125
+ "internalType": "uint256",
126
+ "name": "tokenId",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "name": "Approval",
131
+ "type": "event"
132
+ },
133
+ {
134
+ "anonymous": false,
135
+ "inputs": [
136
+ {
137
+ "indexed": true,
138
+ "internalType": "address",
139
+ "name": "owner",
140
+ "type": "address"
141
+ },
142
+ {
143
+ "indexed": true,
144
+ "internalType": "address",
145
+ "name": "operator",
146
+ "type": "address"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "bool",
151
+ "name": "approved",
152
+ "type": "bool"
153
+ }
154
+ ],
155
+ "name": "ApprovalForAll",
156
+ "type": "event"
157
+ },
158
+ {
159
+ "anonymous": false,
160
+ "inputs": [
161
+ {
162
+ "indexed": true,
163
+ "internalType": "address",
164
+ "name": "from",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "to",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "uint256",
176
+ "name": "tokenId",
177
+ "type": "uint256"
178
+ }
179
+ ],
180
+ "name": "Transfer",
181
+ "type": "event"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "to",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "internalType": "uint256",
192
+ "name": "tokenId",
193
+ "type": "uint256"
194
+ }
195
+ ],
196
+ "name": "approve",
197
+ "outputs": [],
198
+ "stateMutability": "nonpayable",
199
+ "type": "function"
200
+ },
201
+ {
202
+ "inputs": [
203
+ {
204
+ "internalType": "address",
205
+ "name": "owner",
206
+ "type": "address"
207
+ }
208
+ ],
209
+ "name": "balanceOf",
210
+ "outputs": [
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "",
214
+ "type": "uint256"
215
+ }
216
+ ],
217
+ "stateMutability": "view",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "uint256",
224
+ "name": "tokenId",
225
+ "type": "uint256"
226
+ }
227
+ ],
228
+ "name": "getApproved",
229
+ "outputs": [
230
+ {
231
+ "internalType": "address",
232
+ "name": "",
233
+ "type": "address"
234
+ }
235
+ ],
236
+ "stateMutability": "view",
237
+ "type": "function"
238
+ },
239
+ {
240
+ "inputs": [
241
+ {
242
+ "internalType": "address",
243
+ "name": "owner",
244
+ "type": "address"
245
+ },
246
+ {
247
+ "internalType": "address",
248
+ "name": "operator",
249
+ "type": "address"
250
+ }
251
+ ],
252
+ "name": "isApprovedForAll",
253
+ "outputs": [
254
+ {
255
+ "internalType": "bool",
256
+ "name": "",
257
+ "type": "bool"
258
+ }
259
+ ],
260
+ "stateMutability": "view",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [],
265
+ "name": "name",
266
+ "outputs": [
267
+ {
268
+ "internalType": "string",
269
+ "name": "",
270
+ "type": "string"
271
+ }
272
+ ],
273
+ "stateMutability": "view",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "tokenId",
281
+ "type": "uint256"
282
+ }
283
+ ],
284
+ "name": "ownerOf",
285
+ "outputs": [
286
+ {
287
+ "internalType": "address",
288
+ "name": "",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "address",
299
+ "name": "from",
300
+ "type": "address"
301
+ },
302
+ {
303
+ "internalType": "address",
304
+ "name": "to",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "internalType": "uint256",
309
+ "name": "tokenId",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "name": "safeTransferFrom",
314
+ "outputs": [],
315
+ "stateMutability": "nonpayable",
316
+ "type": "function"
317
+ },
318
+ {
319
+ "inputs": [
320
+ {
321
+ "internalType": "address",
322
+ "name": "from",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "internalType": "address",
327
+ "name": "to",
328
+ "type": "address"
329
+ },
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "tokenId",
333
+ "type": "uint256"
334
+ },
335
+ {
336
+ "internalType": "bytes",
337
+ "name": "data",
338
+ "type": "bytes"
339
+ }
340
+ ],
341
+ "name": "safeTransferFrom",
342
+ "outputs": [],
343
+ "stateMutability": "nonpayable",
344
+ "type": "function"
345
+ },
346
+ {
347
+ "inputs": [
348
+ {
349
+ "internalType": "address",
350
+ "name": "operator",
351
+ "type": "address"
352
+ },
353
+ {
354
+ "internalType": "bool",
355
+ "name": "approved",
356
+ "type": "bool"
357
+ }
358
+ ],
359
+ "name": "setApprovalForAll",
360
+ "outputs": [],
361
+ "stateMutability": "nonpayable",
362
+ "type": "function"
363
+ },
364
+ {
365
+ "inputs": [
366
+ {
367
+ "internalType": "bytes4",
368
+ "name": "interfaceId",
369
+ "type": "bytes4"
370
+ }
371
+ ],
372
+ "name": "supportsInterface",
373
+ "outputs": [
374
+ {
375
+ "internalType": "bool",
376
+ "name": "",
377
+ "type": "bool"
378
+ }
379
+ ],
380
+ "stateMutability": "view",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [],
385
+ "name": "symbol",
386
+ "outputs": [
387
+ {
388
+ "internalType": "string",
389
+ "name": "",
390
+ "type": "string"
391
+ }
392
+ ],
393
+ "stateMutability": "view",
394
+ "type": "function"
395
+ },
396
+ {
397
+ "inputs": [
398
+ {
399
+ "internalType": "uint256",
400
+ "name": "tokenId",
401
+ "type": "uint256"
402
+ }
403
+ ],
404
+ "name": "tokenURI",
405
+ "outputs": [
406
+ {
407
+ "internalType": "string",
408
+ "name": "",
409
+ "type": "string"
410
+ }
411
+ ],
412
+ "stateMutability": "view",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [
417
+ {
418
+ "internalType": "address",
419
+ "name": "from",
420
+ "type": "address"
421
+ },
422
+ {
423
+ "internalType": "address",
424
+ "name": "to",
425
+ "type": "address"
426
+ },
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "tokenId",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "name": "transferFrom",
434
+ "outputs": [],
435
+ "stateMutability": "nonpayable",
436
+ "type": "function"
437
+ }
438
+ ],
439
+ "bytecode": "0x",
440
+ "deployedBytecode": "0x",
441
+ "linkReferences": {},
442
+ "deployedLinkReferences": {},
443
+ "devdoc": {
444
+ "details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.",
445
+ "errors": {
446
+ "ERC721IncorrectOwner(address,uint256,address)": [
447
+ {
448
+ "details": "Indicates an error related to the ownership over a particular token. Used in transfers.",
449
+ "params": {
450
+ "owner": "Address of the current owner of a token.",
451
+ "sender": "Address whose tokens are being transferred.",
452
+ "tokenId": "Identifier number of a token."
453
+ }
454
+ }
455
+ ],
456
+ "ERC721InsufficientApproval(address,uint256)": [
457
+ {
458
+ "details": "Indicates a failure with the `operator`’s approval. Used in transfers.",
459
+ "params": {
460
+ "operator": "Address that may be allowed to operate on tokens without being their owner.",
461
+ "tokenId": "Identifier number of a token."
462
+ }
463
+ }
464
+ ],
465
+ "ERC721InvalidApprover(address)": [
466
+ {
467
+ "details": "Indicates a failure with the `approver` of a token to be approved. Used in approvals.",
468
+ "params": {
469
+ "approver": "Address initiating an approval operation."
470
+ }
471
+ }
472
+ ],
473
+ "ERC721InvalidOperator(address)": [
474
+ {
475
+ "details": "Indicates a failure with the `operator` to be approved. Used in approvals.",
476
+ "params": {
477
+ "operator": "Address that may be allowed to operate on tokens without being their owner."
478
+ }
479
+ }
480
+ ],
481
+ "ERC721InvalidOwner(address)": [
482
+ {
483
+ "details": "Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.",
484
+ "params": {
485
+ "owner": "Address of the current owner of a token."
486
+ }
487
+ }
488
+ ],
489
+ "ERC721InvalidReceiver(address)": [
490
+ {
491
+ "details": "Indicates a failure with the token `receiver`. Used in transfers.",
492
+ "params": {
493
+ "receiver": "Address to which tokens are being transferred."
494
+ }
495
+ }
496
+ ],
497
+ "ERC721InvalidSender(address)": [
498
+ {
499
+ "details": "Indicates a failure with the token `sender`. Used in transfers.",
500
+ "params": {
501
+ "sender": "Address whose tokens are being transferred."
502
+ }
503
+ }
504
+ ],
505
+ "ERC721NonexistentToken(uint256)": [
506
+ {
507
+ "details": "Indicates a `tokenId` whose `owner` is the zero address.",
508
+ "params": {
509
+ "tokenId": "Identifier number of a token."
510
+ }
511
+ }
512
+ ]
513
+ },
514
+ "events": {
515
+ "Approval(address,address,uint256)": {
516
+ "details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
517
+ },
518
+ "ApprovalForAll(address,address,bool)": {
519
+ "details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
520
+ },
521
+ "Transfer(address,address,uint256)": {
522
+ "details": "Emitted when `tokenId` token is transferred from `from` to `to`."
523
+ }
524
+ },
525
+ "kind": "dev",
526
+ "methods": {
527
+ "approve(address,uint256)": {
528
+ "details": "See {IERC721-approve}."
529
+ },
530
+ "balanceOf(address)": {
531
+ "details": "See {IERC721-balanceOf}."
532
+ },
533
+ "constructor": {
534
+ "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection."
535
+ },
536
+ "getApproved(uint256)": {
537
+ "details": "See {IERC721-getApproved}."
538
+ },
539
+ "isApprovedForAll(address,address)": {
540
+ "details": "See {IERC721-isApprovedForAll}."
541
+ },
542
+ "name()": {
543
+ "details": "See {IERC721Metadata-name}."
544
+ },
545
+ "ownerOf(uint256)": {
546
+ "details": "See {IERC721-ownerOf}."
547
+ },
548
+ "safeTransferFrom(address,address,uint256)": {
549
+ "details": "See {IERC721-safeTransferFrom}."
550
+ },
551
+ "safeTransferFrom(address,address,uint256,bytes)": {
552
+ "details": "See {IERC721-safeTransferFrom}."
553
+ },
554
+ "setApprovalForAll(address,bool)": {
555
+ "details": "See {IERC721-setApprovalForAll}."
556
+ },
557
+ "supportsInterface(bytes4)": {
558
+ "details": "See {IERC165-supportsInterface}."
559
+ },
560
+ "symbol()": {
561
+ "details": "See {IERC721Metadata-symbol}."
562
+ },
563
+ "tokenURI(uint256)": {
564
+ "details": "See {IERC721Metadata-tokenURI}."
565
+ },
566
+ "transferFrom(address,address,uint256)": {
567
+ "details": "See {IERC721-transferFrom}."
568
+ }
569
+ },
570
+ "version": 1
571
+ },
572
+ "userdoc": {
573
+ "kind": "user",
574
+ "methods": {},
575
+ "version": 1
576
+ },
577
+ "evm": {
578
+ "gasEstimates": null,
579
+ "methodIdentifiers": {
580
+ "approve(address,uint256)": "095ea7b3",
581
+ "balanceOf(address)": "70a08231",
582
+ "getApproved(uint256)": "081812fc",
583
+ "isApprovedForAll(address,address)": "e985e9c5",
584
+ "name()": "06fdde03",
585
+ "ownerOf(uint256)": "6352211e",
586
+ "safeTransferFrom(address,address,uint256)": "42842e0e",
587
+ "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde",
588
+ "setApprovalForAll(address,bool)": "a22cb465",
589
+ "supportsInterface(bytes4)": "01ffc9a7",
590
+ "symbol()": "95d89b41",
591
+ "tokenURI(uint256)": "c87b56dd",
592
+ "transferFrom(address,address,uint256)": "23b872dd"
593
+ }
594
+ }
595
+ }