@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,779 @@
1
+ {
2
+ "contractName": "TestNFT",
3
+ "sourceName": "contracts/TestNFT.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": "tokenId",
26
+ "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "owner",
31
+ "type": "address"
32
+ }
33
+ ],
34
+ "name": "ERC721IncorrectOwner",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "operator",
42
+ "type": "address"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "tokenId",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "name": "ERC721InsufficientApproval",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "approver",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "ERC721InvalidApprover",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "operator",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "ERC721InvalidOperator",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "owner",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ERC721InvalidOwner",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "address",
90
+ "name": "receiver",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "ERC721InvalidReceiver",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "address",
101
+ "name": "sender",
102
+ "type": "address"
103
+ }
104
+ ],
105
+ "name": "ERC721InvalidSender",
106
+ "type": "error"
107
+ },
108
+ {
109
+ "inputs": [
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "tokenId",
113
+ "type": "uint256"
114
+ }
115
+ ],
116
+ "name": "ERC721NonexistentToken",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "inputs": [
121
+ {
122
+ "internalType": "address",
123
+ "name": "owner",
124
+ "type": "address"
125
+ }
126
+ ],
127
+ "name": "OwnableInvalidOwner",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [
132
+ {
133
+ "internalType": "address",
134
+ "name": "account",
135
+ "type": "address"
136
+ }
137
+ ],
138
+ "name": "OwnableUnauthorizedAccount",
139
+ "type": "error"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "owner",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": true,
152
+ "internalType": "address",
153
+ "name": "approved",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "indexed": true,
158
+ "internalType": "uint256",
159
+ "name": "tokenId",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "Approval",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "address",
172
+ "name": "owner",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "operator",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "bool",
184
+ "name": "approved",
185
+ "type": "bool"
186
+ }
187
+ ],
188
+ "name": "ApprovalForAll",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "anonymous": false,
193
+ "inputs": [
194
+ {
195
+ "indexed": false,
196
+ "internalType": "uint256",
197
+ "name": "_fromTokenId",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "indexed": false,
202
+ "internalType": "uint256",
203
+ "name": "_toTokenId",
204
+ "type": "uint256"
205
+ }
206
+ ],
207
+ "name": "BatchMetadataUpdate",
208
+ "type": "event"
209
+ },
210
+ {
211
+ "anonymous": false,
212
+ "inputs": [
213
+ {
214
+ "indexed": false,
215
+ "internalType": "uint256",
216
+ "name": "_tokenId",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "name": "MetadataUpdate",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "previousOwner",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": true,
234
+ "internalType": "address",
235
+ "name": "newOwner",
236
+ "type": "address"
237
+ }
238
+ ],
239
+ "name": "OwnershipTransferred",
240
+ "type": "event"
241
+ },
242
+ {
243
+ "anonymous": false,
244
+ "inputs": [
245
+ {
246
+ "indexed": true,
247
+ "internalType": "address",
248
+ "name": "from",
249
+ "type": "address"
250
+ },
251
+ {
252
+ "indexed": true,
253
+ "internalType": "address",
254
+ "name": "to",
255
+ "type": "address"
256
+ },
257
+ {
258
+ "indexed": true,
259
+ "internalType": "uint256",
260
+ "name": "tokenId",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "name": "Transfer",
265
+ "type": "event"
266
+ },
267
+ {
268
+ "inputs": [
269
+ {
270
+ "internalType": "address",
271
+ "name": "to",
272
+ "type": "address"
273
+ },
274
+ {
275
+ "internalType": "uint256",
276
+ "name": "tokenId",
277
+ "type": "uint256"
278
+ }
279
+ ],
280
+ "name": "approve",
281
+ "outputs": [],
282
+ "stateMutability": "nonpayable",
283
+ "type": "function"
284
+ },
285
+ {
286
+ "inputs": [
287
+ {
288
+ "internalType": "address",
289
+ "name": "owner",
290
+ "type": "address"
291
+ }
292
+ ],
293
+ "name": "balanceOf",
294
+ "outputs": [
295
+ {
296
+ "internalType": "uint256",
297
+ "name": "",
298
+ "type": "uint256"
299
+ }
300
+ ],
301
+ "stateMutability": "view",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "tokenId",
309
+ "type": "uint256"
310
+ }
311
+ ],
312
+ "name": "getApproved",
313
+ "outputs": [
314
+ {
315
+ "internalType": "address",
316
+ "name": "",
317
+ "type": "address"
318
+ }
319
+ ],
320
+ "stateMutability": "view",
321
+ "type": "function"
322
+ },
323
+ {
324
+ "inputs": [
325
+ {
326
+ "internalType": "address",
327
+ "name": "owner",
328
+ "type": "address"
329
+ },
330
+ {
331
+ "internalType": "address",
332
+ "name": "operator",
333
+ "type": "address"
334
+ }
335
+ ],
336
+ "name": "isApprovedForAll",
337
+ "outputs": [
338
+ {
339
+ "internalType": "bool",
340
+ "name": "",
341
+ "type": "bool"
342
+ }
343
+ ],
344
+ "stateMutability": "view",
345
+ "type": "function"
346
+ },
347
+ {
348
+ "inputs": [],
349
+ "name": "name",
350
+ "outputs": [
351
+ {
352
+ "internalType": "string",
353
+ "name": "",
354
+ "type": "string"
355
+ }
356
+ ],
357
+ "stateMutability": "view",
358
+ "type": "function"
359
+ },
360
+ {
361
+ "inputs": [],
362
+ "name": "owner",
363
+ "outputs": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "stateMutability": "view",
371
+ "type": "function"
372
+ },
373
+ {
374
+ "inputs": [
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "tokenId",
378
+ "type": "uint256"
379
+ }
380
+ ],
381
+ "name": "ownerOf",
382
+ "outputs": [
383
+ {
384
+ "internalType": "address",
385
+ "name": "",
386
+ "type": "address"
387
+ }
388
+ ],
389
+ "stateMutability": "view",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [],
394
+ "name": "renounceOwnership",
395
+ "outputs": [],
396
+ "stateMutability": "nonpayable",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [
401
+ {
402
+ "internalType": "address",
403
+ "name": "to",
404
+ "type": "address"
405
+ },
406
+ {
407
+ "internalType": "uint256",
408
+ "name": "tokenId",
409
+ "type": "uint256"
410
+ },
411
+ {
412
+ "internalType": "string",
413
+ "name": "uri",
414
+ "type": "string"
415
+ }
416
+ ],
417
+ "name": "safeMint",
418
+ "outputs": [],
419
+ "stateMutability": "nonpayable",
420
+ "type": "function"
421
+ },
422
+ {
423
+ "inputs": [
424
+ {
425
+ "internalType": "address",
426
+ "name": "from",
427
+ "type": "address"
428
+ },
429
+ {
430
+ "internalType": "address",
431
+ "name": "to",
432
+ "type": "address"
433
+ },
434
+ {
435
+ "internalType": "uint256",
436
+ "name": "tokenId",
437
+ "type": "uint256"
438
+ }
439
+ ],
440
+ "name": "safeTransferFrom",
441
+ "outputs": [],
442
+ "stateMutability": "nonpayable",
443
+ "type": "function"
444
+ },
445
+ {
446
+ "inputs": [
447
+ {
448
+ "internalType": "address",
449
+ "name": "from",
450
+ "type": "address"
451
+ },
452
+ {
453
+ "internalType": "address",
454
+ "name": "to",
455
+ "type": "address"
456
+ },
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "tokenId",
460
+ "type": "uint256"
461
+ },
462
+ {
463
+ "internalType": "bytes",
464
+ "name": "data",
465
+ "type": "bytes"
466
+ }
467
+ ],
468
+ "name": "safeTransferFrom",
469
+ "outputs": [],
470
+ "stateMutability": "nonpayable",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [
475
+ {
476
+ "internalType": "address",
477
+ "name": "operator",
478
+ "type": "address"
479
+ },
480
+ {
481
+ "internalType": "bool",
482
+ "name": "approved",
483
+ "type": "bool"
484
+ }
485
+ ],
486
+ "name": "setApprovalForAll",
487
+ "outputs": [],
488
+ "stateMutability": "nonpayable",
489
+ "type": "function"
490
+ },
491
+ {
492
+ "inputs": [
493
+ {
494
+ "internalType": "bytes4",
495
+ "name": "interfaceId",
496
+ "type": "bytes4"
497
+ }
498
+ ],
499
+ "name": "supportsInterface",
500
+ "outputs": [
501
+ {
502
+ "internalType": "bool",
503
+ "name": "",
504
+ "type": "bool"
505
+ }
506
+ ],
507
+ "stateMutability": "view",
508
+ "type": "function"
509
+ },
510
+ {
511
+ "inputs": [],
512
+ "name": "symbol",
513
+ "outputs": [
514
+ {
515
+ "internalType": "string",
516
+ "name": "",
517
+ "type": "string"
518
+ }
519
+ ],
520
+ "stateMutability": "view",
521
+ "type": "function"
522
+ },
523
+ {
524
+ "inputs": [
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "tokenId",
528
+ "type": "uint256"
529
+ }
530
+ ],
531
+ "name": "tokenURI",
532
+ "outputs": [
533
+ {
534
+ "internalType": "string",
535
+ "name": "",
536
+ "type": "string"
537
+ }
538
+ ],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ {
545
+ "internalType": "address",
546
+ "name": "from",
547
+ "type": "address"
548
+ },
549
+ {
550
+ "internalType": "address",
551
+ "name": "to",
552
+ "type": "address"
553
+ },
554
+ {
555
+ "internalType": "uint256",
556
+ "name": "tokenId",
557
+ "type": "uint256"
558
+ }
559
+ ],
560
+ "name": "transferFrom",
561
+ "outputs": [],
562
+ "stateMutability": "nonpayable",
563
+ "type": "function"
564
+ },
565
+ {
566
+ "inputs": [
567
+ {
568
+ "internalType": "address",
569
+ "name": "newOwner",
570
+ "type": "address"
571
+ }
572
+ ],
573
+ "name": "transferOwnership",
574
+ "outputs": [],
575
+ "stateMutability": "nonpayable",
576
+ "type": "function"
577
+ }
578
+ ],
579
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002c5838038062002c58833981810160405281019062000037919062000288565b806040518060400160405280600781526020017f546573744e4654000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f53554e4e000000000000000000000000000000000000000000000000000000008152508160009081620000b5919062000534565b508060019081620000c7919062000534565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200013691906200062c565b60405180910390fd5b62000150816200015860201b60201c565b505062000649565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002508262000223565b9050919050565b620002628162000243565b81146200026e57600080fd5b50565b600081519050620002828162000257565b92915050565b600060208284031215620002a157620002a06200021e565b5b6000620002b18482850162000271565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033c57607f821691505b602082108103620003525762000351620002f4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200037d565b620003c886836200037d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004156200040f6200040984620003e0565b620003ea565b620003e0565b9050919050565b6000819050919050565b6200043183620003f4565b6200044962000440826200041c565b8484546200038a565b825550505050565b600090565b6200046062000451565b6200046d81848462000426565b505050565b5b8181101562000495576200048960008262000456565b60018101905062000473565b5050565b601f821115620004e457620004ae8162000358565b620004b9846200036d565b81016020851015620004c9578190505b620004e1620004d8856200036d565b83018262000472565b50505b505050565b600082821c905092915050565b60006200050960001984600802620004e9565b1980831691505092915050565b6000620005248383620004f6565b9150826002028217905092915050565b6200053f82620002ba565b67ffffffffffffffff8111156200055b576200055a620002c5565b5b62000567825462000323565b6200057482828562000499565b600060209050601f831160018114620005ac576000841562000597578287015190505b620005a3858262000516565b86555062000613565b601f198416620005bc8662000358565b60005b82811015620005e657848901518255600182019150602085019450602081019050620005bf565b8683101562000606578489015162000602601f891682620004f6565b8355505b6001600288020188555050505b505050505050565b620006268162000243565b82525050565b60006020820190506200064360008301846200061b565b92915050565b6125ff80620006596000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063b88d4fde11610071578063b88d4fde146102a4578063c87b56dd146102c0578063cd279c7c146102f0578063e985e9c51461030c578063f2fde38b1461033c5761010b565b8063715018a6146102425780638da5cb5b1461024c57806395d89b411461026a578063a22cb465146102885761010b565b806323b872dd116100de57806323b872dd146101aa57806342842e0e146101c65780636352211e146101e257806370a08231146102125761010b565b806301ffc9a71461011057806306fdde0314610140578063081812fc1461015e578063095ea7b31461018e575b600080fd5b61012a60048036038101906101259190611abb565b610358565b6040516101379190611b03565b60405180910390f35b61014861036a565b6040516101559190611bae565b60405180910390f35b61017860048036038101906101739190611c06565b6103fc565b6040516101859190611c74565b60405180910390f35b6101a860048036038101906101a39190611cbb565b610418565b005b6101c460048036038101906101bf9190611cfb565b61042e565b005b6101e060048036038101906101db9190611cfb565b610530565b005b6101fc60048036038101906101f79190611c06565b610550565b6040516102099190611c74565b60405180910390f35b61022c60048036038101906102279190611d4e565b610562565b6040516102399190611d8a565b60405180910390f35b61024a61061c565b005b610254610630565b6040516102619190611c74565b60405180910390f35b61027261065a565b60405161027f9190611bae565b60405180910390f35b6102a2600480360381019061029d9190611dd1565b6106ec565b005b6102be60048036038101906102b99190611f46565b610702565b005b6102da60048036038101906102d59190611c06565b61071f565b6040516102e79190611bae565b60405180910390f35b61030a6004803603810190610305919061206a565b610731565b005b610326600480360381019061032191906120d9565b610752565b6040516103339190611b03565b60405180910390f35b61035660048036038101906103519190611d4e565b6107e6565b005b60006103638261086c565b9050919050565b60606000805461037990612148565b80601f01602080910402602001604051908101604052809291908181526020018280546103a590612148565b80156103f25780601f106103c7576101008083540402835291602001916103f2565b820191906000526020600020905b8154815290600101906020018083116103d557829003601f168201915b5050505050905090565b6000610407826108cd565b5061041182610955565b9050919050565b61042a8282610425610992565b61099a565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104a05760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016104979190611c74565b60405180910390fd5b60006104b483836104af610992565b6109ac565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461052a578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161052193929190612179565b60405180910390fd5b50505050565b61054b83838360405180602001604052806000815250610702565b505050565b600061055b826108cd565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105d55760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016105cc9190611c74565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610624610bc6565b61062e6000610c4d565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461066990612148565b80601f016020809104026020016040519081016040528092919081815260200182805461069590612148565b80156106e25780601f106106b7576101008083540402835291602001916106e2565b820191906000526020600020905b8154815290600101906020018083116106c557829003601f168201915b5050505050905090565b6106fe6106f7610992565b8383610d13565b5050565b61070d84848461042e565b61071984848484610e82565b50505050565b606061072a82611039565b9050919050565b610739610bc6565b610743838361114c565b61074d828261116a565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6107ee610bc6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108605760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108579190611c74565b60405180910390fd5b61086981610c4d565b50565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108c657506108c5826111c6565b5b9050919050565b6000806108d9836112a8565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361094c57826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016109439190611d8a565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b6109a783838360016112e5565b505050565b6000806109b8846112a8565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146109fa576109f98184866114aa565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a8b57610a3c6000856000806112e5565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610b0e576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b610bce610992565b73ffffffffffffffffffffffffffffffffffffffff16610bec610630565b73ffffffffffffffffffffffffffffffffffffffff1614610c4b57610c0f610992565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c429190611c74565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8457816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610d7b9190611c74565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e759190611b03565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b1115611033578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02610ec6610992565b8685856040518563ffffffff1660e01b8152600401610ee89493929190612205565b6020604051808303816000875af1925050508015610f2457506040513d601f19601f82011682018060405250810190610f219190612266565b60015b610fa8573d8060008114610f54576040519150601f19603f3d011682016040523d82523d6000602084013e610f59565b606091505b506000815103610fa057836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610f979190611c74565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461103157836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016110289190611c74565b60405180910390fd5b505b50505050565b6060611044826108cd565b50600060066000848152602001908152602001600020805461106590612148565b80601f016020809104026020016040519081016040528092919081815260200182805461109190612148565b80156110de5780601f106110b3576101008083540402835291602001916110de565b820191906000526020600020905b8154815290600101906020018083116110c157829003601f168201915b5050505050905060006110ef61156e565b90506000815103611104578192505050611147565b6000825111156111395780826040516020016111219291906122cf565b60405160208183030381529060405292505050611147565b61114284611585565b925050505b919050565b6111668282604051806020016040528060008152506115ee565b5050565b8060066000848152602001908152602001600020908161118a919061249f565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111ba9190611d8a565b60405180910390a15050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061129157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112a157506112a08261160a565b5b9050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061131e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561145257600061132e846108cd565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561139957508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156113ac57506113aa8184610752565b155b156113ee57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016113e59190611c74565b60405180910390fd5b811561145057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6114b5838383611674565b61156957600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152a57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016115219190611d8a565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611560929190612571565b60405180910390fd5b505050565b606060405180602001604052806000815250905090565b6060611590826108cd565b50600061159b61156e565b905060008151116115bb57604051806020016040528060008152506115e6565b806115c584611735565b6040516020016115d69291906122cf565b6040516020818303038152906040525b915050919050565b6115f88383611803565b6116056000848484610e82565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561172c57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116ed57506116ec8484610752565b5b8061172b57508273ffffffffffffffffffffffffffffffffffffffff1661171383610955565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b606060006001611744846118fc565b01905060008167ffffffffffffffff81111561176357611762611e1b565b5b6040519080825280601f01601f1916602001820160405280156117955781602001600182028036833780820191505090505b509050600082602001820190505b6001156117f8578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816117ec576117eb61259a565b5b049450600085036117a3575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118755760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161186c9190611c74565b60405180910390fd5b6000611883838360006109ac565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118f75760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016118ee9190611c74565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061195a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816119505761194f61259a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611997576d04ee2d6d415b85acef8100000000838161198d5761198c61259a565b5b0492506020810190505b662386f26fc1000083106119c657662386f26fc1000083816119bc576119bb61259a565b5b0492506010810190505b6305f5e10083106119ef576305f5e10083816119e5576119e461259a565b5b0492506008810190505b6127108310611a14576127108381611a0a57611a0961259a565b5b0492506004810190505b60648310611a375760648381611a2d57611a2c61259a565b5b0492506002810190505b600a8310611a46576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a9881611a63565b8114611aa357600080fd5b50565b600081359050611ab581611a8f565b92915050565b600060208284031215611ad157611ad0611a59565b5b6000611adf84828501611aa6565b91505092915050565b60008115159050919050565b611afd81611ae8565b82525050565b6000602082019050611b186000830184611af4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b58578082015181840152602081019050611b3d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8082611b1e565b611b8a8185611b29565b9350611b9a818560208601611b3a565b611ba381611b64565b840191505092915050565b60006020820190508181036000830152611bc88184611b75565b905092915050565b6000819050919050565b611be381611bd0565b8114611bee57600080fd5b50565b600081359050611c0081611bda565b92915050565b600060208284031215611c1c57611c1b611a59565b5b6000611c2a84828501611bf1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5e82611c33565b9050919050565b611c6e81611c53565b82525050565b6000602082019050611c896000830184611c65565b92915050565b611c9881611c53565b8114611ca357600080fd5b50565b600081359050611cb581611c8f565b92915050565b60008060408385031215611cd257611cd1611a59565b5b6000611ce085828601611ca6565b9250506020611cf185828601611bf1565b9150509250929050565b600080600060608486031215611d1457611d13611a59565b5b6000611d2286828701611ca6565b9350506020611d3386828701611ca6565b9250506040611d4486828701611bf1565b9150509250925092565b600060208284031215611d6457611d63611a59565b5b6000611d7284828501611ca6565b91505092915050565b611d8481611bd0565b82525050565b6000602082019050611d9f6000830184611d7b565b92915050565b611dae81611ae8565b8114611db957600080fd5b50565b600081359050611dcb81611da5565b92915050565b60008060408385031215611de857611de7611a59565b5b6000611df685828601611ca6565b9250506020611e0785828601611dbc565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5382611b64565b810181811067ffffffffffffffff82111715611e7257611e71611e1b565b5b80604052505050565b6000611e85611a4f565b9050611e918282611e4a565b919050565b600067ffffffffffffffff821115611eb157611eb0611e1b565b5b611eba82611b64565b9050602081019050919050565b82818337600083830152505050565b6000611ee9611ee484611e96565b611e7b565b905082815260208101848484011115611f0557611f04611e16565b5b611f10848285611ec7565b509392505050565b600082601f830112611f2d57611f2c611e11565b5b8135611f3d848260208601611ed6565b91505092915050565b60008060008060808587031215611f6057611f5f611a59565b5b6000611f6e87828801611ca6565b9450506020611f7f87828801611ca6565b9350506040611f9087828801611bf1565b925050606085013567ffffffffffffffff811115611fb157611fb0611a5e565b5b611fbd87828801611f18565b91505092959194509250565b600067ffffffffffffffff821115611fe457611fe3611e1b565b5b611fed82611b64565b9050602081019050919050565b600061200d61200884611fc9565b611e7b565b90508281526020810184848401111561202957612028611e16565b5b612034848285611ec7565b509392505050565b600082601f83011261205157612050611e11565b5b8135612061848260208601611ffa565b91505092915050565b60008060006060848603121561208357612082611a59565b5b600061209186828701611ca6565b93505060206120a286828701611bf1565b925050604084013567ffffffffffffffff8111156120c3576120c2611a5e565b5b6120cf8682870161203c565b9150509250925092565b600080604083850312156120f0576120ef611a59565b5b60006120fe85828601611ca6565b925050602061210f85828601611ca6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061216057607f821691505b60208210810361217357612172612119565b5b50919050565b600060608201905061218e6000830186611c65565b61219b6020830185611d7b565b6121a86040830184611c65565b949350505050565b600081519050919050565b600082825260208201905092915050565b60006121d7826121b0565b6121e181856121bb565b93506121f1818560208601611b3a565b6121fa81611b64565b840191505092915050565b600060808201905061221a6000830187611c65565b6122276020830186611c65565b6122346040830185611d7b565b818103606083015261224681846121cc565b905095945050505050565b60008151905061226081611a8f565b92915050565b60006020828403121561227c5761227b611a59565b5b600061228a84828501612251565b91505092915050565b600081905092915050565b60006122a982611b1e565b6122b38185612293565b93506122c3818560208601611b3a565b80840191505092915050565b60006122db828561229e565b91506122e7828461229e565b91508190509392505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612318565b61235f8683612318565b95508019841693508086168417925050509392505050565b6000819050919050565b600061239c61239761239284611bd0565b612377565b611bd0565b9050919050565b6000819050919050565b6123b683612381565b6123ca6123c2826123a3565b848454612325565b825550505050565b600090565b6123df6123d2565b6123ea8184846123ad565b505050565b5b8181101561240e576124036000826123d7565b6001810190506123f0565b5050565b601f82111561245357612424816122f3565b61242d84612308565b8101602085101561243c578190505b61245061244885612308565b8301826123ef565b50505b505050565b600082821c905092915050565b600061247660001984600802612458565b1980831691505092915050565b600061248f8383612465565b9150826002028217905092915050565b6124a882611b1e565b67ffffffffffffffff8111156124c1576124c0611e1b565b5b6124cb8254612148565b6124d6828285612412565b600060209050601f83116001811461250957600084156124f7578287015190505b6125018582612483565b865550612569565b601f198416612517866122f3565b60005b8281101561253f5784890151825560018201915060208501945060208101905061251a565b8683101561255c5784890151612558601f891682612465565b8355505b6001600288020188555050505b505050505050565b60006040820190506125866000830185611c65565b6125936020830184611d7b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220431a442985cc5ddc149bdc0e4b6946e8aeafcb66d2a3e5f292a0bbc8b940a50164736f6c63430008140033",
580
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063b88d4fde11610071578063b88d4fde146102a4578063c87b56dd146102c0578063cd279c7c146102f0578063e985e9c51461030c578063f2fde38b1461033c5761010b565b8063715018a6146102425780638da5cb5b1461024c57806395d89b411461026a578063a22cb465146102885761010b565b806323b872dd116100de57806323b872dd146101aa57806342842e0e146101c65780636352211e146101e257806370a08231146102125761010b565b806301ffc9a71461011057806306fdde0314610140578063081812fc1461015e578063095ea7b31461018e575b600080fd5b61012a60048036038101906101259190611abb565b610358565b6040516101379190611b03565b60405180910390f35b61014861036a565b6040516101559190611bae565b60405180910390f35b61017860048036038101906101739190611c06565b6103fc565b6040516101859190611c74565b60405180910390f35b6101a860048036038101906101a39190611cbb565b610418565b005b6101c460048036038101906101bf9190611cfb565b61042e565b005b6101e060048036038101906101db9190611cfb565b610530565b005b6101fc60048036038101906101f79190611c06565b610550565b6040516102099190611c74565b60405180910390f35b61022c60048036038101906102279190611d4e565b610562565b6040516102399190611d8a565b60405180910390f35b61024a61061c565b005b610254610630565b6040516102619190611c74565b60405180910390f35b61027261065a565b60405161027f9190611bae565b60405180910390f35b6102a2600480360381019061029d9190611dd1565b6106ec565b005b6102be60048036038101906102b99190611f46565b610702565b005b6102da60048036038101906102d59190611c06565b61071f565b6040516102e79190611bae565b60405180910390f35b61030a6004803603810190610305919061206a565b610731565b005b610326600480360381019061032191906120d9565b610752565b6040516103339190611b03565b60405180910390f35b61035660048036038101906103519190611d4e565b6107e6565b005b60006103638261086c565b9050919050565b60606000805461037990612148565b80601f01602080910402602001604051908101604052809291908181526020018280546103a590612148565b80156103f25780601f106103c7576101008083540402835291602001916103f2565b820191906000526020600020905b8154815290600101906020018083116103d557829003601f168201915b5050505050905090565b6000610407826108cd565b5061041182610955565b9050919050565b61042a8282610425610992565b61099a565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104a05760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016104979190611c74565b60405180910390fd5b60006104b483836104af610992565b6109ac565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461052a578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161052193929190612179565b60405180910390fd5b50505050565b61054b83838360405180602001604052806000815250610702565b505050565b600061055b826108cd565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105d55760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016105cc9190611c74565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610624610bc6565b61062e6000610c4d565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461066990612148565b80601f016020809104026020016040519081016040528092919081815260200182805461069590612148565b80156106e25780601f106106b7576101008083540402835291602001916106e2565b820191906000526020600020905b8154815290600101906020018083116106c557829003601f168201915b5050505050905090565b6106fe6106f7610992565b8383610d13565b5050565b61070d84848461042e565b61071984848484610e82565b50505050565b606061072a82611039565b9050919050565b610739610bc6565b610743838361114c565b61074d828261116a565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6107ee610bc6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108605760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016108579190611c74565b60405180910390fd5b61086981610c4d565b50565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108c657506108c5826111c6565b5b9050919050565b6000806108d9836112a8565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361094c57826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016109439190611d8a565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b6109a783838360016112e5565b505050565b6000806109b8846112a8565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146109fa576109f98184866114aa565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a8b57610a3c6000856000806112e5565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610b0e576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b610bce610992565b73ffffffffffffffffffffffffffffffffffffffff16610bec610630565b73ffffffffffffffffffffffffffffffffffffffff1614610c4b57610c0f610992565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610c429190611c74565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8457816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610d7b9190611c74565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610e759190611b03565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b1115611033578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02610ec6610992565b8685856040518563ffffffff1660e01b8152600401610ee89493929190612205565b6020604051808303816000875af1925050508015610f2457506040513d601f19601f82011682018060405250810190610f219190612266565b60015b610fa8573d8060008114610f54576040519150601f19603f3d011682016040523d82523d6000602084013e610f59565b606091505b506000815103610fa057836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610f979190611c74565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461103157836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016110289190611c74565b60405180910390fd5b505b50505050565b6060611044826108cd565b50600060066000848152602001908152602001600020805461106590612148565b80601f016020809104026020016040519081016040528092919081815260200182805461109190612148565b80156110de5780601f106110b3576101008083540402835291602001916110de565b820191906000526020600020905b8154815290600101906020018083116110c157829003601f168201915b5050505050905060006110ef61156e565b90506000815103611104578192505050611147565b6000825111156111395780826040516020016111219291906122cf565b60405160208183030381529060405292505050611147565b61114284611585565b925050505b919050565b6111668282604051806020016040528060008152506115ee565b5050565b8060066000848152602001908152602001600020908161118a919061249f565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111ba9190611d8a565b60405180910390a15050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061129157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112a157506112a08261160a565b5b9050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061131e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561145257600061132e846108cd565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561139957508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156113ac57506113aa8184610752565b155b156113ee57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016113e59190611c74565b60405180910390fd5b811561145057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6114b5838383611674565b61156957600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152a57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016115219190611d8a565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611560929190612571565b60405180910390fd5b505050565b606060405180602001604052806000815250905090565b6060611590826108cd565b50600061159b61156e565b905060008151116115bb57604051806020016040528060008152506115e6565b806115c584611735565b6040516020016115d69291906122cf565b6040516020818303038152906040525b915050919050565b6115f88383611803565b6116056000848484610e82565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561172c57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116ed57506116ec8484610752565b5b8061172b57508273ffffffffffffffffffffffffffffffffffffffff1661171383610955565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b606060006001611744846118fc565b01905060008167ffffffffffffffff81111561176357611762611e1b565b5b6040519080825280601f01601f1916602001820160405280156117955781602001600182028036833780820191505090505b509050600082602001820190505b6001156117f8578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816117ec576117eb61259a565b5b049450600085036117a3575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118755760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161186c9190611c74565b60405180910390fd5b6000611883838360006109ac565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118f75760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016118ee9190611c74565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061195a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816119505761194f61259a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611997576d04ee2d6d415b85acef8100000000838161198d5761198c61259a565b5b0492506020810190505b662386f26fc1000083106119c657662386f26fc1000083816119bc576119bb61259a565b5b0492506010810190505b6305f5e10083106119ef576305f5e10083816119e5576119e461259a565b5b0492506008810190505b6127108310611a14576127108381611a0a57611a0961259a565b5b0492506004810190505b60648310611a375760648381611a2d57611a2c61259a565b5b0492506002810190505b600a8310611a46576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a9881611a63565b8114611aa357600080fd5b50565b600081359050611ab581611a8f565b92915050565b600060208284031215611ad157611ad0611a59565b5b6000611adf84828501611aa6565b91505092915050565b60008115159050919050565b611afd81611ae8565b82525050565b6000602082019050611b186000830184611af4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b58578082015181840152602081019050611b3d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8082611b1e565b611b8a8185611b29565b9350611b9a818560208601611b3a565b611ba381611b64565b840191505092915050565b60006020820190508181036000830152611bc88184611b75565b905092915050565b6000819050919050565b611be381611bd0565b8114611bee57600080fd5b50565b600081359050611c0081611bda565b92915050565b600060208284031215611c1c57611c1b611a59565b5b6000611c2a84828501611bf1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5e82611c33565b9050919050565b611c6e81611c53565b82525050565b6000602082019050611c896000830184611c65565b92915050565b611c9881611c53565b8114611ca357600080fd5b50565b600081359050611cb581611c8f565b92915050565b60008060408385031215611cd257611cd1611a59565b5b6000611ce085828601611ca6565b9250506020611cf185828601611bf1565b9150509250929050565b600080600060608486031215611d1457611d13611a59565b5b6000611d2286828701611ca6565b9350506020611d3386828701611ca6565b9250506040611d4486828701611bf1565b9150509250925092565b600060208284031215611d6457611d63611a59565b5b6000611d7284828501611ca6565b91505092915050565b611d8481611bd0565b82525050565b6000602082019050611d9f6000830184611d7b565b92915050565b611dae81611ae8565b8114611db957600080fd5b50565b600081359050611dcb81611da5565b92915050565b60008060408385031215611de857611de7611a59565b5b6000611df685828601611ca6565b9250506020611e0785828601611dbc565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5382611b64565b810181811067ffffffffffffffff82111715611e7257611e71611e1b565b5b80604052505050565b6000611e85611a4f565b9050611e918282611e4a565b919050565b600067ffffffffffffffff821115611eb157611eb0611e1b565b5b611eba82611b64565b9050602081019050919050565b82818337600083830152505050565b6000611ee9611ee484611e96565b611e7b565b905082815260208101848484011115611f0557611f04611e16565b5b611f10848285611ec7565b509392505050565b600082601f830112611f2d57611f2c611e11565b5b8135611f3d848260208601611ed6565b91505092915050565b60008060008060808587031215611f6057611f5f611a59565b5b6000611f6e87828801611ca6565b9450506020611f7f87828801611ca6565b9350506040611f9087828801611bf1565b925050606085013567ffffffffffffffff811115611fb157611fb0611a5e565b5b611fbd87828801611f18565b91505092959194509250565b600067ffffffffffffffff821115611fe457611fe3611e1b565b5b611fed82611b64565b9050602081019050919050565b600061200d61200884611fc9565b611e7b565b90508281526020810184848401111561202957612028611e16565b5b612034848285611ec7565b509392505050565b600082601f83011261205157612050611e11565b5b8135612061848260208601611ffa565b91505092915050565b60008060006060848603121561208357612082611a59565b5b600061209186828701611ca6565b93505060206120a286828701611bf1565b925050604084013567ffffffffffffffff8111156120c3576120c2611a5e565b5b6120cf8682870161203c565b9150509250925092565b600080604083850312156120f0576120ef611a59565b5b60006120fe85828601611ca6565b925050602061210f85828601611ca6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061216057607f821691505b60208210810361217357612172612119565b5b50919050565b600060608201905061218e6000830186611c65565b61219b6020830185611d7b565b6121a86040830184611c65565b949350505050565b600081519050919050565b600082825260208201905092915050565b60006121d7826121b0565b6121e181856121bb565b93506121f1818560208601611b3a565b6121fa81611b64565b840191505092915050565b600060808201905061221a6000830187611c65565b6122276020830186611c65565b6122346040830185611d7b565b818103606083015261224681846121cc565b905095945050505050565b60008151905061226081611a8f565b92915050565b60006020828403121561227c5761227b611a59565b5b600061228a84828501612251565b91505092915050565b600081905092915050565b60006122a982611b1e565b6122b38185612293565b93506122c3818560208601611b3a565b80840191505092915050565b60006122db828561229e565b91506122e7828461229e565b91508190509392505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612318565b61235f8683612318565b95508019841693508086168417925050509392505050565b6000819050919050565b600061239c61239761239284611bd0565b612377565b611bd0565b9050919050565b6000819050919050565b6123b683612381565b6123ca6123c2826123a3565b848454612325565b825550505050565b600090565b6123df6123d2565b6123ea8184846123ad565b505050565b5b8181101561240e576124036000826123d7565b6001810190506123f0565b5050565b601f82111561245357612424816122f3565b61242d84612308565b8101602085101561243c578190505b61245061244885612308565b8301826123ef565b50505b505050565b600082821c905092915050565b600061247660001984600802612458565b1980831691505092915050565b600061248f8383612465565b9150826002028217905092915050565b6124a882611b1e565b67ffffffffffffffff8111156124c1576124c0611e1b565b5b6124cb8254612148565b6124d6828285612412565b600060209050601f83116001811461250957600084156124f7578287015190505b6125018582612483565b865550612569565b601f198416612517866122f3565b60005b8281101561253f5784890151825560018201915060208501945060208101905061251a565b8683101561255c5784890151612558601f891682612465565b8355505b6001600288020188555050505b505050505050565b60006040820190506125866000830185611c65565b6125936020830184611d7b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220431a442985cc5ddc149bdc0e4b6946e8aeafcb66d2a3e5f292a0bbc8b940a50164736f6c63430008140033",
581
+ "linkReferences": {},
582
+ "deployedLinkReferences": {},
583
+ "devdoc": {
584
+ "errors": {
585
+ "ERC721IncorrectOwner(address,uint256,address)": [
586
+ {
587
+ "details": "Indicates an error related to the ownership over a particular token. Used in transfers.",
588
+ "params": {
589
+ "owner": "Address of the current owner of a token.",
590
+ "sender": "Address whose tokens are being transferred.",
591
+ "tokenId": "Identifier number of a token."
592
+ }
593
+ }
594
+ ],
595
+ "ERC721InsufficientApproval(address,uint256)": [
596
+ {
597
+ "details": "Indicates a failure with the `operator`’s approval. Used in transfers.",
598
+ "params": {
599
+ "operator": "Address that may be allowed to operate on tokens without being their owner.",
600
+ "tokenId": "Identifier number of a token."
601
+ }
602
+ }
603
+ ],
604
+ "ERC721InvalidApprover(address)": [
605
+ {
606
+ "details": "Indicates a failure with the `approver` of a token to be approved. Used in approvals.",
607
+ "params": {
608
+ "approver": "Address initiating an approval operation."
609
+ }
610
+ }
611
+ ],
612
+ "ERC721InvalidOperator(address)": [
613
+ {
614
+ "details": "Indicates a failure with the `operator` to be approved. Used in approvals.",
615
+ "params": {
616
+ "operator": "Address that may be allowed to operate on tokens without being their owner."
617
+ }
618
+ }
619
+ ],
620
+ "ERC721InvalidOwner(address)": [
621
+ {
622
+ "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.",
623
+ "params": {
624
+ "owner": "Address of the current owner of a token."
625
+ }
626
+ }
627
+ ],
628
+ "ERC721InvalidReceiver(address)": [
629
+ {
630
+ "details": "Indicates a failure with the token `receiver`. Used in transfers.",
631
+ "params": {
632
+ "receiver": "Address to which tokens are being transferred."
633
+ }
634
+ }
635
+ ],
636
+ "ERC721InvalidSender(address)": [
637
+ {
638
+ "details": "Indicates a failure with the token `sender`. Used in transfers.",
639
+ "params": {
640
+ "sender": "Address whose tokens are being transferred."
641
+ }
642
+ }
643
+ ],
644
+ "ERC721NonexistentToken(uint256)": [
645
+ {
646
+ "details": "Indicates a `tokenId` whose `owner` is the zero address.",
647
+ "params": {
648
+ "tokenId": "Identifier number of a token."
649
+ }
650
+ }
651
+ ],
652
+ "OwnableInvalidOwner(address)": [
653
+ {
654
+ "details": "The owner is not a valid owner account. (eg. `address(0)`)"
655
+ }
656
+ ],
657
+ "OwnableUnauthorizedAccount(address)": [
658
+ {
659
+ "details": "The caller account is not authorized to perform an operation."
660
+ }
661
+ ]
662
+ },
663
+ "events": {
664
+ "Approval(address,address,uint256)": {
665
+ "details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
666
+ },
667
+ "ApprovalForAll(address,address,bool)": {
668
+ "details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
669
+ },
670
+ "BatchMetadataUpdate(uint256,uint256)": {
671
+ "details": "This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs."
672
+ },
673
+ "MetadataUpdate(uint256)": {
674
+ "details": "This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT."
675
+ },
676
+ "Transfer(address,address,uint256)": {
677
+ "details": "Emitted when `tokenId` token is transferred from `from` to `to`."
678
+ }
679
+ },
680
+ "kind": "dev",
681
+ "methods": {
682
+ "approve(address,uint256)": {
683
+ "details": "See {IERC721-approve}."
684
+ },
685
+ "balanceOf(address)": {
686
+ "details": "See {IERC721-balanceOf}."
687
+ },
688
+ "getApproved(uint256)": {
689
+ "details": "See {IERC721-getApproved}."
690
+ },
691
+ "isApprovedForAll(address,address)": {
692
+ "details": "See {IERC721-isApprovedForAll}."
693
+ },
694
+ "name()": {
695
+ "details": "See {IERC721Metadata-name}."
696
+ },
697
+ "owner()": {
698
+ "details": "Returns the address of the current owner."
699
+ },
700
+ "ownerOf(uint256)": {
701
+ "details": "See {IERC721-ownerOf}."
702
+ },
703
+ "renounceOwnership()": {
704
+ "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."
705
+ },
706
+ "safeTransferFrom(address,address,uint256)": {
707
+ "details": "See {IERC721-safeTransferFrom}."
708
+ },
709
+ "safeTransferFrom(address,address,uint256,bytes)": {
710
+ "details": "See {IERC721-safeTransferFrom}."
711
+ },
712
+ "setApprovalForAll(address,bool)": {
713
+ "details": "See {IERC721-setApprovalForAll}."
714
+ },
715
+ "symbol()": {
716
+ "details": "See {IERC721Metadata-symbol}."
717
+ },
718
+ "transferFrom(address,address,uint256)": {
719
+ "details": "See {IERC721-transferFrom}."
720
+ },
721
+ "transferOwnership(address)": {
722
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
723
+ }
724
+ },
725
+ "version": 1
726
+ },
727
+ "userdoc": {
728
+ "kind": "user",
729
+ "methods": {},
730
+ "version": 1
731
+ },
732
+ "evm": {
733
+ "gasEstimates": {
734
+ "creation": {
735
+ "codeDepositCost": "1945400",
736
+ "executionCost": "infinite",
737
+ "totalCost": "infinite"
738
+ },
739
+ "external": {
740
+ "approve(address,uint256)": "infinite",
741
+ "balanceOf(address)": "infinite",
742
+ "getApproved(uint256)": "infinite",
743
+ "isApprovedForAll(address,address)": "infinite",
744
+ "name()": "infinite",
745
+ "owner()": "2567",
746
+ "ownerOf(uint256)": "infinite",
747
+ "renounceOwnership()": "infinite",
748
+ "safeMint(address,uint256,string)": "infinite",
749
+ "safeTransferFrom(address,address,uint256)": "infinite",
750
+ "safeTransferFrom(address,address,uint256,bytes)": "infinite",
751
+ "setApprovalForAll(address,bool)": "infinite",
752
+ "supportsInterface(bytes4)": "935",
753
+ "symbol()": "infinite",
754
+ "tokenURI(uint256)": "infinite",
755
+ "transferFrom(address,address,uint256)": "infinite",
756
+ "transferOwnership(address)": "infinite"
757
+ }
758
+ },
759
+ "methodIdentifiers": {
760
+ "approve(address,uint256)": "095ea7b3",
761
+ "balanceOf(address)": "70a08231",
762
+ "getApproved(uint256)": "081812fc",
763
+ "isApprovedForAll(address,address)": "e985e9c5",
764
+ "name()": "06fdde03",
765
+ "owner()": "8da5cb5b",
766
+ "ownerOf(uint256)": "6352211e",
767
+ "renounceOwnership()": "715018a6",
768
+ "safeMint(address,uint256,string)": "cd279c7c",
769
+ "safeTransferFrom(address,address,uint256)": "42842e0e",
770
+ "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde",
771
+ "setApprovalForAll(address,bool)": "a22cb465",
772
+ "supportsInterface(bytes4)": "01ffc9a7",
773
+ "symbol()": "95d89b41",
774
+ "tokenURI(uint256)": "c87b56dd",
775
+ "transferFrom(address,address,uint256)": "23b872dd",
776
+ "transferOwnership(address)": "f2fde38b"
777
+ }
778
+ }
779
+ }