@pimlico/alto 0.0.0-main.20240611T113559 → 0.0.0-prool.20240609T211112

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 (103) hide show
  1. package/esm/cli/config/bundler.d.ts +37 -43
  2. package/esm/cli/config/bundler.js +0 -1
  3. package/esm/cli/config/bundler.js.map +1 -1
  4. package/esm/cli/config/options.js +0 -6
  5. package/esm/cli/config/options.js.map +1 -1
  6. package/esm/cli/handler.js +2 -26
  7. package/esm/cli/handler.js.map +1 -1
  8. package/esm/index.d.ts +448 -1
  9. package/esm/index.js +63 -1
  10. package/esm/index.js.map +1 -1
  11. package/esm/mempool/mempool.js +7 -5
  12. package/esm/mempool/mempool.js.map +1 -1
  13. package/esm/mempool/reputationManager.js +3 -7
  14. package/esm/mempool/reputationManager.js.map +1 -1
  15. package/esm/rpc/EntryPointSimulationsV07.d.ts +1 -5
  16. package/esm/rpc/EntryPointSimulationsV07.js +2 -2
  17. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  18. package/esm/rpc/gasEstimation.js +3 -7
  19. package/esm/rpc/gasEstimation.js.map +1 -1
  20. package/esm/rpc/rpcHandler.js +8 -19
  21. package/esm/rpc/rpcHandler.js.map +1 -1
  22. package/esm/rpc/server.js +0 -4
  23. package/esm/rpc/server.js.map +1 -1
  24. package/esm/rpc/validation/SafeValidator.d.ts +6 -2
  25. package/esm/rpc/validation/SafeValidator.js +206 -49
  26. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  27. package/esm/rpc/validation/TracerResultParserV07.js +2 -6
  28. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  29. package/esm/rpc/validation/UnsafeValidator.d.ts +1 -2
  30. package/esm/rpc/validation/UnsafeValidator.js +45 -45
  31. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  32. package/esm/rpc/validation/tracer.d.ts +1 -1
  33. package/esm/types/contracts/EntryPointSimulations.d.ts +1 -0
  34. package/esm/types/contracts/EntryPointSimulations.js +2 -1941
  35. package/esm/types/contracts/EntryPointSimulations.js.map +1 -1
  36. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  37. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  38. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  39. package/esm/types/schemas.d.ts +116 -116
  40. package/esm/types/validation.d.ts +12 -12
  41. package/esm/utils/index.d.ts +1 -0
  42. package/esm/utils/index.js +1 -0
  43. package/esm/utils/index.js.map +1 -1
  44. package/esm/utils/metrics.d.ts +4 -4
  45. package/esm/utils/test.d.ts +1 -1
  46. package/esm/utils/toArgs.d.ts +36 -0
  47. package/esm/utils/toArgs.js +80 -0
  48. package/esm/utils/toArgs.js.map +1 -0
  49. package/esm/utils/userop.d.ts +2 -2
  50. package/esm/utils/userop.js +2 -2
  51. package/esm/utils/userop.js.map +1 -1
  52. package/lib/cli/config/bundler.d.ts +37 -43
  53. package/lib/cli/config/bundler.js +0 -1
  54. package/lib/cli/config/bundler.js.map +1 -1
  55. package/lib/cli/config/options.js +0 -6
  56. package/lib/cli/config/options.js.map +1 -1
  57. package/lib/cli/handler.js +1 -25
  58. package/lib/cli/handler.js.map +1 -1
  59. package/lib/index.d.ts +448 -1
  60. package/lib/index.js +64 -1
  61. package/lib/index.js.map +1 -1
  62. package/lib/mempool/mempool.js +7 -5
  63. package/lib/mempool/mempool.js.map +1 -1
  64. package/lib/mempool/reputationManager.js +3 -7
  65. package/lib/mempool/reputationManager.js.map +1 -1
  66. package/lib/rpc/EntryPointSimulationsV07.d.ts +1 -5
  67. package/lib/rpc/EntryPointSimulationsV07.js +2 -3
  68. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  69. package/lib/rpc/gasEstimation.js +3 -7
  70. package/lib/rpc/gasEstimation.js.map +1 -1
  71. package/lib/rpc/rpcHandler.js +7 -18
  72. package/lib/rpc/rpcHandler.js.map +1 -1
  73. package/lib/rpc/server.js +0 -4
  74. package/lib/rpc/server.js.map +1 -1
  75. package/lib/rpc/validation/SafeValidator.d.ts +6 -2
  76. package/lib/rpc/validation/SafeValidator.js +205 -48
  77. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  78. package/lib/rpc/validation/TracerResultParserV07.js +2 -6
  79. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  80. package/lib/rpc/validation/UnsafeValidator.d.ts +1 -2
  81. package/lib/rpc/validation/UnsafeValidator.js +68 -45
  82. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  83. package/lib/rpc/validation/tracer.d.ts +1 -1
  84. package/lib/types/contracts/EntryPointSimulations.d.ts +1 -0
  85. package/lib/types/contracts/EntryPointSimulations.js +3 -1942
  86. package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
  87. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  88. package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -2
  89. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  90. package/lib/types/schemas.d.ts +116 -116
  91. package/lib/types/validation.d.ts +12 -12
  92. package/lib/utils/index.d.ts +1 -0
  93. package/lib/utils/index.js +1 -0
  94. package/lib/utils/index.js.map +1 -1
  95. package/lib/utils/metrics.d.ts +4 -4
  96. package/lib/utils/test.d.ts +1 -1
  97. package/lib/utils/toArgs.d.ts +36 -0
  98. package/lib/utils/toArgs.js +87 -0
  99. package/lib/utils/toArgs.js.map +1 -0
  100. package/lib/utils/userop.d.ts +2 -2
  101. package/lib/utils/userop.js +25 -2
  102. package/lib/utils/userop.js.map +1 -1
  103. package/package.json +3 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntryPointV07SimulationsAbi = exports.EntryPointV06SimulationsAbi = void 0;
