@pimlico/alto 0.0.0-main.20250110T130024 → 0.0.0-main.20250110T130132

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 (37) hide show
  1. package/esm/cli/config/options.js +1 -1
  2. package/esm/cli/config/options.js.map +1 -1
  3. package/esm/cli/deploySimulationsContract.js +6 -9
  4. package/esm/cli/deploySimulationsContract.js.map +1 -1
  5. package/esm/rpc/estimation/gasEstimationsV07.d.ts +2 -2
  6. package/esm/rpc/estimation/gasEstimationsV07.js +42 -41
  7. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
  8. package/esm/rpc/rpcHandler.d.ts +1 -1
  9. package/esm/rpc/rpcHandler.js +3 -3
  10. package/esm/rpc/rpcHandler.js.map +1 -1
  11. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +154 -1
  12. package/esm/types/contracts/EntryPointSimulationsV7.js +1619 -1914
  13. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -1
  14. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -2
  15. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -2
  16. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  17. package/esm/utils/validation.js +1 -4
  18. package/esm/utils/validation.js.map +1 -1
  19. package/lib/cli/config/options.js +1 -1
  20. package/lib/cli/config/options.js.map +1 -1
  21. package/lib/cli/deploySimulationsContract.js +4 -7
  22. package/lib/cli/deploySimulationsContract.js.map +1 -1
  23. package/lib/rpc/estimation/gasEstimationsV07.d.ts +2 -2
  24. package/lib/rpc/estimation/gasEstimationsV07.js +42 -41
  25. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
  26. package/lib/rpc/rpcHandler.d.ts +1 -1
  27. package/lib/rpc/rpcHandler.js +3 -3
  28. package/lib/rpc/rpcHandler.js.map +1 -1
  29. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +154 -1
  30. package/lib/types/contracts/EntryPointSimulationsV7.js +1620 -1915
  31. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -1
  32. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -2
  33. package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -3
  34. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  35. package/lib/utils/validation.js +1 -4
  36. package/lib/utils/validation.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,2001 +1,1802 @@
