@aastar/core 0.16.7

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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/dist/abis/BLSAggregator.json +686 -0
  3. package/dist/abis/BLSValidator.json +42 -0
  4. package/dist/abis/DVTValidator.json +368 -0
  5. package/dist/abis/Eip7702Support.json +24 -0
  6. package/dist/abis/EntryPoint.json +1382 -0
  7. package/dist/abis/GToken.json +513 -0
  8. package/dist/abis/GTokenStaking.json +949 -0
  9. package/dist/abis/LegacyAccount.json +625 -0
  10. package/dist/abis/MySBT.json +1518 -0
  11. package/dist/abis/Paymaster.json +1143 -0
  12. package/dist/abis/PaymasterFactory.json +640 -0
  13. package/dist/abis/Registry.json +1942 -0
  14. package/dist/abis/ReputationSystem.json +699 -0
  15. package/dist/abis/SenderCreator.json +99 -0
  16. package/dist/abis/Simple7702Account.json +395 -0
  17. package/dist/abis/SimpleAccount.json +560 -0
  18. package/dist/abis/SimpleAccountFactory.json +111 -0
  19. package/dist/abis/SimpleAccountFactoryV08.json +87 -0
  20. package/dist/abis/SimpleAccountV08.json +557 -0
  21. package/dist/abis/SuperPaymaster.json +1781 -0
  22. package/dist/abis/UserOperationLib.json +57 -0
  23. package/dist/abis/abi.config.json +24 -0
  24. package/dist/abis/index.d.ts +1126 -0
  25. package/dist/abis/index.js +91 -0
  26. package/dist/abis/xPNTsFactory.json +718 -0
  27. package/dist/abis/xPNTsToken.json +1280 -0
  28. package/dist/actions/StateValidator.d.ts +68 -0
  29. package/dist/actions/StateValidator.js +187 -0
  30. package/dist/actions/StateValidator.test.d.ts +1 -0
  31. package/dist/actions/StateValidator.test.js +144 -0
  32. package/dist/actions/account.d.ts +55 -0
  33. package/dist/actions/account.js +133 -0
  34. package/dist/actions/account.test.d.ts +1 -0
  35. package/dist/actions/account.test.js +118 -0
  36. package/dist/actions/aggregator.d.ts +17 -0
  37. package/dist/actions/aggregator.js +31 -0
  38. package/dist/actions/aggregator.test.d.ts +1 -0
  39. package/dist/actions/aggregator.test.js +67 -0
  40. package/dist/actions/dvt.d.ts +30 -0
  41. package/dist/actions/dvt.js +41 -0
  42. package/dist/actions/dvt.test.d.ts +1 -0
  43. package/dist/actions/dvt.test.js +98 -0
  44. package/dist/actions/entryPoint.d.ts +90 -0
  45. package/dist/actions/entryPoint.js +211 -0
  46. package/dist/actions/entryPoint.test.d.ts +1 -0
  47. package/dist/actions/entryPoint.test.js +139 -0
  48. package/dist/actions/factory.d.ts +215 -0
  49. package/dist/actions/factory.js +442 -0
  50. package/dist/actions/factory.test.d.ts +1 -0
  51. package/dist/actions/factory.test.js +197 -0
  52. package/dist/actions/faucet.d.ts +48 -0
  53. package/dist/actions/faucet.js +337 -0
  54. package/dist/actions/faucet.test.d.ts +1 -0
  55. package/dist/actions/faucet.test.js +120 -0
  56. package/dist/actions/gtokenExtended.d.ts +39 -0
  57. package/dist/actions/gtokenExtended.js +115 -0
  58. package/dist/actions/gtokenExtended.test.d.ts +1 -0
  59. package/dist/actions/gtokenExtended.test.js +118 -0
  60. package/dist/actions/index.d.ts +15 -0
  61. package/dist/actions/index.js +17 -0
  62. package/dist/actions/paymasterV4.d.ts +170 -0
  63. package/dist/actions/paymasterV4.js +334 -0
  64. package/dist/actions/paymasterV4.test.d.ts +1 -0
  65. package/dist/actions/paymasterV4.test.js +159 -0
  66. package/dist/actions/registry.d.ts +246 -0
  67. package/dist/actions/registry.js +667 -0
  68. package/dist/actions/registry.test.d.ts +1 -0
  69. package/dist/actions/registry.test.js +360 -0
  70. package/dist/actions/reputation.d.ts +129 -0
  71. package/dist/actions/reputation.js +281 -0
  72. package/dist/actions/reputation.test.d.ts +1 -0
  73. package/dist/actions/reputation.test.js +169 -0
  74. package/dist/actions/sbt.d.ts +191 -0
  75. package/dist/actions/sbt.js +533 -0
  76. package/dist/actions/sbt.test.d.ts +1 -0
  77. package/dist/actions/sbt.test.js +256 -0
  78. package/dist/actions/staking.d.ts +132 -0
  79. package/dist/actions/staking.js +330 -0
  80. package/dist/actions/staking.test.d.ts +1 -0
  81. package/dist/actions/staking.test.js +223 -0
  82. package/dist/actions/superPaymaster.d.ts +237 -0
  83. package/dist/actions/superPaymaster.js +644 -0
  84. package/dist/actions/superPaymaster.test.d.ts +1 -0
  85. package/dist/actions/superPaymaster.test.js +287 -0
  86. package/dist/actions/tokens.d.ts +229 -0
  87. package/dist/actions/tokens.js +415 -0
  88. package/dist/actions/tokens.test.d.ts +1 -0
  89. package/dist/actions/tokens.test.js +53 -0
  90. package/dist/actions/validators.d.ts +194 -0
  91. package/dist/actions/validators.js +433 -0
  92. package/dist/actions/validators.test.d.ts +1 -0
  93. package/dist/actions/validators.test.js +215 -0
  94. package/dist/branding.d.ts +30 -0
  95. package/dist/branding.js +30 -0
  96. package/dist/clients/BaseClient.d.ts +25 -0
  97. package/dist/clients/BaseClient.js +66 -0
  98. package/dist/clients/types.d.ts +60 -0
  99. package/dist/clients/types.js +1 -0
  100. package/dist/clients.d.ts +5 -0
  101. package/dist/clients.js +11 -0
  102. package/dist/communities.d.ts +52 -0
  103. package/dist/communities.js +73 -0
  104. package/dist/config/ContractConfigManager.d.ts +20 -0
  105. package/dist/config/ContractConfigManager.js +48 -0
  106. package/dist/constants.d.ts +88 -0
  107. package/dist/constants.js +125 -0
  108. package/dist/contract-addresses.d.ts +110 -0
  109. package/dist/contract-addresses.js +99 -0
  110. package/dist/contracts.d.ts +424 -0
  111. package/dist/contracts.js +343 -0
  112. package/dist/contracts.test.d.ts +1 -0
  113. package/dist/contracts.test.js +40 -0
  114. package/dist/crypto/blsSigner.d.ts +64 -0
  115. package/dist/crypto/blsSigner.js +98 -0
  116. package/dist/crypto/index.d.ts +1 -0
  117. package/dist/crypto/index.js +1 -0
  118. package/dist/index.d.ts +21 -0
  119. package/dist/index.js +21 -0
  120. package/dist/networks.d.ts +127 -0
  121. package/dist/networks.js +118 -0
  122. package/dist/requirementChecker.d.ts +38 -0
  123. package/dist/requirementChecker.js +139 -0
  124. package/dist/requirementChecker.test.d.ts +1 -0
  125. package/dist/requirementChecker.test.js +60 -0
  126. package/dist/roles.d.ts +204 -0
  127. package/dist/roles.js +211 -0
  128. package/dist/roles.test.d.ts +1 -0
  129. package/dist/roles.test.js +23 -0
  130. package/dist/utils/validation.d.ts +24 -0
  131. package/dist/utils/validation.js +56 -0
  132. package/dist/utils/validation.test.d.ts +1 -0
  133. package/dist/utils/validation.test.js +40 -0
  134. package/dist/utils.d.ts +12 -0
  135. package/dist/utils.js +14 -0
  136. package/package.json +33 -0
