@pimlico/alto 0.0.0-main.20250626T085447 → 0.0.0-main.20250627T140102

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 (150) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  3. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  4. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  5. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  6. package/contracts/Exec.sol/Exec.json +1 -1
  7. package/contracts/IAccount.sol/IAccount.json +1 -1
  8. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
  9. package/contracts/IAggregator.sol/IAggregator.json +1 -1
  10. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  11. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
  12. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  13. package/contracts/INonceManager.sol/INonceManager.json +1 -1
  14. package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
  15. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
  16. package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
  17. package/contracts/Math.sol/Math.json +1 -1
  18. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  19. package/contracts/NonceManager.sol/NonceManager.json +1 -1
  20. package/contracts/Panic.sol/Panic.json +1 -1
  21. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  22. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  23. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  24. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  25. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  26. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  27. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  28. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  29. package/contracts/Strings.sol/Strings.json +1 -1
  30. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  31. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  32. package/contracts/build-info/004071c167bc55de.json +1 -0
  33. package/contracts/build-info/{257ff8e2b1124ead.json → 2f5dec90e180c3a0.json} +1 -1
  34. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  35. package/esm/cli/customTransport.js +3 -2
  36. package/esm/cli/customTransport.js.map +1 -1
  37. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  38. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  39. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  40. package/esm/executor/executorManager.js +1 -1
  41. package/esm/executor/executorManager.js.map +1 -1
  42. package/esm/executor/filterOpsAndEstimateGas.js +7 -7
  43. package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
  44. package/esm/executor/getBundleStatus.js +2 -2
  45. package/esm/executor/getBundleStatus.js.map +1 -1
  46. package/esm/executor/userOpMonitor.d.ts +1 -1
  47. package/esm/executor/userOpMonitor.js +17 -17
  48. package/esm/executor/userOpMonitor.js.map +1 -1
  49. package/esm/executor/utils.js +5 -2
  50. package/esm/executor/utils.js.map +1 -1
  51. package/esm/handlers/eventManager.d.ts +9 -9
  52. package/esm/handlers/eventManager.js +22 -22
  53. package/esm/handlers/eventManager.js.map +1 -1
  54. package/esm/mempool/mempool.js +17 -17
  55. package/esm/mempool/mempool.js.map +1 -1
  56. package/esm/mempool/monitoring.d.ts +3 -3
  57. package/esm/mempool/monitoring.js +11 -11
  58. package/esm/mempool/monitoring.js.map +1 -1
  59. package/esm/mempool/reputationManager.d.ts +26 -26
  60. package/esm/mempool/reputationManager.js +65 -65
  61. package/esm/mempool/reputationManager.js.map +1 -1
  62. package/esm/rpc/estimation/gasEstimationHandler.d.ts +8 -8
  63. package/esm/rpc/estimation/gasEstimationHandler.js +16 -16
  64. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  65. package/esm/rpc/estimation/{gasEstimationsV06.d.ts → gasEstimations06.d.ts} +5 -5
  66. package/esm/rpc/estimation/gasEstimations06.js +68 -0
  67. package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
  68. package/esm/rpc/estimation/gasEstimations07.d.ts +89 -0
  69. package/esm/rpc/estimation/gasEstimations07.js +386 -0
  70. package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
  71. package/esm/rpc/estimation/types.d.ts +23 -111
  72. package/esm/rpc/estimation/types.js +5 -121
  73. package/esm/rpc/estimation/types.js.map +1 -1
  74. package/esm/rpc/estimation/utils.d.ts +51 -0
  75. package/esm/rpc/estimation/utils.js +182 -0
  76. package/esm/rpc/estimation/utils.js.map +1 -0
  77. package/esm/rpc/methods/boost_sendUserOperation.js +14 -15
  78. package/esm/rpc/methods/boost_sendUserOperation.js.map +1 -1
  79. package/esm/rpc/methods/eth_estimateUserOperationGas.js +29 -32
  80. package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
  81. package/esm/rpc/methods/eth_getUserOperationByHash.js +6 -6
  82. package/esm/rpc/methods/eth_getUserOperationByHash.js.map +1 -1
  83. package/esm/rpc/methods/eth_getUserOperationReceipt.js +3 -3
  84. package/esm/rpc/methods/eth_getUserOperationReceipt.js.map +1 -1
  85. package/esm/rpc/methods/eth_sendUserOperation.d.ts +2 -2
  86. package/esm/rpc/methods/eth_sendUserOperation.js +33 -34
  87. package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
  88. package/esm/rpc/methods/pimlico_getUserOperationStatus.js +2 -2
  89. package/esm/rpc/methods/pimlico_getUserOperationStatus.js.map +1 -1
  90. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +11 -11
  91. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  92. package/esm/rpc/rpcHandler.d.ts +4 -4
  93. package/esm/rpc/rpcHandler.js +34 -36
  94. package/esm/rpc/rpcHandler.js.map +1 -1
  95. package/esm/rpc/validation/SafeValidator.d.ts +13 -13
  96. package/esm/rpc/validation/SafeValidator.js +59 -57
  97. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  98. package/esm/rpc/validation/TracerResultParserV06.d.ts +2 -2
  99. package/esm/rpc/validation/TracerResultParserV06.js +4 -4
  100. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  101. package/esm/rpc/validation/TracerResultParserV07.d.ts +2 -2
  102. package/esm/rpc/validation/TracerResultParserV07.js +8 -8
  103. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  104. package/esm/rpc/validation/UnsafeValidator.d.ts +19 -19
  105. package/esm/rpc/validation/UnsafeValidator.js +39 -33
  106. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  107. package/esm/store/createMemoryOutstandingStore.js +4 -4
  108. package/esm/store/createMemoryOutstandingStore.js.map +1 -1
  109. package/esm/store/createMempoolStore.js +2 -2
  110. package/esm/store/createMempoolStore.js.map +1 -1
  111. package/esm/store/createRedisOutstandingStore.js +4 -4
  112. package/esm/store/createRedisOutstandingStore.js.map +1 -1
  113. package/esm/types/contracts/PimlicoSimulations.d.ts +1083 -96
  114. package/esm/types/contracts/PimlicoSimulations.js +1357 -88
  115. package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
  116. package/esm/types/contracts/index.d.ts +0 -2
  117. package/esm/types/contracts/index.js +0 -2
  118. package/esm/types/contracts/index.js.map +1 -1
  119. package/esm/types/interfaces.d.ts +14 -14
  120. package/esm/types/validation.d.ts +208 -222
  121. package/esm/types/validation.js +0 -8
  122. package/esm/types/validation.js.map +1 -1
  123. package/esm/utils/helpers.d.ts +2 -2
  124. package/esm/utils/helpers.js +2 -2
  125. package/esm/utils/helpers.js.map +1 -1
  126. package/esm/utils/metrics.d.ts +9 -9
  127. package/esm/utils/metrics.js +18 -18
  128. package/esm/utils/metrics.js.map +1 -1
  129. package/esm/utils/preVerificationGasCalulator.d.ts +3 -3
  130. package/esm/utils/preVerificationGasCalulator.js +13 -13
  131. package/esm/utils/preVerificationGasCalulator.js.map +1 -1
  132. package/esm/utils/toViemStateOverrides.d.ts +4 -0
  133. package/esm/utils/toViemStateOverrides.js +44 -0
  134. package/esm/utils/toViemStateOverrides.js.map +1 -0
  135. package/esm/utils/userop.d.ts +15 -15
  136. package/esm/utils/userop.js +77 -77
  137. package/esm/utils/userop.js.map +1 -1
  138. package/package.json +1 -1
  139. package/contracts/build-info/10cf9b18fcc1598e.json +0 -1
  140. package/esm/rpc/estimation/gasEstimationsV06.js +0 -156
  141. package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
  142. package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  143. package/esm/rpc/estimation/gasEstimationsV07.js +0 -724
  144. package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
  145. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -33
  146. package/esm/types/contracts/EntryPointSimulationsV6.js +0 -46
  147. package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  148. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  149. package/esm/types/contracts/EntryPointSimulationsV7.js +0 -2675
  150. package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export const PimlicoSimulationsAbi = [
1
+ export const pimlicoSimulationsAbi = [
2
2
  {
3
3
  "type": "constructor",
4
4
  "inputs": [],
@@ -6,12 +6,22 @@ export const PimlicoSimulationsAbi = [
6
6
  },
7
7
  {
8
8
  "type": "function",
9
- "name": "filterOps06",
9
+ "name": "binarySearchCallGas",
10
10
  "inputs": [
11
11
  {
12
- "name": "userOps",
12
+ "name": "entryPointSimulation",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "entryPoint",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ },
21
+ {
22
+ "name": "queuedUserOps",
13
23
  "type": "tuple[]",
14
- "internalType": "struct UserOperation[]",
24
+ "internalType": "struct PackedUserOperation[]",
15
25
  "components": [
16
26
  {
17
27
  "name": "sender",
@@ -34,30 +44,72 @@ export const PimlicoSimulationsAbi = [
34
44
  "internalType": "bytes"
35
45
  },
36
46
  {
37
- "name": "callGasLimit",
38
- "type": "uint256",
39
- "internalType": "uint256"
47
+ "name": "accountGasLimits",
48
+ "type": "bytes32",
49
+ "internalType": "bytes32"
40
50
  },
41
51
  {
42
- "name": "verificationGasLimit",
52
+ "name": "preVerificationGas",
43
53
  "type": "uint256",
44
54
  "internalType": "uint256"
45
55
  },
46
56
  {
47
- "name": "preVerificationGas",
48
- "type": "uint256",
49
- "internalType": "uint256"
57
+ "name": "gasFees",
58
+ "type": "bytes32",
59
+ "internalType": "bytes32"
50
60
  },
51
61
  {
52
- "name": "maxFeePerGas",
62
+ "name": "paymasterAndData",
63
+ "type": "bytes",
64
+ "internalType": "bytes"
65
+ },
66
+ {
67
+ "name": "signature",
68
+ "type": "bytes",
69
+ "internalType": "bytes"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "name": "targetUserOp",
75
+ "type": "tuple",
76
+ "internalType": "struct PackedUserOperation",
77
+ "components": [
78
+ {
79
+ "name": "sender",
80
+ "type": "address",
81
+ "internalType": "address"
82
+ },
83
+ {
84
+ "name": "nonce",
53
85
  "type": "uint256",
54
86
  "internalType": "uint256"
55
87
  },
56
88
  {
57
- "name": "maxPriorityFeePerGas",
89
+ "name": "initCode",
90
+ "type": "bytes",
91
+ "internalType": "bytes"
92
+ },
93
+ {
94
+ "name": "callData",
95
+ "type": "bytes",
96
+ "internalType": "bytes"
97
+ },
98
+ {
99
+ "name": "accountGasLimits",
100
+ "type": "bytes32",
101
+ "internalType": "bytes32"
102
+ },
103
+ {
104
+ "name": "preVerificationGas",
58
105
  "type": "uint256",
59
106
  "internalType": "uint256"
60
107
  },
108
+ {
109
+ "name": "gasFees",
110
+ "type": "bytes32",
111
+ "internalType": "bytes32"
112
+ },
61
113
  {
62
114
  "name": "paymasterAndData",
63
115
  "type": "bytes",
@@ -71,48 +123,75 @@ export const PimlicoSimulationsAbi = [
71
123
  ]
72
124
  },
73
125
  {
74
- "name": "beneficiary",
75
- "type": "address",
76
- "internalType": "address payable"
126
+ "name": "initialMinGas",
127
+ "type": "uint256",
128
+ "internalType": "uint256"
77
129
  },
78
130
  {
79
- "name": "entryPoint",
80
- "type": "address",
81
- "internalType": "contract IEntryPoint"
131
+ "name": "toleranceDelta",
132
+ "type": "uint256",
133
+ "internalType": "uint256"
134
+ },
135
+ {
136
+ "name": "gasAllowance",
137
+ "type": "uint256",
138
+ "internalType": "uint256"
82
139
  }
83
140
  ],
84
141
  "outputs": [
85
142
  {
86
143
  "name": "",
87
144
  "type": "tuple",
88
- "internalType": "struct PimlicoSimulations.FilterOpsResult",
145
+ "internalType": "struct IEntryPointSimulations.BinarySearchResult",
89
146
  "components": [
90
147
  {
91
- "name": "gasUsed",
92
- "type": "uint256",
93
- "internalType": "uint256"
94
- },
95
- {
96
- "name": "balanceChange",
97
- "type": "uint256",
98
- "internalType": "uint256"
148
+ "name": "resultType",
149
+ "type": "uint8",
150
+ "internalType": "enum IEntryPointSimulations.BinarySearchResultType"
99
151
  },
100
152
  {
101
- "name": "rejectedUserOps",
102
- "type": "tuple[]",
103
- "internalType": "struct PimlicoSimulations.RejectedUserOp[]",
153
+ "name": "successData",
154
+ "type": "tuple",
155
+ "internalType": "struct IEntryPointSimulations.BinarySearchSuccess",
104
156
  "components": [
105
157
  {
106
- "name": "userOpHash",
107
- "type": "bytes32",
108
- "internalType": "bytes32"
158
+ "name": "gasUsed",
159
+ "type": "uint256",
160
+ "internalType": "uint256"
109
161
  },
110
162
  {
111
- "name": "revertReason",
163
+ "name": "success",
164
+ "type": "bool",
165
+ "internalType": "bool"
166
+ },
167
+ {
168
+ "name": "returnData",
112
169
  "type": "bytes",
113
170
  "internalType": "bytes"
114
171
  }
115
172
  ]
173
+ },
174
+ {
175
+ "name": "outOfGasData",
176
+ "type": "tuple",
177
+ "internalType": "struct IEntryPointSimulations.BinarySearchOutOfGas",
178
+ "components": [
179
+ {
180
+ "name": "optimalGas",
181
+ "type": "uint256",
182
+ "internalType": "uint256"
183
+ },
184
+ {
185
+ "name": "minGas",
186
+ "type": "uint256",
187
+ "internalType": "uint256"
188
+ },
189
+ {
190
+ "name": "maxGas",
191
+ "type": "uint256",
192
+ "internalType": "uint256"
193
+ }
194
+ ]
116
195
  }
117
196
  ]
118
197
  }
@@ -121,10 +200,20 @@ export const PimlicoSimulationsAbi = [
121
200
  },
122
201
  {
123
202
  "type": "function",
124
- "name": "filterOps07",
203
+ "name": "binarySearchPaymasterVerificationGas",
125
204
  "inputs": [
126
205
  {
127
- "name": "userOps",
206
+ "name": "entryPointSimulation",
207
+ "type": "address",
208
+ "internalType": "address"
209
+ },
210
+ {
211
+ "name": "entryPoint",
212
+ "type": "address",
213
+ "internalType": "address payable"
214
+ },
215
+ {
216
+ "name": "queuedUserOps",
128
217
  "type": "tuple[]",
129
218
  "internalType": "struct PackedUserOperation[]",
130
219
  "components": [
@@ -176,48 +265,127 @@ export const PimlicoSimulationsAbi = [
176
265
  ]
177
266
  },
178
267
  {
179
- "name": "beneficiary",
180
- "type": "address",
181
- "internalType": "address payable"
268
+ "name": "targetUserOp",
269
+ "type": "tuple",
270
+ "internalType": "struct PackedUserOperation",
271
+ "components": [
272
+ {
273
+ "name": "sender",
274
+ "type": "address",
275
+ "internalType": "address"
276
+ },
277
+ {
278
+ "name": "nonce",
279
+ "type": "uint256",
280
+ "internalType": "uint256"
281
+ },
282
+ {
283
+ "name": "initCode",
284
+ "type": "bytes",
285
+ "internalType": "bytes"
286
+ },
287
+ {
288
+ "name": "callData",
289
+ "type": "bytes",
290
+ "internalType": "bytes"
291
+ },
292
+ {
293
+ "name": "accountGasLimits",
294
+ "type": "bytes32",
295
+ "internalType": "bytes32"
296
+ },
297
+ {
298
+ "name": "preVerificationGas",
299
+ "type": "uint256",
300
+ "internalType": "uint256"
301
+ },
302
+ {
303
+ "name": "gasFees",
304
+ "type": "bytes32",
305
+ "internalType": "bytes32"
306
+ },
307
+ {
308
+ "name": "paymasterAndData",
309
+ "type": "bytes",
310
+ "internalType": "bytes"
311
+ },
312
+ {
313
+ "name": "signature",
314
+ "type": "bytes",
315
+ "internalType": "bytes"
316
+ }
317
+ ]
182
318
  },
183
319
  {
184
- "name": "entryPoint",
185
- "type": "address",
186
- "internalType": "contract IEntryPoint"
320
+ "name": "initialMinGas",
321
+ "type": "uint256",
322
+ "internalType": "uint256"
323
+ },
324
+ {
325
+ "name": "toleranceDelta",
326
+ "type": "uint256",
327
+ "internalType": "uint256"
328
+ },
329
+ {
330
+ "name": "gasAllowance",
331
+ "type": "uint256",
332
+ "internalType": "uint256"
187
333
  }
188
334
  ],
189
335
  "outputs": [
190
336
  {
191
337
  "name": "",
192
338
  "type": "tuple",
193
- "internalType": "struct PimlicoSimulations.FilterOpsResult",
339
+ "internalType": "struct IEntryPointSimulations.BinarySearchResult",
194
340
  "components": [
195
341
  {
196
- "name": "gasUsed",
197
- "type": "uint256",
198
- "internalType": "uint256"
199
- },
200
- {
201
- "name": "balanceChange",
202
- "type": "uint256",
203
- "internalType": "uint256"
342
+ "name": "resultType",
343
+ "type": "uint8",
344
+ "internalType": "enum IEntryPointSimulations.BinarySearchResultType"
204
345
  },
205
346
  {
206
- "name": "rejectedUserOps",
207
- "type": "tuple[]",
208
- "internalType": "struct PimlicoSimulations.RejectedUserOp[]",
347
+ "name": "successData",
348
+ "type": "tuple",
349
+ "internalType": "struct IEntryPointSimulations.BinarySearchSuccess",
209
350
  "components": [
210
351
  {
211
- "name": "userOpHash",
212
- "type": "bytes32",
213
- "internalType": "bytes32"
352
+ "name": "gasUsed",
353
+ "type": "uint256",
354
+ "internalType": "uint256"
214
355
  },
215
356
  {
216
- "name": "revertReason",
357
+ "name": "success",
358
+ "type": "bool",
359
+ "internalType": "bool"
360
+ },
361
+ {
362
+ "name": "returnData",
217
363
  "type": "bytes",
218
364
  "internalType": "bytes"
219
365
  }
220
366
  ]
367
+ },
368
+ {
369
+ "name": "outOfGasData",
370
+ "type": "tuple",
371
+ "internalType": "struct IEntryPointSimulations.BinarySearchOutOfGas",
372
+ "components": [
373
+ {
374
+ "name": "optimalGas",
375
+ "type": "uint256",
376
+ "internalType": "uint256"
377
+ },
378
+ {
379
+ "name": "minGas",
380
+ "type": "uint256",
381
+ "internalType": "uint256"
382
+ },
383
+ {
384
+ "name": "maxGas",
385
+ "type": "uint256",
386
+ "internalType": "uint256"
387
+ }
388
+ ]
221
389
  }
222
390
  ]
223
391
  }
@@ -226,10 +394,20 @@ export const PimlicoSimulationsAbi = [
226
394
  },
227
395
  {
228
396
  "type": "function",
229
- "name": "filterOps08",
397
+ "name": "binarySearchVerificationGas",
230
398
  "inputs": [
231
399
  {
232
- "name": "userOps",
400
+ "name": "entryPointSimulation",
401
+ "type": "address",
402
+ "internalType": "address"
403
+ },
404
+ {
405
+ "name": "entryPoint",
406
+ "type": "address",
407
+ "internalType": "address payable"
408
+ },
409
+ {
410
+ "name": "queuedUserOps",
233
411
  "type": "tuple[]",
234
412
  "internalType": "struct PackedUserOperation[]",
235
413
  "components": [
@@ -281,29 +459,223 @@ export const PimlicoSimulationsAbi = [
281
459
  ]
282
460
  },
283
461
  {
284
- "name": "beneficiary",
285
- "type": "address",
286
- "internalType": "address payable"
287
- },
288
- {
289
- "name": "entryPoint",
290
- "type": "address",
291
- "internalType": "contract IEntryPoint"
292
- }
293
- ],
294
- "outputs": [
295
- {
296
- "name": "",
462
+ "name": "targetUserOp",
297
463
  "type": "tuple",
298
- "internalType": "struct PimlicoSimulations.FilterOpsResult",
464
+ "internalType": "struct PackedUserOperation",
299
465
  "components": [
300
466
  {
301
- "name": "gasUsed",
467
+ "name": "sender",
468
+ "type": "address",
469
+ "internalType": "address"
470
+ },
471
+ {
472
+ "name": "nonce",
302
473
  "type": "uint256",
303
474
  "internalType": "uint256"
304
475
  },
305
476
  {
306
- "name": "balanceChange",
477
+ "name": "initCode",
478
+ "type": "bytes",
479
+ "internalType": "bytes"
480
+ },
481
+ {
482
+ "name": "callData",
483
+ "type": "bytes",
484
+ "internalType": "bytes"
485
+ },
486
+ {
487
+ "name": "accountGasLimits",
488
+ "type": "bytes32",
489
+ "internalType": "bytes32"
490
+ },
491
+ {
492
+ "name": "preVerificationGas",
493
+ "type": "uint256",
494
+ "internalType": "uint256"
495
+ },
496
+ {
497
+ "name": "gasFees",
498
+ "type": "bytes32",
499
+ "internalType": "bytes32"
500
+ },
501
+ {
502
+ "name": "paymasterAndData",
503
+ "type": "bytes",
504
+ "internalType": "bytes"
505
+ },
506
+ {
507
+ "name": "signature",
508
+ "type": "bytes",
509
+ "internalType": "bytes"
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "name": "initialMinGas",
515
+ "type": "uint256",
516
+ "internalType": "uint256"
517
+ },
518
+ {
519
+ "name": "toleranceDelta",
520
+ "type": "uint256",
521
+ "internalType": "uint256"
522
+ },
523
+ {
524
+ "name": "gasAllowance",
525
+ "type": "uint256",
526
+ "internalType": "uint256"
527
+ }
528
+ ],
529
+ "outputs": [
530
+ {
531
+ "name": "",
532
+ "type": "tuple",
533
+ "internalType": "struct IEntryPointSimulations.BinarySearchResult",
534
+ "components": [
535
+ {
536
+ "name": "resultType",
537
+ "type": "uint8",
538
+ "internalType": "enum IEntryPointSimulations.BinarySearchResultType"
539
+ },
540
+ {
541
+ "name": "successData",
542
+ "type": "tuple",
543
+ "internalType": "struct IEntryPointSimulations.BinarySearchSuccess",
544
+ "components": [
545
+ {
546
+ "name": "gasUsed",
547
+ "type": "uint256",
548
+ "internalType": "uint256"
549
+ },
550
+ {
551
+ "name": "success",
552
+ "type": "bool",
553
+ "internalType": "bool"
554
+ },
555
+ {
556
+ "name": "returnData",
557
+ "type": "bytes",
558
+ "internalType": "bytes"
559
+ }
560
+ ]
561
+ },
562
+ {
563
+ "name": "outOfGasData",
564
+ "type": "tuple",
565
+ "internalType": "struct IEntryPointSimulations.BinarySearchOutOfGas",
566
+ "components": [
567
+ {
568
+ "name": "optimalGas",
569
+ "type": "uint256",
570
+ "internalType": "uint256"
571
+ },
572
+ {
573
+ "name": "minGas",
574
+ "type": "uint256",
575
+ "internalType": "uint256"
576
+ },
577
+ {
578
+ "name": "maxGas",
579
+ "type": "uint256",
580
+ "internalType": "uint256"
581
+ }
582
+ ]
583
+ }
584
+ ]
585
+ }
586
+ ],
587
+ "stateMutability": "nonpayable"
588
+ },
589
+ {
590
+ "type": "function",
591
+ "name": "filterOps06",
592
+ "inputs": [
593
+ {
594
+ "name": "userOps",
595
+ "type": "tuple[]",
596
+ "internalType": "struct UserOperation[]",
597
+ "components": [
598
+ {
599
+ "name": "sender",
600
+ "type": "address",
601
+ "internalType": "address"
602
+ },
603
+ {
604
+ "name": "nonce",
605
+ "type": "uint256",
606
+ "internalType": "uint256"
607
+ },
608
+ {
609
+ "name": "initCode",
610
+ "type": "bytes",
611
+ "internalType": "bytes"
612
+ },
613
+ {
614
+ "name": "callData",
615
+ "type": "bytes",
616
+ "internalType": "bytes"
617
+ },
618
+ {
619
+ "name": "callGasLimit",
620
+ "type": "uint256",
621
+ "internalType": "uint256"
622
+ },
623
+ {
624
+ "name": "verificationGasLimit",
625
+ "type": "uint256",
626
+ "internalType": "uint256"
627
+ },
628
+ {
629
+ "name": "preVerificationGas",
630
+ "type": "uint256",
631
+ "internalType": "uint256"
632
+ },
633
+ {
634
+ "name": "maxFeePerGas",
635
+ "type": "uint256",
636
+ "internalType": "uint256"
637
+ },
638
+ {
639
+ "name": "maxPriorityFeePerGas",
640
+ "type": "uint256",
641
+ "internalType": "uint256"
642
+ },
643
+ {
644
+ "name": "paymasterAndData",
645
+ "type": "bytes",
646
+ "internalType": "bytes"
647
+ },
648
+ {
649
+ "name": "signature",
650
+ "type": "bytes",
651
+ "internalType": "bytes"
652
+ }
653
+ ]
654
+ },
655
+ {
656
+ "name": "beneficiary",
657
+ "type": "address",
658
+ "internalType": "address payable"
659
+ },
660
+ {
661
+ "name": "entryPoint",
662
+ "type": "address",
663
+ "internalType": "contract IEntryPoint"
664
+ }
665
+ ],
666
+ "outputs": [
667
+ {
668
+ "name": "",
669
+ "type": "tuple",
670
+ "internalType": "struct PimlicoSimulations.FilterOpsResult",
671
+ "components": [
672
+ {
673
+ "name": "gasUsed",
674
+ "type": "uint256",
675
+ "internalType": "uint256"
676
+ },
677
+ {
678
+ "name": "balanceChange",
307
679
  "type": "uint256",
308
680
  "internalType": "uint256"
309
681
  },
@@ -331,36 +703,933 @@ export const PimlicoSimulationsAbi = [
331
703
  },
332
704
  {
333
705
  "type": "function",
334
- "name": "simulateEntryPoint",
706
+ "name": "filterOps07",
335
707
  "inputs": [
336
708
  {
337
- "name": "entryPointSimulation",
338
- "type": "address",
339
- "internalType": "address"
709
+ "name": "userOps",
710
+ "type": "tuple[]",
711
+ "internalType": "struct PackedUserOperation[]",
712
+ "components": [
713
+ {
714
+ "name": "sender",
715
+ "type": "address",
716
+ "internalType": "address"
717
+ },
718
+ {
719
+ "name": "nonce",
720
+ "type": "uint256",
721
+ "internalType": "uint256"
722
+ },
723
+ {
724
+ "name": "initCode",
725
+ "type": "bytes",
726
+ "internalType": "bytes"
727
+ },
728
+ {
729
+ "name": "callData",
730
+ "type": "bytes",
731
+ "internalType": "bytes"
732
+ },
733
+ {
734
+ "name": "accountGasLimits",
735
+ "type": "bytes32",
736
+ "internalType": "bytes32"
737
+ },
738
+ {
739
+ "name": "preVerificationGas",
740
+ "type": "uint256",
741
+ "internalType": "uint256"
742
+ },
743
+ {
744
+ "name": "gasFees",
745
+ "type": "bytes32",
746
+ "internalType": "bytes32"
747
+ },
748
+ {
749
+ "name": "paymasterAndData",
750
+ "type": "bytes",
751
+ "internalType": "bytes"
752
+ },
753
+ {
754
+ "name": "signature",
755
+ "type": "bytes",
756
+ "internalType": "bytes"
757
+ }
758
+ ]
340
759
  },
341
760
  {
342
- "name": "entryPoint",
761
+ "name": "beneficiary",
343
762
  "type": "address",
344
763
  "internalType": "address payable"
345
764
  },
346
765
  {
347
- "name": "data",
348
- "type": "bytes[]",
349
- "internalType": "bytes[]"
766
+ "name": "entryPoint",
767
+ "type": "address",
768
+ "internalType": "contract IEntryPoint"
350
769
  }
351
770
  ],
352
771
  "outputs": [
353
772
  {
354
773
  "name": "",
355
- "type": "bytes[]",
356
- "internalType": "bytes[]"
774
+ "type": "tuple",
775
+ "internalType": "struct PimlicoSimulations.FilterOpsResult",
776
+ "components": [
777
+ {
778
+ "name": "gasUsed",
779
+ "type": "uint256",
780
+ "internalType": "uint256"
781
+ },
782
+ {
783
+ "name": "balanceChange",
784
+ "type": "uint256",
785
+ "internalType": "uint256"
786
+ },
787
+ {
788
+ "name": "rejectedUserOps",
789
+ "type": "tuple[]",
790
+ "internalType": "struct PimlicoSimulations.RejectedUserOp[]",
791
+ "components": [
792
+ {
793
+ "name": "userOpHash",
794
+ "type": "bytes32",
795
+ "internalType": "bytes32"
796
+ },
797
+ {
798
+ "name": "revertReason",
799
+ "type": "bytes",
800
+ "internalType": "bytes"
801
+ }
802
+ ]
803
+ }
804
+ ]
805
+ }
806
+ ],
807
+ "stateMutability": "nonpayable"
808
+ },
809
+ {
810
+ "type": "function",
811
+ "name": "filterOps08",
812
+ "inputs": [
813
+ {
814
+ "name": "userOps",
815
+ "type": "tuple[]",
816
+ "internalType": "struct PackedUserOperation[]",
817
+ "components": [
818
+ {
819
+ "name": "sender",
820
+ "type": "address",
821
+ "internalType": "address"
822
+ },
823
+ {
824
+ "name": "nonce",
825
+ "type": "uint256",
826
+ "internalType": "uint256"
827
+ },
828
+ {
829
+ "name": "initCode",
830
+ "type": "bytes",
831
+ "internalType": "bytes"
832
+ },
833
+ {
834
+ "name": "callData",
835
+ "type": "bytes",
836
+ "internalType": "bytes"
837
+ },
838
+ {
839
+ "name": "accountGasLimits",
840
+ "type": "bytes32",
841
+ "internalType": "bytes32"
842
+ },
843
+ {
844
+ "name": "preVerificationGas",
845
+ "type": "uint256",
846
+ "internalType": "uint256"
847
+ },
848
+ {
849
+ "name": "gasFees",
850
+ "type": "bytes32",
851
+ "internalType": "bytes32"
852
+ },
853
+ {
854
+ "name": "paymasterAndData",
855
+ "type": "bytes",
856
+ "internalType": "bytes"
857
+ },
858
+ {
859
+ "name": "signature",
860
+ "type": "bytes",
861
+ "internalType": "bytes"
862
+ }
863
+ ]
864
+ },
865
+ {
866
+ "name": "beneficiary",
867
+ "type": "address",
868
+ "internalType": "address payable"
869
+ },
870
+ {
871
+ "name": "entryPoint",
872
+ "type": "address",
873
+ "internalType": "contract IEntryPoint"
874
+ }
875
+ ],
876
+ "outputs": [
877
+ {
878
+ "name": "",
879
+ "type": "tuple",
880
+ "internalType": "struct PimlicoSimulations.FilterOpsResult",
881
+ "components": [
882
+ {
883
+ "name": "gasUsed",
884
+ "type": "uint256",
885
+ "internalType": "uint256"
886
+ },
887
+ {
888
+ "name": "balanceChange",
889
+ "type": "uint256",
890
+ "internalType": "uint256"
891
+ },
892
+ {
893
+ "name": "rejectedUserOps",
894
+ "type": "tuple[]",
895
+ "internalType": "struct PimlicoSimulations.RejectedUserOp[]",
896
+ "components": [
897
+ {
898
+ "name": "userOpHash",
899
+ "type": "bytes32",
900
+ "internalType": "bytes32"
901
+ },
902
+ {
903
+ "name": "revertReason",
904
+ "type": "bytes",
905
+ "internalType": "bytes"
906
+ }
907
+ ]
908
+ }
909
+ ]
910
+ }
911
+ ],
912
+ "stateMutability": "nonpayable"
913
+ },
914
+ {
915
+ "type": "function",
916
+ "name": "simulateAndEstimateGas",
917
+ "inputs": [
918
+ {
919
+ "name": "entryPointSimulation",
920
+ "type": "address",
921
+ "internalType": "address"
922
+ },
923
+ {
924
+ "name": "entryPoint",
925
+ "type": "address",
926
+ "internalType": "address payable"
927
+ },
928
+ {
929
+ "name": "queuedUserOps",
930
+ "type": "tuple[]",
931
+ "internalType": "struct PackedUserOperation[]",
932
+ "components": [
933
+ {
934
+ "name": "sender",
935
+ "type": "address",
936
+ "internalType": "address"
937
+ },
938
+ {
939
+ "name": "nonce",
940
+ "type": "uint256",
941
+ "internalType": "uint256"
942
+ },
943
+ {
944
+ "name": "initCode",
945
+ "type": "bytes",
946
+ "internalType": "bytes"
947
+ },
948
+ {
949
+ "name": "callData",
950
+ "type": "bytes",
951
+ "internalType": "bytes"
952
+ },
953
+ {
954
+ "name": "accountGasLimits",
955
+ "type": "bytes32",
956
+ "internalType": "bytes32"
957
+ },
958
+ {
959
+ "name": "preVerificationGas",
960
+ "type": "uint256",
961
+ "internalType": "uint256"
962
+ },
963
+ {
964
+ "name": "gasFees",
965
+ "type": "bytes32",
966
+ "internalType": "bytes32"
967
+ },
968
+ {
969
+ "name": "paymasterAndData",
970
+ "type": "bytes",
971
+ "internalType": "bytes"
972
+ },
973
+ {
974
+ "name": "signature",
975
+ "type": "bytes",
976
+ "internalType": "bytes"
977
+ }
978
+ ]
979
+ },
980
+ {
981
+ "name": "targetUserOp",
982
+ "type": "tuple",
983
+ "internalType": "struct PackedUserOperation",
984
+ "components": [
985
+ {
986
+ "name": "sender",
987
+ "type": "address",
988
+ "internalType": "address"
989
+ },
990
+ {
991
+ "name": "nonce",
992
+ "type": "uint256",
993
+ "internalType": "uint256"
994
+ },
995
+ {
996
+ "name": "initCode",
997
+ "type": "bytes",
998
+ "internalType": "bytes"
999
+ },
1000
+ {
1001
+ "name": "callData",
1002
+ "type": "bytes",
1003
+ "internalType": "bytes"
1004
+ },
1005
+ {
1006
+ "name": "accountGasLimits",
1007
+ "type": "bytes32",
1008
+ "internalType": "bytes32"
1009
+ },
1010
+ {
1011
+ "name": "preVerificationGas",
1012
+ "type": "uint256",
1013
+ "internalType": "uint256"
1014
+ },
1015
+ {
1016
+ "name": "gasFees",
1017
+ "type": "bytes32",
1018
+ "internalType": "bytes32"
1019
+ },
1020
+ {
1021
+ "name": "paymasterAndData",
1022
+ "type": "bytes",
1023
+ "internalType": "bytes"
1024
+ },
1025
+ {
1026
+ "name": "signature",
1027
+ "type": "bytes",
1028
+ "internalType": "bytes"
1029
+ }
1030
+ ]
1031
+ },
1032
+ {
1033
+ "name": "initialMinGas",
1034
+ "type": "uint256",
1035
+ "internalType": "uint256"
1036
+ },
1037
+ {
1038
+ "name": "toleranceDelta",
1039
+ "type": "uint256",
1040
+ "internalType": "uint256"
1041
+ },
1042
+ {
1043
+ "name": "gasAllowance",
1044
+ "type": "uint256",
1045
+ "internalType": "uint256"
1046
+ }
1047
+ ],
1048
+ "outputs": [
1049
+ {
1050
+ "name": "result",
1051
+ "type": "tuple",
1052
+ "internalType": "struct PimlicoSimulations.SimulateAndEstimateGasResult",
1053
+ "components": [
1054
+ {
1055
+ "name": "simulationResult",
1056
+ "type": "tuple",
1057
+ "internalType": "struct IEntryPointSimulations.ExecutionResult",
1058
+ "components": [
1059
+ {
1060
+ "name": "preOpGas",
1061
+ "type": "uint256",
1062
+ "internalType": "uint256"
1063
+ },
1064
+ {
1065
+ "name": "paid",
1066
+ "type": "uint256",
1067
+ "internalType": "uint256"
1068
+ },
1069
+ {
1070
+ "name": "accountValidationData",
1071
+ "type": "uint256",
1072
+ "internalType": "uint256"
1073
+ },
1074
+ {
1075
+ "name": "paymasterValidationData",
1076
+ "type": "uint256",
1077
+ "internalType": "uint256"
1078
+ },
1079
+ {
1080
+ "name": "paymasterVerificationGasLimit",
1081
+ "type": "uint256",
1082
+ "internalType": "uint256"
1083
+ },
1084
+ {
1085
+ "name": "paymasterPostOpGasLimit",
1086
+ "type": "uint256",
1087
+ "internalType": "uint256"
1088
+ },
1089
+ {
1090
+ "name": "targetSuccess",
1091
+ "type": "bool",
1092
+ "internalType": "bool"
1093
+ },
1094
+ {
1095
+ "name": "targetResult",
1096
+ "type": "bytes",
1097
+ "internalType": "bytes"
1098
+ }
1099
+ ]
1100
+ },
1101
+ {
1102
+ "name": "verificationGasLimit",
1103
+ "type": "tuple",
1104
+ "internalType": "struct IEntryPointSimulations.BinarySearchResult",
1105
+ "components": [
1106
+ {
1107
+ "name": "resultType",
1108
+ "type": "uint8",
1109
+ "internalType": "enum IEntryPointSimulations.BinarySearchResultType"
1110
+ },
1111
+ {
1112
+ "name": "successData",
1113
+ "type": "tuple",
1114
+ "internalType": "struct IEntryPointSimulations.BinarySearchSuccess",
1115
+ "components": [
1116
+ {
1117
+ "name": "gasUsed",
1118
+ "type": "uint256",
1119
+ "internalType": "uint256"
1120
+ },
1121
+ {
1122
+ "name": "success",
1123
+ "type": "bool",
1124
+ "internalType": "bool"
1125
+ },
1126
+ {
1127
+ "name": "returnData",
1128
+ "type": "bytes",
1129
+ "internalType": "bytes"
1130
+ }
1131
+ ]
1132
+ },
1133
+ {
1134
+ "name": "outOfGasData",
1135
+ "type": "tuple",
1136
+ "internalType": "struct IEntryPointSimulations.BinarySearchOutOfGas",
1137
+ "components": [
1138
+ {
1139
+ "name": "optimalGas",
1140
+ "type": "uint256",
1141
+ "internalType": "uint256"
1142
+ },
1143
+ {
1144
+ "name": "minGas",
1145
+ "type": "uint256",
1146
+ "internalType": "uint256"
1147
+ },
1148
+ {
1149
+ "name": "maxGas",
1150
+ "type": "uint256",
1151
+ "internalType": "uint256"
1152
+ }
1153
+ ]
1154
+ }
1155
+ ]
1156
+ },
1157
+ {
1158
+ "name": "paymasterVerificationGasLimit",
1159
+ "type": "tuple",
1160
+ "internalType": "struct IEntryPointSimulations.BinarySearchResult",
1161
+ "components": [
1162
+ {
1163
+ "name": "resultType",
1164
+ "type": "uint8",
1165
+ "internalType": "enum IEntryPointSimulations.BinarySearchResultType"
1166
+ },
1167
+ {
1168
+ "name": "successData",
1169
+ "type": "tuple",
1170
+ "internalType": "struct IEntryPointSimulations.BinarySearchSuccess",
1171
+ "components": [
1172
+ {
1173
+ "name": "gasUsed",
1174
+ "type": "uint256",
1175
+ "internalType": "uint256"
1176
+ },
1177
+ {
1178
+ "name": "success",
1179
+ "type": "bool",
1180
+ "internalType": "bool"
1181
+ },
1182
+ {
1183
+ "name": "returnData",
1184
+ "type": "bytes",
1185
+ "internalType": "bytes"
1186
+ }
1187
+ ]
1188
+ },
1189
+ {
1190
+ "name": "outOfGasData",
1191
+ "type": "tuple",
1192
+ "internalType": "struct IEntryPointSimulations.BinarySearchOutOfGas",
1193
+ "components": [
1194
+ {
1195
+ "name": "optimalGas",
1196
+ "type": "uint256",
1197
+ "internalType": "uint256"
1198
+ },
1199
+ {
1200
+ "name": "minGas",
1201
+ "type": "uint256",
1202
+ "internalType": "uint256"
1203
+ },
1204
+ {
1205
+ "name": "maxGas",
1206
+ "type": "uint256",
1207
+ "internalType": "uint256"
1208
+ }
1209
+ ]
1210
+ }
1211
+ ]
1212
+ }
1213
+ ]
1214
+ }
1215
+ ],
1216
+ "stateMutability": "nonpayable"
1217
+ },
1218
+ {
1219
+ "type": "function",
1220
+ "name": "simulateHandleOp",
1221
+ "inputs": [
1222
+ {
1223
+ "name": "entryPointSimulation",
1224
+ "type": "address",
1225
+ "internalType": "address"
1226
+ },
1227
+ {
1228
+ "name": "entryPoint",
1229
+ "type": "address",
1230
+ "internalType": "address payable"
1231
+ },
1232
+ {
1233
+ "name": "queuedUserOps",
1234
+ "type": "tuple[]",
1235
+ "internalType": "struct PackedUserOperation[]",
1236
+ "components": [
1237
+ {
1238
+ "name": "sender",
1239
+ "type": "address",
1240
+ "internalType": "address"
1241
+ },
1242
+ {
1243
+ "name": "nonce",
1244
+ "type": "uint256",
1245
+ "internalType": "uint256"
1246
+ },
1247
+ {
1248
+ "name": "initCode",
1249
+ "type": "bytes",
1250
+ "internalType": "bytes"
1251
+ },
1252
+ {
1253
+ "name": "callData",
1254
+ "type": "bytes",
1255
+ "internalType": "bytes"
1256
+ },
1257
+ {
1258
+ "name": "accountGasLimits",
1259
+ "type": "bytes32",
1260
+ "internalType": "bytes32"
1261
+ },
1262
+ {
1263
+ "name": "preVerificationGas",
1264
+ "type": "uint256",
1265
+ "internalType": "uint256"
1266
+ },
1267
+ {
1268
+ "name": "gasFees",
1269
+ "type": "bytes32",
1270
+ "internalType": "bytes32"
1271
+ },
1272
+ {
1273
+ "name": "paymasterAndData",
1274
+ "type": "bytes",
1275
+ "internalType": "bytes"
1276
+ },
1277
+ {
1278
+ "name": "signature",
1279
+ "type": "bytes",
1280
+ "internalType": "bytes"
1281
+ }
1282
+ ]
1283
+ },
1284
+ {
1285
+ "name": "targetUserOp",
1286
+ "type": "tuple",
1287
+ "internalType": "struct PackedUserOperation",
1288
+ "components": [
1289
+ {
1290
+ "name": "sender",
1291
+ "type": "address",
1292
+ "internalType": "address"
1293
+ },
1294
+ {
1295
+ "name": "nonce",
1296
+ "type": "uint256",
1297
+ "internalType": "uint256"
1298
+ },
1299
+ {
1300
+ "name": "initCode",
1301
+ "type": "bytes",
1302
+ "internalType": "bytes"
1303
+ },
1304
+ {
1305
+ "name": "callData",
1306
+ "type": "bytes",
1307
+ "internalType": "bytes"
1308
+ },
1309
+ {
1310
+ "name": "accountGasLimits",
1311
+ "type": "bytes32",
1312
+ "internalType": "bytes32"
1313
+ },
1314
+ {
1315
+ "name": "preVerificationGas",
1316
+ "type": "uint256",
1317
+ "internalType": "uint256"
1318
+ },
1319
+ {
1320
+ "name": "gasFees",
1321
+ "type": "bytes32",
1322
+ "internalType": "bytes32"
1323
+ },
1324
+ {
1325
+ "name": "paymasterAndData",
1326
+ "type": "bytes",
1327
+ "internalType": "bytes"
1328
+ },
1329
+ {
1330
+ "name": "signature",
1331
+ "type": "bytes",
1332
+ "internalType": "bytes"
1333
+ }
1334
+ ]
1335
+ }
1336
+ ],
1337
+ "outputs": [
1338
+ {
1339
+ "name": "",
1340
+ "type": "tuple",
1341
+ "internalType": "struct IEntryPointSimulations.ExecutionResult",
1342
+ "components": [
1343
+ {
1344
+ "name": "preOpGas",
1345
+ "type": "uint256",
1346
+ "internalType": "uint256"
1347
+ },
1348
+ {
1349
+ "name": "paid",
1350
+ "type": "uint256",
1351
+ "internalType": "uint256"
1352
+ },
1353
+ {
1354
+ "name": "accountValidationData",
1355
+ "type": "uint256",
1356
+ "internalType": "uint256"
1357
+ },
1358
+ {
1359
+ "name": "paymasterValidationData",
1360
+ "type": "uint256",
1361
+ "internalType": "uint256"
1362
+ },
1363
+ {
1364
+ "name": "paymasterVerificationGasLimit",
1365
+ "type": "uint256",
1366
+ "internalType": "uint256"
1367
+ },
1368
+ {
1369
+ "name": "paymasterPostOpGasLimit",
1370
+ "type": "uint256",
1371
+ "internalType": "uint256"
1372
+ },
1373
+ {
1374
+ "name": "targetSuccess",
1375
+ "type": "bool",
1376
+ "internalType": "bool"
1377
+ },
1378
+ {
1379
+ "name": "targetResult",
1380
+ "type": "bytes",
1381
+ "internalType": "bytes"
1382
+ }
1383
+ ]
1384
+ }
1385
+ ],
1386
+ "stateMutability": "nonpayable"
1387
+ },
1388
+ {
1389
+ "type": "function",
1390
+ "name": "simulateValidation",
1391
+ "inputs": [
1392
+ {
1393
+ "name": "entryPointSimulation",
1394
+ "type": "address",
1395
+ "internalType": "address"
1396
+ },
1397
+ {
1398
+ "name": "entryPoint",
1399
+ "type": "address",
1400
+ "internalType": "address payable"
1401
+ },
1402
+ {
1403
+ "name": "queuedUserOps",
1404
+ "type": "tuple[]",
1405
+ "internalType": "struct PackedUserOperation[]",
1406
+ "components": [
1407
+ {
1408
+ "name": "sender",
1409
+ "type": "address",
1410
+ "internalType": "address"
1411
+ },
1412
+ {
1413
+ "name": "nonce",
1414
+ "type": "uint256",
1415
+ "internalType": "uint256"
1416
+ },
1417
+ {
1418
+ "name": "initCode",
1419
+ "type": "bytes",
1420
+ "internalType": "bytes"
1421
+ },
1422
+ {
1423
+ "name": "callData",
1424
+ "type": "bytes",
1425
+ "internalType": "bytes"
1426
+ },
1427
+ {
1428
+ "name": "accountGasLimits",
1429
+ "type": "bytes32",
1430
+ "internalType": "bytes32"
1431
+ },
1432
+ {
1433
+ "name": "preVerificationGas",
1434
+ "type": "uint256",
1435
+ "internalType": "uint256"
1436
+ },
1437
+ {
1438
+ "name": "gasFees",
1439
+ "type": "bytes32",
1440
+ "internalType": "bytes32"
1441
+ },
1442
+ {
1443
+ "name": "paymasterAndData",
1444
+ "type": "bytes",
1445
+ "internalType": "bytes"
1446
+ },
1447
+ {
1448
+ "name": "signature",
1449
+ "type": "bytes",
1450
+ "internalType": "bytes"
1451
+ }
1452
+ ]
1453
+ },
1454
+ {
1455
+ "name": "targetUserOp",
1456
+ "type": "tuple",
1457
+ "internalType": "struct PackedUserOperation",
1458
+ "components": [
1459
+ {
1460
+ "name": "sender",
1461
+ "type": "address",
1462
+ "internalType": "address"
1463
+ },
1464
+ {
1465
+ "name": "nonce",
1466
+ "type": "uint256",
1467
+ "internalType": "uint256"
1468
+ },
1469
+ {
1470
+ "name": "initCode",
1471
+ "type": "bytes",
1472
+ "internalType": "bytes"
1473
+ },
1474
+ {
1475
+ "name": "callData",
1476
+ "type": "bytes",
1477
+ "internalType": "bytes"
1478
+ },
1479
+ {
1480
+ "name": "accountGasLimits",
1481
+ "type": "bytes32",
1482
+ "internalType": "bytes32"
1483
+ },
1484
+ {
1485
+ "name": "preVerificationGas",
1486
+ "type": "uint256",
1487
+ "internalType": "uint256"
1488
+ },
1489
+ {
1490
+ "name": "gasFees",
1491
+ "type": "bytes32",
1492
+ "internalType": "bytes32"
1493
+ },
1494
+ {
1495
+ "name": "paymasterAndData",
1496
+ "type": "bytes",
1497
+ "internalType": "bytes"
1498
+ },
1499
+ {
1500
+ "name": "signature",
1501
+ "type": "bytes",
1502
+ "internalType": "bytes"
1503
+ }
1504
+ ]
1505
+ }
1506
+ ],
1507
+ "outputs": [
1508
+ {
1509
+ "name": "",
1510
+ "type": "tuple",
1511
+ "internalType": "struct IEntryPointSimulations.ValidationResult",
1512
+ "components": [
1513
+ {
1514
+ "name": "returnInfo",
1515
+ "type": "tuple",
1516
+ "internalType": "struct IEntryPoint.ReturnInfo",
1517
+ "components": [
1518
+ {
1519
+ "name": "preOpGas",
1520
+ "type": "uint256",
1521
+ "internalType": "uint256"
1522
+ },
1523
+ {
1524
+ "name": "prefund",
1525
+ "type": "uint256",
1526
+ "internalType": "uint256"
1527
+ },
1528
+ {
1529
+ "name": "accountValidationData",
1530
+ "type": "uint256",
1531
+ "internalType": "uint256"
1532
+ },
1533
+ {
1534
+ "name": "paymasterValidationData",
1535
+ "type": "uint256",
1536
+ "internalType": "uint256"
1537
+ },
1538
+ {
1539
+ "name": "paymasterContext",
1540
+ "type": "bytes",
1541
+ "internalType": "bytes"
1542
+ }
1543
+ ]
1544
+ },
1545
+ {
1546
+ "name": "senderInfo",
1547
+ "type": "tuple",
1548
+ "internalType": "struct IStakeManager.StakeInfo",
1549
+ "components": [
1550
+ {
1551
+ "name": "stake",
1552
+ "type": "uint256",
1553
+ "internalType": "uint256"
1554
+ },
1555
+ {
1556
+ "name": "unstakeDelaySec",
1557
+ "type": "uint256",
1558
+ "internalType": "uint256"
1559
+ }
1560
+ ]
1561
+ },
1562
+ {
1563
+ "name": "factoryInfo",
1564
+ "type": "tuple",
1565
+ "internalType": "struct IStakeManager.StakeInfo",
1566
+ "components": [
1567
+ {
1568
+ "name": "stake",
1569
+ "type": "uint256",
1570
+ "internalType": "uint256"
1571
+ },
1572
+ {
1573
+ "name": "unstakeDelaySec",
1574
+ "type": "uint256",
1575
+ "internalType": "uint256"
1576
+ }
1577
+ ]
1578
+ },
1579
+ {
1580
+ "name": "paymasterInfo",
1581
+ "type": "tuple",
1582
+ "internalType": "struct IStakeManager.StakeInfo",
1583
+ "components": [
1584
+ {
1585
+ "name": "stake",
1586
+ "type": "uint256",
1587
+ "internalType": "uint256"
1588
+ },
1589
+ {
1590
+ "name": "unstakeDelaySec",
1591
+ "type": "uint256",
1592
+ "internalType": "uint256"
1593
+ }
1594
+ ]
1595
+ },
1596
+ {
1597
+ "name": "aggregatorInfo",
1598
+ "type": "tuple",
1599
+ "internalType": "struct IEntryPoint.AggregatorStakeInfo",
1600
+ "components": [
1601
+ {
1602
+ "name": "aggregator",
1603
+ "type": "address",
1604
+ "internalType": "address"
1605
+ },
1606
+ {
1607
+ "name": "stakeInfo",
1608
+ "type": "tuple",
1609
+ "internalType": "struct IStakeManager.StakeInfo",
1610
+ "components": [
1611
+ {
1612
+ "name": "stake",
1613
+ "type": "uint256",
1614
+ "internalType": "uint256"
1615
+ },
1616
+ {
1617
+ "name": "unstakeDelaySec",
1618
+ "type": "uint256",
1619
+ "internalType": "uint256"
1620
+ }
1621
+ ]
1622
+ }
1623
+ ]
1624
+ }
1625
+ ]
357
1626
  }
358
1627
  ],
359
1628
  "stateMutability": "nonpayable"
360
1629
  },
361
1630
  {
362
1631
  "type": "event",
363
- "name": "PimlicoSimulationV7Deployed",
1632
+ "name": "PimlicoSimulationDeployed",
364
1633
  "inputs": [],
365
1634
  "anonymous": false
366
1635
  }