@cartesi/devnet 2.0.0-alpha.2 → 2.0.0-alpha.4

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 (94) hide show
  1. package/anvil_state.json +1 -0
  2. package/deployments/TestMultiToken.json +585 -0
  3. package/deployments/TestNFT.json +590 -0
  4. package/deployments/TestToken.json +730 -0
  5. package/deployments/cartesiRollups.ApplicationFactory.json +164 -0
  6. package/deployments/cartesiRollups.AuthorityFactory.json +110 -0
  7. package/deployments/cartesiRollups.ERC1155BatchPortal.json +79 -0
  8. package/deployments/cartesiRollups.ERC1155SinglePortal.json +79 -0
  9. package/deployments/cartesiRollups.ERC20Portal.json +74 -0
  10. package/deployments/cartesiRollups.ERC721Portal.json +74 -0
  11. package/deployments/cartesiRollups.EtherPortal.json +64 -0
  12. package/deployments/cartesiRollups.InputBox.json +146 -0
  13. package/deployments/cartesiRollups.QuorumFactory.json +110 -0
  14. package/deployments/cartesiRollups.SafeERC20Transfer.json +49 -0
  15. package/deployments/cartesiRollups.SelfHostedApplicationFactory.json +158 -0
  16. package/package.json +10 -33
  17. package/build/anvil_state.json +0 -1
  18. package/deployments/localhost/.chainId +0 -1
  19. package/deployments/localhost/ApplicationFactory.json +0 -227
  20. package/deployments/localhost/AuthorityFactory.json +0 -188
  21. package/deployments/localhost/ERC1155BatchPortal.json +0 -133
  22. package/deployments/localhost/ERC1155SinglePortal.json +0 -132
  23. package/deployments/localhost/ERC20Portal.json +0 -132
  24. package/deployments/localhost/ERC721Portal.json +0 -126
  25. package/deployments/localhost/EtherPortal.json +0 -121
  26. package/deployments/localhost/InputBox.json +0 -213
  27. package/deployments/localhost/QuorumFactory.json +0 -188
  28. package/deployments/localhost/SafeERC20Transfer.json +0 -118
  29. package/deployments/localhost/SelfHostedApplicationFactory.json +0 -227
  30. package/deployments/localhost/TestMultiToken.json +0 -829
  31. package/deployments/localhost/TestNFT.json +0 -891
  32. package/deployments/localhost/TestToken.json +0 -1079
  33. package/dist/deploy/01_token.js +0 -15
  34. package/dist/deploy/02_nft.js +0 -15
  35. package/dist/deploy/03_multitoken.js +0 -15
  36. package/dist/deploy/04_4337.js +0 -342
  37. package/dist/src/aa/constants.d.ts +0 -31
  38. package/dist/src/aa/constants.d.ts.map +0 -1
  39. package/dist/src/aa/constants.js +0 -65
  40. package/dist/src/tasks/deploy-anvil.d.ts +0 -6
  41. package/dist/src/tasks/deploy-anvil.d.ts.map +0 -1
  42. package/dist/src/tasks/deploy-anvil.js +0 -40
  43. package/export/abi/localhost.json +0 -2837
  44. package/export/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -128
  45. package/export/artifacts/@openzeppelin/contracts/access/manager/AccessManaged.sol/AccessManaged.json +0 -137
  46. package/export/artifacts/@openzeppelin/contracts/access/manager/AuthorityUtils.sol/AuthorityUtils.json +0 -32
  47. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManaged.sol/IAccessManaged.json +0 -133
  48. package/export/artifacts/@openzeppelin/contracts/access/manager/IAccessManager.sol/IAccessManager.json +0 -1240
  49. package/export/artifacts/@openzeppelin/contracts/access/manager/IAuthority.sol/IAuthority.json +0 -60
  50. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json +0 -401
  51. package/export/artifacts/@openzeppelin/contracts/interfaces/IERC5267.sol/IERC5267.json +0 -84
  52. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.json +0 -190
  53. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.json +0 -165
  54. package/export/artifacts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.json +0 -197
  55. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/ERC1155.sol/ERC1155.json +0 -553
  56. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155.sol/IERC1155.json +0 -362
  57. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol/IERC1155Receiver.json +0 -156
  58. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +0 -385
  59. package/export/artifacts/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol/ERC1155Utils.json +0 -34
  60. package/export/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -436
  61. package/export/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -242
  62. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +0 -472
  63. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol/ERC20Pausable.json +0 -502
  64. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol/ERC20Permit.json +0 -695
  65. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -293
  66. package/export/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol/IERC20Permit.json +0 -114
  67. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +0 -595
  68. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +0 -363
  69. package/export/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json +0 -66
  70. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json +0 -630
  71. package/export/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json +0 -421
  72. package/export/artifacts/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol/ERC721Utils.json +0 -33
  73. package/export/artifacts/@openzeppelin/contracts/utils/Arrays.sol/Arrays.json +0 -61
  74. package/export/artifacts/@openzeppelin/contracts/utils/Comparators.sol/Comparators.json +0 -34
  75. package/export/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -24
  76. package/export/artifacts/@openzeppelin/contracts/utils/Nonces.sol/Nonces.json +0 -73
  77. package/export/artifacts/@openzeppelin/contracts/utils/Panic.sol/Panic.json +0 -65
  78. package/export/artifacts/@openzeppelin/contracts/utils/Pausable.sol/Pausable.json +0 -103
  79. package/export/artifacts/@openzeppelin/contracts/utils/ShortStrings.sol/ShortStrings.json +0 -55
  80. package/export/artifacts/@openzeppelin/contracts/utils/SlotDerivation.sol/SlotDerivation.json +0 -42
  81. package/export/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -41
  82. package/export/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -63
  83. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +0 -84
  84. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/EIP712.sol/EIP712.json +0 -105
  85. package/export/artifacts/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol/MessageHashUtils.json +0 -36
  86. package/export/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -50
  87. package/export/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -50
  88. package/export/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -60
  89. package/export/artifacts/@openzeppelin/contracts/utils/math/SafeCast.sol/SafeCast.json +0 -174
  90. package/export/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -37
  91. package/export/artifacts/@openzeppelin/contracts/utils/types/Time.sol/Time.json +0 -41
  92. package/export/artifacts/contracts/TestMultiToken.sol/TestMultiToken.json +0 -750
  93. package/export/artifacts/contracts/TestNFT.sol/TestNFT.json +0 -779
  94. package/export/artifacts/contracts/TestToken.sol/TestToken.json +0 -963
