truffle-config.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. require("dotenv").config({ path: ".env" });
  2. const HDWalletProvider = require("@truffle/hdwallet-provider");
  3. /**
  4. *
  5. * @param {string} url
  6. * @returns {HDWalletProvider} An instance of HDWalletProvider
  7. */
  8. function payerProvider(url) {
  9. return () =>
  10. new HDWalletProvider({
  11. mnemonic: process.env.MNEMONIC,
  12. providerOrUrl: url,
  13. // This option makes deployments more reliable (by avoiding rate limiting errors) at the cost of
  14. // taking a little longer.
  15. pollingInterval: 12000,
  16. });
  17. }
  18. module.exports = {
  19. migrations_directory: process.env.MIGRATIONS_DIR,
  20. networks: {
  21. development: {
  22. host: "127.0.0.1",
  23. port: 8545,
  24. network_id: "*",
  25. },
  26. [process.env.MIGRATIONS_NETWORK]: {
  27. provider: payerProvider(process.env.RPC_URL),
  28. network_id: process.env.NETWORK_ID,
  29. },
  30. },
  31. compilers: {
  32. solc: {
  33. version: "0.8.29",
  34. evmVersion: "paris",
  35. settings: {
  36. optimizer: {
  37. enabled: true,
  38. runs: 200,
  39. },
  40. },
  41. },
  42. },
  43. plugins: [
  44. "truffle-plugin-verify",
  45. "truffle-contract-size",
  46. "truffle-plugin-stdjsonin",
  47. ],
  48. };