@pimlico/alto 0.0.0-main.20250916T162729 → 0.0.0-main.20251001T162733

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 (99) hide show
  1. package/esm/cli/config/bundler.d.ts +12 -0
  2. package/esm/cli/config/bundler.js +2 -0
  3. package/esm/cli/config/bundler.js.map +1 -1
  4. package/esm/cli/config/options.js +11 -0
  5. package/esm/cli/config/options.js.map +1 -1
  6. package/esm/cli/setupServer.js +1 -1
  7. package/esm/cli/setupServer.js.map +1 -1
  8. package/esm/cli/shutDown.js +15 -55
  9. package/esm/cli/shutDown.js.map +1 -1
  10. package/esm/executor/bundleManager.d.ts +1 -1
  11. package/esm/executor/bundleManager.js +47 -34
  12. package/esm/executor/bundleManager.js.map +1 -1
  13. package/esm/executor/executorManager.js +3 -4
  14. package/esm/executor/executorManager.js.map +1 -1
  15. package/esm/executor/senderManager/createRedisSenderManager.js +1 -2
  16. package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
  17. package/esm/handlers/arbitrumGasPriceManager.js +2 -2
  18. package/esm/handlers/gasPriceManager.js +3 -3
  19. package/esm/handlers/mantleGasPriceManager.js +4 -4
  20. package/esm/handlers/optimismManager.js +1 -1
  21. package/esm/mempool/mempool.d.ts +3 -11
  22. package/esm/mempool/mempool.js +93 -96
  23. package/esm/mempool/mempool.js.map +1 -1
  24. package/esm/mempool/monitoring.d.ts +1 -1
  25. package/esm/mempool/monitoring.js +30 -21
  26. package/esm/mempool/monitoring.js.map +1 -1
  27. package/esm/receiptCache/createMemoryReceiptCache.js +8 -5
  28. package/esm/receiptCache/createMemoryReceiptCache.js.map +1 -1
  29. package/esm/receiptCache/createRedisReceiptCache.js +13 -11
  30. package/esm/receiptCache/createRedisReceiptCache.js.map +1 -1
  31. package/esm/receiptCache/index.d.ts +4 -1
  32. package/esm/receiptCache/index.js.map +1 -1
  33. package/esm/rpc/methods/eth_sendUserOperation.js +6 -7
  34. package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
  35. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +8 -11
  36. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  37. package/esm/store/createMempoolStore.d.ts +1 -1
  38. package/esm/store/createMempoolStore.js +51 -143
  39. package/esm/store/createMempoolStore.js.map +1 -1
  40. package/esm/store/index.d.ts +4 -75
  41. package/esm/store/index.js +4 -1
  42. package/esm/store/index.js.map +1 -1
  43. package/esm/store/outstanding/index.d.ts +13 -0
  44. package/esm/store/outstanding/index.js +16 -0
  45. package/esm/store/outstanding/index.js.map +1 -0
  46. package/esm/store/{createMemoryOutstandingStore.d.ts → outstanding/memory.d.ts} +11 -10
  47. package/esm/store/outstanding/memory.js +249 -0
  48. package/esm/store/outstanding/memory.js.map +1 -0
  49. package/esm/store/outstanding/redis.d.ts +11 -0
  50. package/esm/store/outstanding/redis.js +201 -0
  51. package/esm/store/outstanding/redis.js.map +1 -0
  52. package/esm/store/outstanding/types.d.ts +18 -0
  53. package/esm/store/outstanding/types.js +2 -0
  54. package/esm/store/outstanding/types.js.map +1 -0
  55. package/esm/store/processing/index.d.ts +11 -0
  56. package/esm/store/processing/index.js +17 -0
  57. package/esm/store/processing/index.js.map +1 -0
  58. package/esm/store/processing/memory.d.ts +14 -0
  59. package/esm/store/processing/memory.js +46 -0
  60. package/esm/store/processing/memory.js.map +1 -0
  61. package/esm/store/processing/redis.d.ts +21 -0
  62. package/esm/store/processing/redis.js +69 -0
  63. package/esm/store/processing/redis.js.map +1 -0
  64. package/esm/store/processing/types.d.ts +9 -0
  65. package/esm/store/processing/types.js +2 -0
  66. package/esm/store/processing/types.js.map +1 -0
  67. package/esm/store/types.d.ts +49 -0
  68. package/esm/store/types.js +2 -0
  69. package/esm/store/types.js.map +1 -0
  70. package/esm/utils/helpers.d.ts +0 -1
  71. package/esm/utils/helpers.js +1 -8
  72. package/esm/utils/helpers.js.map +1 -1
  73. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +23 -2
  74. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +83 -60
  75. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
  76. package/esm/utils/minMaxQueue/index.d.ts +2 -2
  77. package/esm/utils/minMaxQueue/index.js +2 -2
  78. package/esm/utils/minMaxQueue/index.js.map +1 -1
  79. package/esm/utils/preVerificationGasCalulator.d.ts +0 -2
  80. package/esm/utils/preVerificationGasCalulator.js +2 -2
  81. package/esm/utils/preVerificationGasCalulator.js.map +1 -1
  82. package/esm/utils/userop.d.ts +4 -50
  83. package/esm/utils/userop.js +61 -196
  84. package/esm/utils/userop.js.map +1 -1
  85. package/package.json +1 -1
  86. package/esm/cli/config/redisKeys.d.ts +0 -9
  87. package/esm/cli/config/redisKeys.js +0 -16
  88. package/esm/cli/config/redisKeys.js.map +0 -1
  89. package/esm/store/createMemoryOutstandingStore.js +0 -240
  90. package/esm/store/createMemoryOutstandingStore.js.map +0 -1
  91. package/esm/store/createRedisOutstandingStore.d.ts +0 -28
  92. package/esm/store/createRedisOutstandingStore.js +0 -341
  93. package/esm/store/createRedisOutstandingStore.js.map +0 -1
  94. package/esm/store/createRedisStore.d.ts +0 -10
  95. package/esm/store/createRedisStore.js +0 -128
  96. package/esm/store/createRedisStore.js.map +0 -1
  97. package/esm/store/createStore.d.ts +0 -6
  98. package/esm/store/createStore.js +0 -66
  99. package/esm/store/createStore.js.map +0 -1
