require("dotenv").config({ path: ".env" }); const HDWalletProvider = require("@truffle/hdwallet-provider"); const KLAYHDWalletProvider = require("truffle-hdwallet-provider-klaytn"); const Caver = require("caver-js"); module.exports = { networks: { development: { host: "127.0.0.1", port: 8545, network_id: "*", }, // test network is the same as development but allows us to omit certain migrations test: { host: "127.0.0.1", port: 8545, network_id: "*", }, ethereum: { provider: () => new HDWalletProvider(process.env.MNEMONIC, "https://rpc.ankr.com/eth"), network_id: 1, confirmations: 1, timeoutBlocks: 200, skipDryRun: false, }, rinkeby: { provider: () => new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ankr.com/eth_rinkeby" ), network_id: 4, gas: 5500000, confirmations: 2, timeoutBlocks: 200, skipDryRun: true, }, ethereum_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ankr.com/eth_goerli" ); }, network_id: "5", }, ropsten_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ankr.com/eth_ropsten" ); }, network_id: "3", }, bsc: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://bsc-dataseed.binance.org/" ); }, network_id: "56", gas: 70000000, gasPrice: 8000000000, }, bsc_testnet: { provider: () => new HDWalletProvider( process.env.MNEMONIC, "https://data-seed-prebsc-1-s1.binance.org:8545/" ), network_id: "97", }, polygon: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://polygon-rpc.com" ); }, network_id: "137", gas: 10000000, gasPrice: 700000000000, }, polygon_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ankr.com/polygon_mumbai" ); }, network_id: "80001", }, avalanche: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://api.avax.network/ext/bc/C/rpc" ); }, network_id: "43114", gas: 8000000, gasPrice: 26000000000, }, avalanche_testnet: { provider: () => new HDWalletProvider( process.env.MNEMONIC, "https://api.avax-test.network/ext/bc/C/rpc" ), network_id: "43113", }, oasis: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://emerald.oasis.dev/" ); }, network_id: 42262, }, oasis_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://testnet.emerald.oasis.dev" ); }, network_id: 42261, }, aurora: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://mainnet.aurora.dev" ); }, network_id: 0x4e454152, from: "0xE2e2d9E31d7e1CC1178Fe0d1c5950f6C809816a3", }, aurora_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://testnet.aurora.dev" ); }, network_id: 0x4e454153, gas: 10000000, from: "0x3bC7f2e458aC4E55F941C458cfD8c6851a591B4F", // public key }, fantom: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ftm.tools/" ); }, network_id: 250, gas: 8000000, gasPrice: 3000000000000, timeoutBlocks: 15000, }, fantom_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.testnet.fantom.network/" ); }, network_id: 0xfa2, }, karura: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, // NOTE: To use this local host, needed to run this: ENDPOINT_URL=wss://karura-rpc-1.aca-api.network npx @acala-network/eth-rpc-adapter@latest // "http://localhost:8545" "https://eth-rpc-karura.aca-api.network/" ); }, network_id: 686, // NOTE: run ./karura-gas-prices and update the following two values, otherwise the transactions will likely fail gasPrice: "0x2fad8f03ea", gasLimit: "0x329b140", gas: "0x329b140", }, karura_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://karura-dev.aca-dev.network/eth/http" ); }, network_id: 596, gasPrice: "0x2f7e8805de", gasLimit: "0x329b140", gas: "0x329b0dc", }, acala: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, // To use this local host, needed to run this: ENDPOINT_URL=wss://acala-rpc-0.aca-api.network npx @acala-network/eth-rpc-adapter@latest //"http://localhost:8545" "https://eth-rpc-acala.aca-api.network/" ); }, network_id: 787, gasPrice: "0x33a70303ea", gasLimit: "0x6fc3540", gas: "0x6fc3400", }, acala_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://acala-dev.aca-dev.network/eth/http" ); }, network_id: 597, gasPrice: "0x2ed51903ea", gasLimit: "0x6fc3540", gas: "0x329b0dc", }, klaytn: { // Note that Klaytn works with version 5.3.14 of truffle, but not some of the newer versions. provider: () => { return new KLAYHDWalletProvider( process.env.MNEMONIC, "https://public-node-api.klaytnapi.com/v1/cypress" ); }, network_id: "8217", //Klaytn mainnet's network id gas: "8500000", gasPrice: null, }, klaytn_testnet: { // Note that Klaytn works with version 5.3.14 of truffle, but not some of the newer versions. provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://api.baobab.klaytn.net:8651/" ); }, network_id: "1001", gas: "8500000", gasPrice: null, }, celo: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://forno.celo.org" ); }, network_id: 42220, gas: 8000000, gasPrice: null, }, celo_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://alfajores-forno.celo-testnet.org" ); }, network_id: 44787, }, moonbeam: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.api.moonbeam.network" //"https://moonbeam.api.onfinality.io/public" // When the core was deployed on 7/21/2022, the one above kept timing out but this one worked. ); }, network_id: 1284, }, moonbeam_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.api.moonbase.moonbeam.network" ); }, network_id: 1287, gasPrice: 3000000000, // 3.0 gwei timeoutBlocks: 15000, }, neon_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://proxy.devnet.neonlabs.org/solana" ); }, network_id: "*", gas: 3000000000, gasPrice: 443065000000, }, arbitrum: { // Note that arbitrum did not work with our standard version of truffle (5.3.14), but it did work with the latest (5.5.22) provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://arb1.arbitrum.io/rpc" ); }, network_id: 42161, }, arbitrum_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://goerli-rollup.arbitrum.io/rpc" ); }, network_id: 421613, }, optimism: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://mainnet.optimism.io" ); }, network_id: 10, }, optimism_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.ankr.com/optimism_testnet" // "https://goerli.optimism.io" <== This didn't work for testnet ); }, network_id: 420, }, gnosis: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://rpc.gnosischain.com/" ); }, network_id: 100, }, gnosis_testnet: { provider: () => { return new HDWalletProvider( process.env.MNEMONIC, "https://sokol.poa.network/" ); }, network_id: 77, }, }, compilers: { solc: { version: "0.8.4", settings: { optimizer: { enabled: true, runs: 200, }, }, }, }, plugins: ["@chainsafe/truffle-plugin-abigen", "truffle-plugin-verify"], api_keys: { etherscan: process.env.ETHERSCAN_KEY, }, };