diff --git a/lerna.json b/lerna.json index 3c4dfaee..ebcfacf0 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,7 @@ ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "stream": "true", "command": { "version": { diff --git a/package.json b/package.json index 5383c69b..99baa2fd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "root", "private": true, - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "engines": { "node": ">=18.0.0" }, diff --git a/packages/api/package.json b/packages/api/package.json index 7f8f7367..e041f6c7 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "api", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The API module of Etherspot bundler client", "author": "Etherspot", "homepage": "https://https://github.com/etherspot/skandha#readme", @@ -35,13 +35,13 @@ "class-transformer": "0.5.1", "class-validator": "0.14.0", "ethers": "5.7.2", - "executor": "^1.0.24-alpha", + "executor": "^1.0.26-alpha", "fastify": "4.14.1", - "monitoring": "^1.0.24-alpha", + "monitoring": "^1.0.26-alpha", "pino": "8.11.0", "pino-pretty": "10.0.0", "reflect-metadata": "0.1.13", - "types": "^1.0.24-alpha" + "types": "^1.0.26-alpha" }, "devDependencies": { "@types/connect": "3.4.35" diff --git a/packages/cli/package.json b/packages/cli/package.json index 694ade87..0cf37b14 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "cli", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "> TODO: description", "author": "zincoshine ", "homepage": "https://https://github.com/etherspot/skandha#readme", @@ -38,15 +38,15 @@ "@libp2p/peer-id-factory": "2.0.1", "@libp2p/prometheus-metrics": "1.1.3", "@multiformats/multiaddr": "12.1.3", - "api": "^1.0.24-alpha", - "db": "^1.0.24-alpha", - "executor": "^1.0.24-alpha", + "api": "^1.0.26-alpha", + "db": "^1.0.26-alpha", + "executor": "^1.0.26-alpha", "find-up": "5.0.0", "got": "12.5.3", "js-yaml": "4.1.0", - "monitoring": "^1.0.24-alpha", - "node": "^1.0.24-alpha", - "types": "^1.0.24-alpha", + "monitoring": "^1.0.26-alpha", + "node": "^1.0.26-alpha", + "types": "^1.0.26-alpha", "yargs": "17.6.2" }, "devDependencies": { diff --git a/packages/db/package.json b/packages/db/package.json index 4007ac6b..44dbc3ee 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "db", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The DB module of Etherspot bundler client", "author": "Etherspot", "homepage": "https://github.com/etherspot/etherspot-bundler#readme", @@ -33,7 +33,7 @@ "dependencies": { "@chainsafe/ssz": "0.10.1", "@farcaster/rocksdb": "5.5.0", - "types": "^1.0.24-alpha" + "types": "^1.0.26-alpha" }, "devDependencies": { "@types/rocksdb": "3.0.1", diff --git a/packages/executor/package.json b/packages/executor/package.json index cdc8baea..f31933ee 100644 --- a/packages/executor/package.json +++ b/packages/executor/package.json @@ -1,6 +1,6 @@ { "name": "executor", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The Relayer module of Etherspot bundler client", "author": "Etherspot", "homepage": "https://https://github.com/etherspot/skandha#readme", @@ -33,9 +33,8 @@ "dependencies": { "async-mutex": "0.4.0", "ethers": "5.7.2", - "@flashbots/ethers-provider-bundle": "0.6.2", - "monitoring": "^1.0.24-alpha", - "params": "^1.0.24-alpha", - "types": "^1.0.24-alpha" + "monitoring": "^1.0.26-alpha", + "params": "^1.0.26-alpha", + "types": "^1.0.26-alpha" } } diff --git a/packages/executor/src/services/BundlingService/service.ts b/packages/executor/src/services/BundlingService/service.ts index 90db8d97..532e384b 100644 --- a/packages/executor/src/services/BundlingService/service.ts +++ b/packages/executor/src/services/BundlingService/service.ts @@ -276,6 +276,13 @@ export class BundlingService { ); } + // skip gas fee protection on Fuse + if (this.provider.network.chainId == 122) { + bundle.maxFeePerGas = BigNumber.from(gasFee.maxFeePerGas); + bundle.maxPriorityFeePerGas = BigNumber.from(gasFee.maxPriorityFeePerGas); + return bundle; + } + if (bundle.entries.length > 1) { // average of userops bundle.maxFeePerGas = bundle.maxFeePerGas.div(bundle.entries.length); diff --git a/packages/executor/src/services/MempoolService.ts b/packages/executor/src/services/MempoolService.ts index bcb21302..3582cf4e 100644 --- a/packages/executor/src/services/MempoolService.ts +++ b/packages/executor/src/services/MempoolService.ts @@ -6,6 +6,7 @@ import { UserOperationStruct } from "types/lib/executor/contracts/EntryPoint"; import { IEntityWithAggregator, MempoolEntryStatus, + IWhitelistedEntities, ReputationStatus, } from "types/lib/executor"; import { getAddr, now } from "../utils"; @@ -273,6 +274,20 @@ export class MempoolService { // check for ban for (const [index, stake] of stakes.entries()) { if (!stake) continue; + const whitelist = + this.networkConfig.whitelistedEntities[ + titles[index] as keyof IWhitelistedEntities + ]; + if ( + stake.addr && + whitelist != null && + // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions + whitelist.some( + (addr) => utils.getAddress(addr) === utils.getAddress(stake.addr) + ) + ) { + continue; + } const status = await this.reputationService.getStatus(stake.addr); if (status === ReputationStatus.BANNED) { throw new RpcError( diff --git a/packages/monitoring/package.json b/packages/monitoring/package.json index c5e76b99..7a56f24c 100644 --- a/packages/monitoring/package.json +++ b/packages/monitoring/package.json @@ -1,6 +1,6 @@ { "name": "monitoring", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The Monitoring module of Etherspot bundler client", "author": "Etherspot", "homepage": "https://github.com/etherspot/etherspot-bundler#readme", @@ -32,6 +32,6 @@ }, "dependencies": { "prom-client": "^14.2.0", - "types": "^1.0.24-alpha" + "types": "^1.0.26-alpha" } } diff --git a/packages/node/package.json b/packages/node/package.json index b75c987f..aec91057 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -1,6 +1,6 @@ { "name": "node", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The bundler node module of Etherspot bundler client", "author": "Etherspot", "homepage": "https://https://github.com/etherspot/skandha#readme", @@ -56,25 +56,25 @@ "@libp2p/tcp": "6.1.0", "@multiformats/multiaddr": "11.4.0", "abstract-leveldown": "7.2.0", - "api": "^1.0.24-alpha", + "api": "^1.0.26-alpha", "datastore-core": "8.0.1", - "db": "^1.0.24-alpha", + "db": "^1.0.26-alpha", "ethers": "5.7.2", - "executor": "^1.0.24-alpha", + "executor": "^1.0.26-alpha", "it-filter": "1.0.2", "it-map": "1.0.5", "it-sort": "1.0.0", "it-take": "1.0.1", "libp2p": "0.42.2", - "monitoring": "^1.0.24-alpha", - "params": "^1.0.24-alpha", + "monitoring": "^1.0.26-alpha", + "params": "^1.0.26-alpha", "prettier": "2.8.4", "snappy": "7.2.2", "snappyjs": "0.7.0", "stream-to-it": "0.2.4", "strict-event-emitter-types": "2.0.0", - "types": "^1.0.24-alpha", - "utils": "^1.0.24-alpha", + "types": "^1.0.26-alpha", + "utils": "^1.0.26-alpha", "varint": "6.0.0", "xxhash-wasm": "1.0.2" }, diff --git a/packages/params/package.json b/packages/params/package.json index a971e4e1..411bce0b 100644 --- a/packages/params/package.json +++ b/packages/params/package.json @@ -1,6 +1,6 @@ { "name": "params", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "Various bundler parameters", "author": "Etherspot", "homepage": "https://github.com/etherspot/skandha#readme", @@ -26,8 +26,8 @@ "@eth-optimism/sdk": "3.0.0", "@mantleio/sdk": "0.2.1", "ethers": "5.7.2", - "types": "^1.0.24-alpha", - "utils": "^1.0.24-alpha" + "types": "^1.0.26-alpha", + "utils": "^1.0.26-alpha" }, "scripts": { "clean": "rm -rf lib && rm -f *.tsbuildinfo", diff --git a/packages/params/src/gas-price-oracles/getGasFee.ts b/packages/params/src/gas-price-oracles/getGasFee.ts index 2e6d5411..0b118e2d 100644 --- a/packages/params/src/gas-price-oracles/getGasFee.ts +++ b/packages/params/src/gas-price-oracles/getGasFee.ts @@ -19,8 +19,8 @@ export const getGasFee = async ( try { const feeData = await provider.getFeeData(); return { - maxPriorityFeePerGas: feeData.maxPriorityFeePerGas ?? 0, - maxFeePerGas: feeData.maxFeePerGas ?? 0, + maxPriorityFeePerGas: feeData.maxPriorityFeePerGas ?? feeData.gasPrice ?? 0, + maxFeePerGas: feeData.maxFeePerGas ?? feeData.gasPrice ?? 0, gasPrice: feeData.gasPrice ?? 0, }; } catch (err) { diff --git a/packages/types/package.json b/packages/types/package.json index b296dd47..fab08243 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "types", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "The types of Etherspot bundler client", "author": "Etherspot", "homepage": "https://https://github.com/etherspot/skandha#readme", diff --git a/packages/utils/package.json b/packages/utils/package.json index 75c11196..adb3b5b4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "utils", - "version": "1.0.24-alpha", + "version": "1.0.26-alpha", "description": "utils of Etherspot bundler client", "author": "Etherspot", "homepage": "https://https://github.com/etherspot/skandha#readme", @@ -37,6 +37,6 @@ "case": "^1.6.3", "pino": "8.11.0", "pino-pretty": "10.0.0", - "types": "^1.0.24-alpha" + "types": "^1.0.26-alpha" } }