@pimlico/alto 0.0.0-main.20241218T163308 → 0.0.0-main.20241220T183546

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 (133) hide show
  1. package/esm/cli/config/bundler.d.ts +32 -20
  2. package/esm/cli/config/bundler.js +3 -1
  3. package/esm/cli/config/bundler.js.map +1 -1
  4. package/esm/cli/config/options.js +13 -2
  5. package/esm/cli/config/options.js.map +1 -1
  6. package/esm/cli/deploySimulationsContract.js +45 -19
  7. package/esm/cli/deploySimulationsContract.js.map +1 -1
  8. package/esm/cli/handler.js +2 -1
  9. package/esm/cli/handler.js.map +1 -1
  10. package/esm/cli/parseArgs.js +1 -1
  11. package/esm/cli/parseArgs.js.map +1 -1
  12. package/esm/executor/executor.js +45 -20
  13. package/esm/executor/executor.js.map +1 -1
  14. package/esm/executor/executorManager.d.ts +1 -1
  15. package/esm/executor/types.d.ts +25 -0
  16. package/esm/executor/types.js +2 -0
  17. package/esm/executor/types.js.map +1 -0
  18. package/esm/executor/utils.d.ts +4 -2
  19. package/esm/executor/utils.js +20 -6
  20. package/esm/executor/utils.js.map +1 -1
  21. package/esm/mempool/mempool.js +7 -1
  22. package/esm/mempool/mempool.js.map +1 -1
  23. package/esm/rpc/estimation/gasEstimationHandler.d.ts +3 -1
  24. package/esm/rpc/estimation/gasEstimationHandler.js +3 -1
  25. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  26. package/esm/rpc/estimation/gasEstimationsV06.d.ts +3 -1
  27. package/esm/rpc/estimation/gasEstimationsV06.js +9 -1
  28. package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
  29. package/esm/rpc/estimation/gasEstimationsV07.d.ts +21 -11
  30. package/esm/rpc/estimation/gasEstimationsV07.js +216 -48
  31. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
  32. package/esm/rpc/estimation/types.d.ts +9 -2
  33. package/esm/rpc/estimation/types.js.map +1 -1
  34. package/esm/rpc/rpcHandler.d.ts +53 -1
  35. package/esm/rpc/rpcHandler.js +221 -146
  36. package/esm/rpc/rpcHandler.js.map +1 -1
  37. package/esm/rpc/validation/SafeValidator.d.ts +18 -3
  38. package/esm/rpc/validation/SafeValidator.js +15 -6
  39. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  40. package/esm/rpc/validation/UnsafeValidator.d.ts +41 -6
  41. package/esm/rpc/validation/UnsafeValidator.js +27 -10
  42. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  43. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +983 -15
  44. package/esm/types/contracts/EntryPointSimulationsV7.js +1178 -425
  45. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -1
  46. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -1
  47. package/esm/types/contracts/PimlicoEntryPointSimulations.js +2 -1
  48. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  49. package/esm/types/interfaces.d.ts +41 -6
  50. package/esm/types/mempool.d.ts +3 -2
  51. package/esm/types/mempool.js +10 -3
  52. package/esm/types/mempool.js.map +1 -1
  53. package/esm/types/schemas.d.ts +896 -40
  54. package/esm/types/schemas.js +61 -2
  55. package/esm/types/schemas.js.map +1 -1
  56. package/esm/types/validation.d.ts +210 -210
  57. package/esm/types/validation.js +1 -1
  58. package/esm/types/validation.js.map +1 -1
  59. package/esm/utils/helpers.d.ts +14 -1
  60. package/esm/utils/helpers.js +14 -0
  61. package/esm/utils/helpers.js.map +1 -1
  62. package/esm/utils/metrics.d.ts +3 -3
  63. package/esm/utils/userop.d.ts +1 -1
  64. package/esm/utils/validation.d.ts +5 -2
  65. package/esm/utils/validation.js +9 -4
  66. package/esm/utils/validation.js.map +1 -1
  67. package/lib/cli/config/bundler.d.ts +32 -20
  68. package/lib/cli/config/bundler.js +3 -1
  69. package/lib/cli/config/bundler.js.map +1 -1
  70. package/lib/cli/config/options.js +13 -2
  71. package/lib/cli/config/options.js.map +1 -1
  72. package/lib/cli/deploySimulationsContract.js +43 -17
  73. package/lib/cli/deploySimulationsContract.js.map +1 -1
  74. package/lib/cli/handler.js +2 -1
  75. package/lib/cli/handler.js.map +1 -1
  76. package/lib/cli/parseArgs.js +1 -1
  77. package/lib/cli/parseArgs.js.map +1 -1
  78. package/lib/executor/executor.js +44 -19
  79. package/lib/executor/executor.js.map +1 -1
  80. package/lib/executor/executorManager.d.ts +1 -1
  81. package/lib/executor/types.d.ts +25 -0
  82. package/lib/executor/types.js +3 -0
  83. package/lib/executor/types.js.map +1 -0
  84. package/lib/executor/utils.d.ts +4 -2
  85. package/lib/executor/utils.js +21 -6
  86. package/lib/executor/utils.js.map +1 -1
  87. package/lib/mempool/mempool.js +7 -1
  88. package/lib/mempool/mempool.js.map +1 -1
  89. package/lib/rpc/estimation/gasEstimationHandler.d.ts +3 -1
  90. package/lib/rpc/estimation/gasEstimationHandler.js +3 -1
  91. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
  92. package/lib/rpc/estimation/gasEstimationsV06.d.ts +3 -1
  93. package/lib/rpc/estimation/gasEstimationsV06.js +9 -1
  94. package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
  95. package/lib/rpc/estimation/gasEstimationsV07.d.ts +21 -11
  96. package/lib/rpc/estimation/gasEstimationsV07.js +213 -45
  97. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
  98. package/lib/rpc/estimation/types.d.ts +9 -2
  99. package/lib/rpc/estimation/types.js.map +1 -1
  100. package/lib/rpc/rpcHandler.d.ts +53 -1
  101. package/lib/rpc/rpcHandler.js +220 -145
  102. package/lib/rpc/rpcHandler.js.map +1 -1
  103. package/lib/rpc/validation/SafeValidator.d.ts +18 -3
  104. package/lib/rpc/validation/SafeValidator.js +15 -6
  105. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  106. package/lib/rpc/validation/UnsafeValidator.d.ts +41 -6
  107. package/lib/rpc/validation/UnsafeValidator.js +27 -10
  108. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  109. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +983 -15
  110. package/lib/types/contracts/EntryPointSimulationsV7.js +1179 -426
  111. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -1
  112. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -1
  113. package/lib/types/contracts/PimlicoEntryPointSimulations.js +3 -2
  114. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  115. package/lib/types/interfaces.d.ts +41 -6
  116. package/lib/types/mempool.d.ts +3 -2
  117. package/lib/types/mempool.js +12 -4
  118. package/lib/types/mempool.js.map +1 -1
  119. package/lib/types/schemas.d.ts +896 -40
  120. package/lib/types/schemas.js +61 -2
  121. package/lib/types/schemas.js.map +1 -1
  122. package/lib/types/validation.d.ts +210 -210
  123. package/lib/types/validation.js +2 -2
  124. package/lib/types/validation.js.map +1 -1
  125. package/lib/utils/helpers.d.ts +14 -1
  126. package/lib/utils/helpers.js +16 -1
  127. package/lib/utils/helpers.js.map +1 -1
  128. package/lib/utils/metrics.d.ts +3 -3
  129. package/lib/utils/userop.d.ts +1 -1
  130. package/lib/utils/validation.d.ts +5 -2
  131. package/lib/utils/validation.js +9 -4
  132. package/lib/utils/validation.js.map +1 -1
  133. package/package.json +1 -1
