import debug from 'debug'; import { Registry } from '@cerc-io/laconic-sdk'; import { DEFAULT_CONFIG_FILE_PATH } from '../src/constants'; import { Config } from '../src/config'; import { getConfig } from '../src/utils'; const log = debug('snowball:initialize-registry'); const DENOM = 'aphoton'; const BOND_AMOUNT = '1000000000'; // TODO: Get authority names from args const AUTHORITY_NAMES = ['snowballtools', 'cerc-io']; async function main () { const { registryConfig } = await getConfig(DEFAULT_CONFIG_FILE_PATH); const registry = new Registry(registryConfig.gqlEndpoint, registryConfig.restEndpoint, registryConfig.chainId); const bondId = await registry.getNextBondId(registryConfig.privateKey); log('bondId:', bondId); await registry.createBond({ denom: DENOM, amount: BOND_AMOUNT }, registryConfig.privateKey, registryConfig.fee); for await (const name of AUTHORITY_NAMES) { await registry.reserveAuthority({ name }, registryConfig.privateKey, registryConfig.fee); log('Reserved authority name:', name); await registry.setAuthorityBond({ name, bondId }, registryConfig.privateKey, registryConfig.fee); log(`Bond ${bondId} set for authority ${name}`); } } main().catch((err) => { log(err); });