@pimlico/alto 0.0.4 → 0.0.6
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/alto.js +0 -4
- package/esm/cli/alto.js.map +1 -1
- package/esm/cli/config/bundler.d.ts +2296 -22
- package/esm/cli/config/bundler.js +31 -4
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +53 -4
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/customTransport.js +5 -1
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/cli/handler.js +14 -3
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/instrumentation.js +2 -2
- package/esm/cli/instrumentation.js.map +1 -1
- package/esm/cli/setupServer.d.ts +2 -1
- package/esm/cli/setupServer.js +51 -27
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/executor/executor.d.ts +7 -14
- package/esm/executor/executor.js +139 -128
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +58 -4
- package/esm/executor/executorManager.js +207 -53
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/senderManager.d.ts +2 -1
- package/esm/executor/senderManager.js +3 -0
- package/esm/executor/senderManager.js.map +1 -1
- package/esm/executor/utilityWalletMonitor.d.ts +15 -0
- package/esm/executor/utilityWalletMonitor.js +38 -0
- package/esm/executor/utilityWalletMonitor.js.map +1 -0
- package/esm/executor/utils.d.ts +1 -2
- package/esm/executor/utils.js +49 -38
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/compressionHandler.js.map +1 -0
- package/esm/handlers/eventManager.d.ts +21 -0
- package/esm/handlers/eventManager.js +166 -0
- package/esm/handlers/eventManager.js.map +1 -0
- package/{lib/utils → esm/handlers}/gasPriceManager.d.ts +19 -5
- package/esm/{utils → handlers}/gasPriceManager.js +58 -13
- package/esm/handlers/gasPriceManager.js.map +1 -0
- package/esm/handlers/index.d.ts +4 -0
- package/esm/handlers/index.js +4 -0
- package/esm/handlers/index.js.map +1 -0
- package/esm/mempool/index.d.ts +0 -1
- package/esm/mempool/index.js +0 -1
- package/esm/mempool/index.js.map +1 -1
- package/esm/mempool/mempool.d.ts +4 -2
- package/esm/mempool/mempool.js +65 -19
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/EntryPointSimulationsV07.d.ts +2 -2
- package/esm/rpc/EntryPointSimulationsV07.js +10 -7
- package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/esm/rpc/gasEstimation.d.ts +3 -3
- package/esm/rpc/gasEstimation.js +22 -17
- package/esm/rpc/gasEstimation.js.map +1 -1
- package/esm/rpc/nonceQueuer.d.ts +4 -1
- package/esm/rpc/nonceQueuer.js +9 -3
- package/esm/rpc/nonceQueuer.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +53 -3
- package/esm/rpc/rpcHandler.js +132 -231
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/server.d.ts +2 -1
- package/esm/rpc/server.js +6 -1
- package/esm/rpc/server.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +3 -2
- package/esm/rpc/validation/SafeValidator.js +2 -2
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +5 -2
- package/esm/rpc/validation/UnsafeValidator.js +10 -6
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/rpc/validation/tracer.js +1 -0
- package/esm/rpc/validation/tracer.js.map +1 -1
- package/esm/types/schemas.d.ts +1029 -333
- package/esm/types/schemas.js +94 -20
- package/esm/types/schemas.js.map +1 -1
- package/esm/types/utils.d.ts +1 -1
- package/esm/types/validation.js +7 -2
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/bigInt.d.ts +1 -0
- package/esm/utils/bigInt.js +4 -0
- package/esm/utils/bigInt.js.map +1 -1
- package/esm/utils/helpers.d.ts +1 -0
- package/esm/utils/helpers.js +6 -0
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/index.d.ts +0 -3
- package/esm/utils/index.js +0 -3
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/metrics.d.ts +4 -0
- package/esm/utils/metrics.js +29 -1
- package/esm/utils/metrics.js.map +1 -1
- package/esm/utils/rpc-reply.d.ts +1 -1
- package/esm/utils/rpc-reply.js +2 -1
- package/esm/utils/rpc-reply.js.map +1 -1
- package/esm/utils/userop.d.ts +66 -6
- package/esm/utils/userop.js +183 -96
- package/esm/utils/userop.js.map +1 -1
- package/esm/utils/validation.d.ts +1 -1
- package/esm/utils/validation.js +9 -13
- package/esm/utils/validation.js.map +1 -1
- package/lib/cli/alto.js +0 -4
- package/lib/cli/alto.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +2296 -22
- package/lib/cli/config/bundler.js +30 -3
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +53 -4
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/customTransport.js +5 -1
- package/lib/cli/customTransport.js.map +1 -1
- package/lib/cli/handler.js +13 -2
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/instrumentation.js +2 -2
- package/lib/cli/instrumentation.js.map +1 -1
- package/lib/cli/setupServer.d.ts +2 -1
- package/lib/cli/setupServer.js +52 -28
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/executor/executor.d.ts +7 -14
- package/lib/executor/executor.js +138 -128
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.d.ts +58 -4
- package/lib/executor/executorManager.js +205 -51
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/senderManager.d.ts +2 -1
- package/lib/executor/senderManager.js +3 -0
- package/lib/executor/senderManager.js.map +1 -1
- package/lib/executor/utilityWalletMonitor.d.ts +15 -0
- package/lib/executor/utilityWalletMonitor.js +42 -0
- package/lib/executor/utilityWalletMonitor.js.map +1 -0
- package/lib/executor/utils.d.ts +1 -2
- package/lib/executor/utils.js +48 -37
- package/lib/executor/utils.js.map +1 -1
- package/lib/handlers/compressionHandler.js.map +1 -0
- package/lib/handlers/eventManager.d.ts +21 -0
- package/lib/handlers/eventManager.js +196 -0
- package/lib/handlers/eventManager.js.map +1 -0
- package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
- package/lib/{utils → handlers}/gasPriceManager.js +58 -13
- package/lib/handlers/gasPriceManager.js.map +1 -0
- package/lib/handlers/index.d.ts +4 -0
- package/lib/handlers/index.js +20 -0
- package/lib/handlers/index.js.map +1 -0
- package/lib/mempool/index.d.ts +0 -1
- package/lib/mempool/index.js +0 -1
- package/lib/mempool/index.js.map +1 -1
- package/lib/mempool/mempool.d.ts +4 -2
- package/lib/mempool/mempool.js +65 -19
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/rpc/EntryPointSimulationsV07.d.ts +2 -2
- package/lib/rpc/EntryPointSimulationsV07.js +10 -7
- package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/lib/rpc/gasEstimation.d.ts +3 -3
- package/lib/rpc/gasEstimation.js +22 -17
- package/lib/rpc/gasEstimation.js.map +1 -1
- package/lib/rpc/nonceQueuer.d.ts +4 -1
- package/lib/rpc/nonceQueuer.js +9 -3
- package/lib/rpc/nonceQueuer.js.map +1 -1
- package/lib/rpc/rpcHandler.d.ts +53 -3
- package/lib/rpc/rpcHandler.js +129 -251
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.d.ts +2 -1
- package/lib/rpc/server.js +6 -1
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.d.ts +3 -2
- package/lib/rpc/validation/SafeValidator.js +2 -2
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +5 -2
- package/lib/rpc/validation/UnsafeValidator.js +33 -6
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/rpc/validation/tracer.js +1 -0
- package/lib/rpc/validation/tracer.js.map +1 -1
- package/lib/types/schemas.d.ts +1029 -333
- package/lib/types/schemas.js +93 -19
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/utils.d.ts +1 -1
- package/lib/types/validation.js +7 -2
- package/lib/types/validation.js.map +1 -1
- package/lib/utils/bigInt.d.ts +1 -0
- package/lib/utils/bigInt.js +6 -1
- package/lib/utils/bigInt.js.map +1 -1
- package/lib/utils/helpers.d.ts +1 -0
- package/lib/utils/helpers.js +8 -1
- package/lib/utils/helpers.js.map +1 -1
- package/lib/utils/index.d.ts +0 -3
- package/lib/utils/index.js +0 -3
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/metrics.d.ts +4 -0
- package/lib/utils/metrics.js +29 -1
- package/lib/utils/metrics.js.map +1 -1
- package/lib/utils/rpc-reply.d.ts +1 -1
- package/lib/utils/rpc-reply.js +2 -1
- package/lib/utils/rpc-reply.js.map +1 -1
- package/lib/utils/userop.d.ts +66 -6
- package/lib/utils/userop.js +208 -96
- package/lib/utils/userop.js.map +1 -1
- package/lib/utils/validation.d.ts +1 -1
- package/lib/utils/validation.js +9 -36
- package/lib/utils/validation.js.map +1 -1
- package/package.json +15 -14
- package/esm/executor/test/utils.d.ts +0 -13
- package/esm/executor/test/utils.js +0 -75
- package/esm/executor/test/utils.js.map +0 -1
- package/esm/mempool/nullMempool.d.ts +0 -15
- package/esm/mempool/nullMempool.js +0 -36
- package/esm/mempool/nullMempool.js.map +0 -1
- package/esm/types/test/validationTestErrors.d.ts +0 -3
- package/esm/types/test/validationTestErrors.js +0 -229
- package/esm/types/test/validationTestErrors.js.map +0 -1
- package/esm/utils/compressionHandler.js.map +0 -1
- package/esm/utils/gasPriceManager.js.map +0 -1
- package/esm/utils/test.d.ts +0 -17
- package/esm/utils/test.js +0 -130
- package/esm/utils/test.js.map +0 -1
- package/lib/executor/test/utils.d.ts +0 -13
- package/lib/executor/test/utils.js +0 -81
- package/lib/executor/test/utils.js.map +0 -1
- package/lib/mempool/nullMempool.d.ts +0 -15
- package/lib/mempool/nullMempool.js +0 -40
- package/lib/mempool/nullMempool.js.map +0 -1
- package/lib/types/test/validationTestErrors.d.ts +0 -3
- package/lib/types/test/validationTestErrors.js +0 -232
- package/lib/types/test/validationTestErrors.js.map +0 -1
- package/lib/utils/compressionHandler.js.map +0 -1
- package/lib/utils/gasPriceManager.js.map +0 -1
- package/lib/utils/test.d.ts +0 -17
- package/lib/utils/test.js +0 -161
- package/lib/utils/test.js.map +0 -1
- /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
- /package/esm/{utils → handlers}/compressionHandler.js +0 -0
- /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
- /package/lib/{utils → handlers}/compressionHandler.js +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Metrics, Logger
|
|
1
|
+
import type { Metrics, Logger } from "../utils/index.js";
|
|
2
|
+
import type { EventManager, GasPriceManager } from "../handlers/index.js";
|
|
2
3
|
import type { InterfaceReputationManager, MemoryMempool, Monitor } from "../mempool/index.js";
|
|
3
|
-
import { type BundlingMode, type MempoolUserOperation, type TransactionInfo } from "../types/index.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type BundlingMode, type HexData32, type MempoolUserOperation, type TransactionInfo } from "../types/index.js";
|
|
5
|
+
import { type Address, type Block, type Chain, type Hash, type PublicClient, type Transport } from "viem";
|
|
5
6
|
import type { Executor } from "./executor.js";
|
|
6
7
|
export declare class ExecutorManager {
|
|
7
8
|
private entryPoints;
|
|
@@ -19,7 +20,10 @@ export declare class ExecutorManager {
|
|
|
19
20
|
private bundlerFrequency;
|
|
20
21
|
private maxGasLimitPerBundle;
|
|
21
22
|
private gasPriceManager;
|
|
22
|
-
|
|
23
|
+
private eventManager;
|
|
24
|
+
private aa95ResubmitMultiplier;
|
|
25
|
+
rpcMaxBlockRange: number | undefined;
|
|
26
|
+
constructor(executor: Executor, entryPoints: Address[], mempool: MemoryMempool, monitor: Monitor, reputationManager: InterfaceReputationManager, publicClient: PublicClient<Transport, Chain>, pollingInterval: number, logger: Logger, metrics: Metrics, bundleMode: BundlingMode, bundlerFrequency: number, maxGasLimitPerBundle: bigint, gasPriceManager: GasPriceManager, eventManager: EventManager, aa95ResubmitMultiplier: bigint, rpcMaxBlockRange: number | undefined);
|
|
23
27
|
setBundlingMode(bundleMode: BundlingMode): void;
|
|
24
28
|
bundleNow(): Promise<Hash[]>;
|
|
25
29
|
sendToExecutor(entryPoint: Address, mempoolOps: MempoolUserOperation[]): Promise<`0x${string}` | undefined>;
|
|
@@ -27,6 +31,56 @@ export declare class ExecutorManager {
|
|
|
27
31
|
startWatchingBlocks(handleBlock: (block: Block) => void): void;
|
|
28
32
|
stopWatchingBlocks(): void;
|
|
29
33
|
private refreshTransactionStatus;
|
|
34
|
+
checkFrontrun({ userOperationHash, transactionHash, blockNumber }: {
|
|
35
|
+
userOperationHash: HexData32;
|
|
36
|
+
transactionHash: Hash;
|
|
37
|
+
blockNumber: bigint;
|
|
38
|
+
}): void;
|
|
39
|
+
getUserOperationReceipt(userOperationHash: HexData32): Promise<{
|
|
40
|
+
sender: `0x${string}`;
|
|
41
|
+
nonce: bigint;
|
|
42
|
+
userOpHash: `0x${string}`;
|
|
43
|
+
success: boolean;
|
|
44
|
+
actualGasCost: bigint;
|
|
45
|
+
actualGasUsed: bigint;
|
|
46
|
+
entryPoint: `0x${string}`;
|
|
47
|
+
logs: {
|
|
48
|
+
address: `0x${string}`;
|
|
49
|
+
data: `0x${string}`;
|
|
50
|
+
blockNumber: bigint;
|
|
51
|
+
blockHash: `0x${string}`;
|
|
52
|
+
transactionHash: `0x${string}`;
|
|
53
|
+
logIndex: bigint;
|
|
54
|
+
transactionIndex: bigint;
|
|
55
|
+
topics: `0x${string}`[];
|
|
56
|
+
}[];
|
|
57
|
+
receipt: {
|
|
58
|
+
to: `0x${string}` | null;
|
|
59
|
+
gasUsed: bigint;
|
|
60
|
+
status: bigint | null;
|
|
61
|
+
blockNumber: bigint;
|
|
62
|
+
blockHash: `0x${string}`;
|
|
63
|
+
transactionHash: `0x${string}`;
|
|
64
|
+
transactionIndex: bigint;
|
|
65
|
+
from: `0x${string}`;
|
|
66
|
+
cumulativeGasUsed: bigint;
|
|
67
|
+
contractAddress: `0x${string}` | null;
|
|
68
|
+
logs: {
|
|
69
|
+
address: `0x${string}`;
|
|
70
|
+
data: `0x${string}`;
|
|
71
|
+
blockNumber: bigint;
|
|
72
|
+
blockHash: `0x${string}`;
|
|
73
|
+
transactionHash: `0x${string}`;
|
|
74
|
+
logIndex: bigint;
|
|
75
|
+
transactionIndex: bigint;
|
|
76
|
+
topics: `0x${string}`[];
|
|
77
|
+
}[];
|
|
78
|
+
logsBloom: string;
|
|
79
|
+
effectiveGasPrice?: bigint | null | undefined;
|
|
80
|
+
};
|
|
81
|
+
paymaster?: `0x${string}` | undefined;
|
|
82
|
+
reason?: `0x${string}` | undefined;
|
|
83
|
+
} | null>;
|
|
30
84
|
refreshUserOperationStatuses(): Promise<void>;
|
|
31
85
|
handleBlock(block: Block): Promise<void>;
|
|
32
86
|
replaceTransaction(txInfo: TransactionInfo, reason: string): Promise<void>;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExecutorManager = void 0;
|
|
4
4
|
const types_1 = require("../types/index.js");
|
|
5
5
|
const utils_1 = require("../utils/index.js");
|
|
6
|
+
const viem_1 = require("viem");
|
|
6
7
|
function getTransactionsFromUserOperationEntries(entries) {
|
|
7
8
|
return Array.from(new Set(entries.map((entry) => {
|
|
8
9
|
return entry.transactionInfo;
|
|
@@ -24,7 +25,10 @@ class ExecutorManager {
|
|
|
24
25
|
bundlerFrequency;
|
|
25
26
|
maxGasLimitPerBundle;
|
|
26
27
|
gasPriceManager;
|
|
27
|
-
|
|
28
|
+
eventManager;
|
|
29
|
+
aa95ResubmitMultiplier;
|
|
30
|
+
rpcMaxBlockRange;
|
|
31
|
+
constructor(executor, entryPoints, mempool, monitor, reputationManager, publicClient, pollingInterval, logger, metrics, bundleMode, bundlerFrequency, maxGasLimitPerBundle, gasPriceManager, eventManager, aa95ResubmitMultiplier, rpcMaxBlockRange) {
|
|
28
32
|
this.entryPoints = entryPoints;
|
|
29
33
|
this.reputationManager = reputationManager;
|
|
30
34
|
this.executor = executor;
|
|
@@ -37,6 +41,9 @@ class ExecutorManager {
|
|
|
37
41
|
this.bundlerFrequency = bundlerFrequency;
|
|
38
42
|
this.maxGasLimitPerBundle = maxGasLimitPerBundle;
|
|
39
43
|
this.gasPriceManager = gasPriceManager;
|
|
44
|
+
this.eventManager = eventManager;
|
|
45
|
+
this.aa95ResubmitMultiplier = aa95ResubmitMultiplier;
|
|
46
|
+
this.rpcMaxBlockRange = rpcMaxBlockRange;
|
|
40
47
|
if (bundleMode === "auto") {
|
|
41
48
|
this.timer = setInterval(async () => {
|
|
42
49
|
await this.bundle();
|
|
@@ -98,12 +105,19 @@ class ExecutorManager {
|
|
|
98
105
|
}
|
|
99
106
|
for (const bundle of bundles) {
|
|
100
107
|
const isBundleSuccess = bundle.every((result) => result.status === "success");
|
|
108
|
+
const isBundleResubmit = bundle.every((result) => result.status === "resubmit");
|
|
109
|
+
const isBundleFailed = bundle.every((result) => result.status === "failure");
|
|
101
110
|
if (isBundleSuccess) {
|
|
102
111
|
this.metrics.bundlesSubmitted
|
|
103
112
|
.labels({ status: "success" })
|
|
104
113
|
.inc();
|
|
105
114
|
}
|
|
106
|
-
|
|
115
|
+
if (isBundleResubmit) {
|
|
116
|
+
this.metrics.bundlesSubmitted
|
|
117
|
+
.labels({ status: "resubmit" })
|
|
118
|
+
.inc();
|
|
119
|
+
}
|
|
120
|
+
if (isBundleFailed) {
|
|
107
121
|
this.metrics.bundlesSubmitted.labels({ status: "failed" }).inc();
|
|
108
122
|
}
|
|
109
123
|
}
|
|
@@ -120,7 +134,6 @@ class ExecutorManager {
|
|
|
120
134
|
if (result.status === "success") {
|
|
121
135
|
const res = result.value;
|
|
122
136
|
this.mempool.markSubmitted(res.userOperation.userOperationHash, res.transactionInfo);
|
|
123
|
-
// this.monitoredTransactions.set(result.transactionInfo.transactionHash, result.transactionInfo)
|
|
124
137
|
this.monitor.setUserOperationStatus(res.userOperation.userOperationHash, {
|
|
125
138
|
status: "submitted",
|
|
126
139
|
transactionHash: res.transactionInfo.transactionHash
|
|
@@ -132,15 +145,17 @@ class ExecutorManager {
|
|
|
132
145
|
.inc();
|
|
133
146
|
}
|
|
134
147
|
if (result.status === "failure") {
|
|
135
|
-
|
|
136
|
-
this.
|
|
148
|
+
const { userOpHash, reason } = result.error;
|
|
149
|
+
this.mempool.removeProcessing(userOpHash);
|
|
150
|
+
this.eventManager.emitDropped(userOpHash, reason, (0, utils_1.getAAError)(reason));
|
|
151
|
+
this.monitor.setUserOperationStatus(userOpHash, {
|
|
137
152
|
status: "rejected",
|
|
138
153
|
transactionHash: null
|
|
139
154
|
});
|
|
140
155
|
this.logger.warn({
|
|
141
156
|
userOperation: JSON.stringify(result.error.userOperation, (_k, v) => typeof v === "bigint" ? v.toString() : v),
|
|
142
|
-
userOpHash
|
|
143
|
-
reason
|
|
157
|
+
userOpHash,
|
|
158
|
+
reason
|
|
144
159
|
}, "user operation rejected");
|
|
145
160
|
this.metrics.userOperationsSubmitted
|
|
146
161
|
.labels({ status: "failed" })
|
|
@@ -161,7 +176,7 @@ class ExecutorManager {
|
|
|
161
176
|
async bundle() {
|
|
162
177
|
const opsToBundle = [];
|
|
163
178
|
while (true) {
|
|
164
|
-
const ops = await this.mempool.process(
|
|
179
|
+
const ops = await this.mempool.process(this.maxGasLimitPerBundle, 1);
|
|
165
180
|
if (ops?.length > 0) {
|
|
166
181
|
opsToBundle.push(ops);
|
|
167
182
|
}
|
|
@@ -227,66 +242,205 @@ class ExecutorManager {
|
|
|
227
242
|
this.unWatch = undefined;
|
|
228
243
|
}
|
|
229
244
|
}
|
|
245
|
+
// update the current status of the bundling transaction/s
|
|
230
246
|
async refreshTransactionStatus(entryPoint, transactionInfo) {
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
|
|
247
|
+
const { transactionHash: currentTransactionHash, userOperationInfos: opInfos, previousTransactionHashes, isVersion06 } = transactionInfo;
|
|
248
|
+
const txHashesToCheck = [
|
|
249
|
+
currentTransactionHash,
|
|
250
|
+
...previousTransactionHashes
|
|
234
251
|
];
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
status.transactionStatuses.status === "reverted");
|
|
246
|
-
if (!status) {
|
|
247
|
-
opInfos.map((info) => {
|
|
252
|
+
const transactionDetails = await Promise.all(txHashesToCheck.map(async (transactionHash) => ({
|
|
253
|
+
transactionHash,
|
|
254
|
+
...(await (0, utils_1.getBundleStatus)(isVersion06, transactionHash, this.publicClient, this.logger, entryPoint))
|
|
255
|
+
})));
|
|
256
|
+
// first check if bundling txs returns status "mined", if not, check for reverted
|
|
257
|
+
const mined = transactionDetails.find(({ bundlingStatus }) => bundlingStatus.status === "included");
|
|
258
|
+
const reverted = transactionDetails.find(({ bundlingStatus }) => bundlingStatus.status === "reverted");
|
|
259
|
+
const finalizedTransaction = mined ?? reverted;
|
|
260
|
+
if (!finalizedTransaction) {
|
|
261
|
+
for (const { userOperationHash } of opInfos) {
|
|
248
262
|
this.logger.trace({
|
|
249
|
-
|
|
250
|
-
|
|
263
|
+
userOperationHash,
|
|
264
|
+
currentTransactionHash
|
|
251
265
|
}, "user op still pending");
|
|
252
|
-
}
|
|
266
|
+
}
|
|
253
267
|
return;
|
|
254
268
|
}
|
|
269
|
+
const { bundlingStatus, transactionHash, blockNumber } = finalizedTransaction;
|
|
255
270
|
this.metrics.userOperationsOnChain
|
|
256
|
-
.labels({ status:
|
|
271
|
+
.labels({ status: bundlingStatus.status })
|
|
257
272
|
.inc(opInfos.length);
|
|
258
|
-
if (
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
this.
|
|
264
|
-
this.
|
|
273
|
+
if (bundlingStatus.status === "included") {
|
|
274
|
+
const { userOperationDetails } = bundlingStatus;
|
|
275
|
+
opInfos.map((opInfo) => {
|
|
276
|
+
const { mempoolUserOperation: mUserOperation, userOperationHash: userOpHash, entryPoint, firstSubmitted } = opInfo;
|
|
277
|
+
const opDetails = userOperationDetails[userOpHash];
|
|
278
|
+
this.metrics.userOperationInclusionDuration.observe((Date.now() - firstSubmitted) / 1000);
|
|
279
|
+
this.mempool.removeSubmitted(userOpHash);
|
|
280
|
+
this.reputationManager.updateUserOperationIncludedStatus((0, types_1.deriveUserOperation)(mUserOperation), entryPoint, opDetails.accountDeployed);
|
|
281
|
+
if (opDetails.status === "succesful") {
|
|
282
|
+
this.eventManager.emitIncludedOnChain(userOpHash, transactionHash, blockNumber);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
this.eventManager.emitExecutionRevertedOnChain(userOpHash, transactionHash, opDetails.revertReason || "0x", blockNumber);
|
|
286
|
+
}
|
|
287
|
+
this.monitor.setUserOperationStatus(userOpHash, {
|
|
265
288
|
status: "included",
|
|
266
|
-
transactionHash
|
|
289
|
+
transactionHash
|
|
267
290
|
});
|
|
268
291
|
this.logger.info({
|
|
269
|
-
userOpHash
|
|
270
|
-
transactionHash
|
|
292
|
+
userOpHash,
|
|
293
|
+
transactionHash
|
|
271
294
|
}, "user op included");
|
|
272
295
|
});
|
|
273
296
|
this.executor.markWalletProcessed(transactionInfo.executor);
|
|
274
297
|
}
|
|
275
|
-
else if (
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
this.
|
|
284
|
-
userOpHash: info.userOperationHash,
|
|
285
|
-
transactionHash: status.hash
|
|
286
|
-
}, "user op rejected");
|
|
298
|
+
else if (bundlingStatus.status === "reverted" &&
|
|
299
|
+
bundlingStatus.isAA95) {
|
|
300
|
+
// resubmit with more gas when bundler encounters AA95
|
|
301
|
+
const multiplier = this.aa95ResubmitMultiplier;
|
|
302
|
+
transactionInfo.transactionRequest.gas =
|
|
303
|
+
(transactionInfo.transactionRequest.gas * multiplier) / 100n;
|
|
304
|
+
transactionInfo.transactionRequest.nonce += 1;
|
|
305
|
+
opInfos.map(({ userOperationHash }) => {
|
|
306
|
+
this.mempool.removeSubmitted(userOperationHash);
|
|
287
307
|
});
|
|
288
|
-
this.
|
|
308
|
+
await this.replaceTransaction(transactionInfo, "AA95");
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
await Promise.all(opInfos.map(({ userOperationHash }) => {
|
|
312
|
+
this.checkFrontrun({
|
|
313
|
+
userOperationHash,
|
|
314
|
+
transactionHash,
|
|
315
|
+
blockNumber
|
|
316
|
+
});
|
|
317
|
+
}));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
checkFrontrun({ userOperationHash, transactionHash, blockNumber }) {
|
|
321
|
+
const unwatch = this.publicClient.watchBlockNumber({
|
|
322
|
+
onBlockNumber: async (currentBlockNumber) => {
|
|
323
|
+
if (currentBlockNumber > blockNumber + 1n) {
|
|
324
|
+
const userOperationReceipt = await this.getUserOperationReceipt(userOperationHash);
|
|
325
|
+
if (userOperationReceipt) {
|
|
326
|
+
const transactionHash = userOperationReceipt.receipt.transactionHash;
|
|
327
|
+
const blockNumber = userOperationReceipt.receipt.blockNumber;
|
|
328
|
+
this.monitor.setUserOperationStatus(userOperationHash, {
|
|
329
|
+
status: "included",
|
|
330
|
+
transactionHash
|
|
331
|
+
});
|
|
332
|
+
this.eventManager.emitFrontranOnChain(userOperationHash, transactionHash, blockNumber);
|
|
333
|
+
this.logger.info({
|
|
334
|
+
userOpHash: userOperationHash,
|
|
335
|
+
transactionHash
|
|
336
|
+
}, "user op frontrun onchain");
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
this.monitor.setUserOperationStatus(userOperationHash, {
|
|
340
|
+
status: "rejected",
|
|
341
|
+
transactionHash
|
|
342
|
+
});
|
|
343
|
+
this.eventManager.emitFailedOnChain(userOperationHash, transactionHash, blockNumber);
|
|
344
|
+
this.logger.info({
|
|
345
|
+
userOpHash: userOperationHash,
|
|
346
|
+
transactionHash
|
|
347
|
+
}, "user op failed onchain");
|
|
348
|
+
}
|
|
349
|
+
unwatch();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
async getUserOperationReceipt(userOperationHash) {
|
|
355
|
+
const userOperationEventAbiItem = (0, viem_1.getAbiItem)({
|
|
356
|
+
abi: types_1.EntryPointV06Abi,
|
|
357
|
+
name: "UserOperationEvent"
|
|
358
|
+
});
|
|
359
|
+
let fromBlock = undefined;
|
|
360
|
+
let toBlock = undefined;
|
|
361
|
+
if (this.rpcMaxBlockRange !== undefined) {
|
|
362
|
+
const latestBlock = await this.publicClient.getBlockNumber();
|
|
363
|
+
fromBlock = latestBlock - BigInt(this.rpcMaxBlockRange);
|
|
364
|
+
if (fromBlock < 0n) {
|
|
365
|
+
fromBlock = 0n;
|
|
366
|
+
}
|
|
367
|
+
toBlock = "latest";
|
|
368
|
+
}
|
|
369
|
+
const filterResult = await this.publicClient.getLogs({
|
|
370
|
+
address: this.entryPoints,
|
|
371
|
+
event: userOperationEventAbiItem,
|
|
372
|
+
fromBlock,
|
|
373
|
+
toBlock,
|
|
374
|
+
args: {
|
|
375
|
+
userOpHash: userOperationHash
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
this.logger.debug({
|
|
379
|
+
filterResult: filterResult.length,
|
|
380
|
+
userOperationEvent: filterResult.length === 0
|
|
381
|
+
? undefined
|
|
382
|
+
: filterResult[0].transactionHash
|
|
383
|
+
}, "filter result length");
|
|
384
|
+
if (filterResult.length === 0) {
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
const userOperationEvent = filterResult[0];
|
|
388
|
+
// throw if any of the members of userOperationEvent are undefined
|
|
389
|
+
if (userOperationEvent.args.actualGasCost === undefined ||
|
|
390
|
+
userOperationEvent.args.sender === undefined ||
|
|
391
|
+
userOperationEvent.args.nonce === undefined ||
|
|
392
|
+
userOperationEvent.args.userOpHash === undefined ||
|
|
393
|
+
userOperationEvent.args.success === undefined ||
|
|
394
|
+
userOperationEvent.args.paymaster === undefined ||
|
|
395
|
+
userOperationEvent.args.actualGasUsed === undefined) {
|
|
396
|
+
throw new Error("userOperationEvent has undefined members");
|
|
397
|
+
}
|
|
398
|
+
const txHash = userOperationEvent.transactionHash;
|
|
399
|
+
if (txHash === null) {
|
|
400
|
+
// transaction pending
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
const getTransactionReceipt = async (txHash) => {
|
|
404
|
+
while (true) {
|
|
405
|
+
try {
|
|
406
|
+
const transactionReceipt = await this.publicClient.getTransactionReceipt({
|
|
407
|
+
hash: txHash
|
|
408
|
+
});
|
|
409
|
+
let effectiveGasPrice = transactionReceipt.effectiveGasPrice ??
|
|
410
|
+
transactionReceipt.gasPrice ??
|
|
411
|
+
undefined;
|
|
412
|
+
if (effectiveGasPrice === undefined) {
|
|
413
|
+
const tx = await this.publicClient.getTransaction({
|
|
414
|
+
hash: txHash
|
|
415
|
+
});
|
|
416
|
+
effectiveGasPrice = tx.gasPrice ?? undefined;
|
|
417
|
+
}
|
|
418
|
+
if (effectiveGasPrice) {
|
|
419
|
+
transactionReceipt.effectiveGasPrice = effectiveGasPrice;
|
|
420
|
+
}
|
|
421
|
+
return transactionReceipt;
|
|
422
|
+
}
|
|
423
|
+
catch (e) {
|
|
424
|
+
if (e instanceof viem_1.TransactionReceiptNotFoundError) {
|
|
425
|
+
continue;
|
|
426
|
+
}
|
|
427
|
+
throw e;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
};
|
|
431
|
+
const receipt = await getTransactionReceipt(txHash);
|
|
432
|
+
const logs = receipt.logs;
|
|
433
|
+
if (logs.some((log) => log.blockHash === null ||
|
|
434
|
+
log.blockNumber === null ||
|
|
435
|
+
log.transactionIndex === null ||
|
|
436
|
+
log.transactionHash === null ||
|
|
437
|
+
log.logIndex === null ||
|
|
438
|
+
log.topics.length === 0)) {
|
|
439
|
+
// transaction pending
|
|
440
|
+
return null;
|
|
289
441
|
}
|
|
442
|
+
const userOperationReceipt = (0, utils_1.parseUserOperationReceipt)(userOperationHash, receipt);
|
|
443
|
+
return userOperationReceipt;
|
|
290
444
|
}
|
|
291
445
|
async refreshUserOperationStatuses() {
|
|
292
446
|
const ops = this.mempool.dumpSubmittedOps();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Logger, Metrics } from "../utils/index.js";
|
|
2
|
+
import type { GasPriceManager } from "../handlers/index.js";
|
|
2
3
|
import { type Account, type Chain, type PublicClient, type Transport, type WalletClient } from "viem";
|
|
3
4
|
export declare class SenderManager {
|
|
4
5
|
wallets: Account[];
|
|
@@ -52,6 +52,9 @@ class SenderManager {
|
|
|
52
52
|
const balance = await publicClient.getBalance({
|
|
53
53
|
address: wallet.address
|
|
54
54
|
});
|
|
55
|
+
this.metrics.executorWalletsBalances.set({
|
|
56
|
+
wallet: wallet.address
|
|
57
|
+
}, Number.parseFloat((0, viem_1.formatEther)(balance)));
|
|
55
58
|
if (balance < minBalance) {
|
|
56
59
|
const missingBalance = (minBalance * 6n) / 5n - balance;
|
|
57
60
|
balancesMissing[wallet.address] = missingBalance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senderManager.js","sourceRoot":"","sources":["../../executor/senderManager.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;
|
|
1
|
+
{"version":3,"file":"senderManager.js","sourceRoot":"","sources":["../../executor/senderManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Logger, Metrics } from "../utils/index.js";
|
|
2
|
+
import { type Hex, type PublicClient } from "viem";
|
|
3
|
+
export declare class UtilityWalletMonitor {
|
|
4
|
+
private publicClient;
|
|
5
|
+
private monitorInterval;
|
|
6
|
+
private utilityWalletAddress;
|
|
7
|
+
private timer;
|
|
8
|
+
private metrics;
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(publicClient: PublicClient, monitorInterval: number, utilityWalletAddress: Hex, metrics: Metrics, logger: Logger);
|
|
11
|
+
private updateMetrics;
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
stop(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=utilityWalletMonitor.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UtilityWalletMonitor = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
class UtilityWalletMonitor {
|
|
6
|
+
publicClient;
|
|
7
|
+
monitorInterval;
|
|
8
|
+
utilityWalletAddress;
|
|
9
|
+
timer;
|
|
10
|
+
metrics;
|
|
11
|
+
logger;
|
|
12
|
+
constructor(publicClient, monitorInterval, utilityWalletAddress, metrics, logger) {
|
|
13
|
+
this.publicClient = publicClient;
|
|
14
|
+
this.monitorInterval = monitorInterval;
|
|
15
|
+
this.utilityWalletAddress = utilityWalletAddress;
|
|
16
|
+
this.metrics = metrics;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
async updateMetrics() {
|
|
20
|
+
try {
|
|
21
|
+
const balance = await this.publicClient.getBalance({
|
|
22
|
+
address: this.utilityWalletAddress
|
|
23
|
+
});
|
|
24
|
+
this.metrics.utilityWalletBalance.set(Number.parseFloat((0, viem_1.formatEther)(balance)));
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
this.logger.error(error, "Failed to update utility wallet balance metrics");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async start() {
|
|
31
|
+
if (this.timer) {
|
|
32
|
+
throw new Error("UtilityWalletMonitor already started");
|
|
33
|
+
}
|
|
34
|
+
await this.updateMetrics();
|
|
35
|
+
this.timer = setInterval(this.updateMetrics.bind(this), this.monitorInterval);
|
|
36
|
+
}
|
|
37
|
+
stop() {
|
|
38
|
+
clearInterval(this.timer);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.UtilityWalletMonitor = UtilityWalletMonitor;
|
|
42
|
+
//# sourceMappingURL=utilityWalletMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilityWalletMonitor.js","sourceRoot":"","sources":["../../executor/utilityWalletMonitor.ts"],"names":[],"mappings":";;;AACA,+BAA+D;AAE/D,MAAa,oBAAoB;IACrB,YAAY,CAAc;IAC1B,eAAe,CAAQ;IACvB,oBAAoB,CAAK;IACzB,KAAK,CAA0B;IAC/B,OAAO,CAAS;IAChB,MAAM,CAAQ;IAEtB,YACI,YAA0B,EAC1B,eAAuB,EACvB,oBAAyB,EACzB,OAAgB,EAChB,MAAc;QAEd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC/C,OAAO,EAAE,IAAI,CAAC,oBAAoB;aACrC,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CACjC,MAAM,CAAC,UAAU,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAC1C,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,KAAK,EACL,iDAAiD,CACpD,CAAA;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAE1B,IAAI,CAAC,KAAK,GAAG,WAAW,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,IAAI,CAAC,eAAe,CACP,CAAA;IACrB,CAAC;IAEM,IAAI;QACP,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;CACJ;AAvDD,oDAuDC"}
|
package/lib/executor/utils.d.ts
CHANGED
|
@@ -26,7 +26,6 @@ export declare function filterOpsAndEstimateGas(entryPoint: Address, callContext
|
|
|
26
26
|
reason: string | undefined;
|
|
27
27
|
}[];
|
|
28
28
|
gasLimit: bigint;
|
|
29
|
-
resubmitAllOps: boolean;
|
|
30
29
|
}>;
|
|
31
|
-
export declare function flushStuckTransaction(publicClient: PublicClient, walletClient: WalletClient<Transport, Chain, Account | undefined>, wallet: Account, gasPrice: bigint, logger: Logger
|
|
30
|
+
export declare function flushStuckTransaction(publicClient: PublicClient, walletClient: WalletClient<Transport, Chain, Account | undefined>, wallet: Account, gasPrice: bigint, logger: Logger): Promise<void>;
|
|
32
31
|
//# sourceMappingURL=utils.d.ts.map
|