@pimlico/alto 0.0.4 → 0.0.6

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 (227) hide show
  1. package/esm/cli/alto.js +0 -4
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +2296 -22
  4. package/esm/cli/config/bundler.js +31 -4
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +53 -4
  7. package/esm/cli/config/options.js.map +1 -1
  8. package/esm/cli/customTransport.js +5 -1
  9. package/esm/cli/customTransport.js.map +1 -1
  10. package/esm/cli/handler.js +14 -3
  11. package/esm/cli/handler.js.map +1 -1
  12. package/esm/cli/instrumentation.js +2 -2
  13. package/esm/cli/instrumentation.js.map +1 -1
  14. package/esm/cli/setupServer.d.ts +2 -1
  15. package/esm/cli/setupServer.js +51 -27
  16. package/esm/cli/setupServer.js.map +1 -1
  17. package/esm/executor/executor.d.ts +7 -14
  18. package/esm/executor/executor.js +139 -128
  19. package/esm/executor/executor.js.map +1 -1
  20. package/esm/executor/executorManager.d.ts +58 -4
  21. package/esm/executor/executorManager.js +207 -53
  22. package/esm/executor/executorManager.js.map +1 -1
  23. package/esm/executor/senderManager.d.ts +2 -1
  24. package/esm/executor/senderManager.js +3 -0
  25. package/esm/executor/senderManager.js.map +1 -1
  26. package/esm/executor/utilityWalletMonitor.d.ts +15 -0
  27. package/esm/executor/utilityWalletMonitor.js +38 -0
  28. package/esm/executor/utilityWalletMonitor.js.map +1 -0
  29. package/esm/executor/utils.d.ts +1 -2
  30. package/esm/executor/utils.js +49 -38
  31. package/esm/executor/utils.js.map +1 -1
  32. package/esm/handlers/compressionHandler.js.map +1 -0
  33. package/esm/handlers/eventManager.d.ts +21 -0
  34. package/esm/handlers/eventManager.js +166 -0
  35. package/esm/handlers/eventManager.js.map +1 -0
  36. package/{lib/utils → esm/handlers}/gasPriceManager.d.ts +19 -5
  37. package/esm/{utils → handlers}/gasPriceManager.js +58 -13
  38. package/esm/handlers/gasPriceManager.js.map +1 -0
  39. package/esm/handlers/index.d.ts +4 -0
  40. package/esm/handlers/index.js +4 -0
  41. package/esm/handlers/index.js.map +1 -0
  42. package/esm/mempool/index.d.ts +0 -1
  43. package/esm/mempool/index.js +0 -1
  44. package/esm/mempool/index.js.map +1 -1
  45. package/esm/mempool/mempool.d.ts +4 -2
  46. package/esm/mempool/mempool.js +65 -19
  47. package/esm/mempool/mempool.js.map +1 -1
  48. package/esm/rpc/EntryPointSimulationsV07.d.ts +2 -2
  49. package/esm/rpc/EntryPointSimulationsV07.js +10 -7
  50. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  51. package/esm/rpc/gasEstimation.d.ts +3 -3
  52. package/esm/rpc/gasEstimation.js +22 -17
  53. package/esm/rpc/gasEstimation.js.map +1 -1
  54. package/esm/rpc/nonceQueuer.d.ts +4 -1
  55. package/esm/rpc/nonceQueuer.js +9 -3
  56. package/esm/rpc/nonceQueuer.js.map +1 -1
  57. package/esm/rpc/rpcHandler.d.ts +53 -3
  58. package/esm/rpc/rpcHandler.js +132 -231
  59. package/esm/rpc/rpcHandler.js.map +1 -1
  60. package/esm/rpc/server.d.ts +2 -1
  61. package/esm/rpc/server.js +6 -1
  62. package/esm/rpc/server.js.map +1 -1
  63. package/esm/rpc/validation/SafeValidator.d.ts +3 -2
  64. package/esm/rpc/validation/SafeValidator.js +2 -2
  65. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  66. package/esm/rpc/validation/UnsafeValidator.d.ts +5 -2
  67. package/esm/rpc/validation/UnsafeValidator.js +10 -6
  68. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  69. package/esm/rpc/validation/tracer.js +1 -0
  70. package/esm/rpc/validation/tracer.js.map +1 -1
  71. package/esm/types/schemas.d.ts +1029 -333
  72. package/esm/types/schemas.js +94 -20
  73. package/esm/types/schemas.js.map +1 -1
  74. package/esm/types/utils.d.ts +1 -1
  75. package/esm/types/validation.js +7 -2
  76. package/esm/types/validation.js.map +1 -1
  77. package/esm/utils/bigInt.d.ts +1 -0
  78. package/esm/utils/bigInt.js +4 -0
  79. package/esm/utils/bigInt.js.map +1 -1
  80. package/esm/utils/helpers.d.ts +1 -0
  81. package/esm/utils/helpers.js +6 -0
  82. package/esm/utils/helpers.js.map +1 -1
  83. package/esm/utils/index.d.ts +0 -3
  84. package/esm/utils/index.js +0 -3
  85. package/esm/utils/index.js.map +1 -1
  86. package/esm/utils/metrics.d.ts +4 -0
  87. package/esm/utils/metrics.js +29 -1
  88. package/esm/utils/metrics.js.map +1 -1
  89. package/esm/utils/rpc-reply.d.ts +1 -1
  90. package/esm/utils/rpc-reply.js +2 -1
  91. package/esm/utils/rpc-reply.js.map +1 -1
  92. package/esm/utils/userop.d.ts +66 -6
  93. package/esm/utils/userop.js +183 -96
  94. package/esm/utils/userop.js.map +1 -1
  95. package/esm/utils/validation.d.ts +1 -1
  96. package/esm/utils/validation.js +9 -13
  97. package/esm/utils/validation.js.map +1 -1
  98. package/lib/cli/alto.js +0 -4
  99. package/lib/cli/alto.js.map +1 -1
  100. package/lib/cli/config/bundler.d.ts +2296 -22
  101. package/lib/cli/config/bundler.js +30 -3
  102. package/lib/cli/config/bundler.js.map +1 -1
  103. package/lib/cli/config/options.js +53 -4
  104. package/lib/cli/config/options.js.map +1 -1
  105. package/lib/cli/customTransport.js +5 -1
  106. package/lib/cli/customTransport.js.map +1 -1
  107. package/lib/cli/handler.js +13 -2
  108. package/lib/cli/handler.js.map +1 -1
  109. package/lib/cli/instrumentation.js +2 -2
  110. package/lib/cli/instrumentation.js.map +1 -1
  111. package/lib/cli/setupServer.d.ts +2 -1
  112. package/lib/cli/setupServer.js +52 -28
  113. package/lib/cli/setupServer.js.map +1 -1
  114. package/lib/executor/executor.d.ts +7 -14
  115. package/lib/executor/executor.js +138 -128
  116. package/lib/executor/executor.js.map +1 -1
  117. package/lib/executor/executorManager.d.ts +58 -4
  118. package/lib/executor/executorManager.js +205 -51
  119. package/lib/executor/executorManager.js.map +1 -1
  120. package/lib/executor/senderManager.d.ts +2 -1
  121. package/lib/executor/senderManager.js +3 -0
  122. package/lib/executor/senderManager.js.map +1 -1
  123. package/lib/executor/utilityWalletMonitor.d.ts +15 -0
  124. package/lib/executor/utilityWalletMonitor.js +42 -0
  125. package/lib/executor/utilityWalletMonitor.js.map +1 -0
  126. package/lib/executor/utils.d.ts +1 -2
  127. package/lib/executor/utils.js +48 -37
  128. package/lib/executor/utils.js.map +1 -1
  129. package/lib/handlers/compressionHandler.js.map +1 -0
  130. package/lib/handlers/eventManager.d.ts +21 -0
  131. package/lib/handlers/eventManager.js +196 -0
  132. package/lib/handlers/eventManager.js.map +1 -0
  133. package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
  134. package/lib/{utils → handlers}/gasPriceManager.js +58 -13
  135. package/lib/handlers/gasPriceManager.js.map +1 -0
  136. package/lib/handlers/index.d.ts +4 -0
  137. package/lib/handlers/index.js +20 -0
  138. package/lib/handlers/index.js.map +1 -0
  139. package/lib/mempool/index.d.ts +0 -1
  140. package/lib/mempool/index.js +0 -1
  141. package/lib/mempool/index.js.map +1 -1
  142. package/lib/mempool/mempool.d.ts +4 -2
  143. package/lib/mempool/mempool.js +65 -19
  144. package/lib/mempool/mempool.js.map +1 -1
  145. package/lib/rpc/EntryPointSimulationsV07.d.ts +2 -2
  146. package/lib/rpc/EntryPointSimulationsV07.js +10 -7
  147. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  148. package/lib/rpc/gasEstimation.d.ts +3 -3
  149. package/lib/rpc/gasEstimation.js +22 -17
  150. package/lib/rpc/gasEstimation.js.map +1 -1
  151. package/lib/rpc/nonceQueuer.d.ts +4 -1
  152. package/lib/rpc/nonceQueuer.js +9 -3
  153. package/lib/rpc/nonceQueuer.js.map +1 -1
  154. package/lib/rpc/rpcHandler.d.ts +53 -3
  155. package/lib/rpc/rpcHandler.js +129 -251
  156. package/lib/rpc/rpcHandler.js.map +1 -1
  157. package/lib/rpc/server.d.ts +2 -1
  158. package/lib/rpc/server.js +6 -1
  159. package/lib/rpc/server.js.map +1 -1
  160. package/lib/rpc/validation/SafeValidator.d.ts +3 -2
  161. package/lib/rpc/validation/SafeValidator.js +2 -2
  162. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  163. package/lib/rpc/validation/UnsafeValidator.d.ts +5 -2
  164. package/lib/rpc/validation/UnsafeValidator.js +33 -6
  165. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  166. package/lib/rpc/validation/tracer.js +1 -0
  167. package/lib/rpc/validation/tracer.js.map +1 -1
  168. package/lib/types/schemas.d.ts +1029 -333
  169. package/lib/types/schemas.js +93 -19
  170. package/lib/types/schemas.js.map +1 -1
  171. package/lib/types/utils.d.ts +1 -1
  172. package/lib/types/validation.js +7 -2
  173. package/lib/types/validation.js.map +1 -1
  174. package/lib/utils/bigInt.d.ts +1 -0
  175. package/lib/utils/bigInt.js +6 -1
  176. package/lib/utils/bigInt.js.map +1 -1
  177. package/lib/utils/helpers.d.ts +1 -0
  178. package/lib/utils/helpers.js +8 -1
  179. package/lib/utils/helpers.js.map +1 -1
  180. package/lib/utils/index.d.ts +0 -3
  181. package/lib/utils/index.js +0 -3
  182. package/lib/utils/index.js.map +1 -1
  183. package/lib/utils/metrics.d.ts +4 -0
  184. package/lib/utils/metrics.js +29 -1
  185. package/lib/utils/metrics.js.map +1 -1
  186. package/lib/utils/rpc-reply.d.ts +1 -1
  187. package/lib/utils/rpc-reply.js +2 -1
  188. package/lib/utils/rpc-reply.js.map +1 -1
  189. package/lib/utils/userop.d.ts +66 -6
  190. package/lib/utils/userop.js +208 -96
  191. package/lib/utils/userop.js.map +1 -1
  192. package/lib/utils/validation.d.ts +1 -1
  193. package/lib/utils/validation.js +9 -36
  194. package/lib/utils/validation.js.map +1 -1
  195. package/package.json +15 -14
  196. package/esm/executor/test/utils.d.ts +0 -13
  197. package/esm/executor/test/utils.js +0 -75
  198. package/esm/executor/test/utils.js.map +0 -1
  199. package/esm/mempool/nullMempool.d.ts +0 -15
  200. package/esm/mempool/nullMempool.js +0 -36
  201. package/esm/mempool/nullMempool.js.map +0 -1
  202. package/esm/types/test/validationTestErrors.d.ts +0 -3
  203. package/esm/types/test/validationTestErrors.js +0 -229
  204. package/esm/types/test/validationTestErrors.js.map +0 -1
  205. package/esm/utils/compressionHandler.js.map +0 -1
  206. package/esm/utils/gasPriceManager.js.map +0 -1
  207. package/esm/utils/test.d.ts +0 -17
  208. package/esm/utils/test.js +0 -130
  209. package/esm/utils/test.js.map +0 -1
  210. package/lib/executor/test/utils.d.ts +0 -13
  211. package/lib/executor/test/utils.js +0 -81
  212. package/lib/executor/test/utils.js.map +0 -1
  213. package/lib/mempool/nullMempool.d.ts +0 -15
  214. package/lib/mempool/nullMempool.js +0 -40
  215. package/lib/mempool/nullMempool.js.map +0 -1
  216. package/lib/types/test/validationTestErrors.d.ts +0 -3
  217. package/lib/types/test/validationTestErrors.js +0 -232
  218. package/lib/types/test/validationTestErrors.js.map +0 -1
  219. package/lib/utils/compressionHandler.js.map +0 -1
  220. package/lib/utils/gasPriceManager.js.map +0 -1
  221. package/lib/utils/test.d.ts +0 -17
  222. package/lib/utils/test.js +0 -161
  223. package/lib/utils/test.js.map +0 -1
  224. /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
  225. /package/esm/{utils → handlers}/compressionHandler.js +0 -0
  226. /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
  227. /package/lib/{utils → handlers}/compressionHandler.js +0 -0
