Skip to content

Commit

Permalink
[v2] Arb gas oracle (#201)
Browse files Browse the repository at this point in the history
  • Loading branch information
0xSulpiride authored Jun 6, 2024
1 parent 714548c commit 66d4856
Show file tree
Hide file tree
Showing 14 changed files with 64 additions and 48 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"packages/*"
],
"npmClient": "yarn",
"version": "2.0.2",
"version": "2.0.3",
"stream": "true",
"command": {
"version": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "root",
"private": true,
"version": "2.0.2",
"version": "2.0.3",
"engines": {
"node": ">=18.0.0"
},
Expand Down
10 changes: 5 additions & 5 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The API module of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down Expand Up @@ -34,10 +34,10 @@
"dependencies": {
"@fastify/cors": "9.0.1",
"@fastify/websocket": "10.0.1",
"@skandha/executor": "^2.0.2",
"@skandha/monitoring": "^2.0.2",
"@skandha/types": "^2.0.2",
"@skandha/utils": "^2.0.2",
"@skandha/executor": "^2.0.3",
"@skandha/monitoring": "^2.0.3",
"@skandha/types": "^2.0.3",
"@skandha/utils": "^2.0.3",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"ethers": "5.7.2",
Expand Down
14 changes: 7 additions & 7 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "> TODO: description",
"author": "zincoshine <[email protected]>",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down Expand Up @@ -40,12 +40,12 @@
"@libp2p/peer-id-factory": "2.0.1",
"@libp2p/prometheus-metrics": "1.1.3",
"@multiformats/multiaddr": "12.1.3",
"@skandha/api": "^2.0.2",
"@skandha/db": "^2.0.2",
"@skandha/executor": "^2.0.2",
"@skandha/monitoring": "^2.0.2",
"@skandha/node": "^2.0.2",
"@skandha/types": "^2.0.2",
"@skandha/api": "^2.0.3",
"@skandha/db": "^2.0.3",
"@skandha/executor": "^2.0.3",
"@skandha/monitoring": "^2.0.3",
"@skandha/node": "^2.0.3",
"@skandha/types": "^2.0.3",
"find-up": "5.0.0",
"got": "12.5.3",
"js-yaml": "4.1.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The DB module of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://github.com/etherspot/etherspot-bundler#readme",
Expand Down Expand Up @@ -34,7 +34,7 @@
"dependencies": {
"@chainsafe/ssz": "0.10.1",
"@farcaster/rocksdb": "5.5.0",
"@skandha/types": "^2.0.2"
"@skandha/types": "^2.0.3"
},
"devDependencies": {
"@types/rocksdb": "3.0.1",
Expand Down
10 changes: 5 additions & 5 deletions packages/executor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The Relayer module of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down Expand Up @@ -35,10 +35,10 @@
},
"dependencies": {
"@flashbots/ethers-provider-bundle": "0.6.2",
"@skandha/monitoring": "^2.0.2",
"@skandha/params": "^2.0.2",
"@skandha/types": "^2.0.2",
"@skandha/utils": "^2.0.2",
"@skandha/monitoring": "^2.0.3",
"@skandha/params": "^2.0.3",
"@skandha/types": "^2.0.3",
"@skandha/utils": "^2.0.3",
"async-mutex": "0.4.0",
"ethers": "5.7.2",
"strict-event-emitter-types": "2.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/monitoring/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The Monitoring module of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://github.com/etherspot/etherspot-bundler#readme",
Expand Down Expand Up @@ -32,7 +32,7 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@skandha/types": "^2.0.2",
"@skandha/types": "^2.0.3",
"prom-client": "15.1.0"
}
}
16 changes: 8 additions & 8 deletions packages/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The bundler node module of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down Expand Up @@ -56,13 +56,13 @@
"@libp2p/prometheus-metrics": "1.1.3",
"@libp2p/tcp": "6.1.0",
"@multiformats/multiaddr": "11.4.0",
"@skandha/api": "^2.0.2",
"@skandha/db": "^2.0.2",
"@skandha/executor": "^2.0.2",
"@skandha/monitoring": "^2.0.2",
"@skandha/params": "^2.0.2",
"@skandha/types": "^2.0.2",
"@skandha/utils": "^2.0.2",
"@skandha/api": "^2.0.3",
"@skandha/db": "^2.0.3",
"@skandha/executor": "^2.0.3",
"@skandha/monitoring": "^2.0.3",
"@skandha/params": "^2.0.3",
"@skandha/types": "^2.0.3",
"@skandha/utils": "^2.0.3",
"abstract-leveldown": "7.2.0",
"datastore-core": "8.0.1",
"ethers": "5.7.2",
Expand Down
6 changes: 3 additions & 3 deletions packages/params/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "Various bundler parameters",
"author": "Etherspot",
"homepage": "https://github.com/etherspot/skandha#readme",
Expand All @@ -28,8 +28,8 @@
"@arbitrum/sdk": "3.1.4",
"@chainsafe/ssz": "0.10.1",
"@mantleio/sdk": "0.2.1",
"@skandha/types": "^2.0.2",
"@skandha/utils": "^2.0.2",
"@skandha/types": "^2.0.3",
"@skandha/utils": "^2.0.3",
"ethers": "5.7.2"
},
"scripts": {
Expand Down
24 changes: 19 additions & 5 deletions packages/params/src/gas-price-oracles/getGasFee.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,32 @@
/* eslint-disable no-console */
import { providers } from "ethers";
import { IGetGasFeeResult, IOracleOptions, oracles } from "./oracles";
import {
IGetGasFeeResult,
IOracleOptions,
oracles as gasOracles,
} from "./oracles";

export const getGasFee = async (
chainId: number,
provider: providers.JsonRpcProvider,
apiKey = "",
options?: IOracleOptions
): Promise<IGetGasFeeResult> => {
if (oracles[chainId] !== undefined) {
const oracles = gasOracles[chainId];
if (oracles !== undefined) {
try {
return await oracles[chainId]!(apiKey, provider, options);
if (Array.isArray(oracles)) {
for (const oracle of oracles) {
const result = await oracle(apiKey, provider, options).catch((_) => {
console.error(`Couldn't fetch fee data for ${chainId}`);
return null;
});
if (result != null) return result;
}
} else {
return await oracles(apiKey, provider, options);
}
} catch (err) {
// eslint-disable-next-line no-console
console.error(`Couldn't fetch fee data for ${chainId}: ${err}`);
}
}
Expand All @@ -25,7 +40,6 @@ export const getGasFee = async (
gasPrice: feeData.gasPrice ?? 0,
};
} catch (err) {
// eslint-disable-next-line no-console
console.error(`Couldn't fetch fee data: ${err}`);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/params/src/gas-price-oracles/oracles/arbitrum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ import { getEtherscanGasFee } from "./utils";
export const getArbitrumGasFee: IOracle = (
apiKey: string | undefined
): Promise<IGetGasFeeResult> =>
getEtherscanGasFee("https://api-goerli.arbiscan.io/api", apiKey);
getEtherscanGasFee("https://api.arbiscan.io/api", apiKey);
12 changes: 7 additions & 5 deletions packages/params/src/gas-price-oracles/oracles/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@ import { getMumbaiGasFee } from "./mumbai";
import { getOptimismGasFee } from "./optimism";
import { IOracle } from "./interfaces";
import { getMantleGasFee } from "./mantle";
import { getAncient8GasFee } from "./ancient8";
import { getBaseGasFee } from "./base";
import { getAncient8GasFee } from "./ancient8";
import { getEthGasPrice } from "./eth_gasPrice";

export const oracles: {
[chainId: number]: IOracle | undefined;
[chainId: number]: IOracle | IOracle[] | undefined;
} = {
137: getMaticGasFee,
80001: getMumbaiGasFee,
10: getOptimismGasFee,
42161: getArbitrumGasFee,
10: [getOptimismGasFee, getEthGasPrice],
42161: [getArbitrumGasFee, getEthGasPrice],
5000: getMantleGasFee,
5001: getMantleGasFee,
8453: [getBaseGasFee, getEthGasPrice],
888888888: getAncient8GasFee,
8453: getBaseGasFee,
59144: getEthGasPrice,
5003: getMantleGasFee,
};
2 changes: 1 addition & 1 deletion packages/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "The types of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down
4 changes: 2 additions & 2 deletions packages/utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"publishConfig": {
"access": "public"
},
"version": "2.0.2",
"version": "2.0.3",
"description": "utils of Etherspot bundler client",
"author": "Etherspot",
"homepage": "https://https://github.com/etherspot/skandha#readme",
Expand Down Expand Up @@ -33,7 +33,7 @@
},
"dependencies": {
"@chainsafe/as-sha256": "0.3.1",
"@skandha/types": "^2.0.2",
"@skandha/types": "^2.0.3",
"any-signal": "3.0.1",
"bigint-buffer": "1.1.5",
"case": "^1.6.3",
Expand Down

0 comments on commit 66d4856

Please sign in to comment.