Pnuttaste/Interchain-message/hardhat.config.ts
Mista J df8039f494 new file: Interchain-message/.env.example
new file:   Interchain-message/.eslintrc.js
	new file:   Interchain-message/.gitignore
	new file:   Interchain-message/.prettierrc
	new file:   Interchain-message/.solhint.json
	new file:   Interchain-message/.solhintignore
	new file:   Interchain-message/contracts/interfaces/IBridge.sol
	new file:   Interchain-message/contracts/interfaces/IMessageBus.sol
	new file:   Interchain-message/contracts/interfaces/IMessageReceiverApp.sol
	new file:   Interchain-message/contracts/interfaces/IUniswapRouterV3.sol
	new file:   Interchain-message/contracts/interfaces/IWETH.sol
	new file:   Interchain-message/contracts/message/apps/BridgeSwap.sol
	new file:   Interchain-message/contracts/message/apps/RubicRouterV2.sol
	new file:   Interchain-message/contracts/message/apps/RubicRouterV2ETH.sol
	new file:   Interchain-message/contracts/message/apps/SwapBase.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapInch.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapV2.sol
	new file:   Interchain-message/contracts/message/apps/TransferSwapV3.sol
	new file:   Interchain-message/contracts/message/framework/MessageReceiverApp.sol
	new file:   Interchain-message/contracts/message/framework/MessageSenderApp.sol
	new file:   Interchain-message/contracts/message/libraries/MessageSenderLib.sol
	new file:   Interchain-message/contracts/message/libraries/MsgDataTypes.sol
	new file:   Interchain-message/contracts/test/MessageBusSender.sol
	new file:   Interchain-message/contracts/test/TestERC20.sol
	new file:   Interchain-message/contracts/test/TestMessages.sol
	new file:   Interchain-message/contracts/test/WETH9.sol
	new file:   Interchain-message/deployments/Readme.md
	new file:   Interchain-message/executor/config/cbridge.toml
	new file:   Interchain-message/executor/config/executor.toml
	new file:   Interchain-message/executor/eth-ks/signer.json
	new file:   Interchain-message/hardhat.config.ts
	new file:   Interchain-message/package-lock.json
	new file:   Interchain-message/package.json
	new file:   Interchain-message/reports/contract_sizes.txt
	new file:   Interchain-message/reports/gas_usage/summary.txt
	new file:   Interchain-message/scripts/deploy/deploy.js
	new file:   Interchain-message/scripts/deploy/deployAVAX.ts
	new file:   Interchain-message/scripts/deploy/deployArbitrum.ts
	new file:   Interchain-message/scripts/deploy/deployAurora.ts
	new file:   Interchain-message/scripts/deploy/deployBSC.ts
	new file:   Interchain-message/scripts/deploy/deployEth.ts
	new file:   Interchain-message/scripts/deploy/deployFantom.ts
	new file:   Interchain-message/scripts/deploy/deployPoly.ts
	new file:   Interchain-message/scripts/privateKey.js
	new file:   Interchain-message/scripts/sendTx/avaxToFantomBridge.js
	new file:   Interchain-message/scripts/sendTx/avaxToFantomNativeV2.js
	new file:   Interchain-message/test/RubicCrossChainBridge.spec.ts
	new file:   Interchain-message/test/RubicCrossChainV2.spec.ts
	new file:   Interchain-message/test/RubicCrossChainV3.spec.ts
	new file:   Interchain-message/test/RubicFallback.spec.ts
	new file:   Interchain-message/test/RubicSettings.spec.ts
	new file:   Interchain-message/test/shared/consts.ts
	new file:   Interchain-message/test/shared/fixtures.ts
	new file:   Interchain-message/test/shared/utils.ts
	new file:   Interchain-message/tsconfig.json
	deleted:    Rubic-Inter-chain-Message-develop.zip
	deleted:    proxy-instant-trades-master.zip
	deleted:    rubic-app-master.zip
	deleted:    rubic-sdk-master.zip
2024-07-09 17:32:00 -04:00

156 lines
4.3 KiB
TypeScript

