@pimlico/alto 0.0.0-main.20250428T104157 → 0.0.0-main.20250429T114818
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/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
- package/contracts/EntryPointCodeOverride.sol/EntryPointCodeOverride.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations.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/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/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/PimlicoEntryPointSimulationsV7.sol/PimlicoEntryPointSimulationsV7.json +1 -0
- package/contracts/PimlicoEntryPointSimulationsV8.sol/PimlicoEntryPointSimulationsV8.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/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/build-info/0c52dc19c74a9a932ddddcca463ce398.json +1 -0
- package/contracts/build-info/a1d9af887789a0ade8ffbc8b045f0780.json +1 -0
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/esm/cli/deploySimulationsContract.js +14 -5
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/package.json +2 -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 -2872
- package/lib/cli/config/bundler.js +0 -242
- 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 -587
- 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 -100
- 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 -301
- package/lib/executor/executor.js.map +0 -1
- package/lib/executor/executorManager.d.ts +0 -108
- package/lib/executor/executorManager.js +0 -702
- 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 -34
- package/lib/executor/utils.js +0 -167
- 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 -29
- package/lib/handlers/eventManager.js +0 -225
- package/lib/handlers/eventManager.js.map +0 -1
- package/lib/handlers/gasPriceManager.d.ts +0 -36
- package/lib/handlers/gasPriceManager.js +0 -391
- 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 -499
- 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.d.ts +0 -1891
- 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.d.ts +0 -1268
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
- package/lib/rpc/rpcHandler.d.ts +0 -75
- package/lib/rpc/rpcHandler.js +0 -391
- 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 -51
- package/lib/rpc/validation/SafeValidator.js +0 -327
- 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 -97
- package/lib/rpc/validation/UnsafeValidator.js +0 -303
- 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 -2076
- package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
- 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 -25
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
- 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 -58
- 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 -20785
- package/lib/types/schemas.js +0 -679
- 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/asyncTimeout.d.ts +0 -5
- package/lib/utils/asyncTimeout.js +0 -51
- package/lib/utils/asyncTimeout.js.map +0 -1
- package/lib/utils/bigInt.d.ts +0 -8
- package/lib/utils/bigInt.js +0 -24
- 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 -9
- package/lib/utils/index.js +0 -24
- 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 -29
- package/lib/utils/metrics.js +0 -199
- 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 -491
- package/lib/utils/validation.js.map +0 -1
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Account } from "viem";
|
|
2
|
-
import { AltoConfig } from "../../createConfig.js";
|
|
3
|
-
import { Metrics } from "../../utils/index.js";
|
|
4
|
-
export declare const getAvailableWallets: (config: AltoConfig) => Account[];
|
|
5
|
-
export type SenderManager = {
|
|
6
|
-
getAllWallets: () => Account[];
|
|
7
|
-
getWallet: () => Promise<Account>;
|
|
8
|
-
markWalletProcessed: (wallet: Account) => Promise<void>;
|
|
9
|
-
getActiveWallets: () => Account[];
|
|
10
|
-
};
|
|
11
|
-
export declare const getSenderManager: ({ config, metrics }: {
|
|
12
|
-
config: AltoConfig;
|
|
13
|
-
metrics: Metrics;
|
|
14
|
-
}) => Promise<SenderManager>;
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSenderManager = exports.getAvailableWallets = void 0;
|
|
4
|
-
const createMemorySenderManager_1 = require("./createMemorySenderManager.js");
|
|
5
|
-
const createRedisSenderManager_1 = require("./createRedisSenderManager.js");
|
|
6
|
-
const getAvailableWallets = (config) => {
|
|
7
|
-
let availableWallets = [];
|
|
8
|
-
if (config.maxExecutors !== undefined &&
|
|
9
|
-
config.executorPrivateKeys.length > config.maxExecutors) {
|
|
10
|
-
availableWallets = config.executorPrivateKeys.slice(0, config.maxExecutors);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
availableWallets = config.executorPrivateKeys;
|
|
14
|
-
}
|
|
15
|
-
return availableWallets;
|
|
16
|
-
};
|
|
17
|
-
exports.getAvailableWallets = getAvailableWallets;
|
|
18
|
-
const getSenderManager = async ({ config, metrics }) => {
|
|
19
|
-
if (config.redisSenderManagerUrl) {
|
|
20
|
-
return await (0, createRedisSenderManager_1.createRedisSenderManager)({ config, metrics });
|
|
21
|
-
}
|
|
22
|
-
return (0, createMemorySenderManager_1.createMemorySenderManager)({ config, metrics });
|
|
23
|
-
};
|
|
24
|
-
exports.getSenderManager = getSenderManager;
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../executor/senderManager/index.ts"],"names":[],"mappings":";;;AAEA,2EAAuE;AAEvE,yEAAqE;AAE9D,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;AAhBY,QAAA,mBAAmB,uBAgB/B;AASM,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACnC,MAAM,EACN,OAAO,EACgC,EAA0B,EAAE;IACnE,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,MAAM,IAAA,mDAAwB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,IAAA,qDAAyB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AACzD,CAAC,CAAA;AATY,QAAA,gBAAgB,oBAS5B"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AltoConfig } from "../../createConfig.js";
|
|
2
|
-
import { Metrics } from "../../utils/index.js";
|
|
3
|
-
import { GasPriceManager } from "../../handlers/gasPriceManager.js";
|
|
4
|
-
import { SenderManager } from "./index.js";
|
|
5
|
-
export declare const validateAndRefillWallets: ({ metrics, config, senderManager, gasPriceManager }: {
|
|
6
|
-
config: AltoConfig;
|
|
7
|
-
senderManager: SenderManager;
|
|
8
|
-
metrics: Metrics;
|
|
9
|
-
gasPriceManager: GasPriceManager;
|
|
10
|
-
}) => Promise<void>;
|
|
11
|
-
//# sourceMappingURL=validateAndRefill.d.ts.map
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateAndRefillWallets = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const types_1 = require("../../types/index.js");
|
|
6
|
-
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
|
|
7
|
-
const validateAndRefillWallets = async ({ metrics, config, senderManager, gasPriceManager }) => {
|
|
8
|
-
const logger = config.getLogger({ module: "validate-and-refill-wallets" }, { level: config.logLevel });
|
|
9
|
-
const minBalance = config.minExecutorBalance;
|
|
10
|
-
const utilityAccount = config.utilityPrivateKey;
|
|
11
|
-
if (!(minBalance && utilityAccount)) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
const utilityWalletBalance = await config.publicClient.getBalance({
|
|
15
|
-
address: utilityAccount.address
|
|
16
|
-
});
|
|
17
|
-
const balancesMissing = {};
|
|
18
|
-
const allWallets = senderManager.getAllWallets();
|
|
19
|
-
const balanceRequestPromises = allWallets.map(async (wallet) => {
|
|
20
|
-
const balance = await config.publicClient.getBalance({
|
|
21
|
-
address: wallet.address
|
|
22
|
-
});
|
|
23
|
-
metrics.executorWalletsBalances.set({
|
|
24
|
-
wallet: wallet.address
|
|
25
|
-
}, Number.parseFloat((0, viem_1.formatEther)(balance)));
|
|
26
|
-
if (balance < minBalance) {
|
|
27
|
-
const missingBalance = (minBalance * 6n) / 5n - balance;
|
|
28
|
-
balancesMissing[wallet.address] = missingBalance;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
await Promise.all(balanceRequestPromises);
|
|
32
|
-
const totalBalanceMissing = Object.values(balancesMissing).reduce((a, b) => a + b, 0n);
|
|
33
|
-
if (utilityWalletBalance < (totalBalanceMissing * 11n) / 10n) {
|
|
34
|
-
logger.info({ balancesMissing, totalBalanceMissing }, "balances missing");
|
|
35
|
-
metrics.utilityWalletInsufficientBalance.set(1);
|
|
36
|
-
logger.error({
|
|
37
|
-
minBalance: (0, viem_1.formatEther)(minBalance),
|
|
38
|
-
utilityWalletBalance: (0, viem_1.formatEther)(utilityWalletBalance),
|
|
39
|
-
totalBalanceMissing: (0, viem_1.formatEther)(totalBalanceMissing),
|
|
40
|
-
minRefillAmount: (0, viem_1.formatEther)(totalBalanceMissing - utilityWalletBalance),
|
|
41
|
-
utilityAccount: utilityAccount.address
|
|
42
|
-
}, "utility wallet has insufficient balance to refill wallets");
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
metrics.utilityWalletInsufficientBalance.set(0);
|
|
46
|
-
if (Object.keys(balancesMissing).length > 0) {
|
|
47
|
-
let maxFeePerGas;
|
|
48
|
-
let maxPriorityFeePerGas;
|
|
49
|
-
try {
|
|
50
|
-
const gasPriceParameters = await gasPriceManager.tryGetNetworkGasPrice();
|
|
51
|
-
maxFeePerGas = gasPriceParameters.maxFeePerGas;
|
|
52
|
-
maxPriorityFeePerGas = gasPriceParameters.maxPriorityFeePerGas;
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
logger.error(e, "No gas price available");
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (config.refillHelperContract) {
|
|
59
|
-
const instructions = [];
|
|
60
|
-
for (const [address, missingBalance] of Object.entries(balancesMissing)) {
|
|
61
|
-
instructions.push({
|
|
62
|
-
to: address,
|
|
63
|
-
value: missingBalance,
|
|
64
|
-
data: "0x"
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
const callEngine = (0, viem_1.getContract)({
|
|
68
|
-
abi: types_1.CallEngineAbi,
|
|
69
|
-
address: config.refillHelperContract,
|
|
70
|
-
client: {
|
|
71
|
-
public: config.publicClient,
|
|
72
|
-
wallet: config.walletClient
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
const tx = await callEngine.write.execute([instructions], {
|
|
76
|
-
account: utilityAccount,
|
|
77
|
-
value: totalBalanceMissing,
|
|
78
|
-
maxFeePerGas: maxFeePerGas * 2n,
|
|
79
|
-
maxPriorityFeePerGas: maxPriorityFeePerGas * 2n
|
|
80
|
-
});
|
|
81
|
-
await config.publicClient.waitForTransactionReceipt({ hash: tx });
|
|
82
|
-
for (const [address, missingBalance] of Object.entries(balancesMissing)) {
|
|
83
|
-
logger.info({ tx, executor: address, missingBalance }, "refilled wallet");
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
for (const [address, missingBalance] of Object.entries(balancesMissing)) {
|
|
88
|
-
const tx = await config.walletClient.sendTransaction({
|
|
89
|
-
account: utilityAccount,
|
|
90
|
-
// @ts-ignore
|
|
91
|
-
to: address,
|
|
92
|
-
value: missingBalance,
|
|
93
|
-
maxFeePerGas: config.legacyTransactions
|
|
94
|
-
? undefined
|
|
95
|
-
: maxFeePerGas,
|
|
96
|
-
maxPriorityFeePerGas: config.legacyTransactions
|
|
97
|
-
? undefined
|
|
98
|
-
: maxPriorityFeePerGas,
|
|
99
|
-
gasPrice: config.legacyTransactions
|
|
100
|
-
? maxFeePerGas
|
|
101
|
-
: undefined
|
|
102
|
-
});
|
|
103
|
-
await config.publicClient.waitForTransactionReceipt({
|
|
104
|
-
hash: tx
|
|
105
|
-
});
|
|
106
|
-
logger.info({ tx, executor: address, missingBalance }, "refilled wallet");
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
logger.info("no wallets need to be refilled");
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
exports.validateAndRefillWallets = validateAndRefillWallets;
|
|
115
|
-
//# sourceMappingURL=validateAndRefill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validateAndRefill.js","sourceRoot":"","sources":["../../../executor/senderManager/validateAndRefill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Metrics } from "../utils/index.js";
|
|
2
|
-
import type { AltoConfig } from "../createConfig.js";
|
|
3
|
-
import type { Address } from "abitype";
|
|
4
|
-
export declare class UtilityWalletMonitor {
|
|
5
|
-
private config;
|
|
6
|
-
private utilityWalletAddress;
|
|
7
|
-
private timer;
|
|
8
|
-
private metrics;
|
|
9
|
-
private logger;
|
|
10
|
-
constructor({ config, metrics, utilityWalletAddress }: {
|
|
11
|
-
config: AltoConfig;
|
|
12
|
-
metrics: Metrics;
|
|
13
|
-
utilityWalletAddress: Address;
|
|
14
|
-
});
|
|
15
|
-
private updateMetrics;
|
|
16
|
-
start(): Promise<void>;
|
|
17
|
-
stop(): void;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=utilityWalletMonitor.d.ts.map
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UtilityWalletMonitor = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
class UtilityWalletMonitor {
|
|
6
|
-
config;
|
|
7
|
-
utilityWalletAddress;
|
|
8
|
-
timer;
|
|
9
|
-
metrics;
|
|
10
|
-
logger;
|
|
11
|
-
constructor({ config, metrics, utilityWalletAddress }) {
|
|
12
|
-
this.config = config;
|
|
13
|
-
this.utilityWalletAddress = utilityWalletAddress;
|
|
14
|
-
this.metrics = metrics;
|
|
15
|
-
this.logger = config.getLogger({ module: "utility_wallet_monitor" }, {
|
|
16
|
-
level: config.logLevel
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
async updateMetrics() {
|
|
20
|
-
try {
|
|
21
|
-
const balance = await this.config.publicClient.getBalance({
|
|
22
|
-
address: this.utilityWalletAddress
|
|
23
|
-
});
|
|
24
|
-
this.metrics.utilityWalletBalance.set(Number.parseFloat((0, viem_1.formatEther)(balance)));
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
this.logger.error(error, "Failed to update utility wallet balance metrics");
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async start() {
|
|
31
|
-
if (this.timer) {
|
|
32
|
-
throw new Error("UtilityWalletMonitor already started");
|
|
33
|
-
}
|
|
34
|
-
await this.updateMetrics();
|
|
35
|
-
this.timer = setInterval(this.updateMetrics.bind(this), this.config.utilityWalletMonitorInterval);
|
|
36
|
-
}
|
|
37
|
-
stop() {
|
|
38
|
-
clearInterval(this.timer);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.UtilityWalletMonitor = UtilityWalletMonitor;
|
|
42
|
-
//# sourceMappingURL=utilityWalletMonitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utilityWalletMonitor.js","sourceRoot":"","sources":["../../executor/utilityWalletMonitor.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAI5C,MAAa,oBAAoB;IACrB,MAAM,CAAY;IAClB,oBAAoB,CAAK;IACzB,KAAK,CAA0B;IAC/B,OAAO,CAAS;IAChB,MAAM,CAAQ;IAEtB,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,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAC1C,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,KAAK,EACL,iDAAiD,CACpD,CAAA;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAE1B,IAAI,CAAC,KAAK,GAAG,WAAW,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAC3B,CAAA;IACrB,CAAC;IAEM,IAAI;QACP,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;CACJ;AA5DD,oDA4DC"}
|
package/lib/executor/utils.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type UserOpInfo, UserOperation } from "../types/index.js";
|
|
2
|
-
import { type Logger } from "../utils/index.js";
|
|
3
|
-
import { type Account, type BaseError, type Address, type Hex } from "viem";
|
|
4
|
-
import type { AltoConfig } from "../createConfig.js";
|
|
5
|
-
import type { SignedAuthorizationList } from "viem";
|
|
6
|
-
export declare const isTransactionUnderpricedError: (e: BaseError) => boolean;
|
|
7
|
-
export declare function calculateAA95GasFloor({ userOps, beneficiary }: {
|
|
8
|
-
userOps: UserOperation[];
|
|
9
|
-
beneficiary: Address;
|
|
10
|
-
}): bigint;
|
|
11
|
-
export declare const getUserOpHashes: (userOpInfos: UserOpInfo[]) => `0x${string}`[];
|
|
12
|
-
export declare const packUserOps: (userOps: UserOperation[]) => {
|
|
13
|
-
sender: `0x${string}`;
|
|
14
|
-
nonce: bigint;
|
|
15
|
-
initCode: `0x${string}`;
|
|
16
|
-
paymasterAndData: `0x${string}`;
|
|
17
|
-
callData: `0x${string}`;
|
|
18
|
-
preVerificationGas: bigint;
|
|
19
|
-
signature: `0x${string}`;
|
|
20
|
-
accountGasLimits: `0x${string}`;
|
|
21
|
-
gasFees: `0x${string}`;
|
|
22
|
-
}[];
|
|
23
|
-
export declare const encodeHandleOpsCalldata: ({ userOps, beneficiary }: {
|
|
24
|
-
userOps: UserOperation[];
|
|
25
|
-
beneficiary: Address;
|
|
26
|
-
}) => Hex;
|
|
27
|
-
export declare const getAuthorizationList: (userOpInfos: UserOpInfo[]) => SignedAuthorizationList | undefined;
|
|
28
|
-
export declare function flushStuckTransaction({ config, wallet, gasPrice, logger }: {
|
|
29
|
-
config: AltoConfig;
|
|
30
|
-
wallet: Account;
|
|
31
|
-
gasPrice: bigint;
|
|
32
|
-
logger: Logger;
|
|
33
|
-
}): Promise<void>;
|
|
34
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/lib/executor/utils.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.flushStuckTransaction = exports.getAuthorizationList = exports.encodeHandleOpsCalldata = exports.packUserOps = exports.getUserOpHashes = exports.calculateAA95GasFloor = exports.isTransactionUnderpricedError = void 0;
|
|
27
|
-
const types_1 = require("../types/index.js");
|
|
28
|
-
const utils_1 = require("../utils/index.js");
|
|
29
|
-
const sentry = __importStar(require("@sentry/node"));
|
|
30
|
-
const viem_1 = require("viem");
|
|
31
|
-
const isTransactionUnderpricedError = (e) => {
|
|
32
|
-
const transactionUnderPriceError = e.walk((e) => e?.message
|
|
33
|
-
?.toLowerCase()
|
|
34
|
-
.includes("replacement transaction underpriced"));
|
|
35
|
-
return transactionUnderPriceError !== null;
|
|
36
|
-
};
|
|
37
|
-
exports.isTransactionUnderpricedError = isTransactionUnderpricedError;
|
|
38
|
-
// V7 source: https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.7/contracts/core/EntryPoint.sol
|
|
39
|
-
// V6 source: https://github.com/eth-infinitism/account-abstraction/blob/fa61290d37d079e928d92d53a122efcc63822214/contracts/core/EntryPoint.sol#L236
|
|
40
|
-
function calculateAA95GasFloor({ userOps, beneficiary }) {
|
|
41
|
-
let gasFloor = 0n;
|
|
42
|
-
for (const userOp of userOps) {
|
|
43
|
-
if ((0, utils_1.isVersion07)(userOp)) {
|
|
44
|
-
const totalGas = userOp.callGasLimit +
|
|
45
|
-
(userOp.paymasterPostOpGasLimit || 0n) +
|
|
46
|
-
10000n;
|
|
47
|
-
gasFloor += (totalGas * 64n) / 63n;
|
|
48
|
-
// AA95 check happens after verification + paymaster verification
|
|
49
|
-
gasFloor +=
|
|
50
|
-
userOp.verificationGasLimit +
|
|
51
|
-
(userOp.paymasterVerificationGasLimit || 0n);
|
|
52
|
-
// There is a ~27,170 gas overhead for EntryPoint's re-entrency check
|
|
53
|
-
gasFloor += 30000n;
|
|
54
|
-
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
55
|
-
const calldata = (0, exports.encodeHandleOpsCalldata)({
|
|
56
|
-
userOps: [userOp],
|
|
57
|
-
beneficiary
|
|
58
|
-
});
|
|
59
|
-
const handleOpsCalldataCost = (0, viem_1.toBytes)(calldata)
|
|
60
|
-
.map((x) => (x === 0 ? 4 : 16))
|
|
61
|
-
.reduce((sum, x) => sum + x);
|
|
62
|
-
gasFloor += BigInt(handleOpsCalldataCost);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
gasFloor +=
|
|
66
|
-
userOp.callGasLimit + userOp.verificationGasLimit + 5000n;
|
|
67
|
-
// AA95 check happens after verification + paymaster verification
|
|
68
|
-
gasFloor += userOp.verificationGasLimit;
|
|
69
|
-
// There is a ~27,179 gas overhead for EntryPoint's re-entrency check
|
|
70
|
-
gasFloor += 30000n;
|
|
71
|
-
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
72
|
-
const calldata = (0, exports.encodeHandleOpsCalldata)({
|
|
73
|
-
userOps: [userOp],
|
|
74
|
-
beneficiary
|
|
75
|
-
});
|
|
76
|
-
const handleOpsCalldataCost = (0, viem_1.toBytes)(calldata)
|
|
77
|
-
.map((x) => (x === 0 ? 4 : 16))
|
|
78
|
-
.reduce((sum, x) => sum + x);
|
|
79
|
-
gasFloor += BigInt(handleOpsCalldataCost);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return gasFloor;
|
|
83
|
-
}
|
|
84
|
-
exports.calculateAA95GasFloor = calculateAA95GasFloor;
|
|
85
|
-
const getUserOpHashes = (userOpInfos) => {
|
|
86
|
-
return userOpInfos.map(({ userOpHash }) => userOpHash);
|
|
87
|
-
};
|
|
88
|
-
exports.getUserOpHashes = getUserOpHashes;
|
|
89
|
-
const packUserOps = (userOps) => {
|
|
90
|
-
const isV06 = (0, utils_1.isVersion06)(userOps[0]);
|
|
91
|
-
const packedUserOps = isV06
|
|
92
|
-
? userOps
|
|
93
|
-
: userOps.map((op) => (0, utils_1.toPackedUserOperation)(op));
|
|
94
|
-
return packedUserOps;
|
|
95
|
-
};
|
|
96
|
-
exports.packUserOps = packUserOps;
|
|
97
|
-
const encodeHandleOpsCalldata = ({ userOps, beneficiary }) => {
|
|
98
|
-
const isV06 = (0, utils_1.isVersion06)(userOps[0]);
|
|
99
|
-
const packedUserOps = (0, exports.packUserOps)(userOps);
|
|
100
|
-
return (0, viem_1.encodeFunctionData)({
|
|
101
|
-
abi: isV06 ? types_1.EntryPointV06Abi : types_1.EntryPointV07Abi,
|
|
102
|
-
functionName: "handleOps",
|
|
103
|
-
args: [packedUserOps, beneficiary]
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
exports.encodeHandleOpsCalldata = encodeHandleOpsCalldata;
|
|
107
|
-
const getAuthorizationList = (userOpInfos) => {
|
|
108
|
-
const authList = userOpInfos
|
|
109
|
-
.map(({ userOp }) => userOp)
|
|
110
|
-
.map(({ eip7702Auth }) => eip7702Auth
|
|
111
|
-
? {
|
|
112
|
-
address: "address" in eip7702Auth
|
|
113
|
-
? eip7702Auth.address
|
|
114
|
-
: eip7702Auth.contractAddress,
|
|
115
|
-
chainId: eip7702Auth.chainId,
|
|
116
|
-
nonce: eip7702Auth.nonce,
|
|
117
|
-
r: eip7702Auth.r,
|
|
118
|
-
s: eip7702Auth.s,
|
|
119
|
-
v: eip7702Auth.v,
|
|
120
|
-
yParity: eip7702Auth.yParity
|
|
121
|
-
}
|
|
122
|
-
: null)
|
|
123
|
-
.filter(Boolean);
|
|
124
|
-
return authList.length ? authList : undefined;
|
|
125
|
-
};
|
|
126
|
-
exports.getAuthorizationList = getAuthorizationList;
|
|
127
|
-
async function flushStuckTransaction({ config, wallet, gasPrice, logger }) {
|
|
128
|
-
const publicClient = config.publicClient;
|
|
129
|
-
const walletClient = config.walletClient;
|
|
130
|
-
const latestNonce = await publicClient.getTransactionCount({
|
|
131
|
-
address: wallet.address,
|
|
132
|
-
blockTag: "latest"
|
|
133
|
-
});
|
|
134
|
-
const pendingNonce = await publicClient.getTransactionCount({
|
|
135
|
-
address: wallet.address,
|
|
136
|
-
blockTag: "pending"
|
|
137
|
-
});
|
|
138
|
-
logger.debug({ latestNonce, pendingNonce, wallet: wallet.address }, "checking for stuck transactions");
|
|
139
|
-
// same nonce is okay
|
|
140
|
-
if (latestNonce === pendingNonce) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
// one nonce ahead is also okay
|
|
144
|
-
if (latestNonce + 1 === pendingNonce) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
logger.info({ latestNonce, pendingNonce, wallet: wallet.address }, "found stuck transaction, flushing");
|
|
148
|
-
for (let nonceToFlush = latestNonce; nonceToFlush < pendingNonce; nonceToFlush++) {
|
|
149
|
-
try {
|
|
150
|
-
const txHash = await walletClient.sendTransaction({
|
|
151
|
-
account: wallet,
|
|
152
|
-
to: wallet.address,
|
|
153
|
-
value: 0n,
|
|
154
|
-
nonce: nonceToFlush,
|
|
155
|
-
maxFeePerGas: gasPrice,
|
|
156
|
-
maxPriorityFeePerGas: gasPrice
|
|
157
|
-
});
|
|
158
|
-
logger.debug({ txHash, nonce: nonceToFlush, wallet: wallet.address }, "flushed stuck transaction");
|
|
159
|
-
}
|
|
160
|
-
catch (e) {
|
|
161
|
-
sentry.captureException(e);
|
|
162
|
-
logger.warn({ error: e }, "error flushing stuck transaction");
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.flushStuckTransaction = flushStuckTransaction;
|
|
167
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AltoConfig } from "../createConfig.js";
|
|
2
|
-
export declare class ArbitrumManager {
|
|
3
|
-
private l1BaseFeeQueue;
|
|
4
|
-
private l2BaseFeeQueue;
|
|
5
|
-
constructor({ config }: {
|
|
6
|
-
config: AltoConfig;
|
|
7
|
-
});
|
|
8
|
-
saveL1BaseFee(baseFee: bigint): void;
|
|
9
|
-
saveL2BaseFee(baseFee: bigint): void;
|
|
10
|
-
getMinL1BaseFee(): Promise<bigint>;
|
|
11
|
-
getMaxL1BaseFee(): Promise<bigint>;
|
|
12
|
-
getMaxL2BaseFee(): Promise<bigint>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=arbitrumGasPriceManager.d.ts.map
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArbitrumManager = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const minMaxQueue_1 = require("../utils/minMaxQueue/index.js");
|
|
6
|
-
class ArbitrumManager {
|
|
7
|
-
l1BaseFeeQueue;
|
|
8
|
-
l2BaseFeeQueue;
|
|
9
|
-
constructor({ config }) {
|
|
10
|
-
this.l1BaseFeeQueue = (0, minMaxQueue_1.createMinMaxQueue)({
|
|
11
|
-
keyPrefix: "l1-base-fee-queue",
|
|
12
|
-
config
|
|
13
|
-
});
|
|
14
|
-
this.l2BaseFeeQueue = (0, minMaxQueue_1.createMinMaxQueue)({
|
|
15
|
-
keyPrefix: "l2-base-fee-queue",
|
|
16
|
-
config
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
saveL1BaseFee(baseFee) {
|
|
20
|
-
this.l1BaseFeeQueue.saveValue(baseFee);
|
|
21
|
-
}
|
|
22
|
-
saveL2BaseFee(baseFee) {
|
|
23
|
-
this.l2BaseFeeQueue.saveValue(baseFee);
|
|
24
|
-
}
|
|
25
|
-
async getMinL1BaseFee() {
|
|
26
|
-
let minL1BaseFee = await this.l1BaseFeeQueue.getMinValue();
|
|
27
|
-
return minL1BaseFee || 1n;
|
|
28
|
-
}
|
|
29
|
-
async getMaxL1BaseFee() {
|
|
30
|
-
let maxL1BaseFee = await this.l1BaseFeeQueue.getMaxValue();
|
|
31
|
-
return maxL1BaseFee || viem_1.maxUint128;
|
|
32
|
-
}
|
|
33
|
-
async getMaxL2BaseFee() {
|
|
34
|
-
let maxL2BaseFee = await this.l2BaseFeeQueue.getMaxValue();
|
|
35
|
-
return maxL2BaseFee || viem_1.maxUint128;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.ArbitrumManager = ArbitrumManager;
|
|
39
|
-
//# sourceMappingURL=arbitrumGasPriceManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arbitrumGasPriceManager.js","sourceRoot":"","sources":["../../handlers/arbitrumGasPriceManager.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,sDAAqE;AAGrE,MAAa,eAAe;IAChB,cAAc,CAAa;IAC3B,cAAc,CAAa;IAEnC,YAAY,EAAE,MAAM,EAA0B;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAA,+BAAiB,EAAC;YACpC,SAAS,EAAE,mBAAmB;YAC9B,MAAM;SACT,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,IAAA,+BAAiB,EAAC;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,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC1D,OAAO,YAAY,IAAI,EAAE,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC1D,OAAO,YAAY,IAAI,iBAAU,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,eAAe;QACxB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;QAC1D,OAAO,YAAY,IAAI,iBAAU,CAAA;IACrC,CAAC;CACJ;AArCD,0CAqCC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Metrics } from "../utils/index.js";
|
|
2
|
-
import type { Hex } from "viem";
|
|
3
|
-
import type { AltoConfig } from "../createConfig.js";
|
|
4
|
-
export declare class EventManager {
|
|
5
|
-
private chainId;
|
|
6
|
-
private logger;
|
|
7
|
-
private metrics;
|
|
8
|
-
private redisEventManagerQueue?;
|
|
9
|
-
constructor({ config, metrics }: {
|
|
10
|
-
config: AltoConfig;
|
|
11
|
-
metrics: Metrics;
|
|
12
|
-
});
|
|
13
|
-
emitExecutionRevertedOnChain(userOperationHash: Hex, transactionHash: Hex, reason: Hex, blockNumber: bigint): void;
|
|
14
|
-
emitFailedOnChain(userOperationHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
15
|
-
emitFrontranOnChain(userOperationHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
16
|
-
emitIncludedOnChain(userOperationHash: Hex, transactionHash: Hex, blockNumber: bigint): void;
|
|
17
|
-
emitQueued(userOperationHash: Hex): void;
|
|
18
|
-
emitReceived(userOperationHash: Hex, timestamp?: number): void;
|
|
19
|
-
emitFailedValidation(userOperationHash: Hex, reason?: string, aaError?: string): void;
|
|
20
|
-
emitSubmitted({ userOpHashes, transactionHash }: {
|
|
21
|
-
userOpHashes: Hex[];
|
|
22
|
-
transactionHash: Hex;
|
|
23
|
-
}): void;
|
|
24
|
-
emitDropped(userOperationHash: Hex, reason?: string, aaError?: string): void;
|
|
25
|
-
emitAddedToMempool(userOperationHash: Hex): void;
|
|
26
|
-
private emitEvent;
|
|
27
|
-
private emitWithTimeout;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=eventManager.d.ts.map
|