@@ -11,7 +11,7 @@ class GasEstimatorV07 {
11
11
  constructor(config) {
12
12
  this.config = config;
13
13
  }
14
- async simulateValidation({ entryPoint, userOperation, queuedUserOperations }) {
14
+ async simulateValidation({ entryPoint, userOperation, queuedUserOperations, authorizationList }) {
15
15
  const userOperations = [...queuedUserOperations, userOperation];
16
16
  const packedUserOperations = userOperations.map((uo) => (0, utils_1.toPackedUserOperation)(uo));
17
17
  const simulateValidationLast = (0, viem_1.encodeFunctionData)({
@@ -21,7 +21,8 @@ class GasEstimatorV07 {
21
21
  });
22
22
  const errorResult = await this.callPimlicoEntryPointSimulations({
23
23
  entryPoint,
24
- entryPointSimulationsCallData: [simulateValidationLast]
24
+ entryPointSimulationsCallData: [simulateValidationLast],
25
+ authorizationList
25
26
  });
26
27
  return {
27
28
  simulateValidationResult: getSimulateValidationResult(errorResult[0])
@@ -57,7 +58,7 @@ class GasEstimatorV07 {
57
58
  });
58
59
  return simulateHandleOpCallData;
59
60
  }
60
- encodeSimulateCallData({ userOperation, queuedUserOperations, entryPoint, gasAllowance = this.config.binarySearchGasAllowance, initialMinGas = 0n }) {
61
+ encodeBinarySearchGasLimit({ entryPoint, userOperation, queuedUserOperations, target, targetCallData, gasAllowance = this.config.binarySearchGasAllowance, initialMinGas = 0n, functionName }) {
61
62
  const queuedOps = queuedUserOperations.map((op) => ({
62
63
  op: (0, utils_1.toPackedUserOperation)(op),
63
64
  target: op.sender,
@@ -68,15 +69,12 @@ class GasEstimatorV07 {
68
69
  }));
69
70
  const targetOp = {
70
71
  op: (0, utils_1.toPackedUserOperation)(userOperation),
71
- target: userOperation.sender,
72
- targetCallData: this.encodeUserOperationCalldata({
73
- op: userOperation,
74
- entryPoint
75
- })
72
+ target,
73
+ targetCallData
76
74
  };
77
- const simulateTargetCallData = (0, viem_1.encodeFunctionData)({
75
+ const binarySearchVerificationGasLimit = (0, viem_1.encodeFunctionData)({
78
76
  abi: types_1.EntryPointV07SimulationsAbi,
79
- functionName: "simulateCallData",
77
+ functionName,
80
78
  args: [
81
79
  queuedOps,
82
80
  targetOp,
@@ -86,10 +84,10 @@ class GasEstimatorV07 {
86
84
  gasAllowance
87
85
  ]
88
86
  });
89
- return simulateTargetCallData;
87
+ return binarySearchVerificationGasLimit;
90
88
  }
91
89
  // Try to get the calldata gas again if the initial simulation reverted due to hitting the eth_call gasLimit.
92
- async retryGetCallDataGas({ entryPoint, optimalGas, minGas, targetOp, queuedOps, stateOverrides, simulateHandleOpLastResult }) {
90
+ async retryBinarySearch({ entryPoint, optimalGas, minGas, targetOp, target, targetCallData, functionName, queuedOps, stateOverrides, authorizationList }) {
93
91
  const maxRetries = 3;
94
92
  let retryCount = 0;
95
93
  let currentOptimalGas = optimalGas;
@@ -97,17 +95,21 @@ class GasEstimatorV07 {
97
95
  while (retryCount < maxRetries) {
98
96
  // OptimalGas represents the current lowest gasLimit, so we set the gasAllowance to search range minGas <-> optimalGas
99
97
  const gasAllowance = currentOptimalGas - currentMinGas;
100
- const simulateCallData = this.encodeSimulateCallData({
98
+ const simulateCallData = this.encodeBinarySearchGasLimit({
101
99
  entryPoint,
102
100
  userOperation: targetOp,
101
+ target,
102
+ targetCallData,
103
103
  queuedUserOperations: queuedOps,
104
104
  initialMinGas: currentMinGas,
105
- gasAllowance
105
+ gasAllowance,
106
+ functionName
106
107
  });
107
108
  let cause = await this.callPimlicoEntryPointSimulations({
108
109
  entryPoint,
109
110
  entryPointSimulationsCallData: [simulateCallData],
110
- stateOverrides
111
+ stateOverrides,
112
+ authorizationList
111
113
  });
112
114
  cause = cause.map((data) => {
113
115
  const decodedDelegateAndError = (0, viem_1.decodeErrorResult)({
@@ -119,7 +121,7 @@ class GasEstimatorV07 {
119
121
  }
120
122
  return decodedDelegateAndError.args[1];
121
123
  });
122
- const simulateCallDataResult = validateTargetCallDataResult(cause[0]);
124
+ const simulateCallDataResult = validateBinarySearchDataResult(cause[0], functionName);
123
125
  if (simulateCallDataResult.result === "failed") {
124
126
  return simulateCallDataResult;
125
127
  }
@@ -131,11 +133,8 @@ class GasEstimatorV07 {
131
133
  }
132
134
  // If we reach here, it means we have a successful result
133
135
  return {
134
- result: "execution",
135
- data: {
136
- callDataResult: simulateCallDataResult.data,
137
- executionResult: simulateHandleOpLastResult.data.executionResult
138
- }
136
+ result: "success",
137
+ data: simulateCallDataResult.data
139
138
  };
140
139
  }
141
140
  // If we've exhausted all retries, return a failure result
@@ -145,45 +144,125 @@ class GasEstimatorV07 {
145
144
  code: types_1.ValidationErrors.SimulateValidation
146
145
  };
147
146
  }
148
- async simulateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides = undefined }) {
147
+ async simulateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides = undefined, authorizationList }) {
149
148
  const simulateHandleOpLast = this.encodeSimulateHandleOpLast({
150
149
  entryPoint,
151
150
  userOperation,
152
151
  queuedUserOperations
153
152
  });
154
- const simulateCallData = this.encodeSimulateCallData({
153
+ const binarySearchVerificationGasLimit = this.encodeBinarySearchGasLimit({
155
154
  entryPoint,
156
155
  userOperation,
157
- queuedUserOperations
156
+ queuedUserOperations,
157
+ target: viem_1.zeroAddress,
158
+ targetCallData: "0x",
159
+ functionName: "binarySearchVerificationGasLimit"
160
+ });
161
+ const binarySearchPaymasterVerificationGasLimit = userOperation.paymaster
162
+ ? this.encodeBinarySearchGasLimit({
163
+ entryPoint,
164
+ userOperation,
165
+ queuedUserOperations,
166
+ target: viem_1.zeroAddress,
167
+ targetCallData: "0x",
168
+ functionName: "binarySearchPaymasterVerificationGasLimit"
169
+ })
170
+ : null;
171
+ const simulateCallData = this.encodeBinarySearchGasLimit({
172
+ entryPoint,
173
+ userOperation,
174
+ queuedUserOperations,
175
+ target: userOperation.sender,
176
+ targetCallData: this.encodeUserOperationCalldata({
177
+ op: userOperation,
178
+ entryPoint
179
+ }),
180
+ functionName: "simulateCallData"
158
181
  });
159
182
  let cause;
160
183
  if (this.config.chainType === "hedera") {
161
184
  // due to Hedera specific restrictions, we can't combine these two calls.
162
- const [simulateHandleOpLastCause, simulateCallDataCause] = await Promise.all([
185
+ const [simulateHandleOpLastCause, binarySearchVerificationGasLimitCause, binarySearchPaymasterVerificationGasLimitCause, simulateCallDataCause] = await Promise.all([
163
186
  this.callPimlicoEntryPointSimulations({
164
187
  entryPoint,
165
188
  entryPointSimulationsCallData: [simulateHandleOpLast],
166
- stateOverrides
189
+ stateOverrides,
190
+ authorizationList
167
191
  }),
192
+ this.callPimlicoEntryPointSimulations({
193
+ entryPoint,
194
+ entryPointSimulationsCallData: [
195
+ binarySearchVerificationGasLimit
196
+ ],
197
+ stateOverrides,
198
+ authorizationList
199
+ }),
200
+ binarySearchPaymasterVerificationGasLimit
201
+ ? this.callPimlicoEntryPointSimulations({
202
+ entryPoint,
203
+ entryPointSimulationsCallData: [
204
+ binarySearchPaymasterVerificationGasLimit
205
+ ],
206
+ stateOverrides,
207
+ authorizationList
208
+ })
209
+ : null,
168
210
  this.callPimlicoEntryPointSimulations({
169
211
  entryPoint,
170
212
  entryPointSimulationsCallData: [simulateCallData],
171
- stateOverrides
213
+ stateOverrides,
214
+ authorizationList
172
215
  })
173
216
  ]);
174
- cause = [simulateHandleOpLastCause[0], simulateCallDataCause[0]];
217
+ cause = [
218
+ simulateHandleOpLastCause[0],
219
+ binarySearchVerificationGasLimitCause[0],
220
+ binarySearchPaymasterVerificationGasLimitCause?.[0] ?? null,
221
+ simulateCallDataCause[0]
222
+ ];
175
223
  }
176
224
  else {
177
- cause = await this.callPimlicoEntryPointSimulations({
178
- entryPoint,
179
- entryPointSimulationsCallData: [
180
- simulateHandleOpLast,
181
- simulateCallData
182
- ],
183
- stateOverrides
184
- });
225
+ const [handleOpAndBinarySearchVerificationGasLimits, binarySearchCallDataGasLimits] = await Promise.all([
226
+ binarySearchPaymasterVerificationGasLimit
227
+ ? await this.callPimlicoEntryPointSimulations({
228
+ entryPoint,
229
+ entryPointSimulationsCallData: [
230
+ simulateHandleOpLast,
231
+ binarySearchVerificationGasLimit,
232
+ binarySearchPaymasterVerificationGasLimit
233
+ ],
234
+ stateOverrides,
235
+ authorizationList
236
+ })
237
+ : await this.callPimlicoEntryPointSimulations({
238
+ entryPoint,
239
+ entryPointSimulationsCallData: [
240
+ simulateHandleOpLast,
241
+ binarySearchVerificationGasLimit
242
+ ],
243
+ stateOverrides,
244
+ authorizationList
245
+ }),
246
+ await this.callPimlicoEntryPointSimulations({
247
+ entryPoint,
248
+ entryPointSimulationsCallData: [simulateCallData],
249
+ stateOverrides,
250
+ authorizationList
251
+ })
252
+ ]);
253
+ cause = [
254
+ handleOpAndBinarySearchVerificationGasLimits[0],
255
+ handleOpAndBinarySearchVerificationGasLimits[1],
256
+ binarySearchPaymasterVerificationGasLimit
257
+ ? handleOpAndBinarySearchVerificationGasLimits[2]
258
+ : null,
259
+ binarySearchCallDataGasLimits[0]
260
+ ];
185
261
  }
186
262
  cause = cause.map((data) => {
263
+ if (!data) {
264
+ return null;
265
+ }
187
266
  const decodedDelegateAndError = (0, viem_1.decodeErrorResult)({
188
267
  abi: types_1.EntryPointV07Abi,
189
268
  data: data
@@ -194,31 +273,113 @@ class GasEstimatorV07 {
194
273
  }
195
274
  return delegateAndRevertResponseBytes;
196
275
  });
276
+ const [simulateHandleOpLastCause, binarySearchVerificationGasLimitCause, binarySearchPaymasterVerificationGasLimitCause, simulateCallDataCause] = cause;
197
277
  try {
198
- const simulateHandleOpLastResult = getSimulateHandleOpResult(cause[0]);
278
+ const simulateHandleOpLastResult = getSimulateHandleOpResult(simulateHandleOpLastCause);
199
279
  if (simulateHandleOpLastResult.result === "failed") {
200
280
  return simulateHandleOpLastResult;
201
281
  }
202
- const simulateCallDataResult = validateTargetCallDataResult(cause[1]);
282
+ const binarySearchVerificationGasLimitResult = validateBinarySearchDataResult(binarySearchVerificationGasLimitCause, "binarySearchVerificationGasLimit");
283
+ let verificationGasLimit = 0n;
284
+ if (binarySearchVerificationGasLimitResult.result === "success") {
285
+ verificationGasLimit =
286
+ binarySearchVerificationGasLimitResult.data.gasUsed;
287
+ }
288
+ if (binarySearchVerificationGasLimitResult.result === "failed") {
289
+ return binarySearchVerificationGasLimitResult;
290
+ }
291
+ if (binarySearchVerificationGasLimitResult.result === "retry") {
292
+ const { optimalGas, minGas } = binarySearchVerificationGasLimitResult;
293
+ const binarySearchResult = await this.retryBinarySearch({
294
+ entryPoint,
295
+ optimalGas,
296
+ minGas,
297
+ targetOp: userOperation,
298
+ target: viem_1.zeroAddress,
299
+ targetCallData: "0x",
300
+ functionName: "binarySearchVerificationGasLimit",
301
+ queuedOps: queuedUserOperations,
302
+ stateOverrides
303
+ });
304
+ if (binarySearchResult.result === "failed") {
305
+ return binarySearchResult;
306
+ }
307
+ verificationGasLimit = binarySearchResult.data.gasUsed;
308
+ }
309
+ const binarySearchPaymasterVerificationGasLimitResult = binarySearchPaymasterVerificationGasLimitCause
310
+ ? validateBinarySearchDataResult(binarySearchPaymasterVerificationGasLimitCause, "binarySearchPaymasterVerificationGasLimit")
311
+ : {
312
+ result: "success",
313
+ data: {
314
+ gasUsed: 0n,
315
+ success: true,
316
+ returnData: "0x"
317
+ }
318
+ };
319
+ let paymasterVerificationGasLimit = 0n;
320
+ if (binarySearchPaymasterVerificationGasLimitResult.result ===
321
+ "success") {
322
+ paymasterVerificationGasLimit =
323
+ binarySearchPaymasterVerificationGasLimitResult.data.gasUsed;
324
+ }
325
+ if (binarySearchPaymasterVerificationGasLimitResult.result ===
326
+ "failed") {
327
+ return binarySearchPaymasterVerificationGasLimitResult;
328
+ }
329
+ if (binarySearchPaymasterVerificationGasLimitResult.result ===
330
+ "retry") {
331
+ const { optimalGas, minGas } = binarySearchPaymasterVerificationGasLimitResult;
332
+ const binarySearchResult = await this.retryBinarySearch({
333
+ entryPoint,
334
+ optimalGas,
335
+ minGas,
336
+ targetOp: userOperation,
337
+ target: viem_1.zeroAddress,
338
+ targetCallData: "0x",
339
+ functionName: "binarySearchPaymasterVerificationGasLimit",
340
+ queuedOps: queuedUserOperations,
341
+ stateOverrides
342
+ });
343
+ if (binarySearchResult.result === "failed") {
344
+ return binarySearchResult;
345
+ }
346
+ paymasterVerificationGasLimit = binarySearchResult.data.gasUsed;
347
+ }
348
+ const simulateCallDataResult = validateBinarySearchDataResult(simulateCallDataCause, "simulateCallData");
349
+ let callGasLimit = 0n;
350
+ if (simulateCallDataResult.result === "success") {
351
+ callGasLimit = simulateCallDataResult.data.gasUsed;
352
+ }
203
353
  if (simulateCallDataResult.result === "failed") {
204
354
  return simulateCallDataResult;
205
355
  }
206
356
  if (simulateCallDataResult.result === "retry") {
207
357
  const { optimalGas, minGas } = simulateCallDataResult;
208
- return await this.retryGetCallDataGas({
358
+ const binarySearchResult = await this.retryBinarySearch({
209
359
  entryPoint,
210
360
  optimalGas,
211
361
  minGas,
212
362
  targetOp: userOperation,
363
+ target: userOperation.sender,
364
+ targetCallData: this.encodeUserOperationCalldata({
365
+ op: userOperation,
366
+ entryPoint
367
+ }),
368
+ functionName: "simulateCallData",
213
369
  queuedOps: queuedUserOperations,
214
- simulateHandleOpLastResult: simulateHandleOpLastResult,
215
370
  stateOverrides
216
371
  });
372
+ if (binarySearchResult.result === "failed") {
373
+ return binarySearchResult;
374
+ }
375
+ callGasLimit = binarySearchResult.data.gasUsed;
217
376
  }
218
377
  return {
219
378
  result: "execution",
220
379
  data: {
221
- callDataResult: simulateCallDataResult.data,
380
+ callGasLimit,
381
+ verificationGasLimit,
382
+ paymasterVerificationGasLimit,
222
383
  executionResult: simulateHandleOpLastResult.data.executionResult
223
384
  }
224
385
  };
@@ -231,7 +392,7 @@ class GasEstimatorV07 {
231
392
  };
232
393
  }
233
394
  }
234
- async callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides }) {
395
+ async callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides, authorizationList }) {
235
396
  const publicClient = this.config.publicClient;
236
397
  const blockTagSupport = this.config.blockTagSupport;
237
398
  const utilityWalletAddress = this.config.utilityPrivateKey?.address ??
@@ -246,6 +407,13 @@ class GasEstimatorV07 {
246
407
  functionName: "simulateEntryPoint",
247
408
  args: [entryPoint, entryPointSimulationsCallData]
248
409
  });
410
+ if (authorizationList) {
411
+ stateOverrides = await (0, utils_1.addAuthorizationStateOverrides)({
412
+ stateOverrides,
413
+ authorizationList,
414
+ publicClient
415
+ });
416
+ }
249
417
  // Remove state override if not supported by network.
250
418
  if (!this.config.balanceOverride) {
251
419
  stateOverrides = undefined;
@@ -349,14 +517,14 @@ function getSimulateValidationResult(errorData) {
349
517
  throw new Error("Unexpected error - errorName is not ValidationResult or ValidationResultWithAggregation");
350
518
  }
351
519
  exports.getSimulateValidationResult = getSimulateValidationResult;
352
- function validateTargetCallDataResult(data) {
520
+ function validateBinarySearchDataResult(data, fnName) {
353
521
  try {
354
522
  const targetCallResult = (0, viem_1.decodeFunctionResult)({
355
523
  abi: types_1.EntryPointV07SimulationsAbi,
356
- functionName: "simulateCallData",
524
+ functionName: fnName,
357
525
  data: data
358
526
  });
359
- const parsedTargetCallResult = types_1.targetCallResultSchema.parse(targetCallResult);
527
+ const parsedTargetCallResult = types_1.binarySearchCallResultSchema.parse(targetCallResult);
360
528
  if (parsedTargetCallResult.success) {
361
529
  return {
362
530
  result: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"gasEstimationsV07.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV07.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gasEstimationsV07.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV07.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,20 @@
1
- import type { Address, ExecutionResult, PackedUserOperation, TargetCallResult } from "../../types/index.js";
1
+ import type { Address, ExecutionResult, PackedUserOperation, BinarySearchCallResult } from "../../types/index.js";
2
2
  import type { Hex } from "viem";
3
3
  export type SimulateHandleOpResult<TypeResult extends "failed" | "execution" = "failed" | "execution"> = {
4
4
  result: TypeResult;
5
5
  data: TypeResult extends "failed" ? string : {
6
- callDataResult?: TargetCallResult;
6
+ callGasLimit?: bigint;
7
+ verificationGasLimit?: bigint;
8
+ paymasterVerificationGasLimit?: bigint;
7
9
  executionResult: ExecutionResult;
8
10
  };
9
11
  code?: TypeResult extends "failed" ? number : undefined;
10
12
  };
13
+ export type SimulateBinarySearchRetryResult<TypeResult extends "failed" | "success" = "failed" | "success"> = {
14
+ result: TypeResult;
15
+ data: TypeResult extends "failed" ? string : BinarySearchCallResult;
16
+ code?: TypeResult extends "failed" ? number : undefined;
17
+ };
11
18
  export type CallDataSimulationArgs = {
12
19
  op: PackedUserOperation;
13
20
  target: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../rpc/estimation/types.ts"],"names":[],"mappings":";;;AAsCa,QAAA,gCAAgC,GAAG;IAC5C;QACI,UAAU,EAAE;YACR;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,UAAU,EAAE;4BACR;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,YAAY,EAAE,gCAAgC;wBAC9C,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,wCAAwC;gBACtD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,YAAY,EAAE,gDAAgD;QAC9D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO;KAChB;CACK,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../rpc/estimation/types.ts"],"names":[],"mappings":";;;AAgDa,QAAA,gCAAgC,GAAG;IAC5C;QACI,UAAU,EAAE;YACR;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,UAAU,EAAE;4BACR;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,YAAY,EAAE,gCAAgC;wBAC9C,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,wCAAwC;gBACtD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,YAAY,EAAE,gDAAgD;QAC9D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO;KAChB;CACK,CAAA"}
@@ -7,6 +7,7 @@ import type { Logger, Metrics } from "../utils/index.js";
7
7
  import { type Hex } from "viem";
8
8
  import type { NonceQueuer } from "./nonceQueuer.js";
9
9
  import type { AltoConfig } from "../createConfig.js";
10
+ import { SignedAuthorization } from "viem/experimental";
10
11
  export interface IRpcEndpoint {
11
12
  handleMethod(request: BundlerRequest, apiVersion: ApiVersion): Promise<BundlerResponse>;
12
13
  eth_chainId(): ChainIdResponseResult;
@@ -65,6 +66,29 @@ export declare class RpcHandler implements IRpcEndpoint {
65
66
  pimlico_getUserOperationStatus(userOperationHash: HexData32): PimlicoGetUserOperationStatusResponseResult;
66
67
  pimlico_getUserOperationGasPrice(): Promise<PimlicoGetUserOperationGasPriceResponseResult>;
67
68
  addToMempoolIfValid(op: MempoolUserOperation, entryPoint: Address, apiVersion: ApiVersion): Promise<"added" | "queued">;
69
+ pimlico_experimental_estimateUserOperationGas7702(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address, authorization: SignedAuthorization, stateOverrides?: StateOverrides): Promise<{
70
+ preVerificationGas: bigint;
71
+ verificationGasLimit: bigint;
72
+ callGasLimit: bigint;
73
+ paymasterVerificationGasLimit: bigint;
74
+ paymasterPostOpGasLimit: bigint;
75
+ verificationGas?: undefined;
76
+ } | {
77
+ preVerificationGas: bigint;
78
+ verificationGasLimit: bigint;
79
+ callGasLimit: bigint;
80
+ paymasterVerificationGasLimit?: undefined;
81
+ paymasterPostOpGasLimit?: undefined;
82
+ verificationGas?: undefined;
83
+ } | {
84
+ preVerificationGas: bigint;
85
+ verificationGas: bigint;
86
+ verificationGasLimit: bigint;
87
+ callGasLimit: bigint;
88
+ paymasterVerificationGasLimit?: undefined;
89
+ paymasterPostOpGasLimit?: undefined;
90
+ }>;
91
+ pimlico_experimental_sendUserOperation7702(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address, authorizationSignature: SignedAuthorization): Promise<`0x${string}`>;
68
92
  pimlico_sendUserOperationNow(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address): Promise<{
69
93
  sender: `0x${string}`;
70
94
  nonce: bigint;
@@ -87,13 +111,13 @@ export declare class RpcHandler implements IRpcEndpoint {
87
111
  to: `0x${string}` | null;
88
112
  gasUsed: bigint;
89
113
  status: bigint | null;
114
+ contractAddress: `0x${string}` | null;
90
115
  blockNumber: bigint;
91
116
  blockHash: `0x${string}`;
92
117
  transactionHash: `0x${string}`;
93
118
  transactionIndex: bigint;
94
119
  from: `0x${string}`;
95
120
  cumulativeGasUsed: bigint;
96
- contractAddress: `0x${string}` | null;
97
121
  logs: {
98
122
  address: `0x${string}`;
99
123
  data: `0x${string}`;
@@ -113,5 +137,33 @@ export declare class RpcHandler implements IRpcEndpoint {
113
137
  pimlico_sendCompressedUserOperation(apiVersion: ApiVersion, compressedCalldata: Hex, inflatorAddress: Address, entryPoint: Address): Promise<`0x${string}`>;
114
138
  private validateAndInflateCompressedUserOperation;
115
139
  getNonceValue(userOperation: UserOperation, entryPoint: Address): Promise<bigint>;
140
+ doEstimateGas({ apiVersion, userOperation, entryPoint, stateOverrides, authorization }: {
141
+ apiVersion: ApiVersion;
142
+ userOperation: UserOperation;
143
+ entryPoint: Address;
144
+ stateOverrides?: StateOverrides;
145
+ authorization?: SignedAuthorization;
146
+ }): Promise<{
147
+ preVerificationGas: bigint;
148
+ verificationGasLimit: bigint;
149
+ callGasLimit: bigint;
150
+ paymasterVerificationGasLimit: bigint;
151
+ paymasterPostOpGasLimit: bigint;
152
+ verificationGas?: undefined;
153
+ } | {
154
+ preVerificationGas: bigint;
155
+ verificationGasLimit: bigint;
156
+ callGasLimit: bigint;
157
+ paymasterVerificationGasLimit?: undefined;
158
+ paymasterPostOpGasLimit?: undefined;
159
+ verificationGas?: undefined;
160
+ } | {
161
+ preVerificationGas: bigint;
162
+ verificationGas: bigint;
163
+ verificationGasLimit: bigint;
164
+ callGasLimit: bigint;
165
+ paymasterVerificationGasLimit?: undefined;
166
+ paymasterPostOpGasLimit?: undefined;
167
+ }>;
116
168
  }
117
169
  //# sourceMappingURL=rpcHandler.d.ts.map