@pimlico/alto 0.0.0-staging.20240606T110517 → 0.0.2

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 (230) hide show
  1. package/LICENSE +674 -0
  2. package/lib/executor/executor.js +6 -0
  3. package/lib/executor/executor.js.map +1 -1
  4. package/lib/executor/executorManager.js +1 -0
  5. package/lib/executor/executorManager.js.map +1 -1
  6. package/lib/executor/utils.js +3 -1
  7. package/lib/executor/utils.js.map +1 -1
  8. package/lib/rpc/server.js +2 -1
  9. package/lib/rpc/server.js.map +1 -1
  10. package/lib/types/mempool.d.ts +2 -1
  11. package/package.json +11 -12
  12. package/esm/cli/alto.d.ts +0 -6
  13. package/esm/cli/alto.js +0 -92
  14. package/esm/cli/alto.js.map +0 -1
  15. package/esm/cli/config/bundler.d.ts +0 -391
  16. package/esm/cli/config/bundler.js +0 -132
  17. package/esm/cli/config/bundler.js.map +0 -1
  18. package/esm/cli/config/index.d.ts +0 -3
  19. package/esm/cli/config/index.js +0 -3
  20. package/esm/cli/config/index.js.map +0 -1
  21. package/esm/cli/config/options.d.ts +0 -11
  22. package/esm/cli/config/options.js +0 -336
  23. package/esm/cli/config/options.js.map +0 -1
  24. package/esm/cli/customTransport.d.ts +0 -14
  25. package/esm/cli/customTransport.js +0 -53
  26. package/esm/cli/customTransport.js.map +0 -1
  27. package/esm/cli/handler.d.ts +0 -3
  28. package/esm/cli/handler.js +0 -116
  29. package/esm/cli/handler.js.map +0 -1
  30. package/esm/cli/index.d.ts +0 -4
  31. package/esm/cli/index.js +0 -4
  32. package/esm/cli/index.js.map +0 -1
  33. package/esm/cli/instrumentation.d.ts +0 -2
  34. package/esm/cli/instrumentation.js +0 -39
  35. package/esm/cli/instrumentation.js.map +0 -1
  36. package/esm/cli/setupServer.d.ts +0 -17
  37. package/esm/cli/setupServer.js +0 -155
  38. package/esm/cli/setupServer.js.map +0 -1
  39. package/esm/cli/util.d.ts +0 -22
  40. package/esm/cli/util.js +0 -30
  41. package/esm/cli/util.js.map +0 -1
  42. package/esm/executor/executor.d.ts +0 -54
  43. package/esm/executor/executor.js +0 -637
  44. package/esm/executor/executor.js.map +0 -1
  45. package/esm/executor/executorManager.d.ts +0 -34
  46. package/esm/executor/executorManager.js +0 -401
  47. package/esm/executor/executorManager.js.map +0 -1
  48. package/esm/executor/index.d.ts +0 -5
  49. package/esm/executor/index.js +0 -5
  50. package/esm/executor/index.js.map +0 -1
  51. package/esm/executor/senderManager.d.ts +0 -17
  52. package/esm/executor/senderManager.js +0 -160
  53. package/esm/executor/senderManager.js.map +0 -1
  54. package/esm/executor/test/utils.d.ts +0 -13
  55. package/esm/executor/test/utils.js +0 -75
  56. package/esm/executor/test/utils.js.map +0 -1
  57. package/esm/executor/utils.d.ts +0 -32
  58. package/esm/executor/utils.js +0 -239
  59. package/esm/executor/utils.js.map +0 -1
  60. package/esm/index.d.ts +0 -2
  61. package/esm/index.js +0 -2
  62. package/esm/index.js.map +0 -1
  63. package/esm/mempool/index.d.ts +0 -5
  64. package/esm/mempool/index.js +0 -5
  65. package/esm/mempool/index.js.map +0 -1
  66. package/esm/mempool/mempool.d.ts +0 -64
  67. package/esm/mempool/mempool.js +0 -489
  68. package/esm/mempool/mempool.js.map +0 -1
  69. package/esm/mempool/monitoring.d.ts +0 -10
  70. package/esm/mempool/monitoring.js +0 -34
  71. package/esm/mempool/monitoring.js.map +0 -1
  72. package/esm/mempool/nullMempool.d.ts +0 -15
  73. package/esm/mempool/nullMempool.js +0 -36
  74. package/esm/mempool/nullMempool.js.map +0 -1
  75. package/esm/mempool/reputationManager.d.ts +0 -115
  76. package/esm/mempool/reputationManager.js +0 -397
  77. package/esm/mempool/reputationManager.js.map +0 -1
  78. package/esm/mempool/store.d.ts +0 -22
  79. package/esm/mempool/store.js +0 -123
  80. package/esm/mempool/store.js.map +0 -1
  81. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
  82. package/esm/rpc/EntryPointSimulationsV07.js +0 -407
  83. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  84. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  85. package/esm/rpc/ExecuteSimulator.js +0 -48
  86. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  87. package/esm/rpc/gasEstimation.d.ts +0 -17
  88. package/esm/rpc/gasEstimation.js +0 -410
  89. package/esm/rpc/gasEstimation.js.map +0 -1
  90. package/esm/rpc/index.d.ts +0 -5
  91. package/esm/rpc/index.js +0 -5
  92. package/esm/rpc/index.js.map +0 -1
  93. package/esm/rpc/nonceQueuer.d.ts +0 -25
  94. package/esm/rpc/nonceQueuer.js +0 -135
  95. package/esm/rpc/nonceQueuer.js.map +0 -1
  96. package/esm/rpc/rpcHandler.d.ts +0 -64
  97. package/esm/rpc/rpcHandler.js +0 -727
  98. package/esm/rpc/rpcHandler.js.map +0 -1
  99. package/esm/rpc/server.d.ts +0 -31
  100. package/esm/rpc/server.js +0 -238
  101. package/esm/rpc/server.js.map +0 -1
  102. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  103. package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
  104. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  105. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  106. package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
  107. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  108. package/esm/rpc/validation/SafeValidator.d.ts +0 -35
  109. package/esm/rpc/validation/SafeValidator.js +0 -487
  110. package/esm/rpc/validation/SafeValidator.js.map +0 -1
  111. package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
  112. package/esm/rpc/validation/TracerResultParserV06.js +0 -578
  113. package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
  114. package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
  115. package/esm/rpc/validation/TracerResultParserV07.js +0 -557
  116. package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
  117. package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
  118. package/esm/rpc/validation/UnsafeValidator.js +0 -257
  119. package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
  120. package/esm/rpc/validation/index.d.ts +0 -3
  121. package/esm/rpc/validation/index.js +0 -3
  122. package/esm/rpc/validation/index.js.map +0 -1
  123. package/esm/rpc/validation/tracer.d.ts +0 -122
  124. package/esm/rpc/validation/tracer.js +0 -82
  125. package/esm/rpc/validation/tracer.js.map +0 -1
  126. package/esm/types/contracts/BundleBulker.d.ts +0 -120
  127. package/esm/types/contracts/BundleBulker.js +0 -157
  128. package/esm/types/contracts/BundleBulker.js.map +0 -1
  129. package/esm/types/contracts/CallEngine.d.ts +0 -28
  130. package/esm/types/contracts/CallEngine.js +0 -37
  131. package/esm/types/contracts/CallEngine.js.map +0 -1
  132. package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
  133. package/esm/types/contracts/CodeHashGetter.js +0 -45
  134. package/esm/types/contracts/CodeHashGetter.js.map +0 -1
  135. package/esm/types/contracts/EntryPoint.d.ts +0 -1789
  136. package/esm/types/contracts/EntryPoint.js +0 -2304
  137. package/esm/types/contracts/EntryPoint.js.map +0 -1
  138. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
  139. package/esm/types/contracts/EntryPointSimulations.js +0 -15
  140. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  141. package/esm/types/contracts/IOpInflator.d.ts +0 -61
  142. package/esm/types/contracts/IOpInflator.js +0 -80
  143. package/esm/types/contracts/IOpInflator.js.map +0 -1
  144. package/esm/types/contracts/IPaymaster.d.ts +0 -3
  145. package/esm/types/contracts/IPaymaster.js +0 -117
  146. package/esm/types/contracts/IPaymaster.js.map +0 -1
  147. package/esm/types/contracts/Inflator.d.ts +0 -65
  148. package/esm/types/contracts/Inflator.js +0 -84
  149. package/esm/types/contracts/Inflator.js.map +0 -1
  150. package/esm/types/contracts/PerOpInflator.d.ts +0 -176
  151. package/esm/types/contracts/PerOpInflator.js +0 -229
  152. package/esm/types/contracts/PerOpInflator.js.map +0 -1
  153. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
  154. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
  155. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  156. package/esm/types/contracts/SenderCreator.d.ts +0 -4
  157. package/esm/types/contracts/SenderCreator.js +0 -23
  158. package/esm/types/contracts/SenderCreator.js.map +0 -1
  159. package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
  160. package/esm/types/contracts/SimpleAccountFactory.js +0 -76
  161. package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
  162. package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
  163. package/esm/types/contracts/TestOpcodesAccount.js +0 -281
  164. package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
  165. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  166. package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
  167. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  168. package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
  169. package/esm/types/contracts/TestStorageAccount.js +0 -313
  170. package/esm/types/contracts/TestStorageAccount.js.map +0 -1
  171. package/esm/types/contracts/index.d.ts +0 -17
  172. package/esm/types/contracts/index.js +0 -17
  173. package/esm/types/contracts/index.js.map +0 -1
  174. package/esm/types/gasPrice.d.ts +0 -110
  175. package/esm/types/gasPrice.js +0 -52
  176. package/esm/types/gasPrice.js.map +0 -1
  177. package/esm/types/index.d.ts +0 -11
  178. package/esm/types/index.js +0 -11
  179. package/esm/types/index.js.map +0 -1
  180. package/esm/types/interfaces.d.ts +0 -26
  181. package/esm/types/interfaces.js +0 -2
  182. package/esm/types/interfaces.js.map +0 -1
  183. package/esm/types/mempool.d.ts +0 -78
  184. package/esm/types/mempool.js +0 -16
  185. package/esm/types/mempool.js.map +0 -1
  186. package/esm/types/schemas.d.ts +0 -4791
  187. package/esm/types/schemas.js +0 -497
  188. package/esm/types/schemas.js.map +0 -1
  189. package/esm/types/test/validationTestErrors.d.ts +0 -3
  190. package/esm/types/test/validationTestErrors.js +0 -229
  191. package/esm/types/test/validationTestErrors.js.map +0 -1
  192. package/esm/types/utils.d.ts +0 -24
  193. package/esm/types/utils.js +0 -30
  194. package/esm/types/utils.js.map +0 -1
  195. package/esm/types/validation.d.ts +0 -14327
  196. package/esm/types/validation.js +0 -304
  197. package/esm/types/validation.js.map +0 -1
  198. package/esm/utils/bigInt.d.ts +0 -3
  199. package/esm/utils/bigInt.js +0 -9
  200. package/esm/utils/bigInt.js.map +0 -1
  201. package/esm/utils/compressionHandler.d.ts +0 -11
  202. package/esm/utils/compressionHandler.js +0 -39
  203. package/esm/utils/compressionHandler.js.map +0 -1
  204. package/esm/utils/gasPriceManager.d.ts +0 -34
  205. package/esm/utils/gasPriceManager.js +0 -338
  206. package/esm/utils/gasPriceManager.js.map +0 -1
  207. package/esm/utils/helpers.d.ts +0 -4
  208. package/esm/utils/helpers.js +0 -13
  209. package/esm/utils/helpers.js.map +0 -1
  210. package/esm/utils/index.d.ts +0 -11
  211. package/esm/utils/index.js +0 -10
  212. package/esm/utils/index.js.map +0 -1
  213. package/esm/utils/logger.d.ts +0 -6
  214. package/esm/utils/logger.js +0 -76
  215. package/esm/utils/logger.js.map +0 -1
  216. package/esm/utils/metrics.d.ts +0 -22
  217. package/esm/utils/metrics.js +0 -150
  218. package/esm/utils/metrics.js.map +0 -1
  219. package/esm/utils/rpc-reply.d.ts +0 -17
  220. package/esm/utils/rpc-reply.js +0 -41
  221. package/esm/utils/rpc-reply.js.map +0 -1
  222. package/esm/utils/test.d.ts +0 -17
  223. package/esm/utils/test.js +0 -130
  224. package/esm/utils/test.js.map +0 -1
  225. package/esm/utils/userop.d.ts +0 -49
  226. package/esm/utils/userop.js +0 -408
  227. package/esm/utils/userop.js.map +0 -1
  228. package/esm/utils/validation.d.ts +0 -65
  229. package/esm/utils/validation.js +0 -461
  230. package/esm/utils/validation.js.map +0 -1
