@pimlico/alto 0.0.0-main.20250711T114933 → 0.0.0-main.20250713T101154
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/contracts/EIP712.sol/EIP712.json +1 -1
- package/contracts/ERC165.sol/ERC165.json +1 -1
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/Exec.sol/Exec.json +1 -1
- package/contracts/IAccount.sol/IAccount.json +1 -1
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
- package/contracts/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/IERC165.sol/IERC165.json +1 -1
- package/contracts/IERC5267.sol/IERC5267.json +1 -1
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
- package/contracts/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/LibBytes.sol/LibBytes.json +1 -1
- package/contracts/Math.sol/Math.json +1 -1
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
- package/contracts/NonceManager.sol/NonceManager.json +1 -1
- package/contracts/Panic.sol/Panic.json +1 -1
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
- package/contracts/SafeCast.sol/SafeCast.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
- package/contracts/SignedMath.sol/SignedMath.json +1 -1
- package/contracts/StakeManager.sol/StakeManager.json +1 -1
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/Strings.sol/Strings.json +1 -1
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -1
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
- package/contracts/build-info/{2f5dec90e180c3a0.json → 7a4c5850aabacc3b.json} +1 -1
- package/contracts/build-info/{a404540bf9e30752.json → db6850b431aca366.json} +1 -1
- package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/esm/cli/alto.js +1 -1
- package/esm/cli/alto.js.map +1 -1
- package/esm/cli/config/bundler.d.ts +6 -6
- package/esm/cli/config/bundler.js +1 -1
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.d.ts +1 -1
- package/esm/cli/config/options.js +2 -2
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/customTransport.js +2 -2
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +2 -2
- package/esm/cli/deploySimulationsContract.js +3 -3
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +35 -20
- 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/parseArgs.js.map +1 -1
- package/esm/cli/setupServer.js +8 -8
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/esm/createConfig.d.ts +1 -1
- package/esm/executor/executor.d.ts +3 -3
- package/esm/executor/executor.js +7 -7
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +16 -8
- package/esm/executor/executorManager.js +75 -53
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/filterOpsAndEstimateGas.d.ts +3 -3
- package/esm/executor/filterOpsAndEstimateGas.js +13 -16
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/executor/getBundleStatus.d.ts +6 -6
- package/esm/executor/getBundleStatus.js +1 -1
- package/esm/executor/getBundleStatus.js.map +1 -1
- package/esm/executor/senderManager/createMemorySenderManager.d.ts +3 -3
- package/esm/executor/senderManager/createMemorySenderManager.js +1 -1
- package/esm/executor/senderManager/createMemorySenderManager.js.map +1 -1
- package/esm/executor/senderManager/createRedisSenderManager.d.ts +3 -3
- package/esm/executor/senderManager/createRedisSenderManager.js +1 -1
- package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
- package/esm/executor/senderManager/flushOnStartUp.d.ts +3 -3
- package/esm/executor/senderManager/index.d.ts +3 -3
- package/esm/executor/senderManager/index.js.map +1 -1
- package/esm/executor/senderManager/validateAndRefill.d.ts +4 -4
- package/esm/executor/senderManager/validateAndRefill.js +1 -1
- package/esm/executor/senderManager/validateAndRefill.js.map +1 -1
- package/esm/executor/userOpMonitor.d.ts +24 -7
- package/esm/executor/userOpMonitor.js +63 -65
- package/esm/executor/userOpMonitor.js.map +1 -1
- package/esm/executor/utilityWalletMonitor.d.ts +1 -1
- package/esm/executor/utilityWalletMonitor.js.map +1 -1
- package/esm/executor/utils.d.ts +3 -3
- package/esm/executor/utils.js +2 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/arbitrumGasPriceManager.d.ts +1 -1
- package/esm/handlers/arbitrumGasPriceManager.js +3 -3
- package/esm/handlers/arbitrumGasPriceManager.js.map +1 -1
- package/esm/handlers/eventManager.js +5 -2
- package/esm/handlers/eventManager.js.map +1 -1
- package/esm/handlers/gasPriceManager.js.map +1 -1
- package/esm/handlers/mantleGasPriceManager.d.ts +1 -1
- package/esm/handlers/mantleGasPriceManager.js.map +1 -1
- package/esm/handlers/optimismManager.d.ts +1 -1
- package/esm/handlers/optimismManager.js.map +1 -1
- package/esm/mempool/mempool.d.ts +4 -4
- package/esm/mempool/mempool.js +2 -2
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/monitoring.d.ts +1 -1
- package/esm/mempool/monitoring.js +8 -5
- package/esm/mempool/monitoring.js.map +1 -1
- package/esm/mempool/reputationManager.d.ts +1 -1
- package/esm/mempool/reputationManager.js.map +1 -1
- package/esm/rpc/createMethodHandler.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations06.d.ts +1 -1
- package/esm/rpc/estimation/gasEstimations06.js +4 -4
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations07.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimations07.js +34 -36
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
- package/esm/rpc/estimation/types.d.ts +1 -1
- package/esm/rpc/estimation/utils.d.ts +2 -2
- package/esm/rpc/estimation/utils.js +7 -5
- package/esm/rpc/estimation/utils.js.map +1 -1
- package/esm/rpc/methods/boost_sendUserOperation.js +2 -2
- package/esm/rpc/methods/boost_sendUserOperation.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_clearReputation.js +3 -3
- package/esm/rpc/methods/debug_bundler_clearReputation.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_clearState.js +3 -3
- package/esm/rpc/methods/debug_bundler_clearState.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_dumpMempool.js +1 -1
- package/esm/rpc/methods/debug_bundler_dumpMempool.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_dumpReputation.js +3 -3
- package/esm/rpc/methods/debug_bundler_dumpReputation.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_getStakeStatus.js +1 -2
- package/esm/rpc/methods/debug_bundler_getStakeStatus.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_sendBundleNow.js +1 -1
- package/esm/rpc/methods/debug_bundler_sendBundleNow.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_setBundlingMode.js +1 -1
- package/esm/rpc/methods/debug_bundler_setBundlingMode.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_setReputation.js +1 -1
- package/esm/rpc/methods/debug_bundler_setReputation.js.map +1 -1
- package/esm/rpc/methods/eth_chainId.js +1 -1
- package/esm/rpc/methods/eth_chainId.js.map +1 -1
- package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +1 -1
- package/esm/rpc/methods/eth_estimateUserOperationGas.js +5 -5
- package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationByHash.js +2 -2
- package/esm/rpc/methods/eth_getUserOperationByHash.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationReceipt.js +1 -1
- package/esm/rpc/methods/eth_getUserOperationReceipt.js.map +1 -1
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +3 -3
- package/esm/rpc/methods/eth_sendUserOperation.js +4 -4
- package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
- package/esm/rpc/methods/eth_supportedEntryPoints.js +1 -1
- package/esm/rpc/methods/eth_supportedEntryPoints.js.map +1 -1
- package/esm/rpc/methods/index.js +7 -7
- package/esm/rpc/methods/index.js.map +1 -1
- package/esm/rpc/methods/pimlico_getUserOperationGasPrice.js +1 -1
- package/esm/rpc/methods/pimlico_getUserOperationGasPrice.js.map +1 -1
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js +1 -1
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js.map +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +1 -1
- package/esm/rpc/rpcHandler.js +2 -2
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/validation/BundlerCollectorTracerV06.js +1 -1
- package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +1 -1
- package/esm/rpc/validation/SafeValidator.js +2 -2
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV06.js +4 -4
- package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.js +4 -4
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +1 -1
- package/esm/rpc/validation/UnsafeValidator.js +1 -1
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/rpc/validation/tracer.d.ts +1 -1
- package/esm/store/createMemoryOutstandingStore.d.ts +3 -3
- package/esm/store/createMemoryOutstandingStore.js +25 -16
- package/esm/store/createMemoryOutstandingStore.js.map +1 -1
- package/esm/store/createMempoolStore.d.ts +3 -3
- package/esm/store/createMempoolStore.js +2 -2
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/createRedisOutstandingStore.d.ts +4 -4
- package/esm/store/createRedisOutstandingStore.js +20 -20
- package/esm/store/createRedisOutstandingStore.js.map +1 -1
- package/esm/store/createRedisStore.d.ts +3 -3
- package/esm/store/createRedisStore.js +1 -1
- package/esm/store/createRedisStore.js.map +1 -1
- package/esm/store/createStore.d.ts +2 -2
- package/esm/types/mempool.d.ts +2 -1
- package/esm/utils/eip7702.d.ts +2 -2
- package/esm/utils/eip7702.js +1 -1
- package/esm/utils/eip7702.js.map +1 -1
- package/esm/utils/entryPointOverrides.d.ts +2 -2
- package/esm/utils/entryPointOverrides.js.map +1 -1
- package/esm/utils/helpers.js +1 -1
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +2 -2
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js +9 -8
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +1 -1
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +2 -2
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +7 -4
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
- package/esm/utils/minMaxQueue/index.d.ts +1 -1
- package/esm/utils/preVerificationGasCalulator.js +29 -33
- package/esm/utils/preVerificationGasCalulator.js.map +1 -1
- package/esm/utils/toViemStateOverrides.d.ts +2 -2
- package/esm/utils/toViemStateOverrides.js.map +1 -1
- package/esm/utils/userop.js +6 -8
- package/esm/utils/userop.js.map +1 -1
- package/package.json +2 -2
package/esm/createConfig.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IOptions } from "./cli/index.js";
|
|
2
|
-
import type { CamelCasedProperties } from "./cli/parseArgs.js";
|
|
3
2
|
import type { Bindings, ChildLoggerOptions, Logger } from "pino";
|
|
4
3
|
import type { Address, Chain, PublicClient, Transport, WalletClient } from "viem";
|
|
4
|
+
import type { CamelCasedProperties } from "./cli/parseArgs.js";
|
|
5
5
|
export type AltoConfig = Readonly<CamelCasedProperties<IOptions>> & {
|
|
6
6
|
getLogger: <ChildCustomLevels extends string = never>(bindings: Bindings, options?: ChildLoggerOptions<ChildCustomLevels>) => Logger<ChildCustomLevels>;
|
|
7
7
|
readonly publicClient: PublicClient<Transport, Chain>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { EventManager } from "../handlers/index.js";
|
|
2
|
-
import type { Address, BundleResult, GasPriceParameters,
|
|
2
|
+
import type { Address, BundleResult, GasPriceParameters, UserOpInfo, UserOperationBundle } from "../types/index.js";
|
|
3
3
|
import type { Logger } from "../utils/index.js";
|
|
4
4
|
import { type Account } from "viem";
|
|
5
|
-
import type { AltoConfig } from "../createConfig.js";
|
|
6
5
|
import type { SignedAuthorizationList } from "viem";
|
|
6
|
+
import type { AltoConfig } from "../createConfig.js";
|
|
7
7
|
type HandleOpsTxParams = {
|
|
8
8
|
gas: bigint;
|
|
9
9
|
account: Account;
|
|
@@ -42,7 +42,7 @@ export declare class Executor {
|
|
|
42
42
|
networkBaseFee: bigint;
|
|
43
43
|
totalBeneficiaryFees: bigint;
|
|
44
44
|
bundleGasUsed: bigint;
|
|
45
|
-
}):
|
|
45
|
+
}): GasPriceParameters;
|
|
46
46
|
sendHandleOpsTransaction({ txParam, gasOpts }: {
|
|
47
47
|
txParam: HandleOpsTxParams;
|
|
48
48
|
gasOpts: HandleOpsGasParams;
|
package/esm/executor/executor.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsonStringifyWithBigint, maxBigInt, minBigInt, roundUpBigInt, scaleBigIntByPercent } from "../utils/index.js";
|
|
2
2
|
import * as sentry from "@sentry/node";
|
|
3
|
-
import {
|
|
4
|
-
import { encodeHandleOpsCalldata, getAuthorizationList, getUserOpHashes, isTransactionUnderpricedError } from "./utils.js";
|
|
3
|
+
import { BaseError, ContractFunctionExecutionError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooLowError, NonceTooHighError, NonceTooLowError, TransactionExecutionError } from "viem";
|
|
5
4
|
import { filterOpsAndEstimateGas } from "./filterOpsAndEstimateGas.js";
|
|
5
|
+
import { encodeHandleOpsCalldata, getAuthorizationList, getUserOpHashes, isTransactionUnderpricedError } from "./utils.js";
|
|
6
6
|
export class Executor {
|
|
7
7
|
config;
|
|
8
8
|
logger;
|
|
@@ -14,7 +14,7 @@ export class Executor {
|
|
|
14
14
|
});
|
|
15
15
|
this.eventManager = eventManager;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
getBundleGasPrice({ bundle, networkGasPrice, networkBaseFee, totalBeneficiaryFees, bundleGasUsed }) {
|
|
18
18
|
const { bundlerInitialCommission, resubmitMultiplierCeiling, legacyTransactions, chainType, arbitrumGasBidMultiplier } = this.config;
|
|
19
19
|
// Arbtirum's sequencer orders based on first come first serve.
|
|
20
20
|
// Because of this, maxFee/maxPriorityFee is ignored and the bundler *always* pays the network's baseFee.
|
|
@@ -168,7 +168,7 @@ export class Executor {
|
|
|
168
168
|
userOperations: getUserOpHashes(userOps),
|
|
169
169
|
entryPoint
|
|
170
170
|
});
|
|
171
|
-
|
|
171
|
+
const filterOpsResult = await filterOpsAndEstimateGas({
|
|
172
172
|
networkBaseFee,
|
|
173
173
|
userOpBundle,
|
|
174
174
|
config: this.config,
|
|
@@ -192,14 +192,14 @@ export class Executor {
|
|
|
192
192
|
recoverableOps: []
|
|
193
193
|
};
|
|
194
194
|
}
|
|
195
|
-
|
|
195
|
+
const { userOpsToBundle, rejectedUserOps, bundleGasUsed, bundleGasLimit, totalBeneficiaryFees } = filterOpsResult;
|
|
196
196
|
// Update child logger with userOperations being sent for bundling.
|
|
197
197
|
childLogger = this.logger.child({
|
|
198
198
|
isReplacementTx,
|
|
199
199
|
userOperations: getUserOpHashes(userOpsToBundle),
|
|
200
200
|
entryPoint
|
|
201
201
|
});
|
|
202
|
-
const { maxFeePerGas, maxPriorityFeePerGas } =
|
|
202
|
+
const { maxFeePerGas, maxPriorityFeePerGas } = this.getBundleGasPrice({
|
|
203
203
|
bundle: userOpBundle,
|
|
204
204
|
networkGasPrice,
|
|
205
205
|
networkBaseFee,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../executor/executor.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../executor/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { GasPriceManager } from "../handlers/index.js";
|
|
2
2
|
import type { Mempool } from "../mempool/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
6
|
-
import type {
|
|
3
|
+
import type { BundlingMode, SubmittedBundleInfo, UserOperationBundle } from "../types/index.js";
|
|
4
|
+
import type { GasPriceParameters } from "../types/index.js";
|
|
5
|
+
import { type Metrics } from "../utils/index.js";
|
|
6
|
+
import type { Hex } from "viem";
|
|
7
7
|
import type { AltoConfig } from "../createConfig.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { UserOpMonitor } from "./userOpMonitor.js";
|
|
8
|
+
import type { Executor } from "./executor.js";
|
|
9
|
+
import type { SenderManager } from "./senderManager/index.js";
|
|
10
|
+
import type { UserOpMonitor } from "./userOpMonitor.js";
|
|
11
11
|
export declare class ExecutorManager {
|
|
12
12
|
private senderManager;
|
|
13
13
|
private config;
|
|
@@ -36,8 +36,16 @@ export declare class ExecutorManager {
|
|
|
36
36
|
getBaseFee(): Promise<bigint>;
|
|
37
37
|
sendBundleToExecutor(userOpBundle: UserOperationBundle): Promise<Hex | undefined>;
|
|
38
38
|
stopWatchingBlocks(): void;
|
|
39
|
-
cancelBundle(submittedBundle: SubmittedBundleInfo): Promise<void>;
|
|
40
39
|
private handleBlock;
|
|
40
|
+
potentiallyResubmitBundle({ submittedBundle, networkGasPrice, networkBaseFee }: {
|
|
41
|
+
submittedBundle: SubmittedBundleInfo;
|
|
42
|
+
networkGasPrice: {
|
|
43
|
+
maxFeePerGas: bigint;
|
|
44
|
+
maxPriorityFeePerGas: bigint;
|
|
45
|
+
};
|
|
46
|
+
networkBaseFee: bigint;
|
|
47
|
+
}): void;
|
|
48
|
+
cancelBundle(submittedBundle: SubmittedBundleInfo): Promise<void>;
|
|
41
49
|
replaceTransaction({ submittedBundle, networkGasPrice, networkBaseFee, reason }: {
|
|
42
50
|
submittedBundle: SubmittedBundleInfo;
|
|
43
51
|
networkGasPrice: GasPriceParameters;
|
|
@@ -47,7 +47,7 @@ export class ExecutorManager {
|
|
|
47
47
|
if (bundles.length > 0) {
|
|
48
48
|
// Count total ops and add timestamps
|
|
49
49
|
const totalOps = bundles.reduce((sum, bundle) => sum + bundle.userOps.length, 0);
|
|
50
|
-
this.opsCount.push(...Array(totalOps).fill(Date.now()));
|
|
50
|
+
this.opsCount.push(...new Array(totalOps).fill(Date.now()));
|
|
51
51
|
}
|
|
52
52
|
// Send bundles to executor
|
|
53
53
|
for (const bundle of bundles) {
|
|
@@ -74,8 +74,7 @@ export class ExecutorManager {
|
|
|
74
74
|
this.logger.error({ error }, "error while watching blocks");
|
|
75
75
|
},
|
|
76
76
|
includeTransactions: false,
|
|
77
|
-
emitMissed: false
|
|
78
|
-
pollingInterval: this.config.pollingInterval
|
|
77
|
+
emitMissed: false
|
|
79
78
|
});
|
|
80
79
|
this.logger.debug("started watching blocks");
|
|
81
80
|
}
|
|
@@ -128,7 +127,7 @@ export class ExecutorManager {
|
|
|
128
127
|
.labels({ status: "failed" })
|
|
129
128
|
.inc(rejectedUserOps.length);
|
|
130
129
|
// Handle recoverable ops
|
|
131
|
-
if (recoverableOps.length) {
|
|
130
|
+
if (recoverableOps.length > 0) {
|
|
132
131
|
await this.mempool.resubmitUserOps({
|
|
133
132
|
userOps: recoverableOps,
|
|
134
133
|
entryPoint,
|
|
@@ -148,6 +147,7 @@ export class ExecutorManager {
|
|
|
148
147
|
submissionAttempts: userOpInfo.submissionAttempts + 1
|
|
149
148
|
}));
|
|
150
149
|
const submittedBundle = {
|
|
150
|
+
uid: transactionHash,
|
|
151
151
|
executor: wallet,
|
|
152
152
|
transactionHash,
|
|
153
153
|
transactionRequest,
|
|
@@ -178,9 +178,78 @@ export class ExecutorManager {
|
|
|
178
178
|
this.unWatch = undefined;
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
+
async handleBlock(block) {
|
|
182
|
+
if (this.currentlyHandlingBlock) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.currentlyHandlingBlock = true;
|
|
186
|
+
const pendingBundles = this.userOpMonitor.getPendingBundles();
|
|
187
|
+
if (pendingBundles.length === 0) {
|
|
188
|
+
this.stopWatchingBlocks();
|
|
189
|
+
this.currentlyHandlingBlock = false;
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const [receipts, networkGasPrice, networkBaseFee] = await Promise.all([
|
|
193
|
+
this.userOpMonitor.getReceipts(pendingBundles),
|
|
194
|
+
this.gasPriceManager.tryGetNetworkGasPrice().catch(() => ({
|
|
195
|
+
maxFeePerGas: 0n,
|
|
196
|
+
maxPriorityFeePerGas: 0n
|
|
197
|
+
})),
|
|
198
|
+
this.getBaseFee().catch(() => 0n)
|
|
199
|
+
]);
|
|
200
|
+
await Promise.all(receipts.map(async (receipt, index) => {
|
|
201
|
+
if (receipt.status === "included") {
|
|
202
|
+
await this.userOpMonitor.processIncludedBundle({
|
|
203
|
+
submittedBundle: pendingBundles[index],
|
|
204
|
+
bundleReceipt: receipt
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
if (receipt.status === "reverted") {
|
|
208
|
+
await this.userOpMonitor.processRevertedBundle({
|
|
209
|
+
submittedBundle: pendingBundles[index],
|
|
210
|
+
bundleReceipt: receipt,
|
|
211
|
+
block
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
// can be potentially resubmitted - so we first submit it again to optimize for the speed
|
|
215
|
+
if (receipt.status === "not_found") {
|
|
216
|
+
this.potentiallyResubmitBundle({
|
|
217
|
+
submittedBundle: pendingBundles[index],
|
|
218
|
+
networkGasPrice,
|
|
219
|
+
networkBaseFee
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}));
|
|
223
|
+
this.currentlyHandlingBlock = false;
|
|
224
|
+
}
|
|
225
|
+
potentiallyResubmitBundle({ submittedBundle, networkGasPrice, networkBaseFee }) {
|
|
226
|
+
const { transactionRequest, lastReplaced } = submittedBundle;
|
|
227
|
+
const { maxFeePerGas, maxPriorityFeePerGas } = transactionRequest;
|
|
228
|
+
const isGasPriceTooLow = maxFeePerGas < networkGasPrice.maxFeePerGas ||
|
|
229
|
+
maxPriorityFeePerGas < networkGasPrice.maxPriorityFeePerGas;
|
|
230
|
+
const isStuck = Date.now() - lastReplaced > this.config.resubmitStuckTimeout;
|
|
231
|
+
if (isGasPriceTooLow) {
|
|
232
|
+
this.userOpMonitor.stopTrackingBundle(submittedBundle);
|
|
233
|
+
this.replaceTransaction({
|
|
234
|
+
submittedBundle,
|
|
235
|
+
networkGasPrice,
|
|
236
|
+
networkBaseFee,
|
|
237
|
+
reason: "gas_price"
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
else if (isStuck) {
|
|
241
|
+
this.userOpMonitor.stopTrackingBundle(submittedBundle);
|
|
242
|
+
this.replaceTransaction({
|
|
243
|
+
submittedBundle,
|
|
244
|
+
networkGasPrice,
|
|
245
|
+
networkBaseFee,
|
|
246
|
+
reason: "stuck"
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
181
250
|
async cancelBundle(submittedBundle) {
|
|
182
251
|
const { bundle: { userOps }, executor, transactionRequest, transactionHash } = submittedBundle;
|
|
183
|
-
const { walletClient, publicClient,
|
|
252
|
+
const { walletClient, publicClient, blockTime } = this.config;
|
|
184
253
|
const logger = this.logger.child({
|
|
185
254
|
userOps: getUserOpHashes(userOps)
|
|
186
255
|
});
|
|
@@ -212,7 +281,7 @@ export class ExecutorManager {
|
|
|
212
281
|
attempt: attempt + 1
|
|
213
282
|
}, "cancel transaction sent");
|
|
214
283
|
// Wait for transaction to potentially be mined
|
|
215
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
284
|
+
await new Promise((resolve) => setTimeout(resolve, blockTime / 2));
|
|
216
285
|
}
|
|
217
286
|
catch (err) {
|
|
218
287
|
logger.warn({ error: err }, "failed to cancel bundle");
|
|
@@ -222,51 +291,6 @@ export class ExecutorManager {
|
|
|
222
291
|
// All retries exhausted
|
|
223
292
|
logger.error({ transactionHash }, "failed to cancel bundle after max retries");
|
|
224
293
|
}
|
|
225
|
-
async handleBlock(block) {
|
|
226
|
-
if (this.currentlyHandlingBlock) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
this.currentlyHandlingBlock = true;
|
|
230
|
-
// Process the block and get the results
|
|
231
|
-
const pendingBundles = await this.userOpMonitor.processBlock(block);
|
|
232
|
-
if (pendingBundles.length === 0) {
|
|
233
|
-
this.stopWatchingBlocks();
|
|
234
|
-
this.currentlyHandlingBlock = false;
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
// for all still not included check if needs to be replaced (based on gas price)
|
|
238
|
-
const [networkGasPrice, networkBaseFee] = await Promise.all([
|
|
239
|
-
this.gasPriceManager.tryGetNetworkGasPrice().catch(() => ({
|
|
240
|
-
maxFeePerGas: 0n,
|
|
241
|
-
maxPriorityFeePerGas: 0n
|
|
242
|
-
})),
|
|
243
|
-
this.getBaseFee().catch(() => 0n)
|
|
244
|
-
]);
|
|
245
|
-
await Promise.all(pendingBundles.map(async (submittedBundle) => {
|
|
246
|
-
const { transactionRequest, lastReplaced } = submittedBundle;
|
|
247
|
-
const { maxFeePerGas, maxPriorityFeePerGas } = transactionRequest;
|
|
248
|
-
const isGasPriceTooLow = maxFeePerGas < networkGasPrice.maxFeePerGas ||
|
|
249
|
-
maxPriorityFeePerGas < networkGasPrice.maxPriorityFeePerGas;
|
|
250
|
-
const isStuck = Date.now() - lastReplaced > this.config.resubmitStuckTimeout;
|
|
251
|
-
if (isGasPriceTooLow) {
|
|
252
|
-
await this.replaceTransaction({
|
|
253
|
-
submittedBundle,
|
|
254
|
-
networkGasPrice,
|
|
255
|
-
networkBaseFee,
|
|
256
|
-
reason: "gas_price"
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
else if (isStuck) {
|
|
260
|
-
await this.replaceTransaction({
|
|
261
|
-
submittedBundle,
|
|
262
|
-
networkGasPrice,
|
|
263
|
-
networkBaseFee,
|
|
264
|
-
reason: "stuck"
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
}));
|
|
268
|
-
this.currentlyHandlingBlock = false;
|
|
269
|
-
}
|
|
270
294
|
async replaceTransaction({ submittedBundle, networkGasPrice, networkBaseFee, reason }) {
|
|
271
295
|
const { bundle, executor, transactionRequest, transactionHash: oldTxHash } = submittedBundle;
|
|
272
296
|
const { entryPoint } = bundle;
|
|
@@ -313,7 +337,6 @@ export class ExecutorManager {
|
|
|
313
337
|
}
|
|
314
338
|
// Free wallet as no bundle was sent.
|
|
315
339
|
await this.senderManager.markWalletProcessed(executor);
|
|
316
|
-
await this.userOpMonitor.stopTrackingBundle(submittedBundle);
|
|
317
340
|
this.metrics.replacedTransactions
|
|
318
341
|
.labels({ reason, status: "failed" })
|
|
319
342
|
.inc();
|
|
@@ -341,7 +364,6 @@ export class ExecutorManager {
|
|
|
341
364
|
submissionAttempts: bundle.submissionAttempts + 1
|
|
342
365
|
}
|
|
343
366
|
};
|
|
344
|
-
// Replace existing submitted bundle with new one
|
|
345
367
|
this.userOpMonitor.trackBundle(newTxInfo);
|
|
346
368
|
// Drop all userOperations that were rejected during simulation.
|
|
347
369
|
await this.mempool.dropUserOps(entryPoint, rejectedUserOps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAOlD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,YAAY,GAAG,EAAE,CAAA,CAAC,iDAAiD;AACzE,MAAM,UAAU,GAAG,KAAK,CAAA,CAAC,wBAAwB;AAEjD,MAAM,OAAO,eAAe;IAChB,aAAa,CAAe;IAC5B,MAAM,CAAY;IAClB,QAAQ,CAAU;IAClB,OAAO,CAAS;IAChB,MAAM,CAAQ;IACd,OAAO,CAAS;IAChB,eAAe,CAAiB;IAChC,QAAQ,GAAa,EAAE,CAAA;IACvB,YAAY,CAAc;IAC1B,aAAa,CAAe;IAC5B,OAAO,CAAmC;IAE1C,sBAAsB,GAAG,KAAK,CAAA;IAEtC,YAAY,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,EAShB;QACG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAC1B,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAC9B;YACI,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ;SACpD,CACJ,CAAA;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAElC,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAwB;QAC1C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;QAE9B,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACzD,CAAA;QACL,CAAC;QAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAChC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,UAAU,CAC9C,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,qCAAqC;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAC5C,CAAC,CACJ,CAAA;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAEhC,8CAA8C;QAC9C,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CACjC,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,GAAG,GAAG,YAAY,EAAE,iBAAiB;QACrE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iCAAiC;SAClE,CAAA;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;QACjE,CAAC;IACL,CAAC;IAED,mBAAmB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAM;QACV,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAA;YAC/D,CAAC;YACD,mBAAmB,EAAE,KAAK;YAC1B,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;SAC/C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,YAAiC;QAEjC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAAA;QACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAA;QAEnD,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE;YAC5C,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,QAAQ;aACrB,CAAC;SACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzC,iDAAiD;YACjD,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/B,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,qDAAqD;aAChE,CAAC,CAAA;YACF,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,QAAQ,EAAE,MAAM;YAChB,YAAY;YACZ,eAAe,EAAE,cAAc;YAC/B,cAAc,EAAE,OAAO;YACvB,KAAK;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;YAChE,qCAAqC;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;YAEpD,oBAAoB;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YAC3D,IAAI,CAAC,OAAO,CAAC,gBAAgB;iBACxB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC5B,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAEhC,yBAAyB;YACzB,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,cAAc;oBACvB,UAAU;oBACV,MAAM;iBACT,CAAC,CAAA;YACN,CAAC;YAED,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;YACpE,CAAC;YAED,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,eAAe;QACf,IAAI,EACA,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EAClB,GAAG,YAAY,CAAA;QAEhB,2DAA2D;QAC3D,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,UAAU;YACb,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,GAAG,CAAC;SACxD,CAAC,CAAC,CAAA;QAEH,MAAM,eAAe,GAAwB;YACzC,QAAQ,EAAE,MAAM;YAChB,eAAe;YACf,kBAAkB;YAClB,MAAM,EAAE;gBACJ,UAAU;gBACV,OAAO;gBACP,OAAO,EAAE,cAAc;gBACvB,kBAAkB,EAAE,CAAC;aACxB;YACD,yBAAyB,EAAE,EAAE;YAC7B,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;SAC3B,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO;YACvC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU;YAC7C,eAAe,EAAE,eAAe,CAAC,eAAe;SACnD,CAAC,CAAA;QAEF,8DAA8D;QAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QAEjE,OAAO,eAAe,CAAA;IAC1B,CAAC;IAED,kBAAkB;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC5B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,eAAoC;QACnD,MAAM,EACF,MAAM,EAAE,EAAE,OAAO,EAAE,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EAClB,GAAG,eAAe,CAAA;QAEnB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;SACpC,CAAC,CAAA;QAEF,IAAI,aAAa,GAAG,IAAI,CAAA,CAAC,0BAA0B;QAEnD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACD,wCAAwC;gBACxC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC;oBACxD,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,QAAQ;iBACrB,CAAC,CAAA;gBAEF,IAAI,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;oBACrD,OAAM;gBACV,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;gBAE9D,oDAAoD;gBACpD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;oBACpD,OAAO,EAAE,QAAQ;oBACjB,EAAE,EAAE,QAAQ,CAAC,OAAO;oBACpB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,kBAAkB,CAAC,KAAK;oBAC/B,YAAY,EAAE,oBAAoB,CAC9B,kBAAkB,CAAC,YAAY,EAC/B,aAAa,CAChB;oBACD,oBAAoB,EAAE,oBAAoB,CACtC,kBAAkB,CAAC,oBAAoB,EACvC,aAAa,CAChB;iBACJ,CAAC,CAAA;gBAEF,MAAM,CAAC,IAAI,CACP;oBACI,cAAc,EAAE,eAAe;oBAC/B,YAAY;oBACZ,OAAO,EAAE,OAAO,GAAG,CAAC;iBACvB,EACD,yBAAyB,CAC5B,CAAA;gBAED,+CAA+C;gBAC/C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CACvC,CAAA;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAA;gBACtD,aAAa,IAAI,GAAG,CAAA,CAAC,4CAA4C;YACrE,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,MAAM,CAAC,KAAK,CACR,EAAE,eAAe,EAAE,EACnB,2CAA2C,CAC9C,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAY;QAClC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAM;QACV,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAA;QAElC,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;YACnC,OAAM;QACV,CAAC;QAED,gFAAgF;QAChF,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,YAAY,EAAE,EAAE;gBAChB,oBAAoB,EAAE,EAAE;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;SACpC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE;YACzC,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,eAAe,CAAA;YAC5D,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GACxC,kBAAkB,CAAA;YAEtB,MAAM,gBAAgB,GAClB,YAAY,GAAG,eAAe,CAAC,YAAY;gBAC3C,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAA;YAE/D,MAAM,OAAO,GACT,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAA;YAEhE,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAC1B,eAAe;oBACf,eAAe;oBACf,cAAc;oBACd,MAAM,EAAE,WAAW;iBACtB,CAAC,CAAA;YACN,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAC1B,eAAe;oBACf,eAAe;oBACf,cAAc;oBACd,MAAM,EAAE,OAAO;iBAClB,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CACL,CAAA;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,MAAM,EAMT;QACG,MAAM,EACF,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,eAAe,EAAE,SAAS,EAC7B,GAAG,eAAe,CAAA;QAEnB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QAE7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,QAAQ,EAAE,QAAQ;YAClB,eAAe;YACf,cAAc;YACd,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE,kBAAkB,CAAC,KAAK;SAClC,CAAC,CAAA;QAEF,wCAAwC;QACxC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,YAAY,CAAA;YAEhE,+CAA+C;YAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/B,OAAO,EAAE,cAAc;gBACvB,UAAU;gBACV,MAAM;aACT,CAAC,CAAA;YAEF,uDAAuD;YACvD,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAC5C,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACX,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBAC7C,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CACzD,CAAA;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACtB,0CAA0C;gBAC1C,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvC,UAAU;oBACV,WAAW,EACP,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC;iBACzD,CAAC,CAAC,CACN,CAAA;gBAED,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CACnC,CAAA;gBAED,gFAAgF;gBAChF,0BAA0B;gBAC1B,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;gBAC5C,CAAC;gBAED,mDAAmD;gBACnD,MAAM,kBAAkB,GAAG,eAAe;qBACrC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC;qBACzC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;gBAExC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;YAClE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,EAAE,SAAS,EAAE,MAAM,EAAE,EACrB,+BAA+B,CAClC,CAAA;gBAED,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YAC/D,CAAC;YAED,qCAAqC;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YACtD,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;YAE5D,IAAI,CAAC,OAAO,CAAC,oBAAoB;iBAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBACpC,GAAG,EAAE,CAAA;YAEV,OAAM;QACV,CAAC;QAED,eAAe;QACf,MAAM,EACF,eAAe,EACf,cAAc,EACd,kBAAkB,EAAE,qBAAqB,EACzC,eAAe,EAAE,SAAS,EAC7B,GAAG,YAAY,CAAA;QAEhB,yDAAyD;QACzD,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxD,GAAG,UAAU;YACb,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,GAAG,CAAC;SACxD,CAAC,CAAC,CAAA;QAEH,MAAM,SAAS,GAAwB;YACnC,GAAG,eAAe;YAClB,kBAAkB,EAAE,qBAAqB;YACzC,eAAe,EAAE,SAAS;YAC1B,yBAAyB,EAAE;gBACvB,eAAe,CAAC,eAAe;gBAC/B,GAAG,eAAe,CAAC,yBAAyB;aAC/C;YACD,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE;gBACJ,GAAG,MAAM;gBACT,OAAO,EAAE,eAAe;gBACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAAG,CAAC;aACpD;SACJ,CAAA;QAED,iDAAiD;QACjD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAEzC,gEAAgE;QAChE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ;YACI,SAAS;YACT,SAAS;YACT,MAAM;SACT,EACD,sBAAsB,CACzB,CAAA;QAED,OAAM;IACV,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RejectedUserOp, UserOpInfo, UserOperationBundle } from "../types/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { type RejectedUserOp, type UserOpInfo, type UserOperationBundle } from "../types/index.js";
|
|
2
|
+
import { type Logger } from "../utils/index.js";
|
|
3
|
+
import type { AltoConfig } from "../createConfig.js";
|
|
4
4
|
export type FilterOpsResult = {
|
|
5
5
|
status: "success";
|
|
6
6
|
userOpsToBundle: UserOpInfo[];
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ArbitrumL1FeeAbi } from "../types/index.js";
|
|
2
|
-
import { getContract, encodeFunctionData, decodeAbiParameters, decodeErrorResult } from "viem";
|
|
3
|
-
import { formatAbiItemWithArgs } from "viem/utils";
|
|
4
|
-
import { entryPoint07Abi } from "viem/account-abstraction";
|
|
5
2
|
import { getSerializedHandleOpsTx, scaleBigIntByPercent, toPackedUserOp } from "../utils/index.js";
|
|
6
|
-
import { pimlicoSimulationsAbi } from "../types/contracts/PimlicoSimulations.js";
|
|
7
3
|
import * as sentry from "@sentry/node";
|
|
4
|
+
import { decodeAbiParameters, decodeErrorResult, encodeFunctionData, getContract } from "viem";
|
|
5
|
+
import { entryPoint07Abi } from "viem/account-abstraction";
|
|
6
|
+
import { formatAbiItemWithArgs } from "viem/utils";
|
|
7
|
+
import { pimlicoSimulationsAbi } from "../types/contracts/PimlicoSimulations.js";
|
|
8
8
|
import { getEip7702DelegationOverrides } from "../utils/eip7702.js";
|
|
9
|
-
import { encodeHandleOpsCalldata, calculateAA95GasFloor } from "./utils.js";
|
|
10
9
|
import { getFilterOpsStateOverride } from "../utils/entryPointOverrides.js";
|
|
10
|
+
import { calculateAA95GasFloor, encodeHandleOpsCalldata } from "./utils.js";
|
|
11
11
|
// Returns the chain specfic overhead that can't be calculated onchain.
|
|
12
12
|
const getChainSpecificOverhead = async ({ config, entryPoint, userOps }) => {
|
|
13
13
|
const { publicClient, chainType } = config;
|
|
@@ -32,7 +32,7 @@ const getChainSpecificOverhead = async ({ config, entryPoint, userOps }) => {
|
|
|
32
32
|
false,
|
|
33
33
|
serializedTx
|
|
34
34
|
]);
|
|
35
|
-
|
|
35
|
+
const [gasEstimateForL1, ,] = result;
|
|
36
36
|
return {
|
|
37
37
|
gasUsed: gasEstimateForL1,
|
|
38
38
|
// scaling by 10% as recommended by docs.
|
|
@@ -71,7 +71,7 @@ const getBundleGasLimit = async ({ config, userOpBundle, entryPoint, executorAdd
|
|
|
71
71
|
return gasLimit;
|
|
72
72
|
};
|
|
73
73
|
const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, beneficiary }) => {
|
|
74
|
-
|
|
74
|
+
const { publicClient, pimlicoSimulationContract, codeOverrideSupport, fixedGasLimitForEstimation } = config;
|
|
75
75
|
if (!pimlicoSimulationContract) {
|
|
76
76
|
throw new Error("pimlicoSimulationContract not set");
|
|
77
77
|
}
|
|
@@ -129,7 +129,6 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
|
|
|
129
129
|
...(eip7702Override ? eip7702Override : []),
|
|
130
130
|
...(simulationOverrides ? simulationOverrides : [])
|
|
131
131
|
];
|
|
132
|
-
let result;
|
|
133
132
|
const callResult = await publicClient.call({
|
|
134
133
|
to: pimlicoSimulationContract,
|
|
135
134
|
gas: fixedGasLimitForEstimation,
|
|
@@ -139,7 +138,7 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
|
|
|
139
138
|
if (!callResult.data) {
|
|
140
139
|
throw new Error("No data returned from filterOps simulation during eth_call");
|
|
141
140
|
}
|
|
142
|
-
result = callResult.data;
|
|
141
|
+
const result = callResult.data;
|
|
143
142
|
const filterOpsResult = decodeAbiParameters([
|
|
144
143
|
{
|
|
145
144
|
name: "result",
|
|
@@ -162,10 +161,8 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
|
|
|
162
161
|
};
|
|
163
162
|
// Attempt to create a handleOps bundle + estimate bundling tx gas.
|
|
164
163
|
export async function filterOpsAndEstimateGas({ userOpBundle, config, logger, networkBaseFee }) {
|
|
165
|
-
|
|
164
|
+
const { utilityWalletAddress: beneficiary } = config;
|
|
166
165
|
const { userOps, entryPoint } = userOpBundle;
|
|
167
|
-
let filterOpsResult;
|
|
168
|
-
let offchainOverhead;
|
|
169
166
|
try {
|
|
170
167
|
// Create promises for parallel execution
|
|
171
168
|
const filterOpsPromise = getFilterOpsResult({
|
|
@@ -184,8 +181,8 @@ export async function filterOpsAndEstimateGas({ userOpBundle, config, logger, ne
|
|
|
184
181
|
filterOpsPromise,
|
|
185
182
|
chainSpecificOverheadPromise
|
|
186
183
|
]);
|
|
187
|
-
filterOpsResult = results[0];
|
|
188
|
-
|
|
184
|
+
const filterOpsResult = results[0];
|
|
185
|
+
const offChainOverhead = results[1];
|
|
189
186
|
// Keep track of invalid and valid ops
|
|
190
187
|
const rejectedUserOpHashes = filterOpsResult.rejectedUserOps.map(({ userOpHash }) => userOpHash);
|
|
191
188
|
const userOpsToBundle = userOps.filter(({ userOpHash }) => !rejectedUserOpHashes.includes(userOpHash));
|
|
@@ -227,7 +224,7 @@ export async function filterOpsAndEstimateGas({ userOpBundle, config, logger, ne
|
|
|
227
224
|
};
|
|
228
225
|
}
|
|
229
226
|
// find overhead that can't be calculated onchain
|
|
230
|
-
const bundleGasUsed = filterOpsResult.gasUsed + 21000n +
|
|
227
|
+
const bundleGasUsed = filterOpsResult.gasUsed + 21000n + offChainOverhead.gasUsed;
|
|
231
228
|
// Find gasLimit needed for this bundle
|
|
232
229
|
const bundleGasLimit = await getBundleGasLimit({
|
|
233
230
|
config,
|
|
@@ -240,7 +237,7 @@ export async function filterOpsAndEstimateGas({ userOpBundle, config, logger, ne
|
|
|
240
237
|
userOpsToBundle,
|
|
241
238
|
rejectedUserOps,
|
|
242
239
|
bundleGasUsed,
|
|
243
|
-
bundleGasLimit: bundleGasLimit +
|
|
240
|
+
bundleGasLimit: bundleGasLimit + offChainOverhead.gasLimit,
|
|
244
241
|
totalBeneficiaryFees: filterOpsResult.balanceChange
|
|
245
242
|
};
|
|
246
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterOpsAndEstimateGas.js","sourceRoot":"","sources":["../../executor/filterOpsAndEstimateGas.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAOnB,MAAM,aAAa,CAAA;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"filterOpsAndEstimateGas.js","sourceRoot":"","sources":["../../executor/filterOpsAndEstimateGas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { UserOperationReceipt } from "../types/index.js";
|
|
2
|
+
import type { Logger } from "pino";
|
|
3
|
+
import type { Hex, PublicClient } from "viem";
|
|
4
|
+
import type { SubmittedBundleInfo } from "../types/mempool.js";
|
|
5
5
|
export type BundleIncluded = {
|
|
6
6
|
status: "included";
|
|
7
7
|
userOpReceipts: Record<Hex, UserOperationReceipt>;
|
|
@@ -16,8 +16,8 @@ export type BundleReverted = {
|
|
|
16
16
|
export type BundleNotFound = {
|
|
17
17
|
status: "not_found";
|
|
18
18
|
};
|
|
19
|
-
export type BundleStatus = BundleIncluded | BundleReverted | BundleNotFound;
|
|
20
|
-
export declare const getBundleStatus: ({ publicClient, submittedBundle
|
|
19
|
+
export type BundleStatus<status extends "included" | "reverted" | "not_found" = "included" | "reverted" | "not_found"> = (status extends "included" ? BundleIncluded : never) | (status extends "reverted" ? BundleReverted : never) | (status extends "not_found" ? BundleNotFound : never);
|
|
20
|
+
export declare const getBundleStatus: ({ publicClient, submittedBundle }: {
|
|
21
21
|
submittedBundle: SubmittedBundleInfo;
|
|
22
22
|
publicClient: PublicClient;
|
|
23
23
|
logger: Logger;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseUserOpReceipt } from "../utils/userop.js";
|
|
2
2
|
// Return the status of the bundling transaction.
|
|
3
|
-
export const getBundleStatus = async ({ publicClient, submittedBundle
|
|
3
|
+
export const getBundleStatus = async ({ publicClient, submittedBundle }) => {
|
|
4
4
|
const { transactionHash: currentHash, previousTransactionHashes: previousHashes, bundle } = submittedBundle;
|
|
5
5
|
const receipts = await Promise.all([currentHash, ...previousHashes].map((hash) => publicClient.getTransactionReceipt({ hash }).catch(() => undefined)));
|
|
6
6
|
const included = receipts.find((receipt) => receipt?.status === "success");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBundleStatus.js","sourceRoot":"","sources":["../../executor/getBundleStatus.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"getBundleStatus.js","sourceRoot":"","sources":["../../executor/getBundleStatus.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AA6BpD,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EAClC,YAAY,EACZ,eAAe,EAKlB,EAAyB,EAAE;IACxB,MAAM,EACF,eAAe,EAAE,WAAW,EAC5B,yBAAyB,EAAE,cAAc,EACzC,MAAM,EACT,GAAG,eAAe,CAAA;IAEnB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1C,YAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACtE,CACJ,CAAA;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAA;IAE1E,kCAAkC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAC1B,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAA;QACjD,MAAM,aAAa,GAAsC,EAAE,CAAA;QAE3D,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,OAAO,EAAE,CAAC;YACnC,aAAa,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACxE,CAAC;QAED,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,aAAa;YAC7B,eAAe;YACf,WAAW;SACd,CAAA;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,CAAA;IAE3E,8BAA8B;IAC9B,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAA;QACjD,OAAO;YACH,MAAM,EAAE,UAAU;YAClB,WAAW;YACX,eAAe;SAClB,CAAA;IACL,CAAC;IAED,sEAAsE;IACtE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AAClC,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Metrics } from "../../utils/index.js";
|
|
2
|
-
import { SenderManager } from "./index.js";
|
|
3
|
-
import { AltoConfig } from "../../createConfig.js";
|
|
1
|
+
import type { Metrics } from "../../utils/index.js";
|
|
2
|
+
import { type SenderManager } from "./index.js";
|
|
3
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
4
4
|
export declare const createMemorySenderManager: ({ config, metrics }: {
|
|
5
5
|
config: AltoConfig;
|
|
6
6
|
metrics: Metrics;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getAvailableWallets } from "./index.js";
|
|
2
1
|
import { Semaphore } from "async-mutex";
|
|
2
|
+
import { getAvailableWallets } from "./index.js";
|
|
3
3
|
export const createMemorySenderManager = ({ config, metrics }) => {
|
|
4
4
|
const wallets = getAvailableWallets(config);
|
|
5
5
|
const availableWallets = [...wallets];
|