@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 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../rpc/estimation/types.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,MAAM,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":"AAGA,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,yEAAW,CAAA;IACX,2EAAY,CAAA;AAChB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
@@ -0,0 +1,51 @@
1
+ import { type Hex, type StateOverride } from "viem";
2
+ import { type Logger } from "../../utils/index.js";
3
+ import type { StateOverrides, UserOperationV06, UserOperationV07 } from "../../types/index.js";
4
+ import type { AltoConfig } from "../../createConfig.js";
5
+ import type { SimulateHandleOpResult } from "../estimation/types.js";
6
+ export declare function parseFailedOpWithRevert(data: Hex): string;
7
+ export declare function prepareStateOverride({ userOps, queuedUserOps, stateOverrides, config }: {
8
+ userOps: (UserOperationV06 | UserOperationV07)[];
9
+ queuedUserOps: (UserOperationV06 | UserOperationV07)[];
10
+ stateOverrides?: StateOverrides;
11
+ config: Pick<AltoConfig, "balanceOverride" | "codeOverrideSupport">;
12
+ }): StateOverride | undefined;
13
+ export declare const simulationErrors: readonly [{
14
+ readonly name: "Error";
15
+ readonly type: "error";
16
+ readonly inputs: readonly [{
17
+ readonly type: "string";
18
+ }];
19
+ }, {
20
+ readonly name: "FailedOp";
21
+ readonly type: "error";
22
+ readonly inputs: readonly [{
23
+ readonly type: "uint256";
24
+ readonly name: "opIndex";
25
+ }, {
26
+ readonly type: "string";
27
+ readonly name: "reason";
28
+ }];
29
+ }, {
30
+ readonly name: "FailedOpWithRevert";
31
+ readonly type: "error";
32
+ readonly inputs: readonly [{
33
+ readonly type: "uint256";
34
+ readonly name: "opIndex";
35
+ }, {
36
+ readonly type: "string";
37
+ readonly name: "reason";
38
+ }, {
39
+ readonly type: "bytes";
40
+ readonly name: "inner";
41
+ }];
42
+ }, {
43
+ readonly name: "CallPhaseReverted";
44
+ readonly type: "error";
45
+ readonly inputs: readonly [{
46
+ readonly type: "bytes";
47
+ readonly name: "reason";
48
+ }];
49
+ }];
50
+ export declare function decodeSimulateHandleOpError(error: unknown, logger: Logger): SimulateHandleOpResult;
51
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,182 @@
1
+ import { decodeErrorResult, parseAbi, BaseError, ContractFunctionRevertedError, ContractFunctionExecutionError, getAbiItem } from "viem";
2
+ import { getAuthorizationStateOverrides } from "../../utils/index.js";
3
+ import { toViemStateOverrides } from "../../utils/toViemStateOverrides.js";
4
+ import { ValidationErrors, executionResultSchema } from "../../types/index.js";
5
+ import { entryPoint06Abi } from "viem/account-abstraction";
6
+ export function parseFailedOpWithRevert(data) {
7
+ try {
8
+ const decoded = decodeErrorResult({
9
+ abi: parseAbi(["error Error(string)", "error Panic(uint256)"]),
10
+ data
11
+ });
12
+ if (decoded.errorName === "Error") {
13
+ return decoded.args[0];
14
+ }
15
+ if (decoded.errorName === "Panic") {
16
+ // from https://docs.soliditylang.org/en/v0.8.0/control-structures.html
17
+ const panicCodes = {
18
+ 1: "assert(false)",
19
+ 17: "arithmetic overflow/underflow",
20
+ 18: "divide by zero",
21
+ 33: "invalid enum value",
22
+ 34: "storage byte array that is incorrectly encoded",
23
+ 49: ".pop() on an empty array.",
24
+ 50: "array sout-of-bounds or negative index",
25
+ 65: "memory overflow",
26
+ 81: "zero-initialized variable of internal function type"
27
+ };
28
+ const [code] = decoded.args;
29
+ return panicCodes[Number(code)] ?? `${code}`;
30
+ }
31
+ }
32
+ catch { }
33
+ return data;
34
+ }
35
+ export function prepareStateOverride({ userOps, queuedUserOps, stateOverrides, config }) {
36
+ const stateOverride = getAuthorizationStateOverrides({
37
+ userOps: [...queuedUserOps, ...userOps],
38
+ stateOverrides
39
+ });
40
+ // Remove state override if not supported by network.
41
+ if (!config.balanceOverride && !config.codeOverrideSupport) {
42
+ return undefined;
43
+ }
44
+ return toViemStateOverrides(stateOverride);
45
+ }
46
+ export const simulationErrors = parseAbi([
47
+ "error Error(string)",
48
+ "error FailedOp(uint256 opIndex, string reason)",
49
+ "error FailedOpWithRevert(uint256 opIndex, string reason, bytes inner)",
50
+ "error CallPhaseReverted(bytes reason)"
51
+ ]);
52
+ export function decodeSimulateHandleOpError(error, logger) {
53
+ // Check if it's a BaseError with ContractFunctionRevertedError
54
+ if (!(error instanceof BaseError)) {
55
+ logger.warn("Not a BaseError");
56
+ return {
57
+ result: "failed",
58
+ data: "Unknown error, could not parse simulate validation result.",
59
+ code: ValidationErrors.SimulateValidation
60
+ };
61
+ }
62
+ let errorName;
63
+ let args;
64
+ const contractFunctionRevertedError = error.walk((e) => e instanceof ContractFunctionRevertedError);
65
+ // Indicates that the RPC reverted with non standard format
66
+ // in this case we try to find raw revert bytes and manually decode
67
+ const contractFunctionExecutionError = error.walk((e) => e instanceof ContractFunctionExecutionError);
68
+ if (contractFunctionRevertedError) {
69
+ const error = contractFunctionRevertedError;
70
+ if (!error.data?.args && error.raw === "0x") {
71
+ return {
72
+ result: "failed",
73
+ data: "Sender has no code or factory not deployed",
74
+ code: ValidationErrors.SimulateValidation
75
+ };
76
+ }
77
+ if (!error.data?.args) {
78
+ logger.warn("Missing args");
79
+ return {
80
+ result: "failed",
81
+ data: "Unknown error, could not parse simulate validation result.",
82
+ code: ValidationErrors.SimulateValidation
83
+ };
84
+ }
85
+ errorName = error.data.errorName;
86
+ args = error.data.args;
87
+ }
88
+ else if (contractFunctionExecutionError) {
89
+ // Manually decode revert bytes
90
+ let rawRevertBytes;
91
+ error.walk((e) => {
92
+ if (typeof e?.data === "string") {
93
+ const hexMatch = e.data.match(/(0x[a-fA-F0-9]+)/);
94
+ if (hexMatch) {
95
+ rawRevertBytes = hexMatch[0];
96
+ return true; // Stop walking
97
+ }
98
+ }
99
+ return false;
100
+ });
101
+ if (!rawRevertBytes) {
102
+ logger.warn("Failed to find raw revert bytes");
103
+ return {
104
+ result: "failed",
105
+ data: "Unknown error, could not parse simulate validation result.",
106
+ code: ValidationErrors.SimulateValidation
107
+ };
108
+ }
109
+ try {
110
+ const decoded = decodeErrorResult({
111
+ abi: [
112
+ getAbiItem({
113
+ abi: entryPoint06Abi,
114
+ name: "ExecutionResult"
115
+ }),
116
+ ...simulationErrors
117
+ ],
118
+ data: rawRevertBytes
119
+ });
120
+ errorName = decoded.errorName;
121
+ args = decoded.args || [];
122
+ }
123
+ catch (decodeError) {
124
+ logger.warn({ rawRevertBytes }, "Failed to decode raw revert bytes");
125
+ return {
126
+ result: "failed",
127
+ data: "Unknown error, could not parse simulate validation result.",
128
+ code: ValidationErrors.SimulateValidation
129
+ };
130
+ }
131
+ }
132
+ else {
133
+ return {
134
+ result: "failed",
135
+ data: "Unknown error, could not parse simulate validation result.",
136
+ code: ValidationErrors.SimulateValidation
137
+ };
138
+ }
139
+ switch (errorName) {
140
+ case "FailedOp":
141
+ return {
142
+ result: "failed",
143
+ data: args[1],
144
+ code: ValidationErrors.SimulateValidation
145
+ };
146
+ case "FailedOpWithRevert":
147
+ return {
148
+ result: "failed",
149
+ data: `${args[1]} ${parseFailedOpWithRevert(args[2])}`,
150
+ code: ValidationErrors.SimulateValidation
151
+ };
152
+ case "CallPhaseReverted":
153
+ return {
154
+ result: "failed",
155
+ data: args[0],
156
+ code: ValidationErrors.SimulateValidation
157
+ };
158
+ case "Error":
159
+ return {
160
+ result: "failed",
161
+ data: args[0],
162
+ code: ValidationErrors.SimulateValidation
163
+ };
164
+ // 0.6 handleOp reverts with ExecutionResult if successful
165
+ case "ExecutionResult":
166
+ const parsedExecutionResult = executionResultSchema.parse(args);
167
+ return {
168
+ result: "execution",
169
+ data: {
170
+ executionResult: parsedExecutionResult
171
+ }
172
+ };
173
+ default:
174
+ logger.warn({ errorName }, "Unknown ContractFunctionRevertedError name");
175
+ return {
176
+ result: "failed",
177
+ data: "Unknown error, could not parse simulate validation result.",
178
+ code: ValidationErrors.SimulateValidation
179
+ };
180
+ }
181
+ }
182
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../rpc/estimation/utils.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,20 @@ import { boostSendUserOperationSchema } from "../../types/schemas.js";
3
3
  import { createMethodHandler } from "../createMethodHandler.js";
