Skip to content

Commit 01dd1ab

Browse files
authored
Merge pull request #51 from etherspot/simulateHandleOp
Simulate handle op
2 parents e150c60 + e06559e commit 01dd1ab

16 files changed

Lines changed: 166 additions & 88 deletions

File tree

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
],
55
"npmClient": "yarn",
66
"useWorkspaces": true,
7-
"version": "0.0.15",
7+
"version": "0.0.16",
88
"stream": "true",
99
"command": {
1010
"version": {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "root",
33
"private": true,
4-
"version": "0.0.15",
4+
"version": "0.0.16",
55
"engines": {
66
"node": ">=18.0.0"
77
},

packages/api/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "api",
3-
"version": "0.0.15",
3+
"version": "0.0.16",
44
"description": "The API module of Etherspot bundler client",
55
"author": "Etherspot",
66
"homepage": "https://https://github.com/etherspot/skandha#readme",
@@ -35,12 +35,12 @@
3535
"class-transformer": "0.5.1",
3636
"class-validator": "0.14.0",
3737
"ethers": "5.7.2",
38-
"executor": "^0.0.15",
38+
"executor": "^0.0.16",
3939
"fastify": "4.14.1",
4040
"pino": "8.11.0",
4141
"pino-pretty": "10.0.0",
4242
"reflect-metadata": "0.1.13",
43-
"types": "^0.0.15"
43+
"types": "^0.0.16"
4444
},
4545
"devDependencies": {
4646
"@types/connect": "3.4.35"

packages/cli/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cli",
3-
"version": "0.0.15",
3+
"version": "0.0.16",
44
"description": "> TODO: description",
55
"author": "zincoshine <psramanuj@gmail.com>",
66
"homepage": "https://https://github.com/etherspot/skandha#readme",
@@ -31,13 +31,13 @@
3131
"url": "https://https://github.com/etherspot/skandha/issues"
3232
},
3333
"dependencies": {
34-
"api": "^0.0.15",
35-
"db": "^0.0.15",
36-
"executor": "^0.0.15",
34+
"api": "^0.0.16",
35+
"db": "^0.0.16",
36+
"executor": "^0.0.16",
3737
"find-up": "5.0.0",
3838
"got": "12.5.3",
3939
"js-yaml": "4.1.0",
40-
"types": "^0.0.15",
40+
"types": "^0.0.16",
4141
"yargs": "17.6.2"
4242
},
4343
"devDependencies": {

packages/cli/src/cmds/start/handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
RocksDbController,
1111
LocalDbController,
1212
} from "db/lib";
13-
import { ConfigOptions } from "executor/lib/config";
13+
import { ConfigOptions } from "executor/lib/interfaces";
1414
import { IDbController } from "types/lib";
1515
import { mkdir, readFile } from "../../util";
1616
import { IGlobalArgs } from "../../options";

packages/db/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "db",
3-
"version": "0.0.15",
3+
"version": "0.0.16",
44
"description": "The DB module of Etherspot bundler client",
55
"author": "Etherspot",
66
"homepage": "https://github.com/etherspot/etherspot-bundler#readme",
@@ -37,6 +37,6 @@
3737
"devDependencies": {
3838
"@types/rocksdb": "3.0.1",
3939
"prettier": "^2.8.4",
40-
"types": "^0.0.15"
40+
"types": "^0.0.16"
4141
}
4242
}

packages/executor/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "executor",
3-
"version": "0.0.15",
3+
"version": "0.0.16",
44
"description": "The Relayer module of Etherspot bundler client",
55
"author": "Etherspot",
66
"homepage": "https://https://github.com/etherspot/skandha#readme",
@@ -33,7 +33,7 @@
3333
"dependencies": {
3434
"async-mutex": "0.4.0",
3535
"ethers": "5.7.2",
36-
"params": "^0.0.15",
37-
"types": "^0.0.15"
36+
"params": "^0.0.16",
37+
"types": "^0.0.16"
3838
}
3939
}