@@ -1,35 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.RpcHandler = void 0;
27
4
  const types_1 = require("../types/index.js");
28
5
  const utils_1 = require("../utils/index.js");
29
6
  const viem_1 = require("viem");
30
- const chains = __importStar(require("viem/chains"));
31
- const zod_1 = require("zod");
32
- const zod_validation_error_1 = require("zod-validation-error");
7
+ const chains_1 = require("viem/chains");
33
8
  class RpcHandler {
34
9
  entryPoints;
35
10
  publicClient;
@@ -53,7 +28,9 @@ class RpcHandler {
53
28
  gasPriceManager;
54
29
  gasPriceMultipliers;
55
30
  paymasterGasLimitMultiplier;
56
- constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, dangerousSkipUserOperationValidation = false) {
31
+ eventManager;
32
+ enableInstantBundlingEndpoint;
33
+ constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, eventManager, enableInstantBundlingEndpoint, dangerousSkipUserOperationValidation = false) {
57
34
  this.entryPoints = entryPoints;
58
35
  this.publicClient = publicClient;
59
36
  this.validator = validator;
@@ -77,6 +54,8 @@ class RpcHandler {
77
54
  this.chainType = chainType;
78
55
  this.gasPriceManager = gasPriceManager;
79
56
  this.paymasterGasLimitMultiplier = paymasterGasLimitMultiplier;
57
+ this.enableInstantBundlingEndpoint = enableInstantBundlingEndpoint;
58
+ this.eventManager = eventManager;
80
59
  }
81
60
  async handleMethod(request, apiVersion) {
82
61
  // call the method with the params
@@ -167,6 +146,47 @@ class RpcHandler {
167
146
  method,
168
147
  result: await this.pimlico_sendCompressedUserOperation(apiVersion, ...request.params)
169
148
  };
149
+ case "pimlico_sendUserOperationNow":
150
+ return {
151
+ method,
152
+ result: await this.pimlico_sendUserOperationNow(apiVersion, ...request.params)
153
+ };
154
+ }
155
+ }
156
+ ensureEntryPointIsSupported(entryPoint) {
157
+ if (!this.entryPoints.includes(entryPoint)) {
158
+ throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
159
+ }
160
+ }
161
+ ensureDebugEndpointsAreEnabled(methodName) {
162
+ if (!this.enableDebugEndpoints) {
163
+ throw new types_1.RpcError(`${methodName} is only available in development environment`);
164
+ }
165
+ }
166
+ async preMempoolChecks(opHash, userOperation, apiVersion, entryPoint) {
167
+ if (this.legacyTransactions &&
168
+ userOperation.maxFeePerGas !== userOperation.maxPriorityFeePerGas) {
169
+ const reason = "maxPriorityFeePerGas must equal maxFeePerGas on chains that don't support EIP-1559";
170
+ this.eventManager.emitFailedValidation(opHash, reason);
171
+ throw new types_1.RpcError(reason);
172
+ }
173
+ if (apiVersion !== "v1") {
174
+ await this.gasPriceManager.validateGasPrice({
175
+ maxFeePerGas: userOperation.maxFeePerGas,
176
+ maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
177
+ });
178
+ }
179
+ if (userOperation.verificationGasLimit < 10000n) {
180
+ const reason = "verificationGasLimit must be at least 10000";
181
+ this.eventManager.emitFailedValidation(opHash, reason);
182
+ throw new types_1.RpcError(reason);
183
+ }
184
+ this.logger.trace({ userOperation, entryPoint }, "beginning validation");
185
+ if (userOperation.preVerificationGas === 0n ||
186
+ userOperation.verificationGasLimit === 0n) {
187
+ const reason = "user operation gas limits must be larger than 0";
188
+ this.eventManager.emitFailedValidation(opHash, reason);
189
+ throw new types_1.RpcError(reason);
170
190
  }
171
191
  }
172
192
  eth_chainId() {
@@ -176,10 +196,7 @@ class RpcHandler {
176
196
  return this.entryPoints;
177
197
  }
178
198
  async eth_estimateUserOperationGas(apiVersion, userOperation, entryPoint, stateOverrides) {
179
- // check if entryPoint is supported, if not throw
180
- if (!this.entryPoints.includes(entryPoint)) {
181
- throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
182
- }
199
+ this.ensureEntryPointIsSupported(entryPoint);
183
200
  if (userOperation.maxFeePerGas === 0n) {
184
201
  throw new types_1.RpcError("user operation max fee per gas must be larger than 0 during gas estimation");
185
202
  }
@@ -189,14 +206,9 @@ class RpcHandler {
189
206
  userOperation.preVerificationGas = 1000000n;
190
207
  userOperation.verificationGasLimit = 10000000n;
191
208
  userOperation.callGasLimit = 10000000n;
192
- if (this.chainId === chains.base.id) {
209
+ if (this.chainId === chains_1.base.id) {
193
210
  userOperation.verificationGasLimit = 5000000n;
194
211
  }
195
- if (this.chainId === chains.celoAlfajores.id ||
196
- this.chainId === chains.celo.id) {
197
- userOperation.verificationGasLimit = 1000000n;
198
- userOperation.callGasLimit = 1000000n;
199
- }
200
212
  if ((0, utils_1.isVersion07)(userOperation)) {
201
213
  userOperation.paymasterPostOpGasLimit = 2000000n;
202
214
  userOperation.paymasterVerificationGasLimit = 5000000n;
@@ -247,12 +259,10 @@ class RpcHandler {
247
259
  paymasterPostOpGasLimit =
248
260
  (paymasterPostOpGasLimit * multiplier) / 100n;
249
261
  }
250
- if (this.chainId === chains.base.id ||
251
- this.chainId === chains.baseSepolia.id) {
262
+ if (this.chainId === chains_1.base.id || this.chainId === chains_1.baseSepolia.id) {
252
263
  callGasLimit += 10000n;
253
264
  }
254
- if (this.chainId === chains.base.id ||
255
- this.chainId === chains.optimism.id) {
265
+ if (this.chainId === chains_1.base.id || this.chainId === chains_1.optimism.id) {
256
266
  callGasLimit = (0, utils_1.maxBigInt)(callGasLimit, 120000n);
257
267
  }
258
268
  if (userOperation.callData === "0x") {
@@ -282,10 +292,11 @@ class RpcHandler {
282
292
  };
283
293
  }
284
294
  async eth_sendUserOperation(apiVersion, userOperation, entryPoint) {
295
+ const hash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
296
+ this.eventManager.emitReceived(hash);
285
297
  let status = "rejected";
286
298
  try {
287
299
  status = await this.addToMempoolIfValid(userOperation, entryPoint, apiVersion);
288
- const hash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
289
300
  return hash;
290
301
  }
291
302
  catch (error) {
@@ -388,211 +399,53 @@ class RpcHandler {
388
399
  };
389
400
  return result;
390
401
  }
391
- async eth_getUserOperationReceipt(userOperationHash) {
392
- const userOperationEventAbiItem = (0, viem_1.getAbiItem)({
393
- abi: types_1.EntryPointV06Abi,
394
- name: "UserOperationEvent"
395
- });
396
- let fromBlock = undefined;
397
- let toBlock = undefined;
398
- if (this.rpcMaxBlockRange !== undefined) {
399
- const latestBlock = await this.publicClient.getBlockNumber();
400
- fromBlock = latestBlock - BigInt(this.rpcMaxBlockRange);
401
- if (fromBlock < 0n) {
402
- fromBlock = 0n;
403
- }
404
- toBlock = "latest";
405
- }
406
- const filterResult = await this.publicClient.getLogs({
407
- address: this.entryPoints,
408
- event: userOperationEventAbiItem,
409
- fromBlock,
410
- toBlock,
411
- args: {
412
- userOpHash: userOperationHash
413
- }
414
- });
415
- if (filterResult.length === 0) {
416
- return null;
417
- }
418
- const userOperationEvent = filterResult[0];
419
- // throw if any of the members of userOperationEvent are undefined
420
- if (userOperationEvent.args.actualGasCost === undefined ||
421
- userOperationEvent.args.sender === undefined ||
422
- userOperationEvent.args.nonce === undefined ||
423
- userOperationEvent.args.userOpHash === undefined ||
424
- userOperationEvent.args.success === undefined ||
425
- userOperationEvent.args.paymaster === undefined ||
426
- userOperationEvent.args.actualGasUsed === undefined) {
427
- throw new Error("userOperationEvent has undefined members");
428
- }
429
- const txHash = userOperationEvent.transactionHash;
430
- if (txHash === null) {
431
- // transaction pending
432
- return null;
433
- }
434
- const getTransactionReceipt = async (txHash) => {
435
- while (true) {
436
- try {
437
- return await this.publicClient.getTransactionReceipt({
438
- hash: txHash
439
- });
440
- }
441
- catch (e) {
442
- if (e instanceof viem_1.TransactionReceiptNotFoundError) {
443
- continue;
444
- }
445
- throw e;
446
- }
447
- }
448
- };
449
- const receipt = await getTransactionReceipt(txHash);
450
- const logs = receipt.logs;
451
- if (logs.some((log) => log.blockHash === null ||
452
- log.blockNumber === null ||
453
- log.transactionIndex === null ||
454
- log.transactionHash === null ||
455
- log.logIndex === null ||
456
- log.topics.length === 0)) {
457
- // transaction pending
458
- return null;
459
- }
460
- const userOperationRevertReasonAbi = (0, viem_1.parseAbi)([
461
- "event UserOperationRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)"
462
- ]);
463
- const userOperationRevertReasonTopicEvent = (0, viem_1.encodeEventTopics)({
464
- abi: userOperationRevertReasonAbi
465
- })[0];
466
- let entryPoint = viem_1.zeroAddress;
467
- let revertReason = undefined;
468
- let startIndex = -1;
469
- let endIndex = -1;
470
- logs.forEach((log, index) => {
471
- if (log?.topics[0] === userOperationEvent.topics[0]) {
472
- // process UserOperationEvent
473
- if (log.topics[1] === userOperationEvent.topics[1]) {
474
- // it's our userOpHash. save as end of logs array
475
- endIndex = index;
476
- entryPoint = log.address;
477
- }
478
- else if (endIndex === -1) {
479
- // it's a different hash. remember it as beginning index, but only if we didn't find our end index yet.
480
- startIndex = index;
481
- }
482
- }
483
- if (log?.topics[0] === userOperationRevertReasonTopicEvent) {
484
- // process UserOperationRevertReason
485
- if (log.topics[1] === userOperationEvent.topics[1]) {
486
- // it's our userOpHash. capture revert reason.
487
- const decodedLog = (0, viem_1.decodeEventLog)({
488
- abi: userOperationRevertReasonAbi,
489
- data: log.data,
490
- topics: log.topics
491
- });
492
- revertReason = decodedLog.args.revertReason;
493
- }
494
- }
495
- });
496
- if (endIndex === -1) {
497
- throw new Error("fatal: no UserOperationEvent in logs");
498
- }
499
- const filteredLogs = logs.slice(startIndex + 1, endIndex);
500
- const logsParsing = zod_1.z.array(types_1.logSchema).safeParse(filteredLogs);
501
- if (!logsParsing.success) {
502
- const err = (0, zod_validation_error_1.fromZodError)(logsParsing.error);
503
- throw err;
504
- }
505
- const receiptParsing = types_1.receiptSchema.safeParse({
506
- ...receipt,
507
- status: receipt.status === "success" ? 1 : 0
508
- });
509
- if (!receiptParsing.success) {
510
- const err = (0, zod_validation_error_1.fromZodError)(receiptParsing.error);
511
- throw err;
512
- }
513
- let paymaster = userOperationEvent.args.paymaster;
514
- paymaster = paymaster === viem_1.zeroAddress ? undefined : paymaster;
515
- const userOperationReceipt = {
516
- userOpHash: userOperationHash,
517
- entryPoint,
518
- sender: userOperationEvent.args.sender,
519
- nonce: userOperationEvent.args.nonce,
520
- paymaster,
521
- actualGasUsed: userOperationEvent.args.actualGasUsed,
522
- actualGasCost: userOperationEvent.args.actualGasCost,
523
- success: userOperationEvent.args.success,
524
- reason: revertReason,
525
- logs: logsParsing.data,
526
- receipt: receiptParsing.data
527
- };
528
- return userOperationReceipt;
402
+ eth_getUserOperationReceipt(userOperationHash) {
403
+ return this.executorManager.getUserOperationReceipt(userOperationHash);
529
404
  }
530
405
  debug_bundler_clearState() {
531
- if (!this.enableDebugEndpoints) {
532
- throw new types_1.RpcError("debug_bundler_clearState is only available in development environment");
533
- }
406
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_clearState");
534
407
  this.mempool.clear();
535
408
  this.reputationManager.clear();
536
409
  return "ok";
537
410
  }
538
411
  debug_bundler_clearMempool() {
539
- if (!this.enableDebugEndpoints) {
540
- throw new types_1.RpcError("debug_bundler_clearMempool is only available in development environment");
541
- }
412
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_clearMempool");
542
413
  this.mempool.clear();
543
414
  this.reputationManager.clearEntityCount();
544
415
  return "ok";
545
416
  }
546
417
  async debug_bundler_dumpMempool(entryPoint) {
547
- if (!this.enableDebugEndpoints) {
548
- throw new types_1.RpcError("debug_bundler_dumpMempool is only available in development environment");
549
- }
550
- if (!this.entryPoints.includes(entryPoint)) {
551
- throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
552
- }
418
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_dumpMempool");
419
+ this.ensureEntryPointIsSupported(entryPoint);
553
420
  return this.mempool
554
421
  .dumpOutstanding()
555
422
  .map((userOpInfo) => (0, types_1.deriveUserOperation)(userOpInfo.mempoolUserOperation));
556
423
  }
557
424
  async debug_bundler_sendBundleNow() {
558
- if (!this.enableDebugEndpoints) {
559
- throw new types_1.RpcError("debug_bundler_sendBundleNow is only available in development environment");
560
- }
425
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_sendBundleNow");
561
426
  const transactions = await this.executorManager.bundleNow();
562
427
  return transactions[0];
563
428
  }
564
429
  debug_bundler_setBundlingMode(bundlingMode) {
565
- if (!this.enableDebugEndpoints) {
566
- throw new types_1.RpcError("debug_bundler_setBundlingMode is only available in development environment");
567
- }
430
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setBundlingMode");
568
431
  this.executorManager.setBundlingMode(bundlingMode);
569
432
  return "ok";
570
433
  }
571
434
  debug_bundler_dumpReputation(entryPoint) {
572
- if (!this.enableDebugEndpoints) {
573
- throw new types_1.RpcError("debug_bundler_setRe is only available in development environment");
574
- }
575
- if (!this.entryPoints.includes(entryPoint)) {
576
- throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
577
- }
435
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
436
+ this.ensureEntryPointIsSupported(entryPoint);
578
437
  return this.reputationManager.dumpReputations(entryPoint);
579
438
  }
580
439
  async debug_bundler_getStakeStatus(address, entryPoint) {
581
- if (!this.enableDebugEndpoints) {
582
- throw new types_1.RpcError("debug_bundler_getStakeStatus is only available in development environment");
583
- }
584
- if (!this.entryPoints.includes(entryPoint)) {
585
- throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
586
- }
440
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_getStakeStatus");
441
+ this.ensureEntryPointIsSupported(entryPoint);
587
442
  return types_1.bundlerGetStakeStatusResponseSchema.parse({
588
443
  method: "debug_bundler_getStakeStatus",
589
444
  result: await this.reputationManager.getStakeStatus(entryPoint, address)
590
445
  }).result;
591
446
  }
592
447
  debug_bundler_setReputation(args) {
593
- if (!this.enableDebugEndpoints) {
594
- throw new types_1.RpcError("debug_bundler_setReputation is only available in development environment");
595
- }
448
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
596
449
  this.reputationManager.setReputation(args[1], args[0]);
597
450
  return "ok";
598
451
  }
@@ -600,57 +453,44 @@ class RpcHandler {
600
453
  return this.monitor.getUserOperationStatus(userOperationHash);
601
454
  }
602
455
  async pimlico_getUserOperationGasPrice() {
603
- const gasPrice = await this.gasPriceManager.getGasPrice();
456
+ let { maxFeePerGas, maxPriorityFeePerGas } = await this.gasPriceManager.getGasPrice();
457
+ if (this.chainType === "hedera") {
458
+ maxFeePerGas /= 10n ** 9n;
459
+ maxPriorityFeePerGas /= 10n ** 9n;
460
+ }
604
461
  const { slow, standard, fast } = this.gasPriceMultipliers;
605
462
  return {
606
463
  slow: {
607
- maxFeePerGas: (gasPrice.maxFeePerGas * slow) / 100n,
608
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * slow) / 100n
464
+ maxFeePerGas: (maxFeePerGas * slow) / 100n,
465
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * slow) / 100n
609
466
  },
610
467
  standard: {
611
- maxFeePerGas: (gasPrice.maxFeePerGas * standard) / 100n,
612
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * standard) / 100n
468
+ maxFeePerGas: (maxFeePerGas * standard) / 100n,
469
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * standard) / 100n
613
470
  },
614
471
  fast: {
615
- maxFeePerGas: (gasPrice.maxFeePerGas * fast) / 100n,
616
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * fast) / 100n
472
+ maxFeePerGas: (maxFeePerGas * fast) / 100n,
473
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * fast) / 100n
617
474
  }
618
475
  };
619
476
  }
620
477
  // check if we want to bundle userOperation. If yes, add to mempool
621
478
  async addToMempoolIfValid(op, entryPoint, apiVersion) {
479
+ this.ensureEntryPointIsSupported(entryPoint);
622
480
  const userOperation = (0, types_1.deriveUserOperation)(op);
623
- if (!this.entryPoints.includes(entryPoint)) {
624
- throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
625
- }
626
- if (this.chainId === chains.celoAlfajores.id ||
627
- this.chainId === chains.celo.id) {
628
- if (userOperation.maxFeePerGas !==
629
- userOperation.maxPriorityFeePerGas) {
630
- throw new types_1.RpcError("maxPriorityFeePerGas must equal maxFeePerGas on Celo chains");
631
- }
632
- }
633
- if (apiVersion !== "v1") {
634
- await this.gasPriceManager.validateGasPrice({
635
- maxFeePerGas: userOperation.maxFeePerGas,
636
- maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
637
- });
638
- }
639
- if (userOperation.verificationGasLimit < 10000n) {
640
- throw new types_1.RpcError("verificationGasLimit must be at least 10000");
641
- }
642
- this.logger.trace({ userOperation, entryPoint }, "beginning validation");
643
- if (userOperation.preVerificationGas === 0n ||
644
- userOperation.verificationGasLimit === 0n) {
645
- throw new types_1.RpcError("user operation gas limits must be larger than 0");
646
- }
481
+ const opHash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
482
+ await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
647
483
  const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
648
484
  const [, userOperationNonceValue] = (0, utils_1.getNonceKeyAndValue)(userOperation.nonce);
649
485
  if (userOperationNonceValue < currentNonceValue) {
650
- throw new types_1.RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", types_1.ValidationErrors.InvalidFields);
486
+ const reason = "UserOperation failed validation with reason: AA25 invalid account nonce";
487
+ this.eventManager.emitFailedValidation(opHash, reason, "AA25");
488
+ throw new types_1.RpcError(reason, types_1.ValidationErrors.InvalidFields);
651
489
  }
652
490
  if (userOperationNonceValue > currentNonceValue + 10n) {
653
- throw new types_1.RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", types_1.ValidationErrors.InvalidFields);
491
+ const reason = "UserOperation failed validaiton with reason: AA25 invalid account nonce";
492
+ this.eventManager.emitFailedValidation(opHash, reason, "AA25");
493
+ throw new types_1.RpcError(reason, types_1.ValidationErrors.InvalidFields);
654
494
  }
655
495
  let queuedUserOperations = [];
656
496
  if (userOperationNonceValue > currentNonceValue &&
@@ -660,9 +500,10 @@ class RpcHandler {
660
500
  if (userOperationNonceValue ===
661
501
  currentNonceValue + BigInt(queuedUserOperations.length)) {
662
502
  if (this.dangerousSkipUserOperationValidation) {
663
- const success = this.mempool.add(op, entryPoint);
503
+ const [success, errorReason] = this.mempool.add(op, entryPoint);
664
504
  if (!success) {
665
- throw new types_1.RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", types_1.ValidationErrors.InvalidFields);
505
+ this.eventManager.emitFailedValidation(opHash, errorReason, (0, utils_1.getAAError)(errorReason));
506
+ throw new types_1.RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, types_1.ValidationErrors.InvalidFields);
666
507
  }
667
508
  }
668
509
  else {
@@ -672,9 +513,10 @@ class RpcHandler {
672
513
  const validationResult = await this.validator.validateUserOperation(apiVersion !== "v1", userOperation, queuedUserOperations, entryPoint);
673
514
  await this.reputationManager.checkReputation(userOperation, entryPoint, validationResult);
674
515
  await this.mempool.checkEntityMultipleRoleViolation(userOperation);
675
- const success = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
516
+ const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
676
517
  if (!success) {
677
- throw new types_1.RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", types_1.ValidationErrors.InvalidFields);
518
+ this.eventManager.emitFailedValidation(opHash, errorReason, (0, utils_1.getAAError)(errorReason));
519
+ throw new types_1.RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, types_1.ValidationErrors.InvalidFields);
678
520
  }
679
521
  return "added";
680
522
  }
@@ -682,10 +524,47 @@ class RpcHandler {
682
524
  this.nonceQueuer.add(op, entryPoint);
683
525
  return "queued";
684
526
  }
527
+ async pimlico_sendUserOperationNow(apiVersion, userOperation, entryPoint) {
528
+ if (!this.enableInstantBundlingEndpoint) {
529
+ throw new types_1.RpcError("pimlico_sendUserOperationNow endpoint is not enabled", types_1.ValidationErrors.InvalidFields);
530
+ }
531
+ this.ensureEntryPointIsSupported(entryPoint);
532
+ const opHash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
533
+ await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
534
+ const result = (await this.executor.bundle(entryPoint, [userOperation]))[0];
535
+ if (result.status === "failure") {
536
+ const { userOpHash, reason } = result.error;
537
+ this.monitor.setUserOperationStatus(userOpHash, {
538
+ status: "rejected",
539
+ transactionHash: null
540
+ });
541
+ this.logger.warn({
542
+ userOperation: JSON.stringify(result.error.userOperation, (_k, v) => (typeof v === "bigint" ? v.toString() : v)),
543
+ userOpHash,
544
+ reason
545
+ }, "user operation rejected");
546
+ this.metrics.userOperationsSubmitted
547
+ .labels({ status: "failed" })
548
+ .inc();
549
+ const { error } = result;
550
+ throw new types_1.RpcError(`userOperation reverted during simulation with reason: ${error.reason}`);
551
+ }
552
+ const res = result;
553
+ // wait for receipt
554
+ const receipt = await this.publicClient.waitForTransactionReceipt({
555
+ hash: res.value.transactionInfo.transactionHash,
556
+ pollingInterval: 100
557
+ });
558
+ const userOperationReceipt = (0, utils_1.parseUserOperationReceipt)(opHash, receipt);
559
+ return userOperationReceipt;
560
+ }
685
561
  async pimlico_sendCompressedUserOperation(apiVersion, compressedCalldata, inflatorAddress, entryPoint) {
562
+ const receivedTimestamp = Date.now();
686
563
  let status = "rejected";
687
564
  try {
688
565
  const { inflatedOp, inflatorId } = await this.validateAndInflateCompressedUserOperation(inflatorAddress, compressedCalldata);
566
+ const hash = (0, utils_1.getUserOperationHash)(inflatedOp, entryPoint, this.chainId);
567
+ this.eventManager.emitReceived(hash, receivedTimestamp);
689
568
  const compressedUserOp = {
690
569
  compressedCalldata,
691
570
  inflatedOp,
@@ -694,7 +573,6 @@ class RpcHandler {
694
573
  };
695
574
  // check userOps inputs.
696
575
  status = await this.addToMempoolIfValid(compressedUserOp, entryPoint, apiVersion);
697
- const hash = (0, utils_1.getUserOperationHash)(inflatedOp, entryPoint, this.chainId);
698
576
  return hash;
699
577
  }
700
578
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}