From 929f04135b01709e00595aa77c6591c1d92bd6bb Mon Sep 17 00:00:00 2001 From: ChunWang1998 Date: Mon, 1 Jul 2024 14:02:49 +0800 Subject: [PATCH] feat: add Berachain testnet --- hardhat.config.ts | 2 ++ helpers/hardhat-config-helpers.ts | 12 +++++++----- helpers/types.ts | 15 ++++++++++----- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/hardhat.config.ts b/hardhat.config.ts index e4891865..3975e427 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -15,6 +15,7 @@ import { eOptimismNetwork, ePolygonNetwork, eBaseNetwork, + eBeraNetwork, } from "./helpers/types"; import { DEFAULT_NAMED_ACCOUNTS } from "./helpers/constants"; @@ -66,6 +67,7 @@ export default { url: "http://127.0.0.1:8545", ...hardhatNetworkSettings, }, + bera: getCommonNetworkConfig(eBeraNetwork.bera, 80084), tenderly: getCommonNetworkConfig("tenderly", 1), main: getCommonNetworkConfig(eEthereumNetwork.main, 1), kovan: getCommonNetworkConfig(eEthereumNetwork.kovan, 42), diff --git a/helpers/hardhat-config-helpers.ts b/helpers/hardhat-config-helpers.ts index 90b07fc1..9ef76467 100644 --- a/helpers/hardhat-config-helpers.ts +++ b/helpers/hardhat-config-helpers.ts @@ -12,6 +12,7 @@ import { eFantomNetwork, eOptimismNetwork, eBaseNetwork, + eBeraNetwork, } from "./types"; require("dotenv").config(); @@ -56,6 +57,7 @@ export const getAlchemyKey = (net: eNetwork) => { }; export const NETWORKS_RPC_URL: iParamsPerNetwork = { + [eBeraNetwork.bera]: `https://bartio.rpc.berachain.com`, [eEthereumNetwork.kovan]: `https://eth-kovan.alchemyapi.io/v2/${getAlchemyKey( eEthereumNetwork.kovan )}`, @@ -183,11 +185,11 @@ export const hardhatNetworkSettings = { accounts: FORK && !!MNEMONIC ? { - mnemonic: MNEMONIC, - path: MNEMONIC_PATH, - initialIndex: 0, - count: 10, - } + mnemonic: MNEMONIC, + path: MNEMONIC_PATH, + initialIndex: 0, + count: 10, + } : undefined, }; diff --git a/helpers/types.ts b/helpers/types.ts index b0cfd806..caa7cc16 100644 --- a/helpers/types.ts +++ b/helpers/types.ts @@ -18,7 +18,8 @@ export type eNetwork = | eFantomNetwork | eOptimismNetwork | eTenderlyNetwork - | eBaseNetwork; + | eBaseNetwork + | eBeraNetwork; type eTenderlyNetwork = "tenderly"; @@ -45,6 +46,10 @@ export enum eEthereumNetwork { sepolia = "sepolia", } +export enum eBeraNetwork { + bera = "bera" +} + export enum eBaseNetwork { base = "base", baseGoerli = "base-goerli", @@ -385,7 +390,7 @@ export enum TokenContractId { export interface IReserveParams extends IReserveBorrowParams, - IReserveCollateralParams { + IReserveCollateralParams { aTokenImpl: eContractid; reserveFactor: string; supplyCap: string; @@ -438,8 +443,8 @@ export type iParamsPerNetworkWithDefault = { export interface iParamsPerNetworkAll extends iEthereumParamsPerNetwork, - iPolygonParamsPerNetwork, - iXDaiParamsPerNetwork {} + iPolygonParamsPerNetwork, + iXDaiParamsPerNetwork { } export interface iEthereumParamsPerNetwork { [eEthereumNetwork.kovan]: T; @@ -540,7 +545,7 @@ export interface IBaseConfiguration { RateStrategies: IStrategy; } -export interface ICommonConfiguration extends IBaseConfiguration {} +export interface ICommonConfiguration extends IBaseConfiguration { } export interface IAaveConfiguration extends ICommonConfiguration { //ReservesConfig: iAavePoolAssets;