4
4
  import { addToMempoolIfValid } from "./eth_sendUserOperation.js";
5
5
  import { RpcError } from "../../types/index.js";
6
- const validateUserOperation = ({ userOperation }) => {
7
- if (userOperation.maxFeePerGas !== 0n ||
8
- userOperation.maxPriorityFeePerGas !== 0n) {
6
+ const validateUserOp = ({ userOp }) => {
7
+ if (userOp.maxFeePerGas !== 0n || userOp.maxPriorityFeePerGas !== 0n) {
9
8
  throw new RpcError("maxFeePerGas and maxPriorityFeePerGas must be 0 for a boosted user operation");
10
9
  }
11
- if (isVersion06(userOperation)) {
12
- if (userOperation.paymasterAndData !== "0x") {
10
+ if (isVersion06(userOp)) {
11
+ if (userOp.paymasterAndData !== "0x") {
13
12
  throw new RpcError("Paymaster is not supported for boosted user operations. paymasterAndData must be '0x'");
14
13
  }
15
14
  }
16
- if (isVersion07(userOperation)) {
17
- if (userOperation.paymaster ||
18
- userOperation.paymasterData ||
19
- userOperation.paymasterPostOpGasLimit ||
20
- userOperation.paymasterVerificationGasLimit) {
15
+ if (isVersion07(userOp)) {
16
+ if (userOp.paymaster ||
17
+ userOp.paymasterData ||
18
+ userOp.paymasterPostOpGasLimit ||
19
+ userOp.paymasterVerificationGasLimit) {
21
20
  throw new RpcError("Paymaster is not supported for boosted user operations. All paymaster fields must be empty");
22
21
  }
23
22
  }
@@ -26,13 +25,13 @@ export const boostSendUserOperationHandler = createMethodHandler({
26
25
  method: "boost_sendUserOperation",
27
26
  schema: boostSendUserOperationSchema,
28
27
  handler: async ({ rpcHandler, params, apiVersion }) => {
29
- const [userOperation, entryPoint] = params;
30
- validateUserOperation({ userOperation });
28
+ const [userOp, entryPoint] = params;
29
+ validateUserOp({ userOp });
31
30
  let status = "rejected";
32
31
  try {
33
32
  const { result, userOpHash } = await addToMempoolIfValid({
34
33
  rpcHandler,
35
- userOperation,
34
+ userOp,
36
35
  entryPoint,
37
36
  apiVersion,
38
37
  boost: true
@@ -46,10 +45,10 @@ export const boostSendUserOperationHandler = createMethodHandler({
46
45
  throw error;
47
46
  }
48
47
  finally {
49
- rpcHandler.metrics.userOperationsReceived
48
+ rpcHandler.metrics.userOpsReceived
50
49
  .labels({
51
50
  status,
52
- type: !!userOperation.eip7702Auth ? "7702" : "boost"
51
+ type: !!userOp.eip7702Auth ? "7702" : "boost"
53
52
  })
54
53
  .inc();
55
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"boost_sendUserOperation.js","sourceRoot":"","sources":["../../../rpc/methods/boost_sendUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACH,4BAA4B,EAE/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,qBAAqB,GAAG,CAAC,EAC3B,aAAa,EACkB,EAAE,EAAE;IACnC,IACI,aAAa,CAAC,YAAY,KAAK,EAAE;QACjC,aAAa,CAAC,oBAAoB,KAAK,EAAE,EAC3C,CAAC;QACC,MAAM,IAAI,QAAQ,CACd,8EAA8E,CACjF,CAAA;IACL,CAAC;IAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7B,IAAI,aAAa,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,QAAQ,CACd,uFAAuF,CAC1F,CAAA;QACL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7B,IACI,aAAa,CAAC,SAAS;YACvB,aAAa,CAAC,aAAa;YAC3B,aAAa,CAAC,uBAAuB;YACrC,aAAa,CAAC,6BAA6B,EAC7C,CAAC;YACC,MAAM,IAAI,QAAQ,CACd,4FAA4F,CAC/F,CAAA;QACL,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;IAC7D,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,4BAA4B;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QAClD,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,CAAA;QAE1C,qBAAqB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QAExC,IAAI,MAAM,GAAoC,UAAU,CAAA;QACxD,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC;gBACrD,UAAU;gBACV,aAAa;gBACb,UAAU;gBACV,UAAU;gBACV,KAAK,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,MAAM,GAAG,MAAM,CAAA;YAEf,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAEhD,OAAO,UAAU,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,UAAU,CAAA;YACnB,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,UAAU,CAAC,OAAO,CAAC,sBAAsB;iBACpC,MAAM,CAAC;gBACJ,MAAM;gBACN,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACvD,CAAC;iBACD,GAAG,EAAE,CAAA;QACd,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"boost_sendUserOperation.js","sourceRoot":"","sources":["../../../rpc/methods/boost_sendUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACH,4BAA4B,EAE/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAA6B,EAAE,EAAE;IAC7D,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE,IAAI,MAAM,CAAC,oBAAoB,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,QAAQ,CACd,8EAA8E,CACjF,CAAA;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CACd,uFAAuF,CAC1F,CAAA;QACL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,IACI,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,uBAAuB;YAC9B,MAAM,CAAC,6BAA6B,EACtC,CAAC;YACC,MAAM,IAAI,QAAQ,CACd,4FAA4F,CAC/F,CAAA;QACL,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;IAC7D,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,4BAA4B;IACpC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QAClD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAAA;QAEnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAE1B,IAAI,MAAM,GAAoC,UAAU,CAAA;QACxD,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC;gBACrD,UAAU;gBACV,MAAM;gBACN,UAAU;gBACV,UAAU;gBACV,KAAK,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,MAAM,GAAG,MAAM,CAAA;YAEf,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAEhD,OAAO,UAAU,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,UAAU,CAAA;YACnB,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,UAAU,CAAC,OAAO,CAAC,eAAe;iBAC7B,MAAM,CAAC;gBACJ,MAAM;gBACN,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aAChD,CAAC;iBACD,GAAG,EAAE,CAAA;QACd,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"}
@@ -4,14 +4,13 @@ import { calcExecutionPvgComponent, calcL2PvgComponent } from "../../utils/preVe
4
4
  import { createMethodHandler } from "../createMethodHandler.js";
5
5
  import { RpcError, ValidationErrors, estimateUserOperationGasSchema } from "../../types/index.js";
6
6
  import { parseEther, toHex } from "viem";
7
- function calcVerificationGasAndCallGasLimit(userOperation, executionResult, gasLimits) {
7
+ function calcVerificationGasAndCallGasLimit(userOp, executionResult, gasLimits) {
8
8
  const verificationGasLimit = gasLimits?.verificationGasLimit ??
9
- scaleBigIntByPercent(executionResult.preOpGas - userOperation.preVerificationGas, 150n);
9
+ scaleBigIntByPercent(executionResult.preOpGas - userOp.preVerificationGas, 150n);
10
10
  const calculatedCallGasLimit = gasLimits?.callGasLimit ??
11
- executionResult.paid / userOperation.maxFeePerGas -
12
- executionResult.preOpGas;
11
+ executionResult.paid / userOp.maxFeePerGas - executionResult.preOpGas;
13
12
  let callGasLimit = maxBigInt(calculatedCallGasLimit, 9000n);
14
- if (isVersion06(userOperation)) {
13
+ if (isVersion06(userOp)) {
15
14
  callGasLimit += 21000n + 50000n;
16
15
  }
17
16
  return {
@@ -20,7 +19,7 @@ function calcVerificationGasAndCallGasLimit(userOperation, executionResult, gasL
20
19
  paymasterVerificationGasLimit: gasLimits?.paymasterVerificationGasLimit ?? 0n
21
20
  };
22
21
  }
23
- const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOverrides }) => {
22
+ const getGasEstimates = async ({ rpcHandler, userOp, entryPoint, stateOverrides }) => {
24
23
  // Prepare userOperation for simulation.
25
24
  const { simulationVerificationGasLimit, simulationCallGasLimit, simulationPaymasterVerificationGasLimit, simulationPaymasterPostOpGasLimit, paymasterGasLimitMultiplier, v6CallGasLimitMultiplier, v6VerificationGasLimitMultiplier, v7VerificationGasLimitMultiplier, v7PaymasterVerificationGasLimitMultiplier, v7CallGasLimitMultiplier, v7PaymasterPostOpGasLimitMultiplier } = rpcHandler.config;
26
25
  // Create a deep mutable copy of stateOverrides to avoid modifying frozen objects
@@ -32,12 +31,12 @@ const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOve
32
31
  }
33
32
  }
34
33
  // Get queued userOps.
35
- const queuedUserOperations = await rpcHandler.mempool.getQueuedOustandingUserOps({
36
- userOp: userOperation,
34
+ const queuedUserOps = await rpcHandler.mempool.getQueuedOustandingUserOps({
35
+ userOp,
37
36
  entryPoint
38
37
  });
39
38
  const simulationUserOp = {
40
- ...userOperation,
39
+ ...userOp,
41
40
  maxFeePerGas: 1n,
42
41
  maxPriorityFeePerGas: 1n,
43
42
  preVerificationGas: 0n,
@@ -45,10 +44,9 @@ const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOve
45
44
  callGasLimit: simulationCallGasLimit
46
45
  };
47
46
  // Boosted userOperation must be simulated with maxFeePerGas/maxPriorityFeePerGas = 0.
48
- const isBoosted = userOperation.maxFeePerGas === 0n &&
49
- userOperation.maxPriorityFeePerGas === 0n;
47
+ const isBoosted = userOp.maxFeePerGas === 0n && userOp.maxPriorityFeePerGas === 0n;
50
48
  if (isBoosted) {
51
- const sender = userOperation.sender;
49
+ const sender = userOp.sender;
52
50
  if (mutableStateOverrides === undefined) {
53
51
  mutableStateOverrides = {};
54
52
  }
@@ -67,17 +65,16 @@ const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOve
67
65
  simulationPaymasterPostOpGasLimit;
68
66
  }
69
67
  const executionResult = await rpcHandler.validator.getExecutionResult({
70
- userOperation: simulationUserOp,
68
+ userOp: simulationUserOp,
69
+ queuedUserOps,
71
70
  entryPoint,
72
- queuedUserOperations,
73
71
  stateOverrides: deepHexlify(mutableStateOverrides)
74
72
  });
75
73
  if (executionResult.result === "failed") {
76
- const errorResult = executionResult;
77
74
  return {
78
75
  status: "failed",
79
- error: errorResult.data,
80
- code: errorResult.code
76
+ error: executionResult.data,
77
+ code: executionResult.code
81
78
  };
82
79
  }
83
80
  // type cast as typescript doesn't know the type
@@ -98,10 +95,10 @@ const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOve
98
95
  "paymasterPostOpGasLimit" in successResult.data.executionResult) {
99
96
  paymasterPostOpGasLimit =
100
97
  successResult.data.executionResult.paymasterPostOpGasLimit || 1n;
101
- const userOperationPaymasterPostOpGasLimit = "paymasterPostOpGasLimit" in userOperation
102
- ? (userOperation.paymasterPostOpGasLimit ?? 1n)
98
+ const userOpPaymasterPostOpGasLimit = "paymasterPostOpGasLimit" in userOp
99
+ ? (userOp.paymasterPostOpGasLimit ?? 1n)
103
100
  : 1n;
104
- paymasterPostOpGasLimit = maxBigInt(userOperationPaymasterPostOpGasLimit, scaleBigIntByPercent(paymasterPostOpGasLimit, paymasterGasLimitMultiplier));
101
+ paymasterPostOpGasLimit = maxBigInt(userOpPaymasterPostOpGasLimit, scaleBigIntByPercent(paymasterPostOpGasLimit, paymasterGasLimitMultiplier));
105
102
  }
106
103
  if (simulationUserOp.callData === "0x") {
107
104
  callGasLimit = 0n;
@@ -124,31 +121,31 @@ const getGasEstimates = async ({ rpcHandler, userOperation, entryPoint, stateOve
124
121
  paymasterVerificationGasLimit,
125
122
  paymasterPostOpGasLimit
126
123
  },
127
- queuedUserOperations
124
+ queuedUserOps
128
125
  };
129
126
  };
130
127
  export const ethEstimateUserOperationGasHandler = createMethodHandler({
131
128
  method: "eth_estimateUserOperationGas",
132
129
  schema: estimateUserOperationGasSchema,
133
130
  handler: async ({ rpcHandler, apiVersion, params }) => {
134
- const [userOperation, entryPoint, stateOverrides] = params;
131
+ const [userOp, entryPoint, stateOverrides] = params;
135
132
  rpcHandler.ensureEntryPointIsSupported(entryPoint);
136
133
  // Extract all config values at the beginning
137
134
  const { supportsEip7623, v7PreVerificationGasLimitMultiplier, v6PreVerificationGasLimitMultiplier } = rpcHandler.config;
138
135
  // Execute multiple async operations in parallel
139
136
  let [[validEip7702Auth, validEip7702AuthError], gasEstimateResult, l2GasComponent] = await Promise.all([
140
137
  rpcHandler.validateEip7702Auth({
141
- userOperation
138
+ userOp
142
139
  }),
143
140
  getGasEstimates({
144
141
  rpcHandler,
145
- userOperation,
142
+ userOp,
146
143
  entryPoint,
147
144
  stateOverrides
148
145
  }),
149
146
  calcL2PvgComponent({
150
147
  config: rpcHandler.config,
151
- userOperation,
148
+ userOp,
152
149
  entryPoint,
153
150
  gasPriceManager: rpcHandler.gasPriceManager,
154
151
  validate: false
@@ -164,7 +161,7 @@ export const ethEstimateUserOperationGasHandler = createMethodHandler({
164
161
  }
165
162
  // Now calculate execution gas component with the estimated gas values
166
163
  const userOpWithEstimatedGas = {
167
- ...userOperation,
164
+ ...userOp,
168
165
  ...gasEstimateResult.estimates
169
166
  };
170
167
  const executionGasComponent = calcExecutionPvgComponent({
@@ -175,26 +172,26 @@ export const ethEstimateUserOperationGasHandler = createMethodHandler({
175
172
  // Calculate total preVerificationGas by summing both components
176
173
  let preVerificationGas = executionGasComponent + l2GasComponent;
177
174
  // Add multipliers to pvg
178
- if (isVersion07(userOperation)) {
175
+ if (isVersion07(userOp)) {
179
176
  preVerificationGas = scaleBigIntByPercent(preVerificationGas, v7PreVerificationGasLimitMultiplier);
180
177
  }
181
- if (isVersion06(userOperation)) {
178
+ if (isVersion06(userOp)) {
182
179
  preVerificationGas = scaleBigIntByPercent(preVerificationGas, v6PreVerificationGasLimitMultiplier);
183
180
  }
184
181
  // Check if userOperation passes without estimation balance overrides (will throw error if it fails validation)
185
182
  await rpcHandler.validator.validateHandleOp({
186
- userOperation: {
187
- ...userOperation,
183
+ userOp: {
184
+ ...userOp,
188
185
  ...gasEstimateResult.estimates, // use actual callGasLimit, verificationGasLimit, paymasterPostOpGasLimit, paymasterVerificationGasLimit
189
186
  preVerificationGas
190
187
  },
188
+ queuedUserOps: gasEstimateResult.queuedUserOps,
191
189
  entryPoint,
192
- queuedUserOperations: gasEstimateResult.queuedUserOperations,
193
190
  stateOverrides: deepHexlify(stateOverrides)
194
191
  });
195
192
  // Extrace values for returning
196
193
  const { verificationGasLimit, callGasLimit, paymasterVerificationGasLimit, paymasterPostOpGasLimit } = gasEstimateResult.estimates;
197
- if (isVersion07(userOperation)) {
194
+ if (isVersion07(userOp)) {
198
195
  return {
199
196
  preVerificationGas,
200
197
  verificationGasLimit,
@@ -1 +1 @@
1
- {"version":3,"file":"eth_estimateUserOperationGas.js","sourceRoot":"","sources":["../../../rpc/methods/eth_estimateUserOperationGas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth_estimateUserOperationGas.js","sourceRoot":"","sources":["../../../rpc/methods/eth_estimateUserOperationGas.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { getAbiItem, TransactionNotFoundError, decodeFunctionData, toFunctionSelector, slice, getAddress } from "viem";
2
- import { toUnpackedUserOperation } from "../../utils/userop.js";
2
+ import { toUnpackedUserOp } from "../../utils/userop.js";
3
3
  import { createMethodHandler } from "../createMethodHandler.js";
4
4
  import { EntryPointV06Abi, EntryPointV07Abi, getUserOperationByHashSchema } from "../../types/index.js";
5
- const userOperationEventAbiItem = getAbiItem({
5
+ const userOpEventAbiItem = getAbiItem({
6
6
  abi: EntryPointV06Abi,
7
7
  name: "UserOperationEvent"
8
8
  });
@@ -10,7 +10,7 @@ export const ethGetUserOperationByHashHandler = createMethodHandler({
10
10
  method: "eth_getUserOperationByHash",
11
11
  schema: getUserOperationByHashSchema,
12
12
  handler: async ({ rpcHandler, params }) => {
13
- const [userOperationHash] = params;
13
+ const [userOpHash] = params;
14
14
  let fromBlock;
15
15
  let toBlock;
16
16
  if (rpcHandler.config.maxBlockRange !== undefined) {
@@ -23,11 +23,11 @@ export const ethGetUserOperationByHashHandler = createMethodHandler({
23
23
  }
24
24
  const filterResult = await rpcHandler.config.publicClient.getLogs({
25
25
  address: rpcHandler.config.entrypoints,
26
- event: userOperationEventAbiItem,
26
+ event: userOpEventAbiItem,
27
27
  fromBlock,
28
28
  toBlock,
29
29
  args: {
30
- userOpHash: userOperationHash
30
+ userOpHash
31
31
  }
32
32
  });
33
33
  if (filterResult.length === 0) {
@@ -77,7 +77,7 @@ export const ethGetUserOperationByHashHandler = createMethodHandler({
77
77
  });
78
78
  const handleOpsV07Selector = toFunctionSelector(handleOpsV07AbiItem);
79
79
  if (slice(tx.input, 0, 4) === handleOpsV07Selector) {
80
- op = toUnpackedUserOperation(foundOp);
80
+ op = toUnpackedUserOp(foundOp);
81
81
  }
82
82
  else {
83
83
  op = foundOp;
@@ -1 +1 @@
1
- {"version":3,"file":"eth_getUserOperationByHash.js","sourceRoot":"","sources":["../../../rpc/methods/eth_getUserOperationByHash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth_getUserOperationByHash.js","sourceRoot":"","sources":["../../../rpc/methods/eth_getUserOperationByHash.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@ export const ethGetUserOperationReceiptHandler = createMethodHandler({
4
4
  method: "eth_getUserOperationReceipt",
5
5
  schema: getUserOperationReceiptSchema,
6
6
  handler: async ({ rpcHandler, params }) => {
7
- const [userOperationHash] = params;
7
+ const [userOpHash] = params;
8
8
  try {
9
- return await rpcHandler.userOpMonitor.getUserOpReceipt(userOperationHash);
9
+ return await rpcHandler.userOpMonitor.getUserOpReceipt(userOpHash);
10
10
  }
11
11
  catch (err) {
12
- rpcHandler.logger.error({ err, userOperationHash }, "Unexpected error while getting user operation receipt");
12
+ rpcHandler.logger.error({ err, userOpHash }, "Unexpected error while getting user operation receipt");
13
13
  throw new RpcError("Failed to get user operation receipt");
14
14
  }
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eth_getUserOperationReceipt.js","sourceRoot":"","sources":["../../../rpc/methods/eth_getUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;IACjE,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,6BAA6B;IACrC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QACtC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAA;QAClC,IAAI,CAAC;YACD,OAAO,MAAM,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAClD,iBAAiB,CACpB,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,UAAU,CAAC,MAAM,CAAC,KAAK,CACnB,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAC1B,uDAAuD,CAC1D,CAAA;YACD,MAAM,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"eth_getUserOperationReceipt.js","sourceRoot":"","sources":["../../../rpc/methods/eth_getUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;IACjE,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,6BAA6B;IACrC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QACtC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC;YACD,OAAO,MAAM,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAClD,UAAU,CACb,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,UAAU,CAAC,MAAM,CAAC,KAAK,CACnB,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,uDAAuD,CAC1D,CAAA;YACD,MAAM,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { type UserOperation, type Address, type ApiVersion } from "../../types/index.js";
2
2
  import { RpcHandler } from "../rpcHandler.js";
3
3
  import { Hex } from "viem";
4
- export declare function addToMempoolIfValid({ rpcHandler, userOperation, entryPoint, apiVersion, boost }: {
4
+ export declare function addToMempoolIfValid({ rpcHandler, userOp, entryPoint, apiVersion, boost }: {
5
5
  rpcHandler: RpcHandler;
6
- userOperation: UserOperation;
6
+ userOp: UserOperation;
7
7
  entryPoint: Address;
8
8
  apiVersion: ApiVersion;
9
9
  boost?: boolean;