@@ -1,963 +0,0 @@
1
- {
2
- "contractName": "TestToken",
3
- "sourceName": "contracts/TestToken.sol",
4
- "abi": [
5
- {
6
- "inputs": [
7
- {
8
- "internalType": "address",
9
- "name": "initialAuthority",
10
- "type": "address"
11
- }
12
- ],
13
- "stateMutability": "nonpayable",
14
- "type": "constructor"
15
- },
16
- {
17
- "inputs": [
18
- {
19
- "internalType": "address",
20
- "name": "authority",
21
- "type": "address"
22
- }
23
- ],
24
- "name": "AccessManagedInvalidAuthority",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [
29
- {
30
- "internalType": "address",
31
- "name": "caller",
32
- "type": "address"
33
- },
34
- {
35
- "internalType": "uint32",
36
- "name": "delay",
37
- "type": "uint32"
38
- }
39
- ],
40
- "name": "AccessManagedRequiredDelay",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [
45
- {
46
- "internalType": "address",
47
- "name": "caller",
48
- "type": "address"
49
- }
50
- ],
51
- "name": "AccessManagedUnauthorized",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [],
56
- "name": "ECDSAInvalidSignature",
57
- "type": "error"
58
- },
59
- {
60
- "inputs": [
61
- {
62
- "internalType": "uint256",
63
- "name": "length",
64
- "type": "uint256"
65
- }
66
- ],
67
- "name": "ECDSAInvalidSignatureLength",
68
- "type": "error"
69
- },
70
- {
71
- "inputs": [
72
- {
73
- "internalType": "bytes32",
74
- "name": "s",
75
- "type": "bytes32"
76
- }
77
- ],
78
- "name": "ECDSAInvalidSignatureS",
79
- "type": "error"
80
- },
81
- {
82
- "inputs": [
83
- {
84
- "internalType": "address",
85
- "name": "spender",
86
- "type": "address"
87
- },
88
- {
89
- "internalType": "uint256",
90
- "name": "allowance",
91
- "type": "uint256"
92
- },
93
- {
94
- "internalType": "uint256",
95
- "name": "needed",
96
- "type": "uint256"
97
- }
98
- ],
99
- "name": "ERC20InsufficientAllowance",
100
- "type": "error"
101
- },
102
- {
103
- "inputs": [
104
- {
105
- "internalType": "address",
106
- "name": "sender",
107
- "type": "address"
108
- },
109
- {
110
- "internalType": "uint256",
111
- "name": "balance",
112
- "type": "uint256"
113
- },
114
- {
115
- "internalType": "uint256",
116
- "name": "needed",
117
- "type": "uint256"
118
- }
119
- ],
120
- "name": "ERC20InsufficientBalance",
121
- "type": "error"
122
- },
123
- {
124
- "inputs": [
125
- {
126
- "internalType": "address",
127
- "name": "approver",
128
- "type": "address"
129
- }
130
- ],
131
- "name": "ERC20InvalidApprover",
132
- "type": "error"
133
- },
134
- {
135
- "inputs": [
136
- {
137
- "internalType": "address",
138
- "name": "receiver",
139
- "type": "address"
140
- }
141
- ],
142
- "name": "ERC20InvalidReceiver",
143
- "type": "error"
144
- },
145
- {
146
- "inputs": [
147
- {
148
- "internalType": "address",
149
- "name": "sender",
150
- "type": "address"
151
- }
152
- ],
153
- "name": "ERC20InvalidSender",
154
- "type": "error"
155
- },
156
- {
157
- "inputs": [
158
- {
159
- "internalType": "address",
160
- "name": "spender",
161
- "type": "address"
162
- }
163
- ],
164
- "name": "ERC20InvalidSpender",
165
- "type": "error"
166
- },
167
- {
168
- "inputs": [
169
- {
170
- "internalType": "uint256",
171
- "name": "deadline",
172
- "type": "uint256"
173
- }
174
- ],
175
- "name": "ERC2612ExpiredSignature",
176
- "type": "error"
177
- },
178
- {
179
- "inputs": [
180
- {
181
- "internalType": "address",
182
- "name": "signer",
183
- "type": "address"
184
- },
185
- {
186
- "internalType": "address",
187
- "name": "owner",
188
- "type": "address"
189
- }
190
- ],
191
- "name": "ERC2612InvalidSigner",
192
- "type": "error"
193
- },
194
- {
195
- "inputs": [],
196
- "name": "EnforcedPause",
197
- "type": "error"
198
- },
199
- {
200
- "inputs": [],
201
- "name": "ExpectedPause",
202
- "type": "error"
203
- },
204
- {
205
- "inputs": [
206
- {
207
- "internalType": "address",
208
- "name": "account",
209
- "type": "address"
210
- },
211
- {
212
- "internalType": "uint256",
213
- "name": "currentNonce",
214
- "type": "uint256"
215
- }
216
- ],
217
- "name": "InvalidAccountNonce",
218
- "type": "error"
219
- },
220
- {
221
- "inputs": [],
222
- "name": "InvalidShortString",
223
- "type": "error"
224
- },
225
- {
226
- "inputs": [
227
- {
228
- "internalType": "string",
229
- "name": "str",
230
- "type": "string"
231
- }
232
- ],
233
- "name": "StringTooLong",
234
- "type": "error"
235
- },
236
- {
237
- "anonymous": false,
238
- "inputs": [
239
- {
240
- "indexed": true,
241
- "internalType": "address",
242
- "name": "owner",
243
- "type": "address"
244
- },
245
- {
246
- "indexed": true,
247
- "internalType": "address",
248
- "name": "spender",
249
- "type": "address"
250
- },
251
- {
252
- "indexed": false,
253
- "internalType": "uint256",
254
- "name": "value",
255
- "type": "uint256"
256
- }
257
- ],
258
- "name": "Approval",
259
- "type": "event"
260
- },
261
- {
262
- "anonymous": false,
263
- "inputs": [
264
- {
265
- "indexed": false,
266
- "internalType": "address",
267
- "name": "authority",
268
- "type": "address"
269
- }
270
- ],
271
- "name": "AuthorityUpdated",
272
- "type": "event"
273
- },
274
- {
275
- "anonymous": false,
276
- "inputs": [],
277
- "name": "EIP712DomainChanged",
278
- "type": "event"
279
- },
280
- {
281
- "anonymous": false,
282
- "inputs": [
283
- {
284
- "indexed": false,
285
- "internalType": "address",
286
- "name": "account",
287
- "type": "address"
288
- }
289
- ],
290
- "name": "Paused",
291
- "type": "event"
292
- },
293
- {
294
- "anonymous": false,
295
- "inputs": [
296
- {
297
- "indexed": true,
298
- "internalType": "address",
299
- "name": "from",
300
- "type": "address"
301
- },
302
- {
303
- "indexed": true,
304
- "internalType": "address",
305
- "name": "to",
306
- "type": "address"
307
- },
308
- {
309
- "indexed": false,
310
- "internalType": "uint256",
311
- "name": "value",
312
- "type": "uint256"
313
- }
314
- ],
315
- "name": "Transfer",
316
- "type": "event"
317
- },
318
- {
319
- "anonymous": false,
320
- "inputs": [
321
- {
322
- "indexed": false,
323
- "internalType": "address",
324
- "name": "account",
325
- "type": "address"
326
- }
327
- ],
328
- "name": "Unpaused",
329
- "type": "event"
330
- },
331
- {
332
- "inputs": [],
333
- "name": "DOMAIN_SEPARATOR",
334
- "outputs": [
335
- {
336
- "internalType": "bytes32",
337
- "name": "",
338
- "type": "bytes32"
339
- }
340
- ],
341
- "stateMutability": "view",
342
- "type": "function"
343
- },
344
- {
345
- "inputs": [
346
- {
347
- "internalType": "address",
348
- "name": "owner",
349
- "type": "address"
350
- },
351
- {
352
- "internalType": "address",
353
- "name": "spender",
354
- "type": "address"
355
- }
356
- ],
357
- "name": "allowance",
358
- "outputs": [
359
- {
360
- "internalType": "uint256",
361
- "name": "",
362
- "type": "uint256"
363
- }
364
- ],
365
- "stateMutability": "view",
366
- "type": "function"
367
- },
368
- {
369
- "inputs": [
370
- {
371
- "internalType": "address",
372
- "name": "spender",
373
- "type": "address"
374
- },
375
- {
376
- "internalType": "uint256",
377
- "name": "value",
378
- "type": "uint256"
379
- }
380
- ],
381
- "name": "approve",
382
- "outputs": [
383
- {
384
- "internalType": "bool",
385
- "name": "",
386
- "type": "bool"
387
- }
388
- ],
389
- "stateMutability": "nonpayable",
390
- "type": "function"
391
- },
392
- {
393
- "inputs": [],
394
- "name": "authority",
395
- "outputs": [
396
- {
397
- "internalType": "address",
398
- "name": "",
399
- "type": "address"
400
- }
401
- ],
402
- "stateMutability": "view",
403
- "type": "function"
404
- },
405
- {
406
- "inputs": [
407
- {
408
- "internalType": "address",
409
- "name": "account",
410
- "type": "address"
411
- }
412
- ],
413
- "name": "balanceOf",
414
- "outputs": [
415
- {
416
- "internalType": "uint256",
417
- "name": "",
418
- "type": "uint256"
419
- }
420
- ],
421
- "stateMutability": "view",
422
- "type": "function"
423
- },
424
- {
425
- "inputs": [
426
- {
427
- "internalType": "uint256",
428
- "name": "value",
429
- "type": "uint256"
430
- }
431
- ],
432
- "name": "burn",
433
- "outputs": [],
434
- "stateMutability": "nonpayable",
435
- "type": "function"
436
- },
437
- {
438
- "inputs": [
439
- {
440
- "internalType": "address",
441
- "name": "account",
442
- "type": "address"
443
- },
444
- {
445
- "internalType": "uint256",
446
- "name": "value",
447
- "type": "uint256"
448
- }
449
- ],
450
- "name": "burnFrom",
451
- "outputs": [],
452
- "stateMutability": "nonpayable",
453
- "type": "function"
454
- },
455
- {
456
- "inputs": [],
457
- "name": "decimals",
458
- "outputs": [
459
- {
460
- "internalType": "uint8",
461
- "name": "",
462
- "type": "uint8"
463
- }
464
- ],
465
- "stateMutability": "view",
466
- "type": "function"
467
- },
468
- {
469
- "inputs": [],
470
- "name": "eip712Domain",
471
- "outputs": [
472
- {
473
- "internalType": "bytes1",
474
- "name": "fields",
475
- "type": "bytes1"
476
- },
477
- {
478
- "internalType": "string",
479
- "name": "name",
480
- "type": "string"
481
- },
482
- {
483
- "internalType": "string",
484
- "name": "version",
485
- "type": "string"
486
- },
487
- {
488
- "internalType": "uint256",
489
- "name": "chainId",
490
- "type": "uint256"
491
- },
492
- {
493
- "internalType": "address",
494
- "name": "verifyingContract",
495
- "type": "address"
496
- },
497
- {
498
- "internalType": "bytes32",
499
- "name": "salt",
500
- "type": "bytes32"
501
- },
502
- {
503
- "internalType": "uint256[]",
504
- "name": "extensions",
505
- "type": "uint256[]"
506
- }
507
- ],
508
- "stateMutability": "view",
509
- "type": "function"
510
- },
511
- {
512
- "inputs": [],
513
- "name": "isConsumingScheduledOp",
514
- "outputs": [
515
- {
516
- "internalType": "bytes4",
517
- "name": "",
518
- "type": "bytes4"
519
- }
520
- ],
521
- "stateMutability": "view",
522
- "type": "function"
523
- },
524
- {
525
- "inputs": [],
526
- "name": "name",
527
- "outputs": [
528
- {
529
- "internalType": "string",
530
- "name": "",
531
- "type": "string"
532
- }
533
- ],
534
- "stateMutability": "view",
535
- "type": "function"
536
- },
537
- {
538
- "inputs": [
539
- {
540
- "internalType": "address",
541
- "name": "owner",
542
- "type": "address"
543
- }
544
- ],
545
- "name": "nonces",
546
- "outputs": [
547
- {
548
- "internalType": "uint256",
549
- "name": "",
550
- "type": "uint256"
551
- }
552
- ],
553
- "stateMutability": "view",
554
- "type": "function"
555
- },
556
- {
557
- "inputs": [],
558
- "name": "pause",
559
- "outputs": [],
560
- "stateMutability": "nonpayable",
561
- "type": "function"
562
- },
563
- {
564
- "inputs": [],
565
- "name": "paused",
566
- "outputs": [
567
- {
568
- "internalType": "bool",
569
- "name": "",
570
- "type": "bool"
571
- }
572
- ],
573
- "stateMutability": "view",
574
- "type": "function"
575
- },
576
- {
577
- "inputs": [
578
- {
579
- "internalType": "address",
580
- "name": "owner",
581
- "type": "address"
582
- },
583
- {
584
- "internalType": "address",
585
- "name": "spender",
586
- "type": "address"
587
- },
588
- {
589
- "internalType": "uint256",
590
- "name": "value",
591
- "type": "uint256"
592
- },
593
- {
594
- "internalType": "uint256",
595
- "name": "deadline",
596
- "type": "uint256"
597
- },
598
- {
599
- "internalType": "uint8",
600
- "name": "v",
601
- "type": "uint8"
602
- },
603
- {
604
- "internalType": "bytes32",
605
- "name": "r",
606
- "type": "bytes32"
607
- },
608
- {
609
- "internalType": "bytes32",
610
- "name": "s",
611
- "type": "bytes32"
612
- }
613
- ],
614
- "name": "permit",
615
- "outputs": [],
616
- "stateMutability": "nonpayable",
617
- "type": "function"
618
- },
619
- {
620
- "inputs": [
621
- {
622
- "internalType": "address",
623
- "name": "newAuthority",
624
- "type": "address"
625
- }
626
- ],
627
- "name": "setAuthority",
628
- "outputs": [],
629
- "stateMutability": "nonpayable",
630
- "type": "function"
631
- },
632
- {
633
- "inputs": [],
634
- "name": "symbol",
635
- "outputs": [
636
- {
637
- "internalType": "string",
638
- "name": "",
639
- "type": "string"
640
- }
641
- ],
642
- "stateMutability": "view",
643
- "type": "function"
644
- },
645
- {
646
- "inputs": [],
647
- "name": "totalSupply",
648
- "outputs": [
649
- {
650
- "internalType": "uint256",
651
- "name": "",
652
- "type": "uint256"
653
- }
654
- ],
655
- "stateMutability": "view",
656
- "type": "function"
657
- },
658
- {
659
- "inputs": [
660
- {
661
- "internalType": "address",
662
- "name": "to",
663
- "type": "address"
664
- },
665
- {
666
- "internalType": "uint256",
667
- "name": "value",
668
- "type": "uint256"
669
- }
670
- ],
671
- "name": "transfer",
672
- "outputs": [
673
- {
674
- "internalType": "bool",
675
- "name": "",
676
- "type": "bool"
677
- }
678
- ],
679
- "stateMutability": "nonpayable",
680
- "type": "function"
681
- },
682
- {
683
- "inputs": [
684
- {
685
- "internalType": "address",
686
- "name": "from",
687
- "type": "address"
688
- },
689
- {
690
- "internalType": "address",
691
- "name": "to",
692
- "type": "address"
693
- },
694
- {
695
- "internalType": "uint256",
696
- "name": "value",
697
- "type": "uint256"
698
- }
699
- ],
700
- "name": "transferFrom",
701
- "outputs": [
702
- {
703
- "internalType": "bool",
704
- "name": "",
705
- "type": "bool"
706
- }
707
- ],
708
- "stateMutability": "nonpayable",
709
- "type": "function"
710
- },
711
- {
712
- "inputs": [],
713
- "name": "unpause",
714
- "outputs": [],
715
- "stateMutability": "nonpayable",
716
- "type": "function"
717
- }
718
- ],
719
- "bytecode": "0x6101606040523480156200001257600080fd5b50604051620037af380380620037af8339818101604052810190620000389190620007d7565b6040518060400160405280600981526020017f54657374546f6b656e0000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250836040518060400160405280600981526020017f54657374546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5445535400000000000000000000000000000000000000000000000000000000815250816003908162000123919062000a83565b50806004908162000135919062000a83565b5050506000600560006101000a81548160ff02191690831515021790555062000164816200025d60201b60201c565b506200017b600683620002da60201b90919060201c565b610120818152505062000199600782620002da60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001d86200033260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000256816200022b6200038f60201b60201c565b600a62000239919062000cfa565b633b9aca006200024a919062000d4b565b6200039860201b60201c565b5062001037565b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad81604051620002cf919062000da7565b60405180910390a150565b60006020835110156200030057620002f8836200042560201b60201c565b90506200032c565b8262000312836200049260201b60201c565b600001908162000323919062000a83565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200037495949392919062000df0565b60405160208183030381529060405280519060200120905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200040d5760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000404919062000da7565b60405180910390fd5b62000421600083836200049c60201b60201c565b5050565b600080829050601f815111156200047557826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200046c919062000edc565b60405180910390fd5b805181620004839062000f32565b60001c1760001b915050919050565b6000819050919050565b620004af838383620004b460201b60201c565b505050565b620004c4620004dc60201b60201c565b620004d78383836200052660201b60201c565b505050565b620004ec6200075660201b60201c565b1562000524576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200057c5780600260008282546200056f919062000fa2565b9250508190555062000652565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156200060b578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620006029392919062000fdd565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200069d5780600260008282540392505081905550620006ea565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200074991906200101a565b60405180910390a3505050565b6000600560009054906101000a900460ff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200079f8262000772565b9050919050565b620007b18162000792565b8114620007bd57600080fd5b50565b600081519050620007d181620007a6565b92915050565b600060208284031215620007f057620007ef6200076d565b5b60006200080084828501620007c0565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200088b57607f821691505b602082108103620008a157620008a062000843565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200090b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008cc565b620009178683620008cc565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009646200095e62000958846200092f565b62000939565b6200092f565b9050919050565b6000819050919050565b620009808362000943565b620009986200098f826200096b565b848454620008d9565b825550505050565b600090565b620009af620009a0565b620009bc81848462000975565b505050565b5b81811015620009e457620009d8600082620009a5565b600181019050620009c2565b5050565b601f82111562000a3357620009fd81620008a7565b62000a0884620008bc565b8101602085101562000a18578190505b62000a3062000a2785620008bc565b830182620009c1565b50505b505050565b600082821c905092915050565b600062000a586000198460080262000a38565b1980831691505092915050565b600062000a73838362000a45565b9150826002028217905092915050565b62000a8e8262000809565b67ffffffffffffffff81111562000aaa5762000aa962000814565b5b62000ab6825462000872565b62000ac3828285620009e8565b600060209050601f83116001811462000afb576000841562000ae6578287015190505b62000af2858262000a65565b86555062000b62565b601f19841662000b0b86620008a7565b60005b8281101562000b355784890151825560018201915060208501945060208101905062000b0e565b8683101562000b55578489015162000b51601f89168262000a45565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bf85780860481111562000bd05762000bcf62000b6a565b5b600185161562000be05780820291505b808102905062000bf08562000b99565b945062000bb0565b94509492505050565b60008262000c13576001905062000ce6565b8162000c23576000905062000ce6565b816001811462000c3c576002811462000c475762000c7d565b600191505062000ce6565b60ff84111562000c5c5762000c5b62000b6a565b5b8360020a91508482111562000c765762000c7562000b6a565b5b5062000ce6565b5060208310610133831016604e8410600b841016171562000cb75782820a90508381111562000cb15762000cb062000b6a565b5b62000ce6565b62000cc6848484600162000ba6565b9250905081840481111562000ce05762000cdf62000b6a565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d07826200092f565b915062000d148362000ced565b925062000d437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c01565b905092915050565b600062000d58826200092f565b915062000d65836200092f565b925082820262000d75816200092f565b9150828204841483151762000d8f5762000d8e62000b6a565b5b5092915050565b62000da18162000792565b82525050565b600060208201905062000dbe600083018462000d96565b92915050565b6000819050919050565b62000dd98162000dc4565b82525050565b62000dea816200092f565b82525050565b600060a08201905062000e07600083018862000dce565b62000e16602083018762000dce565b62000e25604083018662000dce565b62000e34606083018562000ddf565b62000e43608083018462000d96565b9695505050505050565b600082825260208201905092915050565b60005b8381101562000e7e57808201518184015260208101905062000e61565b60008484015250505050565b6000601f19601f8301169050919050565b600062000ea88262000809565b62000eb4818562000e4d565b935062000ec681856020860162000e5e565b62000ed18162000e8a565b840191505092915050565b6000602082019050818103600083015262000ef8818462000e9b565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062000f29825162000dc4565b80915050919050565b600062000f3f8262000f00565b8262000f4b8462000f0b565b905062000f588162000f1b565b9250602082101562000f9b5762000f967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620008cc565b831692505b5050919050565b600062000faf826200092f565b915062000fbc836200092f565b925082820190508082111562000fd75762000fd662000b6a565b5b92915050565b600060608201905062000ff4600083018662000d96565b62001003602083018562000ddf565b62001012604083018462000ddf565b949350505050565b600060208201905062001031600083018462000ddf565b92915050565b60805160a05160c05160e05161010051610120516101405161271d62001092600039600061104d015260006110120152600061134d0152600061132c01526000610bfb01526000610c5101526000610c7a015261271d6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806379cc6790116100b85780638fb360371161007c5780638fb360371461031e57806395d89b411461033c578063a9059cbb1461035a578063bf7e214f1461038a578063d505accf146103a8578063dd62ed3e146103c457610137565b806379cc6790146102885780637a9e5e4b146102a45780637ecebe00146102c05780638456cb59146102f057806384b0196e146102fa57610137565b80633644e515116100ff5780633644e515146101f65780633f4ba83a1461021457806342966c681461021e5780635c975abb1461023a57806370a082311461025857610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063313ce567146101d8575b600080fd5b6101446103f4565b6040516101519190611c1e565b60405180910390f35b610174600480360381019061016f9190611cd9565b610486565b6040516101819190611d34565b60405180910390f35b6101926104a9565b60405161019f9190611d5e565b60405180910390f35b6101c260048036038101906101bd9190611d79565b6104b3565b6040516101cf9190611d34565b60405180910390f35b6101e06104e2565b6040516101ed9190611de8565b60405180910390f35b6101fe6104eb565b60405161020b9190611e1c565b60405180910390f35b61021c6104fa565b005b61023860048036038101906102339190611e37565b61051c565b005b610242610530565b60405161024f9190611d34565b60405180910390f35b610272600480360381019061026d9190611e64565b610547565b60405161027f9190611d5e565b60405180910390f35b6102a2600480360381019061029d9190611cd9565b61058f565b005b6102be60048036038101906102b99190611e64565b6105af565b005b6102da60048036038101906102d59190611e64565b61069b565b6040516102e79190611d5e565b60405180910390f35b6102f86106ad565b005b6103026106cf565b6040516103159796959493929190611f99565b60405180910390f35b610326610779565b6040516103339190612058565b60405180910390f35b6103446107a7565b6040516103519190611c1e565b60405180910390f35b610374600480360381019061036f9190611cd9565b610839565b6040516103819190611d34565b60405180910390f35b61039261085c565b60405161039f9190612073565b60405180910390f35b6103c260048036038101906103bd91906120e6565b610886565b005b6103de60048036038101906103d99190612188565b6109ce565b6040516103eb9190611d5e565b60405180910390f35b606060038054610403906121f7565b80601f016020809104026020016040519081016040528092919081815260200182805461042f906121f7565b801561047c5780601f106104515761010080835404028352916020019161047c565b820191906000526020600020905b81548152906001019060200180831161045f57829003601f168201915b5050505050905090565b600080610491610a55565b905061049e818585610a5d565b600191505092915050565b6000600254905090565b6000806104be610a55565b90506104cb858285610a6f565b6104d6858585610b03565b60019150509392505050565b60006012905090565b60006104f5610bf7565b905090565b610512610505610a55565b61050d610cae565b610cbb565b61051a610dfd565b565b61052d610527610a55565b82610e60565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a18261059b610a55565b83610a6f565b6105ab8282610e60565b5050565b60006105b9610a55565b90506105c361085c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461063257806040517f068ca9d80000000000000000000000000000000000000000000000000000000081526004016106299190612073565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff163b0361068e57816040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526004016106859190612073565b60405180910390fd5b61069782610ee2565b5050565b60006106a682610f5d565b9050919050565b6106c56106b8610a55565b6106c0610cae565b610cbb565b6106cd610fa6565b565b6000606080600080600060606106e3611009565b6106eb611044565b46306000801b600067ffffffffffffffff81111561070c5761070b612228565b5b60405190808252806020026020018201604052801561073a5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560159054906101000a900460ff1661079957600060e01b6107a2565b638fb3603760e01b5b905090565b6060600480546107b6906121f7565b80601f01602080910402602001604051908101604052809291908181526020018280546107e2906121f7565b801561082f5780601f106108045761010080835404028352916020019161082f565b820191906000526020600020905b81548152906001019060200180831161081257829003601f168201915b5050505050905090565b600080610844610a55565b9050610851818585610b03565b600191505092915050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b834211156108cb57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016108c29190611d5e565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108fa8c61107f565b8960405160200161091096959493929190612257565b6040516020818303038152906040528051906020012090506000610933826110d6565b90506000610943828787876110f0565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109b757808a6040517f4b800e460000000000000000000000000000000000000000000000000000000081526004016109ae9291906122b8565b60405180910390fd5b6109c28a8a8a610a5d565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b610a6a8383836001611120565b505050565b6000610a7b84846109ce565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610afd5781811015610aed578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610ae4939291906122e1565b60405180910390fd5b610afc84848484036000611120565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b755760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b6c9190612073565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610be75760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bde9190612073565b60405180910390fd5b610bf28383836112f7565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610c7357507f000000000000000000000000000000000000000000000000000000000000000046145b15610ca0577f00000000000000000000000000000000000000000000000000000000000000009050610cab565b610ca8611307565b90505b90565b3660008036915091509091565b600080610cef610cc961085c565b86308787600090600492610cdf93929190612322565b90610cea9190612375565b61139d565b9150915081610df65760008163ffffffff161115610db8576001600560156101000a81548160ff021916908315150217905550610d2a61085c565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8686866040518463ffffffff1660e01b8152600401610d6693929190612421565b600060405180830381600087803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505050506000600560156101000a81548160ff021916908315150217905550610df5565b846040517f068ca9d8000000000000000000000000000000000000000000000000000000008152600401610dec9190612073565b60405180910390fd5b5b5050505050565b610e056114c3565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610e49610a55565b604051610e569190612073565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed25760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ec99190612073565b60405180910390fd5b610ede826000836112f7565b5050565b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad81604051610f529190612073565b60405180910390a150565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fae611503565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ff2610a55565b604051610fff9190612073565b60405180910390a1565b606061103f60067f000000000000000000000000000000000000000000000000000000000000000061154490919063ffffffff16565b905090565b606061107a60077f000000000000000000000000000000000000000000000000000000000000000061154490919063ffffffff16565b905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b60006110e96110e3610bf7565b836115f4565b9050919050565b60008060008061110288888888611635565b9250925092506111128282611729565b829350505050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111925760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016111899190612073565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112045760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016111fb9190612073565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156112f1578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516112e89190611d5e565b60405180910390a35b50505050565b61130283838361188d565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611382959493929190612453565b60405160208183030381529060405280519060200120905090565b6000806000808773ffffffffffffffffffffffffffffffffffffffff168787876040516024016113cf939291906124a6565b60405160208183030381529060405263b700961360e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114219190612524565b600060405180830381855afa9150503d806000811461145c576040519150601f19603f3d011682016040523d82523d6000602084013e611461565b606091505b509150915081156114b8576040815110611496578080602001905181019061148991906125a3565b80945081955050506114b7565b60208151106114b657808060200190518101906114b391906125e3565b93505b5b5b505094509492505050565b6114cb610530565b611501576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61150b610530565b15611542576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff60001b83146115615761155a836118a5565b90506115ee565b81805461156d906121f7565b80601f0160208091040260200160405190810160405280929190818152602001828054611599906121f7565b80156115e65780601f106115bb576101008083540402835291602001916115e6565b820191906000526020600020905b8154815290600101906020018083116115c957829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561167557600060038592509250925061171f565b60006001888888886040516000815260200160405260405161169a9493929190612610565b6020604051602081039080840390855afa1580156116bc573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361171057600060016000801b9350935093505061171f565b8060008060001b935093509350505b9450945094915050565b6000600381111561173d5761173c612655565b5b8260038111156117505761174f612655565b5b0315611889576001600381111561176a57611769612655565b5b82600381111561177d5761177c612655565b5b036117b4576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156117c8576117c7612655565b5b8260038111156117db576117da612655565b5b03611820578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016118179190611d5e565b60405180910390fd5b60038081111561183357611832612655565b5b82600381111561184657611845612655565b5b0361188857806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161187f9190611e1c565b60405180910390fd5b5b5050565b611895611503565b6118a0838383611919565b505050565b606060006118b283611b3e565b90506000602067ffffffffffffffff8111156118d1576118d0612228565b5b6040519080825280601f01601f1916602001820160405280156119035781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361196b57806002600082825461195f91906126b3565b92505081905550611a3e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119f7578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016119ee939291906122e1565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a875780600260008282540392505081905550611ad4565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b319190611d5e565b60405180910390a3505050565b60008060ff8360001c169050601f811115611b85576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bc8578082015181840152602081019050611bad565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bf082611b8e565b611bfa8185611b99565b9350611c0a818560208601611baa565b611c1381611bd4565b840191505092915050565b60006020820190508181036000830152611c388184611be5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c7082611c45565b9050919050565b611c8081611c65565b8114611c8b57600080fd5b50565b600081359050611c9d81611c77565b92915050565b6000819050919050565b611cb681611ca3565b8114611cc157600080fd5b50565b600081359050611cd381611cad565b92915050565b60008060408385031215611cf057611cef611c40565b5b6000611cfe85828601611c8e565b9250506020611d0f85828601611cc4565b9150509250929050565b60008115159050919050565b611d2e81611d19565b82525050565b6000602082019050611d496000830184611d25565b92915050565b611d5881611ca3565b82525050565b6000602082019050611d736000830184611d4f565b92915050565b600080600060608486031215611d9257611d91611c40565b5b6000611da086828701611c8e565b9350506020611db186828701611c8e565b9250506040611dc286828701611cc4565b9150509250925092565b600060ff82169050919050565b611de281611dcc565b82525050565b6000602082019050611dfd6000830184611dd9565b92915050565b6000819050919050565b611e1681611e03565b82525050565b6000602082019050611e316000830184611e0d565b92915050565b600060208284031215611e4d57611e4c611c40565b5b6000611e5b84828501611cc4565b91505092915050565b600060208284031215611e7a57611e79611c40565b5b6000611e8884828501611c8e565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611ec681611e91565b82525050565b611ed581611c65565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f1081611ca3565b82525050565b6000611f228383611f07565b60208301905092915050565b6000602082019050919050565b6000611f4682611edb565b611f508185611ee6565b9350611f5b83611ef7565b8060005b83811015611f8c578151611f738882611f16565b9750611f7e83611f2e565b925050600181019050611f5f565b5085935050505092915050565b600060e082019050611fae600083018a611ebd565b8181036020830152611fc08189611be5565b90508181036040830152611fd48188611be5565b9050611fe36060830187611d4f565b611ff06080830186611ecc565b611ffd60a0830185611e0d565b81810360c083015261200f8184611f3b565b905098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6120528161201d565b82525050565b600060208201905061206d6000830184612049565b92915050565b60006020820190506120886000830184611ecc565b92915050565b61209781611dcc565b81146120a257600080fd5b50565b6000813590506120b48161208e565b92915050565b6120c381611e03565b81146120ce57600080fd5b50565b6000813590506120e0816120ba565b92915050565b600080600080600080600060e0888a03121561210557612104611c40565b5b60006121138a828b01611c8e565b97505060206121248a828b01611c8e565b96505060406121358a828b01611cc4565b95505060606121468a828b01611cc4565b94505060806121578a828b016120a5565b93505060a06121688a828b016120d1565b92505060c06121798a828b016120d1565b91505092959891949750929550565b6000806040838503121561219f5761219e611c40565b5b60006121ad85828601611c8e565b92505060206121be85828601611c8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061220f57607f821691505b602082108103612222576122216121c8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c08201905061226c6000830189611e0d565b6122796020830188611ecc565b6122866040830187611ecc565b6122936060830186611d4f565b6122a06080830185611d4f565b6122ad60a0830184611d4f565b979650505050505050565b60006040820190506122cd6000830185611ecc565b6122da6020830184611ecc565b9392505050565b60006060820190506122f66000830186611ecc565b6123036020830185611d4f565b6123106040830184611d4f565b949350505050565b600080fd5b600080fd5b6000808585111561233657612335612318565b5b838611156123475761234661231d565b5b6001850283019150848603905094509492505050565b600082905092915050565b600082821b905092915050565b6000612381838361235d565b8261238c813561201d565b925060048210156123cc576123c77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612368565b831692505b505092915050565b600082825260208201905092915050565b82818337600083830152505050565b600061240083856123d4565b935061240d8385846123e5565b61241683611bd4565b840190509392505050565b60006040820190506124366000830186611ecc565b81810360208301526124498184866123f4565b9050949350505050565b600060a0820190506124686000830188611e0d565b6124756020830187611e0d565b6124826040830186611e0d565b61248f6060830185611d4f565b61249c6080830184611ecc565b9695505050505050565b60006060820190506124bb6000830186611ecc565b6124c86020830185611ecc565b6124d56040830184612049565b949350505050565b600081519050919050565b600081905092915050565b60006124fe826124dd565b61250881856124e8565b9350612518818560208601611baa565b80840191505092915050565b600061253082846124f3565b915081905092915050565b61254481611d19565b811461254f57600080fd5b50565b6000815190506125618161253b565b92915050565b600063ffffffff82169050919050565b61258081612567565b811461258b57600080fd5b50565b60008151905061259d81612577565b92915050565b600080604083850312156125ba576125b9611c40565b5b60006125c885828601612552565b92505060206125d98582860161258e565b9150509250929050565b6000602082840312156125f9576125f8611c40565b5b600061260784828501612552565b91505092915050565b60006080820190506126256000830187611e0d565b6126326020830186611dd9565b61263f6040830185611e0d565b61264c6060830184611e0d565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126be82611ca3565b91506126c983611ca3565b92508282019050808211156126e1576126e0612684565b5b9291505056fea2646970667358221220add4b8e496e62d6381ed68ab206d751f743144dadc58d6442d031816e1069a7864736f6c63430008140033",
720
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806379cc6790116100b85780638fb360371161007c5780638fb360371461031e57806395d89b411461033c578063a9059cbb1461035a578063bf7e214f1461038a578063d505accf146103a8578063dd62ed3e146103c457610137565b806379cc6790146102885780637a9e5e4b146102a45780637ecebe00146102c05780638456cb59146102f057806384b0196e146102fa57610137565b80633644e515116100ff5780633644e515146101f65780633f4ba83a1461021457806342966c681461021e5780635c975abb1461023a57806370a082311461025857610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063313ce567146101d8575b600080fd5b6101446103f4565b6040516101519190611c1e565b60405180910390f35b610174600480360381019061016f9190611cd9565b610486565b6040516101819190611d34565b60405180910390f35b6101926104a9565b60405161019f9190611d5e565b60405180910390f35b6101c260048036038101906101bd9190611d79565b6104b3565b6040516101cf9190611d34565b60405180910390f35b6101e06104e2565b6040516101ed9190611de8565b60405180910390f35b6101fe6104eb565b60405161020b9190611e1c565b60405180910390f35b61021c6104fa565b005b61023860048036038101906102339190611e37565b61051c565b005b610242610530565b60405161024f9190611d34565b60405180910390f35b610272600480360381019061026d9190611e64565b610547565b60405161027f9190611d5e565b60405180910390f35b6102a2600480360381019061029d9190611cd9565b61058f565b005b6102be60048036038101906102b99190611e64565b6105af565b005b6102da60048036038101906102d59190611e64565b61069b565b6040516102e79190611d5e565b60405180910390f35b6102f86106ad565b005b6103026106cf565b6040516103159796959493929190611f99565b60405180910390f35b610326610779565b6040516103339190612058565b60405180910390f35b6103446107a7565b6040516103519190611c1e565b60405180910390f35b610374600480360381019061036f9190611cd9565b610839565b6040516103819190611d34565b60405180910390f35b61039261085c565b60405161039f9190612073565b60405180910390f35b6103c260048036038101906103bd91906120e6565b610886565b005b6103de60048036038101906103d99190612188565b6109ce565b6040516103eb9190611d5e565b60405180910390f35b606060038054610403906121f7565b80601f016020809104026020016040519081016040528092919081815260200182805461042f906121f7565b801561047c5780601f106104515761010080835404028352916020019161047c565b820191906000526020600020905b81548152906001019060200180831161045f57829003601f168201915b5050505050905090565b600080610491610a55565b905061049e818585610a5d565b600191505092915050565b6000600254905090565b6000806104be610a55565b90506104cb858285610a6f565b6104d6858585610b03565b60019150509392505050565b60006012905090565b60006104f5610bf7565b905090565b610512610505610a55565b61050d610cae565b610cbb565b61051a610dfd565b565b61052d610527610a55565b82610e60565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105a18261059b610a55565b83610a6f565b6105ab8282610e60565b5050565b60006105b9610a55565b90506105c361085c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461063257806040517f068ca9d80000000000000000000000000000000000000000000000000000000081526004016106299190612073565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff163b0361068e57816040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526004016106859190612073565b60405180910390fd5b61069782610ee2565b5050565b60006106a682610f5d565b9050919050565b6106c56106b8610a55565b6106c0610cae565b610cbb565b6106cd610fa6565b565b6000606080600080600060606106e3611009565b6106eb611044565b46306000801b600067ffffffffffffffff81111561070c5761070b612228565b5b60405190808252806020026020018201604052801561073a5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560159054906101000a900460ff1661079957600060e01b6107a2565b638fb3603760e01b5b905090565b6060600480546107b6906121f7565b80601f01602080910402602001604051908101604052809291908181526020018280546107e2906121f7565b801561082f5780601f106108045761010080835404028352916020019161082f565b820191906000526020600020905b81548152906001019060200180831161081257829003601f168201915b5050505050905090565b600080610844610a55565b9050610851818585610b03565b600191505092915050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b834211156108cb57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016108c29190611d5e565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108fa8c61107f565b8960405160200161091096959493929190612257565b6040516020818303038152906040528051906020012090506000610933826110d6565b90506000610943828787876110f0565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109b757808a6040517f4b800e460000000000000000000000000000000000000000000000000000000081526004016109ae9291906122b8565b60405180910390fd5b6109c28a8a8a610a5d565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b610a6a8383836001611120565b505050565b6000610a7b84846109ce565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610afd5781811015610aed578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610ae4939291906122e1565b60405180910390fd5b610afc84848484036000611120565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b755760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b6c9190612073565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610be75760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bde9190612073565b60405180910390fd5b610bf28383836112f7565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610c7357507f000000000000000000000000000000000000000000000000000000000000000046145b15610ca0577f00000000000000000000000000000000000000000000000000000000000000009050610cab565b610ca8611307565b90505b90565b3660008036915091509091565b600080610cef610cc961085c565b86308787600090600492610cdf93929190612322565b90610cea9190612375565b61139d565b9150915081610df65760008163ffffffff161115610db8576001600560156101000a81548160ff021916908315150217905550610d2a61085c565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8686866040518463ffffffff1660e01b8152600401610d6693929190612421565b600060405180830381600087803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505050506000600560156101000a81548160ff021916908315150217905550610df5565b846040517f068ca9d8000000000000000000000000000000000000000000000000000000008152600401610dec9190612073565b60405180910390fd5b5b5050505050565b610e056114c3565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610e49610a55565b604051610e569190612073565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed25760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ec99190612073565b60405180910390fd5b610ede826000836112f7565b5050565b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad81604051610f529190612073565b60405180910390a150565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fae611503565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ff2610a55565b604051610fff9190612073565b60405180910390a1565b606061103f60067f000000000000000000000000000000000000000000000000000000000000000061154490919063ffffffff16565b905090565b606061107a60077f000000000000000000000000000000000000000000000000000000000000000061154490919063ffffffff16565b905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b60006110e96110e3610bf7565b836115f4565b9050919050565b60008060008061110288888888611635565b9250925092506111128282611729565b829350505050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111925760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016111899190612073565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112045760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016111fb9190612073565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156112f1578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516112e89190611d5e565b60405180910390a35b50505050565b61130283838361188d565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611382959493929190612453565b60405160208183030381529060405280519060200120905090565b6000806000808773ffffffffffffffffffffffffffffffffffffffff168787876040516024016113cf939291906124a6565b60405160208183030381529060405263b700961360e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114219190612524565b600060405180830381855afa9150503d806000811461145c576040519150601f19603f3d011682016040523d82523d6000602084013e611461565b606091505b509150915081156114b8576040815110611496578080602001905181019061148991906125a3565b80945081955050506114b7565b60208151106114b657808060200190518101906114b391906125e3565b93505b5b5b505094509492505050565b6114cb610530565b611501576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61150b610530565b15611542576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff60001b83146115615761155a836118a5565b90506115ee565b81805461156d906121f7565b80601f0160208091040260200160405190810160405280929190818152602001828054611599906121f7565b80156115e65780601f106115bb576101008083540402835291602001916115e6565b820191906000526020600020905b8154815290600101906020018083116115c957829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561167557600060038592509250925061171f565b60006001888888886040516000815260200160405260405161169a9493929190612610565b6020604051602081039080840390855afa1580156116bc573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361171057600060016000801b9350935093505061171f565b8060008060001b935093509350505b9450945094915050565b6000600381111561173d5761173c612655565b5b8260038111156117505761174f612655565b5b0315611889576001600381111561176a57611769612655565b5b82600381111561177d5761177c612655565b5b036117b4576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156117c8576117c7612655565b5b8260038111156117db576117da612655565b5b03611820578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016118179190611d5e565b60405180910390fd5b60038081111561183357611832612655565b5b82600381111561184657611845612655565b5b0361188857806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161187f9190611e1c565b60405180910390fd5b5b5050565b611895611503565b6118a0838383611919565b505050565b606060006118b283611b3e565b90506000602067ffffffffffffffff8111156118d1576118d0612228565b5b6040519080825280601f01601f1916602001820160405280156119035781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361196b57806002600082825461195f91906126b3565b92505081905550611a3e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119f7578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016119ee939291906122e1565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a875780600260008282540392505081905550611ad4565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b319190611d5e565b60405180910390a3505050565b60008060ff8360001c169050601f811115611b85576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bc8578082015181840152602081019050611bad565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bf082611b8e565b611bfa8185611b99565b9350611c0a818560208601611baa565b611c1381611bd4565b840191505092915050565b60006020820190508181036000830152611c388184611be5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c7082611c45565b9050919050565b611c8081611c65565b8114611c8b57600080fd5b50565b600081359050611c9d81611c77565b92915050565b6000819050919050565b611cb681611ca3565b8114611cc157600080fd5b50565b600081359050611cd381611cad565b92915050565b60008060408385031215611cf057611cef611c40565b5b6000611cfe85828601611c8e565b9250506020611d0f85828601611cc4565b9150509250929050565b60008115159050919050565b611d2e81611d19565b82525050565b6000602082019050611d496000830184611d25565b92915050565b611d5881611ca3565b82525050565b6000602082019050611d736000830184611d4f565b92915050565b600080600060608486031215611d9257611d91611c40565b5b6000611da086828701611c8e565b9350506020611db186828701611c8e565b9250506040611dc286828701611cc4565b9150509250925092565b600060ff82169050919050565b611de281611dcc565b82525050565b6000602082019050611dfd6000830184611dd9565b92915050565b6000819050919050565b611e1681611e03565b82525050565b6000602082019050611e316000830184611e0d565b92915050565b600060208284031215611e4d57611e4c611c40565b5b6000611e5b84828501611cc4565b91505092915050565b600060208284031215611e7a57611e79611c40565b5b6000611e8884828501611c8e565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611ec681611e91565b82525050565b611ed581611c65565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f1081611ca3565b82525050565b6000611f228383611f07565b60208301905092915050565b6000602082019050919050565b6000611f4682611edb565b611f508185611ee6565b9350611f5b83611ef7565b8060005b83811015611f8c578151611f738882611f16565b9750611f7e83611f2e565b925050600181019050611f5f565b5085935050505092915050565b600060e082019050611fae600083018a611ebd565b8181036020830152611fc08189611be5565b90508181036040830152611fd48188611be5565b9050611fe36060830187611d4f565b611ff06080830186611ecc565b611ffd60a0830185611e0d565b81810360c083015261200f8184611f3b565b905098975050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6120528161201d565b82525050565b600060208201905061206d6000830184612049565b92915050565b60006020820190506120886000830184611ecc565b92915050565b61209781611dcc565b81146120a257600080fd5b50565b6000813590506120b48161208e565b92915050565b6120c381611e03565b81146120ce57600080fd5b50565b6000813590506120e0816120ba565b92915050565b600080600080600080600060e0888a03121561210557612104611c40565b5b60006121138a828b01611c8e565b97505060206121248a828b01611c8e565b96505060406121358a828b01611cc4565b95505060606121468a828b01611cc4565b94505060806121578a828b016120a5565b93505060a06121688a828b016120d1565b92505060c06121798a828b016120d1565b91505092959891949750929550565b6000806040838503121561219f5761219e611c40565b5b60006121ad85828601611c8e565b92505060206121be85828601611c8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061220f57607f821691505b602082108103612222576122216121c8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c08201905061226c6000830189611e0d565b6122796020830188611ecc565b6122866040830187611ecc565b6122936060830186611d4f565b6122a06080830185611d4f565b6122ad60a0830184611d4f565b979650505050505050565b60006040820190506122cd6000830185611ecc565b6122da6020830184611ecc565b9392505050565b60006060820190506122f66000830186611ecc565b6123036020830185611d4f565b6123106040830184611d4f565b949350505050565b600080fd5b600080fd5b6000808585111561233657612335612318565b5b838611156123475761234661231d565b5b6001850283019150848603905094509492505050565b600082905092915050565b600082821b905092915050565b6000612381838361235d565b8261238c813561201d565b925060048210156123cc576123c77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612368565b831692505b505092915050565b600082825260208201905092915050565b82818337600083830152505050565b600061240083856123d4565b935061240d8385846123e5565b61241683611bd4565b840190509392505050565b60006040820190506124366000830186611ecc565b81810360208301526124498184866123f4565b9050949350505050565b600060a0820190506124686000830188611e0d565b6124756020830187611e0d565b6124826040830186611e0d565b61248f6060830185611d4f565b61249c6080830184611ecc565b9695505050505050565b60006060820190506124bb6000830186611ecc565b6124c86020830185611ecc565b6124d56040830184612049565b949350505050565b600081519050919050565b600081905092915050565b60006124fe826124dd565b61250881856124e8565b9350612518818560208601611baa565b80840191505092915050565b600061253082846124f3565b915081905092915050565b61254481611d19565b811461254f57600080fd5b50565b6000815190506125618161253b565b92915050565b600063ffffffff82169050919050565b61258081612567565b811461258b57600080fd5b50565b60008151905061259d81612577565b92915050565b600080604083850312156125ba576125b9611c40565b5b60006125c885828601612552565b92505060206125d98582860161258e565b9150509250929050565b6000602082840312156125f9576125f8611c40565b5b600061260784828501612552565b91505092915050565b60006080820190506126256000830187611e0d565b6126326020830186611dd9565b61263f6040830185611e0d565b61264c6060830184611e0d565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126be82611ca3565b91506126c983611ca3565b92508282019050808211156126e1576126e0612684565b5b9291505056fea2646970667358221220add4b8e496e62d6381ed68ab206d751f743144dadc58d6442d031816e1069a7864736f6c63430008140033",
721
- "linkReferences": {},
722
- "deployedLinkReferences": {},
723
- "devdoc": {
724
- "errors": {
725
- "ECDSAInvalidSignature()": [
726
- {
727
- "details": "The signature derives the `address(0)`."
728
- }
729
- ],
730
- "ECDSAInvalidSignatureLength(uint256)": [
731
- {
732
- "details": "The signature has an invalid length."
733
- }
734
- ],
735
- "ECDSAInvalidSignatureS(bytes32)": [
736
- {
737
- "details": "The signature has an S value that is in the upper half order."
738
- }
739
- ],
740
- "ERC20InsufficientAllowance(address,uint256,uint256)": [
741
- {
742
- "details": "Indicates a failure with the `spender`’s `allowance`. Used in transfers.",
743
- "params": {
744
- "allowance": "Amount of tokens a `spender` is allowed to operate with.",
745
- "needed": "Minimum amount required to perform a transfer.",
746
- "spender": "Address that may be allowed to operate on tokens without being their owner."
747
- }
748
- }
749
- ],
750
- "ERC20InsufficientBalance(address,uint256,uint256)": [
751
- {
752
- "details": "Indicates an error related to the current `balance` of a `sender`. Used in transfers.",
753
- "params": {
754
- "balance": "Current balance for the interacting account.",
755
- "needed": "Minimum amount required to perform a transfer.",
756
- "sender": "Address whose tokens are being transferred."
757
- }
758
- }
759
- ],
760
- "ERC20InvalidApprover(address)": [
761
- {
762
- "details": "Indicates a failure with the `approver` of a token to be approved. Used in approvals.",
763
- "params": {
764
- "approver": "Address initiating an approval operation."
765
- }
766
- }
767
- ],
768
- "ERC20InvalidReceiver(address)": [
769
- {
770
- "details": "Indicates a failure with the token `receiver`. Used in transfers.",
771
- "params": {
772
- "receiver": "Address to which tokens are being transferred."
773
- }
774
- }
775
- ],
776
- "ERC20InvalidSender(address)": [
777
- {
778
- "details": "Indicates a failure with the token `sender`. Used in transfers.",
779
- "params": {
780
- "sender": "Address whose tokens are being transferred."
781
- }
782
- }
783
- ],
784
- "ERC20InvalidSpender(address)": [
785
- {
786
- "details": "Indicates a failure with the `spender` to be approved. Used in approvals.",
787
- "params": {
788
- "spender": "Address that may be allowed to operate on tokens without being their owner."
789
- }
790
- }
791
- ],
792
- "ERC2612ExpiredSignature(uint256)": [
793
- {
794
- "details": "Permit deadline has expired."
795
- }
796
- ],
797
- "ERC2612InvalidSigner(address,address)": [
798
- {
799
- "details": "Mismatched signature."
800
- }
801
- ],
802
- "EnforcedPause()": [
803
- {
804
- "details": "The operation failed because the contract is paused."
805
- }
806
- ],
807
- "ExpectedPause()": [
808
- {
809
- "details": "The operation failed because the contract is not paused."
810
- }
811
- ],
812
- "InvalidAccountNonce(address,uint256)": [
813
- {
814
- "details": "The nonce used for an `account` is not the expected current nonce."
815
- }
816
- ]
817
- },
818
- "events": {
819
- "Approval(address,address,uint256)": {
820
- "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
821
- },
822
- "AuthorityUpdated(address)": {
823
- "details": "Authority that manages this contract was updated."
824
- },
825
- "EIP712DomainChanged()": {
826
- "details": "MAY be emitted to signal that the domain could have changed."
827
- },
828
- "Paused(address)": {
829
- "details": "Emitted when the pause is triggered by `account`."
830
- },
831
- "Transfer(address,address,uint256)": {
832
- "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
833
- },
834
- "Unpaused(address)": {
835
- "details": "Emitted when the pause is lifted by `account`."
836
- }
837
- },
838
- "kind": "dev",
839
- "methods": {
840
- "DOMAIN_SEPARATOR()": {
841
- "details": "Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."
842
- },
843
- "allowance(address,address)": {
844
- "details": "See {IERC20-allowance}."
845
- },
846
- "approve(address,uint256)": {
847
- "details": "See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."
848
- },
849
- "authority()": {
850
- "details": "Returns the current authority."
851
- },
852
- "balanceOf(address)": {
853
- "details": "See {IERC20-balanceOf}."
854
- },
855
- "burn(uint256)": {
856
- "details": "Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}."
857
- },
858
- "burnFrom(address,uint256)": {
859
- "details": "Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`."
860
- },
861
- "decimals()": {
862
- "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
863
- },
864
- "eip712Domain()": {
865
- "details": "See {IERC-5267}."
866
- },
867
- "isConsumingScheduledOp()": {
868
- "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."
869
- },
870
- "name()": {
871
- "details": "Returns the name of the token."
872
- },
873
- "nonces(address)": {
874
- "details": "Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."
875
- },
876
- "paused()": {
877
- "details": "Returns true if the contract is paused, and false otherwise."
878
- },
879
- "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": {
880
- "details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."
881
- },
882
- "setAuthority(address)": {
883
- "details": "Transfers control to a new authority. The caller must be the current authority."
884
- },
885
- "symbol()": {
886
- "details": "Returns the symbol of the token, usually a shorter version of the name."
887
- },
888
- "totalSupply()": {
889
- "details": "See {IERC20-totalSupply}."
890
- },
891
- "transfer(address,uint256)": {
892
- "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."
893
- },
894
- "transferFrom(address,address,uint256)": {
895
- "details": "See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."
896
- }
897
- },
898
- "version": 1
899
- },
900
- "userdoc": {
901
- "kind": "user",
902
- "methods": {},
903
- "version": 1
904
- },
905
- "evm": {
906
- "gasEstimates": {
907
- "creation": {
908
- "codeDepositCost": "2002600",
909
- "executionCost": "infinite",
910
- "totalCost": "infinite"
911
- },
912
- "external": {
913
- "DOMAIN_SEPARATOR()": "infinite",
914
- "allowance(address,address)": "infinite",
915
- "approve(address,uint256)": "infinite",
916
- "authority()": "2660",
917
- "balanceOf(address)": "2952",
918
- "burn(uint256)": "infinite",
919
- "burnFrom(address,uint256)": "infinite",
920
- "decimals()": "455",
921
- "eip712Domain()": "infinite",
922
- "isConsumingScheduledOp()": "2585",
923
- "name()": "infinite",
924
- "nonces(address)": "2951",
925
- "pause()": "infinite",
926
- "paused()": "2568",
927
- "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "infinite",
928
- "setAuthority(address)": "infinite",
929
- "symbol()": "infinite",
930
- "totalSupply()": "2505",
931
- "transfer(address,uint256)": "infinite",
932
- "transferFrom(address,address,uint256)": "infinite",
933
- "unpause()": "infinite"
934
- },
935
- "internal": {
936
- "_update(address,address,uint256)": "infinite"
937
- }
938
- },
939
- "methodIdentifiers": {
940
- "DOMAIN_SEPARATOR()": "3644e515",
941
- "allowance(address,address)": "dd62ed3e",
942
- "approve(address,uint256)": "095ea7b3",
943
- "authority()": "bf7e214f",
944
- "balanceOf(address)": "70a08231",
945
- "burn(uint256)": "42966c68",
946
- "burnFrom(address,uint256)": "79cc6790",
947
- "decimals()": "313ce567",
948
- "eip712Domain()": "84b0196e",
949
- "isConsumingScheduledOp()": "8fb36037",
950
- "name()": "06fdde03",
951
- "nonces(address)": "7ecebe00",
952
- "pause()": "8456cb59",
953
- "paused()": "5c975abb",
954
- "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf",
955
- "setAuthority(address)": "7a9e5e4b",
956
- "symbol()": "95d89b41",
957
- "totalSupply()": "18160ddd",
958
- "transfer(address,uint256)": "a9059cbb",
959
- "transferFrom(address,address,uint256)": "23b872dd",
960
- "unpause()": "3f4ba83a"
961
- }
962
- }
963
- }