import '@typechain/hardhat';
import '@nomiclabs/hardhat-ethers';
import '@nomiclabs/hardhat-waffle';
import '@nomiclabs/hardhat-etherscan';
import 'hardhat-contract-sizer';
import 'hardhat-gas-reporter';
import '@openzeppelin/hardhat-upgrades';
import { SolcUserConfig } from 'hardhat/types'
import * as dotenv from 'dotenv';
import {float} from "hardhat/internal/core/params/argumentTypes";
dotenv.config();
const DEFAULT_PRIVATE_KEY = process.env.MNEMONIC || '1000000000000000000000000000000000000000000000000000000000000000';
const DEFAULT_COMPILER_SETTINGS: SolcUserConfig = {
version: '0.8.15',
settings: {
optimizer: {
enabled: true,
runs: 200,
},
metadata: {
bytecodeHash: 'none',
},
evmVersion: "istanbul",
},
}
module.exports = {
networks: {
hardhat: {
chainId: 137,
forking: {
url: `https://polygon-rpc.com`,
blockNumber: 27081600 // hardcode block number to increase performance of the local cache
},
allowUnlimitedContractSize: true,
loggingEnabled: false,
accounts:{
count:100
}
},
eth: {
url: `https://mainnet.infura.io/v3/${process.env.INFURA_ID_PROJECT}`,
chainId: 1,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`],
gasPrice: 20000000000
},
ropsten: {
url: `https://ropsten.infura.io/v3/${process.env.INFURA_ID_PROJECT}`,
chainId: 3,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
rinkeby: {
url: `https://rinkeby.infura.io/v3/${process.env.INFURA_ID_PROJECT}`,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
goerli: {
url: `https://goerli.infura.io/v3/${process.env.INFURA_ID_PROJECT}`,
chainId: 5,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
kovan: {
url: `https://kovan.infura.io/v3/${process.env.INFURA_ID_PROJECT}`,
chainId: 42,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
bscTest: {
url: `https://data-seed-prebsc-2-s3.binance.org:8545`,
chainId: 97,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
bsc: {
url: `https://bsc-dataseed.binance.org/`,
chainId: 56,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
polygonMumbai: {
url: `https://rpc-mumbai.maticvigil.com`,
chainId: 80001,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
polygon: {
url: `https://polygon-rpc.com`,
chainId: 137,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
avalanche: {
url: `https://api.avax.network/ext/bc/C/rpc`,
chainId: 43114,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
fantom: {
url: `https://rpc.ftm.tools/`,
chainId: 250,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
arbitrum: {
url: `https://arb1.arbitrum.io/rpc`,
chainId: 42161,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`]
},
aurora: {
url: `https://mainnet.aurora.dev`,
chainId: 1313161554,
accounts: [`0x${DEFAULT_PRIVATE_KEY}`],
gasPrice: 80000000 //0.08 gwei
},
},
etherscan: {
apiKey: {
mainnet: process.env.ETHERSCAN_API_KEY,
ropsten: process.env.ETHERSCAN_API_KEY,
rinkeby: process.env.ETHERSCAN_API_KEY,
goerli: process.env.ETHERSCAN_API_KEY,
kovan: process.env.ETHERSCAN_API_KEY,
// binance smart chain
bsc: process.env.BSCSCAN_API_KEY,
bscTestnet: process.env.BSCSCAN_API_KEY,
// fantom mainnet
opera: process.env.FANTOMSCAN_API_KEY,
ftmTestnet: process.env.FANTOMSCAN_API_KEY,
// polygon
polygon: process.env.POLYGONSCAN_API_KEY,
polygonMumbai: process.env.POLYGONSCAN_API_KEY,
// avalanche
avalanche: process.env.AVALANCHE_API_KEY,
avalancheFujiTestnet: process.env.AVALANCHE_API_KEY,
// arbitrum
arbitrumOne: process.env.ARBITRUM_API_KEY,
arbitrumTestnet: process.env.ARBITRUM_API_KEY,
aurora: process.env.AURORA_API_KEY
},
//apiKey: `${process.env.AURORA_API_KEY}`,
},
solidity: {
compilers: [DEFAULT_COMPILER_SETTINGS]
},
contractSizer: {
alphaSort: false,
disambiguatePaths: true,
runOnCompile: false
},
typechain: {
outDir: 'typechain',
target: 'ethers-v5'
},
gasReporter: {
enabled: process.env.REPORT_GAS === 'true' ? true : false,
noColors: true,
outputFile: 'reports/gas_usage/summary.txt'
}
}