@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
28 lines (27 loc) • 1.13 kB
JavaScript
import path from "path";
import fs from "fs";
import { AppEnv } from "../../../config/contracts";
export 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 AppEnv.LOCAL:
fileToWrite = "local.ts";
break;
case AppEnv.TESTNET_STAGING:
fileToWrite = "testnet-staging.ts";
break;
case AppEnv.TESTNET:
fileToWrite = "testnet.ts";
break;
case AppEnv.MAINNET:
fileToWrite = "mainnet.ts";
break;
default:
throw new Error(`Invalid or unsupported environment for config file generation: ${config.environment}`);
}
const localConfigPath = path.resolve(`../config/${fileToWrite}`);
console.log(`Updating config for ${config.environment} environment, setting ${contractAddressName}, writing to: ${localConfigPath}`);
fs.writeFileSync(localConfigPath, toWrite);
}