@pimlico/alto 0.0.0-main.20240612T111639 → 0.0.0-prool.20240609T212210

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