Browse Source

[ethereum] Update truffle config (#552)

* [ethereum] Update truffle config

hdwallet package was updated in the PR bringing lerna to this repo.
In the new package the constructor arguments have changed. This PR updates that and adds a helper function to make the config more clear.

* Update truffle-config.js
Ali Behjati 2 years ago
parent
commit
58505a21c8
1 changed files with 50 additions and 157 deletions
  1. 50 157
      target_chains/ethereum/truffle-config.js

+ 50 - 157
target_chains/ethereum/truffle-config.js

@@ -1,6 +1,19 @@
 require("dotenv").config({ path: ".env" });
 require("dotenv").config({ path: ".env" });
 const HDWalletProvider = require("@truffle/hdwallet-provider");
 const HDWalletProvider = require("@truffle/hdwallet-provider");
 
 
+/**
+ *
+ * @param {string} url
+ * @returns {HDWalletProvider} An instance of HDWalletProvider
+ */
+function payerProvider(url) {
+  return () =>
+    new HDWalletProvider({
+      mnemonic: process.env.MNEMONIC,
+      providerOrUrl: url,
+    });
+}
+
 module.exports = {
 module.exports = {
   migrations_directory: process.env.MIGRATIONS_DIR,
   migrations_directory: process.env.MIGRATIONS_DIR,
   networks: {
   networks: {
@@ -10,11 +23,9 @@ module.exports = {
       network_id: "*",
       network_id: "*",
     },
     },
     ethereum: {
     ethereum: {
-      provider: () =>
-        new HDWalletProvider(
-          process.env.MNEMONIC,
-          `https://mainnet.infura.io/v3/` + process.env.INFURA_KEY
-        ),
+      provider: payerProvider(
+        `https://mainnet.infura.io/v3/` + process.env.INFURA_KEY
+      ),
       network_id: 1,
       network_id: 1,
       gas: 10000000,
       gas: 10000000,
       gasPrice: 17000000000,
       gasPrice: 17000000000,
@@ -23,11 +34,9 @@ module.exports = {
       skipDryRun: false,
       skipDryRun: false,
     },
     },
     ropsten: {
     ropsten: {
-      provider: () =>
-        new HDWalletProvider(
-          process.env.MNEMONIC,
-          `https://ropsten.infura.io/v3/` + process.env.INFURA_KEY
-        ),
+      provider: payerProvider(
+        `https://ropsten.infura.io/v3/` + process.env.INFURA_KEY
+      ),
       network_id: 3,
       network_id: 3,
       gas: 5500000,
       gas: 5500000,
       confirmations: 2,
       confirmations: 2,
@@ -35,11 +44,9 @@ module.exports = {
       skipDryRun: true,
       skipDryRun: true,
     },
     },
     rinkeby: {
     rinkeby: {
-      provider: () =>
-        new HDWalletProvider(
-          process.env.MNEMONIC,
-          `https://rinkeby.infura.io/v3/` + process.env.INFURA_KEY
-        ),
+      provider: payerProvider(
+        `https://rinkeby.infura.io/v3/` + process.env.INFURA_KEY
+      ),
       network_id: 4,
       network_id: 4,
       gas: 5500000,
       gas: 5500000,
       confirmations: 2,
       confirmations: 2,
@@ -47,34 +54,22 @@ module.exports = {
       skipDryRun: true,
       skipDryRun: true,
     },
     },
     goerli: {
     goerli: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://goerli.infura.io/v3/" + process.env.INFURA_KEY
-        );
-      },
+      provider: payerProvider(
+        `https://goerli.infura.io/v3/` + process.env.INFURA_KEY
+      ),
       network_id: "5",
       network_id: "5",
       gas: 8465030,
       gas: 8465030,
       gasPrice: 15000000000,
       gasPrice: 15000000000,
       skipDryRun: true,
       skipDryRun: true,
     },
     },
     bnb: {
     bnb: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/bsc"
-        );
-      },
+      provider: payerProvider(`https://rpc.ankr.com/bsc`),
       network_id: "56",
       network_id: "56",
       gas: 70000000,
       gas: 70000000,
       gasPrice: 5500000000,
       gasPrice: 5500000000,
     },
     },
     bnb_testnet: {
     bnb_testnet: {
-      provider: () =>
-        new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/bsc_testnet_chapel"
-        ),
+      provider: payerProvider(`https://rpc.ankr.com/bsc_testnet_chapel`),
       network_id: "97",
       network_id: "97",
       confirmations: 10,
       confirmations: 10,
       networkCheckTimeout: 1000000,
       networkCheckTimeout: 1000000,
@@ -82,62 +77,35 @@ module.exports = {
       skipDryRun: true,
       skipDryRun: true,
     },
     },
     polygon: {
     polygon: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://polygon-rpc.com"
-        );
-      },
+      provider: payerProvider(`https://polygon-rpc.com`),
       network_id: "137",
       network_id: "137",
       gas: 20000000,
       gas: 20000000,
       gasPrice: 300000000000,
       gasPrice: 300000000000,
     },
     },
     mumbai: {
     mumbai: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://polygon-testnet-rpc.allthatnode.com:8545"
-        );
-      },
+      provider: payerProvider(
+        `https://polygon-testnet-rpc.allthatnode.com:8545`
+      ),
       network_id: "80001",
       network_id: "80001",
     },
     },
     avalanche: {
     avalanche: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://api.avax.network/ext/bc/C/rpc"
-        );
-      },
+      provider: payerProvider(`https://api.avax.network/ext/bc/C/rpc`),
       network_id: "43114",
       network_id: "43114",
       gas: 8000000,
       gas: 8000000,
       gasPrice: 30000000000,
       gasPrice: 30000000000,
     },
     },
     fuji: {
     fuji: {
-      provider: () =>
-        new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://api.avax-test.network/ext/bc/C/rpc"
-        ),
+      provider: payerProvider(`https://api.avax-test.network/ext/bc/C/rpc`),
       network_id: "43113",
       network_id: "43113",
     },
     },
     oasis: {
     oasis: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://emerald.oasis.dev/"
-        );
-      },
+      provider: payerProvider(`https://emerald.oasis.dev/`),
       network_id: 42262,
       network_id: 42262,
       gas: 4465030,
       gas: 4465030,
       gasPrice: 30000000000,
       gasPrice: 30000000000,
     },
     },
     aurora: {
     aurora: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://mainnet.aurora.dev"
-        );
-      },
+      provider: payerProvider(`https://mainnet.aurora.dev`),
       network_id: 0x4e454152,
       network_id: 0x4e454152,
       gas: 10000000,
       gas: 10000000,
       from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // creator public key
       from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // creator public key