@@ -0,0 +1,1143 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "constructor",
5
+ "inputs": [
6
+ {
7
+ "name": "_registry",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable"
13
+ },
14
+ {
15
+ "type": "receive",
16
+ "stateMutability": "payable"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "MAX_ETH_USD_PRICE",
21
+ "inputs": [],
22
+ "outputs": [
23
+ {
24
+ "name": "",
25
+ "type": "int256",
26
+ "internalType": "int256"
27
+ }
28
+ ],
29
+ "stateMutability": "view"
30
+ },
31
+ {
32
+ "type": "function",
33
+ "name": "MAX_GAS_TOKENS",
34
+ "inputs": [],
35
+ "outputs": [
36
+ {
37
+ "name": "",
38
+ "type": "uint256",
39
+ "internalType": "uint256"
40
+ }
41
+ ],
42
+ "stateMutability": "view"
43
+ },
44
+ {
45
+ "type": "function",
46
+ "name": "MAX_SBTS",
47
+ "inputs": [],
48
+ "outputs": [
49
+ {
50
+ "name": "",
51
+ "type": "uint256",
52
+ "internalType": "uint256"
53
+ }
54
+ ],
55
+ "stateMutability": "view"
56
+ },
57
+ {
58
+ "type": "function",
59
+ "name": "MAX_SERVICE_FEE",
60
+ "inputs": [],
61
+ "outputs": [
62
+ {
63
+ "name": "",
64
+ "type": "uint256",
65
+ "internalType": "uint256"
66
+ }
67
+ ],
68
+ "stateMutability": "view"
69
+ },
70
+ {
71
+ "type": "function",
72
+ "name": "MIN_ETH_USD_PRICE",
73
+ "inputs": [],
74
+ "outputs": [
75
+ {
76
+ "name": "",
77
+ "type": "int256",
78
+ "internalType": "int256"
79
+ }
80
+ ],
81
+ "stateMutability": "view"
82
+ },
83
+ {
84
+ "type": "function",
85
+ "name": "addDeposit",
86
+ "inputs": [],
87
+ "outputs": [],
88
+ "stateMutability": "payable"
89
+ },
90
+ {
91
+ "type": "function",
92
+ "name": "addStake",
93
+ "inputs": [
94
+ {
95
+ "name": "unstakeDelaySec",
96
+ "type": "uint32",
97
+ "internalType": "uint32"
98
+ }
99
+ ],
100
+ "outputs": [],
101
+ "stateMutability": "payable"
102
+ },
103
+ {
104
+ "type": "function",
105
+ "name": "balances",
106
+ "inputs": [
107
+ {
108
+ "name": "",
109
+ "type": "address",
110
+ "internalType": "address"
111
+ },
112
+ {
113
+ "name": "",
114
+ "type": "address",
115
+ "internalType": "address"
116
+ }
117
+ ],
118
+ "outputs": [
119
+ {
120
+ "name": "",
121
+ "type": "uint256",
122
+ "internalType": "uint256"
123
+ }
124
+ ],
125
+ "stateMutability": "view"
126
+ },
127
+ {
128
+ "type": "function",
129
+ "name": "cachedPrice",
130
+ "inputs": [],
131
+ "outputs": [
132
+ {
133
+ "name": "price",
134
+ "type": "uint208",
135
+ "internalType": "uint208"
136
+ },
137
+ {
138
+ "name": "updatedAt",
139
+ "type": "uint48",
140
+ "internalType": "uint48"
141
+ }
142
+ ],
143
+ "stateMutability": "view"
144
+ },
145
+ {
146
+ "type": "function",
147
+ "name": "calculateCost",
148
+ "inputs": [
149
+ {
150
+ "name": "gasCost",
151
+ "type": "uint256",
152
+ "internalType": "uint256"
153
+ },
154
+ {
155
+ "name": "token",
156
+ "type": "address",
157
+ "internalType": "address"
158
+ },
159
+ {
160
+ "name": "useRealtime",
161
+ "type": "bool",
162
+ "internalType": "bool"
163
+ }
164
+ ],
165
+ "outputs": [
166
+ {
167
+ "name": "",
168
+ "type": "uint256",
169
+ "internalType": "uint256"
170
+ }
171
+ ],
172
+ "stateMutability": "view"
173
+ },
174
+ {
175
+ "type": "function",
176
+ "name": "deactivateFromRegistry",
177
+ "inputs": [],
178
+ "outputs": [],
179
+ "stateMutability": "nonpayable"
180
+ },
181
+ {
182
+ "type": "function",
183
+ "name": "depositFor",
184
+ "inputs": [
185
+ {
186
+ "name": "user",
187
+ "type": "address",
188
+ "internalType": "address"
189
+ },
190
+ {
191
+ "name": "token",
192
+ "type": "address",
193
+ "internalType": "address"
194
+ },
195
+ {
196
+ "name": "amount",
197
+ "type": "uint256",
198
+ "internalType": "uint256"
199
+ }
200
+ ],
201
+ "outputs": [],
202
+ "stateMutability": "nonpayable"
203
+ },
204
+ {
205
+ "type": "function",
206
+ "name": "entryPoint",
207
+ "inputs": [],
208
+ "outputs": [
209
+ {
210
+ "name": "",
211
+ "type": "address",
212
+ "internalType": "contract IEntryPoint"
213
+ }
214
+ ],
215
+ "stateMutability": "view"
216
+ },
217
+ {
218
+ "type": "function",
219
+ "name": "ethUsdPriceFeed",
220
+ "inputs": [],
221
+ "outputs": [
222
+ {
223
+ "name": "",
224
+ "type": "address",
225
+ "internalType": "contract AggregatorV3Interface"
226
+ }
227
+ ],
228
+ "stateMutability": "view"
229
+ },
230
+ {
231
+ "type": "function",
232
+ "name": "getRealtimeTokenCost",
233
+ "inputs": [
234
+ {
235
+ "name": "gasCost",
236
+ "type": "uint256",
237
+ "internalType": "uint256"
238
+ },
239
+ {
240
+ "name": "token",
241
+ "type": "address",
242
+ "internalType": "address"
243
+ }
244
+ ],
245
+ "outputs": [
246
+ {
247
+ "name": "",
248
+ "type": "uint256",
249
+ "internalType": "uint256"
250
+ }
251
+ ],
252
+ "stateMutability": "view"
253
+ },
254
+ {
255
+ "type": "function",
256
+ "name": "initialize",
257
+ "inputs": [
258
+ {
259
+ "name": "_entryPoint",
260
+ "type": "address",
261
+ "internalType": "address"
262
+ },
263
+ {
264
+ "name": "_owner",
265
+ "type": "address",
266
+ "internalType": "address"
267
+ },
268
+ {
269
+ "name": "_treasury",
270
+ "type": "address",
271
+ "internalType": "address"
272
+ },
273
+ {
274
+ "name": "_ethUsdPriceFeed",
275
+ "type": "address",
276
+ "internalType": "address"
277
+ },
278
+ {
279
+ "name": "_serviceFeeRate",
280
+ "type": "uint256",
281
+ "internalType": "uint256"
282
+ },
283
+ {
284
+ "name": "_maxGasCostCap",
285
+ "type": "uint256",
286
+ "internalType": "uint256"
287
+ },
288
+ {
289
+ "name": "_priceStalenessThreshold",
290
+ "type": "uint256",
291
+ "internalType": "uint256"
292
+ }
293
+ ],
294
+ "outputs": [],
295
+ "stateMutability": "nonpayable"
296
+ },
297
+ {
298
+ "type": "function",
299
+ "name": "isActiveInRegistry",
300
+ "inputs": [],
301
+ "outputs": [
302
+ {
303
+ "name": "",
304
+ "type": "bool",
305
+ "internalType": "bool"
306
+ }
307
+ ],
308
+ "stateMutability": "view"
309
+ },
310
+ {
311
+ "type": "function",
312
+ "name": "isRegistrySet",
313
+ "inputs": [],
314
+ "outputs": [
315
+ {
316
+ "name": "",
317
+ "type": "bool",
318
+ "internalType": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "view"
322
+ },
323
+ {
324
+ "type": "function",
325
+ "name": "maxGasCostCap",
326
+ "inputs": [],
327
+ "outputs": [
328
+ {
329
+ "name": "",
330
+ "type": "uint256",
331
+ "internalType": "uint256"
332
+ }
333
+ ],
334
+ "stateMutability": "view"
335
+ },
336
+ {
337
+ "type": "function",
338
+ "name": "oracleDecimals",
339
+ "inputs": [],
340
+ "outputs": [
341
+ {
342
+ "name": "",
343
+ "type": "uint8",
344
+ "internalType": "uint8"
345
+ }
346
+ ],
347
+ "stateMutability": "view"
348
+ },
349
+ {
350
+ "type": "function",
351
+ "name": "owner",
352
+ "inputs": [],
353
+ "outputs": [
354
+ {
355
+ "name": "",
356
+ "type": "address",
357
+ "internalType": "address"
358
+ }
359
+ ],
360
+ "stateMutability": "view"
361
+ },
362
+ {
363
+ "type": "function",
364
+ "name": "paused",
365
+ "inputs": [],
366
+ "outputs": [
367
+ {
368
+ "name": "",
369
+ "type": "bool",
370
+ "internalType": "bool"
371
+ }
372
+ ],
373
+ "stateMutability": "view"
374
+ },
375
+ {
376
+ "type": "function",
377
+ "name": "postOp",
378
+ "inputs": [
379
+ {
380
+ "name": "mode",
381
+ "type": "uint8",
382
+ "internalType": "enum PostOpMode"
383
+ },
384
+ {
385
+ "name": "context",
386
+ "type": "bytes",
387
+ "internalType": "bytes"
388
+ },
389
+ {
390
+ "name": "actualGasCost",
391
+ "type": "uint256",
392
+ "internalType": "uint256"
393
+ },
394
+ {
395
+ "name": "",
396
+ "type": "uint256",
397
+ "internalType": "uint256"
398
+ }
399
+ ],
400
+ "outputs": [],
401
+ "stateMutability": "nonpayable"
402
+ },
403
+ {
404
+ "type": "function",
405
+ "name": "priceStalenessThreshold",
406
+ "inputs": [],
407
+ "outputs": [
408
+ {
409
+ "name": "",
410
+ "type": "uint256",
411
+ "internalType": "uint256"
412
+ }
413
+ ],
414
+ "stateMutability": "view"
415
+ },
416
+ {
417
+ "type": "function",
418
+ "name": "registry",
419
+ "inputs": [],
420
+ "outputs": [
421
+ {
422
+ "name": "",
423
+ "type": "address",
424
+ "internalType": "contract ISuperPaymasterRegistry"
425
+ }
426
+ ],
427
+ "stateMutability": "view"
428
+ },
429
+ {
430
+ "type": "function",
431
+ "name": "renounceOwnership",
432
+ "inputs": [],
433
+ "outputs": [],
434
+ "stateMutability": "nonpayable"
435
+ },
436
+ {
437
+ "type": "function",
438
+ "name": "serviceFeeRate",
439
+ "inputs": [],
440
+ "outputs": [
441
+ {
442
+ "name": "",
443
+ "type": "uint256",
444
+ "internalType": "uint256"
445
+ }
446
+ ],
447
+ "stateMutability": "view"
448
+ },
449
+ {
450
+ "type": "function",
451
+ "name": "setCachedPrice",
452
+ "inputs": [
453
+ {
454
+ "name": "price",
455
+ "type": "uint256",
456
+ "internalType": "uint256"
457
+ },
458
+ {
459
+ "name": "timestamp",
460
+ "type": "uint48",
461
+ "internalType": "uint48"
462
+ }
463
+ ],
464
+ "outputs": [],
465
+ "stateMutability": "nonpayable"
466
+ },
467
+ {
468
+ "type": "function",
469
+ "name": "setMaxGasCostCap",
470
+ "inputs": [
471
+ {
472
+ "name": "_maxGasCostCap",
473
+ "type": "uint256",
474
+ "internalType": "uint256"
475
+ }
476
+ ],
477
+ "outputs": [],
478
+ "stateMutability": "nonpayable"
479
+ },
480
+ {
481
+ "type": "function",
482
+ "name": "setPriceStalenessThreshold",
483
+ "inputs": [
484
+ {
485
+ "name": "_priceStalenessThreshold",
486
+ "type": "uint256",
487
+ "internalType": "uint256"
488
+ }
489
+ ],
490
+ "outputs": [],
491
+ "stateMutability": "nonpayable"
492
+ },
493
+ {
494
+ "type": "function",
495
+ "name": "setServiceFeeRate",
496
+ "inputs": [
497
+ {
498
+ "name": "_serviceFeeRate",
499
+ "type": "uint256",
500
+ "internalType": "uint256"
501
+ }
502
+ ],
503
+ "outputs": [],
504
+ "stateMutability": "nonpayable"
505
+ },
506
+ {
507
+ "type": "function",
508
+ "name": "setTokenPrice",
509
+ "inputs": [
510
+ {
511
+ "name": "token",
512
+ "type": "address",
513
+ "internalType": "address"
514
+ },
515
+ {
516
+ "name": "price",
517
+ "type": "uint256",
518
+ "internalType": "uint256"
519
+ }
520
+ ],
521
+ "outputs": [],
522
+ "stateMutability": "nonpayable"
523
+ },
524
+ {
525
+ "type": "function",
526
+ "name": "setTreasury",
527
+ "inputs": [
528
+ {
529
+ "name": "_treasury",
530
+ "type": "address",
531
+ "internalType": "address"
532
+ }
533
+ ],
534
+ "outputs": [],
535
+ "stateMutability": "nonpayable"
536
+ },
537
+ {
538
+ "type": "function",
539
+ "name": "tokenDecimals",
540
+ "inputs": [
541
+ {
542
+ "name": "",
543
+ "type": "address",
544
+ "internalType": "address"
545
+ }
546
+ ],
547
+ "outputs": [
548
+ {
549
+ "name": "",
550
+ "type": "uint8",
551
+ "internalType": "uint8"
552
+ }
553
+ ],
554
+ "stateMutability": "view"
555
+ },
556
+ {
557
+ "type": "function",
558
+ "name": "tokenPrices",
559
+ "inputs": [
560
+ {
561
+ "name": "",
562
+ "type": "address",
563
+ "internalType": "address"
564
+ }
565
+ ],
566
+ "outputs": [
567
+ {
568
+ "name": "",
569
+ "type": "uint256",
570
+ "internalType": "uint256"
571
+ }
572
+ ],
573
+ "stateMutability": "view"
574
+ },
575
+ {
576
+ "type": "function",
577
+ "name": "transferOwnership",
578
+ "inputs": [
579
+ {
580
+ "name": "newOwner",
581
+ "type": "address",
582
+ "internalType": "address"
583
+ }
584
+ ],
585
+ "outputs": [],
586
+ "stateMutability": "nonpayable"
587
+ },
588
+ {
589
+ "type": "function",
590
+ "name": "treasury",
591
+ "inputs": [],
592
+ "outputs": [
593
+ {
594
+ "name": "",
595
+ "type": "address",
596
+ "internalType": "address"
597
+ }
598
+ ],
599
+ "stateMutability": "view"
600
+ },
601
+ {
602
+ "type": "function",
603
+ "name": "unlockStake",
604
+ "inputs": [],
605
+ "outputs": [],
606
+ "stateMutability": "nonpayable"
607
+ },
608
+ {
609
+ "type": "function",
610
+ "name": "updatePrice",
611
+ "inputs": [],
612
+ "outputs": [],
613
+ "stateMutability": "nonpayable"
614
+ },
615
+ {
616
+ "type": "function",
617
+ "name": "validatePaymasterUserOp",
618
+ "inputs": [
619
+ {
620
+ "name": "userOp",
621
+ "type": "tuple",
622
+ "internalType": "struct PackedUserOperation",
623
+ "components": [
624
+ {
625
+ "name": "sender",
626
+ "type": "address",
627
+ "internalType": "address"
628
+ },
629
+ {
630
+ "name": "nonce",
631
+ "type": "uint256",
632
+ "internalType": "uint256"
633
+ },
634
+ {
635
+ "name": "initCode",
636
+ "type": "bytes",
637
+ "internalType": "bytes"
638
+ },
639
+ {
640
+ "name": "callData",
641
+ "type": "bytes",
642
+ "internalType": "bytes"
643
+ },
644
+ {
645
+ "name": "accountGasLimits",
646
+ "type": "bytes32",
647
+ "internalType": "bytes32"
648
+ },
649
+ {
650
+ "name": "preVerificationGas",
651
+ "type": "uint256",
652
+ "internalType": "uint256"
653
+ },
654
+ {
655
+ "name": "gasFees",
656
+ "type": "bytes32",
657
+ "internalType": "bytes32"
658
+ },
659
+ {
660
+ "name": "paymasterAndData",
661
+ "type": "bytes",
662
+ "internalType": "bytes"
663
+ },
664
+ {
665
+ "name": "signature",
666
+ "type": "bytes",
667
+ "internalType": "bytes"
668
+ }
669
+ ]
670
+ },
671
+ {
672
+ "name": "",
673
+ "type": "bytes32",
674
+ "internalType": "bytes32"
675
+ },
676
+ {
677
+ "name": "maxCost",
678
+ "type": "uint256",
679
+ "internalType": "uint256"
680
+ }
681
+ ],
682
+ "outputs": [
683
+ {
684
+ "name": "context",
685
+ "type": "bytes",
686
+ "internalType": "bytes"
687
+ },
688
+ {
689
+ "name": "validationData",
690
+ "type": "uint256",
691
+ "internalType": "uint256"
692
+ }
693
+ ],
694
+ "stateMutability": "nonpayable"
695
+ },
696
+ {
697
+ "type": "function",
698
+ "name": "version",
699
+ "inputs": [],
700
+ "outputs": [
701
+ {
702
+ "name": "",
703
+ "type": "string",
704
+ "internalType": "string"
705
+ }
706
+ ],
707
+ "stateMutability": "pure"
708
+ },
709
+ {
710
+ "type": "function",
711
+ "name": "withdraw",
712
+ "inputs": [
713
+ {
714
+ "name": "token",
715
+ "type": "address",
716
+ "internalType": "address"
717
+ },
718
+ {
719
+ "name": "amount",
720
+ "type": "uint256",
721
+ "internalType": "uint256"
722
+ }
723
+ ],
724
+ "outputs": [],
725
+ "stateMutability": "nonpayable"
726
+ },
727
+ {
728
+ "type": "function",
729
+ "name": "withdrawStake",
730
+ "inputs": [
731
+ {
732
+ "name": "withdrawAddress",
733
+ "type": "address",
734
+ "internalType": "address payable"
735
+ }
736
+ ],
737
+ "outputs": [],
738
+ "stateMutability": "nonpayable"
739
+ },
740
+ {
741
+ "type": "function",
742
+ "name": "withdrawTo",
743
+ "inputs": [
744
+ {
745
+ "name": "withdrawAddress",
746
+ "type": "address",
747
+ "internalType": "address payable"
748
+ },
749
+ {
750
+ "name": "amount",
751
+ "type": "uint256",
752
+ "internalType": "uint256"
753
+ }
754
+ ],
755
+ "outputs": [],
756
+ "stateMutability": "nonpayable"
757
+ },
758
+ {
759
+ "type": "event",
760
+ "name": "DeactivatedFromRegistry",
761
+ "inputs": [
762
+ {
763
+ "name": "paymaster",
764
+ "type": "address",
765
+ "indexed": true,
766
+ "internalType": "address"
767
+ }
768
+ ],
769
+ "anonymous": false
770
+ },
771
+ {
772
+ "type": "event",
773
+ "name": "FundsDeposited",
774
+ "inputs": [
775
+ {
776
+ "name": "user",
777
+ "type": "address",
778
+ "indexed": true,
779
+ "internalType": "address"
780
+ },
781
+ {
782
+ "name": "token",
783
+ "type": "address",
784
+ "indexed": true,
785
+ "internalType": "address"
786
+ },
787
+ {
788
+ "name": "amount",
789
+ "type": "uint256",
790
+ "indexed": false,
791
+ "internalType": "uint256"
792
+ }
793
+ ],
794
+ "anonymous": false
795
+ },
796
+ {
797
+ "type": "event",
798
+ "name": "FundsWithdrawn",
799
+ "inputs": [
800
+ {
801
+ "name": "user",
802
+ "type": "address",
803
+ "indexed": true,
804
+ "internalType": "address"
805
+ },
806
+ {
807
+ "name": "token",
808
+ "type": "address",
809
+ "indexed": true,
810
+ "internalType": "address"
811
+ },
812
+ {
813
+ "name": "amount",
814
+ "type": "uint256",
815
+ "indexed": false,
816
+ "internalType": "uint256"
817
+ }
818
+ ],
819
+ "anonymous": false
820
+ },
821
+ {
822
+ "type": "event",
823
+ "name": "Initialized",
824
+ "inputs": [
825
+ {
826
+ "name": "version",
827
+ "type": "uint64",
828
+ "indexed": false,
829
+ "internalType": "uint64"
830
+ }
831
+ ],
832
+ "anonymous": false
833
+ },
834
+ {
835
+ "type": "event",
836
+ "name": "MaxGasCostCapUpdated",
837
+ "inputs": [
838
+ {
839
+ "name": "oldCap",
840
+ "type": "uint256",
841
+ "indexed": false,
842
+ "internalType": "uint256"
843
+ },
844
+ {
845
+ "name": "newCap",
846
+ "type": "uint256",
847
+ "indexed": false,
848
+ "internalType": "uint256"
849
+ }
850
+ ],
851
+ "anonymous": false
852
+ },
853
+ {
854
+ "type": "event",
855
+ "name": "OwnershipTransferred",
856
+ "inputs": [
857
+ {
858
+ "name": "previousOwner",
859
+ "type": "address",
860
+ "indexed": true,
861
+ "internalType": "address"
862
+ },
863
+ {
864
+ "name": "newOwner",
865
+ "type": "address",
866
+ "indexed": true,
867
+ "internalType": "address"
868
+ }
869
+ ],
870
+ "anonymous": false
871
+ },
872
+ {
873
+ "type": "event",
874
+ "name": "Paused",
875
+ "inputs": [
876
+ {
877
+ "name": "account",
878
+ "type": "address",
879
+ "indexed": true,
880
+ "internalType": "address"
881
+ }
882
+ ],
883
+ "anonymous": false
884
+ },
885
+ {
886
+ "type": "event",
887
+ "name": "PostOpProcessed",
888
+ "inputs": [
889
+ {
890
+ "name": "user",
891
+ "type": "address",
892
+ "indexed": true,
893
+ "internalType": "address"
894
+ },
895
+ {
896
+ "name": "token",
897
+ "type": "address",
898
+ "indexed": true,
899
+ "internalType": "address"
900
+ },
901
+ {
902
+ "name": "actualGasCostWei",
903
+ "type": "uint256",
904
+ "indexed": false,
905
+ "internalType": "uint256"
906
+ },
907
+ {
908
+ "name": "tokenCost",
909
+ "type": "uint256",
910
+ "indexed": false,
911
+ "internalType": "uint256"
912
+ },
913
+ {
914
+ "name": "protocolRevenue",
915
+ "type": "uint256",
916
+ "indexed": false,
917
+ "internalType": "uint256"
918
+ }
919
+ ],
920
+ "anonymous": false
921
+ },
922
+ {
923
+ "type": "event",
924
+ "name": "PriceUpdated",
925
+ "inputs": [
926
+ {
927
+ "name": "price",
928
+ "type": "uint256",
929
+ "indexed": false,
930
+ "internalType": "uint256"
931
+ },
932
+ {
933
+ "name": "updatedAt",
934
+ "type": "uint256",
935
+ "indexed": false,
936
+ "internalType": "uint256"
937
+ }
938
+ ],
939
+ "anonymous": false
940
+ },
941
+ {
942
+ "type": "event",
943
+ "name": "ServiceFeeUpdated",
944
+ "inputs": [
945
+ {
946
+ "name": "oldRate",
947
+ "type": "uint256",
948
+ "indexed": false,
949
+ "internalType": "uint256"
950
+ },
951
+ {
952
+ "name": "newRate",
953
+ "type": "uint256",
954
+ "indexed": false,
955
+ "internalType": "uint256"
956
+ }
957
+ ],
958
+ "anonymous": false
959
+ },
960
+ {
961
+ "type": "event",
962
+ "name": "TokenPriceUpdated",
963
+ "inputs": [
964
+ {
965
+ "name": "token",
966
+ "type": "address",
967
+ "indexed": true,
968
+ "internalType": "address"
969
+ },
970
+ {
971
+ "name": "price",
972
+ "type": "uint256",
973
+ "indexed": false,
974
+ "internalType": "uint256"
975
+ }
976
+ ],
977
+ "anonymous": false
978
+ },
979
+ {
980
+ "type": "event",
981
+ "name": "TreasuryUpdated",
982
+ "inputs": [
983
+ {
984
+ "name": "oldTreasury",
985
+ "type": "address",
986
+ "indexed": true,
987
+ "internalType": "address"
988
+ },
989
+ {
990
+ "name": "newTreasury",
991
+ "type": "address",
992
+ "indexed": true,
993
+ "internalType": "address"
994
+ }
995
+ ],
996
+ "anonymous": false
997
+ },
998
+ {
999
+ "type": "event",
1000
+ "name": "Unpaused",
1001
+ "inputs": [
1002
+ {
1003
+ "name": "account",
1004
+ "type": "address",
1005
+ "indexed": true,
1006
+ "internalType": "address"
1007
+ }
1008
+ ],
1009
+ "anonymous": false
1010
+ },
1011
+ {
1012
+ "type": "error",
1013
+ "name": "AddressEmptyCode",
1014
+ "inputs": [
1015
+ {
1016
+ "name": "target",
1017
+ "type": "address",
1018
+ "internalType": "address"
1019
+ }
1020
+ ]
1021
+ },
1022
+ {
1023
+ "type": "error",
1024
+ "name": "AddressInsufficientBalance",
1025
+ "inputs": [
1026
+ {
1027
+ "name": "account",
1028
+ "type": "address",
1029
+ "internalType": "address"
1030
+ }
1031
+ ]
1032
+ },
1033
+ {
1034
+ "type": "error",
1035
+ "name": "FailedInnerCall",
1036
+ "inputs": []
1037
+ },
1038
+ {
1039
+ "type": "error",
1040
+ "name": "InvalidInitialization",
1041
+ "inputs": []
1042
+ },
1043
+ {
1044
+ "type": "error",
1045
+ "name": "MathOverflowedMulDiv",
1046
+ "inputs": []
1047
+ },
1048
+ {
1049
+ "type": "error",
1050
+ "name": "NotInitializing",
1051
+ "inputs": []
1052
+ },
1053
+ {
1054
+ "type": "error",
1055
+ "name": "OwnableInvalidOwner",
1056
+ "inputs": [
1057
+ {
1058
+ "name": "owner",
1059
+ "type": "address",
1060
+ "internalType": "address"
1061
+ }
1062
+ ]
1063
+ },
1064
+ {
1065
+ "type": "error",
1066
+ "name": "OwnableUnauthorizedAccount",
1067
+ "inputs": [
1068
+ {
1069
+ "name": "account",
1070
+ "type": "address",
1071
+ "internalType": "address"
1072
+ }
1073
+ ]
1074
+ },
1075
+ {
1076
+ "type": "error",
1077
+ "name": "Paymaster__InsufficientBalance",
1078
+ "inputs": []
1079
+ },
1080
+ {
1081
+ "type": "error",
1082
+ "name": "Paymaster__InvalidOraclePrice",
1083
+ "inputs": []
1084
+ },
1085
+ {
1086
+ "type": "error",
1087
+ "name": "Paymaster__InvalidPaymasterData",
1088
+ "inputs": []
1089
+ },
1090
+ {
1091
+ "type": "error",
1092
+ "name": "Paymaster__InvalidServiceFee",
1093
+ "inputs": []
1094
+ },
1095
+ {
1096
+ "type": "error",
1097
+ "name": "Paymaster__InvalidTokenBalance",
1098
+ "inputs": []
1099
+ },
1100
+ {
1101
+ "type": "error",
1102
+ "name": "Paymaster__OnlyEntryPoint",
1103
+ "inputs": []
1104
+ },
1105
+ {
1106
+ "type": "error",
1107
+ "name": "Paymaster__Paused",
1108
+ "inputs": []
1109
+ },
1110
+ {
1111
+ "type": "error",
1112
+ "name": "Paymaster__RegistryNotSet",
1113
+ "inputs": []
1114
+ },
1115
+ {
1116
+ "type": "error",
1117
+ "name": "Paymaster__TokenNotSupported",
1118
+ "inputs": []
1119
+ },
1120
+ {
1121
+ "type": "error",
1122
+ "name": "Paymaster__ZeroAddress",
1123
+ "inputs": []
1124
+ },
1125
+ {
1126
+ "type": "error",
1127
+ "name": "ReentrancyGuardReentrantCall",
1128
+ "inputs": []
1129
+ },
1130
+ {
1131
+ "type": "error",
1132
+ "name": "SafeERC20FailedOperation",
1133
+ "inputs": [
1134
+ {
1135
+ "name": "token",
1136
+ "type": "address",
1137
+ "internalType": "address"
1138
+ }
1139
+ ]
1140
+ }
1141
+ ],
1142
+ "bytecode": "0x60a03461019057601f61222338819003918201601f19168301916001600160401b038311848410176101945780849260209460405283398101031261019057516001600160a01b0381169081900361019057331561017d575f8054336001600160a01b0319821681178355604051939290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018055801561016e576080525f5160206122035f395f51905f525460ff8160401c1661015f576002600160401b03196001600160401b0382160161010c575b60405161205a90816101a98239608051818181610c1601528181610dce0152818161165f0152611ad90152f35b6001600160401b0319166001600160401b039081175f5160206122035f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f806100df565b63f92ee8a960e01b5f5260045ffd5b632462edf160e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630396cb60146118b2578063083e91c41461182c5780630879c4121461180e57806314d90e1b146117f1578063204120bc146117b8578063205c28781461174157806332726684146117215780633400ba521461170557806336f897e71461164457806339788cd91461162357806342f6fb29146115fa578063431f63c9146115295780634915a858146115065780634a58db19146114b157806352b7512c1461119e57806354fd4d50146111445780635c975abb146111215780635dbfc94d14610f8257806361d027b314610f5957806361d1bc9414610f3b578063673a7e2814610e695780636f374b0f14610e44578063715018a614610dfd5780637b10399914610db85780637c627b2114610d175780638da5cb5b14610cf05780638ee573ac14610cb35780639b1d309114610c47578063a032f4b814610c00578063aa51e01514610be4578063b0d691fe14610bbb578063b1f145c5146109a1578063b3db428b146108b1578063bb9fe6bf1461085b578063bd1118701461083d578063c23a5cea146107ae578063c23f001f1461075b578063c9929dad14610706578063e68b52e7146106e2578063e77fc7a414610406578063f0f4426014610383578063f2fde38b14610332578063f3fef3a31461023d5763f60fdcb314610209575061000e565b3461023a578060031936011261023a57600554604080516001600160d01b038316815260d09290921c602083015290f35b80fd5b503461023a57604036600319011261023a57610257611932565b60243590610263611d81565b338352600a6020526040832060018060a01b0382165f526020528160405f20541061032357338352600a6020526040832060018060a01b0382165f5260205260405f206102b1838254611a33565b905560018060a01b0316906102f060405163a9059cbb60e01b6020820152336024820152826044820152604481526102ea6064826119c5565b83611e9c565b6040519081527fa92ff919b850e4909ab2261d907ef955f11bc1716733a6cbece38d163a69af8a60203392a36001805580f35b630a18ee5560e41b8352600483fd5b503461023a57602036600319011261023a5761034c611932565b610354611d5b565b6001600160a01b0381161561036f5761036c90611dc5565b80f35b631e4fbdf760e01b82526004829052602482fd5b503461023a57602036600319011261023a5761039d611932565b6103a5611d5b565b6001600160a01b031680156103f757600654816001600160a01b0382167f4ab5be82436d353e61ca18726e984e561f5c1cc7c6d38b29d2553c790434705a8580a36001600160a01b0319161760065580f35b632462edf160e01b8252600482fd5b503461023a5760e036600319011261023a57610420611932565b610428611948565b6044356001600160a01b038116908190036106de576064356001600160a01b03811691908290036106da5760843560c435915f5160206120055f395f51905f52549560ff8760401c16159660018060401b038116801590816106d2575b60011490816106c8575b1590816106bf575b506106b0576001600160401b031981166001175f5160206120055f395f51905f525587610688575b506001600160a01b0316938415610679576001600160a01b03861694851561066a57821561066a57811561066a576103e8841161065b57600280546001600160a01b0319908116929092179055600380549182168317905560405163313ce56760e01b8152909190602081600481855afa8a918161062a575b506106085750506003805460ff60a01b1916600160a31b179055505b600680546001600160a01b03191691909117905560075560a43560085580156105ff575b60045560ff196009541660095561058e82611dc5565b33036105f0575b5061059d5780f35b60ff60401b195f5160206120055f395f51905f5254165f5160206120055f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b6105f990611dc5565b5f610595565b50610e10610578565b6001600160a81b03199092161760a09190911b60ff60a01b1617600355610554565b61064d91925060203d602011610654575b61064581836119c5565b8101906119e8565b905f610538565b503d61063b565b632cbc962760e01b8952600489fd5b632462edf160e01b8952600489fd5b632462edf160e01b8852600488fd5b6001600160481b0319166001600160401b01175f5160206120055f395f51905f52555f6104bf565b63f92ee8a960e01b8952600489fd5b9050155f610497565b303b15915061048f565b899150610485565b8480fd5b8380fd5b503461023a578060031936011261023a57602060ff60035460a01c16604051908152f35b503461023a57602036600319011261023a57600435610723611d5b565b7f49081791577ea5202d6975e5d6ad3a55a49709b1adf70fbd4fbf4b3ffda6e03160406008548151908152836020820152a160085580f35b503461023a57604036600319011261023a576040610777611932565b91610780611948565b9260018060a01b03168152600a602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461023a57602036600319011261023a57806107c9611932565b6107d1611d5b565b6002546001600160a01b031690813b156108395760405163611d2e7560e11b81526001600160a01b0390911660048201529082908290602490829084905af1801561082e5761081d5750f35b81610827916119c5565b61023a5780f35b6040513d84823e3d90fd5b5050fd5b503461023a578060031936011261023a576020600454604051908152f35b503461023a578060031936011261023a57610874611d5b565b60025481906001600160a01b0316803b156108ae5781809160046040518094819363bb9fe6bf60e01b83525af1801561082e5761081d5750f35b50fd5b503461023a57606036600319011261023a576108cb611932565b6108d3611948565b604435906108df611d81565b6001600160a01b0316808452600b6020526040842054909290156109925760207ff0d0e99cae184d0187b093b48894117462462379674a6e11d89c3fbb618e96b09161095a6040516323b872dd60e01b848201526109548161094688303360248501611a54565b03601f1981018352826119c5565b86611e9c565b60018060a01b031692838652600a825260408620855f52825260405f20610982828254611b6d565b9055604051908152a36001805580f35b635f77d0bd60e01b8452600484fd5b503461023a57604036600319011261023a576109bb611948565b303303610bac576001600160a01b0316808252600b60205260408220549091908015610b9d57600354604051633fabe5a360e21b81529060a090829060049082906001600160a01b03165afa908115610b92578391610b5f575b5082811315610b41576402540be40081128015610b50575b610b415760ff60035460a01c16936007548061271001908161271011610b2d57908592918193610afe575b5050610a86610a929392610a8c928752600c602052610a8160ff60408920541694600435611da1565b611da1565b91611db4565b90611da1565b92600a0160ff8111610aea57610aa790611db4565b91612710820291820461271003610ad6576020610ace85610ac88686611da1565b90611df8565b604051908152f35b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b83526011600452602483fd5b612af89192935001809111610b195790610a86610a8c610a58565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b86526011600452602486fd5b6344e30e0360e11b8352600483fd5b506509184e72a0008113610a2d565b610b81915060a03d60a011610b8b575b610b7981836119c5565b810190611a8a565b5092505090610a15565b503d610b6f565b6040513d85823e3d90fd5b635f77d0bd60e01b8252600482fd5b634fd3f39560e01b8252600482fd5b503461023a578060031936011261023a576002546040516001600160a01b039091168152602090f35b503461023a578060031936011261023a57602060405160058152f35b503461023a578060031936011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615158152602090f35b503461023a57602036600319011261023a57600435610c64611d5b565b6103e88111610ca4577e3b413cf14a67407425bd0b5c065b2de08876554d8489ad7dd4aa95604d280c60406007548151908152836020820152a160075580f35b632cbc962760e01b8252600482fd5b503461023a57602036600319011261023a5760209060ff906040906001600160a01b03610cde611932565b168152600c8452205416604051908152f35b503461023a578060031936011261023a57546040516001600160a01b039091168152602090f35b503461023a57608036600319011261023a576003600435101561023a576024356001600160401b038111610db45736602382011215610db45760048101356001600160401b038111610db0573660248284010111610db0576002546001600160a01b03163303610da15790610d9a91610d8e611d81565b60246044359201611b7a565b6001805580f35b637f3c57b560e01b8352600483fd5b8280fd5b5080fd5b503461023a578060031936011261023a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461023a578060031936011261023a57610e16611d5b565b80546001600160a01b03198116825581906001600160a01b03165f516020611fe55f395f51905f528280a380f35b503461023a578060031936011261023a576020610e5f611ad7565b6040519015158152f35b503461023a578060031936011261023a57600354604051633fabe5a360e21b81529060a090829060049082906001600160a01b03165afa801561082e5782918391610f15575b5082821315610b4157604080515f516020611fc55f395f51905f52939192906001600160d01b03831690610ee281611996565b81815265ffffffffffff831660209182015260d083901b6001600160d01b0319169091176005558351928352820152a180f35b9050610f30915060a03d60a011610b8b57610b7981836119c5565b50925050905f610eaf565b503461023a578060031936011261023a576020600754604051908152f35b503461023a578060031936011261023a576006546040516001600160a01b039091168152602090f35b503461023a57606036600319011261023a57610f9c611948565b90604435918215158303610db457303303610bac576001600160a01b0316808252600b602052604082205490928115611112578290156110d357600354604051633fabe5a360e21b81529060a090829060049082906001600160a01b03165afa9081156110c85784916110a5575b50905b83821315611087576402540be40082128015611096575b6110875760ff60035460a01c16946007548061271001908161271011611073578193610afe575050610a86610a929392610a8c928752600c602052610a8160ff60408920541694600435611da1565b634e487b7160e01b87526011600452602487fd5b6344e30e0360e11b8452600484fd5b506509184e72a0008213611024565b6110be915060a03d60a011610b8b57610b7981836119c5565b509250509061100a565b6040513d86823e3d90fd5b506040516110e081611996565b6005549060018060d01b038216808252602082019260d01c83521561108757516001600160d01b03169050600161100d565b635f77d0bd60e01b8352600483fd5b503461023a578060031936011261023a57602060ff600954166040519015158152f35b503461023a578060031936011261023a575061119a6040516111676040826119c5565b60128152710504d56342d4465706f7369742d342e332e360741b6020820152604051918291602083526020830190611972565b0390f35b503461023a57606036600319011261023a576004356001600160401b038111610db45780600401906101206003198236030112610db05760025460443591906001600160a01b031633036114a25760ff600954166114935760e490611201611d81565b0190603461120f8385611a01565b905010611484578235916001600160a01b038316918284036114805760085490818111156114785750935b60486112468383611a01565b905010155f14611469579061125a91611a01565b6048116106da576034013560601c808552600b602052604085205490938491801561145a576040519161128c83611996565b6005549260018060d01b038416808252602082019460d01c85521561144b57516001600160d01b031692508783131561142d576402540be4008312801561143c575b61142d5760ff60035460a01c169260075490816127100191826127101161141957612af80180921161140557610a8682610a81610a8c9360ff60408f6113219998508c8152600c60205220541695611da1565b91600a0160ff81116113f15761133690611db4565b906127108102908104612710036113f1576113559291610ac891611da1565b91808652600a60205260408620825f526020528260405f2054106113e2576113c0928694926113b2926113d89852600a60205260408620905f5260205260405f206113a1828254611a33565b905560405195869360208501611a54565b03601f1981018452836119c5565b60018055604051928392604084526040840190611972565b9060208301520390f35b630a18ee5560e41b8652600486fd5b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8a52601160045260248afd5b634e487b7160e01b8b52601160045260248bfd5b6344e30e0360e11b8852600488fd5b506509184e72a00083136112ce565b6344e30e0360e11b8952600489fd5b635f77d0bd60e01b8752600487fd5b634fd3f39560e01b8652600486fd5b90509361123a565b8580fd5b634fd3f39560e01b8452600484fd5b63026ee64160e51b8452600484fd5b637f3c57b560e01b8452600484fd5b508060031936011261023a576114c5611d5b565b60025481906001600160a01b0316803b156108ae57816024916040519283809263b760faf960e01b825230600483015234905af1801561082e5761081d5750f35b503461023a57602036600319011261023a57611520611d5b565b60043560045580f35b503461023a57604036600319011261023a57611543611932565b7fceb40be0a58aa33916c199e469842b614ef313295573c15d82f85cc9d1a89d326020602435611571611d5b565b60405163313ce56760e01b81526001600160a01b03909416936012908381600481895afa8791816115db575b506115d3575b50848652600c835260ff60408720911660ff19825416179055838552600b8252806040862055604051908152a280f35b90505f6115a3565b6115f3919250853d87116106545761064581836119c5565b905f61159d565b503461023a578060031936011261023a576003546040516001600160a01b039091168152602090f35b503461023a578060031936011261023a5760206040516509184e72a0008152f35b503461023a578060031936011261023a5761165d611d5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031680156116f6578082913b156108ae578180916004604051809481936251b42b60e81b83525af1801561082e576116e1575b50307fca323d32ea3ada728fbc5a470183af7d4cc49a426cb2bdf68847d6e298576f208280a280f35b816116eb916119c5565b61023a57805f6116b8565b630c96deb560e11b8252600482fd5b503461023a578060031936011261023a576020604051600a8152f35b503461023a578060031936011261023a5760206040516402540be4008152f35b503461023a57604036600319011261023a578061175c611932565b611764611d5b565b6002546001600160a01b031690813b156108395760405163040b850f60e31b81526001600160a01b03909116600482015260248035908201529082908290604490829084905af1801561082e5761081d5750f35b503461023a57602036600319011261023a576020906040906001600160a01b036117e0611932565b168152600b83522054604051908152f35b503461023a578060031936011261023a5760206040516103e88152f35b503461023a578060031936011261023a576020600854604051908152f35b503461023a57604036600319011261023a5760043560243565ffffffffffff8116908181036106de5761185d611d5b565b821561108757916040915f516020611fc55f395f51905f529360018060d01b03831690826020865161188e81611996565b848152015260d01b6001600160d01b0319161760055582519182526020820152a180f35b50602036600319011261192e5760043563ffffffff811680910361192e576118d8611d5b565b6002546001600160a01b031690813b1561192e575f90602460405180948193621cb65b60e51b8352600483015234905af1801561192357611917575080f35b61001891505f906119c5565b6040513d5f823e3d90fd5b5f80fd5b600435906001600160a01b038216820361192e57565b602435906001600160a01b038216820361192e57565b35906001600160a01b038216820361192e57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b604081019081106001600160401b038211176119b157604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176119b157604052565b9081602091031261192e575160ff8116810361192e5790565b903590601e198136030182121561192e57018035906001600160401b03821161192e5760200191813603831361192e57565b91908203918211611a4057565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b03918216815291166020820152604081019190915260600190565b51906001600160501b038216820361192e57565b908160a091031261192e57611a9e81611a76565b91602082015191604081015191611abc608060608401519301611a76565b90565b9081602091031261192e5751801515810361192e5790565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168015611b6857602060249160405192838092634943841160e11b82523060048301525afa5f9181611b37575b50611abc57505f90565b611b5a91925060203d602011611b61575b611b5281836119c5565b810190611abf565b905f611b2d565b503d611b48565b505f90565b91908201809211611a4057565b90915f928015611d5557826060918101031261192e57611b998261195e565b6040611ba76020850161195e565b9301359060018060a01b03169260018060a01b0316935f611bcd60055460d01c42611a33565b60045410611d17575b60405190635dbfc94d60e01b825284600483015286602483015215156044820152602081606481305afa829181611cd6575b5091606093915f516020611fa55f395f51905f529593155f14611cd05750815b808311611cc8575b82611c3a91611a33565b80611c97575b5081611c5c575b506040519182528060208301526040820152a3565b60409060018060a01b03600654168152600a6020522060018060a01b0387165f5260205260405f20611c8f828254611b6d565b90555f611c47565b868252600a6020526040822060018060a01b0389165f52602052611cc060405f20918254611b6d565b90555f611c40565b915081611c30565b91611c28565b9091506020813d602011611d0f575b81611cf2602093836119c5565b81010312610db05751905f516020611fa55f395f51905f52611c08565b3d9150611ce5565b50303b1561192e57604051630ce74fc560e31b81525f8160048183305af1611d42575b506001611bd6565b611d4e91505f906119c5565b5f5f611d3a565b50505050565b5f546001600160a01b03163303611d6e57565b63118cdaa760e01b5f523360045260245ffd5b600260015414611d92576002600155565b633ee5aeb560e01b5f5260045ffd5b81810292918115918404141715611a4057565b60ff16604d8111611a4057600a0a90565b5f80546001600160a01b039283166001600160a01b03198216811783559216905f516020611fe55f395f51905f529080a3565b5f196001820991818084109303928084039314611e7c5782811115611e6d578060018309815f0382168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b63227bc15360e01b5f5260045ffd5b80925015611e88570490565b634e487b7160e01b5f52601260045260245ffd5b81516001600160a01b03909116915f91829160200182855af13d15611f3a573d6001600160401b0381116119b157604051611ef7929091611ee7601f8201601f1916602001846119c5565b82523d5f602084013e5b83611f46565b8051908115159182611f1f575b5050611f0d5750565b635274afe760e01b5f5260045260245ffd5b611f329250602080918301019101611abf565b155f80611f04565b611ef790606090611ef1565b90611f6a5750805115611f5b57805190602001fd5b630a12f52160e11b5f5260045ffd5b81511580611f9b575b611f7b575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15611f7356fe62544d7f48b11c32334310ebd306b47224fca220163218d4a7264322c52ae073945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200d81ef59c472320427e74a78cabf5722066c9d6fe78a502191e7b05ad2c0b4dc64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"
1143
+ }