@pimlico/alto 0.0.0-staging.20240606T115633 → 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 (228) 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/types/mempool.d.ts +2 -1
  9. package/package.json +10 -11
  10. package/esm/cli/alto.d.ts +0 -6
  11. package/esm/cli/alto.js +0 -92
  12. package/esm/cli/alto.js.map +0 -1
  13. package/esm/cli/config/bundler.d.ts +0 -391
  14. package/esm/cli/config/bundler.js +0 -132
  15. package/esm/cli/config/bundler.js.map +0 -1
  16. package/esm/cli/config/index.d.ts +0 -3
  17. package/esm/cli/config/index.js +0 -3
  18. package/esm/cli/config/index.js.map +0 -1
  19. package/esm/cli/config/options.d.ts +0 -11
  20. package/esm/cli/config/options.js +0 -336
  21. package/esm/cli/config/options.js.map +0 -1
  22. package/esm/cli/customTransport.d.ts +0 -14
  23. package/esm/cli/customTransport.js +0 -53
  24. package/esm/cli/customTransport.js.map +0 -1
  25. package/esm/cli/handler.d.ts +0 -3
  26. package/esm/cli/handler.js +0 -116
  27. package/esm/cli/handler.js.map +0 -1
  28. package/esm/cli/index.d.ts +0 -4
  29. package/esm/cli/index.js +0 -4
  30. package/esm/cli/index.js.map +0 -1
  31. package/esm/cli/instrumentation.d.ts +0 -2
  32. package/esm/cli/instrumentation.js +0 -39
  33. package/esm/cli/instrumentation.js.map +0 -1
  34. package/esm/cli/setupServer.d.ts +0 -17
  35. package/esm/cli/setupServer.js +0 -155
  36. package/esm/cli/setupServer.js.map +0 -1
  37. package/esm/cli/util.d.ts +0 -22
  38. package/esm/cli/util.js +0 -30
  39. package/esm/cli/util.js.map +0 -1
  40. package/esm/executor/executor.d.ts +0 -54
  41. package/esm/executor/executor.js +0 -637
  42. package/esm/executor/executor.js.map +0 -1
  43. package/esm/executor/executorManager.d.ts +0 -34
  44. package/esm/executor/executorManager.js +0 -401
  45. package/esm/executor/executorManager.js.map +0 -1
  46. package/esm/executor/index.d.ts +0 -5
  47. package/esm/executor/index.js +0 -5
  48. package/esm/executor/index.js.map +0 -1
  49. package/esm/executor/senderManager.d.ts +0 -17
  50. package/esm/executor/senderManager.js +0 -160
  51. package/esm/executor/senderManager.js.map +0 -1
  52. package/esm/executor/test/utils.d.ts +0 -13
  53. package/esm/executor/test/utils.js +0 -75
  54. package/esm/executor/test/utils.js.map +0 -1
  55. package/esm/executor/utils.d.ts +0 -32
  56. package/esm/executor/utils.js +0 -239
  57. package/esm/executor/utils.js.map +0 -1
  58. package/esm/index.d.ts +0 -2
  59. package/esm/index.js +0 -2
  60. package/esm/index.js.map +0 -1
  61. package/esm/mempool/index.d.ts +0 -5
  62. package/esm/mempool/index.js +0 -5
  63. package/esm/mempool/index.js.map +0 -1
  64. package/esm/mempool/mempool.d.ts +0 -64
  65. package/esm/mempool/mempool.js +0 -489
  66. package/esm/mempool/mempool.js.map +0 -1
  67. package/esm/mempool/monitoring.d.ts +0 -10
  68. package/esm/mempool/monitoring.js +0 -34
  69. package/esm/mempool/monitoring.js.map +0 -1
  70. package/esm/mempool/nullMempool.d.ts +0 -15
  71. package/esm/mempool/nullMempool.js +0 -36
  72. package/esm/mempool/nullMempool.js.map +0 -1
  73. package/esm/mempool/reputationManager.d.ts +0 -115
  74. package/esm/mempool/reputationManager.js +0 -397
  75. package/esm/mempool/reputationManager.js.map +0 -1
  76. package/esm/mempool/store.d.ts +0 -22
  77. package/esm/mempool/store.js +0 -123
  78. package/esm/mempool/store.js.map +0 -1
  79. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
  80. package/esm/rpc/EntryPointSimulationsV07.js +0 -407
  81. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  82. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  83. package/esm/rpc/ExecuteSimulator.js +0 -48
  84. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  85. package/esm/rpc/gasEstimation.d.ts +0 -17
  86. package/esm/rpc/gasEstimation.js +0 -410
  87. package/esm/rpc/gasEstimation.js.map +0 -1
  88. package/esm/rpc/index.d.ts +0 -5
  89. package/esm/rpc/index.js +0 -5
  90. package/esm/rpc/index.js.map +0 -1
  91. package/esm/rpc/nonceQueuer.d.ts +0 -25
  92. package/esm/rpc/nonceQueuer.js +0 -135
  93. package/esm/rpc/nonceQueuer.js.map +0 -1
  94. package/esm/rpc/rpcHandler.d.ts +0 -64
  95. package/esm/rpc/rpcHandler.js +0 -727
  96. package/esm/rpc/rpcHandler.js.map +0 -1
  97. package/esm/rpc/server.d.ts +0 -31
  98. package/esm/rpc/server.js +0 -239
  99. package/esm/rpc/server.js.map +0 -1
  100. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  101. package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
  102. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  103. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  104. package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
  105. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  106. package/esm/rpc/validation/SafeValidator.d.ts +0 -35
  107. package/esm/rpc/validation/SafeValidator.js +0 -487
  108. package/esm/rpc/validation/SafeValidator.js.map +0 -1
  109. package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
  110. package/esm/rpc/validation/TracerResultParserV06.js +0 -578
  111. package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
  112. package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
  113. package/esm/rpc/validation/TracerResultParserV07.js +0 -557
  114. package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
  115. package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
  116. package/esm/rpc/validation/UnsafeValidator.js +0 -257
  117. package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
  118. package/esm/rpc/validation/index.d.ts +0 -3
  119. package/esm/rpc/validation/index.js +0 -3
  120. package/esm/rpc/validation/index.js.map +0 -1
  121. package/esm/rpc/validation/tracer.d.ts +0 -122
  122. package/esm/rpc/validation/tracer.js +0 -82
  123. package/esm/rpc/validation/tracer.js.map +0 -1
  124. package/esm/types/contracts/BundleBulker.d.ts +0 -120
  125. package/esm/types/contracts/BundleBulker.js +0 -157
  126. package/esm/types/contracts/BundleBulker.js.map +0 -1
  127. package/esm/types/contracts/CallEngine.d.ts +0 -28
  128. package/esm/types/contracts/CallEngine.js +0 -37
  129. package/esm/types/contracts/CallEngine.js.map +0 -1
  130. package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
  131. package/esm/types/contracts/CodeHashGetter.js +0 -45
  132. package/esm/types/contracts/CodeHashGetter.js.map +0 -1
  133. package/esm/types/contracts/EntryPoint.d.ts +0 -1789
  134. package/esm/types/contracts/EntryPoint.js +0 -2304
  135. package/esm/types/contracts/EntryPoint.js.map +0 -1
  136. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
  137. package/esm/types/contracts/EntryPointSimulations.js +0 -15
  138. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  139. package/esm/types/contracts/IOpInflator.d.ts +0 -61
  140. package/esm/types/contracts/IOpInflator.js +0 -80
  141. package/esm/types/contracts/IOpInflator.js.map +0 -1
  142. package/esm/types/contracts/IPaymaster.d.ts +0 -3
  143. package/esm/types/contracts/IPaymaster.js +0 -117
  144. package/esm/types/contracts/IPaymaster.js.map +0 -1
  145. package/esm/types/contracts/Inflator.d.ts +0 -65
  146. package/esm/types/contracts/Inflator.js +0 -84
  147. package/esm/types/contracts/Inflator.js.map +0 -1
  148. package/esm/types/contracts/PerOpInflator.d.ts +0 -176
  149. package/esm/types/contracts/PerOpInflator.js +0 -229
  150. package/esm/types/contracts/PerOpInflator.js.map +0 -1
  151. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
  152. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
  153. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  154. package/esm/types/contracts/SenderCreator.d.ts +0 -4
  155. package/esm/types/contracts/SenderCreator.js +0 -23
  156. package/esm/types/contracts/SenderCreator.js.map +0 -1
  157. package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
  158. package/esm/types/contracts/SimpleAccountFactory.js +0 -76
  159. package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
  160. package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
  161. package/esm/types/contracts/TestOpcodesAccount.js +0 -281
  162. package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
  163. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  164. package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
  165. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  166. package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
  167. package/esm/types/contracts/TestStorageAccount.js +0 -313
  168. package/esm/types/contracts/TestStorageAccount.js.map +0 -1
  169. package/esm/types/contracts/index.d.ts +0 -17
  170. package/esm/types/contracts/index.js +0 -17
  171. package/esm/types/contracts/index.js.map +0 -1
  172. package/esm/types/gasPrice.d.ts +0 -110
  173. package/esm/types/gasPrice.js +0 -52
  174. package/esm/types/gasPrice.js.map +0 -1
  175. package/esm/types/index.d.ts +0 -11
  176. package/esm/types/index.js +0 -11
  177. package/esm/types/index.js.map +0 -1
  178. package/esm/types/interfaces.d.ts +0 -26
  179. package/esm/types/interfaces.js +0 -2
  180. package/esm/types/interfaces.js.map +0 -1
  181. package/esm/types/mempool.d.ts +0 -78
  182. package/esm/types/mempool.js +0 -16
  183. package/esm/types/mempool.js.map +0 -1
  184. package/esm/types/schemas.d.ts +0 -4791
  185. package/esm/types/schemas.js +0 -497
  186. package/esm/types/schemas.js.map +0 -1
  187. package/esm/types/test/validationTestErrors.d.ts +0 -3
  188. package/esm/types/test/validationTestErrors.js +0 -229
  189. package/esm/types/test/validationTestErrors.js.map +0 -1
  190. package/esm/types/utils.d.ts +0 -24
  191. package/esm/types/utils.js +0 -30
  192. package/esm/types/utils.js.map +0 -1
  193. package/esm/types/validation.d.ts +0 -14327
  194. package/esm/types/validation.js +0 -304
  195. package/esm/types/validation.js.map +0 -1
  196. package/esm/utils/bigInt.d.ts +0 -3
  197. package/esm/utils/bigInt.js +0 -9
  198. package/esm/utils/bigInt.js.map +0 -1
  199. package/esm/utils/compressionHandler.d.ts +0 -11
  200. package/esm/utils/compressionHandler.js +0 -39
  201. package/esm/utils/compressionHandler.js.map +0 -1
  202. package/esm/utils/gasPriceManager.d.ts +0 -34
  203. package/esm/utils/gasPriceManager.js +0 -338
  204. package/esm/utils/gasPriceManager.js.map +0 -1
  205. package/esm/utils/helpers.d.ts +0 -4
  206. package/esm/utils/helpers.js +0 -13
  207. package/esm/utils/helpers.js.map +0 -1
  208. package/esm/utils/index.d.ts +0 -11
  209. package/esm/utils/index.js +0 -10
  210. package/esm/utils/index.js.map +0 -1
  211. package/esm/utils/logger.d.ts +0 -6
  212. package/esm/utils/logger.js +0 -76
  213. package/esm/utils/logger.js.map +0 -1
  214. package/esm/utils/metrics.d.ts +0 -22
  215. package/esm/utils/metrics.js +0 -150
  216. package/esm/utils/metrics.js.map +0 -1
  217. package/esm/utils/rpc-reply.d.ts +0 -17
  218. package/esm/utils/rpc-reply.js +0 -41
  219. package/esm/utils/rpc-reply.js.map +0 -1
  220. package/esm/utils/test.d.ts +0 -17
  221. package/esm/utils/test.js +0 -130
  222. package/esm/utils/test.js.map +0 -1
  223. package/esm/utils/userop.d.ts +0 -49
  224. package/esm/utils/userop.js +0 -408
  225. package/esm/utils/userop.js.map +0 -1
  226. package/esm/utils/validation.d.ts +0 -65
  227. package/esm/utils/validation.js +0 -461
  228. 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"}