UNPKG

@tribecahq/registry

Version:

Registry of Tribeca DAOs.

50 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const solana_contrib_1 = require("@saberhq/solana-contrib"); const fs = tslib_1.__importStar(require("fs/promises")); const toml = tslib_1.__importStar(require("toml")); const parse_1 = require("../parser/parse"); const validate_1 = require("../parser/validate"); const serialize_1 = require("../utils/serialize"); function notEmpty(value) { return value !== null && value !== undefined; } const buildGovernorMetasForNetwork = async (network) => { const networkFmt = (0, solana_contrib_1.formatNetwork)(network); const daoDir = `${__dirname}/../../config/${networkFmt}`; const daos = await fs.readdir(daoDir); const outDir = `${__dirname}/../../data/registry/${networkFmt}`; await fs.mkdir(outDir, { recursive: true }); const governors = await Promise.all(daos.map(async (dao) => { const daoStat = await fs.stat(`${daoDir}/${dao}`); if (!daoStat.isDirectory()) { return null; } const config = await fs.readFile(`${daoDir}/${dao}/Tribeca.toml`); const rawConfig = toml.parse(config.toString()); try { const parsedConfig = await (0, parse_1.parseGovernorConfig)(rawConfig, network); const config = (0, validate_1.validateConfig)(parsedConfig); await fs.writeFile(`${outDir}/${dao}.json`, (0, serialize_1.stableStringify)(config)); return config; } catch (e) { console.error(`Error parsing config ${networkFmt}/${dao}`, e); throw e; } })); const foundDAOs = governors.filter(notEmpty); await fs.writeFile(`${__dirname}/../../data/registry/governor-metas.${networkFmt}.json`, (0, serialize_1.stableStringify)(foundDAOs)); }; const buildGovernorMetas = async () => { await buildGovernorMetasForNetwork("mainnet-beta"); await buildGovernorMetasForNetwork("devnet"); }; buildGovernorMetas() .then() .catch((err) => { console.error(err); process.exit(1); }); //# sourceMappingURL=generateGovernorMetas.js.map