packages/executor/src/config.ts

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,12 @@
11
// TODO: create a new package "config" instead of this file
22
import { NetworkName } from "types/lib";
3-
import { BigNumberish, Wallet, providers, utils } from "ethers";
4-
5-
export interface NetworkConfig {
6-
entryPoints: string[];
7-
relayer: string;
8-
beneficiary: string;
9-
name?: NetworkName;
10-
rpcEndpoint: string;
11-
minInclusionDenominator: number;
12-
throttlingSlack: number;
13-
banSlack: number;
14-
minSignerBalance: BigNumberish;
15-
multicall: string;
16-
}
17-
18-
export type BundlerConfig = Omit<
3+
import { Wallet, providers, utils } from "ethers";
4+
import {
5+
BundlerConfig,
6+
ConfigOptions,
197
NetworkConfig,
20-
"entryPoints" | "rpcEndpoint" | "relayer" | "beneficiary"
21-
>;
22-
23-
export type Networks = {
24-
[network in NetworkName]?: NetworkConfig;
25-
};
26-
27-
export interface ConfigOptions {
28-
networks: Networks;
29-
testingMode?: boolean;
30-
unsafeMode: boolean;
31-
}
8+
Networks,
9+
} from "./interfaces";
3210

3311
export class Config {
3412
supportedNetworks: NetworkName[];
@@ -131,6 +109,9 @@ const bundlerDefaultConfigs: BundlerConfig = {
131109
banSlack: 10,
132110
minSignerBalance: utils.parseEther("0.1"),
133111
multicall: "0xcA11bde05977b3631167028862bE2a173976CA11", // default multicall address
112+
estimationBaseFeeDivisor: 25,
113+
estimationStaticBuffer: 21000,
114+
validationGasLimit: 10e6,
134115
};
135116

136117
const RELAYER_ENV = (network: NetworkName): string | undefined =>

packages/executor/src/executor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { BigNumber, providers } from "ethers";
33
import { NETWORK_NAME_TO_CHAIN_ID, NetworkName } from "types/lib";
44
import { IDbController } from "types/lib";
5-
import { NetworkConfig } from "./config";
5+
import { NetworkConfig } from "./interfaces";
66
import { Web3, Debug, Eth } from "./modules";
77
import {
88
MempoolService,

packages/executor/src/interfaces.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { BigNumberish, BytesLike } from "ethers";
2+
import { NetworkName } from "types/lib";
23

34
export interface Log {
45
blockNumber: number;
@@ -85,3 +86,40 @@ export interface Logger {
8586
trace: LogFn;
8687
silent: LogFn;
8788
}
89+
90+
export interface NetworkConfig {
91+
entryPoints: string[];
92+
relayer: string;
93+
beneficiary: string;
94+
name?: NetworkName;
95+
rpcEndpoint: string;
96+
minInclusionDenominator: number;
97+
throttlingSlack: number;
98+
banSlack: number;
99+
minSignerBalance: BigNumberish;
100+
multicall: string;
101+
// reduces baseFee by a given number in % before dividing paid gas
102+
// use this as a buffer to callGasLimit
103+
// 25% by default
104+
estimationBaseFeeDivisor: number;
105+
// adds certain amount of gas to callGasLimit
106+
// 21000 by default
107+
estimationStaticBuffer: number;
108+
// gas limit during simulateHandleOps and simulateValidation calls
109+
validationGasLimit: number;
110+
}
111+
112+
export type BundlerConfig = Omit<
113+
NetworkConfig,
114+
"entryPoints" | "rpcEndpoint" | "relayer" | "beneficiary"
115+
>;
116+
117+
export type Networks = {
118+
[network in NetworkName]?: NetworkConfig;
119+
};
120+
121+
export interface ConfigOptions {
122+
networks: Networks;
123+
testingMode?: boolean;
124+
unsafeMode: boolean;
125+
}

0 commit comments

Comments
 (0)