@pimlico/alto 0.0.0-main.20250916T162729 → 0.0.0-main.20250930T125129
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.
- package/esm/cli/config/bundler.d.ts +12 -0
- package/esm/cli/config/bundler.js +2 -0
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +11 -0
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/setupServer.js +1 -1
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/cli/shutDown.js +15 -55
- package/esm/cli/shutDown.js.map +1 -1
- package/esm/executor/bundleManager.d.ts +1 -1
- package/esm/executor/bundleManager.js +47 -34
- package/esm/executor/bundleManager.js.map +1 -1
- package/esm/executor/executorManager.js +3 -4
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/senderManager/createRedisSenderManager.js +1 -2
- package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
- package/esm/handlers/arbitrumGasPriceManager.js +2 -2
- package/esm/handlers/gasPriceManager.js +3 -3
- package/esm/handlers/mantleGasPriceManager.js +4 -4
- package/esm/handlers/optimismManager.js +1 -1
- package/esm/mempool/mempool.d.ts +3 -11
- package/esm/mempool/mempool.js +91 -93
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/monitoring.d.ts +1 -1
- package/esm/mempool/monitoring.js +30 -21
- package/esm/mempool/monitoring.js.map +1 -1
- package/esm/receiptCache/createMemoryReceiptCache.js +8 -5
- package/esm/receiptCache/createMemoryReceiptCache.js.map +1 -1
- package/esm/receiptCache/createRedisReceiptCache.js +13 -11
- package/esm/receiptCache/createRedisReceiptCache.js.map +1 -1
- package/esm/receiptCache/index.d.ts +4 -1
- package/esm/receiptCache/index.js.map +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +4 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/store/createMempoolStore.d.ts +1 -1
- package/esm/store/createMempoolStore.js +51 -143
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/index.d.ts +4 -75
- package/esm/store/index.js +4 -1
- package/esm/store/index.js.map +1 -1
- package/esm/store/outstanding/index.d.ts +13 -0
- package/esm/store/outstanding/index.js +16 -0
- package/esm/store/outstanding/index.js.map +1 -0
- package/esm/store/{createMemoryOutstandingStore.d.ts → outstanding/memory.d.ts} +11 -10
- package/esm/store/outstanding/memory.js +249 -0
- package/esm/store/outstanding/memory.js.map +1 -0
- package/esm/store/outstanding/redis.d.ts +11 -0
- package/esm/store/outstanding/redis.js +201 -0
- package/esm/store/outstanding/redis.js.map +1 -0
- package/esm/store/outstanding/types.d.ts +18 -0
- package/esm/store/outstanding/types.js +2 -0
- package/esm/store/outstanding/types.js.map +1 -0
- package/esm/store/processing/index.d.ts +11 -0
- package/esm/store/processing/index.js +17 -0
- package/esm/store/processing/index.js.map +1 -0
- package/esm/store/processing/memory.d.ts +14 -0
- package/esm/store/processing/memory.js +46 -0
- package/esm/store/processing/memory.js.map +1 -0
- package/esm/store/processing/redis.d.ts +21 -0
- package/esm/store/processing/redis.js +69 -0
- package/esm/store/processing/redis.js.map +1 -0
- package/esm/store/processing/types.d.ts +9 -0
- package/esm/store/processing/types.js +2 -0
- package/esm/store/processing/types.js.map +1 -0
- package/esm/store/types.d.ts +49 -0
- package/esm/store/types.js +2 -0
- package/esm/store/types.js.map +1 -0
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +23 -2
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +83 -60
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
- package/esm/utils/minMaxQueue/index.d.ts +2 -2
- package/esm/utils/minMaxQueue/index.js +2 -2
- package/esm/utils/minMaxQueue/index.js.map +1 -1
- package/esm/utils/userop.d.ts +1 -0
- package/esm/utils/userop.js +6 -0
- package/esm/utils/userop.js.map +1 -1
- package/package.json +1 -1
- package/esm/cli/config/redisKeys.d.ts +0 -9
- package/esm/cli/config/redisKeys.js +0 -16
- package/esm/cli/config/redisKeys.js.map +0 -1
- package/esm/store/createMemoryOutstandingStore.js +0 -240
- package/esm/store/createMemoryOutstandingStore.js.map +0 -1
- package/esm/store/createRedisOutstandingStore.d.ts +0 -28
- package/esm/store/createRedisOutstandingStore.js +0 -341
- package/esm/store/createRedisOutstandingStore.js.map +0 -1
- package/esm/store/createRedisStore.d.ts +0 -10
- package/esm/store/createRedisStore.js +0 -128
- package/esm/store/createRedisStore.js.map +0 -1
- package/esm/store/createStore.d.ts +0 -6
- package/esm/store/createStore.js +0 -66
- package/esm/store/createStore.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMempoolStore.js","sourceRoot":"","sources":["../../store/createMempoolStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createMempoolStore.js","sourceRoot":"","sources":["../../store/createMempoolStore.ts"],"names":[],"mappings":"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"}
|
package/esm/store/index.d.ts
CHANGED
|
@@ -1,76 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
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
|
package/esm/store/index.js
CHANGED
package/esm/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../store/index.ts"],"names":[],"mappings":"
|
|
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 "
|
|
2
|
-
import type {
|
|
3
|
-
import type { AltoConfig } from "
|
|
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
|
-
|
|
17
|
-
|
|
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(
|
|
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=
|
|
29
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { getNonceKeyAndSequence, isDeployment, isVersion07 } from "../../utils/userop.js";
|
|
2
|
+
const senderNonceSlot = (userOp) => {
|
|
3
|
+
const sender = userOp.sender;
|
|
4
|
+
const [nonceKey] = getNonceKeyAndSequence(userOp.nonce);
|
|
5
|
+
return `${sender}-${nonceKey}`;
|
|
6
|
+
};
|
|
7
|
+
export class MemoryOutstanding {
|
|
8
|
+
config;
|
|
9
|
+
pendingOps = new Map();
|
|
10
|
+
priorityQueue = [];
|
|
11
|
+
hashLookup = new Map();
|
|
12
|
+
logger;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.config = config;
|
|
15
|
+
// Setup args for getting userOpHash
|
|
16
|
+
this.logger = config.getLogger({ module: "memory-outstanding-queue" }, {
|
|
17
|
+
level: config.logLevel
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
dump() {
|
|
21
|
+
return [...Array.from(this.pendingOps.values()).flat()];
|
|
22
|
+
}
|
|
23
|
+
// Adds userOp to queue and maintains sorting by gas price.
|
|
24
|
+
addToPriorityQueue(userOpInfo) {
|
|
25
|
+
this.priorityQueue.push(userOpInfo);
|
|
26
|
+
this.priorityQueue.sort((a, b) => {
|
|
27
|
+
const userOpA = a.userOp;
|
|
28
|
+
const userOpB = b.userOp;
|
|
29
|
+
return Number(userOpA.maxFeePerGas - userOpB.maxFeePerGas);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
validateQueuedLimit(userOp) {
|
|
33
|
+
const outstandingOps = this.dump();
|
|
34
|
+
const parallelUserOpsCount = outstandingOps.filter((userOpInfo) => {
|
|
35
|
+
const { userOp: mempoolUserOp } = userOpInfo;
|
|
36
|
+
return mempoolUserOp.sender === userOp.sender;
|
|
37
|
+
}).length;
|
|
38
|
+
if (parallelUserOpsCount > this.config.mempoolMaxParallelOps) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
validateParallelLimit(userOp) {
|
|
44
|
+
const outstandingOps = this.dump();
|
|
45
|
+
const [nonceKey] = getNonceKeyAndSequence(userOp.nonce);
|
|
46
|
+
const queuedUserOpsCount = outstandingOps.filter((userOpInfo) => {
|
|
47
|
+
const { userOp: mempoolUserOp } = userOpInfo;
|
|
48
|
+
const [opNonceKey] = getNonceKeyAndSequence(mempoolUserOp.nonce);
|
|
49
|
+
return (mempoolUserOp.sender === userOp.sender &&
|
|
50
|
+
opNonceKey === nonceKey);
|
|
51
|
+
}).length;
|
|
52
|
+
if (queuedUserOpsCount > this.config.mempoolMaxQueuedOps) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
async popConflicting(userOp) {
|
|
58
|
+
const outstandingOps = this.dump();
|
|
59
|
+
let conflictingReason;
|
|
60
|
+
for (const userOpInfo of outstandingOps) {
|
|
61
|
+
const { userOp: mempoolUserOp } = userOpInfo;
|
|
62
|
+
const isSameSender = mempoolUserOp.sender === userOp.sender;
|
|
63
|
+
if (isSameSender && mempoolUserOp.nonce === userOp.nonce) {
|
|
64
|
+
const removed = await this.remove([userOpInfo.userOpHash]);
|
|
65
|
+
if (removed.length > 0) {
|
|
66
|
+
conflictingReason = {
|
|
67
|
+
reason: "conflicting_nonce",
|
|
68
|
+
userOpInfo: removed[0]
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
const isConflictingDeployment = isSameSender &&
|
|
74
|
+
isDeployment(userOp) &&
|
|
75
|
+
isDeployment(mempoolUserOp);
|
|
76
|
+
if (isConflictingDeployment) {
|
|
77
|
+
const removed = await this.remove([userOpInfo.userOpHash]);
|
|
78
|
+
if (removed.length > 0) {
|
|
79
|
+
conflictingReason = {
|
|
80
|
+
reason: "conflicting_deployment",
|
|
81
|
+
userOpInfo: removed[0]
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return conflictingReason;
|
|
88
|
+
}
|
|
89
|
+
async contains(userOpHash) {
|
|
90
|
+
return this.hashLookup.has(userOpHash);
|
|
91
|
+
}
|
|
92
|
+
pop(count) {
|
|
93
|
+
const results = [];
|
|
94
|
+
for (let i = 0; i < count; i++) {
|
|
95
|
+
const userOpInfo = this.priorityQueue.shift();
|
|
96
|
+
if (!userOpInfo) {
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
const pendingOpsSlot = senderNonceSlot(userOpInfo.userOp);
|
|
100
|
+
const backlogOps = this.pendingOps.get(pendingOpsSlot);
|
|
101
|
+
// This should never throw.
|
|
102
|
+
if (!backlogOps?.shift()) {
|
|
103
|
+
throw new Error("FATAL: No pending userOps for sender");
|
|
104
|
+
}
|
|
105
|
+
// Move next pending userOp into priorityQueue if exist.
|
|
106
|
+
if (backlogOps.length > 0) {
|
|
107
|
+
this.addToPriorityQueue(backlogOps[0]);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Cleanup if no more ops for this slot
|
|
111
|
+
this.pendingOps.delete(pendingOpsSlot);
|
|
112
|
+
}
|
|
113
|
+
// Remove from hash lookup
|
|
114
|
+
this.hashLookup.delete(userOpInfo.userOpHash);
|
|
115
|
+
results.push(userOpInfo);
|
|
116
|
+
}
|
|
117
|
+
return Promise.resolve(results);
|
|
118
|
+
}
|
|
119
|
+
async add(userOpInfos) {
|
|
120
|
+
if (userOpInfos.length === 0)
|
|
121
|
+
return;
|
|
122
|
+
for (const userOpInfo of userOpInfos) {
|
|
123
|
+
const { userOp, userOpHash } = userOpInfo;
|
|
124
|
+
const [nonceKey] = getNonceKeyAndSequence(userOp.nonce);
|
|
125
|
+
const pendingOpsSlot = senderNonceSlot(userOp);
|
|
126
|
+
const backlogOps = (() => {
|
|
127
|
+
if (this.pendingOps.has(pendingOpsSlot)) {
|
|
128
|
+
return this.pendingOps.get(pendingOpsSlot);
|
|
129
|
+
}
|
|
130
|
+
this.pendingOps.set(pendingOpsSlot, []);
|
|
131
|
+
return this.pendingOps.get(pendingOpsSlot);
|
|
132
|
+
})();
|
|
133
|
+
if (!backlogOps) {
|
|
134
|
+
throw new Error("FATAL: No pending operations found for userOpHash");
|
|
135
|
+
}
|
|
136
|
+
// Note: the userOpInfo is always added to backlogOps, because we are pushing to a reference
|
|
137
|
+
backlogOps.push(userOpInfo);
|
|
138
|
+
// Add to hash lookup for O(1) contains checks
|
|
139
|
+
this.hashLookup.set(userOpHash, userOpInfo);
|
|
140
|
+
// Sort backlogOps by nonce sequence
|
|
141
|
+
backlogOps.sort((a, b) => {
|
|
142
|
+
const [, aNonceSeq] = getNonceKeyAndSequence(a.userOp.nonce);
|
|
143
|
+
const [, bNonceSeq] = getNonceKeyAndSequence(b.userOp.nonce);
|
|
144
|
+
return Number(aNonceSeq - bNonceSeq);
|
|
145
|
+
});
|
|
146
|
+
const lowestUserOpHash = backlogOps[0].userOpHash;
|
|
147
|
+
// If lowest, remove any existing userOp with same sender and nonceKey and add current userOp to priorityQueue.
|
|
148
|
+
if (lowestUserOpHash === userOpHash) {
|
|
149
|
+
this.priorityQueue = this.priorityQueue.filter((userOpInfo) => {
|
|
150
|
+
const pendingUserOp = userOpInfo.userOp;
|
|
151
|
+
const isSameSender = pendingUserOp.sender === userOp.sender;
|
|
152
|
+
const isSameNonceKey = getNonceKeyAndSequence(pendingUserOp.nonce)[0] ===
|
|
153
|
+
nonceKey;
|
|
154
|
+
return !(isSameSender && isSameNonceKey);
|
|
155
|
+
});
|
|
156
|
+
this.addToPriorityQueue(userOpInfo);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async getQueuedUserOps(userOp) {
|
|
161
|
+
const [nonceKey, nonceSequence] = getNonceKeyAndSequence(userOp.nonce);
|
|
162
|
+
const outstandingOps = this.dump();
|
|
163
|
+
const outstanding = outstandingOps.filter((userOpInfo) => {
|
|
164
|
+
const { userOp: mempoolUserOp } = userOpInfo;
|
|
165
|
+
const [mempoolNonceKey, mempoolNonceSequence] = getNonceKeyAndSequence(mempoolUserOp.nonce);
|
|
166
|
+
let isPaymasterSame = false;
|
|
167
|
+
if (isVersion07(userOp) && isVersion07(mempoolUserOp)) {
|
|
168
|
+
isPaymasterSame =
|
|
169
|
+
mempoolUserOp.paymaster === userOp.paymaster &&
|
|
170
|
+
!(mempoolUserOp.sender === userOp.sender &&
|
|
171
|
+
mempoolNonceKey === nonceKey &&
|
|
172
|
+
mempoolNonceSequence === nonceSequence) &&
|
|
173
|
+
userOp.paymaster !== null;
|
|
174
|
+
}
|
|
175
|
+
// Filter operations with the same sender and nonce key
|
|
176
|
+
// but with a lower nonce sequence
|
|
177
|
+
return ((mempoolUserOp.sender === userOp.sender &&
|
|
178
|
+
mempoolNonceKey === nonceKey &&
|
|
179
|
+
mempoolNonceSequence < nonceSequence) ||
|
|
180
|
+
isPaymasterSame);
|
|
181
|
+
});
|
|
182
|
+
return outstanding
|
|
183
|
+
.sort((a, b) => {
|
|
184
|
+
const aUserOp = a.userOp;
|
|
185
|
+
const bUserOp = b.userOp;
|
|
186
|
+
const [, aNonceValue] = getNonceKeyAndSequence(aUserOp.nonce);
|
|
187
|
+
const [, bNonceValue] = getNonceKeyAndSequence(bUserOp.nonce);
|
|
188
|
+
return Number(aNonceValue - bNonceValue);
|
|
189
|
+
})
|
|
190
|
+
.map((userOpInfo) => userOpInfo.userOp);
|
|
191
|
+
}
|
|
192
|
+
async remove(userOpHashes) {
|
|
193
|
+
if (userOpHashes.length === 0) {
|
|
194
|
+
return [];
|
|
195
|
+
}
|
|
196
|
+
const removedOps = [];
|
|
197
|
+
for (const userOpHash of userOpHashes) {
|
|
198
|
+
// Look up userOp in hash lookup first
|
|
199
|
+
const userOpInfo = this.hashLookup.get(userOpHash);
|
|
200
|
+
if (!userOpInfo) {
|
|
201
|
+
this.logger.info(`tried to remove non-existent user op from mempool: ${userOpHash}`);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const pendingOpsSlot = senderNonceSlot(userOpInfo.userOp);
|
|
205
|
+
// Find and remove from pending ops
|
|
206
|
+
const backlogOps = this.pendingOps.get(pendingOpsSlot);
|
|
207
|
+
if (!backlogOps) {
|
|
208
|
+
throw new Error(`FATAL: No pending operations found for userOpHash ${userOpHash}`);
|
|
209
|
+
}
|
|
210
|
+
const backlogIndex = backlogOps.findIndex((info) => info.userOpHash === userOpHash);
|
|
211
|
+
if (backlogIndex === -1) {
|
|
212
|
+
throw new Error(`FATAL: UserOp with hash ${userOpHash} not found in backlog`);
|
|
213
|
+
}
|
|
214
|
+
backlogOps.splice(backlogIndex, 1);
|
|
215
|
+
// Remove from priority queue if present
|
|
216
|
+
const priorityQueueIndex = this.priorityQueue.findIndex((info) => info.userOpHash === userOpHash);
|
|
217
|
+
if (priorityQueueIndex !== -1) {
|
|
218
|
+
this.priorityQueue.splice(priorityQueueIndex, 1);
|
|
219
|
+
}
|
|
220
|
+
// Remove from hash lookup
|
|
221
|
+
this.hashLookup.delete(userOpHash);
|
|
222
|
+
// If this was the first operation and there are more in the backlog,
|
|
223
|
+
// add the new first operation to the priority queue
|
|
224
|
+
if (backlogIndex === 0 && backlogOps.length > 0) {
|
|
225
|
+
this.addToPriorityQueue(backlogOps[0]);
|
|
226
|
+
}
|
|
227
|
+
// Clean up empty slot
|
|
228
|
+
if (backlogOps.length === 0) {
|
|
229
|
+
this.pendingOps.delete(pendingOpsSlot);
|
|
230
|
+
}
|
|
231
|
+
removedOps.push(userOpInfo);
|
|
232
|
+
}
|
|
233
|
+
return removedOps;
|
|
234
|
+
}
|
|
235
|
+
dumpLocal() {
|
|
236
|
+
return Promise.resolve(this.dump());
|
|
237
|
+
}
|
|
238
|
+
clear() {
|
|
239
|
+
this.priorityQueue = [];
|
|
240
|
+
this.pendingOps.clear();
|
|
241
|
+
this.hashLookup.clear();
|
|
242
|
+
return Promise.resolve();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
export const createMemoryOutstandingQueue = ({ config, logger }) => {
|
|
246
|
+
logger.info("Using memory for outstanding mempool");
|
|
247
|
+
return new MemoryOutstanding(config);
|
|
248
|
+
};
|
|
249
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../store/outstanding/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Address } from "../../types/index.js";
|
|
2
|
+
import type { Logger } from "pino";
|
|
3
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
4
|
+
import type { OutstandingStore } from "./types.js";
|
|
5
|
+
export declare const createRedisOutstandingQueue: ({ config, entryPoint, redisEndpoint, logger }: {
|
|
6
|
+
config: AltoConfig;
|
|
7
|
+
entryPoint: Address;
|
|
8
|
+
redisEndpoint: string;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
}) => OutstandingStore;
|
|
11
|
+
//# sourceMappingURL=redis.d.ts.map
|