Files
dodo-contractV2/truffle-config.js

326 lines
8.9 KiB
JavaScript
Raw Normal View History

2020-06-26 00:31:25 +08:00
/**
* Use this file to configure your truffle project. It's seeded with some
* common settings for different networks and features like migrations,
* compilation and testing. Uncomment the ones you need or modify
* them to suit your project as necessary.
*
* More information about configuration can be found at:
*
* truffleframework.com/docs/advanced/configuration
*
* To deploy via Infura you'll need a wallet provider (like @truffle/hdwallet-provider)
* to sign your transactions before they're sent to a remote public node. Infura accounts
* are available for free at: infura.io/register.
*
* You'll also need a mnemonic - the twelve word phrase the wallet uses to generate
* public/private key pairs. If you're publishing your code to GitHub make sure you load this
* phrase from a file you've .gitignored so it doesn't accidentally become public.
*
*/
2024-04-17 17:28:43 +08:00
require("dotenv").config();
2021-11-05 09:11:16 +08:00
var HDWalletProvider = require("@truffle/hdwallet-provider");
2020-11-20 11:05:41 +08:00
var privKey = process.env.privKey;
var infuraId = process.env.infuraId;
2021-11-05 09:11:16 +08:00
2020-06-26 00:31:25 +08:00
// const fs = require('fs');
// const mnemonic = fs.readFileSync(".secret").toString().trim();
require("ts-node/register"); // eslint-disable-line
require("dotenv-flow").config(); // eslint-disable-line
const { LINEASCAN_API_KEY, BASESCAN_API_KEY } = process.env;
2020-06-26 00:31:25 +08:00
module.exports = {
/**
* Networks define how you connect to your ethereum client and let you set the
* defaults web3 uses to send transactions. If you don't specify one truffle
* will spin up a development blockchain for you on port 9545 when you
* run `develop` or `test`. You can ask a truffle command to use a specific
* network from the command line, e.g
*
* $ truffle test --network <network-name>
*/
2020-12-22 13:18:23 +08:00
deploySwitch: {
2021-05-11 15:03:40 +08:00
DEPLOY_V1: false,
2024-04-17 17:28:43 +08:00
DEPLOY_V2: true,
2021-12-23 18:13:04 +08:00
ERC20V3Factory: false,
2021-05-11 15:03:40 +08:00
MOCK_TOKEN: false,
MOCK_V2_POOL: false,
vDODOToken: false,
DODORecharge: false,
MINE: false,
FEERATEIMPL: false,
WETH: false,
DODO: false,
UpCP: false,
DVM: false,
CP: false,
CPFactory: false,
MultiCall: false,
DSP: false,
LockedVault: false,
MULTIHOP: false,
2021-06-29 12:30:31 +08:00
CpProxy: false,
2021-04-12 19:59:21 +08:00
ERC20V2Factory: false,
2021-04-15 13:40:48 +08:00
DEPLOY_NFT: false,
2021-05-27 20:07:47 +08:00
COLLECTIONS: false,
2021-05-27 14:49:51 +08:00
MYSTERYBOX_V1: false,
2021-07-13 15:49:53 +08:00
Drops_V2: false,
2021-09-16 19:44:30 +08:00
MineV3: false,
2021-12-23 18:13:04 +08:00
NFT_POOL: false,
2022-01-29 10:11:54 +08:00
UserQuota: false,
2022-04-23 21:50:07 +08:00
STARTER: false,
},
dashboard: {
2023-05-12 14:40:39 +08:00
//host: "localhost",
2022-04-23 21:50:07 +08:00
port: 24012,
2020-12-22 13:18:23 +08:00
},
2020-06-26 00:31:25 +08:00
api_keys: {
2023-10-23 12:41:06 +08:00
etherscan: process.env.ETHERSCAN_API_KEY,
arbiscan: process.env.ARBISCAN_API_KEY,
lineascan: LINEASCAN_API_KEY,
basescan: BASESCAN_API_KEY,
2023-10-23 12:41:06 +08:00
polygonscan: process.env.POLYGONSCAN_API_KEY,
snowtrace: process.env.SNOWTRACE_API_KEY,
scroll: "fakekey",
2024-04-17 17:28:43 +08:00
calderaexplorer: "fakekey",
},
2020-06-26 00:31:25 +08:00
networks: {
// Useful for testing. The `development` name is special - truffle uses it by default
// if it's defined here and no other network is specified at the command line.
// You should run a client (like ganache-cli, geth or parity) in a separate terminal
// tab if you use this network and you must also set the `host`, `port` and `network_id`
// options below to some value.
//
development: {
host: "127.0.0.1",
port: 8545,
network_id: 5777,
2021-01-12 18:12:42 +08:00
gas: 1000000000,
2020-06-26 00:31:25 +08:00
gasPrice: 1,
},
2021-03-22 23:48:41 +08:00
2020-11-18 21:47:06 +08:00
kovan: {
2020-11-20 11:05:41 +08:00
networkCheckTimeout: 100000,
2020-12-22 13:18:23 +08:00
provider: function () {
2020-11-18 21:47:06 +08:00
return new HDWalletProvider(privKey, "https://kovan.infura.io/v3/" + infuraId);
},
2021-01-13 20:39:41 +08:00
gas: 12000000,
2021-04-12 19:31:44 +08:00
gasPrice: 10000000000,
2020-11-18 21:47:06 +08:00
network_id: 42,
skipDryRun: true
},
2021-03-03 23:08:41 +08:00
2021-06-29 12:30:31 +08:00
rinkeby: {
networkCheckTimeout: 100000,
provider: function () {
return new HDWalletProvider(privKey, "https://rinkeby.infura.io/v3/" + infuraId);
},
gas: 10000000,
gasPrice: 1500000000,
network_id: 4,
2021-12-27 21:40:32 +08:00
skipDryRun: true,
2022-01-29 10:11:54 +08:00
// confirmations: 10,
// timeoutBlocks: 200,
2021-06-29 12:30:31 +08:00
},
2020-11-18 21:47:06 +08:00
live: {
networkCheckTimeout: 100000,
2020-12-22 13:18:23 +08:00
provider: function () {
2020-11-18 21:47:06 +08:00
return new HDWalletProvider(privKey, "https://mainnet.infura.io/v3/" + infuraId);
},
2021-09-25 21:29:22 +08:00
gas: 4000000,
2022-02-21 16:31:27 +08:00
gasPrice: 60000000000,
2020-11-18 21:47:06 +08:00
network_id: 1,
skipDryRun: true
},
2021-03-22 23:48:41 +08:00
2020-12-07 16:20:59 +08:00
bsclive: {
2020-12-22 13:18:23 +08:00
provider: function () {
2021-12-27 21:40:32 +08:00
return new HDWalletProvider(privKey, "https://bsc-dataseed3.ninicoin.io");
2020-12-07 16:20:59 +08:00
},
2021-12-27 21:40:32 +08:00
networkCheckTimeout:100000,
2020-12-07 16:20:59 +08:00
network_id: 56,
confirmations: 10,
timeoutBlocks: 200,
2021-04-22 15:49:24 +08:00
gasPrice: 6000000000,
2020-12-07 16:20:59 +08:00
skipDryRun: true
},
2021-03-22 23:48:41 +08:00
2021-02-25 21:34:58 +08:00
heco: {
2021-09-25 21:29:22 +08:00
networkCheckTimeout: 100000,
2021-02-25 21:34:58 +08:00
provider: function () {
return new HDWalletProvider(privKey, "https://http-mainnet.hecochain.com");
},
2021-07-02 16:37:46 +08:00
gasPrice: 3000000000,
2021-02-25 21:34:58 +08:00
network_id: 128
},
2021-03-22 23:48:41 +08:00
2021-09-17 16:45:37 +08:00
moonriver: {
2021-03-03 23:08:41 +08:00
provider: () => {
2021-09-17 16:45:37 +08:00
return new HDWalletProvider(privKey, 'https://rpc.moonriver.moonbeam.network');
2021-03-03 23:08:41 +08:00
},
2022-02-21 16:31:27 +08:00
gasPrice: 2000000000,
2021-11-05 09:11:16 +08:00
network_id: 1285
},
2022-02-21 16:31:27 +08:00
avax: {
provider: () => {
return new HDWalletProvider(privKey, 'https://api.avax.network/ext/bc/C/rpc');
},
gasPrice: 30000000000,
network_id: 43114
},
2021-11-05 09:11:16 +08:00
aurora: {
networkCheckTimeout: 100000,
provider: () => {
let hdWalletProvider = new HDWalletProvider(privKey, 'https://mainnet.aurora.dev');
hdWalletProvider.engine.addProvider(new NonceTrackerSubprovider())
return hdWalletProvider
},
network_id: 0x4e454152,
2022-02-21 16:31:27 +08:00
gas: 10000000,
gasPrice: 30000000,
2021-04-27 14:45:09 +08:00
},
2021-08-07 22:48:12 +08:00
ok: {
networkCheckTimeout: 100000,
provider: () => {
return new HDWalletProvider(privKey, 'https://exchainrpc.okex.org')
},
2021-09-25 21:29:22 +08:00
gasPrice: 500000000,
2021-08-07 22:48:12 +08:00
network_id: 66,
confirmations: 5,
timeoutBlocks: 200,
skipDryRun: true
},
2021-11-24 14:35:01 +08:00
boba: {
networkCheckTimeout: 100000,
provider: () => {
return new HDWalletProvider({
privateKeys: [privKey],
providerOrUrl: 'https://mainnet.boba.network',
chainId: 288
})
},
network_id: 288,
2022-02-21 16:31:27 +08:00
gasPrice: 1000000000,
2021-11-24 14:35:01 +08:00
timeoutBlocks: 200,
skipDryRun: true
},
2021-09-10 16:08:32 +08:00
neon_test: {
networkCheckTimeout: 100000,
provider: () => {
return new HDWalletProvider(privKey, 'https://proxy.testnet.neonlabs.org/solana')
},
network_id: 111,
2021-11-05 09:11:16 +08:00
gasPrice: 0
2021-09-10 16:08:32 +08:00
},
2021-05-31 14:33:08 +08:00
arb: {
2021-08-30 19:26:06 +08:00
networkCheckTimeout: 100000,
2021-05-31 14:33:08 +08:00
provider: function () {
2021-08-30 19:26:06 +08:00
return new HDWalletProvider(privKey, "https://arb1.arbitrum.io/rpc")
2021-05-31 14:33:08 +08:00
},
network_id: '42161',
2022-02-21 16:31:27 +08:00
gas: 2000000,
gasPrice: 1000000000,
2021-08-30 19:26:06 +08:00
skipDryRun: true
2021-05-31 14:33:08 +08:00
},
2021-05-11 15:03:40 +08:00
matic: {
2021-07-02 16:37:46 +08:00
networkCheckTimeout: 1000000,
2021-05-11 15:03:40 +08:00
provider: () => {
2021-07-02 16:37:46 +08:00
return new HDWalletProvider(privKey, 'https://polygon-mainnet.infura.io/v3/' + infuraId)
2021-05-11 15:03:40 +08:00
},
2021-07-02 16:37:46 +08:00
network_id: 137,
gas: 6000000,
2022-02-21 16:31:27 +08:00
gasPrice: 35000000000,
2021-07-02 16:37:46 +08:00
// confirmations: 2,
// timeoutBlocks: 200,
2021-05-11 15:03:40 +08:00
skipDryRun: true
},
2024-04-17 17:28:43 +08:00
2023-05-12 14:40:39 +08:00
base: {
networkCheckTimeout: 1000000,
provider: () => {
return new HDWalletProvider(privKey, 'https://goerli.base.org')
},
network_id: 84531,
gas: 6000000,
gasPrice: 35000000000,
// confirmations: 2,
// timeoutBlocks: 200,
skipDryRun: true
},
2021-05-11 15:03:40 +08:00
2022-04-23 21:50:07 +08:00
optimism: {
provider: () => {
return new HDWalletProvider(privKey, 'https://mainnet.optimism.io')
},
network_id: "10"
},
2024-04-17 17:28:43 +08:00
dodotest: {
networkCheckTimeout: 100000,
provider: () => {
return new HDWalletProvider({
privateKeys: [privKey],
providerOrUrl: 'https://dodochain-testnet.alt.technology',
chainId: 53457
})
},
network_id: '53457',
skipDryRun: true
},
chain138: {
networkCheckTimeout: 60000,
provider: () => {
const rpc = process.env.RPC_URL_138 || process.env.CHAIN138_RPC_URL || "http://127.0.0.1:8545";
return new HDWalletProvider({
privateKeys: [privKey],
providerOrUrl: rpc,
chainId: 138
});
},
network_id: "138",
gas: 8000000,
gasPrice: process.env.GAS_PRICE_138 ? parseInt(process.env.GAS_PRICE_138, 10) : 1000000000,
skipDryRun: true
},
2020-06-26 00:31:25 +08:00
coverage: {
host: "127.0.0.1",
port: 6545,
network_id: 1002,
gas: 0xfffffffffff,
gasPrice: 1,
},
},
// Set default mocha options here, use special reporters etc.
mocha: {
timeout: false,
},
plugins: ["solidity-coverage", "truffle-plugin-verify"],
2020-06-26 00:31:25 +08:00
// Configure your compilers
compilers: {
solc: {
version: "0.6.9", // Fetch exact version from solc-bin (default: truffle's version)
settings: {
// See the solidity docs for advice about optimization and evmVersion
optimizer: {
enabled: true,
runs: 200,
},
2022-02-15 09:31:46 +08:00
// evmVersion: "istanbul"
2020-06-26 00:31:25 +08:00
},
},
},
2021-12-21 09:41:21 +08:00
};