@@ -145,12 +113,7 @@ module.exports = {
       timeoutBlocks: 1000,
       timeoutBlocks: 1000,
     },
     },
     aurora_testnet: {
     aurora_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://testnet.aurora.dev"
-        );
-      },
+      provider: payerProvider(`https://testnet.aurora.dev`),
       network_id: 0x4e454153,
       network_id: 0x4e454153,
       gas: 10000000,
       gas: 10000000,
       from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // public key
       from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // public key
@@ -158,134 +121,64 @@ module.exports = {
       timeoutBlocks: 1000,
       timeoutBlocks: 1000,
     },
     },
     arbitrum: {
     arbitrum: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://arb1.arbitrum.io/rpc"
-        );
-      },
+      provider: payerProvider(`https://arb1.arbitrum.io/rpc`),
       network_id: 42161,
       network_id: 42161,
     },
     },
     arbitrum_testnet: {
     arbitrum_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://goerli-rollup.arbitrum.io/rpc"
-        );
-      },
+      provider: payerProvider(`https://goerli-rollup.arbitrum.io/rpc`),
       network_id: 421613,
       network_id: 421613,
     },
     },
     optimism: {
     optimism: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/optimism"
-        );
-      },
+      provider: payerProvider(`https://rpc.ankr.com/optimism`),
       network_id: 10,
       network_id: 10,
     },
     },
     optimism_goerli: {
     optimism_goerli: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/optimism_testnet"
-        );
-      },
+      provider: payerProvider(`https://rpc.ankr.com/optimism_testnet`),
       network_id: 420,
       network_id: 420,
     },
     },
     fantom: {
     fantom: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/fantom"
-        );
-      },
+      provider: payerProvider(`https://rpc.ankr.com/fantom`),
       network_id: 250,
       network_id: 250,
       gas: 8000000,
       gas: 8000000,
       gasPrice: 50000000000,
       gasPrice: 50000000000,
       timeoutBlocks: 15000,
       timeoutBlocks: 15000,
     },
     },
     fantom_testnet: {
     fantom_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc.ankr.com/fantom_testnet"
-        );
-      },
+      provider: payerProvider(`https://rpc.ankr.com/fantom_testnet`),
       network_id: 0xfa2,
       network_id: 0xfa2,
       gas: 8000000,
       gas: 8000000,
       gasPrice: 300000000000,
       gasPrice: 300000000000,
     },
     },
     celo: {
     celo: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://forno.celo.org"
-        );
-      },
+      provider: payerProvider(`https://forno.celo.org`),
       network_id: 42220,
       network_id: 42220,
     },
     },
     celo_alfajores_testnet: {
     celo_alfajores_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://alfajores-forno.celo-testnet.org"
-        );
-      },
+      provider: payerProvider(`https://alfajores-forno.celo-testnet.org`),
       network_id: 44787,
       network_id: 44787,
     },
     },
     kcc: {
     kcc: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc-mainnet.kcc.network"
-        );
-      },
+      provider: payerProvider(`https://rpc-mainnet.kcc.network`),
       network_id: 321,
       network_id: 321,
     },
     },
     kcc_testnet: {
     kcc_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://rpc-testnet.kcc.network"
-        );
-      },
+      provider: payerProvider(`https://rpc-testnet.kcc.network`),
       network_id: 322,
       network_id: 322,
     },
     },
     zksync: {
     zksync: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://zksync2-mainnet.zksync.io"
-        );
-      },
+      provider: payerProvider(`https://zksync2-mainnet.zksync.io`),
       network_id: 324,
       network_id: 324,
     },
     },
     zksync_goerli: {
     zksync_goerli: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://zksync2-testnet.zksync.dev"
-        );
-      },
+      provider: payerProvider(`https://zksync2-testnet.zksync.dev`),
       network_id: 280,
       network_id: 280,
     },
     },
     cronos: {
     cronos: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://cronosrpc-1.xstaking.sg"
-        );
-      },
+      provider: payerProvider(`https://cronosrpc-1.xstaking.sg`),
       network_id: 25,
       network_id: 25,
     },
     },
     cronos_testnet: {
     cronos_testnet: {
-      provider: () => {
-        return new HDWalletProvider(
-          process.env.MNEMONIC,
-          "https://evm-t3.cronos.org"
-        );
-      },
+      provider: payerProvider(`https://evm-t3.cronos.org`),
       network_id: 338,
       network_id: 338,
     },
     },
   },
   },