@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
34 lines (33 loc) • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateConfig = updateConfig;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const contracts_1 = require("../../../config/contracts");
async function updateConfig(config, contractAddressName) {
const toWrite = `import { AppConfig } from "." \n const config: AppConfig = ${JSON.stringify(config, null, 2)};
export default config;`;
let fileToWrite;
switch (config.environment) {
case contracts_1.AppEnv.LOCAL:
fileToWrite = "local.ts";
break;
case contracts_1.AppEnv.TESTNET_STAGING:
fileToWrite = "testnet-staging.ts";
break;
case contracts_1.AppEnv.TESTNET:
fileToWrite = "testnet.ts";
break;
case contracts_1.AppEnv.MAINNET:
fileToWrite = "mainnet.ts";
break;
default:
throw new Error(`Invalid or unsupported environment for config file generation: ${config.environment}`);
}
const localConfigPath = path_1.default.resolve(`../config/${fileToWrite}`);
console.log(`Updating config for ${config.environment} environment, setting ${contractAddressName}, writing to: ${localConfigPath}`);
fs_1.default.writeFileSync(localConfigPath, toWrite);
}