3
+ exports.EntryPointV07SimulationsBytecode = exports.EntryPointV07SimulationsAbi = exports.EntryPointV06SimulationsAbi = void 0;
4
4
  exports.EntryPointV06SimulationsAbi = [
5
5
  {
6
6
  inputs: [
@@ -13,1945 +13,6 @@ exports.EntryPointV06SimulationsAbi = [
13
13
  type: "error"
14
14
  }
15
15
  ];
16
- exports.EntryPointV07SimulationsAbi = [
17
- {
18
- type: "constructor",
19
- inputs: [],
20
- stateMutability: "nonpayable"
21
- },
22
- {
23
- type: "receive",
24
- stateMutability: "payable"
25
- },
26
- {
27
- type: "function",
28
- name: "addStake",
29
- inputs: [
30
- {
31
- name: "unstakeDelaySec",
32
- type: "uint32",
33
- internalType: "uint32"
34
- }
35
- ],
36
- outputs: [],
37
- stateMutability: "payable"
38
- },
39
- {
40
- type: "function",
41
- name: "balanceOf",
42
- inputs: [
43
- {
44
- name: "account",
45
- type: "address",
46
- internalType: "address"
47
- }
48
- ],
49
- outputs: [
50
- {
51
- name: "",
52
- type: "uint256",
53
- internalType: "uint256"
54
- }
55
- ],
56
- stateMutability: "view"
57
- },
58
- {
59
- type: "function",
60
- name: "depositTo",
61
- inputs: [
62
- {
63
- name: "account",
64
- type: "address",
65
- internalType: "address"
66
- }
67
- ],
68
- outputs: [],
69
- stateMutability: "payable"
70
- },
71
- {
72
- type: "function",
73
- name: "deposits",
74
- inputs: [
75
- {
76
- name: "",
77
- type: "address",
78
- internalType: "address"
79
- }
80
- ],
81
- outputs: [
82
- {
83
- name: "deposit",
84
- type: "uint256",
85
- internalType: "uint256"
86
- },
87
- {
88
- name: "staked",
89
- type: "bool",
90
- internalType: "bool"
91
- },
92
- {
93
- name: "stake",
94
- type: "uint112",
95
- internalType: "uint112"
96
- },
97
- {
98
- name: "unstakeDelaySec",
99
- type: "uint32",
100
- internalType: "uint32"
101
- },
102
- {
103
- name: "withdrawTime",
104
- type: "uint48",
105
- internalType: "uint48"
106
- }
107
- ],
108
- stateMutability: "view"
109
- },
110
- {
111
- type: "function",
112
- name: "getDepositInfo",
113
- inputs: [
114
- {
115
- name: "account",
116
- type: "address",
117
- internalType: "address"
118
- }
119
- ],
120
- outputs: [
121
- {
122
- name: "info",
123
- type: "tuple",
124
- internalType: "struct IStakeManager.DepositInfo",
125
- components: [
126
- {
127
- name: "deposit",
128
- type: "uint256",
129
- internalType: "uint256"
130
- },
131
- {
132
- name: "staked",
133
- type: "bool",
134
- internalType: "bool"
135
- },
136
- {
137
- name: "stake",
138
- type: "uint112",
139
- internalType: "uint112"
140
- },
141
- {
142
- name: "unstakeDelaySec",
143
- type: "uint32",
144
- internalType: "uint32"
145
- },
146
- {
147
- name: "withdrawTime",
148
- type: "uint48",
149
- internalType: "uint48"
150
- }
151
- ]
152
- }
153
- ],
154
- stateMutability: "view"
155
- },
156
- {
157
- type: "function",
158
- name: "getNonce",
159
- inputs: [
160
- {
161
- name: "sender",
162
- type: "address",
163
- internalType: "address"
164
- },
165
- {
166
- name: "key",
167
- type: "uint192",
168
- internalType: "uint192"
169
- }
170
- ],
171
- outputs: [
172
- {
173
- name: "nonce",
174
- type: "uint256",
175
- internalType: "uint256"
176
- }
177
- ],
178
- stateMutability: "view"
179
- },
180
- {
181
- type: "function",
182
- name: "getUserOpHash",
183
- inputs: [
184
- {
185
- name: "userOp",
186
- type: "tuple",
187
- internalType: "struct PackedUserOperation",
188
- components: [
189
- {
190
- name: "sender",
191
- type: "address",
192
- internalType: "address"
193
- },
194
- {
195
- name: "nonce",
196
- type: "uint256",
197
- internalType: "uint256"
198
- },
199
- {
200
- name: "initCode",
201
- type: "bytes",
202
- internalType: "bytes"
203
- },
204
- {
205
- name: "callData",
206
- type: "bytes",
207
- internalType: "bytes"
208
- },
209
- {
210
- name: "accountGasLimits",
211
- type: "bytes32",
212
- internalType: "bytes32"
213
- },
214
- {
215
- name: "preVerificationGas",
216
- type: "uint256",
217
- internalType: "uint256"
218
- },
219
- {
220
- name: "gasFees",
221
- type: "bytes32",
222
- internalType: "bytes32"
223
- },
224
- {
225
- name: "paymasterAndData",
226
- type: "bytes",
227
- internalType: "bytes"
228
- },
229
- {
230
- name: "signature",
231
- type: "bytes",
232
- internalType: "bytes"
233
- }
234
- ]
235
- }
236
- ],
237
- outputs: [
238
- {
239
- name: "",
240
- type: "bytes32",
241
- internalType: "bytes32"
242
- }
243
- ],
244
- stateMutability: "view"
245
- },
246
- {
247
- type: "function",
248
- name: "incrementNonce",
249
- inputs: [
250
- {
251
- name: "key",
252
- type: "uint192",
253
- internalType: "uint192"
254
- }
255
- ],
256
- outputs: [],
257
- stateMutability: "nonpayable"
258
- },
259
- {
260
- type: "function",
261
- name: "innerHandleOp",
262
- inputs: [
263
- {
264
- name: "callData",
265
- type: "bytes",
266
- internalType: "bytes"
267
- },
268
- {
269
- name: "opInfo",
270
- type: "tuple",
271
- internalType: "struct EntryPoint.UserOpInfo",
272
- components: [
273
- {
274
- name: "mUserOp",
275
- type: "tuple",
276
- internalType: "struct EntryPoint.MemoryUserOp",
277
- components: [
278
- {
279
- name: "sender",
280
- type: "address",
281
- internalType: "address"
282
- },
283
- {
284
- name: "nonce",
285
- type: "uint256",
286
- internalType: "uint256"
287
- },
288
- {
289
- name: "verificationGasLimit",
290
- type: "uint256",
291
- internalType: "uint256"
292
- },
293
- {
294
- name: "callGasLimit",
295
- type: "uint256",
296
- internalType: "uint256"
297
- },
298
- {
299
- name: "paymasterVerificationGasLimit",
300
- type: "uint256",
301
- internalType: "uint256"
302
- },
303
- {
304
- name: "paymasterPostOpGasLimit",
305
- type: "uint256",
306
- internalType: "uint256"
307
- },
308
- {
309
- name: "preVerificationGas",
310
- type: "uint256",
311
- internalType: "uint256"
312
- },
313
- {
314
- name: "paymaster",
315
- type: "address",
316
- internalType: "address"
317
- },
318
- {
319
- name: "maxFeePerGas",
320
- type: "uint256",
321
- internalType: "uint256"
322
- },
323
- {
324
- name: "maxPriorityFeePerGas",
325
- type: "uint256",
326
- internalType: "uint256"
327
- }
328
- ]
329
- },
330
- {
331
- name: "userOpHash",
332
- type: "bytes32",
333
- internalType: "bytes32"
334
- },
335
- {
336
- name: "prefund",
337
- type: "uint256",
338
- internalType: "uint256"
339
- },
340
- {
341
- name: "contextOffset",
342
- type: "uint256",
343
- internalType: "uint256"
344
- },
345
- {
346
- name: "preOpGas",
347
- type: "uint256",
348
- internalType: "uint256"
349
- }
350
- ]
351
- },
352
- {
353
- name: "context",
354
- type: "bytes",
355
- internalType: "bytes"
356
- },
357
- {
358
- name: "preGas",
359
- type: "uint256",
360
- internalType: "uint256"
361
- }
362
- ],
363
- outputs: [
364
- {
365
- name: "actualGasCost",
366
- type: "uint256",
367
- internalType: "uint256"
368
- },
369
- {
370
- name: "paymasterPostOpGasLimit",
371
- type: "uint256",
372
- internalType: "uint256"
373
- }
374
- ],
375
- stateMutability: "nonpayable"
376
- },
377
- {
378
- type: "function",
379
- name: "nonceSequenceNumber",
380
- inputs: [
381
- {
382
- name: "",
383
- type: "address",
384
- internalType: "address"
385
- },
386
- {
387
- name: "",
388
- type: "uint192",
389
- internalType: "uint192"
390
- }
391
- ],
392
- outputs: [
393
- {
394
- name: "",
395
- type: "uint256",
396
- internalType: "uint256"
397
- }
398
- ],
399
- stateMutability: "view"
400
- },
401
- {
402
- type: "function",
403
- name: "simulateCallData",
404
- inputs: [
405
- {
406
- name: "op",
407
- type: "tuple",
408
- internalType: "struct PackedUserOperation",
409
- components: [
410
- {
411
- name: "sender",
412
- type: "address",
413
- internalType: "address"
414
- },
415
- {
416
- name: "nonce",
417
- type: "uint256",
418
- internalType: "uint256"
419
- },
420
- {
421
- name: "initCode",
422
- type: "bytes",
423
- internalType: "bytes"
424
- },
425
- {
426
- name: "callData",
427
- type: "bytes",
428
- internalType: "bytes"
429
- },
430
- {
431
- name: "accountGasLimits",
432
- type: "bytes32",
433
- internalType: "bytes32"
434
- },
435
- {
436
- name: "preVerificationGas",
437
- type: "uint256",
438
- internalType: "uint256"
439
- },
440
- {
441
- name: "gasFees",
442
- type: "bytes32",
443
- internalType: "bytes32"
444
- },
445
- {
446
- name: "paymasterAndData",
447
- type: "bytes",
448
- internalType: "bytes"
449
- },
450
- {
451
- name: "signature",
452
- type: "bytes",
453
- internalType: "bytes"
454
- }
455
- ]
456
- },
457
- {
458
- name: "target",
459
- type: "address",
460
- internalType: "address"
461
- },
462
- {
463
- name: "targetCallData",
464
- type: "bytes",
465
- internalType: "bytes"
466
- }
467
- ],
468
- outputs: [
469
- {
470
- name: "",
471
- type: "tuple",
472
- internalType: "struct IEntryPointSimulations.TargetCallResult",
473
- components: [
474
- {
475
- name: "gasUsed",
476
- type: "uint256",
477
- internalType: "uint256"
478
- },
479
- {
480
- name: "success",
481
- type: "bool",
482
- internalType: "bool"
483
- },
484
- {
485
- name: "returnData",
486
- type: "bytes",
487
- internalType: "bytes"
488
- }
489
- ]
490
- }
491
- ],
492
- stateMutability: "nonpayable"
493
- },
494
- {
495
- type: "function",
496
- name: "simulateCallDataBulk",
497
- inputs: [
498
- {
499
- name: "ops",
500
- type: "tuple[]",
501
- internalType: "struct PackedUserOperation[]",
502
- components: [
503
- {
504
- name: "sender",
505
- type: "address",
506
- internalType: "address"
507
- },
508
- {
509
- name: "nonce",
510
- type: "uint256",
511
- internalType: "uint256"
512
- },
513
- {
514
- name: "initCode",
515
- type: "bytes",
516
- internalType: "bytes"
517
- },
518
- {
519
- name: "callData",
520
- type: "bytes",
521
- internalType: "bytes"
522
- },
523
- {
524
- name: "accountGasLimits",
525
- type: "bytes32",
526
- internalType: "bytes32"
527
- },
528
- {
529
- name: "preVerificationGas",
530
- type: "uint256",
531
- internalType: "uint256"
532
- },
533
- {
534
- name: "gasFees",
535
- type: "bytes32",
536
- internalType: "bytes32"
537
- },
538
- {
539
- name: "paymasterAndData",
540
- type: "bytes",
541
- internalType: "bytes"
542
- },
543
- {
544
- name: "signature",
545
- type: "bytes",
546
- internalType: "bytes"
547
- }
548
- ]
549
- },
550
- {
551
- name: "targets",
552
- type: "address[]",
553
- internalType: "address[]"
554
- },
555
- {
556
- name: "targetCallData",
557
- type: "bytes[]",
558
- internalType: "bytes[]"
559
- }
560
- ],
561
- outputs: [
562
- {
563
- name: "",
564
- type: "tuple[]",
565
- internalType: "struct IEntryPointSimulations.TargetCallResult[]",
566
- components: [
567
- {
568
- name: "gasUsed",
569
- type: "uint256",
570
- internalType: "uint256"
571
- },
572
- {
573
- name: "success",
574
- type: "bool",
575
- internalType: "bool"
576
- },
577
- {
578
- name: "returnData",
579
- type: "bytes",
580
- internalType: "bytes"
581
- }
582
- ]
583
- }
584
- ],
585
- stateMutability: "nonpayable"
586
- },
587
- {
588
- type: "function",
589
- name: "simulateCallDataLast",
590
- inputs: [
591
- {
592
- name: "ops",
593
- type: "tuple[]",
594
- internalType: "struct PackedUserOperation[]",
595
- components: [
596
- {
597
- name: "sender",
598
- type: "address",
599
- internalType: "address"
600
- },
601
- {
602
- name: "nonce",
603
- type: "uint256",
604
- internalType: "uint256"
605
- },
606
- {
607
- name: "initCode",
608
- type: "bytes",
609
- internalType: "bytes"
610
- },
611
- {
612
- name: "callData",
613
- type: "bytes",
614
- internalType: "bytes"
615
- },
616
- {
617
- name: "accountGasLimits",
618
- type: "bytes32",
619
- internalType: "bytes32"
620
- },
621
- {
622
- name: "preVerificationGas",
623
- type: "uint256",
624
- internalType: "uint256"
625
- },
626
- {
627
- name: "gasFees",
628
- type: "bytes32",
629
- internalType: "bytes32"
630
- },
631
- {
632
- name: "paymasterAndData",
633
- type: "bytes",
634
- internalType: "bytes"
635
- },
636
- {
637
- name: "signature",
638
- type: "bytes",
639
- internalType: "bytes"
640
- }
641
- ]
642
- },
643
- {
644
- name: "targets",
645
- type: "address[]",
646
- internalType: "address[]"
647
- },
648
- {
649
- name: "targetCallData",
650
- type: "bytes[]",
651
- internalType: "bytes[]"
652
- }
653
- ],
654
- outputs: [
655
- {
656
- name: "",
657
- type: "tuple",
658
- internalType: "struct IEntryPointSimulations.TargetCallResult",
659
- components: [
660
- {
661
- name: "gasUsed",
662
- type: "uint256",
663
- internalType: "uint256"
664
- },
665
- {
666
- name: "success",
667
- type: "bool",
668
- internalType: "bool"
669
- },
670
- {
671
- name: "returnData",
672
- type: "bytes",
673
- internalType: "bytes"
674
- }
675
- ]
676
- }
677
- ],
678
- stateMutability: "nonpayable"
679
- },
680
- {
681
- type: "function",
682
- name: "simulateHandleOp",
683
- inputs: [
684
- {
685
- name: "op",
686
- type: "tuple",
687
- internalType: "struct PackedUserOperation",
688
- components: [
689
- {
690
- name: "sender",
691
- type: "address",
692
- internalType: "address"
693
- },
694
- {
695
- name: "nonce",
696
- type: "uint256",
697
- internalType: "uint256"
698
- },
699
- {
700
- name: "initCode",
701
- type: "bytes",
702
- internalType: "bytes"
703
- },
704
- {
705
- name: "callData",
706
- type: "bytes",
707
- internalType: "bytes"
708
- },
709
- {
710
- name: "accountGasLimits",
711
- type: "bytes32",
712
- internalType: "bytes32"
713
- },
714
- {
715
- name: "preVerificationGas",
716
- type: "uint256",
717
- internalType: "uint256"
718
- },
719
- {
720
- name: "gasFees",
721
- type: "bytes32",
722
- internalType: "bytes32"
723
- },
724
- {
725
- name: "paymasterAndData",
726
- type: "bytes",
727
- internalType: "bytes"
728
- },
729
- {
730
- name: "signature",
731
- type: "bytes",
732
- internalType: "bytes"
733
- }
734
- ]
735
- }
736
- ],
737
- outputs: [
738
- {
739
- name: "",
740
- type: "tuple",
741
- internalType: "struct IEntryPointSimulations.ExecutionResult",
742
- components: [
743
- {
744
- name: "preOpGas",
745
- type: "uint256",
746
- internalType: "uint256"
747
- },
748
- {
749
- name: "paid",
750
- type: "uint256",
751
- internalType: "uint256"
752
- },
753
- {
754
- name: "accountValidationData",
755
- type: "uint256",
756
- internalType: "uint256"
757
- },
758
- {
759
- name: "paymasterValidationData",
760
- type: "uint256",
761
- internalType: "uint256"
762
- },
763
- {
764
- name: "paymasterVerificationGasLimit",
765
- type: "uint256",
766
- internalType: "uint256"
767
- },
768
- {
769
- name: "paymasterPostOpGasLimit",
770
- type: "uint256",
771
- internalType: "uint256"
772
- },
773
- {
774
- name: "targetSuccess",
775
- type: "bool",
776
- internalType: "bool"
777
- },
778
- {
779
- name: "targetResult",
780
- type: "bytes",
781
- internalType: "bytes"
782
- }
783
- ]
784
- }
785
- ],
786
- stateMutability: "nonpayable"
787
- },
788
- {
789
- type: "function",
790
- name: "simulateHandleOpBulk",
791
- inputs: [
792
- {
793
- name: "ops",
794
- type: "tuple[]",
795
- internalType: "struct PackedUserOperation[]",
796
- components: [
797
- {
798
- name: "sender",
799
- type: "address",
800
- internalType: "address"
801
- },
802
- {
803
- name: "nonce",
804
- type: "uint256",
805
- internalType: "uint256"
806
- },
807
- {
808
- name: "initCode",
809
- type: "bytes",
810
- internalType: "bytes"
811
- },
812
- {
813
- name: "callData",
814
- type: "bytes",
815
- internalType: "bytes"
816
- },
817
- {
818
- name: "accountGasLimits",
819
- type: "bytes32",
820
- internalType: "bytes32"
821
- },
822
- {
823
- name: "preVerificationGas",
824
- type: "uint256",
825
- internalType: "uint256"
826
- },
827
- {
828
- name: "gasFees",
829
- type: "bytes32",
830
- internalType: "bytes32"
831
- },
832
- {
833
- name: "paymasterAndData",
834
- type: "bytes",
835
- internalType: "bytes"
836
- },
837
- {
838
- name: "signature",
839
- type: "bytes",
840
- internalType: "bytes"
841
- }
842
- ]
843
- }
844
- ],
845
- outputs: [
846
- {
847
- name: "",
848
- type: "tuple[]",
849
- internalType: "struct IEntryPointSimulations.ExecutionResult[]",
850
- components: [
851
- {
852
- name: "preOpGas",
853
- type: "uint256",
854
- internalType: "uint256"
855
- },
856
- {
857
- name: "paid",
858
- type: "uint256",
859
- internalType: "uint256"
860
- },
861
- {
862
- name: "accountValidationData",
863
- type: "uint256",
864
- internalType: "uint256"
865
- },
866
- {
867
- name: "paymasterValidationData",
868
- type: "uint256",
869
- internalType: "uint256"
870
- },
871
- {
872
- name: "paymasterVerificationGasLimit",
873
- type: "uint256",
874
- internalType: "uint256"
875
- },
876
- {
877
- name: "paymasterPostOpGasLimit",
878
- type: "uint256",
879
- internalType: "uint256"
880
- },
881
- {
882
- name: "targetSuccess",
883
- type: "bool",
884
- internalType: "bool"
885
- },
886
- {
887
- name: "targetResult",
888
- type: "bytes",
889
- internalType: "bytes"
890
- }
891
- ]
892
- }
893
- ],
894
- stateMutability: "nonpayable"
895
- },
896
- {
897
- type: "function",
898
- name: "simulateHandleOpLast",
899
- inputs: [
900
- {
901
- name: "ops",
902
- type: "tuple[]",
903
- internalType: "struct PackedUserOperation[]",
904
- components: [
905
- {
906
- name: "sender",
907
- type: "address",
908
- internalType: "address"
909
- },
910
- {
911
- name: "nonce",
912
- type: "uint256",
913
- internalType: "uint256"
914
- },
915
- {
916
- name: "initCode",
917
- type: "bytes",
918
- internalType: "bytes"
919
- },
920
- {
921
- name: "callData",
922
- type: "bytes",
923
- internalType: "bytes"
924
- },
925
- {
926
- name: "accountGasLimits",
927
- type: "bytes32",
928
- internalType: "bytes32"
929
- },
930
- {
931
- name: "preVerificationGas",
932
- type: "uint256",
933
- internalType: "uint256"
934
- },
935
- {
936
- name: "gasFees",
937
- type: "bytes32",
938
- internalType: "bytes32"
939
- },
940
- {
941
- name: "paymasterAndData",
942
- type: "bytes",
943
- internalType: "bytes"
944
- },
945
- {
946
- name: "signature",
947
- type: "bytes",
948
- internalType: "bytes"
949
- }
950
- ]
951
- }
952
- ],
953
- outputs: [
954
- {
955
- name: "",
956
- type: "tuple",
957
- internalType: "struct IEntryPointSimulations.ExecutionResult",
958
- components: [
959
- {
960
- name: "preOpGas",
961
- type: "uint256",
962
- internalType: "uint256"
963
- },
964
- {
965
- name: "paid",
966
- type: "uint256",
967
- internalType: "uint256"
968
- },
969
- {
970
- name: "accountValidationData",
971
- type: "uint256",
972
- internalType: "uint256"
973
- },
974
- {
975
- name: "paymasterValidationData",
976
- type: "uint256",
977
- internalType: "uint256"
978
- },
979
- {
980
- name: "paymasterVerificationGasLimit",
981
- type: "uint256",
982
- internalType: "uint256"
983
- },
984
- {
985
- name: "paymasterPostOpGasLimit",
986
- type: "uint256",
987
- internalType: "uint256"
988
- },
989
- {
990
- name: "targetSuccess",
991
- type: "bool",
992
- internalType: "bool"
993
- },
994
- {
995
- name: "targetResult",
996
- type: "bytes",
997
- internalType: "bytes"
998
- }
999
- ]
1000
- }
1001
- ],
1002
- stateMutability: "nonpayable"
1003
- },
1004
- {
1005
- type: "function",
1006
- name: "simulateValidation",
1007
- inputs: [
1008
- {
1009
- name: "userOp",
1010
- type: "tuple",
1011
- internalType: "struct PackedUserOperation",
1012
- components: [
1013
- {
1014
- name: "sender",
1015
- type: "address",
1016
- internalType: "address"
1017
- },
1018
- {
1019
- name: "nonce",
1020
- type: "uint256",
1021
- internalType: "uint256"
1022
- },
1023
- {
1024
- name: "initCode",
1025
- type: "bytes",
1026
- internalType: "bytes"
1027
- },
1028
- {
1029
- name: "callData",
1030
- type: "bytes",
1031
- internalType: "bytes"
1032
- },
1033
- {
1034
- name: "accountGasLimits",
1035
- type: "bytes32",
1036
- internalType: "bytes32"
1037
- },
1038
- {
1039
- name: "preVerificationGas",
1040
- type: "uint256",
1041
- internalType: "uint256"
1042
- },
1043
- {
1044
- name: "gasFees",
1045
- type: "bytes32",
1046
- internalType: "bytes32"
1047
- },
1048
- {
1049
- name: "paymasterAndData",
1050
- type: "bytes",
1051
- internalType: "bytes"
1052
- },
1053
- {
1054
- name: "signature",
1055
- type: "bytes",
1056
- internalType: "bytes"
1057
- }
1058
- ]
1059
- }
1060
- ],
1061
- outputs: [
1062
- {
1063
- name: "",
1064
- type: "tuple",
1065
- internalType: "struct IEntryPointSimulations.ValidationResult",
1066
- components: [
1067
- {
1068
- name: "returnInfo",
1069
- type: "tuple",
1070
- internalType: "struct IEntryPoint.ReturnInfo",
1071
- components: [
1072
- {
1073
- name: "preOpGas",
1074
- type: "uint256",
1075
- internalType: "uint256"
1076
- },
1077
- {
1078
- name: "prefund",
1079
- type: "uint256",
1080
- internalType: "uint256"
1081
- },
1082
- {
1083
- name: "accountValidationData",
1084
- type: "uint256",
1085
- internalType: "uint256"
1086
- },
1087
- {
1088
- name: "paymasterValidationData",
1089
- type: "uint256",
1090
- internalType: "uint256"
1091
- },
1092
- {
1093
- name: "paymasterContext",
1094
- type: "bytes",
1095
- internalType: "bytes"
1096
- }
1097
- ]
1098
- },
1099
- {
1100
- name: "senderInfo",
1101
- type: "tuple",
1102
- internalType: "struct IStakeManager.StakeInfo",
1103
- components: [
1104
- {
1105
- name: "stake",
1106
- type: "uint256",
1107
- internalType: "uint256"
1108
- },
1109
- {
1110
- name: "unstakeDelaySec",
1111
- type: "uint256",
1112
- internalType: "uint256"
1113
- }
1114
- ]
1115
- },
1116
- {
1117
- name: "factoryInfo",
1118
- type: "tuple",
1119
- internalType: "struct IStakeManager.StakeInfo",
1120
- components: [
1121
- {
1122
- name: "stake",
1123
- type: "uint256",
1124
- internalType: "uint256"
1125
- },
1126
- {
1127
- name: "unstakeDelaySec",
1128
- type: "uint256",
1129
- internalType: "uint256"
1130
- }
1131
- ]
1132
- },
1133
- {
1134
- name: "paymasterInfo",
1135
- type: "tuple",
1136
- internalType: "struct IStakeManager.StakeInfo",
1137
- components: [
1138
- {
1139
- name: "stake",
1140
- type: "uint256",
1141
- internalType: "uint256"
1142
- },
1143
- {
1144
- name: "unstakeDelaySec",
1145
- type: "uint256",
1146
- internalType: "uint256"
1147
- }
1148
- ]
1149
- },
1150
- {
1151
- name: "aggregatorInfo",
1152
- type: "tuple",
1153
- internalType: "struct IEntryPoint.AggregatorStakeInfo",
1154
- components: [
1155
- {
1156
- name: "aggregator",
1157
- type: "address",
1158
- internalType: "address"
1159
- },
1160
- {
1161
- name: "stakeInfo",
1162
- type: "tuple",
1163
- internalType: "struct IStakeManager.StakeInfo",
1164
- components: [
1165
- {
1166
- name: "stake",
1167
- type: "uint256",
1168
- internalType: "uint256"
1169
- },
1170
- {
1171
- name: "unstakeDelaySec",
1172
- type: "uint256",
1173
- internalType: "uint256"
1174
- }
1175
- ]
1176
- }
1177
- ]
1178
- }
1179
- ]
1180
- }
1181
- ],
1182
- stateMutability: "nonpayable"
1183
- },
1184
- {
1185
- type: "function",
1186
- name: "simulateValidationBulk",
1187
- inputs: [
1188
- {
1189
- name: "userOps",
1190
- type: "tuple[]",
1191
- internalType: "struct PackedUserOperation[]",
1192
- components: [
1193
- {
1194
- name: "sender",
1195
- type: "address",
1196
- internalType: "address"
1197
- },
1198
- {
1199
- name: "nonce",
1200
- type: "uint256",
1201
- internalType: "uint256"
1202
- },
1203
- {
1204
- name: "initCode",
1205
- type: "bytes",
1206
- internalType: "bytes"
1207
- },
1208
- {
1209
- name: "callData",
1210
- type: "bytes",
1211
- internalType: "bytes"
1212
- },
1213
- {
1214
- name: "accountGasLimits",
1215
- type: "bytes32",
1216
- internalType: "bytes32"
1217
- },
1218
- {
1219
- name: "preVerificationGas",
1220
- type: "uint256",
1221
- internalType: "uint256"
1222
- },
1223
- {
1224
- name: "gasFees",
1225
- type: "bytes32",
1226
- internalType: "bytes32"
1227
- },
1228
- {
1229
- name: "paymasterAndData",
1230
- type: "bytes",
1231
- internalType: "bytes"
1232
- },
1233
- {
1234
- name: "signature",
1235
- type: "bytes",
1236
- internalType: "bytes"
1237
- }
1238
- ]
1239
- }
1240
- ],
1241
- outputs: [
1242
- {
1243
- name: "",
1244
- type: "tuple[]",
1245
- internalType: "struct IEntryPointSimulations.ValidationResult[]",
1246
- components: [
1247
- {
1248
- name: "returnInfo",
1249
- type: "tuple",
1250
- internalType: "struct IEntryPoint.ReturnInfo",
1251
- components: [
1252
- {
1253
- name: "preOpGas",
1254
- type: "uint256",
1255
- internalType: "uint256"
1256
- },
1257
- {
1258
- name: "prefund",
1259
- type: "uint256",
1260
- internalType: "uint256"
1261
- },
1262
- {
1263
- name: "accountValidationData",
1264
- type: "uint256",
1265
- internalType: "uint256"
1266
- },
1267
- {
1268
- name: "paymasterValidationData",
1269
- type: "uint256",
1270
- internalType: "uint256"
1271
- },
1272
- {
1273
- name: "paymasterContext",
1274
- type: "bytes",
1275
- internalType: "bytes"
1276
- }
1277
- ]
1278
- },
1279
- {
1280
- name: "senderInfo",
1281
- type: "tuple",
1282
- internalType: "struct IStakeManager.StakeInfo",
1283
- components: [
1284
- {
1285
- name: "stake",
1286
- type: "uint256",
1287
- internalType: "uint256"
1288
- },
1289
- {
1290
- name: "unstakeDelaySec",
1291
- type: "uint256",
1292
- internalType: "uint256"
1293
- }
1294
- ]
1295
- },
1296
- {
1297
- name: "factoryInfo",
1298
- type: "tuple",
1299
- internalType: "struct IStakeManager.StakeInfo",
1300
- components: [
1301
- {
1302
- name: "stake",
1303
- type: "uint256",
1304
- internalType: "uint256"
1305
- },
1306
- {
1307
- name: "unstakeDelaySec",
1308
- type: "uint256",
1309
- internalType: "uint256"
1310
- }
1311
- ]
1312
- },
1313
- {
1314
- name: "paymasterInfo",
1315
- type: "tuple",
1316
- internalType: "struct IStakeManager.StakeInfo",
1317
- components: [
1318
- {
1319
- name: "stake",
1320
- type: "uint256",
1321
- internalType: "uint256"
1322
- },
1323
- {
1324
- name: "unstakeDelaySec",
1325
- type: "uint256",
1326
- internalType: "uint256"
1327
- }
1328
- ]
1329
- },
1330
- {
1331
- name: "aggregatorInfo",
1332
- type: "tuple",
1333
- internalType: "struct IEntryPoint.AggregatorStakeInfo",
1334
- components: [
1335
- {
1336
- name: "aggregator",
1337
- type: "address",
1338
- internalType: "address"
1339
- },
1340
- {
1341
- name: "stakeInfo",
1342
- type: "tuple",
1343
- internalType: "struct IStakeManager.StakeInfo",
1344
- components: [
1345
- {
1346
- name: "stake",
1347
- type: "uint256",
1348
- internalType: "uint256"
1349
- },
1350
- {
1351
- name: "unstakeDelaySec",
1352
- type: "uint256",
1353
- internalType: "uint256"
1354
- }
1355
- ]
1356
- }
1357
- ]
1358
- }
1359
- ]
1360
- }
1361
- ],
1362
- stateMutability: "nonpayable"
1363
- },
1364
- {
1365
- type: "function",
1366
- name: "simulateValidationLast",
1367
- inputs: [
1368
- {
1369
- name: "userOps",
1370
- type: "tuple[]",
1371
- internalType: "struct PackedUserOperation[]",
1372
- components: [
1373
- {
1374
- name: "sender",
1375
- type: "address",
1376
- internalType: "address"
1377
- },
1378
- {
1379
- name: "nonce",
1380
- type: "uint256",
1381
- internalType: "uint256"
1382
- },
1383
- {
1384
- name: "initCode",
1385
- type: "bytes",
1386
- internalType: "bytes"
1387
- },
1388
- {
1389
- name: "callData",
1390
- type: "bytes",
1391
- internalType: "bytes"
1392
- },
1393
- {
1394
- name: "accountGasLimits",
1395
- type: "bytes32",
1396
- internalType: "bytes32"
1397
- },
1398
- {
1399
- name: "preVerificationGas",
1400
- type: "uint256",
1401
- internalType: "uint256"
1402
- },
1403
- {
1404
- name: "gasFees",
1405
- type: "bytes32",
1406
- internalType: "bytes32"
1407
- },
1408
- {
1409
- name: "paymasterAndData",
1410
- type: "bytes",
1411
- internalType: "bytes"
1412
- },
1413
- {
1414
- name: "signature",
1415
- type: "bytes",
1416
- internalType: "bytes"
1417
- }
1418
- ]
1419
- }
1420
- ],
1421
- outputs: [
1422
- {
1423
- name: "",
1424
- type: "tuple",
1425
- internalType: "struct IEntryPointSimulations.ValidationResult",
1426
- components: [
1427
- {
1428
- name: "returnInfo",
1429
- type: "tuple",
1430
- internalType: "struct IEntryPoint.ReturnInfo",
1431
- components: [
1432
- {
1433
- name: "preOpGas",
1434
- type: "uint256",
1435
- internalType: "uint256"
1436
- },
1437
- {
1438
- name: "prefund",
1439
- type: "uint256",
1440
- internalType: "uint256"
1441
- },
1442
- {
1443
- name: "accountValidationData",
1444
- type: "uint256",
1445
- internalType: "uint256"
1446
- },
1447
- {
1448
- name: "paymasterValidationData",
1449
- type: "uint256",
1450
- internalType: "uint256"
1451
- },
1452
- {
1453
- name: "paymasterContext",
1454
- type: "bytes",
1455
- internalType: "bytes"
1456
- }
1457
- ]
1458
- },
1459
- {
1460
- name: "senderInfo",
1461
- type: "tuple",
1462
- internalType: "struct IStakeManager.StakeInfo",
1463
- components: [
1464
- {
1465
- name: "stake",
1466
- type: "uint256",
1467
- internalType: "uint256"
1468
- },
1469
- {
1470
- name: "unstakeDelaySec",
1471
- type: "uint256",
1472
- internalType: "uint256"
1473
- }
1474
- ]
1475
- },
1476
- {
1477
- name: "factoryInfo",
1478
- type: "tuple",
1479
- internalType: "struct IStakeManager.StakeInfo",
1480
- components: [
1481
- {
1482
- name: "stake",
1483
- type: "uint256",
1484
- internalType: "uint256"
1485
- },
1486
- {
1487
- name: "unstakeDelaySec",
1488
- type: "uint256",
1489
- internalType: "uint256"
1490
- }
1491
- ]
1492
- },
1493
- {
1494
- name: "paymasterInfo",
1495
- type: "tuple",
1496
- internalType: "struct IStakeManager.StakeInfo",
1497
- components: [
1498
- {
1499
- name: "stake",
1500
- type: "uint256",
1501
- internalType: "uint256"
1502
- },
1503
- {
1504
- name: "unstakeDelaySec",
1505
- type: "uint256",
1506
- internalType: "uint256"
1507
- }
1508
- ]
1509
- },
1510
- {
1511
- name: "aggregatorInfo",
1512
- type: "tuple",
1513
- internalType: "struct IEntryPoint.AggregatorStakeInfo",
1514
- components: [
1515
- {
1516
- name: "aggregator",
1517
- type: "address",
1518
- internalType: "address"
1519
- },
1520
- {
1521
- name: "stakeInfo",
1522
- type: "tuple",
1523
- internalType: "struct IStakeManager.StakeInfo",
1524
- components: [
1525
- {
1526
- name: "stake",
1527
- type: "uint256",
1528
- internalType: "uint256"
1529
- },
1530
- {
1531
- name: "unstakeDelaySec",
1532
- type: "uint256",
1533
- internalType: "uint256"
1534
- }
1535
- ]
1536
- }
1537
- ]
1538
- }
1539
- ]
1540
- }
1541
- ],
1542
- stateMutability: "nonpayable"
1543
- },
1544
- {
1545
- type: "function",
1546
- name: "unlockStake",
1547
- inputs: [],
1548
- outputs: [],
1549
- stateMutability: "nonpayable"
1550
- },
1551
- {
1552
- type: "function",
1553
- name: "withdrawStake",
1554
- inputs: [
1555
- {
1556
- name: "withdrawAddress",
1557
- type: "address",
1558
- internalType: "address payable"
1559
- }
1560
- ],
1561
- outputs: [],
1562
- stateMutability: "nonpayable"
1563
- },
1564
- {
1565
- type: "function",
1566
- name: "withdrawTo",
1567
- inputs: [
1568
- {
1569
- name: "withdrawAddress",
1570
- type: "address",
1571
- internalType: "address payable"
1572
- },
1573
- {
1574
- name: "withdrawAmount",
1575
- type: "uint256",
1576
- internalType: "uint256"
1577
- }
1578
- ],
1579
- outputs: [],
1580
- stateMutability: "nonpayable"
1581
- },
1582
- {
1583
- type: "event",
1584
- name: "AccountDeployed",
1585
- inputs: [
1586
- {
1587
- name: "userOpHash",
1588
- type: "bytes32",
1589
- indexed: true,
1590
- internalType: "bytes32"
1591
- },
1592
- {
1593
- name: "sender",
1594
- type: "address",
1595
- indexed: true,
1596
- internalType: "address"
1597
- },
1598
- {
1599
- name: "factory",
1600
- type: "address",
1601
- indexed: false,
1602
- internalType: "address"
1603
- },
1604
- {
1605
- name: "paymaster",
1606
- type: "address",
1607
- indexed: false,
1608
- internalType: "address"
1609
- }
1610
- ],
1611
- anonymous: false
1612
- },
1613
- {
1614
- type: "event",
1615
- name: "BeforeExecution",
1616
- inputs: [],
1617
- anonymous: false
1618
- },
1619
- {
1620
- type: "event",
1621
- name: "Deposited",
1622
- inputs: [
1623
- {
1624
- name: "account",
1625
- type: "address",
1626
- indexed: true,
1627
- internalType: "address"
1628
- },
1629
- {
1630
- name: "totalDeposit",
1631
- type: "uint256",
1632
- indexed: false,
1633
- internalType: "uint256"
1634
- }
1635
- ],
1636
- anonymous: false
1637
- },
1638
- {
1639
- type: "event",
1640
- name: "PostOpRevertReason",
1641
- inputs: [
1642
- {
1643
- name: "userOpHash",
1644
- type: "bytes32",
1645
- indexed: true,
1646
- internalType: "bytes32"
1647
- },
1648
- {
1649
- name: "sender",
1650
- type: "address",
1651
- indexed: true,
1652
- internalType: "address"
1653
- },
1654
- {
1655
- name: "nonce",
1656
- type: "uint256",
1657
- indexed: false,
1658
- internalType: "uint256"
1659
- },
1660
- {
1661
- name: "revertReason",
1662
- type: "bytes",
1663
- indexed: false,
1664
- internalType: "bytes"
1665
- }
1666
- ],
1667
- anonymous: false
1668
- },
1669
- {
1670
- type: "event",
1671
- name: "SignatureAggregatorChanged",
1672
- inputs: [
1673
- {
1674
- name: "aggregator",
1675
- type: "address",
1676
- indexed: true,
1677
- internalType: "address"
1678
- }
1679
- ],
1680
- anonymous: false
1681
- },
1682
- {
1683
- type: "event",
1684
- name: "StakeLocked",
1685
- inputs: [
1686
- {
1687
- name: "account",
1688
- type: "address",
1689
- indexed: true,
1690
- internalType: "address"
1691
- },
1692
- {
1693
- name: "totalStaked",
1694
- type: "uint256",
1695
- indexed: false,
1696
- internalType: "uint256"
1697
- },
1698
- {
1699
- name: "unstakeDelaySec",
1700
- type: "uint256",
1701
- indexed: false,
1702
- internalType: "uint256"
1703
- }
1704
- ],
1705
- anonymous: false
1706
- },
1707
- {
1708
- type: "event",
1709
- name: "StakeUnlocked",
1710
- inputs: [
1711
- {
1712
- name: "account",
1713
- type: "address",
1714
- indexed: true,
1715
- internalType: "address"
1716
- },
1717
- {
1718
- name: "withdrawTime",
1719
- type: "uint256",
1720
- indexed: false,
1721
- internalType: "uint256"
1722
- }
1723
- ],
1724
- anonymous: false
1725
- },
1726
- {
1727
- type: "event",
1728
- name: "StakeWithdrawn",
1729
- inputs: [
1730
- {
1731
- name: "account",
1732
- type: "address",
1733
- indexed: true,
1734
- internalType: "address"
1735
- },
1736
- {
1737
- name: "withdrawAddress",
1738
- type: "address",
1739
- indexed: false,
1740
- internalType: "address"
1741
- },
1742
- {
1743
- name: "amount",
1744
- type: "uint256",
1745
- indexed: false,
1746
- internalType: "uint256"
1747
- }
1748
- ],
1749
- anonymous: false
1750
- },
1751
- {
1752
- type: "event",
1753
- name: "UserOperationEvent",
1754
- inputs: [
1755
- {
1756
- name: "userOpHash",
1757
- type: "bytes32",
1758
- indexed: true,
1759
- internalType: "bytes32"
1760
- },
1761
- {
1762
- name: "sender",
1763
- type: "address",
1764
- indexed: true,
1765
- internalType: "address"
1766
- },
1767
- {
1768
- name: "paymaster",
1769
- type: "address",
1770
- indexed: true,
1771
- internalType: "address"
1772
- },
1773
- {
1774
- name: "nonce",
1775
- type: "uint256",
1776
- indexed: false,
1777
- internalType: "uint256"
1778
- },
1779
- {
1780
- name: "success",
1781
- type: "bool",
1782
- indexed: false,
1783
- internalType: "bool"
1784
- },
1785
- {
1786
- name: "actualGasCost",
1787
- type: "uint256",
1788
- indexed: false,
1789
- internalType: "uint256"
1790
- },
1791
- {
1792
- name: "actualGasUsed",
1793
- type: "uint256",
1794
- indexed: false,
1795
- internalType: "uint256"
1796
- }
1797
- ],
1798
- anonymous: false
1799
- },
1800
- {
1801
- type: "event",
1802
- name: "UserOperationPrefundTooLow",
1803
- inputs: [
1804
- {
1805
- name: "userOpHash",
1806
- type: "bytes32",
1807
- indexed: true,
1808
- internalType: "bytes32"
1809
- },
1810
- {
1811
- name: "sender",
1812
- type: "address",
1813
- indexed: true,
1814
- internalType: "address"
1815
- },
1816
- {
1817
- name: "nonce",
1818
- type: "uint256",
1819
- indexed: false,
1820
- internalType: "uint256"
1821
- }
1822
- ],
1823
- anonymous: false
1824
- },
1825
- {
1826
- type: "event",
1827
- name: "UserOperationRevertReason",
1828
- inputs: [
1829
- {
1830
- name: "userOpHash",
1831
- type: "bytes32",
1832
- indexed: true,
1833
- internalType: "bytes32"
1834
- },
1835
- {
1836
- name: "sender",
1837
- type: "address",
1838
- indexed: true,
1839
- internalType: "address"
1840
- },
1841
- {
1842
- name: "nonce",
1843
- type: "uint256",
1844
- indexed: false,
1845
- internalType: "uint256"
1846
- },
1847
- {
1848
- name: "revertReason",
1849
- type: "bytes",
1850
- indexed: false,
1851
- internalType: "bytes"
1852
- }
1853
- ],
1854
- anonymous: false
1855
- },
1856
- {
1857
- type: "event",
1858
- name: "Withdrawn",
1859
- inputs: [
1860
- {
1861
- name: "account",
1862
- type: "address",
1863
- indexed: true,
1864
- internalType: "address"
1865
- },
1866
- {
1867
- name: "withdrawAddress",
1868
- type: "address",
1869
- indexed: false,
1870
- internalType: "address"
1871
- },
1872
- {
1873
- name: "amount",
1874
- type: "uint256",
1875
- indexed: false,
1876
- internalType: "uint256"
1877
- }
1878
- ],
1879
- anonymous: false
1880
- },
1881
- {
1882
- type: "error",
1883
- name: "FailedOp",
1884
- inputs: [
1885
- {
1886
- name: "opIndex",
1887
- type: "uint256",
1888
- internalType: "uint256"
1889
- },
1890
- {
1891
- name: "reason",
1892
- type: "string",
1893
- internalType: "string"
1894
- }
1895
- ]
1896
- },
1897
- {
1898
- type: "error",
1899
- name: "FailedOpWithRevert",
1900
- inputs: [
1901
- {
1902
- name: "opIndex",
1903
- type: "uint256",
1904
- internalType: "uint256"
1905
- },
1906
- {
1907
- name: "reason",
1908
- type: "string",
1909
- internalType: "string"
1910
- },
1911
- {
1912
- name: "inner",
1913
- type: "bytes",
1914
- internalType: "bytes"
1915
- }
1916
- ]
1917
- },
1918
- {
1919
- type: "error",
1920
- name: "PostOpReverted",
1921
- inputs: [
1922
- {
1923
- name: "returnData",
1924
- type: "bytes",
1925
- internalType: "bytes"
1926
- }
1927
- ]
1928
- },
1929
- {
1930
- type: "error",
1931
- name: "ReentrancyGuardReentrantCall",
1932
- inputs: []
1933
- },
1934
- {
1935
- type: "error",
1936
- name: "SenderAddressResult",
1937
- inputs: [
1938
- {
1939
- name: "sender",
1940
- type: "address",
1941
- internalType: "address"
1942
- }
1943
- ]
1944
- },
1945
- {
1946
- type: "error",
1947
- name: "SignatureValidationFailed",
1948
- inputs: [
1949
- {
1950
- name: "aggregator",
1951
- type: "address",
1952
- internalType: "address"
1953
- }
1954
- ]
1955
- }
1956
- ];
16
+ exports.EntryPointV07SimulationsAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "addStake", "inputs": [{ "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "depositTo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "deposits", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }], "stateMutability": "view" }, { "type": "function", "name": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPoint.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPoint.MemoryUserOp", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "verificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "callGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "maxFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxPriorityFeePerGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "userOpHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "contextOffset", "type": "uint256", "internalType": "uint256" }, { "name": "preOpGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "preGas", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "simulateCallData", "inputs": [{ "name": "op", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "target", "type": "address", "internalType": "address" }, { "name": "targetCallData", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.TargetCallResult", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateCallDataBulk", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "targets", "type": "address[]", "internalType": "address[]" }, { "name": "targetCallData", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.TargetCallResult[]", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateCallDataLast", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "targets", "type": "address[]", "internalType": "address[]" }, { "name": "targetCallData", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.TargetCallResult", "components": [{ "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "returnData", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOp", "inputs": [{ "name": "op", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ExecutionResult", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOpBulk", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.ExecutionResult[]", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateHandleOpLast", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ExecutionResult", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "paid", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "targetSuccess", "type": "bool", "internalType": "bool" }, { "name": "targetResult", "type": "bytes", "internalType": "bytes" }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidation", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ValidationResult", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidationBulk", "inputs": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct IEntryPointSimulations.ValidationResult[]", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "simulateValidationLast", "inputs": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "tuple", "internalType": "struct IEntryPointSimulations.ValidationResult", "components": [{ "name": "returnInfo", "type": "tuple", "internalType": "struct IEntryPoint.ReturnInfo", "components": [{ "name": "preOpGas", "type": "uint256", "internalType": "uint256" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "accountValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterValidationData", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterContext", "type": "bytes", "internalType": "bytes" }] }, { "name": "senderInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "factoryInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "paymasterInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }, { "name": "aggregatorInfo", "type": "tuple", "internalType": "struct IEntryPoint.AggregatorStakeInfo", "components": [{ "name": "aggregator", "type": "address", "internalType": "address" }, { "name": "stakeInfo", "type": "tuple", "internalType": "struct IStakeManager.StakeInfo", "components": [{ "name": "stake", "type": "uint256", "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "internalType": "uint256" }] }] }] }], "stateMutability": "nonpayable" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "PostOpRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "SignatureAggregatorChanged", "inputs": [{ "name": "aggregator", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "StakeLocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalStaked", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeUnlocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawTime", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeWithdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationEvent", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "success", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "actualGasCost", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "actualGasUsed", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationPrefundTooLow", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "FailedOp", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }] }, { "type": "error", "name": "FailedOpWithRevert", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }, { "name": "inner", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "PostOpReverted", "inputs": [{ "name": "returnData", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SenderAddressResult", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SignatureValidationFailed", "inputs": [{ "name": "aggregator", "type": "address", "internalType": "address" }] }];
17
+ exports.EntryPointV07SimulationsBytecode = "0x60a060405260405162000012906200009d565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b506001600160a01b0390811660805260408051808201825260008082528251808401909352808352602080840191825282018390529051600380546001600160a01b031916919094161790925551600455516005553480156200009157600080fd5b506001600255620000ab565b610233806200519583390190565b6080516150d1620000c4600039600050506150d16000f3fe60806040526004361061016d5760003560e01c806370a08231116100cb578063bb9fe6bf1161007f578063c5f996e611610059578063c5f996e6146105b9578063dbed18e0146105d9578063fc7e286d146105f957600080fd5b8063bb9fe6bf14610557578063c23a5cea1461056c578063c3bce0091461058c57600080fd5b8063850aaf62116100b0578063850aaf62146105045780639b249f6914610524578063b760faf91461054457600080fd5b806370a08231146104a1578063765e827f146104e457600080fd5b8063205c28781161012257806335567e1a1161010757806335567e1a146102905780635287ce12146103255780635895273b1461047457600080fd5b8063205c28781461025057806322cdde4c1461027057600080fd5b80630396cb60116101535780630396cb60146101e55780630bd28e3b146101f85780631b2e01b81461021857600080fd5b806242dc531461018257806301ffc9a7146101b557600080fd5b3661017d5761017b336106cb565b005b600080fd5b34801561018e57600080fd5b506101a261019d36600461420a565b6106ec565b6040519081526020015b60405180910390f35b3480156101c157600080fd5b506101d56101d03660046142ca565b6108b5565b60405190151581526020016101ac565b61017b6101f336600461430c565b610a32565b34801561020457600080fd5b5061017b61021336600461435a565b610dc8565b34801561022457600080fd5b506101a2610233366004614375565b600160209081526000928352604080842090915290825290205481565b34801561025c57600080fd5b5061017b61026b3660046143aa565b610e10565b34801561027c57600080fd5b506101a261028b3660046143ef565b610fba565b34801561029c57600080fd5b506101a26102ab366004614375565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff8516845290915290819020549082901b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000161792915050565b34801561033157600080fd5b50610412610340366004614424565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525073ffffffffffffffffffffffffffffffffffffffff1660009081526020818152604091829020825160a0810184528154815260019091015460ff811615159282019290925261010082046dffffffffffffffffffffffffffff16928101929092526f01000000000000000000000000000000810463ffffffff166060830152730100000000000000000000000000000000000000900465ffffffffffff16608082015290565b6040516101ac9190600060a082019050825182526020830151151560208301526dffffffffffffffffffffffffffff604084015116604083015263ffffffff606084015116606083015265ffffffffffff608084015116608083015292915050565b34801561048057600080fd5b5061049461048f3660046143ef565b610ffc565b6040516101ac91906144af565b3480156104ad57600080fd5b506101a26104bc366004614424565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3480156104f057600080fd5b5061017b6104ff366004614543565b6110f1565b34801561051057600080fd5b5061017b61051f36600461459a565b61126e565b34801561053057600080fd5b5061017b61053f3660046145ef565b611313565b61017b610552366004614424565b6106cb565b34801561056357600080fd5b5061017b6113fe565b34801561057857600080fd5b5061017b610587366004614424565b6115de565b34801561059857600080fd5b506105ac6105a73660046143ef565b6118cb565b6040516101ac9190614631565b3480156105c557600080fd5b5061017b6105d4366004614711565b611bcf565b3480156105e557600080fd5b5061017b6105f4366004614543565b611cb5565b34801561060557600080fd5b50610681610614366004614424565b6000602081905290815260409020805460019091015460ff81169061010081046dffffffffffffffffffffffffffff16906f01000000000000000000000000000000810463ffffffff1690730100000000000000000000000000000000000000900465ffffffffffff1685565b6040805195865293151560208601526dffffffffffffffffffffffffffff9092169284019290925263ffffffff909116606083015265ffffffffffff16608082015260a0016101ac565b60015b60058110156106df576001016106ce565b6106e882612161565b5050565b6000805a9050333014610760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c7900000000000000000060448201526064015b60405180910390fd5b8451606081015160a082015181016127100160405a603f028161078557610785614773565b0410156107b6577fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b8751600090156108575760006107d3846000015160008c866121b7565b9050806108555760006107e76108006121cf565b80519091501561084f57846000015173ffffffffffffffffffffffffffffffffffffffff168a602001517f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2018760200151846040516108469291906147a2565b60405180910390a35b60019250505b505b600088608001515a86030190506108a7828a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506121fb915050565b9a9950505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f60fc6b6e00000000000000000000000000000000000000000000000000000000148061094857507fffffffff0000000000000000000000000000000000000000000000000000000082167f915074d800000000000000000000000000000000000000000000000000000000145b8061099457507fffffffff0000000000000000000000000000000000000000000000000000000082167fcf28ef9700000000000000000000000000000000000000000000000000000000145b806109e057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e84f02100000000000000000000000000000000000000000000000000000000145b80610a2c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33600090815260208190526040902063ffffffff8216610aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606401610757565b600181015463ffffffff6f0100000000000000000000000000000090910481169083161015610b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606401610757565b6001810154600090610b6190349061010090046dffffffffffffffffffffffffffff166147ea565b905060008111610bcd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152606401610757565b6dffffffffffffffffffffffffffff811115610c45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152606401610757565b6040805160a08101825283548152600160208083018281526dffffffffffffffffffffffffffff86811685870190815263ffffffff8a811660608801818152600060808a0181815233808352828a52918c90209a518b55965199909801805494519151965165ffffffffffff16730100000000000000000000000000000000000000027fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff979094166f0100000000000000000000000000000002969096167fffffffffffffff00000000000000000000ffffffffffffffffffffffffffffff91909516610100027fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff991515999099167fffffffffffffffffffffffffffffffffff00000000000000000000000000000090941693909317979097179190911691909117179055835185815290810192909252917fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01910160405180910390a2505050565b33600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff851684529091528120805491610e08836147fd565b919050555050565b3360009081526020819052604090208054821115610e8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606401610757565b8054610e97908390614835565b81556040805173ffffffffffffffffffffffffffffffffffffffff851681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb910160405180910390a260008373ffffffffffffffffffffffffffffffffffffffff168360405160006040518083038185875af1925050503d8060008114610f44576040519150601f19603f3d011682016040523d82523d6000602084013e610f49565b606091505b5050905080610fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152606401610757565b50505050565b6000610fc582612423565b6040805160208101929092523090820152466060820152608001604051602081830303815290604052805190602001209050919050565b6110376040518060c0016040528060008152602001600081526020016000815260200160008152602001600015158152602001606081525090565b61103f61243c565b611047613dfc565b6110508361247d565b60008061105f600086856125f0565b9150915060006110716000878661284f565b90506040518060c00160405280856080015181526020018281526020018481526020018381526020016000151581526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152509450505050506110ec6001600255565b919050565b6110f961243c565b8160008167ffffffffffffffff81111561111557611115613fa8565b60405190808252806020026020018201604052801561114e57816020015b61113b613dfc565b8152602001906001900390816111335790505b50905060005b828110156111c757600082828151811061117057611170614848565b602002602001015190506000806111ab848a8a8781811061119357611193614848565b90506020028101906111a59190614877565b856125f0565b915091506111bc8483836000612c25565b505050600101611154565b506040516000907fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972908290a160005b83811015611251576112458188888481811061121457611214614848565b90506020028101906112269190614877565b85848151811061123857611238614848565b602002602001015161284f565b909101906001016111f6565b5061125c8482612e7a565b5050506112696001600255565b505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516112989291906148b5565b600060405180830381855af49150503d80600081146112d3576040519150601f19603f3d011682016040523d82523d6000602084013e6112d8565b606091505b509150915081816040517f994105540000000000000000000000000000000000000000000000000000000081526004016107579291906148c5565b600061133460065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663570e1a3684846040518363ffffffff1660e01b815260040161136e929190614929565b6020604051808303816000875af115801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061493d565b6040517f6ca7b80600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152909150602401610757565b336000908152602081905260408120600181015490916f0100000000000000000000000000000090910463ffffffff169003611496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152606401610757565b600181015460ff16611504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152606401610757565b600181015460009061152f906f01000000000000000000000000000000900463ffffffff164261495a565b6001830180547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001673010000000000000000000000000000000000000065ffffffffffff84169081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169190911790915560405190815290915033907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a906020015b60405180910390a25050565b336000908152602081905260409020600181015461010090046dffffffffffffffffffffffffffff168061166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152606401610757565b6001820154730100000000000000000000000000000000000000900465ffffffffffff166116f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606401610757565b60018201544273010000000000000000000000000000000000000090910465ffffffffffff161115611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606401610757565b6001820180547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff851681526020810183905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda3910160405180910390a260008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461185b576040519150601f19603f3d011682016040523d82523d6000602084013e611860565b606091505b5050905080610fb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606401610757565b6118d3613eae565b6118db613dfc565b6118e48361247d565b6000806118f3600086856125f0565b845160e001516040805180820182526000808252602080830182815273ffffffffffffffffffffffffffffffffffffffff95861683528282528483206001908101546dffffffffffffffffffffffffffff6101008083048216885263ffffffff6f010000000000000000000000000000009384900481169095528e51518951808b018b5288815280880189815291909b1688528787528988209094015490810490911689520490911690528351808501909452818452830152939550919350903660006119c360408b018b614980565b9092509050600060148210156119da5760006119f5565b6119e86014600084866149e5565b6119f191614a0f565b60601c5b6040805180820182526000808252602080830182815273ffffffffffffffffffffffffffffffffffffffff86168352908290529290206001015461010081046dffffffffffffffffffffffffffff1682526f01000000000000000000000000000000900463ffffffff169091529091509350505050600085905060006040518060a001604052808960800151815260200189604001518152602001888152602001878152602001611aa78a6060015190565b905260408051808201825260035473ffffffffffffffffffffffffffffffffffffffff908116825282518084019093526004548352600554602084810191909152820192909252919250831615801590611b18575060018373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9c5760408051808201825273ffffffffffffffffffffffffffffffffffffffff851680825282518084018452600080825260208083018281529382528181529490206001015461010081046dffffffffffffffffffffffffffff1682526f01000000000000000000000000000000900463ffffffff16909152909182015290505b6040805160a081018252928352602083019590955293810192909252506060810192909252608082015295945050505050565b611bd7613dfc565b611be08561247d565b611bec600086836125f0565b5060009050606073ffffffffffffffffffffffffffffffffffffffff861615611c7f578573ffffffffffffffffffffffffffffffffffffffff168585604051611c369291906148b5565b6000604051808303816000865af19150503d8060008114611c73576040519150601f19603f3d011682016040523d82523d6000602084013e611c78565b606091505b5090925090505b81816040517fd12c41340000000000000000000000000000000000000000000000000000000081526004016107579291906148c5565b611cbd61243c565b816000805b82811015611eaf5736868683818110611cdd57611cdd614848565b9050602002810190611cef9190614a57565b9050366000611cfe8380614a8b565b90925090506000611d156040850160208601614424565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73ffffffffffffffffffffffffffffffffffffffff821601611db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152606401610757565b73ffffffffffffffffffffffffffffffffffffffff811615611e935773ffffffffffffffffffffffffffffffffffffffff8116632dd811338484611dfd6040890189614980565b6040518563ffffffff1660e01b8152600401611e1c9493929190614c43565b60006040518083038186803b158015611e3457600080fd5b505afa925050508015611e45575060015b611e93576040517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610757565b611e9d82876147ea565b95505060019093019250611cc2915050565b5060008167ffffffffffffffff811115611ecb57611ecb613fa8565b604051908082528060200260200182016040528015611f0457816020015b611ef1613dfc565b815260200190600190039081611ee95790505b5090506000805b84811015611fe15736888883818110611f2657611f26614848565b9050602002810190611f389190614a57565b9050366000611f478380614a8b565b90925090506000611f5e6040850160208601614424565b90508160005b81811015611fcf576000898981518110611f8057611f80614848565b60200260200101519050600080611fa38b89898781811061119357611193614848565b91509150611fb384838389612c25565b8a611fbd816147fd565b9b505060019093019250611f64915050565b505060019094019350611f0b92505050565b506040517fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f97290600090a150600080805b8581101561211c573689898381811061202c5761202c614848565b905060200281019061203e9190614a57565b90506120506040820160208301614424565b73ffffffffffffffffffffffffffffffffffffffff167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d60405160405180910390a236600061209f8380614a8b565b90925090508060005b8181101561210b576120ea888585848181106120c6576120c6614848565b90506020028101906120d89190614877565b8b8b8151811061123857611238614848565b6120f490886147ea565b965087612100816147fd565b9850506001016120a8565b505060019093019250612011915050565b506040516000907f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d908290a26121528682612e7a565b50505050506112696001600255565b600061216d8234612fc1565b90508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4826040516115d291815260200190565b6000806000845160208601878987f195945050505050565b60603d828111156121dd5750815b604051602082018101604052818152816000602083013e9392505050565b6000805a85519091506000908161221182613001565b60e083015190915073ffffffffffffffffffffffffffffffffffffffff811661223d5782519350612338565b80935060008851111561233857868202955060028a600281111561226357612263614cfa565b146123385760a08301516040517f7c627b2100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831691637c627b21916122c5908e908d908c908990600401614d29565b600060405180830381600088803b1580156122df57600080fd5b5087f1935050505080156122f1575060015b6123385760006123026108006121cf565b9050806040517fad7954bc0000000000000000000000000000000000000000000000000000000081526004016107579190614d8c565b5a60a0840151606085015160808c01519288039990990198019088038082111561236b576064600a828403020498909801975b505060408901518783029650868110156123e05760028b600281111561239357612393614cfa565b036123b6578096506123a48a613033565b6123b18a6000898b61308f565b612415565b7fdeadaa510000000000000000000000000000000000000000000000000000000060005260206000fd5b8681036123ed8682612fc1565b506000808d600281111561240357612403614cfa565b1490506124128c828b8d61308f565b50505b505050505050949350505050565b600061242e82613117565b805190602001209050919050565b6002805403612477576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028055565b61257d6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152600090603701604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181529190528051602090910120600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905550565b60006125ae61258f6040840184614980565b61259c6020860186614424565b6125a960e0870187614980565b6131dc565b905080516000146106e8576000816040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579291906147a2565b60008060005a845190915061260586826132c5565b61260e86610fba565b6020860152604081015161012082015161010083015160a08401516080850151606086015160c0870151861717171717176effffffffffffffffffffffffffffff8111156126b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606401610757565b60006126e78460c081015160a08201516080830151606084015160408501516101009095015194010101010290565b90506126f68a8a8a8487613410565b965061270a84600001518560200151613651565b61277957896040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601a908201527f4141323520696e76616c6964206163636f756e74206e6f6e6365000000000000606082015260800190565b825a860311156127ee57896040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601e908201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606082015260800190565b60e084015160609073ffffffffffffffffffffffffffffffffffffffff16156128225761281d8b8b8b856136ac565b975090505b604089018290528060608a015260a08a01355a870301896080018181525050505050505050935093915050565b6000805a90506000612862846060015190565b604051909150600090368261287a60608a018a614980565b915091506060600082600381111561289157843591505b507f72288ed1000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016129d15760008b8b602001516040516024016128f4929190614d9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8dd7712f000000000000000000000000000000000000000000000000000000001790525190915030906242dc53906129879084908f908d90602401614e85565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050925050612a48565b3073ffffffffffffffffffffffffffffffffffffffff166242dc5385858d8b604051602401612a039493929190614ec5565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505091505b602060008351602085016000305af19550600051985084604052505050505080612c1b5760003d80602003612a835760206000803e60005191505b507fdeaddead000000000000000000000000000000000000000000000000000000008103612b1657876040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052600f908201527f41413935206f7574206f66206761730000000000000000000000000000000000606082015260800190565b7fdeadaa51000000000000000000000000000000000000000000000000000000008103612b8057600086608001515a612b4f9087614835565b612b5991906147ea565b6040880151909150612b6a88613033565b612b77886000838561308f565b9550612c199050565b8551805160208089015192015173ffffffffffffffffffffffffffffffffffffffff90911691907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479290612bd46108006121cf565b604051612be29291906147a2565b60405180910390a3600086608001515a612bfc9087614835565b612c0691906147ea565b9050612c1560028886846121fb565b9550505b505b5050509392505050565b600080612c3185613903565b915091508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612cd357856040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526014908201527f41413234207369676e6174757265206572726f72000000000000000000000000606082015260800190565b8015612d4457856040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526017908201527f414132322065787069726564206f72206e6f7420647565000000000000000000606082015260800190565b6000612d4f85613903565b9250905073ffffffffffffffffffffffffffffffffffffffff811615612dda57866040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526014908201527f41413334207369676e6174757265206572726f72000000000000000000000000606082015260800190565b8115612e7157866040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526021908201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f6500000000000000000000000000000000000000000000000000000000000000608082015260a00190565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216612ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152606401610757565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612f51576040519150601f19603f3d011682016040523d82523d6000602084013e612f56565b606091505b5050905080611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152606401610757565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040812080548290612ff59085906147ea565b91829055509392505050565b6101008101516101208201516000919080820361301f575092915050565b61302b82488301613956565b949350505050565b805180516020808401519281015160405190815273ffffffffffffffffffffffffffffffffffffffff90921692917f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e910160405180910390a350565b835160e0810151815160208088015193015160405173ffffffffffffffffffffffffffffffffffffffff9384169492909316927f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f916131099189908990899093845291151560208401526040830152606082015260800190565b60405180910390a450505050565b60608135602083013560006131376131326040870187614980565b61396e565b9050600061314b6131326060880188614980565b9050608086013560a087013560c0880135600061316e61313260e08c018c614980565b6040805173ffffffffffffffffffffffffffffffffffffffff9a909a1660208b015289810198909852606089019690965250608087019390935260a086019190915260c085015260e08401526101008084019190915281518084039091018152610120909201905292915050565b606084158015613201575073ffffffffffffffffffffffffffffffffffffffff84163b155b15613240575060408051808201909152601981527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060208201526132bc565b601482106132ab57600061325760148285876149e5565b61326091614a0f565b60601c9050803b6000036132a957505060408051808201909152601b81527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060208201526132bc565b505b506040805160208101909152600081525b95945050505050565b6132d26020830183614424565b73ffffffffffffffffffffffffffffffffffffffff168152602082810135908201526fffffffffffffffffffffffffffffffff6080808401358281166060850152811c604084015260a084013560c0808501919091528401359182166101008401521c61012082015236600061334b60e0850185614980565b909250905080156133f55760348110156133c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606401610757565b6133cb8282613981565b60a0860152608085015273ffffffffffffffffffffffffffffffffffffffff1660e0840152610fb4565b600060e084018190526080840181905260a084015250505050565b825180516000919061342f888761342a60408b018b614980565b6139f2565b60e0820151600073ffffffffffffffffffffffffffffffffffffffff821661348d5773ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205487811161348657808803613489565b60005b9150505b60208801516040517f19822f7c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516916319822f7c9189916134e9918e91908790600401614efc565b60206040518083038160008887f193505050508015613543575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261354091810190614f21565b60015b61358757896135536108006121cf565b6040517f65c8fd4d000000000000000000000000000000000000000000000000000000008152600401610757929190614f3a565b945073ffffffffffffffffffffffffffffffffffffffff82166136445773ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902080548089111561363e578b6040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526017908201527f41413231206469646e2774207061792070726566756e64000000000000000000606082015260800190565b88900390555b5050505095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832084821c808552925282208054849167ffffffffffffffff831691908561369e836147fd565b909155501495945050505050565b60606000805a855160e081015173ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020805493945091929091908781101561375b578a6040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601e908201527f41413331207061796d6173746572206465706f73697420746f6f206c6f770000606082015260800190565b87810382600001819055506000846080015190508373ffffffffffffffffffffffffffffffffffffffff166352b7512c828d8d602001518d6040518563ffffffff1660e01b81526004016137b193929190614efc565b60006040518083038160008887f19350505050801561381057506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261380d9190810190614f87565b60015b613854578b6138206108006121cf565b6040517f65c8fd4d000000000000000000000000000000000000000000000000000000008152600401610757929190615008565b9098509650805a870311156138f4578b6040517f220266b60000000000000000000000000000000000000000000000000000000081526004016107579181526040602082018190526027908201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760608201527f61734c696d697400000000000000000000000000000000000000000000000000608082015260a00190565b50505050505094509492505050565b6000808260000361391957506000928392509050565b600061392484613d7e565b9050806040015165ffffffffffff1642118061394b5750806020015165ffffffffffff1642105b905194909350915050565b60008183106139655781613967565b825b9392505050565b6000604051828085833790209392505050565b6000808061399260148286886149e5565b61399b91614a0f565b60601c6139ac6024601487896149e5565b6139b591615055565b60801c6139c660346024888a6149e5565b6139cf91615055565b9194506fffffffffffffffffffffffffffffffff16925060801c90509250925092565b8015610fb45782515173ffffffffffffffffffffffffffffffffffffffff81163b15613a8357846040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601f908201527f414131302073656e64657220616c726561647920636f6e737472756374656400606082015260800190565b6000613aa460065473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1663570e1a3686600001516040015186866040518463ffffffff1660e01b8152600401613ae7929190614929565b60206040518083038160008887f1158015613b06573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b2b919061493d565b905073ffffffffffffffffffffffffffffffffffffffff8116613bb357856040517f220266b6000000000000000000000000000000000000000000000000000000008152600401610757918152604060208201819052601b908201527f4141313320696e6974436f6465206661696c6564206f72204f4f470000000000606082015260800190565b8173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613c5057856040517f220266b600000000000000000000000000000000000000000000000000000000815260040161075791815260406020808301829052908201527f4141313420696e6974436f6465206d7573742072657475726e2073656e646572606082015260800190565b8073ffffffffffffffffffffffffffffffffffffffff163b600003613cd957856040517f220266b600000000000000000000000000000000000000000000000000000000815260040161075791815260406020808301829052908201527f4141313520696e6974436f6465206d757374206372656174652073656e646572606082015260800190565b6000613ce860148286886149e5565b613cf191614a0f565b60601c90508273ffffffffffffffffffffffffffffffffffffffff1686602001517fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d83896000015160e00151604051613d6d92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405180910390a350505050505050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003613dba575065ffffffffffff5b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff909316835260d09490941c602083015265ffffffffffff16928101929092525090565b6040518060a00160405280613e89604051806101400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001600080191681526020016000815260200160008152602001600081525090565b6040518060a00160405280613eeb6040518060a0016040528060008152602001600081526020016000815260200160008152602001606081525090565b8152602001613f0d604051806040016040528060008152602001600081525090565b8152602001613f2f604051806040016040528060008152602001600081525090565b8152602001613f51604051806040016040528060008152602001600081525090565b8152602001613f5e613f63565b905290565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001613f5e604051806040016040528060008152602001600081525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715613ffa57613ffa613fa8565b60405290565b604051610140810167ffffffffffffffff81118282101715613ffa57613ffa613fa8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561406b5761406b613fa8565b604052919050565b600067ffffffffffffffff82111561408d5761408d613fa8565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff811681146140db57600080fd5b50565b80356110ec816140b9565b60008183036101c08112156140fd57600080fd5b614105613fd7565b91506101408082121561411757600080fd5b61411f614000565b915061412a846140de565b82526020840135602083015260408401356040830152606084013560608301526080840135608083015260a084013560a083015260c084013560c083015261417460e085016140de565b60e0830152610100848101359083015261012080850135908301529082528201356020820152610160820135604082015261018082013560608201526101a0909101356080820152919050565b60008083601f8401126141d357600080fd5b50813567ffffffffffffffff8111156141eb57600080fd5b60208301915083602082850101111561420357600080fd5b9250929050565b600080600080610200858703121561422157600080fd5b843567ffffffffffffffff8082111561423957600080fd5b818701915087601f83011261424d57600080fd5b813561426061425b82614073565b614024565b81815289602083860101111561427557600080fd5b81602085016020830137600060208383010152809750505061429a88602089016140e9565b94506101e08701359150808211156142b157600080fd5b506142be878288016141c1565b95989497509550505050565b6000602082840312156142dc57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461396757600080fd5b60006020828403121561431e57600080fd5b813563ffffffff8116811461396757600080fd5b803577ffffffffffffffffffffffffffffffffffffffffffffffff811681146110ec57600080fd5b60006020828403121561436c57600080fd5b61396782614332565b6000806040838503121561438857600080fd5b8235614393816140b9565b91506143a160208401614332565b90509250929050565b600080604083850312156143bd57600080fd5b82356143c8816140b9565b946020939093013593505050565b600061012082840312156143e957600080fd5b50919050565b60006020828403121561440157600080fd5b813567ffffffffffffffff81111561441857600080fd5b61302b848285016143d6565b60006020828403121561443657600080fd5b8135613967816140b9565b60005b8381101561445c578181015183820152602001614444565b50506000910152565b6000815180845261447d816020860160208601614441565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152815160208201526020820151604082015260408201516060820152606082015160808201526080820151151560a0820152600060a083015160c08084015261302b60e0840182614465565b60008083601f84011261451057600080fd5b50813567ffffffffffffffff81111561452857600080fd5b6020830191508360208260051b850101111561420357600080fd5b60008060006040848603121561455857600080fd5b833567ffffffffffffffff81111561456f57600080fd5b61457b868287016144fe565b909450925050602084013561458f816140b9565b809150509250925092565b6000806000604084860312156145af57600080fd5b83356145ba816140b9565b9250602084013567ffffffffffffffff8111156145d657600080fd5b6145e2868287016141c1565b9497909650939450505050565b6000806020838503121561460257600080fd5b823567ffffffffffffffff81111561461957600080fd5b614625858286016141c1565b90969095509350505050565b602080825282516101408383015280516101608401529081015161018083015260408101516101a083015260608101516101c08301526080015160a06101e0830152600090614684610200840182614465565b905060208401516146a2604085018280518252602090810151910152565b506040840151805160808581019190915260209182015160a08601526060860151805160c087015282015160e0860152850151805173ffffffffffffffffffffffffffffffffffffffff1661010086015280820151805161012087015290910151610140850152509392505050565b6000806000806060858703121561472757600080fd5b843567ffffffffffffffff8082111561473f57600080fd5b61474b888389016143d6565b95506020870135915061475d826140b9565b909350604086013590808211156142b157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b82815260406020820152600061302b6040830184614465565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a2c57610a2c6147bb565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361482e5761482e6147bb565b5060010190565b81810381811115610a2c57610a2c6147bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181126148ab57600080fd5b9190910192915050565b8183823760009101908152919050565b821515815260406020820152600061302b6040830184614465565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061302b6020830184866148e0565b60006020828403121561494f57600080fd5b8151613967816140b9565b65ffffffffffff818116838216019080821115614979576149796147bb565b5092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126149b557600080fd5b83018035915067ffffffffffffffff8211156149d057600080fd5b60200191503681900382131561420357600080fd5b600080858511156149f557600080fd5b83861115614a0257600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015614a4f5780818660140360031b1b83161692505b505092915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181126148ab57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ac057600080fd5b83018035915067ffffffffffffffff821115614adb57600080fd5b6020019150600581901b360382131561420357600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614b2857600080fd5b830160208101925035905067ffffffffffffffff811115614b4857600080fd5b80360382131561420357600080fd5b6000610120614b8384614b69856140de565b73ffffffffffffffffffffffffffffffffffffffff169052565b60208301356020850152614b9a6040840184614af3565b826040870152614bad83870182846148e0565b92505050614bbe6060840184614af3565b8583036060870152614bd18382846148e0565b925050506080830135608085015260a083013560a085015260c083013560c0850152614c0060e0840184614af3565b85830360e0870152614c138382846148e0565b92505050610100614c2681850185614af3565b86840383880152614c388482846148e0565b979650505050505050565b6040808252810184905260006060600586901b830181019083018783805b89811015614ce3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18c3603018112614cc1578283fd5b614ccd868d8301614b57565b9550506020938401939290920191600101614c61565b505050508281036020840152614c388185876148e0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060038610614d62577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b85825260806020830152614d796080830186614465565b6040830194909452506060015292915050565b6020815260006139676020830184614465565b604081526000614db26040830185614b57565b90508260208301529392505050565b8051805173ffffffffffffffffffffffffffffffffffffffff1683526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015160c084015260e0810151614e4060e085018273ffffffffffffffffffffffffffffffffffffffff169052565b5061010081810151908401526101209081015190830152602081015161014083015260408101516101608301526060810151610180830152608001516101a090910152565b6000610200808352614e9981840187614465565b9050614ea86020840186614dc1565b8281036101e0840152614ebb8185614465565b9695505050505050565b6000610200808352614eda81840187896148e0565b9050614ee96020840186614dc1565b8281036101e0840152614c388185614465565b606081526000614f0f6060830186614b57565b60208301949094525060400152919050565b600060208284031215614f3357600080fd5b5051919050565b82815260606020820152600d60608201527f4141323320726576657274656400000000000000000000000000000000000000608082015260a06040820152600061302b60a0830184614465565b60008060408385031215614f9a57600080fd5b825167ffffffffffffffff811115614fb157600080fd5b8301601f81018513614fc257600080fd5b8051614fd061425b82614073565b818152866020838501011115614fe557600080fd5b614ff6826020830160208601614441565b60209590950151949694955050505050565b82815260606020820152600d60608201527f4141333320726576657274656400000000000000000000000000000000000000608082015260a06040820152600061302b60a0830184614465565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015614a4f5760109490940360031b84901b169092169291505056fea264697066735822122022e02178dc569768380168e9e3ea80c02f334e22212a424c7e3d8b24376c948964736f6c63430008170033608060405234801561001057600080fd5b50610213806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063570e1a3614610030575b600080fd5b61004361003e3660046100f9565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008061007c601482858761016b565b61008591610195565b60601c90506000610099846014818861016b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509360209350849250905082850182875af190506000519350806100f057600093505b50505092915050565b6000806020838503121561010c57600080fd5b823567ffffffffffffffff8082111561012457600080fd5b818501915085601f83011261013857600080fd5b81358181111561014757600080fd5b86602082850101111561015957600080fd5b60209290920196919550909350505050565b6000808585111561017b57600080fd5b8386111561018857600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156101d55780818660140360031b1b83161692505b50509291505056fea2646970667358221220f4eeea3c52e568afe7af0cb6d22e9eba322f25189228e2d96485c8f1d485112464736f6c63430008170033";
1957
18
  //# sourceMappingURL=EntryPointSimulations.js.map