@@ -1,489 +0,0 @@
1
- // import { MongoClient, Collection, Filter } from "mongodb"
2
- // import { PublicClient, getContract } from "viem"
3
- // import { EntryPointAbi } from "../types/EntryPoint"
4
- import { EntryPointV06Abi, RpcError, ValidationErrors, deriveUserOperation, EntryPointV07Abi } from "../types/index.js";
5
- import { getAddressFromInitCodeOrPaymasterAndData, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07 } from "../utils/index.js";
6
- import { getAddress, getContract } from "viem";
7
- import { ReputationStatuses } from "./reputationManager.js";
8
- import { MemoryStore } from "./store.js";
9
- export class MemoryMempool {
10
- monitor;
11
- publicClient;
12
- reputationManager;
13
- store;
14
- throttledEntityBundleCount;
15
- logger;
16
- validator;
17
- safeMode;
18
- parallelUserOpsMaxSize;
19
- queuedUserOpsMaxSize;
20
- onlyUniqueSendersPerBundle;
21
- constructor(monitor, reputationManager, validator, publicClient, safeMode, logger, metrics, parallelUserOpsMaxSize, queuedUserOpsMaxSize, onlyUniqueSendersPerBundle, throttledEntityBundleCount) {
22
- this.reputationManager = reputationManager;
23
- this.monitor = monitor;
24
- this.validator = validator;
25
- this.publicClient = publicClient;
26
- this.safeMode = safeMode;
27
- this.logger = logger;
28
- this.store = new MemoryStore(logger, metrics);
29
- this.parallelUserOpsMaxSize = parallelUserOpsMaxSize;
30
- this.queuedUserOpsMaxSize = queuedUserOpsMaxSize;
31
- this.onlyUniqueSendersPerBundle = onlyUniqueSendersPerBundle;
32
- this.throttledEntityBundleCount = throttledEntityBundleCount ?? 4;
33
- }
34
- replaceSubmitted(userOperation, transactionInfo) {
35
- const op = this.store
36
- .dumpSubmitted()
37
- .find((op) => op.userOperation.userOperationHash ===
38
- userOperation.userOperationHash);
39
- if (op) {
40
- this.store.removeSubmitted(userOperation.userOperationHash);
41
- this.store.addSubmitted({
42
- userOperation,
43
- transactionInfo
44
- });
45
- this.monitor.setUserOperationStatus(userOperation.userOperationHash, {
46
- status: "submitted",
47
- transactionHash: transactionInfo.transactionHash
48
- });
49
- }
50
- }
51
- markSubmitted(userOpHash, transactionInfo) {
52
- const op = this.store
53
- .dumpProcessing()
54
- .find((op) => op.userOperationHash === userOpHash);
55
- if (op) {
56
- this.store.removeProcessing(userOpHash);
57
- this.store.addSubmitted({
58
- userOperation: op,
59
- transactionInfo
60
- });
61
- this.monitor.setUserOperationStatus(userOpHash, {
62
- status: "submitted",
63
- transactionHash: transactionInfo.transactionHash
64
- });
65
- }
66
- }
67
- dumpOutstanding() {
68
- return this.store.dumpOutstanding();
69
- }
70
- dumpProcessing() {
71
- return this.store.dumpProcessing();
72
- }
73
- dumpSubmittedOps() {
74
- return this.store.dumpSubmitted();
75
- }
76
- removeSubmitted(userOpHash) {
77
- this.store.removeSubmitted(userOpHash);
78
- }
79
- removeProcessing(userOpHash) {
80
- this.store.removeProcessing(userOpHash);
81
- }
82
- // biome-ignore lint/suspicious/useAwait: keep async to adhere to interface
83
- async checkEntityMultipleRoleViolation(op) {
84
- if (!this.safeMode) {
85
- return;
86
- }
87
- const knownEntities = this.getKnownEntities();
88
- if (knownEntities.paymasters.has(op.sender) ||
89
- knownEntities.factories.has(op.sender)) {
90
- throw new RpcError(`The sender address "${op.sender}" is used as a different entity in another UserOperation currently in mempool`, ValidationErrors.OpcodeValidation);
91
- }
92
- let paymaster = null;
93
- let factory = null;
94
- if (isVersion06(op)) {
95
- paymaster = getAddressFromInitCodeOrPaymasterAndData(op.paymasterAndData);
96
- factory = getAddressFromInitCodeOrPaymasterAndData(op.initCode);
97
- }
98
- if (isVersion07(op)) {
99
- paymaster = op.paymaster;
100
- factory = op.factory;
101
- }
102
- if (paymaster && knownEntities.sender.has(paymaster)) {
103
- throw new RpcError(`A Paymaster at ${paymaster} in this UserOperation is used as a sender entity in another UserOperation currently in mempool.`, ValidationErrors.OpcodeValidation);
104
- }
105
- if (factory && knownEntities.sender.has(factory)) {
106
- throw new RpcError(`A Factory at ${factory} in this UserOperation is used as a sender entity in another UserOperation currently in mempool.`, ValidationErrors.OpcodeValidation);
107
- }
108
- }
109
- getKnownEntities() {
110
- const allOps = [...this.store.dumpOutstanding()];
111
- const entities = {
112
- sender: new Set(),
113
- paymasters: new Set(),
114
- factories: new Set()
115
- };
116
- for (const mempoolOp of allOps) {
117
- const op = deriveUserOperation(mempoolOp.mempoolUserOperation);
118
- entities.sender.add(op.sender);
119
- const isUserOpV06 = isVersion06(op);
120
- const paymaster = isUserOpV06
121
- ? getAddressFromInitCodeOrPaymasterAndData(op.paymasterAndData)
122
- : op.paymaster;
123
- if (paymaster) {
124
- entities.paymasters.add(paymaster);
125
- }
126
- const factory = isUserOpV06
127
- ? getAddressFromInitCodeOrPaymasterAndData(op.initCode)
128
- : op.factory;
129
- if (factory) {
130
- entities.factories.add(factory);
131
- }
132
- }
133
- return entities;
134
- }
135
- // TODO: add check for adding a userop with conflicting nonce
136
- // In case of concurrent requests
137
- add(mempoolUserOperation, entryPoint, referencedContracts) {
138
- const op = deriveUserOperation(mempoolUserOperation);
139
- const outstandingOps = [...this.store.dumpOutstanding()];
140
- const processedOrSubmittedOps = [
141
- ...this.store.dumpProcessing(),
142
- ...this.store.dumpSubmitted().map((sop) => sop.userOperation)
143
- ];
144
- if (processedOrSubmittedOps.find((uo) => {
145
- const userOperation = deriveUserOperation(uo.mempoolUserOperation);
146
- return (userOperation.sender === op.sender &&
147
- userOperation.nonce === op.nonce);
148
- })) {
149
- return false;
150
- }
151
- this.reputationManager.updateUserOperationSeenStatus(op, entryPoint);
152
- const oldUserOp = outstandingOps.find((uo) => {
153
- const userOperation = deriveUserOperation(uo.mempoolUserOperation);
154
- return (userOperation.sender === op.sender &&
155
- userOperation.nonce === op.nonce);
156
- });
157
- if (oldUserOp) {
158
- const oldOp = deriveUserOperation(oldUserOp.mempoolUserOperation);
159
- const oldMaxPriorityFeePerGas = oldOp.maxPriorityFeePerGas;
160
- const newMaxPriorityFeePerGas = op.maxPriorityFeePerGas;
161
- const oldMaxFeePerGas = oldOp.maxFeePerGas;
162
- const newMaxFeePerGas = op.maxFeePerGas;
163
- const incrementMaxPriorityFeePerGas = (oldMaxPriorityFeePerGas * BigInt(10)) / BigInt(100);
164
- const incrementMaxFeePerGas = (oldMaxFeePerGas * BigInt(10)) / BigInt(100);
165
- if (newMaxPriorityFeePerGas <
166
- oldMaxPriorityFeePerGas + incrementMaxPriorityFeePerGas ||
167
- newMaxFeePerGas < oldMaxFeePerGas + incrementMaxFeePerGas) {
168
- return false;
169
- }
170
- this.store.removeOutstanding(oldUserOp.userOperationHash);
171
- }
172
- // Check if mempool already includes max amount of parallel user operations
173
- const parallellUserOperationsCount = this.store
174
- .dumpOutstanding()
175
- .filter((userOpInfo) => {
176
- const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
177
- return userOp.sender === op.sender;
178
- })
179
- .length;
180
- if (parallellUserOperationsCount > this.parallelUserOpsMaxSize) {
181
- return false;
182
- }
183
- // Check if mempool already includes max amount of queued user operations
184
- const [nonceKey,] = getNonceKeyAndValue(op.nonce);
185
- const queuedUserOperationsCount = this.store
186
- .dumpOutstanding()
187
- .filter((userOpInfo) => {
188
- const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
189
- const [opNonceKey,] = getNonceKeyAndValue(userOp.nonce);
190
- return (userOp.sender === op.sender && opNonceKey === nonceKey);
191
- })
192
- .length;
193
- if (queuedUserOperationsCount > this.queuedUserOpsMaxSize) {
194
- return false;
195
- }
196
- const hash = getUserOperationHash(op, entryPoint, this.publicClient.chain.id);
197
- this.store.addOutstanding({
198
- mempoolUserOperation,
199
- entryPoint: entryPoint,
200
- userOperationHash: hash,
201
- firstSubmitted: oldUserOp ? oldUserOp.firstSubmitted : Date.now(),
202
- lastReplaced: Date.now(),
203
- referencedContracts
204
- });
205
- this.monitor.setUserOperationStatus(hash, {
206
- status: "not_submitted",
207
- transactionHash: null
208
- });
209
- return true;
210
- }
211
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
212
- async shouldSkip(opInfo, paymasterDeposit, stakedEntityCount, knownEntities, senders, storageMap) {
213
- const op = deriveUserOperation(opInfo.mempoolUserOperation);
214
- if (!this.safeMode) {
215
- return {
216
- skip: false,
217
- paymasterDeposit,
218
- stakedEntityCount,
219
- knownEntities,
220
- senders,
221
- storageMap
222
- };
223
- }
224
- const isUserOpV06 = isVersion06(op);
225
- const paymaster = isUserOpV06
226
- ? getAddressFromInitCodeOrPaymasterAndData(op.paymasterAndData)
227
- : op.paymaster;
228
- const factory = isUserOpV06
229
- ? getAddressFromInitCodeOrPaymasterAndData(op.initCode)
230
- : op.factory;
231
- const paymasterStatus = this.reputationManager.getStatus(opInfo.entryPoint, paymaster);
232
- const factoryStatus = this.reputationManager.getStatus(opInfo.entryPoint, factory);
233
- if (paymasterStatus === ReputationStatuses.banned ||
234
- factoryStatus === ReputationStatuses.banned) {
235
- this.store.removeOutstanding(opInfo.userOperationHash);
236
- return {
237
- skip: true,
238
- paymasterDeposit,
239
- stakedEntityCount,
240
- knownEntities,
241
- senders,
242
- storageMap
243
- };
244
- }
245
- if (paymasterStatus === ReputationStatuses.throttled &&
246
- paymaster &&
247
- stakedEntityCount[paymaster] >= this.throttledEntityBundleCount) {
248
- this.logger.trace({
249
- paymaster,
250
- opHash: opInfo.userOperationHash
251
- }, "Throttled paymaster skipped");
252
- return {
253
- skip: true,
254
- paymasterDeposit,
255
- stakedEntityCount,
256
- knownEntities,
257
- senders,
258
- storageMap
259
- };
260
- }
261
- if (factoryStatus === ReputationStatuses.throttled &&
262
- factory &&
263
- stakedEntityCount[factory] >= this.throttledEntityBundleCount) {
264
- this.logger.trace({
265
- factory,
266
- opHash: opInfo.userOperationHash
267
- }, "Throttled factory skipped");
268
- return {
269
- skip: true,
270
- paymasterDeposit,
271
- stakedEntityCount,
272
- knownEntities,
273
- senders,
274
- storageMap
275
- };
276
- }
277
- if (senders.has(op.sender) && this.onlyUniqueSendersPerBundle) {
278
- this.logger.trace({
279
- sender: op.sender,
280
- opHash: opInfo.userOperationHash
281
- }, "Sender skipped because already included in bundle");
282
- return {
283
- skip: true,
284
- paymasterDeposit,
285
- stakedEntityCount,
286
- knownEntities,
287
- senders,
288
- storageMap
289
- };
290
- }
291
- let validationResult;
292
- try {
293
- let queuedUserOperations = [];
294
- if (!isUserOpV06) {
295
- queuedUserOperations = await this.getQueuedUserOperations(op, opInfo.entryPoint);
296
- }
297
- validationResult = await this.validator.validateUserOperation(false, op, queuedUserOperations, opInfo.entryPoint, opInfo.referencedContracts);
298
- }
299
- catch (e) {
300
- this.logger.error({
301
- opHash: opInfo.userOperationHash,
302
- error: JSON.stringify(e)
303
- }, "2nd Validation error");
304
- this.store.removeOutstanding(opInfo.userOperationHash);
305
- return {
306
- skip: true,
307
- paymasterDeposit,
308
- stakedEntityCount,
309
- knownEntities,
310
- senders,
311
- storageMap
312
- };
313
- }
314
- for (const storageAddress of Object.keys(validationResult.storageMap)) {
315
- const address = getAddress(storageAddress);
316
- if (address !== op.sender && knownEntities.sender.has(address)) {
317
- this.logger.trace({
318
- storageAddress,
319
- opHash: opInfo.userOperationHash
320
- }, "Storage address skipped");
321
- return {
322
- skip: true,
323
- paymasterDeposit,
324
- stakedEntityCount,
325
- knownEntities,
326
- senders,
327
- storageMap
328
- };
329
- }
330
- }
331
- if (paymaster) {
332
- if (paymasterDeposit[paymaster] === undefined) {
333
- const entryPointContract = getContract({
334
- abi: isUserOpV06 ? EntryPointV06Abi : EntryPointV07Abi,
335
- address: opInfo.entryPoint,
336
- client: {
337
- public: this.publicClient
338
- }
339
- });
340
- paymasterDeposit[paymaster] =
341
- await entryPointContract.read.balanceOf([paymaster]);
342
- }
343
- if (paymasterDeposit[paymaster] <
344
- validationResult.returnInfo.prefund) {
345
- this.logger.trace({
346
- paymaster,
347
- opHash: opInfo.userOperationHash
348
- }, "Paymaster skipped because of insufficient balance left to sponsor all user ops in the bundle");
349
- return {
350
- skip: true,
351
- paymasterDeposit,
352
- stakedEntityCount,
353
- knownEntities,
354
- senders,
355
- storageMap
356
- };
357
- }
358
- stakedEntityCount[paymaster] =
359
- (stakedEntityCount[paymaster] ?? 0) + 1;
360
- paymasterDeposit[paymaster] -= validationResult.returnInfo.prefund;
361
- }
362
- if (factory) {
363
- stakedEntityCount[factory] = (stakedEntityCount[factory] ?? 0) + 1;
364
- }
365
- senders.add(op.sender);
366
- return {
367
- skip: false,
368
- paymasterDeposit,
369
- stakedEntityCount,
370
- knownEntities,
371
- senders,
372
- storageMap
373
- };
374
- }
375
- async process(maxGasLimit, minOps) {
376
- const outstandingUserOperations = this.store.dumpOutstanding().slice();
377
- // Sort userops before the execution
378
- // Decide the order of the userops based on the sender and nonce
379
- // If sender is the same, sort by nonce key
380
- outstandingUserOperations.sort((a, b) => {
381
- const aUserOp = deriveUserOperation(a.mempoolUserOperation);
382
- const bUserOp = deriveUserOperation(b.mempoolUserOperation);
383
- if (aUserOp.sender === bUserOp.sender) {
384
- const [aNonceKey, aNonceValue] = getNonceKeyAndValue(aUserOp.nonce);
385
- const [bNonceKey, bNonceValue] = getNonceKeyAndValue(bUserOp.nonce);
386
- if (aNonceKey === bNonceKey)
387
- return Number(aNonceValue - bNonceValue);
388
- return Number(aNonceKey - bNonceKey);
389
- }
390
- return 0;
391
- });
392
- let opsTaken = 0;
393
- let gasUsed = 0n;
394
- const result = [];
395
- // paymaster deposit should be enough for all UserOps in the bundle.
396
- let paymasterDeposit = {};
397
- // throttled paymasters and factories are allowed only small UserOps per bundle.
398
- let stakedEntityCount = {};
399
- // each sender is allowed only once per bundle
400
- let senders = new Set();
401
- let knownEntities = this.getKnownEntities();
402
- let storageMap = {};
403
- for (const opInfo of outstandingUserOperations) {
404
- const op = deriveUserOperation(opInfo.mempoolUserOperation);
405
- gasUsed +=
406
- op.callGasLimit +
407
- op.verificationGasLimit * 3n +
408
- op.preVerificationGas;
409
- if (gasUsed > maxGasLimit && opsTaken >= (minOps || 0)) {
410
- break;
411
- }
412
- const skipResult = await this.shouldSkip(opInfo, paymasterDeposit, stakedEntityCount, knownEntities, senders, storageMap);
413
- paymasterDeposit = skipResult.paymasterDeposit;
414
- stakedEntityCount = skipResult.stakedEntityCount;
415
- knownEntities = skipResult.knownEntities;
416
- senders = skipResult.senders;
417
- storageMap = skipResult.storageMap;
418
- if (skipResult.skip) {
419
- continue;
420
- }
421
- this.reputationManager.decreaseUserOperationCount(op);
422
- this.store.removeOutstanding(opInfo.userOperationHash);
423
- this.store.addProcessing(opInfo);
424
- result.push(opInfo);
425
- opsTaken++;
426
- }
427
- return result;
428
- }
429
- get(opHash) {
430
- const outstanding = this.store
431
- .dumpOutstanding()
432
- .find((op) => op.userOperationHash === opHash);
433
- if (outstanding) {
434
- return deriveUserOperation(outstanding.mempoolUserOperation);
435
- }
436
- const submitted = this.store
437
- .dumpSubmitted()
438
- .find((op) => op.userOperation.userOperationHash === opHash);
439
- if (submitted) {
440
- return deriveUserOperation(submitted.userOperation.mempoolUserOperation);
441
- }
442
- return null;
443
- }
444
- // For a specfic user operation, get all the queued user operations
445
- // They should be executed first, ordered by nonce value
446
- // If cuurentNonceValue is not provided, it will be fetched from the chain
447
- async getQueuedUserOperations(userOperation, entryPoint, _currentNonceValue) {
448
- const entryPointContract = getContract({
449
- address: entryPoint,
450
- abi: isVersion06(userOperation)
451
- ? EntryPointV06Abi
452
- : EntryPointV07Abi,
453
- client: {
454
- public: this.publicClient
455
- }
456
- });
457
- const [nonceKey, userOperationNonceValue] = getNonceKeyAndValue(userOperation.nonce);
458
- let currentNonceValue = BigInt(0);
459
- if (_currentNonceValue) {
460
- currentNonceValue = _currentNonceValue;
461
- }
462
- else {
463
- const getNonceResult = await entryPointContract.read.getNonce([userOperation.sender, nonceKey], {
464
- blockTag: "latest"
465
- });
466
- currentNonceValue = getNonceKeyAndValue(getNonceResult)[1];
467
- }
468
- const outstanding = this.store
469
- .dumpOutstanding()
470
- .map((userOpInfo) => deriveUserOperation(userOpInfo.mempoolUserOperation))
471
- .filter((uo) => {
472
- const [opNonceKey, opNonceValue] = getNonceKeyAndValue(uo.nonce);
473
- return (uo.sender === userOperation.sender &&
474
- opNonceKey === nonceKey &&
475
- opNonceValue >= currentNonceValue &&
476
- opNonceValue < userOperationNonceValue);
477
- });
478
- outstanding.sort((a, b) => {
479
- const [, aNonceValue] = getNonceKeyAndValue(a.nonce);
480
- const [, bNonceValue] = getNonceKeyAndValue(b.nonce);
481
- return Number(aNonceValue - bNonceValue);
482
- });
483
- return outstanding;
484
- }
485
- clear() {
486
- this.store.clear("outstanding");
487
- }
488
- }
489
- //# sourceMappingURL=mempool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { HexData32, UserOperationStatus } from "../types/index.js";
2
- export declare class Monitor {
3
- private userOperationToStatus;
4
- private userOperationTimeouts;
5
- private timeout;
6
- constructor(timeout?: number);
7
- setUserOperationStatus(userOperation: HexData32, status: UserOperationStatus): void;
8
- getUserOperationStatus(userOperation: HexData32): UserOperationStatus;
9
- }
10
- //# sourceMappingURL=monitoring.d.ts.map
@@ -1,34 +0,0 @@
1
- export class Monitor {
2
- userOperationToStatus;
3
- userOperationTimeouts;
4
- timeout;
5
- constructor(timeout = 60 * 60 * 1000) {
6
- this.timeout = timeout;
7
- this.userOperationToStatus = {};
8
- this.userOperationTimeouts = {};
9
- }
10
- setUserOperationStatus(userOperation, status) {
11
- // Clear existing timer if it exists
12
- if (this.userOperationTimeouts[userOperation]) {
13
- clearTimeout(this.userOperationTimeouts[userOperation]);
14
- }
15
- // Set the user operation status
16
- this.userOperationToStatus[userOperation] = status;
17
- // Set a new timer and store its identifier
18
- this.userOperationTimeouts[userOperation] = setTimeout(() => {
19
- delete this.userOperationToStatus[userOperation];
20
- delete this.userOperationTimeouts[userOperation];
21
- }, this.timeout);
22
- }
23
- getUserOperationStatus(userOperation) {
24
- const status = this.userOperationToStatus[userOperation];
25
- if (status === undefined) {
26
- return {
27
- status: "not_found",
28
- transactionHash: null
29
- };
30
- }
31
- return status;
32
- }
33
- }
34
- //# sourceMappingURL=monitoring.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../mempool/monitoring.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IACR,qBAAqB,CAAwC;IAC7D,qBAAqB,CAAmC;IACxD,OAAO,CAAQ;IAEvB,YAAY,UAAkB,EAAE,GAAG,EAAE,GAAG,IAAI;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAA;QAC/B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAA;IACnC,CAAC;IAEM,sBAAsB,CACzB,aAAwB,EACxB,MAA2B;QAE3B,oCAAoC;QACpC,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,MAAM,CAAA;QAElD,2CAA2C;QAC3C,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxD,OAAO,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;YAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;QACpD,CAAC,EAAE,IAAI,CAAC,OAAO,CAAmB,CAAA;IACtC,CAAC;IAEM,sBAAsB,CACzB,aAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;gBACH,MAAM,EAAE,WAAW;gBACnB,eAAe,EAAE,IAAI;aACxB,CAAA;QACL,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ"}
@@ -1,15 +0,0 @@
1
- import type { MempoolUserOperation, ReferencedCodeHashes, SubmittedUserOperation, TransactionInfo, UserOperation, UserOperationInfo } from "../types/index.js";
2
- export declare class NullMempool {
3
- clear(): void;
4
- dumpOutstanding(): UserOperationInfo[];
5
- removeProcessing(_: `0x${string}`): void;
6
- replaceSubmitted(_: UserOperationInfo, __: TransactionInfo): void;
7
- markSubmitted(_: `0x${string}`, __: TransactionInfo): void;
8
- dumpSubmittedOps(): SubmittedUserOperation[];
9
- dumpProcessing(): UserOperationInfo[];
10
- removeSubmitted(_: `0x${string}`): void;
11
- add(_op: MempoolUserOperation, _referencedContracts?: ReferencedCodeHashes): boolean;
12
- checkEntityMultipleRoleViolation(_op: UserOperation): Promise<void>;
13
- process(_: bigint, __?: number): Promise<MempoolUserOperation[]>;
14
- }
15
- //# sourceMappingURL=nullMempool.d.ts.map
@@ -1,36 +0,0 @@
1
- export class NullMempool {
2
- clear() {
3
- throw new Error("Method not implemented.");
4
- }
5
- dumpOutstanding() {
6
- throw new Error("Method not implemented.");
7
- }
8
- removeProcessing(_) {
9
- throw new Error("Method not implemented.");
10
- }
11
- replaceSubmitted(_, __) {
12
- throw new Error("Method not implemented.");
13
- }
14
- markSubmitted(_, __) {
15
- throw new Error("Method not implemented.");
16
- }
17
- dumpSubmittedOps() {
18
- throw new Error("Method not implemented.");
19
- }
20
- dumpProcessing() {
21
- throw new Error("Method not implemented.");
22
- }
23
- removeSubmitted(_) {
24
- throw new Error("Method not implemented.");
25
- }
26
- add(_op, _referencedContracts) {
27
- return false;
28
- }
29
- checkEntityMultipleRoleViolation(_op) {
30
- return Promise.resolve();
31
- }
32
- process(_, __) {
33
- return Promise.resolve([]);
34
- }
35
- }
36
- //# sourceMappingURL=nullMempool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nullMempool.js","sourceRoot":"","sources":["../../mempool/nullMempool.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,WAAW;IACpB,KAAK;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,eAAe;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,gBAAgB,CAAC,CAAgB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,gBAAgB,CAAC,CAAoB,EAAE,EAAmB;QACtD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,aAAa,CAAC,CAAgB,EAAE,EAAmB;QAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,gBAAgB;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,cAAc;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,eAAe,CAAC,CAAgB;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACD,GAAG,CACC,GAAyB,EACzB,oBAA2C;QAE3C,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,gCAAgC,CAAC,GAAkB;QAC/C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,CAAC,CAAS,EAAE,EAAW;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;CACJ"}