mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
79 lines
2.7 KiB
TypeScript
79 lines
2.7 KiB
TypeScript
// @ts-ignore
|
|
import { HardhatNetworkForkingUserConfig, HardhatUserConfig } from 'hardhat/types';
|
|
import {
|
|
eEthereumNetwork,
|
|
ePolygonNetwork,
|
|
eXDaiNetwork,
|
|
iParamsPerNetwork,
|
|
} from './helpers/types';
|
|
|
|
require('dotenv').config();
|
|
|
|
const INFURA_KEY = process.env.INFURA_KEY || '';
|
|
const ALCHEMY_KEY = process.env.ALCHEMY_KEY || '';
|
|
const TENDERLY_FORK_ID = process.env.TENDERLY_FORK_ID || '';
|
|
const FORK = process.env.FORK || '';
|
|
const FORK_BLOCK_NUMBER = process.env.FORK_BLOCK_NUMBER
|
|
? parseInt(process.env.FORK_BLOCK_NUMBER)
|
|
: 0;
|
|
|
|
const GWEI = 1000 * 1000 * 1000;
|
|
|
|
export const buildForkConfig = (): HardhatNetworkForkingUserConfig | undefined => {
|
|
let forkMode;
|
|
if (FORK) {
|
|
forkMode = {
|
|
url: NETWORKS_RPC_URL[FORK],
|
|
};
|
|
if (FORK_BLOCK_NUMBER || BLOCK_TO_FORK[FORK]) {
|
|
forkMode.blockNumber = FORK_BLOCK_NUMBER || BLOCK_TO_FORK[FORK];
|
|
}
|
|
}
|
|
return forkMode;
|
|
};
|
|
|
|
export const NETWORKS_RPC_URL: iParamsPerNetwork<string> = {
|
|
[eEthereumNetwork.kovan]: ALCHEMY_KEY
|
|
? `https://eth-kovan.alchemyapi.io/v2/${ALCHEMY_KEY}`
|
|
: `https://kovan.infura.io/v3/${INFURA_KEY}`,
|
|
[eEthereumNetwork.ropsten]: ALCHEMY_KEY
|
|
? `https://eth-ropsten.alchemyapi.io/v2/${ALCHEMY_KEY}`
|
|
: `https://ropsten.infura.io/v3/${INFURA_KEY}`,
|
|
[eEthereumNetwork.main]: ALCHEMY_KEY
|
|
? `https://eth-mainnet.alchemyapi.io/v2/${ALCHEMY_KEY}`
|
|
: `https://mainnet.infura.io/v3/${INFURA_KEY}`,
|
|
[eEthereumNetwork.coverage]: 'http://localhost:8555',
|
|
[eEthereumNetwork.hardhat]: 'http://localhost:8545',
|
|
[eEthereumNetwork.buidlerevm]: 'http://localhost:8545',
|
|
[eEthereumNetwork.tenderly]: `https://rpc.tenderly.co/fork/`,
|
|
[ePolygonNetwork.mumbai]: 'https://rpc-mumbai.maticvigil.com',
|
|
[ePolygonNetwork.matic]: 'https://rpc-mainnet.matic.network',
|
|
[eXDaiNetwork.xdai]: 'https://rpc.xdaichain.com/',
|
|
};
|
|
|
|
export const NETWORKS_DEFAULT_GAS: iParamsPerNetwork<number> = {
|
|
[eEthereumNetwork.kovan]: 1 * GWEI,
|
|
[eEthereumNetwork.ropsten]: 65 * GWEI,
|
|
[eEthereumNetwork.main]: 65 * GWEI,
|
|
[eEthereumNetwork.coverage]: 65 * GWEI,
|
|
[eEthereumNetwork.hardhat]: 65 * GWEI,
|
|
[eEthereumNetwork.buidlerevm]: 65 * GWEI,
|
|
[eEthereumNetwork.tenderly]: 1 * GWEI,
|
|
[ePolygonNetwork.mumbai]: 1 * GWEI,
|
|
[ePolygonNetwork.matic]: 1 * GWEI,
|
|
[eXDaiNetwork.xdai]: 1 * GWEI,
|
|
};
|
|
|
|
export const BLOCK_TO_FORK: iParamsPerNetwork<number | undefined> = {
|
|
[eEthereumNetwork.main]: 12406069,
|
|
[eEthereumNetwork.kovan]: undefined,
|
|
[eEthereumNetwork.ropsten]: undefined,
|
|
[eEthereumNetwork.coverage]: undefined,
|
|
[eEthereumNetwork.hardhat]: undefined,
|
|
[eEthereumNetwork.buidlerevm]: undefined,
|
|
[eEthereumNetwork.tenderly]: undefined,
|
|
[ePolygonNetwork.mumbai]: undefined,
|
|
[ePolygonNetwork.matic]: undefined,
|
|
[eXDaiNetwork.xdai]: undefined,
|
|
};
|