@pimlico/alto 0.0.18 → 0.0.20
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 -0
- package/contracts/ERC165.sol/ERC165.json +1 -0
- package/contracts/ERC20.sol/ERC20.json +1 -0
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -0
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -0
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -0
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/contracts/Exec.sol/Exec.json +1 -0
- package/contracts/IAccount.sol/IAccount.json +1 -0
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/IERC165.sol/IERC165.json +1 -0
- package/contracts/IERC5267.sol/IERC5267.json +1 -0
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -0
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride09.json +1 -0
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
- package/contracts/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/LibBytes.sol/LibBytes.json +1 -0
- package/contracts/Math.sol/Math.json +1 -0
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
- package/contracts/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/Panic.sol/Panic.json +1 -0
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -0
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
- package/contracts/SafeCast.sol/SafeCast.json +1 -0
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
- package/contracts/SignedMath.sol/SignedMath.json +1 -0
- package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -0
- package/contracts/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
- package/contracts/Strings.sol/Strings.json +1 -0
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/build-info/338795fc743ca612.json +1 -0
- package/contracts/build-info/44a9648cfe32a468.json +1 -0
- package/contracts/build-info/8dbf8a4ad39019b5.json +1 -0
- package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/core/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/core/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/core/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/core/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/core/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/interfaces/IAccount.sol/IAccount.json +1 -0
- package/contracts/interfaces/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/interfaces/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/interfaces/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/overrides/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/overrides/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/overrides/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/overrides/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/overrides/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/utils/Exec.sol/Exec.json +1 -0
- package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -0
- package/contracts/v09/EntryPoint.sol/EntryPoint.json +1 -0
- package/esm/cli/alto.js +16 -7
- package/esm/cli/alto.js.map +1 -1
- package/esm/cli/config/bundler.d.ts +690 -540
- package/esm/cli/config/bundler.js +101 -66
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.d.ts +2 -1
- package/esm/cli/config/options.js +207 -59
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/customTransport.d.ts +3 -3
- package/esm/cli/customTransport.js +4 -3
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +5 -2
- package/esm/cli/deploySimulationsContract.js +108 -40
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +94 -22
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/instrumentation.js +7 -1
- package/esm/cli/instrumentation.js.map +1 -1
- package/esm/cli/parseArgs.js.map +1 -1
- package/esm/cli/setupServer.js +63 -63
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/cli/shutDown.d.ts +20 -0
- package/esm/cli/shutDown.js +260 -0
- package/esm/cli/shutDown.js.map +1 -0
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -0
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -0
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -0
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -0
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -0
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -0
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -0
- package/esm/createConfig.d.ts +12 -4
- package/esm/createConfig.js +2 -0
- package/esm/createConfig.js.map +1 -1
- package/esm/executor/bundleManager.d.ts +111 -0
- package/esm/executor/bundleManager.js +354 -0
- package/esm/executor/bundleManager.js.map +1 -0
- package/esm/executor/executor.d.ts +18 -23
- package/esm/executor/executor.js +183 -119
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +39 -88
- package/esm/executor/executorManager.js +325 -550
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/filterOpsAndEstimateGas.d.ts +39 -0
- package/esm/executor/filterOpsAndEstimateGas.js +280 -0
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -0
- package/esm/executor/getBundleStatus.d.ts +25 -0
- package/esm/executor/getBundleStatus.js +35 -0
- package/esm/executor/getBundleStatus.js.map +1 -0
- package/esm/executor/index.d.ts +1 -0
- package/esm/executor/index.js +1 -0
- package/esm/executor/index.js.map +1 -1
- package/esm/executor/senderManager/createMemorySenderManager.d.ts +3 -3
- package/esm/executor/senderManager/createMemorySenderManager.js +14 -1
- package/esm/executor/senderManager/createMemorySenderManager.js.map +1 -1
- package/esm/executor/senderManager/createRedisSenderManager.d.ts +5 -4
- package/esm/executor/senderManager/createRedisSenderManager.js +4 -7
- package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
- package/esm/executor/senderManager/flushOnStartUp.d.ts +3 -3
- package/esm/executor/senderManager/flushOnStartUp.js +4 -4
- package/esm/executor/senderManager/flushOnStartUp.js.map +1 -1
- package/esm/executor/senderManager/index.d.ts +4 -3
- package/esm/executor/senderManager/index.js +6 -2
- package/esm/executor/senderManager/index.js.map +1 -1
- package/esm/executor/senderManager/validateAndRefill.d.ts +4 -4
- package/esm/executor/senderManager/validateAndRefill.js +3 -3
- package/esm/executor/senderManager/validateAndRefill.js.map +1 -1
- package/esm/executor/utilityWalletMonitor.d.ts +5 -5
- package/esm/executor/utilityWalletMonitor.js +1 -1
- package/esm/executor/utilityWalletMonitor.js.map +1 -1
- package/esm/executor/utils.d.ts +14 -6
- package/esm/executor/utils.js +68 -37
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/arbitrumGasPriceManager.d.ts +4 -3
- package/esm/handlers/arbitrumGasPriceManager.js +9 -5
- package/esm/handlers/arbitrumGasPriceManager.js.map +1 -1
- package/esm/handlers/eventManager.d.ts +19 -18
- package/esm/handlers/eventManager.js +81 -61
- package/esm/handlers/eventManager.js.map +1 -1
- package/esm/handlers/gasPriceManager.d.ts +12 -10
- package/esm/handlers/gasPriceManager.js +79 -125
- package/esm/handlers/gasPriceManager.js.map +1 -1
- package/esm/handlers/mantleGasPriceManager.d.ts +5 -5
- package/esm/handlers/mantleGasPriceManager.js +4 -4
- package/esm/handlers/mantleGasPriceManager.js.map +1 -1
- package/esm/handlers/optimismManager.d.ts +2 -2
- package/esm/handlers/optimismManager.js +1 -1
- package/esm/handlers/optimismManager.js.map +1 -1
- package/esm/mempool/index.d.ts +1 -1
- package/esm/mempool/index.js +1 -1
- package/esm/mempool/index.js.map +1 -1
- package/esm/mempool/mempool.d.ts +71 -33
- package/esm/mempool/mempool.js +231 -155
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/reputationManager.d.ts +36 -36
- package/esm/mempool/reputationManager.js +93 -97
- package/esm/mempool/reputationManager.js.map +1 -1
- package/esm/mempool/statusManager.d.ts +20 -0
- package/esm/mempool/statusManager.js +143 -0
- package/esm/mempool/statusManager.js.map +1 -0
- package/esm/receiptCache/createMemoryReceiptCache.d.ts +3 -0
- package/esm/receiptCache/createMemoryReceiptCache.js +30 -0
- package/esm/receiptCache/createMemoryReceiptCache.js.map +1 -0
- package/esm/receiptCache/createRedisReceiptCache.d.ts +10 -0
- package/esm/receiptCache/createRedisReceiptCache.js +56 -0
- package/esm/receiptCache/createRedisReceiptCache.js.map +1 -0
- package/esm/receiptCache/index.d.ts +11 -0
- package/esm/receiptCache/index.js +21 -0
- package/esm/receiptCache/index.js.map +1 -0
- package/esm/rpc/createMethodHandler.d.ts +2 -2
- package/esm/rpc/createMethodHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +15 -16
- package/esm/rpc/estimation/gasEstimationHandler.js +24 -24
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations06.d.ts +18 -0
- package/esm/rpc/estimation/gasEstimations06.js +45 -0
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
- package/esm/rpc/estimation/gasEstimations07.d.ts +63 -0
- package/esm/rpc/estimation/gasEstimations07.js +384 -0
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
- package/esm/rpc/estimation/preVerificationGasCalculator.d.ts +56 -0
- package/esm/rpc/estimation/preVerificationGasCalculator.js +467 -0
- package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -0
- package/esm/rpc/estimation/types.d.ts +25 -111
- package/esm/rpc/estimation/types.js +5 -121
- package/esm/rpc/estimation/types.js.map +1 -1
- package/esm/rpc/estimation/utils.d.ts +69 -0
- package/esm/rpc/estimation/utils.js +240 -0
- package/esm/rpc/estimation/utils.js.map +1 -0
- package/{lib/rpc/methods/pimlico_sendUserOperationNow.d.ts → esm/rpc/methods/boost_sendUserOperation.d.ts} +299 -385
- package/esm/rpc/methods/boost_sendUserOperation.js +57 -0
- package/esm/rpc/methods/boost_sendUserOperation.js.map +1 -0
- package/esm/rpc/methods/debug_bundler_clearReputation.js +2 -2
- package/esm/rpc/methods/debug_bundler_clearReputation.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_clearState.js +2 -2
- package/esm/rpc/methods/debug_bundler_clearState.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +338 -0
- 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 +2 -2
- 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 +10 -2
- 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 +910 -301
- package/esm/rpc/methods/eth_estimateUserOperationGas.js +228 -12
- package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +621 -11
- package/esm/rpc/methods/eth_getUserOperationByHash.js +8 -8
- package/esm/rpc/methods/eth_getUserOperationByHash.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationReceipt.d.ts +26 -26
- package/esm/rpc/methods/eth_getUserOperationReceipt.js +10 -4
- package/esm/rpc/methods/eth_getUserOperationReceipt.js.map +1 -1
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +319 -2
- package/esm/rpc/methods/eth_sendUserOperation.js +223 -20
- 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 +11 -6
- 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.d.ts +6 -6
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js +3 -3
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js.map +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +330 -26
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +27 -24
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/{lib/rpc/methods/eth_estimateUserOperationGas.d.ts → esm/rpc/methods/pimlico_simulateAssetChange.d.ts} +891 -333
- package/esm/rpc/methods/pimlico_simulateAssetChange.js +113 -0
- package/esm/rpc/methods/pimlico_simulateAssetChange.js.map +1 -0
- package/esm/rpc/rpcHandler.d.ts +30 -54
- package/esm/rpc/rpcHandler.js +137 -315
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/server.d.ts +5 -5
- package/esm/rpc/server.js +15 -11
- package/esm/rpc/server.js.map +1 -1
- package/esm/rpc/validation/BundlerCollectorTracerV06.js +2 -2
- package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
- package/esm/rpc/validation/BundlerCollectorTracerV07.js +1 -1
- package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +20 -22
- package/esm/rpc/validation/SafeValidator.js +87 -100
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV06.d.ts +3 -3
- package/esm/rpc/validation/TracerResultParserV06.js +19 -19
- package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.d.ts +3 -3
- package/esm/rpc/validation/TracerResultParserV07.js +25 -25
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +32 -33
- package/esm/rpc/validation/UnsafeValidator.js +117 -101
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/rpc/validation/tracer.d.ts +1 -1
- package/esm/store/createMempoolStore.d.ts +3 -3
- package/esm/store/createMempoolStore.js +100 -113
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/index.d.ts +4 -80
- 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/outstanding/memory.d.ts +29 -0
- package/esm/store/outstanding/memory.js +263 -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 +229 -0
- package/esm/store/outstanding/redis.js.map +1 -0
- package/esm/store/outstanding/types.d.ts +19 -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 +16 -0
- package/esm/store/processing/memory.js +58 -0
- package/esm/store/processing/memory.js.map +1 -0
- package/esm/store/processing/redis.d.ts +23 -0
- package/esm/store/processing/redis.js +85 -0
- package/esm/store/processing/redis.js.map +1 -0
- package/esm/store/processing/types.d.ts +10 -0
- package/esm/store/processing/types.js +2 -0
- package/esm/store/processing/types.js.map +1 -0
- package/esm/store/types.d.ts +50 -0
- package/esm/store/types.js +2 -0
- package/esm/store/types.js.map +1 -0
- package/esm/types/contracts/PimlicoSimulations.d.ts +1661 -0
- package/esm/types/contracts/{EntryPointSimulationsV7.js → PimlicoSimulations.js} +1104 -1788
- package/esm/types/contracts/PimlicoSimulations.js.map +1 -0
- package/esm/types/contracts/index.d.ts +1 -3
- package/esm/types/contracts/index.js +1 -3
- package/esm/types/contracts/index.js.map +1 -1
- package/esm/types/gasPrice.js +0 -18
- package/esm/types/gasPrice.js.map +1 -1
- package/esm/types/interfaces.d.ts +26 -26
- package/esm/types/mempool.d.ts +14 -28
- package/esm/types/mempool.js +1 -7
- package/esm/types/mempool.js.map +1 -1
- package/esm/types/schemas.d.ts +26347 -10767
- package/esm/types/schemas.js +202 -38
- package/esm/types/schemas.js.map +1 -1
- package/esm/types/utils.d.ts +2 -5
- package/esm/types/utils.js +16 -18
- package/esm/types/utils.js.map +1 -1
- package/esm/types/validation.d.ts +9447 -8727
- package/esm/types/validation.js +123 -161
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/asyncTimeout.d.ts +5 -0
- package/esm/utils/asyncTimeout.js +23 -0
- package/esm/utils/asyncTimeout.js.map +1 -0
- package/esm/utils/bigInt.d.ts +9 -0
- package/esm/utils/bigInt.js +19 -2
- package/esm/utils/bigInt.js.map +1 -1
- package/esm/utils/eip7702.d.ts +4 -3
- package/esm/utils/eip7702.js +16 -7
- package/esm/utils/eip7702.js.map +1 -1
- package/esm/utils/entryPointOverrides.d.ts +12 -0
- package/esm/utils/entryPointOverrides.js +71 -0
- package/esm/utils/entryPointOverrides.js.map +1 -0
- package/esm/utils/helpers.d.ts +5 -3
- package/esm/utils/helpers.js +36 -13
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/index.d.ts +2 -2
- package/esm/utils/index.js +1 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/metrics.d.ts +11 -9
- package/esm/utils/metrics.js +44 -25
- package/esm/utils/metrics.js.map +1 -1
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +2 -2
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js +2 -2
- package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +1 -1
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +26 -4
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +111 -71
- package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
- package/esm/utils/minMaxQueue/index.d.ts +3 -3
- package/esm/utils/minMaxQueue/index.js +4 -3
- package/esm/utils/minMaxQueue/index.js.map +1 -1
- package/esm/utils/rpc-reply.d.ts +3 -3
- package/esm/utils/rpc-reply.js.map +1 -1
- package/esm/utils/toViemStateOverrides.d.ts +4 -0
- package/esm/utils/toViemStateOverrides.js +44 -0
- package/esm/utils/toViemStateOverrides.js.map +1 -0
- package/esm/utils/userop.d.ts +89 -87
- package/esm/utils/userop.js +207 -439
- package/esm/utils/userop.js.map +1 -1
- package/package.json +12 -7
- package/esm/executor/fastlane.d.ts +0 -9
- package/esm/executor/fastlane.js +0 -37
- package/esm/executor/fastlane.js.map +0 -1
- package/esm/executor/filterOpsAndEStimateGas.d.ts +0 -29
- package/esm/executor/filterOpsAndEStimateGas.js +0 -198
- package/esm/executor/filterOpsAndEStimateGas.js.map +0 -1
- package/esm/mempool/monitoring.d.ts +0 -14
- package/esm/mempool/monitoring.js +0 -97
- package/esm/mempool/monitoring.js.map +0 -1
- package/esm/rpc/estimation/gasEstimationsV06.d.ts +0 -19
- package/esm/rpc/estimation/gasEstimationsV06.js +0 -144
- package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/esm/rpc/estimation/gasEstimationsV07.js +0 -721
- package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/esm/store/createMemoryOutstandingStore.d.ts +0 -28
- package/esm/store/createMemoryOutstandingStore.js +0 -231
- package/esm/store/createMemoryOutstandingStore.js.map +0 -1
- package/esm/store/createRedisOutstandingStore.d.ts +0 -27
- package/esm/store/createRedisOutstandingStore.js +0 -344
- package/esm/store/createRedisOutstandingStore.js.map +0 -1
- package/esm/store/createRedisStore.d.ts +0 -9
- package/esm/store/createRedisStore.js +0 -131
- 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
- package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
- package/esm/types/contracts/EntryPointSimulationsV6.js +0 -48
- package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2193
- package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -26
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -38
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
- package/esm/utils/validation.d.ts +0 -76
- package/esm/utils/validation.js +0 -484
- package/esm/utils/validation.js.map +0 -1
- package/lib/cli/alto.d.ts +0 -7
- package/lib/cli/alto.js +0 -141
- package/lib/cli/alto.js.map +0 -1
- package/lib/cli/config/bundler.d.ts +0 -2836
- package/lib/cli/config/bundler.js +0 -222
- package/lib/cli/config/bundler.js.map +0 -1
- package/lib/cli/config/index.d.ts +0 -3
- package/lib/cli/config/index.js +0 -19
- package/lib/cli/config/index.js.map +0 -1
- package/lib/cli/config/options.d.ts +0 -13
- package/lib/cli/config/options.js +0 -553
- package/lib/cli/config/options.js.map +0 -1
- package/lib/cli/customTransport.d.ts +0 -14
- package/lib/cli/customTransport.js +0 -94
- package/lib/cli/customTransport.js.map +0 -1
- package/lib/cli/deploySimulationsContract.d.ts +0 -13
- package/lib/cli/deploySimulationsContract.js +0 -112
- package/lib/cli/deploySimulationsContract.js.map +0 -1
- package/lib/cli/handler.d.ts +0 -3
- package/lib/cli/handler.js +0 -157
- package/lib/cli/handler.js.map +0 -1
- package/lib/cli/index.d.ts +0 -4
- package/lib/cli/index.js +0 -20
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/instrumentation.d.ts +0 -2
- package/lib/cli/instrumentation.js +0 -47
- package/lib/cli/instrumentation.js.map +0 -1
- package/lib/cli/parseArgs.d.ts +0 -8
- package/lib/cli/parseArgs.js +0 -25
- package/lib/cli/parseArgs.js.map +0 -1
- package/lib/cli/setupServer.d.ts +0 -13
- package/lib/cli/setupServer.js +0 -266
- package/lib/cli/setupServer.js.map +0 -1
- package/lib/cli/util.d.ts +0 -22
- package/lib/cli/util.js +0 -34
- package/lib/cli/util.js.map +0 -1
- package/lib/createConfig.d.ts +0 -16
- package/lib/createConfig.js +0 -13
- package/lib/createConfig.js.map +0 -1
- package/lib/executor/executor.d.ts +0 -65
- package/lib/executor/executor.js +0 -285
- package/lib/executor/executor.js.map +0 -1
- package/lib/executor/executorManager.d.ts +0 -107
- package/lib/executor/executorManager.js +0 -682
- package/lib/executor/executorManager.js.map +0 -1
- package/lib/executor/fastlane.d.ts +0 -9
- package/lib/executor/fastlane.js +0 -41
- package/lib/executor/fastlane.js.map +0 -1
- package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
- package/lib/executor/filterOpsAndEStimateGas.js +0 -225
- package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
- package/lib/executor/index.d.ts +0 -5
- package/lib/executor/index.js +0 -21
- package/lib/executor/index.js.map +0 -1
- package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
- package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
- package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
- package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
- package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
- package/lib/executor/senderManager/flushOnStartUp.js +0 -37
- package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
- package/lib/executor/senderManager/index.d.ts +0 -15
- package/lib/executor/senderManager/index.js +0 -25
- package/lib/executor/senderManager/index.js.map +0 -1
- package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
- package/lib/executor/senderManager/validateAndRefill.js +0 -115
- package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
- package/lib/executor/utilityWalletMonitor.d.ts +0 -19
- package/lib/executor/utilityWalletMonitor.js +0 -42
- package/lib/executor/utilityWalletMonitor.js.map +0 -1
- package/lib/executor/utils.d.ts +0 -31
- package/lib/executor/utils.js +0 -170
- package/lib/executor/utils.js.map +0 -1
- package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
- package/lib/handlers/arbitrumGasPriceManager.js +0 -39
- package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
- package/lib/handlers/eventManager.d.ts +0 -28
- package/lib/handlers/eventManager.js +0 -207
- package/lib/handlers/eventManager.js.map +0 -1
- package/lib/handlers/gasPriceManager.d.ts +0 -36
- package/lib/handlers/gasPriceManager.js +0 -423
- package/lib/handlers/gasPriceManager.js.map +0 -1
- package/lib/handlers/index.d.ts +0 -3
- package/lib/handlers/index.js +0 -19
- package/lib/handlers/index.js.map +0 -1
- package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
- package/lib/handlers/mantleGasPriceManager.js +0 -44
- package/lib/handlers/mantleGasPriceManager.js.map +0 -1
- package/lib/handlers/optimismManager.d.ts +0 -10
- package/lib/handlers/optimismManager.js +0 -21
- package/lib/handlers/optimismManager.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -4
- package/lib/index.js.map +0 -1
- package/lib/mempool/index.d.ts +0 -4
- package/lib/mempool/index.js +0 -20
- package/lib/mempool/index.js.map +0 -1
- package/lib/mempool/mempool.d.ts +0 -191
- package/lib/mempool/mempool.js +0 -498
- package/lib/mempool/mempool.js.map +0 -1
- package/lib/mempool/monitoring.d.ts +0 -14
- package/lib/mempool/monitoring.js +0 -101
- package/lib/mempool/monitoring.js.map +0 -1
- package/lib/mempool/reputationManager.d.ts +0 -121
- package/lib/mempool/reputationManager.js +0 -472
- package/lib/mempool/reputationManager.js.map +0 -1
- package/lib/rpc/createMethodHandler.d.ts +0 -31
- package/lib/rpc/createMethodHandler.js +0 -34
- package/lib/rpc/createMethodHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
- package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
- package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
- package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
- package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
- package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/lib/rpc/estimation/types.d.ts +0 -120
- package/lib/rpc/estimation/types.js +0 -125
- package/lib/rpc/estimation/types.js.map +0 -1
- package/lib/rpc/index.d.ts +0 -4
- package/lib/rpc/index.js +0 -20
- package/lib/rpc/index.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
- package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
- package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
- package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
- package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
- package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
- package/lib/rpc/methods/eth_chainId.d.ts +0 -22
- package/lib/rpc/methods/eth_chainId.js +0 -13
- package/lib/rpc/methods/eth_chainId.js.map +0 -1
- package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
- package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
- package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
- package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
- package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
- package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
- package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
- package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
- package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
- package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
- package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
- package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
- package/lib/rpc/methods/index.d.ts +0 -3
- package/lib/rpc/methods/index.js +0 -44
- package/lib/rpc/methods/index.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -53
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
- package/lib/rpc/rpcHandler.d.ts +0 -75
- package/lib/rpc/rpcHandler.js +0 -408
- package/lib/rpc/rpcHandler.js.map +0 -1
- package/lib/rpc/server.d.ts +0 -26
- package/lib/rpc/server.js +0 -283
- package/lib/rpc/server.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
- package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
- package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
- package/lib/rpc/validation/SafeValidator.d.ts +0 -52
- package/lib/rpc/validation/SafeValidator.js +0 -350
- package/lib/rpc/validation/SafeValidator.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
- package/lib/rpc/validation/TracerResultParserV06.js +0 -582
- package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
- package/lib/rpc/validation/TracerResultParserV07.js +0 -599
- package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +0 -98
- package/lib/rpc/validation/UnsafeValidator.js +0 -326
- package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
- package/lib/rpc/validation/index.d.ts +0 -3
- package/lib/rpc/validation/index.js +0 -19
- package/lib/rpc/validation/index.js.map +0 -1
- package/lib/rpc/validation/tracer.d.ts +0 -125
- package/lib/rpc/validation/tracer.js +0 -112
- package/lib/rpc/validation/tracer.js.map +0 -1
- package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
- package/lib/store/createMemoryOutstandingStore.js +0 -236
- package/lib/store/createMemoryOutstandingStore.js.map +0 -1
- package/lib/store/createMempoolStore.d.ts +0 -8
- package/lib/store/createMempoolStore.js +0 -199
- package/lib/store/createMempoolStore.js.map +0 -1
- package/lib/store/createRedisOutstandingStore.d.ts +0 -27
- package/lib/store/createRedisOutstandingStore.js +0 -349
- package/lib/store/createRedisOutstandingStore.js.map +0 -1
- package/lib/store/createRedisStore.d.ts +0 -9
- package/lib/store/createRedisStore.js +0 -138
- package/lib/store/createRedisStore.js.map +0 -1
- package/lib/store/createStore.d.ts +0 -6
- package/lib/store/createStore.js +0 -70
- package/lib/store/createStore.js.map +0 -1
- package/lib/store/index.d.ts +0 -81
- package/lib/store/index.js +0 -6
- package/lib/store/index.js.map +0 -1
- package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
- package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
- package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/CallEngine.d.ts +0 -28
- package/lib/types/contracts/CallEngine.js +0 -40
- package/lib/types/contracts/CallEngine.js.map +0 -1
- package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
- package/lib/types/contracts/CodeHashGetter.js +0 -48
- package/lib/types/contracts/CodeHashGetter.js.map +0 -1
- package/lib/types/contracts/EntryPoint.d.ts +0 -1789
- package/lib/types/contracts/EntryPoint.js +0 -2307
- package/lib/types/contracts/EntryPoint.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
- package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
- package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2193
- package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2828
- package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
- package/lib/types/contracts/IAccountExecute.d.ts +0 -53
- package/lib/types/contracts/IAccountExecute.js +0 -71
- package/lib/types/contracts/IAccountExecute.js.map +0 -1
- package/lib/types/contracts/IPaymaster.d.ts +0 -3
- package/lib/types/contracts/IPaymaster.js +0 -120
- package/lib/types/contracts/IPaymaster.js.map +0 -1
- package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
- package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
- package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
- package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
- package/lib/types/contracts/OpL1FeeAbi.js +0 -77
- package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -26
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -41
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
- package/lib/types/contracts/SenderCreator.d.ts +0 -4
- package/lib/types/contracts/SenderCreator.js +0 -26
- package/lib/types/contracts/SenderCreator.js.map +0 -1
- package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
- package/lib/types/contracts/SimpleAccountFactory.js +0 -79
- package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccount.js +0 -284
- package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
- package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
- package/lib/types/contracts/TestStorageAccount.js +0 -316
- package/lib/types/contracts/TestStorageAccount.js.map +0 -1
- package/lib/types/contracts/index.d.ts +0 -17
- package/lib/types/contracts/index.js +0 -33
- package/lib/types/contracts/index.js.map +0 -1
- package/lib/types/gasPrice.d.ts +0 -110
- package/lib/types/gasPrice.js +0 -55
- package/lib/types/gasPrice.js.map +0 -1
- package/lib/types/index.d.ts +0 -11
- package/lib/types/index.js +0 -27
- package/lib/types/index.js.map +0 -1
- package/lib/types/interfaces.d.ts +0 -59
- package/lib/types/interfaces.js +0 -3
- package/lib/types/interfaces.js.map +0 -1
- package/lib/types/mempool.d.ts +0 -60
- package/lib/types/mempool.js +0 -11
- package/lib/types/mempool.js.map +0 -1
- package/lib/types/schemas.d.ts +0 -20779
- package/lib/types/schemas.js +0 -638
- package/lib/types/schemas.js.map +0 -1
- package/lib/types/utils.d.ts +0 -25
- package/lib/types/utils.js +0 -35
- package/lib/types/utils.js.map +0 -1
- package/lib/types/validation.d.ts +0 -14327
- package/lib/types/validation.js +0 -312
- package/lib/types/validation.js.map +0 -1
- package/lib/utils/bigInt.d.ts +0 -4
- package/lib/utils/bigInt.js +0 -19
- package/lib/utils/bigInt.js.map +0 -1
- package/lib/utils/eip7702.d.ts +0 -4
- package/lib/utils/eip7702.js +0 -21
- package/lib/utils/eip7702.js.map +0 -1
- package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
- package/lib/utils/fastify-rpc-decorators.js +0 -23
- package/lib/utils/fastify-rpc-decorators.js.map +0 -1
- package/lib/utils/helpers.d.ts +0 -15
- package/lib/utils/helpers.js +0 -59
- package/lib/utils/helpers.js.map +0 -1
- package/lib/utils/index.d.ts +0 -8
- package/lib/utils/index.js +0 -23
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -6
- package/lib/utils/logger.js +0 -85
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/metrics.d.ts +0 -28
- package/lib/utils/metrics.js +0 -192
- package/lib/utils/metrics.js.map +0 -1
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/index.d.ts +0 -12
- package/lib/utils/minMaxQueue/index.js +0 -16
- package/lib/utils/minMaxQueue/index.js.map +0 -1
- package/lib/utils/rpc-reply.d.ts +0 -16
- package/lib/utils/rpc-reply.js +0 -41
- package/lib/utils/rpc-reply.js.map +0 -1
- package/lib/utils/userop.d.ts +0 -138
- package/lib/utils/userop.js +0 -620
- package/lib/utils/userop.js.map +0 -1
- package/lib/utils/validation.d.ts +0 -76
- package/lib/utils/validation.js +0 -500
- package/lib/utils/validation.js.map +0 -1
|
@@ -11,8 +11,8 @@ export const flushOnStartUp = async ({ senderManager, gasPriceManager, config })
|
|
|
11
11
|
try {
|
|
12
12
|
gasPrice = await gasPriceManager.tryGetNetworkGasPrice();
|
|
13
13
|
}
|
|
14
|
-
catch (
|
|
15
|
-
logger.error({
|
|
14
|
+
catch (err) {
|
|
15
|
+
logger.error({ err }, "error flushing stuck transaction");
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
const promises = wallets.map(async (wallet) => {
|
|
@@ -24,8 +24,8 @@ export const flushOnStartUp = async ({ senderManager, gasPriceManager, config })
|
|
|
24
24
|
logger
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
catch (
|
|
28
|
-
logger.error({
|
|
27
|
+
catch (err) {
|
|
28
|
+
logger.error({ err }, "error flushing stuck transaction");
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
await Promise.all(promises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushOnStartUp.js","sourceRoot":"","sources":["../../../executor/senderManager/flushOnStartUp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,aAAa,EACb,eAAe,EACf,MAAM,EAKT,EAAE,EAAE;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC3B,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/B,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC7B,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAC9C,IAAI,aAAa,EAAE,CAAC;QAChB,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,QAGH,CAAA;IAED,IAAI,CAAC;QACD,QAAQ,GAAG,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAA;IAC5D,CAAC;IAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"flushOnStartUp.js","sourceRoot":"","sources":["../../../executor/senderManager/flushOnStartUp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,aAAa,EACb,eAAe,EACf,MAAM,EAKT,EAAE,EAAE;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC3B,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/B,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC7B,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAC9C,IAAI,aAAa,EAAE,CAAC;QAChB,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,QAGH,CAAA;IAED,IAAI,CAAC;QACD,QAAQ,GAAG,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAA;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,kCAAkC,CAAC,CAAA;QACzD,OAAM;IACV,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,CAAC;YACD,MAAM,qBAAqB,CAAC;gBACxB,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,YAAY,GAAG,EAAE;gBACpC,MAAM;aACT,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,kCAAkC,CAAC,CAAA;QAC7D,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { Metrics } from "../../utils/index.js";
|
|
2
|
+
import type { Account } from "viem";
|
|
3
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
4
4
|
export declare const getAvailableWallets: (config: AltoConfig) => Account[];
|
|
5
5
|
export type SenderManager = {
|
|
6
6
|
getAllWallets: () => Account[];
|
|
7
7
|
getWallet: () => Promise<Account>;
|
|
8
|
+
lockWallet?: (wallet: Account) => Promise<void>;
|
|
8
9
|
markWalletProcessed: (wallet: Account) => Promise<void>;
|
|
9
10
|
getActiveWallets: () => Account[];
|
|
10
11
|
};
|
|
@@ -12,8 +12,12 @@ export const getAvailableWallets = (config) => {
|
|
|
12
12
|
return availableWallets;
|
|
13
13
|
};
|
|
14
14
|
export const getSenderManager = async ({ config, metrics }) => {
|
|
15
|
-
if (config.
|
|
16
|
-
return await createRedisSenderManager({
|
|
15
|
+
if (config.enableHorizontalScaling && config.redisEndpoint) {
|
|
16
|
+
return await createRedisSenderManager({
|
|
17
|
+
config,
|
|
18
|
+
metrics,
|
|
19
|
+
redisEndpoint: config.redisEndpoint
|
|
20
|
+
});
|
|
17
21
|
}
|
|
18
22
|
return createMemorySenderManager({ config, metrics });
|
|
19
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../executor/senderManager/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../executor/senderManager/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAkB,EAAE,EAAE;IACtD,IAAI,gBAAgB,GAAc,EAAE,CAAA;IAEpC,IACI,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,EACzD,CAAC;QACC,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAC/C,CAAC,EACD,MAAM,CAAC,YAAY,CACtB,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAA;IACjD,CAAC;IAED,OAAO,gBAAgB,CAAA;AAC3B,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACnC,MAAM,EACN,OAAO,EACgC,EAA0B,EAAE;IACnE,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,MAAM,wBAAwB,CAAC;YAClC,MAAM;YACN,OAAO;YACP,aAAa,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,yBAAyB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { Metrics } from "../../utils/index.js";
|
|
2
|
+
import type { SenderManager } from "./index.js";
|
|
3
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
4
|
+
import type { GasPriceManager } from "../../handlers/gasPriceManager.js";
|
|
5
5
|
export declare const validateAndRefillWallets: ({ metrics, config, senderManager, gasPriceManager }: {
|
|
6
6
|
config: AltoConfig;
|
|
7
7
|
senderManager: SenderManager;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { formatEther, getContract } from "viem";
|
|
2
1
|
import { CallEngineAbi } from "../../types/index.js";
|
|
2
|
+
import { formatEther, getContract } from "viem";
|
|
3
3
|
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
|
|
4
4
|
export const validateAndRefillWallets = async ({ metrics, config, senderManager, gasPriceManager }) => {
|
|
5
5
|
const logger = config.getLogger({ module: "validate-and-refill-wallets" }, { level: config.logLevel });
|
|
@@ -66,7 +66,7 @@ export const validateAndRefillWallets = async ({ metrics, config, senderManager,
|
|
|
66
66
|
address: config.refillHelperContract,
|
|
67
67
|
client: {
|
|
68
68
|
public: config.publicClient,
|
|
69
|
-
wallet: config.
|
|
69
|
+
wallet: config.walletClients.public
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
const tx = await callEngine.write.execute([instructions], {
|
|
@@ -82,7 +82,7 @@ export const validateAndRefillWallets = async ({ metrics, config, senderManager,
|
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
84
|
for (const [address, missingBalance] of Object.entries(balancesMissing)) {
|
|
85
|
-
const tx = await config.
|
|
85
|
+
const tx = await config.walletClients.public.sendTransaction({
|
|
86
86
|
account: utilityAccount,
|
|
87
87
|
// @ts-ignore
|
|
88
88
|
to: address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateAndRefill.js","sourceRoot":"","sources":["../../../executor/senderManager/validateAndRefill.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"validateAndRefill.js","sourceRoot":"","sources":["../../../executor/senderManager/validateAndRefill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Metrics } from "../utils/index.js";
|
|
2
|
-
import type { AltoConfig } from "../createConfig.js";
|
|
3
2
|
import type { Address } from "abitype";
|
|
3
|
+
import type { AltoConfig } from "../createConfig.js";
|
|
4
4
|
export declare class UtilityWalletMonitor {
|
|
5
|
-
private config;
|
|
6
|
-
private utilityWalletAddress;
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly utilityWalletAddress;
|
|
7
|
+
private readonly metrics;
|
|
8
|
+
private readonly logger;
|
|
7
9
|
private timer;
|
|
8
|
-
private metrics;
|
|
9
|
-
private logger;
|
|
10
10
|
constructor({ config, metrics, utilityWalletAddress }: {
|
|
11
11
|
config: AltoConfig;
|
|
12
12
|
metrics: Metrics;
|
|
@@ -2,9 +2,9 @@ import { formatEther } from "viem";
|
|
|
2
2
|
export class UtilityWalletMonitor {
|
|
3
3
|
config;
|
|
4
4
|
utilityWalletAddress;
|
|
5
|
-
timer;
|
|
6
5
|
metrics;
|
|
7
6
|
logger;
|
|
7
|
+
timer;
|
|
8
8
|
constructor({ config, metrics, utilityWalletAddress }) {
|
|
9
9
|
this.config = config;
|
|
10
10
|
this.utilityWalletAddress = utilityWalletAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilityWalletMonitor.js","sourceRoot":"","sources":["../../executor/utilityWalletMonitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utilityWalletMonitor.js","sourceRoot":"","sources":["../../executor/utilityWalletMonitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,WAAW,EAAE,MAAM,MAAM,CAAA;AAG5C,MAAM,OAAO,oBAAoB;IACZ,MAAM,CAAY;IAClB,oBAAoB,CAAK;IACzB,OAAO,CAAS;IAChB,MAAM,CAAQ;IACvB,KAAK,CAA0B;IAEvC,YAAY,EACR,MAAM,EACN,OAAO,EACP,oBAAoB,EAKvB;QACG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAC1B,EAAE,MAAM,EAAE,wBAAwB,EAAE,EACpC;YACI,KAAK,EAAE,MAAM,CAAC,QAAQ;SACzB,CACJ,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,oBAAoB;aACrC,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CACjC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,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,MAAM,CAAC,4BAA4B,CAC3B,CAAA;IACrB,CAAC;IAEM,IAAI;QACP,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;CACJ"}
|
package/esm/executor/utils.d.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import { type UserOpInfo } from "../types/index.js";
|
|
1
|
+
import { type UserOpInfo, type UserOperation } from "../types/index.js";
|
|
2
2
|
import { type Logger } from "../utils/index.js";
|
|
3
|
-
import { type Account, type
|
|
3
|
+
import { type Account, type Address, type BaseError, type Hex, type SignedAuthorizationList } from "viem";
|
|
4
4
|
import type { AltoConfig } from "../createConfig.js";
|
|
5
|
-
|
|
5
|
+
export declare const getBundleGasLimit: ({ config, userOps, entryPoint, executorAddress }: {
|
|
6
|
+
config: AltoConfig;
|
|
7
|
+
userOps: UserOperation[];
|
|
8
|
+
entryPoint: Address;
|
|
9
|
+
executorAddress: Address;
|
|
10
|
+
}) => Promise<bigint>;
|
|
6
11
|
export declare const isTransactionUnderpricedError: (e: BaseError) => boolean;
|
|
7
|
-
export declare function calculateAA95GasFloor(userOps
|
|
12
|
+
export declare function calculateAA95GasFloor({ userOps, beneficiary }: {
|
|
13
|
+
userOps: UserOperation[];
|
|
14
|
+
beneficiary: Address;
|
|
15
|
+
}): bigint;
|
|
8
16
|
export declare const getUserOpHashes: (userOpInfos: UserOpInfo[]) => `0x${string}`[];
|
|
9
|
-
export declare const packUserOps: (
|
|
17
|
+
export declare const packUserOps: (userOps: UserOperation[]) => {
|
|
10
18
|
sender: `0x${string}`;
|
|
11
19
|
nonce: bigint;
|
|
12
20
|
initCode: `0x${string}`;
|
|
@@ -18,7 +26,7 @@ export declare const packUserOps: (userOpInfos: UserOpInfo[]) => {
|
|
|
18
26
|
gasFees: `0x${string}`;
|
|
19
27
|
}[];
|
|
20
28
|
export declare const encodeHandleOpsCalldata: ({ userOps, beneficiary }: {
|
|
21
|
-
userOps:
|
|
29
|
+
userOps: UserOperation[];
|
|
22
30
|
beneficiary: Address;
|
|
23
31
|
}) => Hex;
|
|
24
32
|
export declare const getAuthorizationList: (userOpInfos: UserOpInfo[]) => SignedAuthorizationList | undefined;
|
package/esm/executor/utils.js
CHANGED
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
import { EntryPointV06Abi, EntryPointV07Abi } from "../types/index.js";
|
|
2
|
-
import { isVersion06,
|
|
2
|
+
import { isVersion06, isVersion07, scaleBigIntByPercent, toPackedUserOp } from "../utils/index.js";
|
|
3
3
|
import * as sentry from "@sentry/node";
|
|
4
4
|
import { encodeFunctionData, toBytes } from "viem";
|
|
5
|
+
import { getEip7702AuthAddress } from "../utils/eip7702.js";
|
|
6
|
+
export const getBundleGasLimit = async ({ config, userOps, entryPoint, executorAddress }) => {
|
|
7
|
+
const { rpcGasEstimate, publicClient } = config;
|
|
8
|
+
let gasLimit;
|
|
9
|
+
// On some chains we can't rely on local calculations and have to estimate the gasLimit from RPC
|
|
10
|
+
if (rpcGasEstimate) {
|
|
11
|
+
gasLimit = await publicClient.estimateGas({
|
|
12
|
+
to: entryPoint,
|
|
13
|
+
account: executorAddress,
|
|
14
|
+
data: encodeHandleOpsCalldata({
|
|
15
|
+
userOps: userOps,
|
|
16
|
+
beneficiary: executorAddress
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const aa95GasFloor = calculateAA95GasFloor({
|
|
22
|
+
userOps: userOps,
|
|
23
|
+
beneficiary: executorAddress
|
|
24
|
+
});
|
|
25
|
+
const eip7702UserOpCount = userOps.filter((userOp) => userOp.eip7702Auth).length;
|
|
26
|
+
const eip7702Overhead = BigInt(eip7702UserOpCount) * 40000n;
|
|
27
|
+
// Add 5% safety margin to local estimates.
|
|
28
|
+
gasLimit = scaleBigIntByPercent(aa95GasFloor + eip7702Overhead, 105n);
|
|
29
|
+
}
|
|
30
|
+
return gasLimit;
|
|
31
|
+
};
|
|
5
32
|
export const isTransactionUnderpricedError = (e) => {
|
|
6
|
-
const transactionUnderPriceError = e.walk((e) =>
|
|
7
|
-
?.toLowerCase()
|
|
8
|
-
|
|
33
|
+
const transactionUnderPriceError = e.walk((e) => {
|
|
34
|
+
const message = e?.message?.toLowerCase();
|
|
35
|
+
return (message?.includes("replacement transaction underpriced") || // Geth error message
|
|
36
|
+
message?.includes("could not replace existing tx") // Erigon error message
|
|
37
|
+
);
|
|
38
|
+
});
|
|
9
39
|
return transactionUnderPriceError !== null;
|
|
10
40
|
};
|
|
11
41
|
// V7 source: https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.7/contracts/core/EntryPoint.sol
|
|
12
42
|
// V6 source: https://github.com/eth-infinitism/account-abstraction/blob/fa61290d37d079e928d92d53a122efcc63822214/contracts/core/EntryPoint.sol#L236
|
|
13
|
-
export function calculateAA95GasFloor(userOps, beneficiary) {
|
|
43
|
+
export function calculateAA95GasFloor({ userOps, beneficiary }) {
|
|
14
44
|
let gasFloor = 0n;
|
|
15
|
-
for (const
|
|
16
|
-
const { userOp } = userOpInfo;
|
|
45
|
+
for (const userOp of userOps) {
|
|
17
46
|
if (isVersion07(userOp)) {
|
|
18
47
|
const totalGas = userOp.callGasLimit +
|
|
19
48
|
(userOp.paymasterPostOpGasLimit || 0n) +
|
|
20
|
-
10000n;
|
|
49
|
+
10000n; // INNER_GAS_OVERHEAD
|
|
21
50
|
gasFloor += (totalGas * 64n) / 63n;
|
|
22
51
|
// AA95 check happens after verification + paymaster verification
|
|
23
52
|
gasFloor +=
|
|
@@ -27,7 +56,7 @@ export function calculateAA95GasFloor(userOps, beneficiary) {
|
|
|
27
56
|
gasFloor += 30000n;
|
|
28
57
|
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
29
58
|
const calldata = encodeHandleOpsCalldata({
|
|
30
|
-
userOps:
|
|
59
|
+
userOps: [userOp],
|
|
31
60
|
beneficiary
|
|
32
61
|
});
|
|
33
62
|
const handleOpsCalldataCost = toBytes(calldata)
|
|
@@ -44,7 +73,7 @@ export function calculateAA95GasFloor(userOps, beneficiary) {
|
|
|
44
73
|
gasFloor += 30000n;
|
|
45
74
|
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
46
75
|
const calldata = encodeHandleOpsCalldata({
|
|
47
|
-
userOps:
|
|
76
|
+
userOps: [userOp],
|
|
48
77
|
beneficiary
|
|
49
78
|
});
|
|
50
79
|
const handleOpsCalldataCost = toBytes(calldata)
|
|
@@ -58,17 +87,18 @@ export function calculateAA95GasFloor(userOps, beneficiary) {
|
|
|
58
87
|
export const getUserOpHashes = (userOpInfos) => {
|
|
59
88
|
return userOpInfos.map(({ userOpHash }) => userOpHash);
|
|
60
89
|
};
|
|
61
|
-
export const packUserOps = (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
90
|
+
export const packUserOps = (userOps) => {
|
|
91
|
+
if (userOps.length === 0) {
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
const is06 = isVersion06(userOps[0]);
|
|
95
|
+
const packedUserOps = is06
|
|
65
96
|
? userOps
|
|
66
|
-
: userOps.map((
|
|
97
|
+
: userOps.map((userOp) => toPackedUserOp(userOp));
|
|
67
98
|
return packedUserOps;
|
|
68
99
|
};
|
|
69
100
|
export const encodeHandleOpsCalldata = ({ userOps, beneficiary }) => {
|
|
70
|
-
const
|
|
71
|
-
const isV06 = isVersion06(ops[0]);
|
|
101
|
+
const isV06 = isVersion06(userOps[0]);
|
|
72
102
|
const packedUserOps = packUserOps(userOps);
|
|
73
103
|
return encodeFunctionData({
|
|
74
104
|
abi: isV06 ? EntryPointV06Abi : EntryPointV07Abi,
|
|
@@ -77,27 +107,28 @@ export const encodeHandleOpsCalldata = ({ userOps, beneficiary }) => {
|
|
|
77
107
|
});
|
|
78
108
|
};
|
|
79
109
|
export const getAuthorizationList = (userOpInfos) => {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
: eip7702Auth
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
110
|
+
const authMap = new Map();
|
|
111
|
+
// Deduplicate EIP-7702 auths if userOp.sender has multiple same eip7702Auth fields.
|
|
112
|
+
for (const { userOp } of userOpInfos) {
|
|
113
|
+
const { eip7702Auth, sender } = userOp;
|
|
114
|
+
if (eip7702Auth && !authMap.has(sender)) {
|
|
115
|
+
authMap.set(sender, {
|
|
116
|
+
address: getEip7702AuthAddress(eip7702Auth),
|
|
117
|
+
chainId: eip7702Auth.chainId,
|
|
118
|
+
nonce: eip7702Auth.nonce,
|
|
119
|
+
r: eip7702Auth.r,
|
|
120
|
+
s: eip7702Auth.s,
|
|
121
|
+
v: eip7702Auth.v,
|
|
122
|
+
yParity: eip7702Auth.yParity
|
|
123
|
+
});
|
|
93
124
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return authList.length ? authList : undefined;
|
|
125
|
+
}
|
|
126
|
+
const authList = Array.from(authMap.values());
|
|
127
|
+
return authList.length > 0 ? authList : undefined;
|
|
97
128
|
};
|
|
98
129
|
export async function flushStuckTransaction({ config, wallet, gasPrice, logger }) {
|
|
99
130
|
const publicClient = config.publicClient;
|
|
100
|
-
const walletClient = config.
|
|
131
|
+
const walletClient = config.walletClients.public;
|
|
101
132
|
const latestNonce = await publicClient.getTransactionCount({
|
|
102
133
|
address: wallet.address,
|
|
103
134
|
blockTag: "latest"
|
|
@@ -128,9 +159,9 @@ export async function flushStuckTransaction({ config, wallet, gasPrice, logger }
|
|
|
128
159
|
});
|
|
129
160
|
logger.debug({ txHash, nonce: nonceToFlush, wallet: wallet.address }, "flushed stuck transaction");
|
|
130
161
|
}
|
|
131
|
-
catch (
|
|
132
|
-
sentry.captureException(
|
|
133
|
-
logger.warn({
|
|
162
|
+
catch (err) {
|
|
163
|
+
sentry.captureException(err);
|
|
164
|
+
logger.warn({ err }, "error flushing stuck transaction");
|
|
134
165
|
}
|
|
135
166
|
}
|
|
136
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AltoConfig } from "../createConfig.js";
|
|
1
|
+
import type { AltoConfig } from "../createConfig.js";
|
|
2
2
|
export declare class ArbitrumManager {
|
|
3
|
-
private l1BaseFeeQueue;
|
|
4
|
-
private l2BaseFeeQueue;
|
|
3
|
+
private readonly l1BaseFeeQueue;
|
|
4
|
+
private readonly l2BaseFeeQueue;
|
|
5
5
|
constructor({ config }: {
|
|
6
6
|
config: AltoConfig;
|
|
7
7
|
});
|
|
@@ -9,6 +9,7 @@ export declare class ArbitrumManager {
|
|
|
9
9
|
saveL2BaseFee(baseFee: bigint): void;
|
|
10
10
|
getMinL1BaseFee(): Promise<bigint>;
|
|
11
11
|
getMaxL1BaseFee(): Promise<bigint>;
|
|
12
|
+
getMinL2BaseFee(): Promise<bigint>;
|
|
12
13
|
getMaxL2BaseFee(): Promise<bigint>;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=arbitrumGasPriceManager.d.ts.map
|
|
@@ -5,11 +5,11 @@ export class ArbitrumManager {
|
|
|
5
5
|
l2BaseFeeQueue;
|
|
6
6
|
constructor({ config }) {
|
|
7
7
|
this.l1BaseFeeQueue = createMinMaxQueue({
|
|
8
|
-
|
|
8
|
+
queueName: "l1-base-fee-queue",
|
|
9
9
|
config
|
|
10
10
|
});
|
|
11
11
|
this.l2BaseFeeQueue = createMinMaxQueue({
|
|
12
|
-
|
|
12
|
+
queueName: "l2-base-fee-queue",
|
|
13
13
|
config
|
|
14
14
|
});
|
|
15
15
|
}
|
|
@@ -20,15 +20,19 @@ export class ArbitrumManager {
|
|
|
20
20
|
this.l2BaseFeeQueue.saveValue(baseFee);
|
|
21
21
|
}
|
|
22
22
|
async getMinL1BaseFee() {
|
|
23
|
-
|
|
23
|
+
const minL1BaseFee = await this.l1BaseFeeQueue.getMinValue();
|
|
24
24
|
return minL1BaseFee || 1n;
|
|
25
25
|
}
|
|
26
26
|
async getMaxL1BaseFee() {
|
|
27
|
-
|
|
27
|
+
const maxL1BaseFee = await this.l1BaseFeeQueue.getMaxValue();
|
|
28
28
|
return maxL1BaseFee || maxUint128;
|
|
29
29
|
}
|
|
30
|
+
async getMinL2BaseFee() {
|
|
31
|
+
const minL2BaseFee = await this.l2BaseFeeQueue.getMinValue();
|
|
32
|
+
return minL2BaseFee || 1n;
|
|
33
|
+
}
|
|
30
34
|
async getMaxL2BaseFee() {
|
|
31
|
-
|
|
35
|
+
const maxL2BaseFee = await this.l2BaseFeeQueue.getMaxValue();
|
|
32
36
|
return maxL2BaseFee || maxUint128;
|
|
33
37
|
}
|
|
34
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arbitrumGasPriceManager.js","sourceRoot":"","sources":["../../handlers/arbitrumGasPriceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"arbitrumGasPriceManager.js","sourceRoot":"","sources":["../../handlers/arbitrumGasPriceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAoB,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE1E,MAAM,OAAO,eAAe;IACP,cAAc,CAAa;IAC3B,cAAc,CAAa;IAE5C,YAAY,EAAE,MAAM,EAA0B;QAC1C,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;YACpC,SAAS,EAAE,mBAAmB;YAC9B,MAAM;SACT,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;YACpC,SAAS,EAAE,mBAAmB;YAC9B,MAAM;SACT,CAAC,CAAA;IACN,CAAC;IAEM,aAAa,CAAC,OAAe;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,aAAa,CAAC,OAAe;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,YAAY,IAAI,EAAE,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,YAAY,IAAI,UAAU,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,YAAY,IAAI,EAAE,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,YAAY,IAAI,UAAU,CAAA;IACrC,CAAC;CACJ"}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import type { Metrics } from "../utils/index.js";
|
|
2
1
|
import type { Hex } from "viem";
|
|
3
2
|
import type { AltoConfig } from "../createConfig.js";
|
|
4
3
|
export declare class EventManager {
|
|
5
|
-
private chainId;
|
|
6
|
-
private logger;
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
|
|
4
|
+
private readonly chainId;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
private readonly redisEventManagerQueue?;
|
|
7
|
+
private readonly eventBuffer;
|
|
8
|
+
private flushTimer?;
|
|
9
|
+
constructor({ config }: {
|
|
10
10
|
config: AltoConfig;
|
|
11
|
-
metrics: Metrics;
|
|
12
11
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
private startFlushTimer;
|
|
13
|
+
private flushEvents;
|
|
14
|
+
emitExecutionRevertedOnChain(userOpHash: Hex, transactionHash: Hex, reason: Hex, blockNumber: bigint): void;
|
|
15
|
+
emitFailedOnChain(userOpHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
16
|
+
emitFrontranOnChain(userOpHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
17
|
+
emitIncludedOnChain(userOpHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
18
|
+
emitQueued(userOpHash: Hex): void;
|
|
19
|
+
emitReceived(userOpHash: Hex, timestamp?: number): void;
|
|
20
|
+
emitFailedValidation(userOpHash: Hex, reason?: string, aaError?: string): void;
|
|
20
21
|
emitSubmitted({ userOpHashes, transactionHash }: {
|
|
21
22
|
userOpHashes: Hex[];
|
|
22
23
|
transactionHash: Hex;
|
|
23
|
-
}):
|
|
24
|
-
emitDropped(
|
|
25
|
-
emitAddedToMempool(
|
|
26
|
-
private
|
|
24
|
+
}): void;
|
|
25
|
+
emitDropped(userOpHash: Hex, reason?: string, aaError?: string): void;
|
|
26
|
+
emitAddedToMempool(userOpHash: Hex): void;
|
|
27
|
+
private queueEvent;
|
|
27
28
|
}
|
|
28
29
|
//# sourceMappingURL=eventManager.d.ts.map
|