@@ -1,8 +1,5 @@
1
+ import { createOutstandingQueue, createProcessingStore } from "./index.js";
1
2
  import * as sentry from "@sentry/node";
2
- import { createMemoryOutstandingQueue } from "./createMemoryOutstandingStore.js";
3
- import { createRedisOutstandingQueue } from "./createRedisOutstandingStore.js";
4
- import { createRedisStore } from "./createRedisStore.js";
5
- import { createMemoryStore } from "./createStore.js";
6
3
  export const createMempoolStore = ({ config, metrics }) => {
7
4
  const logger = config.getLogger({ module: "mempool-store" }, {
8
5
  level: config.logLevel
@@ -17,59 +14,20 @@ export const createMempoolStore = ({ config, metrics }) => {
17
14
  return handlers;
18
15
  };
19
16
  for (const entryPoint of config.entrypoints) {
20
- let outstanding;
21
- let processing;
22
- let submitted;
23
- if (config.enableHorizontalScaling && config.redisEndpoint) {
24
- outstanding = createRedisOutstandingQueue({
25
- config,
26
- entryPoint,
27
- redisEndpoint: config.redisEndpoint
28
- });
29
- processing = createRedisStore({
30
- config,
31
- entryPoint,
32
- storeType: "processing",
33
- redisEndpoint: config.redisEndpoint
34
- });
35
- submitted = createRedisStore({
36
- config,
37
- entryPoint,
38
- storeType: "submitted",
39
- redisEndpoint: config.redisEndpoint
40
- });
41
- // Log the Redis keys being used
42
- const outstandingKey = `${config.chainId}:outstanding:pending-queue:${entryPoint}`;
43
- const processingKey = `${config.chainId}:processing:*:${entryPoint}`;
44
- const submittedKey = `${config.chainId}:submitted:*:${entryPoint}`;
45
- logger.info({
46
- outstandingKey,
47
- processingKey,
48
- submittedKey
49
- }, "Using redis for outstanding, processing, submitted mempools with keys");
50
- }
51
- else {
52
- outstanding = createMemoryOutstandingQueue({
53
- config
54
- });
55
- processing = createMemoryStore({
56
- config
57
- });
58
- submitted = createMemoryStore({
59
- config
60
- });
61
- logger.info("Using memory for outstanding, processing, submitted mempools");
62
- }
17
+ const outstanding = createOutstandingQueue({
18
+ config,
19
+ entryPoint,
20
+ logger
21
+ });
22
+ const processing = createProcessingStore({
23
+ config,
24
+ entryPoint
25
+ });
63
26
  storeHandlers.set(entryPoint, {
64
- processing,
65
- submitted,
66
- outstanding
27
+ outstanding,
28
+ processing
67
29
  });
68
30
  }
69
- const logAddOperation = (userOpHash, storeType) => {
70
- logger.debug({ userOpHash, store: storeType }, `added user op to ${storeType} mempool`);
71
- metrics.userOpsInMempool.labels({ status: storeType }).inc();
72
- };
73
31
  const logRemoveOperation = (userOpHash, storeType, removed) => {
74
32
  if (!removed) {
75
33
  logger.warn({ userOpHash, store: storeType }, "tried to remove non-existent user op from mempool");
@@ -85,71 +43,36 @@ export const createMempoolStore = ({ config, metrics }) => {
85
43
  };
86
44
  return {
87
45
  // Methods used for bundling
88
- popOutstanding: async (entryPoint) => {
89
- try {
90
- const { outstanding } = getStoreHandlers(entryPoint);
91
- return await outstanding.pop();
92
- }
93
- catch (err) {
94
- logger.error({ err }, "Failed to pop from outstanding mempool, defaulting to undefined");
95
- sentry.captureException(err);
96
- return undefined;
97
- }
98
- },
99
- peekOutstanding: async (entryPoint) => {
46
+ popOutstanding: async (entryPoint, count) => {
100
47
  try {
101
48
  const { outstanding } = getStoreHandlers(entryPoint);
102
- return await outstanding.peek();
49
+ return await outstanding.pop(count);
103
50
  }
104
51
  catch (err) {
105
- logger.error({ err }, "Failed to peek from outstanding mempool, defaulting to undefined");
52
+ logger.error({ err }, "Failed to pop from outstanding mempool, defaulting to empty array");
106
53
  sentry.captureException(err);
107
- return undefined;
54
+ return [];
108
55
  }
109
56
  },
110
57
  // State handling
111
- addOutstanding: async ({ entryPoint, userOpInfo }) => {
58
+ addOutstanding: async ({ entryPoint, userOpInfos }) => {
112
59
  const { outstanding } = getStoreHandlers(entryPoint);
113
- logAddOperation(userOpInfo.userOpHash, "outstanding");
60
+ metrics.userOpsInMempool
61
+ .labels({ status: "outstanding" })
62
+ .inc(userOpInfos.length);
114
63
  try {
115
- await outstanding.add(userOpInfo);
64
+ await outstanding.add(userOpInfos);
116
65
  }
117
66
  catch (err) {
118
67
  logger.error({ err }, "Failed to add to outstanding mempool");
119
68
  sentry.captureException(err);
120
69
  }
121
70
  },
122
- addProcessing: ({ entryPoint, userOpInfo }) => {
123
- try {
124
- const { processing } = getStoreHandlers(entryPoint);
125
- logAddOperation(userOpInfo.userOpHash, "processing");
126
- processing.add(userOpInfo);
127
- return Promise.resolve();
128
- }
129
- catch (err) {
130
- logger.error({ err }, "Failed to add to processing mempool");
131
- sentry.captureException(err);
132
- return Promise.resolve();
133
- }
134
- },
135
- addSubmitted: ({ entryPoint, userOpInfo }) => {
136
- try {
137
- const { submitted } = getStoreHandlers(entryPoint);
138
- logAddOperation(userOpInfo.userOpHash, "submitted");
139
- submitted.add(userOpInfo);
140
- return Promise.resolve();
141
- }
142
- catch (err) {
143
- logger.error({ err }, "Failed to add to submitted mempool");
144
- sentry.captureException(err);
145
- return Promise.resolve();
146
- }
147
- },
148
71
  removeOutstanding: async ({ entryPoint, userOpHash }) => {
149
72
  try {
150
73
  const { outstanding } = getStoreHandlers(entryPoint);
151
- const removed = await outstanding.remove(userOpHash);
152
- logRemoveOperation(userOpHash, "outstanding", removed);
74
+ const removed = await outstanding.remove([userOpHash]);
75
+ logRemoveOperation(userOpHash, "outstanding", removed.length > 0);
153
76
  }
154
77
  catch (err) {
155
78
  logger.error({ err }, "Failed to remove from outstanding mempool");
@@ -157,69 +80,54 @@ export const createMempoolStore = ({ config, metrics }) => {
157
80
  return Promise.resolve();
158
81
  }
159
82
  },
160
- removeProcessing: async ({ entryPoint, userOpHash }) => {
83
+ dumpOutstanding: async (entryPoint) => {
84
+ const { outstanding } = getStoreHandlers(entryPoint);
85
+ logDumpOperation("outstanding");
86
+ return await outstanding.dumpLocal();
87
+ },
88
+ // Methods to mark/unmark userOps that are being processed.
89
+ addProcessing: async ({ entryPoint, userOpInfo }) => {
161
90
  try {
162
91
  const { processing } = getStoreHandlers(entryPoint);
163
- const removed = await processing.remove(userOpHash);
164
- logRemoveOperation(userOpHash, "processing", removed);
92
+ await processing.addProcessing(userOpInfo);
165
93
  }
166
94
  catch (err) {
167
- logger.error({ err }, "Failed to remove from processing mempool");
95
+ logger.error({ err }, "Failed to track active userOp");
168
96
  sentry.captureException(err);
169
- return Promise.resolve();
170
97
  }
171
98
  },
172
- removeSubmitted: async ({ entryPoint, userOpHash }) => {
99
+ removeProcessing: async ({ entryPoint, userOpInfo }) => {
173
100
  try {
174
- const { submitted } = getStoreHandlers(entryPoint);
175
- const removed = await submitted.remove(userOpHash);
176
- logRemoveOperation(userOpHash, "submitted", removed);
101
+ const { processing } = getStoreHandlers(entryPoint);
102
+ await processing.removeProcessing(userOpInfo);
177
103
  }
178
104
  catch (err) {
179
- logger.error({ err }, "Failed to remove from submitted mempool");
105
+ logger.error({ err }, "Failed to untrack active userOp");
180
106
  sentry.captureException(err);
181
- return Promise.resolve();
182
107
  }
183
108
  },
184
- dumpOutstanding: async (entryPoint) => {
185
- const { outstanding } = getStoreHandlers(entryPoint);
186
- logDumpOperation("outstanding");
187
- return await outstanding.dumpLocal();
188
- },
189
- dumpProcessing: async (entryPoint) => {
190
- const { processing } = getStoreHandlers(entryPoint);
191
- logDumpOperation("processing");
192
- return await processing.dumpLocal();
193
- },
194
- dumpSubmitted: async (entryPoint) => {
195
- const { submitted } = getStoreHandlers(entryPoint);
196
- logDumpOperation("submitted");
197
- return await submitted.dumpLocal();
198
- },
199
- // Check if the userOp is already in the mempool
200
- isInMempool: async ({ userOpHash, entryPoint }) => {
201
- const { outstanding, processing, submitted } = getStoreHandlers(entryPoint);
202
- const [inOutstanding, inProcessing, inSubmitted] = await Promise.all([
109
+ // Check if the userOp is already in the mempool or conflicts with existing userOps.
110
+ checkDuplicatesAndConflicts: async ({ entryPoint, userOp, userOpHash }) => {
111
+ const { outstanding, processing } = getStoreHandlers(entryPoint);
112
+ const [isInOutstanding, isInProcessing, wouldConflict] = await Promise.all([
203
113
  outstanding.contains(userOpHash),
204
- processing.contains(userOpHash),
205
- submitted.contains(userOpHash)
114
+ processing.isProcessing(userOpHash),
115
+ processing.wouldConflict(userOp)
206
116
  ]);
207
- return inOutstanding || inProcessing || inSubmitted;
208
- },
209
- validateSubmittedOrProcessing: async ({ entryPoint, userOp }) => {
210
- const { submitted, processing } = getStoreHandlers(entryPoint);
211
- const [submittedConflict, processingConflict] = await Promise.all([
212
- submitted.findConflicting(userOp),
213
- processing.findConflicting(userOp)
214
- ]);
215
- const conflicting = submittedConflict || processingConflict;
216
- if (conflicting?.reason === "conflicting_nonce") {
117
+ // Check if already known (in outstanding or processing).
118
+ if (isInOutstanding || isInProcessing) {
119
+ return {
120
+ valid: false,
121
+ reason: "Already known"
122
+ };
123
+ }
124
+ if (wouldConflict === "nonce_conflict") {
217
125
  return {
218
126
  valid: false,
219
127
  reason: "AA25 invalid account nonce: Another UserOperation with same sender and nonce is already being processed"
220
128
  };
221
129
  }
222
- if (conflicting?.reason === "conflicting_deployment") {
130
+ if (wouldConflict === "deployment_conflict") {
223
131
  return {
224
132
  valid: false,
225
133
  reason: "AA25 invalid account deployment: Another deployment operation for this sender is already being processed"
@@ -1 +1 @@
1
- {"version":3,"file":"createMempoolStore.js","sourceRoot":"","sources":["../../store/createMempoolStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMempoolStore.js","sourceRoot":"","sources":["../../store/createMempoolStore.ts"],"names":[],"mappings":"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"}
@@ -1,76 +1,5 @@
1
- import type { Address, HexData32, UserOpInfo, UserOperation } from "../types/index.js";
2
- export type StoreType = "outstanding" | "processing" | "submitted";
3
- export type ConflictingOutstandingType = {
4
- reason: "conflicting_nonce" | "conflicting_deployment";
5
- userOpInfo: UserOpInfo;
6
- } | undefined;
7
- export type ConflictingStoreType = {
8
- reason: "conflicting_nonce" | "conflicting_deployment";
9
- userOp: UserOperation;
10
- } | undefined;
11
- type ValidationResult = {
12
- valid: true;
13
- } | {
14
- valid: false;
15
- reason: string;
16
- };
17
- export type EntryPointUserOpInfoParam = {
18
- entryPoint: Address;
19
- userOpInfo: UserOpInfo;
20
- };
21
- export type EntryPointUserOpHashParam = {
22
- entryPoint: Address;
23
- userOpHash: HexData32;
24
- };
25
- export type EntryPointUserOpParam = {
26
- userOp: UserOperation;
27
- entryPoint: Address;
28
- };
29
- export type MempoolStore = {
30
- peekOutstanding: (entryPoint: Address) => Promise<UserOpInfo | undefined>;
31
- popOutstanding: (entryPoint: Address) => Promise<UserOpInfo | undefined>;
32
- addOutstanding: (args: EntryPointUserOpInfoParam) => Promise<void>;
33
- addProcessing: (args: EntryPointUserOpInfoParam) => Promise<void>;
34
- addSubmitted: (args: EntryPointUserOpInfoParam) => Promise<void>;
35
- removeOutstanding: (args: EntryPointUserOpHashParam) => Promise<void>;
36
- removeProcessing: (args: EntryPointUserOpHashParam) => Promise<void>;
37
- removeSubmitted: (args: EntryPointUserOpHashParam) => Promise<void>;
38
- dumpOutstanding: (entryPoint: Address) => Promise<UserOpInfo[]>;
39
- dumpProcessing: (entryPoint: Address) => Promise<UserOpInfo[]>;
40
- dumpSubmitted: (entryPoint: Address) => Promise<UserOpInfo[]>;
41
- isInMempool: (args: EntryPointUserOpHashParam) => Promise<boolean>;
42
- popConflictingOustanding: (args: {
43
- entryPoint: Address;
44
- userOp: UserOperation;
45
- }) => Promise<ConflictingOutstandingType>;
46
- validateSubmittedOrProcessing: (args: EntryPointUserOpParam) => Promise<ValidationResult>;
47
- validateSenderLimits: (args: {
48
- entryPoint: Address;
49
- userOp: UserOperation;
50
- }) => Promise<ValidationResult>;
51
- getQueuedOutstandingUserOps: (args: {
52
- userOp: UserOperation;
53
- entryPoint: Address;
54
- }) => Promise<UserOperation[]>;
55
- clearOutstanding: (entryPoint: Address) => Promise<void>;
56
- };
57
- export type BaseStore = {
58
- add: (op: UserOpInfo) => Promise<void>;
59
- remove: (userOpHash: HexData32) => Promise<boolean>;
60
- contains: (userOpHash: HexData32) => Promise<boolean>;
61
- dumpLocal: () => Promise<UserOpInfo[]>;
62
- };
63
- export type Store = BaseStore & {
64
- findConflicting: (args: UserOperation) => Promise<ConflictingStoreType>;
65
- };
66
- export type OutstandingStore = BaseStore & {
67
- clear: () => Promise<void>;
68
- popConflicting: (args: UserOperation) => Promise<ConflictingOutstandingType>;
69
- validateQueuedLimit: (userOp: UserOperation) => boolean;
70
- validateParallelLimit: (userOp: UserOperation) => boolean;
71
- getQueuedUserOps: (userOp: UserOperation) => Promise<UserOperation[]>;
72
- peek: () => Promise<UserOpInfo | undefined>;
73
- pop: () => Promise<UserOpInfo | undefined>;
74
- };
75
- export { createMempoolStore } from "./createMempoolStore.js";
1
+ export * from "./types.js";
2
+ export * from "./outstanding/index.js";
3
+ export * from "./processing/index.js";
4
+ export * from "./createMempoolStore.js";
76
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
- export { createMempoolStore } from "./createMempoolStore.js";
1
+ export * from "./types.js";
2
+ export * from "./outstanding/index.js";
3
+ export * from "./processing/index.js";
4
+ export * from "./createMempoolStore.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../store/index.ts"],"names":[],"mappings":"AA0GA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../store/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type OutstandingStore } from "../index.js";
2
+ import type { Logger } from "../../utils/index.js";
3
+ import type { Address } from "viem";
4
+ import type { AltoConfig } from "../../createConfig.js";
5
+ export declare const createOutstandingQueue: ({ config, entryPoint, logger }: {
6
+ config: AltoConfig;
7
+ entryPoint: Address;
8
+ logger: Logger;
9
+ }) => OutstandingStore;
10
+ export * from "./types.js";
11
+ export * from "./memory.js";
12
+ export * from "./redis.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { createMemoryOutstandingQueue, createRedisOutstandingQueue } from "../index.js";
2
+ export const createOutstandingQueue = ({ config, entryPoint, logger }) => {
3
+ if (config.enableHorizontalScaling && config.redisEndpoint) {
4
+ return createRedisOutstandingQueue({
5
+ config,
6
+ entryPoint,
7
+ redisEndpoint: config.redisEndpoint,
8
+ logger
9
+ });
10
+ }
11
+ return createMemoryOutstandingQueue({ config, logger });
12
+ };
13
+ export * from "./types.js";
14
+ export * from "./memory.js";
15
+ export * from "./redis.js";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../store/outstanding/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,4BAA4B,EAC5B,2BAA2B,EAC9B,MAAM,aAAa,CAAA;AAKpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACnC,MAAM,EACN,UAAU,EACV,MAAM,EAKT,EAAoB,EAAE;IACnB,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,2BAA2B,CAAC;YAC/B,MAAM;YACN,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM;SACT,CAAC,CAAA;IACN,CAAC;IACD,OAAO,4BAA4B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
@@ -1,10 +1,12 @@
1
- import type { HexData32, UserOpInfo, UserOperation } from "../types/index.js";
2
- import type { ConflictingOutstandingType, OutstandingStore } from "./index.js";
3
- import type { AltoConfig } from "../createConfig.js";
1
+ import type { HexData32, UserOpInfo, UserOperation } from "../../types/index.js";
2
+ import type { Logger } from "../../utils/index.js";
3
+ import type { AltoConfig } from "../../createConfig.js";
4
+ import type { ConflictingOutstandingType, OutstandingStore } from "./types.js";
4
5
  export declare class MemoryOutstanding implements OutstandingStore {
5
6
  private config;
6
7
  private pendingOps;
7
8
  private priorityQueue;
9
+ private hashLookup;
8
10
  private logger;
9
11
  constructor(config: AltoConfig);
10
12
  private dump;
@@ -13,16 +15,15 @@ export declare class MemoryOutstanding implements OutstandingStore {
13
15
  validateParallelLimit(userOp: UserOperation): boolean;
14
16
  popConflicting(userOp: UserOperation): Promise<ConflictingOutstandingType>;
15
17
  contains(userOpHash: HexData32): Promise<boolean>;
16
- peek(): Promise<UserOpInfo | undefined>;
17
- pop(): Promise<UserOpInfo | undefined>;
18
- add(userOpInfo: UserOpInfo): Promise<void>;
18
+ pop(count: number): Promise<UserOpInfo[]>;
19
+ add(userOpInfos: UserOpInfo[]): Promise<void>;
19
20
  getQueuedUserOps(userOp: UserOperation): Promise<UserOperation[]>;
20
- remove(userOpHash: HexData32): Promise<boolean>;
21
+ remove(userOpHashes: HexData32[]): Promise<UserOpInfo[]>;
21
22
  dumpLocal(): Promise<UserOpInfo[]>;
22
23
  clear(): Promise<void>;
23
- findConflicting(userOp: UserOperation): Promise<ConflictingOutstandingType>;
24
24
  }
25
- export declare const createMemoryOutstandingQueue: ({ config }: {
25
+ export declare const createMemoryOutstandingQueue: ({ config, logger }: {
26
26
  config: AltoConfig;
27
+ logger: Logger;
27
28
  }) => OutstandingStore;
28
- //# sourceMappingURL=createMemoryOutstandingStore.d.ts.map
29
+ //# sourceMappingURL=memory.d.ts.map