1
1
  export const EntryPointV07SimulationsAbi = [
2
+ { type: "constructor", inputs: [], stateMutability: "nonpayable" },
3
+ { type: "receive", stateMutability: "payable" },
2
4
  {
3
- "type": "constructor",
4
- "inputs": [],
5
- "stateMutability": "nonpayable"
6
- },
7
- {
8
- "type": "receive",
9
- "stateMutability": "payable"
10
- },
11
- {
12
- "type": "function",
13
- "name": "_accountValidation",
14
- "inputs": [
15
- {
16
- "name": "opIndex",
17
- "type": "uint256",
18
- "internalType": "uint256"
19
- },
5
+ type: "function",
6
+ name: "_accountValidation",
7
+ inputs: [
8
+ { name: "opIndex", type: "uint256", internalType: "uint256" },
20
9
  {
21
- "name": "userOp",
22
- "type": "tuple",
23
- "internalType": "struct PackedUserOperation",
24
- "components": [
25
- {
26
- "name": "sender",
27
- "type": "address",
28
- "internalType": "address"
29
- },
30
- {
31
- "name": "nonce",
32
- "type": "uint256",
33
- "internalType": "uint256"
34
- },
10
+ name: "userOp",
11
+ type: "tuple",
12
+ internalType: "struct PackedUserOperation",
13
+ components: [
35
14
  {
36
- "name": "initCode",
37
- "type": "bytes",
38
- "internalType": "bytes"
15
+ name: "sender",
16
+ type: "address",
17
+ internalType: "address"
39
18
  },
19
+ { name: "nonce", type: "uint256", internalType: "uint256" },
20
+ { name: "initCode", type: "bytes", internalType: "bytes" },
21
+ { name: "callData", type: "bytes", internalType: "bytes" },
40
22
  {
41
- "name": "callData",
42
- "type": "bytes",
43
- "internalType": "bytes"
23
+ name: "accountGasLimits",
24
+ type: "bytes32",
25
+ internalType: "bytes32"
44
26
  },
45
27
  {
46
- "name": "accountGasLimits",
47
- "type": "bytes32",
48
- "internalType": "bytes32"
28
+ name: "preVerificationGas",
29
+ type: "uint256",
30
+ internalType: "uint256"
49
31
  },
50
32
  {
51
- "name": "preVerificationGas",
52
- "type": "uint256",
53
- "internalType": "uint256"
33
+ name: "gasFees",
34
+ type: "bytes32",
35
+ internalType: "bytes32"
54
36
  },
55
37
  {
56
- "name": "gasFees",
57
- "type": "bytes32",
58
- "internalType": "bytes32"
38
+ name: "paymasterAndData",
39
+ type: "bytes",
40
+ internalType: "bytes"
59
41
  },
60
- {
61
- "name": "paymasterAndData",
62
- "type": "bytes",
63
- "internalType": "bytes"
64
- },
65
- {
66
- "name": "signature",
67
- "type": "bytes",
68
- "internalType": "bytes"
69
- }
42
+ { name: "signature", type: "bytes", internalType: "bytes" }
70
43
  ]
71
44
  },
72
45
  {
73
- "name": "outOpInfo",
74
- "type": "tuple",
75
- "internalType": "struct EntryPoint.UserOpInfo",
76
- "components": [
46
+ name: "outOpInfo",
47
+ type: "tuple",
48
+ internalType: "struct EntryPoint.UserOpInfo",
49
+ components: [
77
50
  {
78
- "name": "mUserOp",
79
- "type": "tuple",
80
- "internalType": "struct EntryPoint.MemoryUserOp",
81
- "components": [
51
+ name: "mUserOp",
52
+ type: "tuple",
53
+ internalType: "struct EntryPoint.MemoryUserOp",
54
+ components: [
82
55
  {
83
- "name": "sender",
84
- "type": "address",
85
- "internalType": "address"
56
+ name: "sender",
57
+ type: "address",
58
+ internalType: "address"
86
59
  },
87
60
  {
88
- "name": "nonce",
89
- "type": "uint256",
90
- "internalType": "uint256"
61
+ name: "nonce",
62
+ type: "uint256",
63
+ internalType: "uint256"
91
64
  },
92
65
  {
93
- "name": "verificationGasLimit",
94
- "type": "uint256",
95
- "internalType": "uint256"
66
+ name: "verificationGasLimit",
67
+ type: "uint256",
68
+ internalType: "uint256"
96
69
  },
97
70
  {
98
- "name": "callGasLimit",
99
- "type": "uint256",
100
- "internalType": "uint256"
71
+ name: "callGasLimit",
72
+ type: "uint256",
73
+ internalType: "uint256"
101
74
  },
102
75
  {
103
- "name": "paymasterVerificationGasLimit",
104
- "type": "uint256",
105
- "internalType": "uint256"
76
+ name: "paymasterVerificationGasLimit",
77
+ type: "uint256",
78
+ internalType: "uint256"
106
79
  },
107
80
  {
108
- "name": "paymasterPostOpGasLimit",
109
- "type": "uint256",
110
- "internalType": "uint256"
81
+ name: "paymasterPostOpGasLimit",
82
+ type: "uint256",
83
+ internalType: "uint256"
111
84
  },
112
85
  {
113
- "name": "preVerificationGas",
114
- "type": "uint256",
115
- "internalType": "uint256"
86
+ name: "preVerificationGas",
87
+ type: "uint256",
88
+ internalType: "uint256"
116
89
  },
117
90
  {
118
- "name": "paymaster",
119
- "type": "address",
120
- "internalType": "address"
91
+ name: "paymaster",
92
+ type: "address",
93
+ internalType: "address"
121
94
  },
122
95
  {
123
- "name": "maxFeePerGas",
124
- "type": "uint256",
125
- "internalType": "uint256"
96
+ name: "maxFeePerGas",
97
+ type: "uint256",
98
+ internalType: "uint256"
126
99
  },
127
100
  {
128
- "name": "maxPriorityFeePerGas",
129
- "type": "uint256",
130
- "internalType": "uint256"
101
+ name: "maxPriorityFeePerGas",
102
+ type: "uint256",
103
+ internalType: "uint256"
131
104
  }
132
105
  ]
133
106
  },
134
107
  {
135
- "name": "userOpHash",
136
- "type": "bytes32",
137
- "internalType": "bytes32"
108
+ name: "userOpHash",
109
+ type: "bytes32",
110
+ internalType: "bytes32"
138
111
  },
139
112
  {
140
- "name": "prefund",
141
- "type": "uint256",
142
- "internalType": "uint256"
113
+ name: "prefund",
114
+ type: "uint256",
115
+ internalType: "uint256"
143
116
  },
144
117
  {
145
- "name": "contextOffset",
146
- "type": "uint256",
147
- "internalType": "uint256"
118
+ name: "contextOffset",
119
+ type: "uint256",
120
+ internalType: "uint256"
148
121
  },
149
122
  {
150
- "name": "preOpGas",
151
- "type": "uint256",
152
- "internalType": "uint256"
123
+ name: "preOpGas",
124
+ type: "uint256",
125
+ internalType: "uint256"
153
126
  }
154
127
  ]
155
128
  }
156
129
  ],
157
- "outputs": [
130
+ outputs: [
158
131
  {
159
- "name": "validationData",
160
- "type": "uint256",
161
- "internalType": "uint256"
132
+ name: "validationData",
133
+ type: "uint256",
134
+ internalType: "uint256"
162
135
  },
163
136
  {
164
- "name": "paymasterValidationData",
165
- "type": "uint256",
166
- "internalType": "uint256"
137
+ name: "paymasterValidationData",
138
+ type: "uint256",
139
+ internalType: "uint256"
167
140
  },
168
141
  {
169
- "name": "paymasterVerificationGasLimit",
170
- "type": "uint256",
171
- "internalType": "uint256"
142
+ name: "paymasterVerificationGasLimit",
143
+ type: "uint256",
144
+ internalType: "uint256"
172
145
  }
173
146
  ],
174
- "stateMutability": "nonpayable"
147
+ stateMutability: "nonpayable"
175
148
  },
176
149
  {
177
- "type": "function",
178
- "name": "_paymasterValidation",
179
- "inputs": [
150
+ type: "function",
151
+ name: "_paymasterValidation",
152
+ inputs: [
153
+ { name: "opIndex", type: "uint256", internalType: "uint256" },
180
154
  {
181
- "name": "opIndex",
182
- "type": "uint256",
183
- "internalType": "uint256"
184
- },
185
- {
186
- "name": "userOp",
187
- "type": "tuple",
188
- "internalType": "struct PackedUserOperation",
189
- "components": [
190
- {
191
- "name": "sender",
192
- "type": "address",
193
- "internalType": "address"
194
- },
195
- {
196
- "name": "nonce",
197
- "type": "uint256",
198
- "internalType": "uint256"
199
- },
200
- {
201
- "name": "initCode",
202
- "type": "bytes",
203
- "internalType": "bytes"
204
- },
155
+ name: "userOp",
156
+ type: "tuple",
157
+ internalType: "struct PackedUserOperation",
158
+ components: [
205
159
  {
206
- "name": "callData",
207
- "type": "bytes",
208
- "internalType": "bytes"
160
+ name: "sender",
161
+ type: "address",
162
+ internalType: "address"
209
163
  },
164
+ { name: "nonce", type: "uint256", internalType: "uint256" },
165
+ { name: "initCode", type: "bytes", internalType: "bytes" },
166
+ { name: "callData", type: "bytes", internalType: "bytes" },
210
167
  {
211
- "name": "accountGasLimits",
212
- "type": "bytes32",
213
- "internalType": "bytes32"
168
+ name: "accountGasLimits",
169
+ type: "bytes32",
170
+ internalType: "bytes32"
214
171
  },
215
172
  {
216
- "name": "preVerificationGas",
217
- "type": "uint256",
218
- "internalType": "uint256"
173
+ name: "preVerificationGas",
174
+ type: "uint256",
175
+ internalType: "uint256"
219
176
  },
220
177
  {
221
- "name": "gasFees",
222
- "type": "bytes32",
223
- "internalType": "bytes32"
178
+ name: "gasFees",
179
+ type: "bytes32",
180
+ internalType: "bytes32"
224
181
  },
225
182
  {
226
- "name": "paymasterAndData",
227
- "type": "bytes",
228
- "internalType": "bytes"
183
+ name: "paymasterAndData",
184
+ type: "bytes",
185
+ internalType: "bytes"
229
186
  },
230
- {
231
- "name": "signature",
232
- "type": "bytes",
233
- "internalType": "bytes"
234
- }
187
+ { name: "signature", type: "bytes", internalType: "bytes" }
235
188
  ]
236
189
  },
237
190
  {
238
- "name": "outOpInfo",
239
- "type": "tuple",
240
- "internalType": "struct EntryPoint.UserOpInfo",
241
- "components": [
191
+ name: "outOpInfo",
192
+ type: "tuple",
193
+ internalType: "struct EntryPoint.UserOpInfo",
194
+ components: [
242
195
  {
243
- "name": "mUserOp",
244
- "type": "tuple",
245
- "internalType": "struct EntryPoint.MemoryUserOp",
246
- "components": [
196
+ name: "mUserOp",
197
+ type: "tuple",
198
+ internalType: "struct EntryPoint.MemoryUserOp",
199
+ components: [
247
200
  {
248
- "name": "sender",
249
- "type": "address",
250
- "internalType": "address"
201
+ name: "sender",
202
+ type: "address",
203
+ internalType: "address"
251
204
  },
252
205
  {
253
- "name": "nonce",
254
- "type": "uint256",
255
- "internalType": "uint256"
206
+ name: "nonce",
207
+ type: "uint256",
208
+ internalType: "uint256"
256
209
  },
257
210
  {
258
- "name": "verificationGasLimit",
259
- "type": "uint256",
260
- "internalType": "uint256"
211
+ name: "verificationGasLimit",
212
+ type: "uint256",
213
+ internalType: "uint256"
261
214
  },
262
215
  {
263
- "name": "callGasLimit",
264
- "type": "uint256",
265
- "internalType": "uint256"
216
+ name: "callGasLimit",
217
+ type: "uint256",
218
+ internalType: "uint256"
266
219
  },
267
220
  {
268
- "name": "paymasterVerificationGasLimit",
269
- "type": "uint256",
270
- "internalType": "uint256"
221
+ name: "paymasterVerificationGasLimit",
222
+ type: "uint256",
223
+ internalType: "uint256"
271
224
  },
272
225
  {
273
- "name": "paymasterPostOpGasLimit",
274
- "type": "uint256",
275
- "internalType": "uint256"
226
+ name: "paymasterPostOpGasLimit",
227
+ type: "uint256",
228
+ internalType: "uint256"
276
229
  },
277
230
  {
278
- "name": "preVerificationGas",
279
- "type": "uint256",
280
- "internalType": "uint256"
231
+ name: "preVerificationGas",
232
+ type: "uint256",
233
+ internalType: "uint256"
281
234
  },
282
235
  {
283
- "name": "paymaster",
284
- "type": "address",
285
- "internalType": "address"
236
+ name: "paymaster",
237
+ type: "address",
238
+ internalType: "address"
286
239
  },
287
240
  {
288
- "name": "maxFeePerGas",
289
- "type": "uint256",
290
- "internalType": "uint256"
241
+ name: "maxFeePerGas",
242
+ type: "uint256",
243
+ internalType: "uint256"
291
244
  },
292
245
  {
293
- "name": "maxPriorityFeePerGas",
294
- "type": "uint256",
295
- "internalType": "uint256"
246
+ name: "maxPriorityFeePerGas",
247
+ type: "uint256",
248
+ internalType: "uint256"
296
249
  }
297
250
  ]
298
251
  },
299
252
  {
300
- "name": "userOpHash",
301
- "type": "bytes32",
302
- "internalType": "bytes32"
253
+ name: "userOpHash",
254
+ type: "bytes32",
255
+ internalType: "bytes32"
303
256
  },
304
257
  {
305
- "name": "prefund",
306
- "type": "uint256",
307
- "internalType": "uint256"
258
+ name: "prefund",
259
+ type: "uint256",
260
+ internalType: "uint256"
308
261
  },
309
262
  {
310
- "name": "contextOffset",
311
- "type": "uint256",
312
- "internalType": "uint256"
263
+ name: "contextOffset",
264
+ type: "uint256",
265
+ internalType: "uint256"
313
266
  },
314
267
  {
315
- "name": "preOpGas",
316
- "type": "uint256",
317
- "internalType": "uint256"
268
+ name: "preOpGas",
269
+ type: "uint256",
270
+ internalType: "uint256"
318
271
  }
319
272
  ]
320
273
  }
321
274
  ],
322
- "outputs": [
275
+ outputs: [
323
276
  {
324
- "name": "validationData",
325
- "type": "uint256",
326
- "internalType": "uint256"
277
+ name: "validationData",
278
+ type: "uint256",
279
+ internalType: "uint256"
327
280
  },
328
281
  {
329
- "name": "paymasterValidationData",
330
- "type": "uint256",
331
- "internalType": "uint256"
282
+ name: "paymasterValidationData",
283
+ type: "uint256",
284
+ internalType: "uint256"
332
285
  },
333
286
  {
334
- "name": "paymasterVerificationGasLimit",
335
- "type": "uint256",
336
- "internalType": "uint256"
287
+ name: "paymasterVerificationGasLimit",
288
+ type: "uint256",
289
+ internalType: "uint256"
337
290
  }
338
291
  ],
339
- "stateMutability": "nonpayable"
292
+ stateMutability: "nonpayable"
340
293
  },
341
294
  {
342
- "type": "function",
343
- "name": "_validatePrepayment",
344
- "inputs": [
295
+ type: "function",
296
+ name: "_validatePrepayment",
297
+ inputs: [
298
+ { name: "opIndex", type: "uint256", internalType: "uint256" },
345
299
  {
346
- "name": "opIndex",
347
- "type": "uint256",
348
- "internalType": "uint256"
349
- },
350
- {
351
- "name": "userOp",
352
- "type": "tuple",
353
- "internalType": "struct PackedUserOperation",
354
- "components": [
300
+ name: "userOp",
301
+ type: "tuple",
302
+ internalType: "struct PackedUserOperation",
303
+ components: [
355
304
  {
356
- "name": "sender",
357
- "type": "address",
358
- "internalType": "address"
305
+ name: "sender",
306
+ type: "address",
307
+ internalType: "address"
359
308
  },
309
+ { name: "nonce", type: "uint256", internalType: "uint256" },
310
+ { name: "initCode", type: "bytes", internalType: "bytes" },
311
+ { name: "callData", type: "bytes", internalType: "bytes" },
360
312
  {
361
- "name": "nonce",
362
- "type": "uint256",
363
- "internalType": "uint256"
313
+ name: "accountGasLimits",
314
+ type: "bytes32",
315
+ internalType: "bytes32"
364
316
  },
365
317
  {
366
- "name": "initCode",
367
- "type": "bytes",
368
- "internalType": "bytes"
318
+ name: "preVerificationGas",
319
+ type: "uint256",
320
+ internalType: "uint256"
369
321
  },
370
322
  {
371
- "name": "callData",
372
- "type": "bytes",
373
- "internalType": "bytes"
323
+ name: "gasFees",
324
+ type: "bytes32",
325
+ internalType: "bytes32"
374
326
  },
375
327
  {
376
- "name": "accountGasLimits",
377
- "type": "bytes32",
378
- "internalType": "bytes32"
328
+ name: "paymasterAndData",
329
+ type: "bytes",
330
+ internalType: "bytes"
379
331
  },
380
- {
381
- "name": "preVerificationGas",
382
- "type": "uint256",
383
- "internalType": "uint256"
384
- },
385
- {
386
- "name": "gasFees",
387
- "type": "bytes32",
388
- "internalType": "bytes32"
389
- },
390
- {
391
- "name": "paymasterAndData",
392
- "type": "bytes",
393
- "internalType": "bytes"
394
- },
395
- {
396
- "name": "signature",
397
- "type": "bytes",
398
- "internalType": "bytes"
399
- }
332
+ { name: "signature", type: "bytes", internalType: "bytes" }
400
333
  ]
401
334
  },
402
335
  {
403
- "name": "outOpInfo",
404
- "type": "tuple",
405
- "internalType": "struct EntryPoint.UserOpInfo",
406
- "components": [
336
+ name: "outOpInfo",
337
+ type: "tuple",
338
+ internalType: "struct EntryPoint.UserOpInfo",
339
+ components: [
407
340
  {
408
- "name": "mUserOp",
409
- "type": "tuple",
410
- "internalType": "struct EntryPoint.MemoryUserOp",
411
- "components": [
341
+ name: "mUserOp",
342
+ type: "tuple",
343
+ internalType: "struct EntryPoint.MemoryUserOp",
344
+ components: [
412
345
  {
413
- "name": "sender",
414
- "type": "address",
415
- "internalType": "address"
346
+ name: "sender",
347
+ type: "address",
348
+ internalType: "address"
416
349
  },
417
350
  {
418
- "name": "nonce",
419
- "type": "uint256",
420
- "internalType": "uint256"
351
+ name: "nonce",
352
+ type: "uint256",
353
+ internalType: "uint256"
421
354
  },
422
355
  {
423
- "name": "verificationGasLimit",
424
- "type": "uint256",
425
- "internalType": "uint256"
356
+ name: "verificationGasLimit",
357
+ type: "uint256",
358
+ internalType: "uint256"
426
359
  },
427
360
  {
428
- "name": "callGasLimit",
429
- "type": "uint256",
430
- "internalType": "uint256"
361
+ name: "callGasLimit",
362
+ type: "uint256",
363
+ internalType: "uint256"
431
364
  },
432
365
  {
433
- "name": "paymasterVerificationGasLimit",
434
- "type": "uint256",
435
- "internalType": "uint256"
366
+ name: "paymasterVerificationGasLimit",
367
+ type: "uint256",
368
+ internalType: "uint256"
436
369
  },
437
370
  {
438
- "name": "paymasterPostOpGasLimit",
439
- "type": "uint256",
440
- "internalType": "uint256"
371
+ name: "paymasterPostOpGasLimit",
372
+ type: "uint256",
373
+ internalType: "uint256"
441
374
  },
442
375
  {
443
- "name": "preVerificationGas",
444
- "type": "uint256",
445
- "internalType": "uint256"
376
+ name: "preVerificationGas",
377
+ type: "uint256",
378
+ internalType: "uint256"
446
379
  },
447
380
  {
448
- "name": "paymaster",
449
- "type": "address",
450
- "internalType": "address"
381
+ name: "paymaster",
382
+ type: "address",
383
+ internalType: "address"
451
384
  },
452
385
  {
453
- "name": "maxFeePerGas",
454
- "type": "uint256",
455
- "internalType": "uint256"
386
+ name: "maxFeePerGas",
387
+ type: "uint256",
388
+ internalType: "uint256"
456
389
  },
457
390
  {
458
- "name": "maxPriorityFeePerGas",
459
- "type": "uint256",
460
- "internalType": "uint256"
391
+ name: "maxPriorityFeePerGas",
392
+ type: "uint256",
393
+ internalType: "uint256"
461
394
  }
462
395
  ]
463
396
  },
464
397
  {
465
- "name": "userOpHash",
466
- "type": "bytes32",
467
- "internalType": "bytes32"
398
+ name: "userOpHash",
399
+ type: "bytes32",
400
+ internalType: "bytes32"
468
401
  },
469
402
  {
470
- "name": "prefund",
471
- "type": "uint256",
472
- "internalType": "uint256"
403
+ name: "prefund",
404
+ type: "uint256",
405
+ internalType: "uint256"
473
406
  },
474
407
  {
475
- "name": "contextOffset",
476
- "type": "uint256",
477
- "internalType": "uint256"
408
+ name: "contextOffset",
409
+ type: "uint256",
410
+ internalType: "uint256"
478
411
  },
479
412
  {
480
- "name": "preOpGas",
481
- "type": "uint256",
482
- "internalType": "uint256"
413
+ name: "preOpGas",
414
+ type: "uint256",
415
+ internalType: "uint256"
483
416
  }
484
417
  ]
485
418
  }
486
419
  ],
487
- "outputs": [
420
+ outputs: [
488
421
  {
489
- "name": "validationData",
490
- "type": "uint256",
491
- "internalType": "uint256"
422
+ name: "validationData",
423
+ type: "uint256",
424
+ internalType: "uint256"
492
425
  },
493
426
  {
494
- "name": "paymasterValidationData",
495
- "type": "uint256",
496
- "internalType": "uint256"
427
+ name: "paymasterValidationData",
428
+ type: "uint256",
429
+ internalType: "uint256"
497
430
  },
498
431
  {
499
- "name": "paymasterVerificationGasLimit",
500
- "type": "uint256",
501
- "internalType": "uint256"
432
+ name: "paymasterVerificationGasLimit",
433
+ type: "uint256",
434
+ internalType: "uint256"
502
435
  }
503
436
  ],
504
- "stateMutability": "nonpayable"
437
+ stateMutability: "nonpayable"
505
438
  },
506
439
  {
507
- "type": "function",
508
- "name": "addStake",
509
- "inputs": [
510
- {
511
- "name": "unstakeDelaySec",
512
- "type": "uint32",
513
- "internalType": "uint32"
514
- }
440
+ type: "function",
441
+ name: "addStake",
442
+ inputs: [
443
+ { name: "unstakeDelaySec", type: "uint32", internalType: "uint32" }
515
444
  ],
516
- "outputs": [],
517
- "stateMutability": "payable"
445
+ outputs: [],
446
+ stateMutability: "payable"
518
447
  },
519
448
  {
520
- "type": "function",
521
- "name": "balanceOf",
522
- "inputs": [
523
- {
524
- "name": "account",
525
- "type": "address",
526
- "internalType": "address"
527
- }
528
- ],
529
- "outputs": [
530
- {
531
- "name": "",
532
- "type": "uint256",
533
- "internalType": "uint256"
534
- }
535
- ],
536
- "stateMutability": "view"
449
+ type: "function",
450
+ name: "balanceOf",
451
+ inputs: [{ name: "account", type: "address", internalType: "address" }],
452
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
453
+ stateMutability: "view"
537
454
  },
538
455
  {
539
- "type": "function",
540
- "name": "binarySearchCallGasLimit",
541
- "inputs": [
456
+ type: "function",
457
+ name: "binarySearchGasLimit",
458
+ inputs: [
542
459
  {
543
- "name": "queuedUserOps",
544
- "type": "tuple[]",
545
- "internalType": "struct SimulationArgs[]",
546
- "components": [
460
+ name: "queuedUserOps",
461
+ type: "tuple[]",
462
+ internalType: "struct SimulationArgs[]",
463
+ components: [
547
464
  {
548
- "name": "op",
549
- "type": "tuple",
550
- "internalType": "struct PackedUserOperation",
551
- "components": [
465
+ name: "op",
466
+ type: "tuple",
467
+ internalType: "struct PackedUserOperation",
468
+ components: [
552
469
  {
553
- "name": "sender",
554
- "type": "address",
555
- "internalType": "address"
470
+ name: "sender",
471
+ type: "address",
472
+ internalType: "address"
556
473
  },
557
474
  {
558
- "name": "nonce",
559
- "type": "uint256",
560
- "internalType": "uint256"
475
+ name: "nonce",
476
+ type: "uint256",
477
+ internalType: "uint256"
561
478
  },
562
479
  {
563
- "name": "initCode",
564
- "type": "bytes",
565
- "internalType": "bytes"
480
+ name: "initCode",
481
+ type: "bytes",
482
+ internalType: "bytes"
566
483
  },
567
484
  {
568
- "name": "callData",
569
- "type": "bytes",
570
- "internalType": "bytes"
485
+ name: "callData",
486
+ type: "bytes",
487
+ internalType: "bytes"
571
488
  },
572
489
  {
573
- "name": "accountGasLimits",
574
- "type": "bytes32",
575
- "internalType": "bytes32"
490
+ name: "accountGasLimits",
491
+ type: "bytes32",
492
+ internalType: "bytes32"
576
493
  },
577
494
  {
578
- "name": "preVerificationGas",
579
- "type": "uint256",
580
- "internalType": "uint256"
495
+ name: "preVerificationGas",
496
+ type: "uint256",
497
+ internalType: "uint256"
581
498
  },
582
499
  {
583
- "name": "gasFees",
584
- "type": "bytes32",
585
- "internalType": "bytes32"
500
+ name: "gasFees",
501
+ type: "bytes32",
502
+ internalType: "bytes32"
586
503
  },
587
504
  {
588
- "name": "paymasterAndData",
589
- "type": "bytes",
590
- "internalType": "bytes"
505
+ name: "paymasterAndData",
506
+ type: "bytes",
507
+ internalType: "bytes"
591
508
  },
592
509
  {
593
- "name": "signature",
594
- "type": "bytes",
595
- "internalType": "bytes"
510
+ name: "signature",
511
+ type: "bytes",
512
+ internalType: "bytes"
596
513
  }
597
514
  ]
598
515
  },
599
516
  {
600
- "name": "target",
601
- "type": "address",
602
- "internalType": "address"
517
+ name: "target",
518
+ type: "address",
519
+ internalType: "address"
603
520
  },
604
521
  {
605
- "name": "targetCallData",
606
- "type": "bytes",
607
- "internalType": "bytes"
522
+ name: "targetCallData",
523
+ type: "bytes",
524
+ internalType: "bytes"
608
525
  }
609
526
  ]
610
527
  },
611
528
  {
612
- "name": "targetUserOp",
613
- "type": "tuple",
614
- "internalType": "struct SimulationArgs",
615
- "components": [
529
+ name: "targetUserOp",
530
+ type: "tuple",
531
+ internalType: "struct SimulationArgs",
532
+ components: [
616
533
  {
617
- "name": "op",
618
- "type": "tuple",
619
- "internalType": "struct PackedUserOperation",
620
- "components": [
534
+ name: "op",
535
+ type: "tuple",
536
+ internalType: "struct PackedUserOperation",
537
+ components: [
621
538
  {
622
- "name": "sender",
623
- "type": "address",
624
- "internalType": "address"
539
+ name: "sender",
540
+ type: "address",
541
+ internalType: "address"
625
542
  },
626
543
  {
627
- "name": "nonce",
628
- "type": "uint256",
629
- "internalType": "uint256"
544
+ name: "nonce",
545
+ type: "uint256",
546
+ internalType: "uint256"
630
547
  },
631
548
  {
632
- "name": "initCode",
633
- "type": "bytes",
634
- "internalType": "bytes"
549
+ name: "initCode",
550
+ type: "bytes",
551
+ internalType: "bytes"
635
552
  },
636
553
  {
637
- "name": "callData",
638
- "type": "bytes",
639
- "internalType": "bytes"
554
+ name: "callData",
555
+ type: "bytes",
556
+ internalType: "bytes"
640
557
  },
641
558
  {
642
- "name": "accountGasLimits",
643
- "type": "bytes32",
644
- "internalType": "bytes32"
559
+ name: "accountGasLimits",
560
+ type: "bytes32",
561
+ internalType: "bytes32"
645
562
  },
646
563
  {
647
- "name": "preVerificationGas",
648
- "type": "uint256",
649
- "internalType": "uint256"
564
+ name: "preVerificationGas",
565
+ type: "uint256",
566
+ internalType: "uint256"
650
567
  },
651
568
  {
652
- "name": "gasFees",
653
- "type": "bytes32",
654
- "internalType": "bytes32"
569
+ name: "gasFees",
570
+ type: "bytes32",
571
+ internalType: "bytes32"
655
572
  },
656
573
  {
657
- "name": "paymasterAndData",
658
- "type": "bytes",
659
- "internalType": "bytes"
574
+ name: "paymasterAndData",
575
+ type: "bytes",
576
+ internalType: "bytes"
660
577
  },
661
578
  {
662
- "name": "signature",
663
- "type": "bytes",
664
- "internalType": "bytes"
579
+ name: "signature",
580
+ type: "bytes",
581
+ internalType: "bytes"
665
582
  }
666
583
  ]
667
584
  },
668
585
  {
669
- "name": "target",
670
- "type": "address",
671
- "internalType": "address"
586
+ name: "target",
587
+ type: "address",
588
+ internalType: "address"
672
589
  },
673
590
  {
674
- "name": "targetCallData",
675
- "type": "bytes",
676
- "internalType": "bytes"
591
+ name: "targetCallData",
592
+ type: "bytes",
593
+ internalType: "bytes"
677
594
  }
678
595
  ]
679
596
  },
597
+ { name: "entryPoint", type: "address", internalType: "address" },
598
+ { name: "initialMinGas", type: "uint256", internalType: "uint256" },
680
599
  {
681
- "name": "entryPoint",
682
- "type": "address",
683
- "internalType": "address"
684
- },
685
- {
686
- "name": "initialMinGas",
687
- "type": "uint256",
688
- "internalType": "uint256"
689
- },
690
- {
691
- "name": "toleranceDelta",
692
- "type": "uint256",
693
- "internalType": "uint256"
600
+ name: "toleranceDelta",
601
+ type: "uint256",
602
+ internalType: "uint256"
694
603
  },
695
- {
696
- "name": "gasAllowance",
697
- "type": "uint256",
698
- "internalType": "uint256"
699
- }
604
+ { name: "gasAllowance", type: "uint256", internalType: "uint256" },
605
+ { name: "payload", type: "bytes", internalType: "bytes" }
700
606
  ],
701
- "outputs": [
607
+ outputs: [
702
608
  {
703
- "name": "",
704
- "type": "tuple",
705
- "internalType": "struct IEntryPointSimulations.TargetCallResult",
706
- "components": [
609
+ name: "",
610
+ type: "tuple",
611
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
612
+ components: [
707
613
  {
708
- "name": "gasUsed",
709
- "type": "uint256",
710
- "internalType": "uint256"
614
+ name: "gasUsed",
615
+ type: "uint256",
616
+ internalType: "uint256"
711
617
  },
712
- {
713
- "name": "success",
714
- "type": "bool",
715
- "internalType": "bool"
716
- },
717
- {
718
- "name": "returnData",
719
- "type": "bytes",
720
- "internalType": "bytes"
721
- }
618
+ { name: "success", type: "bool", internalType: "bool" },
619
+ { name: "returnData", type: "bytes", internalType: "bytes" }
722
620
  ]
723
621
  }
724
622
  ],
725
- "stateMutability": "nonpayable"
623
+ stateMutability: "nonpayable"
726
624
  },
727
625
  {
728
- "type": "function",
729
- "name": "binarySearchPaymasterVerificationGasLimit",
730
- "inputs": [
626
+ type: "function",
627
+ name: "binarySearchPaymasterVerificationGasLimit",
628
+ inputs: [
731
629
  {
732
- "name": "queuedUserOps",
733
- "type": "tuple[]",
734
- "internalType": "struct SimulationArgs[]",
735
- "components": [
630
+ name: "queuedUserOps",
631
+ type: "tuple[]",
632
+ internalType: "struct SimulationArgs[]",
633
+ components: [
736
634
  {
737
- "name": "op",
738
- "type": "tuple",
739
- "internalType": "struct PackedUserOperation",
740
- "components": [
635
+ name: "op",
636
+ type: "tuple",
637
+ internalType: "struct PackedUserOperation",
638
+ components: [
741
639
  {
742
- "name": "sender",
743
- "type": "address",
744
- "internalType": "address"
640
+ name: "sender",
641
+ type: "address",
642
+ internalType: "address"
745
643
  },
746
644
  {
747
- "name": "nonce",
748
- "type": "uint256",
749
- "internalType": "uint256"
645
+ name: "nonce",
646
+ type: "uint256",
647
+ internalType: "uint256"
750
648
  },
751
649
  {
752
- "name": "initCode",
753
- "type": "bytes",
754
- "internalType": "bytes"
650
+ name: "initCode",
651
+ type: "bytes",
652
+ internalType: "bytes"
755
653
  },
756
654
  {
757
- "name": "callData",
758
- "type": "bytes",
759
- "internalType": "bytes"
655
+ name: "callData",
656
+ type: "bytes",
657
+ internalType: "bytes"
760
658
  },
761
659
  {
762
- "name": "accountGasLimits",
763
- "type": "bytes32",
764
- "internalType": "bytes32"
660
+ name: "accountGasLimits",
661
+ type: "bytes32",
662
+ internalType: "bytes32"
765
663
  },
766
664
  {
767
- "name": "preVerificationGas",
768
- "type": "uint256",
769
- "internalType": "uint256"
665
+ name: "preVerificationGas",
666
+ type: "uint256",
667
+ internalType: "uint256"
770
668
  },
771
669
  {
772
- "name": "gasFees",
773
- "type": "bytes32",
774
- "internalType": "bytes32"
670
+ name: "gasFees",
671
+ type: "bytes32",
672
+ internalType: "bytes32"
775
673
  },
776
674
  {
777
- "name": "paymasterAndData",
778
- "type": "bytes",
779
- "internalType": "bytes"
675
+ name: "paymasterAndData",
676
+ type: "bytes",
677
+ internalType: "bytes"
780
678
  },
781
679
  {
782
- "name": "signature",
783
- "type": "bytes",
784
- "internalType": "bytes"
680
+ name: "signature",
681
+ type: "bytes",
682
+ internalType: "bytes"
785
683
  }
786
684
  ]
787
685
  },
788
686
  {
789
- "name": "target",
790
- "type": "address",
791
- "internalType": "address"
687
+ name: "target",
688
+ type: "address",
689
+ internalType: "address"
792
690
  },
793
691
  {
794
- "name": "targetCallData",
795
- "type": "bytes",
796
- "internalType": "bytes"
692
+ name: "targetCallData",
693
+ type: "bytes",
694
+ internalType: "bytes"
797
695
  }
798
696
  ]
799
697
  },
800
698
  {
801
- "name": "targetUserOp",
802
- "type": "tuple",
803
- "internalType": "struct SimulationArgs",
804
- "components": [
699
+ name: "targetUserOp",
700
+ type: "tuple",
701
+ internalType: "struct SimulationArgs",
702
+ components: [
805
703
  {
806
- "name": "op",
807
- "type": "tuple",
808
- "internalType": "struct PackedUserOperation",
809
- "components": [
704
+ name: "op",
705
+ type: "tuple",
706
+ internalType: "struct PackedUserOperation",
707
+ components: [
810
708
  {
811
- "name": "sender",
812
- "type": "address",
813
- "internalType": "address"
709
+ name: "sender",
710
+ type: "address",
711
+ internalType: "address"
814
712
  },
815
713
  {
816
- "name": "nonce",
817
- "type": "uint256",
818
- "internalType": "uint256"
714
+ name: "nonce",
715
+ type: "uint256",
716
+ internalType: "uint256"
819
717
  },
820
718
  {
821
- "name": "initCode",
822
- "type": "bytes",
823
- "internalType": "bytes"
719
+ name: "initCode",
720
+ type: "bytes",
721
+ internalType: "bytes"
824
722
  },
825
723
  {
826
- "name": "callData",
827
- "type": "bytes",
828
- "internalType": "bytes"
724
+ name: "callData",
725
+ type: "bytes",
726
+ internalType: "bytes"
829
727
  },
830
728
  {
831
- "name": "accountGasLimits",
832
- "type": "bytes32",
833
- "internalType": "bytes32"
729
+ name: "accountGasLimits",
730
+ type: "bytes32",
731
+ internalType: "bytes32"
834
732
  },
835
733
  {
836
- "name": "preVerificationGas",
837
- "type": "uint256",
838
- "internalType": "uint256"
734
+ name: "preVerificationGas",
735
+ type: "uint256",
736
+ internalType: "uint256"
839
737
  },
840
738
  {
841
- "name": "gasFees",
842
- "type": "bytes32",
843
- "internalType": "bytes32"
739
+ name: "gasFees",
740
+ type: "bytes32",
741
+ internalType: "bytes32"
844
742
  },
845
743
  {
846
- "name": "paymasterAndData",
847
- "type": "bytes",
848
- "internalType": "bytes"
744
+ name: "paymasterAndData",
745
+ type: "bytes",
746
+ internalType: "bytes"
849
747
  },
850
748
  {
851
- "name": "signature",
852
- "type": "bytes",
853
- "internalType": "bytes"
749
+ name: "signature",
750
+ type: "bytes",
751
+ internalType: "bytes"
854
752
  }
855
753
  ]
856
754
  },
857
755
  {
858
- "name": "target",
859
- "type": "address",
860
- "internalType": "address"
756
+ name: "target",
757
+ type: "address",
758
+ internalType: "address"
861
759
  },
862
760
  {
863
- "name": "targetCallData",
864
- "type": "bytes",
865
- "internalType": "bytes"
761
+ name: "targetCallData",
762
+ type: "bytes",
763
+ internalType: "bytes"
866
764
  }
867
765
  ]
868
766
  },
767
+ { name: "entryPoint", type: "address", internalType: "address" },
768
+ { name: "initialMinGas", type: "uint256", internalType: "uint256" },
869
769
  {
870
- "name": "entryPoint",
871
- "type": "address",
872
- "internalType": "address"
770
+ name: "toleranceDelta",
771
+ type: "uint256",
772
+ internalType: "uint256"
873
773
  },
874
- {
875
- "name": "initialMinGas",
876
- "type": "uint256",
877
- "internalType": "uint256"
878
- },
879
- {
880
- "name": "toleranceDelta",
881
- "type": "uint256",
882
- "internalType": "uint256"
883
- },
884
- {
885
- "name": "gasAllowance",
886
- "type": "uint256",
887
- "internalType": "uint256"
888
- }
774
+ { name: "gasAllowance", type: "uint256", internalType: "uint256" }
889
775
  ],
890
- "outputs": [
776
+ outputs: [
891
777
  {
892
- "name": "",
893
- "type": "tuple",
894
- "internalType": "struct IEntryPointSimulations.TargetCallResult",
895
- "components": [
896
- {
897
- "name": "gasUsed",
898
- "type": "uint256",
899
- "internalType": "uint256"
900
- },
778
+ name: "",
779
+ type: "tuple",
780
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
781
+ components: [
901
782
  {
902
- "name": "success",
903
- "type": "bool",
904
- "internalType": "bool"
783
+ name: "gasUsed",
784
+ type: "uint256",
785
+ internalType: "uint256"
905
786
  },
906
- {
907
- "name": "returnData",
908
- "type": "bytes",
909
- "internalType": "bytes"
910
- }
787
+ { name: "success", type: "bool", internalType: "bool" },
788
+ { name: "returnData", type: "bytes", internalType: "bytes" }
911
789
  ]
912
790
  }
913
791
  ],
914
- "stateMutability": "nonpayable"
792
+ stateMutability: "nonpayable"
915
793
  },
916
794
  {
917
- "type": "function",
918
- "name": "binarySearchVerificationGasLimit",
919
- "inputs": [
795
+ type: "function",
796
+ name: "binarySearchVerificationGasLimit",
797
+ inputs: [
920
798
  {
921
- "name": "queuedUserOps",
922
- "type": "tuple[]",
923
- "internalType": "struct SimulationArgs[]",
924
- "components": [
799
+ name: "queuedUserOps",
800
+ type: "tuple[]",
801
+ internalType: "struct SimulationArgs[]",
802
+ components: [
925
803
  {
926
- "name": "op",
927
- "type": "tuple",
928
- "internalType": "struct PackedUserOperation",
929
- "components": [
804
+ name: "op",
805
+ type: "tuple",
806
+ internalType: "struct PackedUserOperation",
807
+ components: [
930
808
  {
931
- "name": "sender",
932
- "type": "address",
933
- "internalType": "address"
809
+ name: "sender",
810
+ type: "address",
811
+ internalType: "address"
934
812
  },
935
813
  {
936
- "name": "nonce",
937
- "type": "uint256",
938
- "internalType": "uint256"
814
+ name: "nonce",
815
+ type: "uint256",
816
+ internalType: "uint256"
939
817
  },
940
818
  {
941
- "name": "initCode",
942
- "type": "bytes",
943
- "internalType": "bytes"
819
+ name: "initCode",
820
+ type: "bytes",
821
+ internalType: "bytes"
944
822
  },
945
823
  {
946
- "name": "callData",
947
- "type": "bytes",
948
- "internalType": "bytes"
824
+ name: "callData",
825
+ type: "bytes",
826
+ internalType: "bytes"
949
827
  },
950
828
  {
951
- "name": "accountGasLimits",
952
- "type": "bytes32",
953
- "internalType": "bytes32"
829
+ name: "accountGasLimits",
830
+ type: "bytes32",
831
+ internalType: "bytes32"
954
832
  },
955
833
  {
956
- "name": "preVerificationGas",
957
- "type": "uint256",
958
- "internalType": "uint256"
834
+ name: "preVerificationGas",
835
+ type: "uint256",
836
+ internalType: "uint256"
959
837
  },
960
838
  {
961
- "name": "gasFees",
962
- "type": "bytes32",
963
- "internalType": "bytes32"
839
+ name: "gasFees",
840
+ type: "bytes32",
841
+ internalType: "bytes32"
964
842
  },
965
843
  {
966
- "name": "paymasterAndData",
967
- "type": "bytes",
968
- "internalType": "bytes"
844
+ name: "paymasterAndData",
845
+ type: "bytes",
846
+ internalType: "bytes"
969
847
  },
970
848
  {
971
- "name": "signature",
972
- "type": "bytes",
973
- "internalType": "bytes"
849
+ name: "signature",
850
+ type: "bytes",
851
+ internalType: "bytes"
974
852
  }
975
853
  ]
976
854
  },
977
855
  {
978
- "name": "target",
979
- "type": "address",
980
- "internalType": "address"
856
+ name: "target",
857
+ type: "address",
858
+ internalType: "address"
981
859
  },
982
860
  {
983
- "name": "targetCallData",
984
- "type": "bytes",
985
- "internalType": "bytes"
861
+ name: "targetCallData",
862
+ type: "bytes",
863
+ internalType: "bytes"
986
864
  }
987
865
  ]
988
866
  },
989
867
  {
990
- "name": "targetUserOp",
991
- "type": "tuple",
992
- "internalType": "struct SimulationArgs",
993
- "components": [
868
+ name: "targetUserOp",
869
+ type: "tuple",
870
+ internalType: "struct SimulationArgs",
871
+ components: [
994
872
  {
995
- "name": "op",
996
- "type": "tuple",
997
- "internalType": "struct PackedUserOperation",
998
- "components": [
873
+ name: "op",
874
+ type: "tuple",
875
+ internalType: "struct PackedUserOperation",
876
+ components: [
999
877
  {
1000
- "name": "sender",
1001
- "type": "address",
1002
- "internalType": "address"
878
+ name: "sender",
879
+ type: "address",
880
+ internalType: "address"
1003
881
  },
1004
882
  {
1005
- "name": "nonce",
1006
- "type": "uint256",
1007
- "internalType": "uint256"
883
+ name: "nonce",
884
+ type: "uint256",
885
+ internalType: "uint256"
1008
886
  },
1009
887
  {
1010
- "name": "initCode",
1011
- "type": "bytes",
1012
- "internalType": "bytes"
888
+ name: "initCode",
889
+ type: "bytes",
890
+ internalType: "bytes"
1013
891
  },
1014
892
  {
1015
- "name": "callData",
1016
- "type": "bytes",
1017
- "internalType": "bytes"
893
+ name: "callData",
894
+ type: "bytes",
895
+ internalType: "bytes"
1018
896
  },
1019
897
  {
1020
- "name": "accountGasLimits",
1021
- "type": "bytes32",
1022
- "internalType": "bytes32"
898
+ name: "accountGasLimits",
899
+ type: "bytes32",
900
+ internalType: "bytes32"
1023
901
  },
1024
902
  {
1025
- "name": "preVerificationGas",
1026
- "type": "uint256",
1027
- "internalType": "uint256"
903
+ name: "preVerificationGas",
904
+ type: "uint256",
905
+ internalType: "uint256"
1028
906
  },
1029
907
  {
1030
- "name": "gasFees",
1031
- "type": "bytes32",
1032
- "internalType": "bytes32"
908
+ name: "gasFees",
909
+ type: "bytes32",
910
+ internalType: "bytes32"
1033
911
  },
1034
912
  {
1035
- "name": "paymasterAndData",
1036
- "type": "bytes",
1037
- "internalType": "bytes"
913
+ name: "paymasterAndData",
914
+ type: "bytes",
915
+ internalType: "bytes"
1038
916
  },
1039
917
  {
1040
- "name": "signature",
1041
- "type": "bytes",
1042
- "internalType": "bytes"
918
+ name: "signature",
919
+ type: "bytes",
920
+ internalType: "bytes"
1043
921
  }
1044
922
  ]
1045
923
  },
1046
924
  {
1047
- "name": "target",
1048
- "type": "address",
1049
- "internalType": "address"
925
+ name: "target",
926
+ type: "address",
927
+ internalType: "address"
1050
928
  },
1051
929
  {
1052
- "name": "targetCallData",
1053
- "type": "bytes",
1054
- "internalType": "bytes"
930
+ name: "targetCallData",
931
+ type: "bytes",
932
+ internalType: "bytes"
1055
933
  }
1056
934
  ]
1057
935
  },
936
+ { name: "entryPoint", type: "address", internalType: "address" },
937
+ { name: "initialMinGas", type: "uint256", internalType: "uint256" },
1058
938
  {
1059
- "name": "entryPoint",
1060
- "type": "address",
1061
- "internalType": "address"
1062
- },
1063
- {
1064
- "name": "initialMinGas",
1065
- "type": "uint256",
1066
- "internalType": "uint256"
1067
- },
1068
- {
1069
- "name": "toleranceDelta",
1070
- "type": "uint256",
1071
- "internalType": "uint256"
939
+ name: "toleranceDelta",
940
+ type: "uint256",
941
+ internalType: "uint256"
1072
942
  },
1073
- {
1074
- "name": "gasAllowance",
1075
- "type": "uint256",
1076
- "internalType": "uint256"
1077
- }
943
+ { name: "gasAllowance", type: "uint256", internalType: "uint256" }
1078
944
  ],
1079
- "outputs": [
945
+ outputs: [
1080
946
  {
1081
- "name": "",
1082
- "type": "tuple",
1083
- "internalType": "struct IEntryPointSimulations.TargetCallResult",
1084
- "components": [
947
+ name: "",
948
+ type: "tuple",
949
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
950
+ components: [
1085
951
  {
1086
- "name": "gasUsed",
1087
- "type": "uint256",
1088
- "internalType": "uint256"
952
+ name: "gasUsed",
953
+ type: "uint256",
954
+ internalType: "uint256"
1089
955
  },
1090
- {
1091
- "name": "success",
1092
- "type": "bool",
1093
- "internalType": "bool"
1094
- },
1095
- {
1096
- "name": "returnData",
1097
- "type": "bytes",
1098
- "internalType": "bytes"
1099
- }
956
+ { name: "success", type: "bool", internalType: "bool" },
957
+ { name: "returnData", type: "bytes", internalType: "bytes" }
1100
958
  ]
1101
959
  }
1102
960
  ],
1103
- "stateMutability": "nonpayable"
961
+ stateMutability: "nonpayable"
1104
962
  },
1105
963
  {
1106
- "type": "function",
1107
- "name": "depositTo",
1108
- "inputs": [
1109
- {
1110
- "name": "account",
1111
- "type": "address",
1112
- "internalType": "address"
1113
- }
1114
- ],
1115
- "outputs": [],
1116
- "stateMutability": "payable"
964
+ type: "function",
965
+ name: "depositTo",
966
+ inputs: [{ name: "account", type: "address", internalType: "address" }],
967
+ outputs: [],
968
+ stateMutability: "payable"
1117
969
  },
1118
970
  {
1119
- "type": "function",
1120
- "name": "deposits",
1121
- "inputs": [
1122
- {
1123
- "name": "",
1124
- "type": "address",
1125
- "internalType": "address"
1126
- }
971
+ type: "function",
972
+ name: "deposits",
973
+ inputs: [{ name: "", type: "address", internalType: "address" }],
974
+ outputs: [
975
+ { name: "deposit", type: "uint256", internalType: "uint256" },
976
+ { name: "staked", type: "bool", internalType: "bool" },
977
+ { name: "stake", type: "uint112", internalType: "uint112" },
978
+ { name: "unstakeDelaySec", type: "uint32", internalType: "uint32" },
979
+ { name: "withdrawTime", type: "uint48", internalType: "uint48" }
1127
980
  ],
1128
- "outputs": [
1129
- {
1130
- "name": "deposit",
1131
- "type": "uint256",
1132
- "internalType": "uint256"
1133
- },
1134
- {
1135
- "name": "staked",
1136
- "type": "bool",
1137
- "internalType": "bool"
1138
- },
1139
- {
1140
- "name": "stake",
1141
- "type": "uint112",
1142
- "internalType": "uint112"
1143
- },
1144
- {
1145
- "name": "unstakeDelaySec",
1146
- "type": "uint32",
1147
- "internalType": "uint32"
1148
- },
1149
- {
1150
- "name": "withdrawTime",
1151
- "type": "uint48",
1152
- "internalType": "uint48"
1153
- }
1154
- ],
1155
- "stateMutability": "view"
981
+ stateMutability: "view"
1156
982
  },
1157
983
  {
1158
- "type": "function",
1159
- "name": "getDepositInfo",
1160
- "inputs": [
984
+ type: "function",
985
+ name: "getDepositInfo",
986
+ inputs: [{ name: "account", type: "address", internalType: "address" }],
987
+ outputs: [
1161
988
  {
1162
- "name": "account",
1163
- "type": "address",
1164
- "internalType": "address"
1165
- }
1166
- ],
1167
- "outputs": [
1168
- {
1169
- "name": "info",
1170
- "type": "tuple",
1171
- "internalType": "struct IStakeManager.DepositInfo",
1172
- "components": [
1173
- {
1174
- "name": "deposit",
1175
- "type": "uint256",
1176
- "internalType": "uint256"
1177
- },
989
+ name: "info",
990
+ type: "tuple",
991
+ internalType: "struct IStakeManager.DepositInfo",
992
+ components: [
1178
993
  {
1179
- "name": "staked",
1180
- "type": "bool",
1181
- "internalType": "bool"
994
+ name: "deposit",
995
+ type: "uint256",
996
+ internalType: "uint256"
1182
997
  },
998
+ { name: "staked", type: "bool", internalType: "bool" },
999
+ { name: "stake", type: "uint112", internalType: "uint112" },
1183
1000
  {
1184
- "name": "stake",
1185
- "type": "uint112",
1186
- "internalType": "uint112"
1001
+ name: "unstakeDelaySec",
1002
+ type: "uint32",
1003
+ internalType: "uint32"
1187
1004
  },
1188
1005
  {
1189
- "name": "unstakeDelaySec",
1190
- "type": "uint32",
1191
- "internalType": "uint32"
1192
- },
1193
- {
1194
- "name": "withdrawTime",
1195
- "type": "uint48",
1196
- "internalType": "uint48"
1006
+ name: "withdrawTime",
1007
+ type: "uint48",
1008
+ internalType: "uint48"
1197
1009
  }
1198
1010
  ]
1199
1011
  }
1200
1012
  ],
1201
- "stateMutability": "view"
1013
+ stateMutability: "view"
1202
1014
  },
1203
1015
  {
1204
- "type": "function",
1205
- "name": "getNonce",
1206
- "inputs": [
1207
- {
1208
- "name": "sender",
1209
- "type": "address",
1210
- "internalType": "address"
1211
- },
1212
- {
1213
- "name": "key",
1214
- "type": "uint192",
1215
- "internalType": "uint192"
1216
- }
1016
+ type: "function",
1017
+ name: "getNonce",
1018
+ inputs: [
1019
+ { name: "sender", type: "address", internalType: "address" },
1020
+ { name: "key", type: "uint192", internalType: "uint192" }
1217
1021
  ],
1218
- "outputs": [
1219
- {
1220
- "name": "nonce",
1221
- "type": "uint256",
1222
- "internalType": "uint256"
1223
- }
1224
- ],
1225
- "stateMutability": "view"
1022
+ outputs: [{ name: "nonce", type: "uint256", internalType: "uint256" }],
1023
+ stateMutability: "view"
1226
1024
  },
1227
1025
  {
1228
- "type": "function",
1229
- "name": "getUserOpHash",
1230
- "inputs": [
1026
+ type: "function",
1027
+ name: "getUserOpHash",
1028
+ inputs: [
1231
1029
  {
1232
- "name": "userOp",
1233
- "type": "tuple",
1234
- "internalType": "struct PackedUserOperation",
1235
- "components": [
1236
- {
1237
- "name": "sender",
1238
- "type": "address",
1239
- "internalType": "address"
1240
- },
1241
- {
1242
- "name": "nonce",
1243
- "type": "uint256",
1244
- "internalType": "uint256"
1245
- },
1246
- {
1247
- "name": "initCode",
1248
- "type": "bytes",
1249
- "internalType": "bytes"
1250
- },
1030
+ name: "userOp",
1031
+ type: "tuple",
1032
+ internalType: "struct PackedUserOperation",
1033
+ components: [
1251
1034
  {
1252
- "name": "callData",
1253
- "type": "bytes",
1254
- "internalType": "bytes"
1035
+ name: "sender",
1036
+ type: "address",
1037
+ internalType: "address"
1255
1038
  },
1039
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1040
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1041
+ { name: "callData", type: "bytes", internalType: "bytes" },
1256
1042
  {
1257
- "name": "accountGasLimits",
1258
- "type": "bytes32",
1259
- "internalType": "bytes32"
1043
+ name: "accountGasLimits",
1044
+ type: "bytes32",
1045
+ internalType: "bytes32"
1260
1046
  },
1261
1047
  {
1262
- "name": "preVerificationGas",
1263
- "type": "uint256",
1264
- "internalType": "uint256"
1048
+ name: "preVerificationGas",
1049
+ type: "uint256",
1050
+ internalType: "uint256"
1265
1051
  },
1266
1052
  {
1267
- "name": "gasFees",
1268
- "type": "bytes32",
1269
- "internalType": "bytes32"
1053
+ name: "gasFees",
1054
+ type: "bytes32",
1055
+ internalType: "bytes32"
1270
1056
  },
1271
1057
  {
1272
- "name": "paymasterAndData",
1273
- "type": "bytes",
1274
- "internalType": "bytes"
1058
+ name: "paymasterAndData",
1059
+ type: "bytes",
1060
+ internalType: "bytes"
1275
1061
  },
1276
- {
1277
- "name": "signature",
1278
- "type": "bytes",
1279
- "internalType": "bytes"
1280
- }
1062
+ { name: "signature", type: "bytes", internalType: "bytes" }
1281
1063
  ]
1282
1064
  }
1283
1065
  ],
1284
- "outputs": [
1285
- {
1286
- "name": "",
1287
- "type": "bytes32",
1288
- "internalType": "bytes32"
1289
- }
1290
- ],
1291
- "stateMutability": "view"
1066
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
1067
+ stateMutability: "view"
1292
1068
  },
1293
1069
  {
1294
- "type": "function",
1295
- "name": "incrementNonce",
1296
- "inputs": [
1297
- {
1298
- "name": "key",
1299
- "type": "uint192",
1300
- "internalType": "uint192"
1301
- }
1302
- ],
1303
- "outputs": [],
1304
- "stateMutability": "nonpayable"
1070
+ type: "function",
1071
+ name: "incrementNonce",
1072
+ inputs: [{ name: "key", type: "uint192", internalType: "uint192" }],
1073
+ outputs: [],
1074
+ stateMutability: "nonpayable"
1305
1075
  },
1306
1076
  {
1307
- "type": "function",
1308
- "name": "innerHandleOp",
1309
- "inputs": [
1310
- {
1311
- "name": "callData",
1312
- "type": "bytes",
1313
- "internalType": "bytes"
1314
- },
1077
+ type: "function",
1078
+ name: "innerHandleOp",
1079
+ inputs: [
1080
+ { name: "callData", type: "bytes", internalType: "bytes" },
1315
1081
  {
1316
- "name": "opInfo",
1317
- "type": "tuple",
1318
- "internalType": "struct EntryPoint.UserOpInfo",
1319
- "components": [
1082
+ name: "opInfo",
1083
+ type: "tuple",
1084
+ internalType: "struct EntryPoint.UserOpInfo",
1085
+ components: [
1320
1086
  {
1321
- "name": "mUserOp",
1322
- "type": "tuple",
1323
- "internalType": "struct EntryPoint.MemoryUserOp",
1324
- "components": [
1087
+ name: "mUserOp",
1088
+ type: "tuple",
1089
+ internalType: "struct EntryPoint.MemoryUserOp",
1090
+ components: [
1325
1091
  {
1326
- "name": "sender",
1327
- "type": "address",
1328
- "internalType": "address"
1092
+ name: "sender",
1093
+ type: "address",
1094
+ internalType: "address"
1329
1095
  },
1330
1096
  {
1331
- "name": "nonce",
1332
- "type": "uint256",
1333
- "internalType": "uint256"
1097
+ name: "nonce",
1098
+ type: "uint256",
1099
+ internalType: "uint256"
1334
1100
  },
1335
1101
  {
1336
- "name": "verificationGasLimit",
1337
- "type": "uint256",
1338
- "internalType": "uint256"
1102
+ name: "verificationGasLimit",
1103
+ type: "uint256",
1104
+ internalType: "uint256"
1339
1105
  },
1340
1106
  {
1341
- "name": "callGasLimit",
1342
- "type": "uint256",
1343
- "internalType": "uint256"
1107
+ name: "callGasLimit",
1108
+ type: "uint256",
1109
+ internalType: "uint256"
1344
1110
  },
1345
1111
  {
1346
- "name": "paymasterVerificationGasLimit",
1347
- "type": "uint256",
1348
- "internalType": "uint256"
1112
+ name: "paymasterVerificationGasLimit",
1113
+ type: "uint256",
1114
+ internalType: "uint256"
1349
1115
  },
1350
1116
  {
1351
- "name": "paymasterPostOpGasLimit",
1352
- "type": "uint256",
1353
- "internalType": "uint256"
1117
+ name: "paymasterPostOpGasLimit",
1118
+ type: "uint256",
1119
+ internalType: "uint256"
1354
1120
  },
1355
1121
  {
1356
- "name": "preVerificationGas",
1357
- "type": "uint256",
1358
- "internalType": "uint256"
1122
+ name: "preVerificationGas",
1123
+ type: "uint256",
1124
+ internalType: "uint256"
1359
1125
  },
1360
1126
  {
1361
- "name": "paymaster",
1362
- "type": "address",
1363
- "internalType": "address"
1127
+ name: "paymaster",
1128
+ type: "address",
1129
+ internalType: "address"
1364
1130
  },
1365
1131
  {
1366
- "name": "maxFeePerGas",
1367
- "type": "uint256",
1368
- "internalType": "uint256"
1132
+ name: "maxFeePerGas",
1133
+ type: "uint256",
1134
+ internalType: "uint256"
1369
1135
  },
1370
1136
  {
1371
- "name": "maxPriorityFeePerGas",
1372
- "type": "uint256",
1373
- "internalType": "uint256"
1137
+ name: "maxPriorityFeePerGas",
1138
+ type: "uint256",
1139
+ internalType: "uint256"
1374
1140
  }
1375
1141
  ]
1376
1142
  },
1377
1143
  {
1378
- "name": "userOpHash",
1379
- "type": "bytes32",
1380
- "internalType": "bytes32"
1144
+ name: "userOpHash",
1145
+ type: "bytes32",
1146
+ internalType: "bytes32"
1381
1147
  },
1382
1148
  {
1383
- "name": "prefund",
1384
- "type": "uint256",
1385
- "internalType": "uint256"
1149
+ name: "prefund",
1150
+ type: "uint256",
1151
+ internalType: "uint256"
1386
1152
  },
1387
1153
  {
1388
- "name": "contextOffset",
1389
- "type": "uint256",
1390
- "internalType": "uint256"
1154
+ name: "contextOffset",
1155
+ type: "uint256",
1156
+ internalType: "uint256"
1391
1157
  },
1392
1158
  {
1393
- "name": "preOpGas",
1394
- "type": "uint256",
1395
- "internalType": "uint256"
1159
+ name: "preOpGas",
1160
+ type: "uint256",
1161
+ internalType: "uint256"
1396
1162
  }
1397
1163
  ]
1398
1164
  },
1399
- {
1400
- "name": "context",
1401
- "type": "bytes",
1402
- "internalType": "bytes"
1403
- },
1404
- {
1405
- "name": "preGas",
1406
- "type": "uint256",
1407
- "internalType": "uint256"
1408
- }
1165
+ { name: "context", type: "bytes", internalType: "bytes" },
1166
+ { name: "preGas", type: "uint256", internalType: "uint256" }
1409
1167
  ],
1410
- "outputs": [
1168
+ outputs: [
1169
+ { name: "actualGasCost", type: "uint256", internalType: "uint256" },
1411
1170
  {
1412
- "name": "actualGasCost",
1413
- "type": "uint256",
1414
- "internalType": "uint256"
1415
- },
1416
- {
1417
- "name": "paymasterPostOpGasLimit",
1418
- "type": "uint256",
1419
- "internalType": "uint256"
1171
+ name: "paymasterPostOpGasLimit",
1172
+ type: "uint256",
1173
+ internalType: "uint256"
1420
1174
  }
1421
1175
  ],
1422
- "stateMutability": "nonpayable"
1176
+ stateMutability: "nonpayable"
1423
1177
  },
1424
1178
  {
1425
- "type": "function",
1426
- "name": "nonceSequenceNumber",
1427
- "inputs": [
1428
- {
1429
- "name": "",
1430
- "type": "address",
1431
- "internalType": "address"
1432
- },
1433
- {
1434
- "name": "",
1435
- "type": "uint192",
1436
- "internalType": "uint192"
1437
- }
1438
- ],
1439
- "outputs": [
1440
- {
1441
- "name": "",
1442
- "type": "uint256",
1443
- "internalType": "uint256"
1444
- }
1179
+ type: "function",
1180
+ name: "nonceSequenceNumber",
1181
+ inputs: [
1182
+ { name: "", type: "address", internalType: "address" },
1183
+ { name: "", type: "uint192", internalType: "uint192" }
1445
1184
  ],
1446
- "stateMutability": "view"
1185
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
1186
+ stateMutability: "view"
1447
1187
  },
1448
1188
  {
1449
- "type": "function",
1450
- "name": "simulateCall",
1451
- "inputs": [
1452
- {
1453
- "name": "entryPoint",
1454
- "type": "address",
1455
- "internalType": "address"
1456
- },
1457
- {
1458
- "name": "payload",
1459
- "type": "bytes",
1460
- "internalType": "bytes"
1461
- },
1462
- {
1463
- "name": "gas",
1464
- "type": "uint256",
1465
- "internalType": "uint256"
1466
- }
1189
+ type: "function",
1190
+ name: "simulateCall",
1191
+ inputs: [
1192
+ { name: "entryPoint", type: "address", internalType: "address" },
1193
+ { name: "payload", type: "bytes", internalType: "bytes" },
1194
+ { name: "gas", type: "uint256", internalType: "uint256" }
1467
1195
  ],
1468
- "outputs": [
1469
- {
1470
- "name": "success",
1471
- "type": "bool",
1472
- "internalType": "bool"
1473
- },
1474
- {
1475
- "name": "result",
1476
- "type": "bytes",
1477
- "internalType": "bytes"
1478
- }
1196
+ outputs: [
1197
+ { name: "success", type: "bool", internalType: "bool" },
1198
+ { name: "result", type: "bytes", internalType: "bytes" }
1479
1199
  ],
1480
- "stateMutability": "nonpayable"
1200
+ stateMutability: "nonpayable"
1481
1201
  },
1482
1202
  {
1483
- "type": "function",
1484
- "name": "simulateCallAndRevert",
1485
- "inputs": [
1486
- {
1487
- "name": "target",
1488
- "type": "address",
1489
- "internalType": "address"
1490
- },
1491
- {
1492
- "name": "data",
1493
- "type": "bytes",
1494
- "internalType": "bytes"
1495
- },
1496
- {
1497
- "name": "gas",
1498
- "type": "uint256",
1499
- "internalType": "uint256"
1500
- }
1203
+ type: "function",
1204
+ name: "simulateCallAndRevert",
1205
+ inputs: [
1206
+ { name: "target", type: "address", internalType: "address" },
1207
+ { name: "data", type: "bytes", internalType: "bytes" },
1208
+ { name: "gas", type: "uint256", internalType: "uint256" }
1501
1209
  ],
1502
- "outputs": [],
1503
- "stateMutability": "nonpayable"
1210
+ outputs: [],
1211
+ stateMutability: "nonpayable"
1504
1212
  },
1505
1213
  {
1506
- "type": "function",
1507
- "name": "simulateHandleOp",
1508
- "inputs": [
1214
+ type: "function",
1215
+ name: "simulateCallData",
1216
+ inputs: [
1509
1217
  {
1510
- "name": "op",
1511
- "type": "tuple",
1512
- "internalType": "struct PackedUserOperation",
1513
- "components": [
1218
+ name: "queuedUserOps",
1219
+ type: "tuple[]",
1220
+ internalType: "struct SimulationArgs[]",
1221
+ components: [
1514
1222
  {
1515
- "name": "sender",
1516
- "type": "address",
1517
- "internalType": "address"
1223
+ name: "op",
1224
+ type: "tuple",
1225
+ internalType: "struct PackedUserOperation",
1226
+ components: [
1227
+ {
1228
+ name: "sender",
1229
+ type: "address",
1230
+ internalType: "address"
1231
+ },
1232
+ {
1233
+ name: "nonce",
1234
+ type: "uint256",
1235
+ internalType: "uint256"
1236
+ },
1237
+ {
1238
+ name: "initCode",
1239
+ type: "bytes",
1240
+ internalType: "bytes"
1241
+ },
1242
+ {
1243
+ name: "callData",
1244
+ type: "bytes",
1245
+ internalType: "bytes"
1246
+ },
1247
+ {
1248
+ name: "accountGasLimits",
1249
+ type: "bytes32",
1250
+ internalType: "bytes32"
1251
+ },
1252
+ {
1253
+ name: "preVerificationGas",
1254
+ type: "uint256",
1255
+ internalType: "uint256"
1256
+ },
1257
+ {
1258
+ name: "gasFees",
1259
+ type: "bytes32",
1260
+ internalType: "bytes32"
1261
+ },
1262
+ {
1263
+ name: "paymasterAndData",
1264
+ type: "bytes",
1265
+ internalType: "bytes"
1266
+ },
1267
+ {
1268
+ name: "signature",
1269
+ type: "bytes",
1270
+ internalType: "bytes"
1271
+ }
1272
+ ]
1273
+ },
1274
+ {
1275
+ name: "target",
1276
+ type: "address",
1277
+ internalType: "address"
1518
1278
  },
1519
1279
  {
1520
- "name": "nonce",
1521
- "type": "uint256",
1522
- "internalType": "uint256"
1280
+ name: "targetCallData",
1281
+ type: "bytes",
1282
+ internalType: "bytes"
1283
+ }
1284
+ ]
1285
+ },
1286
+ {
1287
+ name: "targetUserOp",
1288
+ type: "tuple",
1289
+ internalType: "struct SimulationArgs",
1290
+ components: [
1291
+ {
1292
+ name: "op",
1293
+ type: "tuple",
1294
+ internalType: "struct PackedUserOperation",
1295
+ components: [
1296
+ {
1297
+ name: "sender",
1298
+ type: "address",
1299
+ internalType: "address"
1300
+ },
1301
+ {
1302
+ name: "nonce",
1303
+ type: "uint256",
1304
+ internalType: "uint256"
1305
+ },
1306
+ {
1307
+ name: "initCode",
1308
+ type: "bytes",
1309
+ internalType: "bytes"
1310
+ },
1311
+ {
1312
+ name: "callData",
1313
+ type: "bytes",
1314
+ internalType: "bytes"
1315
+ },
1316
+ {
1317
+ name: "accountGasLimits",
1318
+ type: "bytes32",
1319
+ internalType: "bytes32"
1320
+ },
1321
+ {
1322
+ name: "preVerificationGas",
1323
+ type: "uint256",
1324
+ internalType: "uint256"
1325
+ },
1326
+ {
1327
+ name: "gasFees",
1328
+ type: "bytes32",
1329
+ internalType: "bytes32"
1330
+ },
1331
+ {
1332
+ name: "paymasterAndData",
1333
+ type: "bytes",
1334
+ internalType: "bytes"
1335
+ },
1336
+ {
1337
+ name: "signature",
1338
+ type: "bytes",
1339
+ internalType: "bytes"
1340
+ }
1341
+ ]
1523
1342
  },
1524
1343
  {
1525
- "name": "initCode",
1526
- "type": "bytes",
1527
- "internalType": "bytes"
1344
+ name: "target",
1345
+ type: "address",
1346
+ internalType: "address"
1528
1347
  },
1529
1348
  {
1530
- "name": "callData",
1531
- "type": "bytes",
1532
- "internalType": "bytes"
1349
+ name: "targetCallData",
1350
+ type: "bytes",
1351
+ internalType: "bytes"
1352
+ }
1353
+ ]
1354
+ },
1355
+ { name: "entryPoint", type: "address", internalType: "address" },
1356
+ { name: "initialMinGas", type: "uint256", internalType: "uint256" },
1357
+ {
1358
+ name: "toleranceDelta",
1359
+ type: "uint256",
1360
+ internalType: "uint256"
1361
+ },
1362
+ { name: "gasAllowance", type: "uint256", internalType: "uint256" }
1363
+ ],
1364
+ outputs: [
1365
+ {
1366
+ name: "",
1367
+ type: "tuple",
1368
+ internalType: "struct IEntryPointSimulations.TargetCallResult",
1369
+ components: [
1370
+ {
1371
+ name: "gasUsed",
1372
+ type: "uint256",
1373
+ internalType: "uint256"
1533
1374
  },
1375
+ { name: "success", type: "bool", internalType: "bool" },
1376
+ { name: "returnData", type: "bytes", internalType: "bytes" }
1377
+ ]
1378
+ }
1379
+ ],
1380
+ stateMutability: "nonpayable"
1381
+ },
1382
+ {
1383
+ type: "function",
1384
+ name: "simulateHandleOp",
1385
+ inputs: [
1386
+ {
1387
+ name: "op",
1388
+ type: "tuple",
1389
+ internalType: "struct PackedUserOperation",
1390
+ components: [
1534
1391
  {
1535
- "name": "accountGasLimits",
1536
- "type": "bytes32",
1537
- "internalType": "bytes32"
1392
+ name: "sender",
1393
+ type: "address",
1394
+ internalType: "address"
1538
1395
  },
1396
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1397
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1398
+ { name: "callData", type: "bytes", internalType: "bytes" },
1539
1399
  {
1540
- "name": "preVerificationGas",
1541
- "type": "uint256",
1542
- "internalType": "uint256"
1400
+ name: "accountGasLimits",
1401
+ type: "bytes32",
1402
+ internalType: "bytes32"
1543
1403
  },
1544
1404
  {
1545
- "name": "gasFees",
1546
- "type": "bytes32",
1547
- "internalType": "bytes32"
1405
+ name: "preVerificationGas",
1406
+ type: "uint256",
1407
+ internalType: "uint256"
1548
1408
  },
1549
1409
  {
1550
- "name": "paymasterAndData",
1551
- "type": "bytes",
1552
- "internalType": "bytes"
1410
+ name: "gasFees",
1411
+ type: "bytes32",
1412
+ internalType: "bytes32"
1553
1413
  },
1554
1414
  {
1555
- "name": "signature",
1556
- "type": "bytes",
1557
- "internalType": "bytes"
1558
- }
1415
+ name: "paymasterAndData",
1416
+ type: "bytes",
1417
+ internalType: "bytes"
1418
+ },
1419
+ { name: "signature", type: "bytes", internalType: "bytes" }
1559
1420
  ]
1560
1421
  }
1561
1422
  ],
1562
- "outputs": [
1423
+ outputs: [
1563
1424
  {
1564
- "name": "",
1565
- "type": "tuple",
1566
- "internalType": "struct IEntryPointSimulations.ExecutionResult",
1567
- "components": [
1568
- {
1569
- "name": "preOpGas",
1570
- "type": "uint256",
1571
- "internalType": "uint256"
1572
- },
1425
+ name: "",
1426
+ type: "tuple",
1427
+ internalType: "struct IEntryPointSimulations.ExecutionResult",
1428
+ components: [
1573
1429
  {
1574
- "name": "paid",
1575
- "type": "uint256",
1576
- "internalType": "uint256"
1430
+ name: "preOpGas",
1431
+ type: "uint256",
1432
+ internalType: "uint256"
1577
1433
  },
1434
+ { name: "paid", type: "uint256", internalType: "uint256" },
1578
1435
  {
1579
- "name": "accountValidationData",
1580
- "type": "uint256",
1581
- "internalType": "uint256"
1436
+ name: "accountValidationData",
1437
+ type: "uint256",
1438
+ internalType: "uint256"
1582
1439
  },
1583
1440
  {
1584
- "name": "paymasterValidationData",
1585
- "type": "uint256",
1586
- "internalType": "uint256"
1441
+ name: "paymasterValidationData",
1442
+ type: "uint256",
1443
+ internalType: "uint256"
1587
1444
  },
1588
1445
  {
1589
- "name": "paymasterVerificationGasLimit",
1590
- "type": "uint256",
1591
- "internalType": "uint256"
1446
+ name: "paymasterVerificationGasLimit",
1447
+ type: "uint256",
1448
+ internalType: "uint256"
1592
1449
  },
1593
1450
  {
1594
- "name": "paymasterPostOpGasLimit",
1595
- "type": "uint256",
1596
- "internalType": "uint256"
1451
+ name: "paymasterPostOpGasLimit",
1452
+ type: "uint256",
1453
+ internalType: "uint256"
1597
1454
  },
1598
1455
  {
1599
- "name": "targetSuccess",
1600
- "type": "bool",
1601
- "internalType": "bool"
1456
+ name: "targetSuccess",
1457
+ type: "bool",
1458
+ internalType: "bool"
1602
1459
  },
1603
1460
  {
1604
- "name": "targetResult",
1605
- "type": "bytes",
1606
- "internalType": "bytes"
1461
+ name: "targetResult",
1462
+ type: "bytes",
1463
+ internalType: "bytes"
1607
1464
  }
1608
1465
  ]
1609
1466
  }
1610
1467
  ],
1611
- "stateMutability": "nonpayable"
1468
+ stateMutability: "nonpayable"
1612
1469
  },
1613
1470
  {
1614
- "type": "function",
1615
- "name": "simulateHandleOpBulk",
1616
- "inputs": [
1471
+ type: "function",
1472
+ name: "simulateHandleOpBulk",
1473
+ inputs: [
1617
1474
  {
1618
- "name": "ops",
1619
- "type": "tuple[]",
1620
- "internalType": "struct PackedUserOperation[]",
1621
- "components": [
1622
- {
1623
- "name": "sender",
1624
- "type": "address",
1625
- "internalType": "address"
1626
- },
1627
- {
1628
- "name": "nonce",
1629
- "type": "uint256",
1630
- "internalType": "uint256"
1631
- },
1475
+ name: "ops",
1476
+ type: "tuple[]",
1477
+ internalType: "struct PackedUserOperation[]",
1478
+ components: [
1632
1479
  {
1633
- "name": "initCode",
1634
- "type": "bytes",
1635
- "internalType": "bytes"
1480
+ name: "sender",
1481
+ type: "address",
1482
+ internalType: "address"
1636
1483
  },
1484
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1485
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1486
+ { name: "callData", type: "bytes", internalType: "bytes" },
1637
1487
  {
1638
- "name": "callData",
1639
- "type": "bytes",
1640
- "internalType": "bytes"
1488
+ name: "accountGasLimits",
1489
+ type: "bytes32",
1490
+ internalType: "bytes32"
1641
1491
  },
1642
1492
  {
1643
- "name": "accountGasLimits",
1644
- "type": "bytes32",
1645
- "internalType": "bytes32"
1493
+ name: "preVerificationGas",
1494
+ type: "uint256",
1495
+ internalType: "uint256"
1646
1496
  },
1647
1497
  {
1648
- "name": "preVerificationGas",
1649
- "type": "uint256",
1650
- "internalType": "uint256"
1498
+ name: "gasFees",
1499
+ type: "bytes32",
1500
+ internalType: "bytes32"
1651
1501
  },
1652
1502
  {
1653
- "name": "gasFees",
1654
- "type": "bytes32",
1655
- "internalType": "bytes32"
1503
+ name: "paymasterAndData",
1504
+ type: "bytes",
1505
+ internalType: "bytes"
1656
1506
  },
1657
- {
1658
- "name": "paymasterAndData",
1659
- "type": "bytes",
1660
- "internalType": "bytes"
1661
- },
1662
- {
1663
- "name": "signature",
1664
- "type": "bytes",
1665
- "internalType": "bytes"
1666
- }
1507
+ { name: "signature", type: "bytes", internalType: "bytes" }
1667
1508
  ]
1668
1509
  }
1669
1510
  ],
1670
- "outputs": [
1511
+ outputs: [
1671
1512
  {
1672
- "name": "",
1673
- "type": "tuple[]",
1674
- "internalType": "struct IEntryPointSimulations.ExecutionResult[]",
1675
- "components": [
1513
+ name: "",
1514
+ type: "tuple[]",
1515
+ internalType: "struct IEntryPointSimulations.ExecutionResult[]",
1516
+ components: [
1676
1517
  {
1677
- "name": "preOpGas",
1678
- "type": "uint256",
1679
- "internalType": "uint256"
1518
+ name: "preOpGas",
1519
+ type: "uint256",
1520
+ internalType: "uint256"
1680
1521
  },
1522
+ { name: "paid", type: "uint256", internalType: "uint256" },
1681
1523
  {
1682
- "name": "paid",
1683
- "type": "uint256",
1684
- "internalType": "uint256"
1524
+ name: "accountValidationData",
1525
+ type: "uint256",
1526
+ internalType: "uint256"
1685
1527
  },
1686
1528
  {
1687
- "name": "accountValidationData",
1688
- "type": "uint256",
1689
- "internalType": "uint256"
1529
+ name: "paymasterValidationData",
1530
+ type: "uint256",
1531
+ internalType: "uint256"
1690
1532
  },
1691
1533
  {
1692
- "name": "paymasterValidationData",
1693
- "type": "uint256",
1694
- "internalType": "uint256"
1534
+ name: "paymasterVerificationGasLimit",
1535
+ type: "uint256",
1536
+ internalType: "uint256"
1695
1537
  },
1696
1538
  {
1697
- "name": "paymasterVerificationGasLimit",
1698
- "type": "uint256",
1699
- "internalType": "uint256"
1539
+ name: "paymasterPostOpGasLimit",
1540
+ type: "uint256",
1541
+ internalType: "uint256"
1700
1542
  },
1701
1543
  {
1702
- "name": "paymasterPostOpGasLimit",
1703
- "type": "uint256",
1704
- "internalType": "uint256"
1544
+ name: "targetSuccess",
1545
+ type: "bool",
1546
+ internalType: "bool"
1705
1547
  },
1706
1548
  {
1707
- "name": "targetSuccess",
1708
- "type": "bool",
1709
- "internalType": "bool"
1710
- },
1711
- {
1712
- "name": "targetResult",
1713
- "type": "bytes",
1714
- "internalType": "bytes"
1549
+ name: "targetResult",
1550
+ type: "bytes",
1551
+ internalType: "bytes"
1715
1552
  }
1716
1553
  ]
1717
1554
  }
1718
1555
  ],
1719
- "stateMutability": "nonpayable"
1556
+ stateMutability: "nonpayable"
1720
1557
  },
1721
1558
  {
1722
- "type": "function",
1723
- "name": "simulateHandleOpLast",
1724
- "inputs": [
1559
+ type: "function",
1560
+ name: "simulateHandleOpLast",
1561
+ inputs: [
1725
1562
  {
1726
- "name": "ops",
1727
- "type": "tuple[]",
1728
- "internalType": "struct PackedUserOperation[]",
1729
- "components": [
1730
- {
1731
- "name": "sender",
1732
- "type": "address",
1733
- "internalType": "address"
1734
- },
1735
- {
1736
- "name": "nonce",
1737
- "type": "uint256",
1738
- "internalType": "uint256"
1739
- },
1740
- {
1741
- "name": "initCode",
1742
- "type": "bytes",
1743
- "internalType": "bytes"
1744
- },
1563
+ name: "ops",
1564
+ type: "tuple[]",
1565
+ internalType: "struct PackedUserOperation[]",
1566
+ components: [
1745
1567
  {
1746
- "name": "callData",
1747
- "type": "bytes",
1748
- "internalType": "bytes"
1568
+ name: "sender",
1569
+ type: "address",
1570
+ internalType: "address"
1749
1571
  },
1572
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1573
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1574
+ { name: "callData", type: "bytes", internalType: "bytes" },
1750
1575
  {
1751
- "name": "accountGasLimits",
1752
- "type": "bytes32",
1753
- "internalType": "bytes32"
1576
+ name: "accountGasLimits",
1577
+ type: "bytes32",
1578
+ internalType: "bytes32"
1754
1579
  },
1755
1580
  {
1756
- "name": "preVerificationGas",
1757
- "type": "uint256",
1758
- "internalType": "uint256"
1581
+ name: "preVerificationGas",
1582
+ type: "uint256",
1583
+ internalType: "uint256"
1759
1584
  },
1760
1585
  {
1761
- "name": "gasFees",
1762
- "type": "bytes32",
1763
- "internalType": "bytes32"
1586
+ name: "gasFees",
1587
+ type: "bytes32",
1588
+ internalType: "bytes32"
1764
1589
  },
1765
1590
  {
1766
- "name": "paymasterAndData",
1767
- "type": "bytes",
1768
- "internalType": "bytes"
1591
+ name: "paymasterAndData",
1592
+ type: "bytes",
1593
+ internalType: "bytes"
1769
1594
  },
1770
- {
1771
- "name": "signature",
1772
- "type": "bytes",
1773
- "internalType": "bytes"
1774
- }
1595
+ { name: "signature", type: "bytes", internalType: "bytes" }
1775
1596
  ]
1776
1597
  }
1777
1598
  ],
1778
- "outputs": [
1599
+ outputs: [
1779
1600
  {
1780
- "name": "",
1781
- "type": "tuple",
1782
- "internalType": "struct IEntryPointSimulations.ExecutionResult",
1783
- "components": [
1601
+ name: "",
1602
+ type: "tuple",
1603
+ internalType: "struct IEntryPointSimulations.ExecutionResult",
1604
+ components: [
1784
1605
  {
1785
- "name": "preOpGas",
1786
- "type": "uint256",
1787
- "internalType": "uint256"
1606
+ name: "preOpGas",
1607
+ type: "uint256",
1608
+ internalType: "uint256"
1788
1609
  },
1610
+ { name: "paid", type: "uint256", internalType: "uint256" },
1789
1611
  {
1790
- "name": "paid",
1791
- "type": "uint256",
1792
- "internalType": "uint256"
1612
+ name: "accountValidationData",
1613
+ type: "uint256",
1614
+ internalType: "uint256"
1793
1615
  },
1794
1616
  {
1795
- "name": "accountValidationData",
1796
- "type": "uint256",
1797
- "internalType": "uint256"
1617
+ name: "paymasterValidationData",
1618
+ type: "uint256",
1619
+ internalType: "uint256"
1798
1620
  },
1799
1621
  {
1800
- "name": "paymasterValidationData",
1801
- "type": "uint256",
1802
- "internalType": "uint256"
1622
+ name: "paymasterVerificationGasLimit",
1623
+ type: "uint256",
1624
+ internalType: "uint256"
1803
1625
  },
1804
1626
  {
1805
- "name": "paymasterVerificationGasLimit",
1806
- "type": "uint256",
1807
- "internalType": "uint256"
1627
+ name: "paymasterPostOpGasLimit",
1628
+ type: "uint256",
1629
+ internalType: "uint256"
1808
1630
  },
1809
1631
  {
1810
- "name": "paymasterPostOpGasLimit",
1811
- "type": "uint256",
1812
- "internalType": "uint256"
1632
+ name: "targetSuccess",
1633
+ type: "bool",
1634
+ internalType: "bool"
1813
1635
  },
1814
1636
  {
1815
- "name": "targetSuccess",
1816
- "type": "bool",
1817
- "internalType": "bool"
1818
- },
1819
- {
1820
- "name": "targetResult",
1821
- "type": "bytes",
1822
- "internalType": "bytes"
1637
+ name: "targetResult",
1638
+ type: "bytes",
1639
+ internalType: "bytes"
1823
1640
  }
1824
1641
  ]
1825
1642
  }
1826
1643
  ],
1827
- "stateMutability": "nonpayable"
1644
+ stateMutability: "nonpayable"
1828
1645
  },
1829
1646
  {
1830
- "type": "function",
1831
- "name": "simulateValidation",
1832
- "inputs": [
1647
+ type: "function",
1648
+ name: "simulateValidation",
1649
+ inputs: [
1833
1650
  {
1834
- "name": "userOp",
1835
- "type": "tuple",
1836
- "internalType": "struct PackedUserOperation",
1837
- "components": [
1651
+ name: "userOp",
1652
+ type: "tuple",
1653
+ internalType: "struct PackedUserOperation",
1654
+ components: [
1838
1655
  {
1839
- "name": "sender",
1840
- "type": "address",
1841
- "internalType": "address"
1656
+ name: "sender",
1657
+ type: "address",
1658
+ internalType: "address"
1842
1659
  },
1660
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1661
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1662
+ { name: "callData", type: "bytes", internalType: "bytes" },
1843
1663
  {
1844
- "name": "nonce",
1845
- "type": "uint256",
1846
- "internalType": "uint256"
1664
+ name: "accountGasLimits",
1665
+ type: "bytes32",
1666
+ internalType: "bytes32"
1847
1667
  },
1848
1668
  {
1849
- "name": "initCode",
1850
- "type": "bytes",
1851
- "internalType": "bytes"
1669
+ name: "preVerificationGas",
1670
+ type: "uint256",
1671
+ internalType: "uint256"
1852
1672
  },
1853
1673
  {
1854
- "name": "callData",
1855
- "type": "bytes",
1856
- "internalType": "bytes"
1674
+ name: "gasFees",
1675
+ type: "bytes32",
1676
+ internalType: "bytes32"
1857
1677
  },
1858
1678
  {
1859
- "name": "accountGasLimits",
1860
- "type": "bytes32",
1861
- "internalType": "bytes32"
1679
+ name: "paymasterAndData",
1680
+ type: "bytes",
1681
+ internalType: "bytes"
1862
1682
  },
1863
- {
1864
- "name": "preVerificationGas",
1865
- "type": "uint256",
1866
- "internalType": "uint256"
1867
- },
1868
- {
1869
- "name": "gasFees",
1870
- "type": "bytes32",
1871
- "internalType": "bytes32"
1872
- },
1873
- {
1874
- "name": "paymasterAndData",
1875
- "type": "bytes",
1876
- "internalType": "bytes"
1877
- },
1878
- {
1879
- "name": "signature",
1880
- "type": "bytes",
1881
- "internalType": "bytes"
1882
- }
1683
+ { name: "signature", type: "bytes", internalType: "bytes" }
1883
1684
  ]
1884
1685
  }
1885
1686
  ],
1886
- "outputs": [
1687
+ outputs: [
1887
1688
  {
1888
- "name": "",
1889
- "type": "tuple",
1890
- "internalType": "struct IEntryPointSimulations.ValidationResult",
1891
- "components": [
1689
+ name: "",
1690
+ type: "tuple",
1691
+ internalType: "struct IEntryPointSimulations.ValidationResult",
1692
+ components: [
1892
1693
  {
1893
- "name": "returnInfo",
1894
- "type": "tuple",
1895
- "internalType": "struct IEntryPoint.ReturnInfo",
1896
- "components": [
1694
+ name: "returnInfo",
1695
+ type: "tuple",
1696
+ internalType: "struct IEntryPoint.ReturnInfo",
1697
+ components: [
1897
1698
  {
1898
- "name": "preOpGas",
1899
- "type": "uint256",
1900
- "internalType": "uint256"
1699
+ name: "preOpGas",
1700
+ type: "uint256",
1701
+ internalType: "uint256"
1901
1702
  },
1902
1703
  {
1903
- "name": "prefund",
1904
- "type": "uint256",
1905
- "internalType": "uint256"
1704
+ name: "prefund",
1705
+ type: "uint256",
1706
+ internalType: "uint256"
1906
1707
  },
1907
1708
  {
1908
- "name": "accountValidationData",
1909
- "type": "uint256",
1910
- "internalType": "uint256"
1709
+ name: "accountValidationData",
1710
+ type: "uint256",
1711
+ internalType: "uint256"
1911
1712
  },
1912
1713
  {
1913
- "name": "paymasterValidationData",
1914
- "type": "uint256",
1915
- "internalType": "uint256"
1714
+ name: "paymasterValidationData",
1715
+ type: "uint256",
1716
+ internalType: "uint256"
1916
1717
  },
1917
1718
  {
1918
- "name": "paymasterContext",
1919
- "type": "bytes",
1920
- "internalType": "bytes"
1719
+ name: "paymasterContext",
1720
+ type: "bytes",
1721
+ internalType: "bytes"
1921
1722
  }
1922
1723
  ]
1923
1724
  },
1924
1725
  {
1925
- "name": "senderInfo",
1926
- "type": "tuple",
1927
- "internalType": "struct IStakeManager.StakeInfo",
1928
- "components": [
1726
+ name: "senderInfo",
1727
+ type: "tuple",
1728
+ internalType: "struct IStakeManager.StakeInfo",
1729
+ components: [
1929
1730
  {
1930
- "name": "stake",
1931
- "type": "uint256",
1932
- "internalType": "uint256"
1731
+ name: "stake",
1732
+ type: "uint256",
1733
+ internalType: "uint256"
1933
1734
  },
1934
1735
  {
1935
- "name": "unstakeDelaySec",
1936
- "type": "uint256",
1937
- "internalType": "uint256"
1736
+ name: "unstakeDelaySec",
1737
+ type: "uint256",
1738
+ internalType: "uint256"
1938
1739
  }
1939
1740
  ]
1940
1741
  },
1941
1742
  {
1942
- "name": "factoryInfo",
1943
- "type": "tuple",
1944
- "internalType": "struct IStakeManager.StakeInfo",
1945
- "components": [
1743
+ name: "factoryInfo",
1744
+ type: "tuple",
1745
+ internalType: "struct IStakeManager.StakeInfo",
1746
+ components: [
1946
1747
  {
1947
- "name": "stake",
1948
- "type": "uint256",
1949
- "internalType": "uint256"
1748
+ name: "stake",
1749
+ type: "uint256",
1750
+ internalType: "uint256"
1950
1751
  },
1951
1752
  {
1952
- "name": "unstakeDelaySec",
1953
- "type": "uint256",
1954
- "internalType": "uint256"
1753
+ name: "unstakeDelaySec",
1754
+ type: "uint256",
1755
+ internalType: "uint256"
1955
1756
  }
1956
1757
  ]
1957
1758
  },
1958
1759
  {
1959
- "name": "paymasterInfo",
1960
- "type": "tuple",
1961
- "internalType": "struct IStakeManager.StakeInfo",
1962
- "components": [
1760
+ name: "paymasterInfo",
1761
+ type: "tuple",
1762
+ internalType: "struct IStakeManager.StakeInfo",
1763
+ components: [
1963
1764
  {
1964
- "name": "stake",
1965
- "type": "uint256",
1966
- "internalType": "uint256"
1765
+ name: "stake",
1766
+ type: "uint256",
1767
+ internalType: "uint256"
1967
1768
  },
1968
1769
  {
1969
- "name": "unstakeDelaySec",
1970
- "type": "uint256",
1971
- "internalType": "uint256"
1770
+ name: "unstakeDelaySec",
1771
+ type: "uint256",
1772
+ internalType: "uint256"
1972
1773
  }
1973
1774
  ]
1974
1775
  },
1975
1776
  {
1976
- "name": "aggregatorInfo",
1977
- "type": "tuple",
1978
- "internalType": "struct IEntryPoint.AggregatorStakeInfo",
1979
- "components": [
1777
+ name: "aggregatorInfo",
1778
+ type: "tuple",
1779
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
1780
+ components: [
1980
1781
  {
1981
- "name": "aggregator",
1982
- "type": "address",
1983
- "internalType": "address"
1782
+ name: "aggregator",
1783
+ type: "address",
1784
+ internalType: "address"
1984
1785
  },
1985
1786
  {
1986
- "name": "stakeInfo",
1987
- "type": "tuple",
1988
- "internalType": "struct IStakeManager.StakeInfo",
1989
- "components": [
1787
+ name: "stakeInfo",
1788
+ type: "tuple",
1789
+ internalType: "struct IStakeManager.StakeInfo",
1790
+ components: [
1990
1791
  {
1991
- "name": "stake",
1992
- "type": "uint256",
1993
- "internalType": "uint256"
1792
+ name: "stake",
1793
+ type: "uint256",
1794
+ internalType: "uint256"
1994
1795
  },
1995
1796
  {
1996
- "name": "unstakeDelaySec",
1997
- "type": "uint256",
1998
- "internalType": "uint256"
1797
+ name: "unstakeDelaySec",
1798
+ type: "uint256",
1799
+ internalType: "uint256"
1999
1800
  }
2000
1801
  ]
2001
1802
  }
@@ -2004,178 +1805,162 @@ export const EntryPointV07SimulationsAbi = [
2004
1805
  ]
2005
1806
  }
2006
1807
  ],
2007
- "stateMutability": "nonpayable"
1808
+ stateMutability: "nonpayable"
2008
1809
  },
2009
1810
  {
2010
- "type": "function",
2011
- "name": "simulateValidationBulk",
2012
- "inputs": [
1811
+ type: "function",
1812
+ name: "simulateValidationBulk",
1813
+ inputs: [
2013
1814
  {
2014
- "name": "userOps",
2015
- "type": "tuple[]",
2016
- "internalType": "struct PackedUserOperation[]",
2017
- "components": [
2018
- {
2019
- "name": "sender",
2020
- "type": "address",
2021
- "internalType": "address"
2022
- },
2023
- {
2024
- "name": "nonce",
2025
- "type": "uint256",
2026
- "internalType": "uint256"
2027
- },
1815
+ name: "userOps",
1816
+ type: "tuple[]",
1817
+ internalType: "struct PackedUserOperation[]",
1818
+ components: [
2028
1819
  {
2029
- "name": "initCode",
2030
- "type": "bytes",
2031
- "internalType": "bytes"
1820
+ name: "sender",
1821
+ type: "address",
1822
+ internalType: "address"
2032
1823
  },
1824
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1825
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1826
+ { name: "callData", type: "bytes", internalType: "bytes" },
2033
1827
  {
2034
- "name": "callData",
2035
- "type": "bytes",
2036
- "internalType": "bytes"
1828
+ name: "accountGasLimits",
1829
+ type: "bytes32",
1830
+ internalType: "bytes32"
2037
1831
  },
2038
1832
  {
2039
- "name": "accountGasLimits",
2040
- "type": "bytes32",
2041
- "internalType": "bytes32"
1833
+ name: "preVerificationGas",
1834
+ type: "uint256",
1835
+ internalType: "uint256"
2042
1836
  },
2043
1837
  {
2044
- "name": "preVerificationGas",
2045
- "type": "uint256",
2046
- "internalType": "uint256"
1838
+ name: "gasFees",
1839
+ type: "bytes32",
1840
+ internalType: "bytes32"
2047
1841
  },
2048
1842
  {
2049
- "name": "gasFees",
2050
- "type": "bytes32",
2051
- "internalType": "bytes32"
1843
+ name: "paymasterAndData",
1844
+ type: "bytes",
1845
+ internalType: "bytes"
2052
1846
  },
2053
- {
2054
- "name": "paymasterAndData",
2055
- "type": "bytes",
2056
- "internalType": "bytes"
2057
- },
2058
- {
2059
- "name": "signature",
2060
- "type": "bytes",
2061
- "internalType": "bytes"
2062
- }
1847
+ { name: "signature", type: "bytes", internalType: "bytes" }
2063
1848
  ]
2064
1849
  }
2065
1850
  ],
2066
- "outputs": [
1851
+ outputs: [
2067
1852
  {
2068
- "name": "",
2069
- "type": "tuple[]",
2070
- "internalType": "struct IEntryPointSimulations.ValidationResult[]",
2071
- "components": [
1853
+ name: "",
1854
+ type: "tuple[]",
1855
+ internalType: "struct IEntryPointSimulations.ValidationResult[]",
1856
+ components: [
2072
1857
  {
2073
- "name": "returnInfo",
2074
- "type": "tuple",
2075
- "internalType": "struct IEntryPoint.ReturnInfo",
2076
- "components": [
1858
+ name: "returnInfo",
1859
+ type: "tuple",
1860
+ internalType: "struct IEntryPoint.ReturnInfo",
1861
+ components: [
2077
1862
  {
2078
- "name": "preOpGas",
2079
- "type": "uint256",
2080
- "internalType": "uint256"
1863
+ name: "preOpGas",
1864
+ type: "uint256",
1865
+ internalType: "uint256"
2081
1866
  },
2082
1867
  {
2083
- "name": "prefund",
2084
- "type": "uint256",
2085
- "internalType": "uint256"
1868
+ name: "prefund",
1869
+ type: "uint256",
1870
+ internalType: "uint256"
2086
1871
  },
2087
1872
  {
2088
- "name": "accountValidationData",
2089
- "type": "uint256",
2090
- "internalType": "uint256"
1873
+ name: "accountValidationData",
1874
+ type: "uint256",
1875
+ internalType: "uint256"
2091
1876
  },
2092
1877
  {
2093
- "name": "paymasterValidationData",
2094
- "type": "uint256",
2095
- "internalType": "uint256"
1878
+ name: "paymasterValidationData",
1879
+ type: "uint256",
1880
+ internalType: "uint256"
2096
1881
  },
2097
1882
  {
2098
- "name": "paymasterContext",
2099
- "type": "bytes",
2100
- "internalType": "bytes"
1883
+ name: "paymasterContext",
1884
+ type: "bytes",
1885
+ internalType: "bytes"
2101
1886
  }
2102
1887
  ]
2103
1888
  },
2104
1889
  {
2105
- "name": "senderInfo",
2106
- "type": "tuple",
2107
- "internalType": "struct IStakeManager.StakeInfo",
2108
- "components": [
1890
+ name: "senderInfo",
1891
+ type: "tuple",
1892
+ internalType: "struct IStakeManager.StakeInfo",
1893
+ components: [
2109
1894
  {
2110
- "name": "stake",
2111
- "type": "uint256",
2112
- "internalType": "uint256"
1895
+ name: "stake",
1896
+ type: "uint256",
1897
+ internalType: "uint256"
2113
1898
  },
2114
1899
  {
2115
- "name": "unstakeDelaySec",
2116
- "type": "uint256",
2117
- "internalType": "uint256"
1900
+ name: "unstakeDelaySec",
1901
+ type: "uint256",
1902
+ internalType: "uint256"
2118
1903
  }
2119
1904
  ]
2120
1905
  },
2121
1906
  {
2122
- "name": "factoryInfo",
2123
- "type": "tuple",
2124
- "internalType": "struct IStakeManager.StakeInfo",
2125
- "components": [
1907
+ name: "factoryInfo",
1908
+ type: "tuple",
1909
+ internalType: "struct IStakeManager.StakeInfo",
1910
+ components: [
2126
1911
  {
2127
- "name": "stake",
2128
- "type": "uint256",
2129
- "internalType": "uint256"
1912
+ name: "stake",
1913
+ type: "uint256",
1914
+ internalType: "uint256"
2130
1915
  },
2131
1916
  {
2132
- "name": "unstakeDelaySec",
2133
- "type": "uint256",
2134
- "internalType": "uint256"
1917
+ name: "unstakeDelaySec",
1918
+ type: "uint256",
1919
+ internalType: "uint256"
2135
1920
  }
2136
1921
  ]
2137
1922
  },
2138
1923
  {
2139
- "name": "paymasterInfo",
2140
- "type": "tuple",
2141
- "internalType": "struct IStakeManager.StakeInfo",
2142
- "components": [
1924
+ name: "paymasterInfo",
1925
+ type: "tuple",
1926
+ internalType: "struct IStakeManager.StakeInfo",
1927
+ components: [
2143
1928
  {
2144
- "name": "stake",
2145
- "type": "uint256",
2146
- "internalType": "uint256"
1929
+ name: "stake",
1930
+ type: "uint256",
1931
+ internalType: "uint256"
2147
1932
  },
2148
1933
  {
2149
- "name": "unstakeDelaySec",
2150
- "type": "uint256",
2151
- "internalType": "uint256"
1934
+ name: "unstakeDelaySec",
1935
+ type: "uint256",
1936
+ internalType: "uint256"
2152
1937
  }
2153
1938
  ]
2154
1939
  },
2155
1940
  {
2156
- "name": "aggregatorInfo",
2157
- "type": "tuple",
2158
- "internalType": "struct IEntryPoint.AggregatorStakeInfo",
2159
- "components": [
1941
+ name: "aggregatorInfo",
1942
+ type: "tuple",
1943
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
1944
+ components: [
2160
1945
  {
2161
- "name": "aggregator",
2162
- "type": "address",
2163
- "internalType": "address"
1946
+ name: "aggregator",
1947
+ type: "address",
1948
+ internalType: "address"
2164
1949
  },
2165
1950
  {
2166
- "name": "stakeInfo",
2167
- "type": "tuple",
2168
- "internalType": "struct IStakeManager.StakeInfo",
2169
- "components": [
1951
+ name: "stakeInfo",
1952
+ type: "tuple",
1953
+ internalType: "struct IStakeManager.StakeInfo",
1954
+ components: [
2170
1955
  {
2171
- "name": "stake",
2172
- "type": "uint256",
2173
- "internalType": "uint256"
1956
+ name: "stake",
1957
+ type: "uint256",
1958
+ internalType: "uint256"
2174
1959
  },
2175
1960
  {
2176
- "name": "unstakeDelaySec",
2177
- "type": "uint256",
2178
- "internalType": "uint256"
1961
+ name: "unstakeDelaySec",
1962
+ type: "uint256",
1963
+ internalType: "uint256"
2179
1964
  }
2180
1965
  ]
2181
1966
  }
@@ -2184,178 +1969,162 @@ export const EntryPointV07SimulationsAbi = [
2184
1969
  ]
2185
1970
  }
2186
1971
  ],
2187
- "stateMutability": "nonpayable"
1972
+ stateMutability: "nonpayable"
2188
1973
  },
2189
1974
  {
2190
- "type": "function",
2191
- "name": "simulateValidationLast",
2192
- "inputs": [
1975
+ type: "function",
1976
+ name: "simulateValidationLast",
1977
+ inputs: [
2193
1978
  {
2194
- "name": "userOps",
2195
- "type": "tuple[]",
2196
- "internalType": "struct PackedUserOperation[]",
2197
- "components": [
2198
- {
2199
- "name": "sender",
2200
- "type": "address",
2201
- "internalType": "address"
2202
- },
2203
- {
2204
- "name": "nonce",
2205
- "type": "uint256",
2206
- "internalType": "uint256"
2207
- },
2208
- {
2209
- "name": "initCode",
2210
- "type": "bytes",
2211
- "internalType": "bytes"
2212
- },
1979
+ name: "userOps",
1980
+ type: "tuple[]",
1981
+ internalType: "struct PackedUserOperation[]",
1982
+ components: [
2213
1983
  {
2214
- "name": "callData",
2215
- "type": "bytes",
2216
- "internalType": "bytes"
1984
+ name: "sender",
1985
+ type: "address",
1986
+ internalType: "address"
2217
1987
  },
1988
+ { name: "nonce", type: "uint256", internalType: "uint256" },
1989
+ { name: "initCode", type: "bytes", internalType: "bytes" },
1990
+ { name: "callData", type: "bytes", internalType: "bytes" },
2218
1991
  {
2219
- "name": "accountGasLimits",
2220
- "type": "bytes32",
2221
- "internalType": "bytes32"
1992
+ name: "accountGasLimits",
1993
+ type: "bytes32",
1994
+ internalType: "bytes32"
2222
1995
  },
2223
1996
  {
2224
- "name": "preVerificationGas",
2225
- "type": "uint256",
2226
- "internalType": "uint256"
1997
+ name: "preVerificationGas",
1998
+ type: "uint256",
1999
+ internalType: "uint256"
2227
2000
  },
2228
2001
  {
2229
- "name": "gasFees",
2230
- "type": "bytes32",
2231
- "internalType": "bytes32"
2002
+ name: "gasFees",
2003
+ type: "bytes32",
2004
+ internalType: "bytes32"
2232
2005
  },
2233
2006
  {
2234
- "name": "paymasterAndData",
2235
- "type": "bytes",
2236
- "internalType": "bytes"
2007
+ name: "paymasterAndData",
2008
+ type: "bytes",
2009
+ internalType: "bytes"
2237
2010
  },
2238
- {
2239
- "name": "signature",
2240
- "type": "bytes",
2241
- "internalType": "bytes"
2242
- }
2011
+ { name: "signature", type: "bytes", internalType: "bytes" }
2243
2012
  ]
2244
2013
  }
2245
2014
  ],
2246
- "outputs": [
2015
+ outputs: [
2247
2016
  {
2248
- "name": "",
2249
- "type": "tuple",
2250
- "internalType": "struct IEntryPointSimulations.ValidationResult",
2251
- "components": [
2017
+ name: "",
2018
+ type: "tuple",
2019
+ internalType: "struct IEntryPointSimulations.ValidationResult",
2020
+ components: [
2252
2021
  {
2253
- "name": "returnInfo",
2254
- "type": "tuple",
2255
- "internalType": "struct IEntryPoint.ReturnInfo",
2256
- "components": [
2022
+ name: "returnInfo",
2023
+ type: "tuple",
2024
+ internalType: "struct IEntryPoint.ReturnInfo",
2025
+ components: [
2257
2026
  {
2258
- "name": "preOpGas",
2259
- "type": "uint256",
2260
- "internalType": "uint256"
2027
+ name: "preOpGas",
2028
+ type: "uint256",
2029
+ internalType: "uint256"
2261
2030
  },
2262
2031
  {
2263
- "name": "prefund",
2264
- "type": "uint256",
2265
- "internalType": "uint256"
2032
+ name: "prefund",
2033
+ type: "uint256",
2034
+ internalType: "uint256"
2266
2035
  },
2267
2036
  {
2268
- "name": "accountValidationData",
2269
- "type": "uint256",
2270
- "internalType": "uint256"
2037
+ name: "accountValidationData",
2038
+ type: "uint256",
2039
+ internalType: "uint256"
2271
2040
  },
2272
2041
  {
2273
- "name": "paymasterValidationData",
2274
- "type": "uint256",
2275
- "internalType": "uint256"
2042
+ name: "paymasterValidationData",
2043
+ type: "uint256",
2044
+ internalType: "uint256"
2276
2045
  },
2277
2046
  {
2278
- "name": "paymasterContext",
2279
- "type": "bytes",
2280
- "internalType": "bytes"
2047
+ name: "paymasterContext",
2048
+ type: "bytes",
2049
+ internalType: "bytes"
2281
2050
  }
2282
2051
  ]
2283
2052
  },
2284
2053
  {
2285
- "name": "senderInfo",
2286
- "type": "tuple",
2287
- "internalType": "struct IStakeManager.StakeInfo",
2288
- "components": [
2054
+ name: "senderInfo",
2055
+ type: "tuple",
2056
+ internalType: "struct IStakeManager.StakeInfo",
2057
+ components: [
2289
2058
  {
2290
- "name": "stake",
2291
- "type": "uint256",
2292
- "internalType": "uint256"
2059
+ name: "stake",
2060
+ type: "uint256",
2061
+ internalType: "uint256"
2293
2062
  },
2294
2063
  {
2295
- "name": "unstakeDelaySec",
2296
- "type": "uint256",
2297
- "internalType": "uint256"
2064
+ name: "unstakeDelaySec",
2065
+ type: "uint256",
2066
+ internalType: "uint256"
2298
2067
  }
2299
2068
  ]
2300
2069
  },
2301
2070
  {
2302
- "name": "factoryInfo",
2303
- "type": "tuple",
2304
- "internalType": "struct IStakeManager.StakeInfo",
2305
- "components": [
2071
+ name: "factoryInfo",
2072
+ type: "tuple",
2073
+ internalType: "struct IStakeManager.StakeInfo",
2074
+ components: [
2306
2075
  {
2307
- "name": "stake",
2308
- "type": "uint256",
2309
- "internalType": "uint256"
2076
+ name: "stake",
2077
+ type: "uint256",
2078
+ internalType: "uint256"
2310
2079
  },
2311
2080
  {
2312
- "name": "unstakeDelaySec",
2313
- "type": "uint256",
2314
- "internalType": "uint256"
2081
+ name: "unstakeDelaySec",
2082
+ type: "uint256",
2083
+ internalType: "uint256"
2315
2084
  }
2316
2085
  ]
2317
2086
  },
2318
2087
  {
2319
- "name": "paymasterInfo",
2320
- "type": "tuple",
2321
- "internalType": "struct IStakeManager.StakeInfo",
2322
- "components": [
2088
+ name: "paymasterInfo",
2089
+ type: "tuple",
2090
+ internalType: "struct IStakeManager.StakeInfo",
2091
+ components: [
2323
2092
  {
2324
- "name": "stake",
2325
- "type": "uint256",
2326
- "internalType": "uint256"
2093
+ name: "stake",
2094
+ type: "uint256",
2095
+ internalType: "uint256"
2327
2096
  },
2328
2097
  {
2329
- "name": "unstakeDelaySec",
2330
- "type": "uint256",
2331
- "internalType": "uint256"
2098
+ name: "unstakeDelaySec",
2099
+ type: "uint256",
2100
+ internalType: "uint256"
2332
2101
  }
2333
2102
  ]
2334
2103
  },
2335
2104
  {
2336
- "name": "aggregatorInfo",
2337
- "type": "tuple",
2338
- "internalType": "struct IEntryPoint.AggregatorStakeInfo",
2339
- "components": [
2105
+ name: "aggregatorInfo",
2106
+ type: "tuple",
2107
+ internalType: "struct IEntryPoint.AggregatorStakeInfo",
2108
+ components: [
2340
2109
  {
2341
- "name": "aggregator",
2342
- "type": "address",
2343
- "internalType": "address"
2110
+ name: "aggregator",
2111
+ type: "address",
2112
+ internalType: "address"
2344
2113
  },
2345
2114
  {
2346
- "name": "stakeInfo",
2347
- "type": "tuple",
2348
- "internalType": "struct IStakeManager.StakeInfo",
2349
- "components": [
2115
+ name: "stakeInfo",
2116
+ type: "tuple",
2117
+ internalType: "struct IStakeManager.StakeInfo",
2118
+ components: [
2350
2119
  {
2351
- "name": "stake",
2352
- "type": "uint256",
2353
- "internalType": "uint256"
2120
+ name: "stake",
2121
+ type: "uint256",
2122
+ internalType: "uint256"
2354
2123
  },
2355
2124
  {
2356
- "name": "unstakeDelaySec",
2357
- "type": "uint256",
2358
- "internalType": "uint256"
2125
+ name: "unstakeDelaySec",
2126
+ type: "uint256",
2127
+ internalType: "uint256"
2359
2128
  }
2360
2129
  ]
2361
2130
  }
@@ -2364,451 +2133,387 @@ export const EntryPointV07SimulationsAbi = [
2364
2133
  ]
2365
2134
  }
2366
2135
  ],
2367
- "stateMutability": "nonpayable"
2136
+ stateMutability: "nonpayable"
2368
2137
  },
2369
2138
  {
2370
- "type": "function",
2371
- "name": "unlockStake",
2372
- "inputs": [],
2373
- "outputs": [],
2374
- "stateMutability": "nonpayable"
2139
+ type: "function",
2140
+ name: "unlockStake",
2141
+ inputs: [],
2142
+ outputs: [],
2143
+ stateMutability: "nonpayable"
2375
2144
  },
2376
2145
  {
2377
- "type": "function",
2378
- "name": "withdrawStake",
2379
- "inputs": [
2146
+ type: "function",
2147
+ name: "withdrawStake",
2148
+ inputs: [
2380
2149
  {
2381
- "name": "withdrawAddress",
2382
- "type": "address",
2383
- "internalType": "address payable"
2150
+ name: "withdrawAddress",
2151
+ type: "address",
2152
+ internalType: "address payable"
2384
2153
  }
2385
2154
  ],
2386
- "outputs": [],
2387
- "stateMutability": "nonpayable"
2155
+ outputs: [],
2156
+ stateMutability: "nonpayable"
2388
2157
  },
2389
2158
  {
2390
- "type": "function",
2391
- "name": "withdrawTo",
2392
- "inputs": [
2159
+ type: "function",
2160
+ name: "withdrawTo",
2161
+ inputs: [
2393
2162
  {
2394
- "name": "withdrawAddress",
2395
- "type": "address",
2396
- "internalType": "address payable"
2163
+ name: "withdrawAddress",
2164
+ type: "address",
2165
+ internalType: "address payable"
2397
2166
  },
2398
- {
2399
- "name": "withdrawAmount",
2400
- "type": "uint256",
2401
- "internalType": "uint256"
2402
- }
2167
+ { name: "withdrawAmount", type: "uint256", internalType: "uint256" }
2403
2168
  ],
2404
- "outputs": [],
2405
- "stateMutability": "nonpayable"
2169
+ outputs: [],
2170
+ stateMutability: "nonpayable"
2406
2171
  },
2407
2172
  {
2408
- "type": "event",
2409
- "name": "AccountDeployed",
2410
- "inputs": [
2411
- {
2412
- "name": "userOpHash",
2413
- "type": "bytes32",
2414
- "indexed": true,
2415
- "internalType": "bytes32"
2173
+ type: "event",
2174
+ name: "AccountDeployed",
2175
+ inputs: [
2176
+ {
2177
+ name: "userOpHash",
2178
+ type: "bytes32",
2179
+ indexed: true,
2180
+ internalType: "bytes32"
2416
2181
  },
2417
2182
  {
2418
- "name": "sender",
2419
- "type": "address",
2420
- "indexed": true,
2421
- "internalType": "address"
2183
+ name: "sender",
2184
+ type: "address",
2185
+ indexed: true,
2186
+ internalType: "address"
2422
2187
  },
2423
2188
  {
2424
- "name": "factory",
2425
- "type": "address",
2426
- "indexed": false,
2427
- "internalType": "address"
2189
+ name: "factory",
2190
+ type: "address",
2191
+ indexed: false,
2192
+ internalType: "address"
2428
2193
  },
2429
2194
  {
2430
- "name": "paymaster",
2431
- "type": "address",
2432
- "indexed": false,
2433
- "internalType": "address"
2195
+ name: "paymaster",
2196
+ type: "address",
2197
+ indexed: false,
2198
+ internalType: "address"
2434
2199
  }
2435
2200
  ],
2436
- "anonymous": false
2437
- },
2438
- {
2439
- "type": "event",
2440
- "name": "BeforeExecution",
2441
- "inputs": [],
2442
- "anonymous": false
2201
+ anonymous: false
2443
2202
  },
2203
+ { type: "event", name: "BeforeExecution", inputs: [], anonymous: false },
2444
2204
  {
2445
- "type": "event",
2446
- "name": "Deposited",
2447
- "inputs": [
2448
- {
2449
- "name": "account",
2450
- "type": "address",
2451
- "indexed": true,
2452
- "internalType": "address"
2205
+ type: "event",
2206
+ name: "Deposited",
2207
+ inputs: [
2208
+ {
2209
+ name: "account",
2210
+ type: "address",
2211
+ indexed: true,
2212
+ internalType: "address"
2453
2213
  },
2454
2214
  {
2455
- "name": "totalDeposit",
2456
- "type": "uint256",
2457
- "indexed": false,
2458
- "internalType": "uint256"
2215
+ name: "totalDeposit",
2216
+ type: "uint256",
2217
+ indexed: false,
2218
+ internalType: "uint256"
2459
2219
  }
2460
2220
  ],
2461
- "anonymous": false
2221
+ anonymous: false
2462
2222
  },
2463
2223
  {
2464
- "type": "event",
2465
- "name": "PostOpRevertReason",
2466
- "inputs": [
2467
- {
2468
- "name": "userOpHash",
2469
- "type": "bytes32",
2470
- "indexed": true,
2471
- "internalType": "bytes32"
2224
+ type: "event",
2225
+ name: "PostOpRevertReason",
2226
+ inputs: [
2227
+ {
2228
+ name: "userOpHash",
2229
+ type: "bytes32",
2230
+ indexed: true,
2231
+ internalType: "bytes32"
2472
2232
  },
2473
2233
  {
2474
- "name": "sender",
2475
- "type": "address",
2476
- "indexed": true,
2477
- "internalType": "address"
2234
+ name: "sender",
2235
+ type: "address",
2236
+ indexed: true,
2237
+ internalType: "address"
2478
2238
  },
2479
2239
  {
2480
- "name": "nonce",
2481
- "type": "uint256",
2482
- "indexed": false,
2483
- "internalType": "uint256"
2240
+ name: "nonce",
2241
+ type: "uint256",
2242
+ indexed: false,
2243
+ internalType: "uint256"
2484
2244
  },
2485
2245
  {
2486
- "name": "revertReason",
2487
- "type": "bytes",
2488
- "indexed": false,
2489
- "internalType": "bytes"
2246
+ name: "revertReason",
2247
+ type: "bytes",
2248
+ indexed: false,
2249
+ internalType: "bytes"
2490
2250
  }
2491
2251
  ],
2492
- "anonymous": false
2252
+ anonymous: false
2493
2253
  },
2494
2254
  {
2495
- "type": "event",
2496
- "name": "SignatureAggregatorChanged",
2497
- "inputs": [
2498
- {
2499
- "name": "aggregator",
2500
- "type": "address",
2501
- "indexed": true,
2502
- "internalType": "address"
2255
+ type: "event",
2256
+ name: "SignatureAggregatorChanged",
2257
+ inputs: [
2258
+ {
2259
+ name: "aggregator",
2260
+ type: "address",
2261
+ indexed: true,
2262
+ internalType: "address"
2503
2263
  }
2504
2264
  ],
2505
- "anonymous": false
2265
+ anonymous: false
2506
2266
  },
2507
2267
  {
2508
- "type": "event",
2509
- "name": "StakeLocked",
2510
- "inputs": [
2511
- {
2512
- "name": "account",
2513
- "type": "address",
2514
- "indexed": true,
2515
- "internalType": "address"
2268
+ type: "event",
2269
+ name: "StakeLocked",
2270
+ inputs: [
2271
+ {
2272
+ name: "account",
2273
+ type: "address",
2274
+ indexed: true,
2275
+ internalType: "address"
2516
2276
  },
2517
2277
  {
2518
- "name": "totalStaked",
2519
- "type": "uint256",
2520
- "indexed": false,
2521
- "internalType": "uint256"
2278
+ name: "totalStaked",
2279
+ type: "uint256",
2280
+ indexed: false,
2281
+ internalType: "uint256"
2522
2282
  },
2523
2283
  {
2524
- "name": "unstakeDelaySec",
2525
- "type": "uint256",
2526
- "indexed": false,
2527
- "internalType": "uint256"
2284
+ name: "unstakeDelaySec",
2285
+ type: "uint256",
2286
+ indexed: false,
2287
+ internalType: "uint256"
2528
2288
  }
2529
2289
  ],
2530
- "anonymous": false
2290
+ anonymous: false
2531
2291
  },
2532
2292
  {
2533
- "type": "event",
2534
- "name": "StakeUnlocked",
2535
- "inputs": [
2536
- {
2537
- "name": "account",
2538
- "type": "address",
2539
- "indexed": true,
2540
- "internalType": "address"
2293
+ type: "event",
2294
+ name: "StakeUnlocked",
2295
+ inputs: [
2296
+ {
2297
+ name: "account",
2298
+ type: "address",
2299
+ indexed: true,
2300
+ internalType: "address"
2541
2301
  },
2542
2302
  {
2543
- "name": "withdrawTime",
2544
- "type": "uint256",
2545
- "indexed": false,
2546
- "internalType": "uint256"
2303
+ name: "withdrawTime",
2304
+ type: "uint256",
2305
+ indexed: false,
2306
+ internalType: "uint256"
2547
2307
  }
2548
2308
  ],
2549
- "anonymous": false
2309
+ anonymous: false
2550
2310
  },
2551
2311
  {
2552
- "type": "event",
2553
- "name": "StakeWithdrawn",
2554
- "inputs": [
2555
- {
2556
- "name": "account",
2557
- "type": "address",
2558
- "indexed": true,
2559
- "internalType": "address"
2312
+ type: "event",
2313
+ name: "StakeWithdrawn",
2314
+ inputs: [
2315
+ {
2316
+ name: "account",
2317
+ type: "address",
2318
+ indexed: true,
2319
+ internalType: "address"
2560
2320
  },
2561
2321
  {
2562
- "name": "withdrawAddress",
2563
- "type": "address",
2564
- "indexed": false,
2565
- "internalType": "address"
2322
+ name: "withdrawAddress",
2323
+ type: "address",
2324
+ indexed: false,
2325
+ internalType: "address"
2566
2326
  },
2567
2327
  {
2568
- "name": "amount",
2569
- "type": "uint256",
2570
- "indexed": false,
2571
- "internalType": "uint256"
2328
+ name: "amount",
2329
+ type: "uint256",
2330
+ indexed: false,
2331
+ internalType: "uint256"
2572
2332
  }
2573
2333
  ],
2574
- "anonymous": false
2334
+ anonymous: false
2575
2335
  },
2576
2336
  {
2577
- "type": "event",
2578
- "name": "UserOperationEvent",
2579
- "inputs": [
2580
- {
2581
- "name": "userOpHash",
2582
- "type": "bytes32",
2583
- "indexed": true,
2584
- "internalType": "bytes32"
2337
+ type: "event",
2338
+ name: "UserOperationEvent",
2339
+ inputs: [
2340
+ {
2341
+ name: "userOpHash",
2342
+ type: "bytes32",
2343
+ indexed: true,
2344
+ internalType: "bytes32"
2585
2345
  },
2586
2346
  {
2587
- "name": "sender",
2588
- "type": "address",
2589
- "indexed": true,
2590
- "internalType": "address"
2347
+ name: "sender",
2348
+ type: "address",
2349
+ indexed: true,
2350
+ internalType: "address"
2591
2351
  },
2592
2352
  {
2593
- "name": "paymaster",
2594
- "type": "address",
2595
- "indexed": true,
2596
- "internalType": "address"
2353
+ name: "paymaster",
2354
+ type: "address",
2355
+ indexed: true,
2356
+ internalType: "address"
2597
2357
  },
2598
2358
  {
2599
- "name": "nonce",
2600
- "type": "uint256",
2601
- "indexed": false,
2602
- "internalType": "uint256"
2359
+ name: "nonce",
2360
+ type: "uint256",
2361
+ indexed: false,
2362
+ internalType: "uint256"
2603
2363
  },
2604
2364
  {
2605
- "name": "success",
2606
- "type": "bool",
2607
- "indexed": false,
2608
- "internalType": "bool"
2365
+ name: "success",
2366
+ type: "bool",
2367
+ indexed: false,
2368
+ internalType: "bool"
2609
2369
  },
2610
2370
  {
2611
- "name": "actualGasCost",
2612
- "type": "uint256",
2613
- "indexed": false,
2614
- "internalType": "uint256"
2371
+ name: "actualGasCost",
2372
+ type: "uint256",
2373
+ indexed: false,
2374
+ internalType: "uint256"
2615
2375
  },
2616
2376
  {
2617
- "name": "actualGasUsed",
2618
- "type": "uint256",
2619
- "indexed": false,
2620
- "internalType": "uint256"
2377
+ name: "actualGasUsed",
2378
+ type: "uint256",
2379
+ indexed: false,
2380
+ internalType: "uint256"
2621
2381
  }
2622
2382
  ],
2623
- "anonymous": false
2383
+ anonymous: false
2624
2384
  },
2625
2385
  {
2626
- "type": "event",
2627
- "name": "UserOperationPrefundTooLow",
2628
- "inputs": [
2629
- {
2630
- "name": "userOpHash",
2631
- "type": "bytes32",
2632
- "indexed": true,
2633
- "internalType": "bytes32"
2386
+ type: "event",
2387
+ name: "UserOperationPrefundTooLow",
2388
+ inputs: [
2389
+ {
2390
+ name: "userOpHash",
2391
+ type: "bytes32",
2392
+ indexed: true,
2393
+ internalType: "bytes32"
2634
2394
  },
2635
2395
  {
2636
- "name": "sender",
2637
- "type": "address",
2638
- "indexed": true,
2639
- "internalType": "address"
2396
+ name: "sender",
2397
+ type: "address",
2398
+ indexed: true,
2399
+ internalType: "address"
2640
2400
  },
2641
2401
  {
2642
- "name": "nonce",
2643
- "type": "uint256",
2644
- "indexed": false,
2645
- "internalType": "uint256"
2402
+ name: "nonce",
2403
+ type: "uint256",
2404
+ indexed: false,
2405
+ internalType: "uint256"
2646
2406
  }
2647
2407
  ],
2648
- "anonymous": false
2408
+ anonymous: false
2649
2409
  },
2650
2410
  {
2651
- "type": "event",
2652
- "name": "UserOperationRevertReason",
2653
- "inputs": [
2654
- {
2655
- "name": "userOpHash",
2656
- "type": "bytes32",
2657
- "indexed": true,
2658
- "internalType": "bytes32"
2411
+ type: "event",
2412
+ name: "UserOperationRevertReason",
2413
+ inputs: [
2414
+ {
2415
+ name: "userOpHash",
2416
+ type: "bytes32",
2417
+ indexed: true,
2418
+ internalType: "bytes32"
2659
2419
  },
2660
2420
  {
2661
- "name": "sender",
2662
- "type": "address",
2663
- "indexed": true,
2664
- "internalType": "address"
2421
+ name: "sender",
2422
+ type: "address",
2423
+ indexed: true,
2424
+ internalType: "address"
2665
2425
  },
2666
2426
  {
2667
- "name": "nonce",
2668
- "type": "uint256",
2669
- "indexed": false,
2670
- "internalType": "uint256"
2427
+ name: "nonce",
2428
+ type: "uint256",
2429
+ indexed: false,
2430
+ internalType: "uint256"
2671
2431
  },
2672
2432
  {
2673
- "name": "revertReason",
2674
- "type": "bytes",
2675
- "indexed": false,
2676
- "internalType": "bytes"
2433
+ name: "revertReason",
2434
+ type: "bytes",
2435
+ indexed: false,
2436
+ internalType: "bytes"
2677
2437
  }
2678
2438
  ],
2679
- "anonymous": false
2439
+ anonymous: false
2680
2440
  },
2681
2441
  {
2682
- "type": "event",
2683
- "name": "Withdrawn",
2684
- "inputs": [
2685
- {
2686
- "name": "account",
2687
- "type": "address",
2688
- "indexed": true,
2689
- "internalType": "address"
2442
+ type: "event",
2443
+ name: "Withdrawn",
2444
+ inputs: [
2445
+ {
2446
+ name: "account",
2447
+ type: "address",
2448
+ indexed: true,
2449
+ internalType: "address"
2690
2450
  },
2691
2451
  {
2692
- "name": "withdrawAddress",
2693
- "type": "address",
2694
- "indexed": false,
2695
- "internalType": "address"
2452
+ name: "withdrawAddress",
2453
+ type: "address",
2454
+ indexed: false,
2455
+ internalType: "address"
2696
2456
  },
2697
2457
  {
2698
- "name": "amount",
2699
- "type": "uint256",
2700
- "indexed": false,
2701
- "internalType": "uint256"
2458
+ name: "amount",
2459
+ type: "uint256",
2460
+ indexed: false,
2461
+ internalType: "uint256"
2702
2462
  }
2703
2463
  ],
2704
- "anonymous": false
2464
+ anonymous: false
2705
2465
  },
2706
2466
  {
2707
- "type": "error",
2708
- "name": "FailedOp",
2709
- "inputs": [
2710
- {
2711
- "name": "opIndex",
2712
- "type": "uint256",
2713
- "internalType": "uint256"
2714
- },
2715
- {
2716
- "name": "reason",
2717
- "type": "string",
2718
- "internalType": "string"
2719
- }
2467
+ type: "error",
2468
+ name: "FailedOp",
2469
+ inputs: [
2470
+ { name: "opIndex", type: "uint256", internalType: "uint256" },
2471
+ { name: "reason", type: "string", internalType: "string" }
2720
2472
  ]
2721
2473
  },
2722
2474
  {
2723
- "type": "error",
2724
- "name": "FailedOpWithRevert",
2725
- "inputs": [
2726
- {
2727
- "name": "opIndex",
2728
- "type": "uint256",
2729
- "internalType": "uint256"
2730
- },
2731
- {
2732
- "name": "reason",
2733
- "type": "string",
2734
- "internalType": "string"
2735
- },
2736
- {
2737
- "name": "inner",
2738
- "type": "bytes",
2739
- "internalType": "bytes"
2740
- }
2475
+ type: "error",
2476
+ name: "FailedOpWithRevert",
2477
+ inputs: [
2478
+ { name: "opIndex", type: "uint256", internalType: "uint256" },
2479
+ { name: "reason", type: "string", internalType: "string" },
2480
+ { name: "inner", type: "bytes", internalType: "bytes" }
2741
2481
  ]
2742
2482
  },
2743
2483
  {
2744
- "type": "error",
2745
- "name": "PostOpReverted",
2746
- "inputs": [
2747
- {
2748
- "name": "returnData",
2749
- "type": "bytes",
2750
- "internalType": "bytes"
2751
- }
2752
- ]
2484
+ type: "error",
2485
+ name: "PostOpReverted",
2486
+ inputs: [{ name: "returnData", type: "bytes", internalType: "bytes" }]
2753
2487
  },
2488
+ { type: "error", name: "ReentrancyGuardReentrantCall", inputs: [] },
2754
2489
  {
2755
- "type": "error",
2756
- "name": "ReentrancyGuardReentrantCall",
2757
- "inputs": []
2490
+ type: "error",
2491
+ name: "SenderAddressResult",
2492
+ inputs: [{ name: "sender", type: "address", internalType: "address" }]
2758
2493
  },
2759
2494
  {
2760
- "type": "error",
2761
- "name": "SenderAddressResult",
2762
- "inputs": [
2763
- {
2764
- "name": "sender",
2765
- "type": "address",
2766
- "internalType": "address"
2767
- }
2768
- ]
2769
- },
2770
- {
2771
- "type": "error",
2772
- "name": "SignatureValidationFailed",
2773
- "inputs": [
2774
- {
2775
- "name": "aggregator",
2776
- "type": "address",
2777
- "internalType": "address"
2778
- }
2495
+ type: "error",
2496
+ name: "SignatureValidationFailed",
2497
+ inputs: [
2498
+ { name: "aggregator", type: "address", internalType: "address" }
2779
2499
  ]
2780
2500
  },
2781
2501
  {
2782
- "type": "error",
2783
- "name": "SimulationOutOfGas",
2784
- "inputs": [
2785
- {
2786
- "name": "optimalGas",
2787
- "type": "uint256",
2788
- "internalType": "uint256"
2789
- },
2790
- {
2791
- "name": "minGas",
2792
- "type": "uint256",
2793
- "internalType": "uint256"
2794
- },
2795
- {
2796
- "name": "maxGas",
2797
- "type": "uint256",
2798
- "internalType": "uint256"
2799
- }
2502
+ type: "error",
2503
+ name: "SimulationOutOfGas",
2504
+ inputs: [
2505
+ { name: "optimalGas", type: "uint256", internalType: "uint256" },
2506
+ { name: "minGas", type: "uint256", internalType: "uint256" },
2507
+ { name: "maxGas", type: "uint256", internalType: "uint256" }
2800
2508
  ]
2801
2509
  },
2802
2510
  {
2803
- "type": "error",
2804
- "name": "innerCallResult",
2805
- "inputs": [
2806
- {
2807
- "name": "remainingGas",
2808
- "type": "uint256",
2809
- "internalType": "uint256"
2810
- }
2511
+ type: "error",
2512
+ name: "innerCallResult",
2513
+ inputs: [
2514
+ { name: "remainingGas", type: "uint256", internalType: "uint256" }
2811
2515
  ]
2812
2516
  }
2813
2517
  ];
2518
+ export const ENTRY_POINT_SIMULATIONS_CREATECALL = "0x313233340000000000000000000000000000000000000000000000000000000060808060405234610085576149d08181016001600160401b0381118382101761006f578291610400833903906000f0801561006357600080546001600160a01b0319166001600160a01b0392909216919091179055604051610375908161008b8239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60406080815260048036101561001457600080fd5b6000803560e01c63c18f52261461002a57600080fd5b346102825782600319360112610282576001600160a01b03600435818116939084900361027e57602492833567ffffffffffffffff80821161027e573660238301121561027e57816004013591610080836102bd565b9261008d8a519485610285565b808452602095888786019260051b8401019236841161027a57898101925b8484106101fb575050505050508051946100dc6100c7876102bd565b966100d48a519889610285565b8088526102bd565b601f199790880185855b8281106101eb57505050835b8984518210156101905790878680878761014f8f8d61014360019a61011d8b60609b8a541698610315565b5190805197889485019763428557b160e11b8952850152604484015260648301906102d5565b03908101845283610285565b82885a935193f115610178575b610166828b610315565b52610171818a610315565b50016100f2565b508a513d81810189018d52808252878983013e61015c565b805187815289518189018190528792600582901b83018101918c8b01918b9085015b8287106101bf5785850386f35b9091929382806101db600193603f198a820301865288516102d5565b96019201960195929190926101b2565b606082828c0101520186906100e6565b833586811161027657820136604382011215610276578b8101356044888211610264578f5192610234601f8401601f19168e0185610285565b82845236828483010111610260578c838196948296948f940183860137830101528152019301926100ab565b8b80fd5b634e487b7160e01b8b52604186528d8bfd5b8880fd5b8680fd5b8280fd5b80fd5b90601f8019910116810190811067ffffffffffffffff8211176102a757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116102a75760051b60200190565b919082519283825260005b848110610301575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e0565b80518210156103295760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220ed8436f6b510411fd3e10745f3f0263a07ebd1140eed9265d864fde12e4648c264736f6c6343000817003360c08060405234620000e35760016002556101608181016001600160401b03811183821017620000cd57829162004870833903906000f08015620000c1576080523060a0526200004e620000e8565b6000815260208101906000825280602062000068620000e8565b600081520152600380546001600160a01b03191690555160045551600555604051614767908162000109823960805181505060a0518181816116eb015281816124890152818161266501528181612fa7015261311d0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620000cd5760405256fe60806040526004361015610023575b361561001957600080fd5b610021612f52565b005b60003560e01c80630396cb60146101d357806303d1dcaf146101ce5780630bd28e3b146101c95780630da82661146101c45780630dbfc6bd146101bf5780631b2e01b8146101ba578063205c2878146101b557806321e60b37146101b057806322cdde4c146101ab578063263934db146101a657806330ec25d1146101a157806335567e1a1461019c57806344403473146101975780635287ce12146101925780635787f48b1461018d5780635895273b1461018857806369683cfa1461018357806370a082311461017e57806376ad6123146101795780637f75516614610174578063b760faf91461016f578063bb9fe6bf1461016a578063c23a5cea14610165578063c3bce00914610160578063f7e426e81461015b578063fc7e286d146101565763fe2171cb0361000e5761184b565b6117cc565b6116a4565b61165e565b61157d565b611495565b61146a565b611256565b6111fd565b6111c0565b610ffd565b610fd0565b610fb0565b610ea3565b610e57565b610d95565b610d1a565b610c03565b610be3565b610b33565b610957565b6108f4565b610879565b6106d8565b6104f4565b610462565b60203660031901126102fa5763ffffffff600435818116918282036102fa577fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102d76102f59261025861023a3360018060a01b03166000526000602052604060002090565b9661024681151561189b565b6001880154928360781c1611156118e7565b6102b16102736001600160701b039283349160081c16611966565b9661027f881515611973565b61028b838911156119b4565b5491610295610604565b9283526001602084015287166001600160701b03166040830152565b63ffffffff831660608201526000608082018190523381526020819052604090206119f1565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b9181601f840112156102fa578235916001600160401b0383116102fa576020808501948460051b0101116102fa57565b6001600160a01b038116036102fa57565b6024359061034d8261032f565b565b610104359061034d8261032f565b6044359061034d8261032f565b610124359061034d8261032f565b359061034d8261032f565b906003199060c0828401126102fa576001600160401b036004358181116102fa57846103b1916004016102ff565b949094936024359283116102fa57826060920301126102fa57600401906044356103da8161032f565b90606435906084359060a43590565b60005b8381106103fc5750506000910152565b81810151838201526020016103ec565b90602091610425815180928185528580860191016103e9565b601f01601f1916010190565b6080604061045f9360208452805160208501526020810151151582850152015191606080820152019061040c565b90565b346102fa576104da6104ce61047636610383565b94610485949194939293611a7e565b5061048e611a9f565b966104c961049c8480611b22565b6104bb6040519a8b926321e60b3760e01b602085015260248401611c4e565b03601f1981018a52896105e3565b612f5b565b60405191829182610431565b0390f35b602435906001600160c01b03821682036102fa57565b346102fa5760203660031901126102fa576004356001600160c01b03811681036102fa573360009081526001602090815260408083206001600160c01b039094168352929052206105458154611d19565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761057a57604052565b610549565b6001600160401b03811161057a57604052565b606081019081106001600160401b0382111761057a57604052565b604081019081106001600160401b0382111761057a57604052565b602081019081106001600160401b0382111761057a57604052565b90601f801991011681019081106001600160401b0382111761057a57604052565b6040519061034d8261055f565b6040519061014082018281106001600160401b0382111761057a57604052565b6040519061034d82610592565b6040519061010082018281106001600160401b0382111761057a57604052565b6040519061034d826105ad565b6001600160401b03811161057a57601f01601f191660200190565b9291926106928261066b565b916106a060405193846105e3565b8294818452818301116102fa578281602093846000960137010152565b9080601f830112156102fa5781602061045f93359101610686565b346102fa576102203660031901126102fa576001600160401b036004358181116102fa5761070a9036906004016106bd565b366023190191906101c083126102fa576101406040519361072a8561055f565b126102fa57610737610611565b61073f610340565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c082015261077961034f565b60e0820152610124356101008201526101443561012082015283526101643560208401526101843560408401526101a43560608401526101c43560808401526101e4359182116102fa576040926107d76107e29336906004016106bd565b906102043592611d3f565b82519182526020820152f35b60206003198201126102fa57600435906001600160401b0382116102fa57610818916004016102ff565b9091565b9061045f9160e061010091805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061040c565b346102fa5761089061088a366107ee565b90611f5d565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b8287106108c85785850386f35b9091929382806108e4600193603f198a8203018652885161081c565b96019201960195929190926108bb565b346102fa5760403660031901126102fa57602061094e6004356109168161032f565b61091e6104de565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b346102fa5760403660031901126102fa576004356109748161032f565b60243590600091338352826020526040832091825492838311610a0057848080808681966109fd966109a6838c611fc2565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af16109f7611fe2565b50612012565b80f35b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b90816101209103126102fa5790565b6102006003198201126102fa57600435916024356001600160401b0381116102fa5782610a8391600401610a45565b91604319016101c081126102fa5761014060405191610aa18361055f565b126102fa57610aae610611565b610ab661035d565b81526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610af161036a565b60e0820152610144356101008201526101643561012082015281526101843560208201526101a43560408201526101c43560608201526101e435608082015290565b346102fa576060610b4336610a54565b9190600092805191610b7683610100604082015160608301510160808301510160a08301510160c0830151019101510290565b60e0909301516001600160a01b0316610ba2575b85856040519060008252602082015260006040820152f35b610bae94505a93613691565b905038808080610b8a565b60206003198201126102fa57600435906001600160401b0382116102fa5761045f91600401610a45565b346102fa576020610bfb610bf636610bb9565b612053565b604051908152f35b346102fa57610c2f610c14366107ee565b809291610c1f611e79565b50610c2982611ec7565b50611f5d565b6000198201918211610c5d576104da91610c4891611f49565b5160405191829160208352602083019061081c565b611933565b9061045f9060e06080610cb4816101408751908087528151908701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061040c565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b346102fa57610d31610d2b366107ee565b906121ec565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b828710610d695785850386f35b909192938280610d85600193603f198a82030186528851610c62565b9601920196019592919092610d5c565b346102fa5760403660031901126102fa576020600435610db48161032f565b610dbc6104de565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b60606003198201126102fa57600435610e168161032f565b916024356001600160401b03928382116102fa57806023830112156102fa5781600401359384116102fa57602484830101116102fa57602401919060443590565b346102fa57610e6536610dfe565b90806040519384378201908260008095819585838097520393f1610e87611fe2565b9015610e91575080f35b8051918215610ea05750602001fd5b80fd5b346102fa5760203660031901126102fa576104da6080600435610ec58161032f565b60409182918251610ed58161055f565b60009281848093528260208201528286820152826060820152015260018060a01b03168152806020522090610f5e65ffffffffffff6001835194610f188661055f565b80548652015460ff8116151560208601526001600160701b038160081c168486015263ffffffff8160781c16606086015260981c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346102fa576104da6104ce610fc436610383565b959490949391936123d7565b346102fa576104da610fe9610fe436610bb9565b6127f3565b60405191829160208352602083019061081c565b346102fa5761100b36610a54565b9190915a9281519361101d8583613926565b61102682612053565b602084015260408501519361106a6001600160781b038660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612929565b61109586610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946110c56110c16110a95a89898988613c29565b89516020909a015190996001600160a01b0316613d3c565b1590565b611174575a8303116111235750926111069260806111019360a061110d975a9560408601526060808601525a9003910135019101525a90611fc2565b612975565b6064900490565b6040805192835260006020840152820152606090f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b0390fd5b60408051631101335b60e11b8152600481018490526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b346102fa5760203660031901126102fa576004356111dd8161032f565b60018060a01b031660005260006020526020604060002054604051908152f35b346102fa576104da6104ce61121136610383565b94611220949194939293611a7e565b50611229611a9f565b966104c96112378480611b22565b6104bb6040519a8b926334b41e7d60e11b602085015260248401611c4e565b346102fa5761126436610a54565b91906000925a918151926112788483613926565b61128182612053565b60208401526040840151946112c56001600160781b038760c08801511760608801511760808801511760a08801511761010088015117610120880151171115612929565b6112f085610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6112fd8782878786613c29565b865190979061131e906110c1906001600160a01b031660208a015190613d3c565b61141e575a8403116113cf576060915a60e097909701516001600160a01b0316611392575b509360806111069460a0611101956104da999561137599604087015260608601525a9003910135019101525a90611fc2565b604051938493846040919493926060820195825260208201520152565b8198506104da9692508460a0611101956113bd6080948a96876111069b886113759e51015193613691565b9c90969a509498509550509450611343565b60408051631101335b60e11b8152600481018490526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b60203660031901126102fa576100216004356114858161032f565b612b68565b60009103126102fa57565b346102fa57600080600319360112610ea0573381528060205260016040822001805463ffffffff8160781c1690811561154b57611510916114db60ff6114e99316612bbf565b65ffffffffffff4216612bff565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346102fa5760203660031901126102fa5760043561159a8161032f565b3360009081526020819052604090206109fd90600101916116028354936115f165ffffffffffff6001600160701b038760081c16966115da881515612c19565b60981c166115e9811515612c5c565b421015612ca8565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080808095819460018060a01b03165af1611658611fe2565b50612cf4565b346102fa576104da61167761167236610bb9565b612db9565b604051918291602083526020830190610c62565b60409061045f939215158152816020820152019061040c565b346102fa576116b236610dfe565b6060936000936001600160a01b03939184169290833b156102fa5760008094611714966040519788968795869363428557b160e11b85527f00000000000000000000000000000000000000000000000000000000000000001660048501612f1f565b0393f190816117b3575b506117ae57505061172d611fe2565b61173f61173a8251611fa4565b6122f7565b9060045b8151811015611788578061176a61175c60019385612f41565b516001600160f81b03191690565b61178161177683611fa4565b9160001a9186612f41565b5301611743565b505061179d9060208082518301019101612395565b905b6104da6040519283928361168b565b61179f565b806117c06117c69261057f565b8061148a565b3861171e565b346102fa5760203660031901126102fa576004356117e98161032f565b60018060a01b0316600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526001600160701b038160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b346102fa5761186d61185c366107ee565b809291611867612165565b506121ec565b6000198201918211610c5d576104da9161188691611f49565b51604051918291602083526020830190610c62565b156118a257565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b156118ee57565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b906113888201809211610c5d57565b9060018201809211610c5d57565b91908201809211610c5d57565b1561197a57565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b156119bb57565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b9065ffffffffffff6080600161034d948451815501926020810151151584546effffffffffffffffffffffffffff00604084015160081b169060ff63ffffffff60781b606086015160781b169316906cffffffffffffffffffffffffff60981b16171717845501511681549065ffffffffffff60981b9060981b169065ffffffffffff60981b1916179055565b60405190611a8b82610592565b606060408360008152600060208201520152565b60405190611aac8261055f565b6040516101408101836001600160401b0382118383101761057a5760809160405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b90359061011e19813603018212156102fa570190565b9035601e19823603018112156102fa5701602081359101916001600160401b0382116102fa5781360383136102fa57565b908060209392818452848401376000828201840152601f01601f1916010190565b61045f91611c2f611bf6611bdb610120611bb485611ba788610378565b6001600160a01b03169052565b60208601356020860152611bcb6040870187611b38565b9091806040880152860191611b69565b611be86060860186611b38565b908583036060870152611b69565b6080840135608084015260a084013560a084015260c084013560c0840152611c2160e0850185611b38565b9084830360e0860152611b69565b91611c406101009182810190611b38565b929091818503910152611b69565b906080611c706101e09295949561020060008652806020870152850190611b8a565b855180516001600160a01b0316604086015290959060208101516060860152604081015183860152606081015160a08601528281015160c086015260a081015160e086015260c081015190610100918287015260e081015191611ce0610120938489019060018060a01b03169052565b8101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6000198114610c5d5760010190565b60409061045f93928152816020820152019061040c565b9190805193606085015194611d57603f5a0260061c90565b61271060a083015188010111611e2157610818956000958051611d87575b5050505a90036080820151019261329b565b8251611da1926110c19290916001600160a01b03166131c5565b611dad575b8080611d75565b909350611db86131d7565b8051611dca575b505060019238611da6565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20192918291611e179183611d28565b0390a33880611dbf565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b6001600160401b03811161057a5760051b60200190565b6040519061010082018281106001600160401b0382111761057a57604052606060e083600080825280602083015280604083015280848301528060808301528060a083015260c08201520152565b90611ed182611e62565b611ede60405191826105e3565b8281528092611eef601f1991611e62565b019060005b828110611f0057505050565b602090611f0b611e79565b82828501015201611ef4565b634e487b7160e01b600052603260045260246000fd5b90821015611f445761045f9160051b810190611b22565b611f17565b8051821015611f445760209160051b010190565b611f6682611ec7565b9160005b818110611f775750505090565b80611f88610fe46001938587611f2d565b611f928287611f49565b52611f9d8186611f49565b5001611f6a565b600319810191908211610c5d57565b600019810191908211610c5d57565b91908203918211610c5d57565b60405190611fdc826105c8565b60008252565b3d1561200d573d90611ff38261066b565b9161200160405193846105e3565b82523d6000602084013e565b606090565b1561201957565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b61206060408201826122ad565b9081604051918237209061207760608201826122ad565b9081604051918237209161210361209a61209460e08501856122ad565b90614726565b6040805185356001600160a01b031660208083019182528701359282019290925260608101949094526080808501969096529484013560a08085019190915284013560c0808501919091529093013560e083015261010082019290925291908290610120820190565b0391612117601f19938481018352826105e3565b5190206040805160208101928352309181019190915246606082015260809283018152909161214690826105e3565b51902090565b60405190612159826105ad565b60006020838281520152565b604051906121728261055f565b8160405161217f8161055f565b600081526000602082015260006040820152600060608201526060608082015281526121a961214c565b60208201526121b661214c565b60408201526121c361214c565b60608201526080604051916121d7836105ad565b600083526121e361214c565b60208401520152565b6121f582611e62565b9161220360405193846105e3565b808352601f1961221282611e62565b0160005b81811061225c57505060005b81811061222f5750505090565b806122406116726001938587611f2d565b61224a8287611f49565b526122558186611f49565b5001612222565b602090612267612165565b82828801015201612216565b908092918237016000815290565b9190811015611f445760051b81013590605e19813603018212156102fa570190565b3561045f8161032f565b903590601e19813603018212156102fa57018035906001600160401b0382116102fa576020019181360383136102fa57565b6040516122eb816105c8565b60008152906000368137565b906123018261066b565b61230e60405191826105e3565b828152809261231f601f199161066b565b0190602036910137565b93929161234e9060409260018060a01b0316865260606020870152606086019061040c565b930152565b81601f820112156102fa5780516123698161066b565b9261237760405194856105e3565b818452602082840101116102fa5761045f91602080850191016103e9565b9190916040818403126102fa57805180151581036102fa579260208201516001600160401b0381116102fa5761045f9201612353565b6040513d6000823e3d90fd5b9693959194966123e5611a7e565b5060005b828110612731575050506123fd8480611b22565b9460209161240c8387016122a3565b946124416124296124226040998a8101906122ad565b3691610686565b98612432611a9f565b9061243c8161382c565b61298b565b506001600160a01b0392915050868216156127085788600088878b8815612605575050505050600193612484612475611fcf565b919592949b93919b5b86611966565b9081907f0000000000000000000000000000000000000000000000000000000000000000169b5b846124b68885611fc2565b106125da575a6124c588611949565b116125b15791869593918a95938e8d8f8c6124e28f9d8890611966565b60011c9a8b8451938493634440347360e01b90850152602484019261250693612329565b03601f198101825261251890826105e3565b5a9151631efc84dd60e31b81529b8c9283926125379260048501612329565b03815a6000948591f19889156125ac57600090819a612586575b50156125715750505061256384611fb3565b95915b9390929495916124ab565b93965094612580919750611958565b94612566565b906125a4929a503d8091833e61259c81836105e3565b810190612395565b989038612551565b6123cb565b508951637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9998509950509392505096506125ff92506125f3610631565b95865285019015159052565b82015290565b61265f9498508397939291612634612642925a9b5a9151958694634440347360e01b9086015260248501612329565b03601f1981018352826105e3565b5a8c51631efc84dd60e31b81529485928392908d60048501612329565b038183887f0000000000000000000000000000000000000000000000000000000000000000165af19182156125ac578580936126e7575b5050816126a586975a90611fc2565b9580156126bf575050612484909b93919b9592949561247e565b979b50999850505098505050506125ff91506126d9610631565b946000865285019015159052565b909195506126ff92503d8091833e61259c81836105e3565b90933880612696565b9850505050935050506127196122df565b906000612724610631565b9381855284015282015290565b60019061273c611a9f565b61276761274a838787612281565b9161275d6127588480611b22565b61382c565b61243c8380611b22565b5050506020810161278661277a826122a3565b6001600160a01b031690565b156127ce576000916127b98361279c81946122a3565b926127ac604091828101906122ad565b9390915180948193612273565b03925af1506127c6611fe2565b505b016123e9565b50506127c8565b604051906127e2826105ad565b6002825261060f60f31b6020830152565b6127fb611e79565b50600280541461291757600280556080612813611a9f565b9161281d8161382c565b612827838261298b565b926000929192905a908760608101519161284460608201826122ad565b6003811161290e575b638dd7712f60e01b966001600160e01b03191687036128f55750506128a76128ac9560208401516128936040519485936020850152604060248501526064840190611b8a565b90604483015203601f1981018352826105e3565b611d3f565b9490955b0151946128bb61063e565b958652602086015260408501526060840152608083015260a0820152600060c08201526128e66127d5565b60e082015261045f6001600255565b61290696506128a792503691610686565b9490956128b0565b8135965061284d565b604051633ee5aeb560e01b8152600490fd5b1561293057565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610c5d57565b90916000915a9380519161299f8382613926565b6129a881612053565b60208301526040830151956129ec6001600160781b038860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612929565b612a1784610100604082015160608301510160808301510160a08301510160c0830151019101510290565b612a2388828686613a84565b8551909890612a44906110c1906001600160a01b0316602089015190613d3c565b612b1c575a830311612acd576060905a60e096909601516001600160a01b0316612a97575b6111019360a061045f9794879460809460406111069a015260608601525a9003910135019101525a90611fc2565b965050928260806111019360a061045f97612abb84611106995101518c878661350e565b9b909598509350949750509350612a69565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b6001805b60058110612bb85750507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c46020612ba33484613f7c565b6040519081526001600160a01b0390931692a2565b8101612b6c565b15612bc657565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b91909165ffffffffffff80809416911601918211610c5d57565b15612c2057565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b15612c6357565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b15612caf57565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b15612cfb57565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116102fa5790601490565b6bffffffffffffffffffffffff199035818116939260148110612d7057505050565b60140360031b82901b16169150565b60405190612d8c826105ad565b6003546001600160a01b03168252604051602083612da9836105ad565b6004548352600554828401520152565b612dc1612165565b50612dca611a9f565b90612dd48161382c565b612dde828261298b565b50919092612dec8385613d7c565b805160e00151612e09906001600160a01b0316613e82565b613e82565b815151909290612e3990612e25906001600160a01b0316613e82565b91612e2e61214c565b5060408101906122ad565b9060148210612f1357612e5b612e55612e6193612e0493612d40565b90612d4e565b60601c90565b9160018060a01b038616946080820151966060604084015193015192612e85610604565b9889526020890152604088015260608701526080860152612ea4612d7f565b9380151580612f08575b612ed6575b50612ebc610604565b948552602085015260408401526060830152608082015290565b909350612ee281613e82565b612efc612eed61065e565b6001600160a01b039093168352565b60208201529238612eb3565b506001811415612eae565b5050612e616000613e82565b6001600160a01b03909116815260406020820181905261045f93910191611b69565b908151811015611f44570160200190565b61034d33612b68565b91612f7d61275892612f83949a95999a98969798612f77611a7e565b50613ec4565b80611b22565b600083156130f15750600190612fa5612f9a611fcf565b959291935b85611966565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169581905b84612fde8885611fc2565b106130c7575a612fed88611949565b1161309d57918695939160009593868b8b8e61301561300f886130359f611966565b60011c90565b9a8b936040519e8f9586948593631efc84dd60e31b855260048501612329565b03925af19889156125ac57600090819a61307f575b501561306a5750505061305c84611fb3565b95915b939092949591612fd3565b93965094613079919750611958565b9461305f565b90613095929a503d8091833e61259c81836105e3565b98903861304a565b50604051637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9650965050919550506130e991506130dd610631565b93845215156020840152565b604082015290565b925090613118915a91845a60405180968192631efc84dd60e31b83528c8c60048501612329565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19384156125ac578580956131a1575b5050839461316681945a90611fc2565b94811561317e575050612fa590959291939495612f9f565b965096505095505050506130e9613193610631565b600081529215156020840152565b909194506131ba9295503d8091833e61259c81836105e3565b939093923880613156565b9060009283809360208451940192f190565b3d6108008082116131fe575b50604051906020818301016040528082526000602083013e90565b9050386131e3565b6003111561321057565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156132105760609261324e91835260806020840152608083019061040c565b9460408201520152565b9060a061045f926000815260606020820152601460608201527310504d4c081c1bdcdd13dc081c995d995c9d195960621b6080820152816040820152019061040c565b9093916000935a928651926132af84613f52565b60e08501519091906001600160a01b0316808061339457505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111613380575b505084029160408901928351948186106000146133565750508061331f600292613206565b0361333b57505061034d9250809561333681614064565b613fa3565b9150915061034d925a90039051019051856133368297614064565b9061034d9750809a945061336f92935080950390613f7c565b5061337981613206565b1590614004565b6064919003600a02049094019338806132fa565b949180516133a4575b50506132d7565b6133ad85613206565b600285031561339d57909198505a9160a087015191813b156102fa57859285600080948e6133f484604051998a9889978895637c627b2160e01b8752029160048601613226565b0393f19081613432575b506134275761117061340e6131d7565b6040516365c8fd4d60e01b815291829160048301613258565b5a900396388061339d565b806117c061343f9261057f565b386133fe565b91906040838203126102fa5782516001600160401b0381116102fa5760209161346f918501612353565b92015190565b61348d60409295949395606083526060830190611b8a565b9460208201520152565b9060a061045f926000815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b939192905a815160e001516001600160a01b031660008181526020819052604090208054979296929083891061364257602060009586928661356d9c039055015191604051998a95869485936314add44b60e21b855260048501613475565b03926001600160a01b031686f1938460009160009661361b575b506135b0576111706135976131d7565b6040516365c8fd4d60e01b815291829160048301613497565b93925a9003116135bc57565b60408051631101335b60e11b8152600060048201526024810191909152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b90955061363b91503d806000833e61363381836105e3565b810190613445565b9438613587565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b93909294915a815160e001516001600160a01b0316600081815260208190526040902091959092909180548981106137c5578990039055602001516040516314add44b60e21b81529697600093889390928492869284926136f6929160048501613475565b03926001600160a01b031686f193846000916000966137a6575b5061373b578561371e6131d7565b6040516365c8fd4d60e01b815291829161117091600484016134d3565b9491925a9003116137495750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506137be91503d806000833e61363381836105e3565b9438613710565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b90604061045f9260008152816020820152019061040c565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526138b4929190613862826105ad565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b600654161760065561389360408201826122ad565b90506138ac6138a1836122a3565b9260e08101906122ad565b9290916140a6565b80516138bd5750565b604051631101335b60e11b81529081906111709060048301613814565b156138e157565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b6139ab90613943613936826122a3565b6001600160a01b03168452565b602081013560208401526139676080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261399560c0820135906001600160801b038260801c921690565b61010085015261012084015260e08101906122ad565b9081156139e7576139cf8260e0926139ca603461034d979610156138da565b614160565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b908160209103126102fa575190565b9060a061045f926000815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b9093926020613b0b91865193613acb60e0613aa5875160018060a01b031690565b96613abd613ab660408601866122ad565b908d6141b7565b01516001600160a01b031690565b6001600160a01b039081161598600093919291908a613bec575b8501516040516306608bdf60e21b81529687958694600094938693929160048501613475565b0393881690f160009181613bbb575b50613b4357611170613b2a6131d7565b6040516365c8fd4d60e01b815291829160048301613a0d565b93613b4c575050565b6001600160a01b03166000908152602081905260409020908154808211613b7257039055565b60408051631101335b60e11b8152600060048201526024810191909152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b613bde91925060203d602011613be5575b613bd681836105e3565b8101906139fe565b9038613b1a565b503d613bcc565b6001600160a01b038816600090815260208190526040812054919550919089811115613c20575085825b9591925050613ae5565b86908a03613c16565b949291936020613c6691865193613acb60e0613c4b875160018060a01b031690565b96613abd8b8d613c5e60408801886122ad565b929091614412565b0393881690f160009181613d1b575b50613ca05785613c836131d7565b6040516365c8fd4d60e01b81529182916111709160048401613a49565b949293613cac57505050565b6001600160a01b0316600090815260208190526040902091825490818311613cd45750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b613d3591925060203d602011613be557613bd681836105e3565b9038613c75565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613d7584611d19565b9055161490565b613d859061464c565b6001600160a01b0392918316613e3f57613df057613da29061464c565b5016613daa57565b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b6084604051631101335b60e11b81526000600482015260406024820152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152fd5b90613e8b61214c565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b60005b828110613ed357505050565b600190613ede611a9f565b613eec61274a838787612281565b505050602081013590613efe8261032f565b838060a01b03821615613f4b576000918291613f198261032f565b82613f29604092838101906122ad565b8093519384928337810182815203925af150613f43611fe2565b505b01613ec7565b5050613f45565b610120610100820151910151808214613f7857480180821015613f73575090565b905090565b5090565b60018060a01b0316600052600060205260406000208054918201809211610c5d5781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b03946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b03956020878951169760e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b929192159081614156575b5061411b5760148110156140ca575b505061045f611fcf565b6014116102fa573560601c3b156140e25738806140c0565b6040516140ee816105ad565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051614129816105ad565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b15386140b1565b90806014116102fa57806024116102fa576034116102fa57803560601c916024601483013560801c92013560801c90565b908160209103126102fa575161045f8161032f565b91602061045f938181520191611b69565b90826141c257505050565b8151516001600160a01b031692833b6143c3576006546001600160a01b03929060009084169360206040958688510151875180958193632b870d1b60e11b8352826142118b8b600484016141a6565b0393f19182156125ac57600092614392575b5080821696871561434657168096036142fa573b156142ae57612e5b612e557fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d949361426e93612d40565b6020840151935160e001516142a9906001600160a01b03165b92516001600160a01b0392831681529190921660208201529081906040820190565b0390a3565b8251631101335b60e11b81526000600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8351631101335b60e11b81526000600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8551631101335b60e11b81526000600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b6143b591925060203d6020116143bc575b6143ad81836105e3565b810190614191565b9038614223565b503d6143a3565b60408051631101335b60e11b8152600060048201526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b90919280614421575b50505050565b8251516001600160a01b031693843b6145fd576006546001600160a01b03939060009085169460206040968789510151885180958193632b870d1b60e11b8352826144708c8c600484016141a6565b0393f19182156125ac576000926145dc575b508082169788156145905716809703614544573b156144f75750612e5b612e557fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d94936144ce93612d40565b6020840151935160e001516144eb906001600160a01b0316614287565b0390a33880808061441b565b8351631101335b60e11b8152600481019190915260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8451631101335b60e11b81526004810183905260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8651631101335b60e11b81526004810185905260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b6145f691925060203d6020116143bc576143ad81836105e3565b9038614482565b60408051631101335b60e11b8152600481018590526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b801561471d5760006040805161466181610592565b828152826020820152015265ffffffffffff90818160a01c16918215614713575b506146f5906146dc6146d16040519461469a86610592565b6001600160a01b03841686526146bf602087019460d01c859065ffffffffffff169052565b65ffffffffffff166040860181905290565b65ffffffffffff1690565b42119081156146f8575b5091516001600160a01b031690565b91565b5161470b915065ffffffffffff166146d1565b4210386146e6565b91506146f5614682565b50600090600090565b81604051918237209056fea2646970667358221220f17ba8be36e41aeb3ca1005b09255e534c238bfe6627316bff7f5ad4c94bce7e64736f6c634300081700336080806040523461001657610144908161001c8239f35b600080fdfe6080600436101561000f57600080fd5b6000803560e01c63570e1a361461002557600080fd5b3461010b57602036600319011261010b576004359167ffffffffffffffff9081841161010757366023850112156101075783600401358281116101035736602482870101116101035780601411610103576013198101928084116100ef57600b8201601f19908116603f01168301908111838210176100ef5792846024819482600c60209a968b9960405286845289840196603889018837830101525193013560601c5af190805191156100e7575b506040516001600160a01b039091168152f35b9050386100d4565b634e487b7160e01b85526041600452602485fd5b8380fd5b8280fd5b80fdfea26469706673582212200cb757f1fdb608281be803e114ca10044ba5d6804f8fe7715f297793ec636d0564736f6c63430008170033";
2814
2519
  //# sourceMappingURL=EntryPointSimulationsV7.js.map