@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,750 @@
1
+ {
2
+ "contractName": "TestMultiToken",
3
+ "sourceName": "contracts/TestMultiToken.sol",
4
+ "abi": [
5
+ {
6
+ "inputs": [
7
+ {
8
+ "internalType": "address",
9
+ "name": "initialOwner",
10
+ "type": "address"
11
+ }
12
+ ],
13
+ "stateMutability": "nonpayable",
14
+ "type": "constructor"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "sender",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "balance",
26
+ "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "needed",
31
+ "type": "uint256"
32
+ },
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "tokenId",
36
+ "type": "uint256"
37
+ }
38
+ ],
39
+ "name": "ERC1155InsufficientBalance",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "internalType": "address",
46
+ "name": "approver",
47
+ "type": "address"
48
+ }
49
+ ],
50
+ "name": "ERC1155InvalidApprover",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "idsLength",
58
+ "type": "uint256"
59
+ },
60
+ {
61
+ "internalType": "uint256",
62
+ "name": "valuesLength",
63
+ "type": "uint256"
64
+ }
65
+ ],
66
+ "name": "ERC1155InvalidArrayLength",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "address",
73
+ "name": "operator",
74
+ "type": "address"
75
+ }
76
+ ],
77
+ "name": "ERC1155InvalidOperator",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "receiver",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "name": "ERC1155InvalidReceiver",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "address",
95
+ "name": "sender",
96
+ "type": "address"
97
+ }
98
+ ],
99
+ "name": "ERC1155InvalidSender",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "address",
106
+ "name": "operator",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "internalType": "address",
111
+ "name": "owner",
112
+ "type": "address"
113
+ }
114
+ ],
115
+ "name": "ERC1155MissingApprovalForAll",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [
120
+ {
121
+ "internalType": "address",
122
+ "name": "owner",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "name": "OwnableInvalidOwner",
127
+ "type": "error"
128
+ },
129
+ {
130
+ "inputs": [
131
+ {
132
+ "internalType": "address",
133
+ "name": "account",
134
+ "type": "address"
135
+ }
136
+ ],
137
+ "name": "OwnableUnauthorizedAccount",
138
+ "type": "error"
139
+ },
140
+ {
141
+ "anonymous": false,
142
+ "inputs": [
143
+ {
144
+ "indexed": true,
145
+ "internalType": "address",
146
+ "name": "account",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "indexed": true,
151
+ "internalType": "address",
152
+ "name": "operator",
153
+ "type": "address"
154
+ },
155
+ {
156
+ "indexed": false,
157
+ "internalType": "bool",
158
+ "name": "approved",
159
+ "type": "bool"
160
+ }
161
+ ],
162
+ "name": "ApprovalForAll",
163
+ "type": "event"
164
+ },
165
+ {
166
+ "anonymous": false,
167
+ "inputs": [
168
+ {
169
+ "indexed": true,
170
+ "internalType": "address",
171
+ "name": "previousOwner",
172
+ "type": "address"
173
+ },
174
+ {
175
+ "indexed": true,
176
+ "internalType": "address",
177
+ "name": "newOwner",
178
+ "type": "address"
179
+ }
180
+ ],
181
+ "name": "OwnershipTransferred",
182
+ "type": "event"
183
+ },
184
+ {
185
+ "anonymous": false,
186
+ "inputs": [
187
+ {
188
+ "indexed": true,
189
+ "internalType": "address",
190
+ "name": "operator",
191
+ "type": "address"
192
+ },
193
+ {
194
+ "indexed": true,
195
+ "internalType": "address",
196
+ "name": "from",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "indexed": true,
201
+ "internalType": "address",
202
+ "name": "to",
203
+ "type": "address"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "uint256[]",
208
+ "name": "ids",
209
+ "type": "uint256[]"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "uint256[]",
214
+ "name": "values",
215
+ "type": "uint256[]"
216
+ }
217
+ ],
218
+ "name": "TransferBatch",
219
+ "type": "event"
220
+ },
221
+ {
222
+ "anonymous": false,
223
+ "inputs": [
224
+ {
225
+ "indexed": true,
226
+ "internalType": "address",
227
+ "name": "operator",
228
+ "type": "address"
229
+ },
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "from",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": true,
238
+ "internalType": "address",
239
+ "name": "to",
240
+ "type": "address"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "id",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "uint256",
251
+ "name": "value",
252
+ "type": "uint256"
253
+ }
254
+ ],
255
+ "name": "TransferSingle",
256
+ "type": "event"
257
+ },
258
+ {
259
+ "anonymous": false,
260
+ "inputs": [
261
+ {
262
+ "indexed": false,
263
+ "internalType": "string",
264
+ "name": "value",
265
+ "type": "string"
266
+ },
267
+ {
268
+ "indexed": true,
269
+ "internalType": "uint256",
270
+ "name": "id",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "URI",
275
+ "type": "event"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "account",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "internalType": "uint256",
286
+ "name": "id",
287
+ "type": "uint256"
288
+ }
289
+ ],
290
+ "name": "balanceOf",
291
+ "outputs": [
292
+ {
293
+ "internalType": "uint256",
294
+ "name": "",
295
+ "type": "uint256"
296
+ }
297
+ ],
298
+ "stateMutability": "view",
299
+ "type": "function"
300
+ },
301
+ {
302
+ "inputs": [
303
+ {
304
+ "internalType": "address[]",
305
+ "name": "accounts",
306
+ "type": "address[]"
307
+ },
308
+ {
309
+ "internalType": "uint256[]",
310
+ "name": "ids",
311
+ "type": "uint256[]"
312
+ }
313
+ ],
314
+ "name": "balanceOfBatch",
315
+ "outputs": [
316
+ {
317
+ "internalType": "uint256[]",
318
+ "name": "",
319
+ "type": "uint256[]"
320
+ }
321
+ ],
322
+ "stateMutability": "view",
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "internalType": "address",
329
+ "name": "account",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "internalType": "address",
334
+ "name": "operator",
335
+ "type": "address"
336
+ }
337
+ ],
338
+ "name": "isApprovedForAll",
339
+ "outputs": [
340
+ {
341
+ "internalType": "bool",
342
+ "name": "",
343
+ "type": "bool"
344
+ }
345
+ ],
346
+ "stateMutability": "view",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "internalType": "address",
353
+ "name": "account",
354
+ "type": "address"
355
+ },
356
+ {
357
+ "internalType": "uint256",
358
+ "name": "id",
359
+ "type": "uint256"
360
+ },
361
+ {
362
+ "internalType": "uint256",
363
+ "name": "amount",
364
+ "type": "uint256"
365
+ },
366
+ {
367
+ "internalType": "bytes",
368
+ "name": "data",
369
+ "type": "bytes"
370
+ }
371
+ ],
372
+ "name": "mint",
373
+ "outputs": [],
374
+ "stateMutability": "nonpayable",
375
+ "type": "function"
376
+ },
377
+ {
378
+ "inputs": [
379
+ {
380
+ "internalType": "address",
381
+ "name": "to",
382
+ "type": "address"
383
+ },
384
+ {
385
+ "internalType": "uint256[]",
386
+ "name": "ids",
387
+ "type": "uint256[]"
388
+ },
389
+ {
390
+ "internalType": "uint256[]",
391
+ "name": "amounts",
392
+ "type": "uint256[]"
393
+ },
394
+ {
395
+ "internalType": "bytes",
396
+ "name": "data",
397
+ "type": "bytes"
398
+ }
399
+ ],
400
+ "name": "mintBatch",
401
+ "outputs": [],
402
+ "stateMutability": "nonpayable",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "owner",
408
+ "outputs": [
409
+ {
410
+ "internalType": "address",
411
+ "name": "",
412
+ "type": "address"
413
+ }
414
+ ],
415
+ "stateMutability": "view",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [],
420
+ "name": "renounceOwnership",
421
+ "outputs": [],
422
+ "stateMutability": "nonpayable",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [
427
+ {
428
+ "internalType": "address",
429
+ "name": "from",
430
+ "type": "address"
431
+ },
432
+ {
433
+ "internalType": "address",
434
+ "name": "to",
435
+ "type": "address"
436
+ },
437
+ {
438
+ "internalType": "uint256[]",
439
+ "name": "ids",
440
+ "type": "uint256[]"
441
+ },
442
+ {
443
+ "internalType": "uint256[]",
444
+ "name": "values",
445
+ "type": "uint256[]"
446
+ },
447
+ {
448
+ "internalType": "bytes",
449
+ "name": "data",
450
+ "type": "bytes"
451
+ }
452
+ ],
453
+ "name": "safeBatchTransferFrom",
454
+ "outputs": [],
455
+ "stateMutability": "nonpayable",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [
460
+ {
461
+ "internalType": "address",
462
+ "name": "from",
463
+ "type": "address"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "to",
468
+ "type": "address"
469
+ },
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "id",
473
+ "type": "uint256"
474
+ },
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "value",
478
+ "type": "uint256"
479
+ },
480
+ {
481
+ "internalType": "bytes",
482
+ "name": "data",
483
+ "type": "bytes"
484
+ }
485
+ ],
486
+ "name": "safeTransferFrom",
487
+ "outputs": [],
488
+ "stateMutability": "nonpayable",
489
+ "type": "function"
490
+ },
491
+ {
492
+ "inputs": [
493
+ {
494
+ "internalType": "address",
495
+ "name": "operator",
496
+ "type": "address"
497
+ },
498
+ {
499
+ "internalType": "bool",
500
+ "name": "approved",
501
+ "type": "bool"
502
+ }
503
+ ],
504
+ "name": "setApprovalForAll",
505
+ "outputs": [],
506
+ "stateMutability": "nonpayable",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "string",
513
+ "name": "newuri",
514
+ "type": "string"
515
+ }
516
+ ],
517
+ "name": "setURI",
518
+ "outputs": [],
519
+ "stateMutability": "nonpayable",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ {
525
+ "internalType": "bytes4",
526
+ "name": "interfaceId",
527
+ "type": "bytes4"
528
+ }
529
+ ],
530
+ "name": "supportsInterface",
531
+ "outputs": [
532
+ {
533
+ "internalType": "bool",
534
+ "name": "",
535
+ "type": "bool"
536
+ }
537
+ ],
538
+ "stateMutability": "view",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "address",
545
+ "name": "newOwner",
546
+ "type": "address"
547
+ }
548
+ ],
549
+ "name": "transferOwnership",
550
+ "outputs": [],
551
+ "stateMutability": "nonpayable",
552
+ "type": "function"
553
+ },
554
+ {
555
+ "inputs": [
556
+ {
557
+ "internalType": "uint256",
558
+ "name": "",
559
+ "type": "uint256"
560
+ }
561
+ ],
562
+ "name": "uri",
563
+ "outputs": [
564
+ {
565
+ "internalType": "string",
566
+ "name": "",
567
+ "type": "string"
568
+ }
569
+ ],
570
+ "stateMutability": "view",
571
+ "type": "function"
572
+ }
573
+ ],
574
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002e9b38038062002e9b83398181016040528101906200003791906200022d565b80604051806020016040528060008152506200005981620000e860201b60201c565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000cf5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000c6919062000270565b60405180910390fd5b620000e081620000fd60201b60201c565b5050620005ee565b8060029081620000f9919062000507565b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001f582620001c8565b9050919050565b6200020781620001e8565b81146200021357600080fd5b50565b6000815190506200022781620001fc565b92915050565b600060208284031215620002465762000245620001c3565b5b6000620002568482850162000216565b91505092915050565b6200026a81620001e8565b82525050565b60006020820190506200028760008301846200025f565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200030f57607f821691505b602082108103620003255762000324620002c7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200038f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000350565b6200039b868362000350565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003e8620003e2620003dc84620003b3565b620003bd565b620003b3565b9050919050565b6000819050919050565b6200040483620003c7565b6200041c6200041382620003ef565b8484546200035d565b825550505050565b600090565b6200043362000424565b62000440818484620003f9565b505050565b5b8181101562000468576200045c60008262000429565b60018101905062000446565b5050565b601f821115620004b75762000481816200032b565b6200048c8462000340565b810160208510156200049c578190505b620004b4620004ab8562000340565b83018262000445565b50505b505050565b600082821c905092915050565b6000620004dc60001984600802620004bc565b1980831691505092915050565b6000620004f78383620004c9565b9150826002028217905092915050565b62000512826200028d565b67ffffffffffffffff8111156200052e576200052d62000298565b5b6200053a8254620002f6565b620005478282856200046c565b600060209050601f8311600181146200057f57600084156200056a578287015190505b620005768582620004e9565b865550620005e6565b601f1984166200058f866200032b565b60005b82811015620005b95784890151825560018201915060208501945060208101905062000592565b86831015620005d95784890151620005d5601f891682620004c9565b8355505b6001600288020188555050505b505050505050565b61289d80620005fe6000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063715018a61161008c578063a22cb46511610066578063a22cb46514610246578063e985e9c514610262578063f242432a14610292578063f2fde38b146102ae576100e9565b8063715018a614610202578063731133e91461020c5780638da5cb5b14610228576100e9565b80630e89341c116100c85780630e89341c1461016a5780631f7fdffa1461019a5780632eb2c2d6146101b65780634e1273f4146101d2576100e9565b8062fdd58e146100ee57806301ffc9a71461011e57806302fe53051461014e575b600080fd5b610108600480360381019061010391906117db565b6102ca565b604051610115919061182a565b60405180910390f35b6101386004803603810190610133919061189d565b610324565b60405161014591906118e5565b60405180910390f35b61016860048036038101906101639190611a46565b610406565b005b610184600480360381019061017f9190611a8f565b61041a565b6040516101919190611b3b565b60405180910390f35b6101b460048036038101906101af9190611cc6565b6104ae565b005b6101d060048036038101906101cb9190611d81565b6104c8565b005b6101ec60048036038101906101e79190611f13565b610570565b6040516101f99190612049565b60405180910390f35b61020a61067f565b005b6102266004803603810190610221919061206b565b610693565b005b6102306106ad565b60405161023d91906120fd565b60405180910390f35b610260600480360381019061025b9190612144565b6106d7565b005b61027c60048036038101906102779190612184565b6106ed565b60405161028991906118e5565b60405180910390f35b6102ac60048036038101906102a791906121c4565b610781565b005b6102c860048036038101906102c3919061225b565b610829565b005b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ef57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ff57506103fe826108af565b5b9050919050565b61040e610919565b610417816109a0565b50565b606060028054610429906122b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610455906122b7565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050509050919050565b6104b6610919565b6104c2848484846109b3565b50505050565b60006104d2610a39565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610517575061051586826106ed565b155b1561055b5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105529291906122e8565b60405180910390fd5b6105688686868686610a41565b505050505050565b606081518351146105bc57815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016105b3929190612311565b60405180910390fd5b6000835167ffffffffffffffff8111156105d9576105d861191b565b5b6040519080825280602002602001820160405280156106075781602001602082028036833780820191505090505b50905060005b84518110156106745761064461062c8287610b3990919063ffffffff16565b61063f8387610b4d90919063ffffffff16565b6102ca565b8282815181106106575761065661233a565b5b6020026020010181815250508061066d90612398565b905061060d565b508091505092915050565b610687610919565b6106916000610b61565b565b61069b610919565b6106a784848484610c27565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106e96106e2610a39565b8383610cc0565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061078b610a39565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156107d057506107ce86826106ed565b155b156108145780866040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161080b9291906122e8565b60405180910390fd5b6108218686868686610e30565b505050505050565b610831610919565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108a35760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161089a91906120fd565b60405180910390fd5b6108ac81610b61565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610921610a39565b73ffffffffffffffffffffffffffffffffffffffff1661093f6106ad565b73ffffffffffffffffffffffffffffffffffffffff161461099e57610962610a39565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161099591906120fd565b60405180910390fd5b565b80600290816109af919061258c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a255760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610a1c91906120fd565b60405180910390fd5b610a33600085858585610f3b565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ab35760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610aaa91906120fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610b255760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610b1c91906120fd565b60405180910390fd5b610b328585858585610f3b565b5050505050565b600060208202602084010151905092915050565b600060208202602084010151905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c995760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610c9091906120fd565b60405180910390fd5b600080610ca68585610fed565b91509150610cb8600087848487610f3b565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d325760006040517fced3e100000000000000000000000000000000000000000000000000000000008152600401610d2991906120fd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e2391906118e5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ea25760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610e9991906120fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610f145760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610f0b91906120fd565b60405180910390fd5b600080610f218585610fed565b91509150610f328787848487610f3b565b50505050505050565b610f478585858561101d565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610fe6576000610f85610a39565b90506001845103610fd5576000610fa6600086610b4d90919063ffffffff16565b90506000610fbe600086610b4d90919063ffffffff16565b9050610fce8389898585896113cb565b5050610fe4565b610fe381878787878761157f565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461106757815181516040517f5b05999100000000000000000000000000000000000000000000000000000000815260040161105e929190612311565b60405180910390fd5b6000611071610a39565b905060005b83518110156112865760006110948286610b4d90919063ffffffff16565b905060006110ab8386610b4d90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146111d857600080600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561118057888183856040517f03dee4c5000000000000000000000000000000000000000000000000000000008152600401611177949392919061265e565b60405180910390fd5b81810360008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611273578060008084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461126b91906126a3565b925050819055505b50508061127f90612398565b9050611076565b5060018351036113455760006112a6600085610b4d90919063ffffffff16565b905060006112be600085610b4d90919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611336929190612311565b60405180910390a450506113c4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516113bb9291906126d7565b60405180910390a45b5050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b1115611577578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161142c959493929190612763565b6020604051808303816000875af192505050801561146857506040513d601f19601f8201168201806040525081019061146591906127d2565b60015b6114ec573d8060008114611498576040519150601f19603f3d011682016040523d82523d6000602084013e61149d565b606091505b5060008151036114e457846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016114db91906120fd565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461157557846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161156c91906120fd565b60405180910390fd5b505b505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561172b578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115e09594939291906127ff565b6020604051808303816000875af192505050801561161c57506040513d601f19601f8201168201806040525081019061161991906127d2565b60015b6116a0573d806000811461164c576040519150601f19603f3d011682016040523d82523d6000602084013e611651565b606091505b50600081510361169857846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161168f91906120fd565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461172957846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161172091906120fd565b60405180910390fd5b505b505050505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061177282611747565b9050919050565b61178281611767565b811461178d57600080fd5b50565b60008135905061179f81611779565b92915050565b6000819050919050565b6117b8816117a5565b81146117c357600080fd5b50565b6000813590506117d5816117af565b92915050565b600080604083850312156117f2576117f161173d565b5b600061180085828601611790565b9250506020611811858286016117c6565b9150509250929050565b611824816117a5565b82525050565b600060208201905061183f600083018461181b565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61187a81611845565b811461188557600080fd5b50565b60008135905061189781611871565b92915050565b6000602082840312156118b3576118b261173d565b5b60006118c184828501611888565b91505092915050565b60008115159050919050565b6118df816118ca565b82525050565b60006020820190506118fa60008301846118d6565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119538261190a565b810181811067ffffffffffffffff821117156119725761197161191b565b5b80604052505050565b6000611985611733565b9050611991828261194a565b919050565b600067ffffffffffffffff8211156119b1576119b061191b565b5b6119ba8261190a565b9050602081019050919050565b82818337600083830152505050565b60006119e96119e484611996565b61197b565b905082815260208101848484011115611a0557611a04611905565b5b611a108482856119c7565b509392505050565b600082601f830112611a2d57611a2c611900565b5b8135611a3d8482602086016119d6565b91505092915050565b600060208284031215611a5c57611a5b61173d565b5b600082013567ffffffffffffffff811115611a7a57611a79611742565b5b611a8684828501611a18565b91505092915050565b600060208284031215611aa557611aa461173d565b5b6000611ab3848285016117c6565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611af6578082015181840152602081019050611adb565b60008484015250505050565b6000611b0d82611abc565b611b178185611ac7565b9350611b27818560208601611ad8565b611b308161190a565b840191505092915050565b60006020820190508181036000830152611b558184611b02565b905092915050565b600067ffffffffffffffff821115611b7857611b7761191b565b5b602082029050602081019050919050565b600080fd5b6000611ba1611b9c84611b5d565b61197b565b90508083825260208201905060208402830185811115611bc457611bc3611b89565b5b835b81811015611bed5780611bd988826117c6565b845260208401935050602081019050611bc6565b5050509392505050565b600082601f830112611c0c57611c0b611900565b5b8135611c1c848260208601611b8e565b91505092915050565b600067ffffffffffffffff821115611c4057611c3f61191b565b5b611c498261190a565b9050602081019050919050565b6000611c69611c6484611c25565b61197b565b905082815260208101848484011115611c8557611c84611905565b5b611c908482856119c7565b509392505050565b600082601f830112611cad57611cac611900565b5b8135611cbd848260208601611c56565b91505092915050565b60008060008060808587031215611ce057611cdf61173d565b5b6000611cee87828801611790565b945050602085013567ffffffffffffffff811115611d0f57611d0e611742565b5b611d1b87828801611bf7565b935050604085013567ffffffffffffffff811115611d3c57611d3b611742565b5b611d4887828801611bf7565b925050606085013567ffffffffffffffff811115611d6957611d68611742565b5b611d7587828801611c98565b91505092959194509250565b600080600080600060a08688031215611d9d57611d9c61173d565b5b6000611dab88828901611790565b9550506020611dbc88828901611790565b945050604086013567ffffffffffffffff811115611ddd57611ddc611742565b5b611de988828901611bf7565b935050606086013567ffffffffffffffff811115611e0a57611e09611742565b5b611e1688828901611bf7565b925050608086013567ffffffffffffffff811115611e3757611e36611742565b5b611e4388828901611c98565b9150509295509295909350565b600067ffffffffffffffff821115611e6b57611e6a61191b565b5b602082029050602081019050919050565b6000611e8f611e8a84611e50565b61197b565b90508083825260208201905060208402830185811115611eb257611eb1611b89565b5b835b81811015611edb5780611ec78882611790565b845260208401935050602081019050611eb4565b5050509392505050565b600082601f830112611efa57611ef9611900565b5b8135611f0a848260208601611e7c565b91505092915050565b60008060408385031215611f2a57611f2961173d565b5b600083013567ffffffffffffffff811115611f4857611f47611742565b5b611f5485828601611ee5565b925050602083013567ffffffffffffffff811115611f7557611f74611742565b5b611f8185828601611bf7565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611fc0816117a5565b82525050565b6000611fd28383611fb7565b60208301905092915050565b6000602082019050919050565b6000611ff682611f8b565b6120008185611f96565b935061200b83611fa7565b8060005b8381101561203c5781516120238882611fc6565b975061202e83611fde565b92505060018101905061200f565b5085935050505092915050565b600060208201905081810360008301526120638184611feb565b905092915050565b600080600080608085870312156120855761208461173d565b5b600061209387828801611790565b94505060206120a4878288016117c6565b93505060406120b5878288016117c6565b925050606085013567ffffffffffffffff8111156120d6576120d5611742565b5b6120e287828801611c98565b91505092959194509250565b6120f781611767565b82525050565b600060208201905061211260008301846120ee565b92915050565b612121816118ca565b811461212c57600080fd5b50565b60008135905061213e81612118565b92915050565b6000806040838503121561215b5761215a61173d565b5b600061216985828601611790565b925050602061217a8582860161212f565b9150509250929050565b6000806040838503121561219b5761219a61173d565b5b60006121a985828601611790565b92505060206121ba85828601611790565b9150509250929050565b600080600080600060a086880312156121e0576121df61173d565b5b60006121ee88828901611790565b95505060206121ff88828901611790565b9450506040612210888289016117c6565b9350506060612221888289016117c6565b925050608086013567ffffffffffffffff81111561224257612241611742565b5b61224e88828901611c98565b9150509295509295909350565b6000602082840312156122715761227061173d565b5b600061227f84828501611790565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122cf57607f821691505b6020821081036122e2576122e1612288565b5b50919050565b60006040820190506122fd60008301856120ee565b61230a60208301846120ee565b9392505050565b6000604082019050612326600083018561181b565b612333602083018461181b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123a3826117a5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123d5576123d4612369565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026124427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612405565b61244c8683612405565b95508019841693508086168417925050509392505050565b6000819050919050565b600061248961248461247f846117a5565b612464565b6117a5565b9050919050565b6000819050919050565b6124a38361246e565b6124b76124af82612490565b848454612412565b825550505050565b600090565b6124cc6124bf565b6124d781848461249a565b505050565b5b818110156124fb576124f06000826124c4565b6001810190506124dd565b5050565b601f82111561254057612511816123e0565b61251a846123f5565b81016020851015612529578190505b61253d612535856123f5565b8301826124dc565b50505b505050565b600082821c905092915050565b600061256360001984600802612545565b1980831691505092915050565b600061257c8383612552565b9150826002028217905092915050565b61259582611abc565b67ffffffffffffffff8111156125ae576125ad61191b565b5b6125b882546122b7565b6125c38282856124ff565b600060209050601f8311600181146125f657600084156125e4578287015190505b6125ee8582612570565b865550612656565b601f198416612604866123e0565b60005b8281101561262c57848901518255600182019150602085019450602081019050612607565b868310156126495784890151612645601f891682612552565b8355505b6001600288020188555050505b505050505050565b600060808201905061267360008301876120ee565b612680602083018661181b565b61268d604083018561181b565b61269a606083018461181b565b95945050505050565b60006126ae826117a5565b91506126b9836117a5565b92508282019050808211156126d1576126d0612369565b5b92915050565b600060408201905081810360008301526126f18185611feb565b905081810360208301526127058184611feb565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006127358261270e565b61273f8185612719565b935061274f818560208601611ad8565b6127588161190a565b840191505092915050565b600060a08201905061277860008301886120ee565b61278560208301876120ee565b612792604083018661181b565b61279f606083018561181b565b81810360808301526127b1818461272a565b90509695505050505050565b6000815190506127cc81611871565b92915050565b6000602082840312156127e8576127e761173d565b5b60006127f6848285016127bd565b91505092915050565b600060a08201905061281460008301886120ee565b61282160208301876120ee565b81810360408301526128338186611feb565b905081810360608301526128478185611feb565b9050818103608083015261285b818461272a565b9050969550505050505056fea2646970667358221220af26ff71a8ef48f9837416b8208dc9a354ac1edb724da72ad53d3c040327e98364736f6c63430008140033",
575
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100e95760003560e01c8063715018a61161008c578063a22cb46511610066578063a22cb46514610246578063e985e9c514610262578063f242432a14610292578063f2fde38b146102ae576100e9565b8063715018a614610202578063731133e91461020c5780638da5cb5b14610228576100e9565b80630e89341c116100c85780630e89341c1461016a5780631f7fdffa1461019a5780632eb2c2d6146101b65780634e1273f4146101d2576100e9565b8062fdd58e146100ee57806301ffc9a71461011e57806302fe53051461014e575b600080fd5b610108600480360381019061010391906117db565b6102ca565b604051610115919061182a565b60405180910390f35b6101386004803603810190610133919061189d565b610324565b60405161014591906118e5565b60405180910390f35b61016860048036038101906101639190611a46565b610406565b005b610184600480360381019061017f9190611a8f565b61041a565b6040516101919190611b3b565b60405180910390f35b6101b460048036038101906101af9190611cc6565b6104ae565b005b6101d060048036038101906101cb9190611d81565b6104c8565b005b6101ec60048036038101906101e79190611f13565b610570565b6040516101f99190612049565b60405180910390f35b61020a61067f565b005b6102266004803603810190610221919061206b565b610693565b005b6102306106ad565b60405161023d91906120fd565b60405180910390f35b610260600480360381019061025b9190612144565b6106d7565b005b61027c60048036038101906102779190612184565b6106ed565b60405161028991906118e5565b60405180910390f35b6102ac60048036038101906102a791906121c4565b610781565b005b6102c860048036038101906102c3919061225b565b610829565b005b600080600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ef57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103ff57506103fe826108af565b5b9050919050565b61040e610919565b610417816109a0565b50565b606060028054610429906122b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610455906122b7565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050509050919050565b6104b6610919565b6104c2848484846109b3565b50505050565b60006104d2610a39565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610517575061051586826106ed565b155b1561055b5780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105529291906122e8565b60405180910390fd5b6105688686868686610a41565b505050505050565b606081518351146105bc57815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004016105b3929190612311565b60405180910390fd5b6000835167ffffffffffffffff8111156105d9576105d861191b565b5b6040519080825280602002602001820160405280156106075781602001602082028036833780820191505090505b50905060005b84518110156106745761064461062c8287610b3990919063ffffffff16565b61063f8387610b4d90919063ffffffff16565b6102ca565b8282815181106106575761065661233a565b5b6020026020010181815250508061066d90612398565b905061060d565b508091505092915050565b610687610919565b6106916000610b61565b565b61069b610919565b6106a784848484610c27565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6106e96106e2610a39565b8383610cc0565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061078b610a39565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156107d057506107ce86826106ed565b155b156108145780866040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161080b9291906122e8565b60405180910390fd5b6108218686868686610e30565b505050505050565b610831610919565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108a35760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161089a91906120fd565b60405180910390fd5b6108ac81610b61565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610921610a39565b73ffffffffffffffffffffffffffffffffffffffff1661093f6106ad565b73ffffffffffffffffffffffffffffffffffffffff161461099e57610962610a39565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161099591906120fd565b60405180910390fd5b565b80600290816109af919061258c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a255760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610a1c91906120fd565b60405180910390fd5b610a33600085858585610f3b565b50505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ab35760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610aaa91906120fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610b255760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610b1c91906120fd565b60405180910390fd5b610b328585858585610f3b565b5050505050565b600060208202602084010151905092915050565b600060208202602084010151905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c995760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610c9091906120fd565b60405180910390fd5b600080610ca68585610fed565b91509150610cb8600087848487610f3b565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d325760006040517fced3e100000000000000000000000000000000000000000000000000000000008152600401610d2991906120fd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e2391906118e5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ea25760006040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610e9991906120fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610f145760006040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610f0b91906120fd565b60405180910390fd5b600080610f218585610fed565b91509150610f328787848487610f3b565b50505050505050565b610f478585858561101d565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610fe6576000610f85610a39565b90506001845103610fd5576000610fa6600086610b4d90919063ffffffff16565b90506000610fbe600086610b4d90919063ffffffff16565b9050610fce8389898585896113cb565b5050610fe4565b610fe381878787878761157f565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b805182511461106757815181516040517f5b05999100000000000000000000000000000000000000000000000000000000815260040161105e929190612311565b60405180910390fd5b6000611071610a39565b905060005b83518110156112865760006110948286610b4d90919063ffffffff16565b905060006110ab8386610b4d90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146111d857600080600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561118057888183856040517f03dee4c5000000000000000000000000000000000000000000000000000000008152600401611177949392919061265e565b60405180910390fd5b81810360008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611273578060008084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461126b91906126a3565b925050819055505b50508061127f90612398565b9050611076565b5060018351036113455760006112a6600085610b4d90919063ffffffff16565b905060006112be600085610b4d90919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611336929190612311565b60405180910390a450506113c4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516113bb9291906126d7565b60405180910390a45b5050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b1115611577578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161142c959493929190612763565b6020604051808303816000875af192505050801561146857506040513d601f19601f8201168201806040525081019061146591906127d2565b60015b6114ec573d8060008114611498576040519150601f19603f3d011682016040523d82523d6000602084013e61149d565b606091505b5060008151036114e457846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016114db91906120fd565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461157557846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161156c91906120fd565b60405180910390fd5b505b505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff163b111561172b578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016115e09594939291906127ff565b6020604051808303816000875af192505050801561161c57506040513d601f19601f8201168201806040525081019061161991906127d2565b60015b6116a0573d806000811461164c576040519150601f19603f3d011682016040523d82523d6000602084013e611651565b606091505b50600081510361169857846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161168f91906120fd565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461172957846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161172091906120fd565b60405180910390fd5b505b505050505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061177282611747565b9050919050565b61178281611767565b811461178d57600080fd5b50565b60008135905061179f81611779565b92915050565b6000819050919050565b6117b8816117a5565b81146117c357600080fd5b50565b6000813590506117d5816117af565b92915050565b600080604083850312156117f2576117f161173d565b5b600061180085828601611790565b9250506020611811858286016117c6565b9150509250929050565b611824816117a5565b82525050565b600060208201905061183f600083018461181b565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61187a81611845565b811461188557600080fd5b50565b60008135905061189781611871565b92915050565b6000602082840312156118b3576118b261173d565b5b60006118c184828501611888565b91505092915050565b60008115159050919050565b6118df816118ca565b82525050565b60006020820190506118fa60008301846118d6565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119538261190a565b810181811067ffffffffffffffff821117156119725761197161191b565b5b80604052505050565b6000611985611733565b9050611991828261194a565b919050565b600067ffffffffffffffff8211156119b1576119b061191b565b5b6119ba8261190a565b9050602081019050919050565b82818337600083830152505050565b60006119e96119e484611996565b61197b565b905082815260208101848484011115611a0557611a04611905565b5b611a108482856119c7565b509392505050565b600082601f830112611a2d57611a2c611900565b5b8135611a3d8482602086016119d6565b91505092915050565b600060208284031215611a5c57611a5b61173d565b5b600082013567ffffffffffffffff811115611a7a57611a79611742565b5b611a8684828501611a18565b91505092915050565b600060208284031215611aa557611aa461173d565b5b6000611ab3848285016117c6565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611af6578082015181840152602081019050611adb565b60008484015250505050565b6000611b0d82611abc565b611b178185611ac7565b9350611b27818560208601611ad8565b611b308161190a565b840191505092915050565b60006020820190508181036000830152611b558184611b02565b905092915050565b600067ffffffffffffffff821115611b7857611b7761191b565b5b602082029050602081019050919050565b600080fd5b6000611ba1611b9c84611b5d565b61197b565b90508083825260208201905060208402830185811115611bc457611bc3611b89565b5b835b81811015611bed5780611bd988826117c6565b845260208401935050602081019050611bc6565b5050509392505050565b600082601f830112611c0c57611c0b611900565b5b8135611c1c848260208601611b8e565b91505092915050565b600067ffffffffffffffff821115611c4057611c3f61191b565b5b611c498261190a565b9050602081019050919050565b6000611c69611c6484611c25565b61197b565b905082815260208101848484011115611c8557611c84611905565b5b611c908482856119c7565b509392505050565b600082601f830112611cad57611cac611900565b5b8135611cbd848260208601611c56565b91505092915050565b60008060008060808587031215611ce057611cdf61173d565b5b6000611cee87828801611790565b945050602085013567ffffffffffffffff811115611d0f57611d0e611742565b5b611d1b87828801611bf7565b935050604085013567ffffffffffffffff811115611d3c57611d3b611742565b5b611d4887828801611bf7565b925050606085013567ffffffffffffffff811115611d6957611d68611742565b5b611d7587828801611c98565b91505092959194509250565b600080600080600060a08688031215611d9d57611d9c61173d565b5b6000611dab88828901611790565b9550506020611dbc88828901611790565b945050604086013567ffffffffffffffff811115611ddd57611ddc611742565b5b611de988828901611bf7565b935050606086013567ffffffffffffffff811115611e0a57611e09611742565b5b611e1688828901611bf7565b925050608086013567ffffffffffffffff811115611e3757611e36611742565b5b611e4388828901611c98565b9150509295509295909350565b600067ffffffffffffffff821115611e6b57611e6a61191b565b5b602082029050602081019050919050565b6000611e8f611e8a84611e50565b61197b565b90508083825260208201905060208402830185811115611eb257611eb1611b89565b5b835b81811015611edb5780611ec78882611790565b845260208401935050602081019050611eb4565b5050509392505050565b600082601f830112611efa57611ef9611900565b5b8135611f0a848260208601611e7c565b91505092915050565b60008060408385031215611f2a57611f2961173d565b5b600083013567ffffffffffffffff811115611f4857611f47611742565b5b611f5485828601611ee5565b925050602083013567ffffffffffffffff811115611f7557611f74611742565b5b611f8185828601611bf7565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611fc0816117a5565b82525050565b6000611fd28383611fb7565b60208301905092915050565b6000602082019050919050565b6000611ff682611f8b565b6120008185611f96565b935061200b83611fa7565b8060005b8381101561203c5781516120238882611fc6565b975061202e83611fde565b92505060018101905061200f565b5085935050505092915050565b600060208201905081810360008301526120638184611feb565b905092915050565b600080600080608085870312156120855761208461173d565b5b600061209387828801611790565b94505060206120a4878288016117c6565b93505060406120b5878288016117c6565b925050606085013567ffffffffffffffff8111156120d6576120d5611742565b5b6120e287828801611c98565b91505092959194509250565b6120f781611767565b82525050565b600060208201905061211260008301846120ee565b92915050565b612121816118ca565b811461212c57600080fd5b50565b60008135905061213e81612118565b92915050565b6000806040838503121561215b5761215a61173d565b5b600061216985828601611790565b925050602061217a8582860161212f565b9150509250929050565b6000806040838503121561219b5761219a61173d565b5b60006121a985828601611790565b92505060206121ba85828601611790565b9150509250929050565b600080600080600060a086880312156121e0576121df61173d565b5b60006121ee88828901611790565b95505060206121ff88828901611790565b9450506040612210888289016117c6565b9350506060612221888289016117c6565b925050608086013567ffffffffffffffff81111561224257612241611742565b5b61224e88828901611c98565b9150509295509295909350565b6000602082840312156122715761227061173d565b5b600061227f84828501611790565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122cf57607f821691505b6020821081036122e2576122e1612288565b5b50919050565b60006040820190506122fd60008301856120ee565b61230a60208301846120ee565b9392505050565b6000604082019050612326600083018561181b565b612333602083018461181b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123a3826117a5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123d5576123d4612369565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026124427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612405565b61244c8683612405565b95508019841693508086168417925050509392505050565b6000819050919050565b600061248961248461247f846117a5565b612464565b6117a5565b9050919050565b6000819050919050565b6124a38361246e565b6124b76124af82612490565b848454612412565b825550505050565b600090565b6124cc6124bf565b6124d781848461249a565b505050565b5b818110156124fb576124f06000826124c4565b6001810190506124dd565b5050565b601f82111561254057612511816123e0565b61251a846123f5565b81016020851015612529578190505b61253d612535856123f5565b8301826124dc565b50505b505050565b600082821c905092915050565b600061256360001984600802612545565b1980831691505092915050565b600061257c8383612552565b9150826002028217905092915050565b61259582611abc565b67ffffffffffffffff8111156125ae576125ad61191b565b5b6125b882546122b7565b6125c38282856124ff565b600060209050601f8311600181146125f657600084156125e4578287015190505b6125ee8582612570565b865550612656565b601f198416612604866123e0565b60005b8281101561262c57848901518255600182019150602085019450602081019050612607565b868310156126495784890151612645601f891682612552565b8355505b6001600288020188555050505b505050505050565b600060808201905061267360008301876120ee565b612680602083018661181b565b61268d604083018561181b565b61269a606083018461181b565b95945050505050565b60006126ae826117a5565b91506126b9836117a5565b92508282019050808211156126d1576126d0612369565b5b92915050565b600060408201905081810360008301526126f18185611feb565b905081810360208301526127058184611feb565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006127358261270e565b61273f8185612719565b935061274f818560208601611ad8565b6127588161190a565b840191505092915050565b600060a08201905061277860008301886120ee565b61278560208301876120ee565b612792604083018661181b565b61279f606083018561181b565b81810360808301526127b1818461272a565b90509695505050505050565b6000815190506127cc81611871565b92915050565b6000602082840312156127e8576127e761173d565b5b60006127f6848285016127bd565b91505092915050565b600060a08201905061281460008301886120ee565b61282160208301876120ee565b81810360408301526128338186611feb565b905081810360608301526128478185611feb565b9050818103608083015261285b818461272a565b9050969550505050505056fea2646970667358221220af26ff71a8ef48f9837416b8208dc9a354ac1edb724da72ad53d3c040327e98364736f6c63430008140033",
576
+ "linkReferences": {},
577
+ "deployedLinkReferences": {},
578
+ "devdoc": {
579
+ "errors": {
580
+ "ERC1155InsufficientBalance(address,uint256,uint256,uint256)": [
581
+ {
582
+ "details": "Indicates an error related to the current `balance` of a `sender`. Used in transfers.",
583
+ "params": {
584
+ "balance": "Current balance for the interacting account.",
585
+ "needed": "Minimum amount required to perform a transfer.",
586
+ "sender": "Address whose tokens are being transferred.",
587
+ "tokenId": "Identifier number of a token."
588
+ }
589
+ }
590
+ ],
591
+ "ERC1155InvalidApprover(address)": [
592
+ {
593
+ "details": "Indicates a failure with the `approver` of a token to be approved. Used in approvals.",
594
+ "params": {
595
+ "approver": "Address initiating an approval operation."
596
+ }
597
+ }
598
+ ],
599
+ "ERC1155InvalidArrayLength(uint256,uint256)": [
600
+ {
601
+ "details": "Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.",
602
+ "params": {
603
+ "idsLength": "Length of the array of token identifiers",
604
+ "valuesLength": "Length of the array of token amounts"
605
+ }
606
+ }
607
+ ],
608
+ "ERC1155InvalidOperator(address)": [
609
+ {
610
+ "details": "Indicates a failure with the `operator` to be approved. Used in approvals.",
611
+ "params": {
612
+ "operator": "Address that may be allowed to operate on tokens without being their owner."
613
+ }
614
+ }
615
+ ],
616
+ "ERC1155InvalidReceiver(address)": [
617
+ {
618
+ "details": "Indicates a failure with the token `receiver`. Used in transfers.",
619
+ "params": {
620
+ "receiver": "Address to which tokens are being transferred."
621
+ }
622
+ }
623
+ ],
624
+ "ERC1155InvalidSender(address)": [
625
+ {
626
+ "details": "Indicates a failure with the token `sender`. Used in transfers.",
627
+ "params": {
628
+ "sender": "Address whose tokens are being transferred."
629
+ }
630
+ }
631
+ ],
632
+ "ERC1155MissingApprovalForAll(address,address)": [
633
+ {
634
+ "details": "Indicates a failure with the `operator`’s approval. Used in transfers.",
635
+ "params": {
636
+ "operator": "Address that may be allowed to operate on tokens without being their owner.",
637
+ "owner": "Address of the current owner of a token."
638
+ }
639
+ }
640
+ ],
641
+ "OwnableInvalidOwner(address)": [
642
+ {
643
+ "details": "The owner is not a valid owner account. (eg. `address(0)`)"
644
+ }
645
+ ],
646
+ "OwnableUnauthorizedAccount(address)": [
647
+ {
648
+ "details": "The caller account is not authorized to perform an operation."
649
+ }
650
+ ]
651
+ },
652
+ "events": {
653
+ "ApprovalForAll(address,address,bool)": {
654
+ "details": "Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`."
655
+ },
656
+ "TransferBatch(address,address,address,uint256[],uint256[])": {
657
+ "details": "Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers."
658
+ },
659
+ "TransferSingle(address,address,address,uint256,uint256)": {
660
+ "details": "Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`."
661
+ },
662
+ "URI(string,uint256)": {
663
+ "details": "Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}."
664
+ }
665
+ },
666
+ "kind": "dev",
667
+ "methods": {
668
+ "balanceOf(address,uint256)": {
669
+ "details": "See {IERC1155-balanceOf}."
670
+ },
671
+ "balanceOfBatch(address[],uint256[])": {
672
+ "details": "See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length."
673
+ },
674
+ "isApprovedForAll(address,address)": {
675
+ "details": "See {IERC1155-isApprovedForAll}."
676
+ },
677
+ "owner()": {
678
+ "details": "Returns the address of the current owner."
679
+ },
680
+ "renounceOwnership()": {
681
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
682
+ },
683
+ "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": {
684
+ "details": "See {IERC1155-safeBatchTransferFrom}."
685
+ },
686
+ "safeTransferFrom(address,address,uint256,uint256,bytes)": {
687
+ "details": "See {IERC1155-safeTransferFrom}."
688
+ },
689
+ "setApprovalForAll(address,bool)": {
690
+ "details": "See {IERC1155-setApprovalForAll}."
691
+ },
692
+ "supportsInterface(bytes4)": {
693
+ "details": "See {IERC165-supportsInterface}."
694
+ },
695
+ "transferOwnership(address)": {
696
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
697
+ },
698
+ "uri(uint256)": {
699
+ "details": "See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\{id\\}` substring with the actual token type ID."
700
+ }
701
+ },
702
+ "version": 1
703
+ },
704
+ "userdoc": {
705
+ "kind": "user",
706
+ "methods": {},
707
+ "version": 1
708
+ },
709
+ "evm": {
710
+ "gasEstimates": {
711
+ "creation": {
712
+ "codeDepositCost": "2079400",
713
+ "executionCost": "infinite",
714
+ "totalCost": "infinite"
715
+ },
716
+ "external": {
717
+ "balanceOf(address,uint256)": "infinite",
718
+ "balanceOfBatch(address[],uint256[])": "infinite",
719
+ "isApprovedForAll(address,address)": "infinite",
720
+ "mint(address,uint256,uint256,bytes)": "infinite",
721
+ "mintBatch(address,uint256[],uint256[],bytes)": "infinite",
722
+ "owner()": "2589",
723
+ "renounceOwnership()": "infinite",
724
+ "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "infinite",
725
+ "safeTransferFrom(address,address,uint256,uint256,bytes)": "infinite",
726
+ "setApprovalForAll(address,bool)": "infinite",
727
+ "setURI(string)": "infinite",
728
+ "supportsInterface(bytes4)": "819",
729
+ "transferOwnership(address)": "infinite",
730
+ "uri(uint256)": "infinite"
731
+ }
732
+ },
733
+ "methodIdentifiers": {
734
+ "balanceOf(address,uint256)": "00fdd58e",
735
+ "balanceOfBatch(address[],uint256[])": "4e1273f4",
736
+ "isApprovedForAll(address,address)": "e985e9c5",
737
+ "mint(address,uint256,uint256,bytes)": "731133e9",
738
+ "mintBatch(address,uint256[],uint256[],bytes)": "1f7fdffa",
739
+ "owner()": "8da5cb5b",
740
+ "renounceOwnership()": "715018a6",
741
+ "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6",
742
+ "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a",
743
+ "setApprovalForAll(address,bool)": "a22cb465",
744
+ "setURI(string)": "02fe5305",
745
+ "supportsInterface(bytes4)": "01ffc9a7",
746
+ "transferOwnership(address)": "f2fde38b",
747
+ "uri(uint256)": "0e89341c"
748
+ }
749
+ }
750
+ }