UNPKG

@waves/node-state

Version:
83 lines 4.43 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.write = void 0; const fs_extra_1 = require("fs-extra"); const waves_transactions_1 = require("@waves/waves-transactions"); const constants_1 = require("./constants"); const createAssets_1 = __importDefault(require("./state/createAssets")); const createAccounts_1 = __importDefault(require("./state/createAccounts")); const console_1 = __importDefault(require("./utils/console")); const setSponsorship_1 = __importDefault(require("./state/setSponsorship")); const setBalances_1 = __importDefault(require("./state/setBalances")); function write(options) { return __awaiter(this, void 0, void 0, function* () { waves_transactions_1.broadcast(waves_transactions_1.alias({ alias: 'master', chainId: constants_1.CHAIN_ID }, constants_1.MASTER_ACCOUNT_SEED), constants_1.NODE_URL) .catch(() => null); const state = JSON.parse(yield fs_extra_1.readFile(options.config, 'utf8')); const ACCOUNTS = yield createAccounts_1.default(state.ACCOUNTS || {}); const ASSETS = yield createAssets_1.default(state.ASSETS || {}, ACCOUNTS); yield setBalances_1.default(state.ACCOUNTS || {}, ASSETS, ACCOUNTS); const SPONSORSHIPS = yield setSponsorship_1.default(state.ASSETS || {}, ASSETS, ACCOUNTS); console_1.default.info('Success create state!'); if (!options.out) { return undefined; } if (options.mode === 'json') { yield fs_extra_1.outputFile(options.out, JSON.stringify({ ACCOUNTS, ASSETS, SPONSORSHIPS, MASTER_ACCOUNT: { SEED: constants_1.MASTER_ACCOUNT_SEED, ADDRESS: waves_transactions_1.libs.crypto.address(constants_1.MASTER_ACCOUNT_SEED, constants_1.CHAIN_ID), PUBLIC_KEY: waves_transactions_1.libs.crypto.publicKey(constants_1.MASTER_ACCOUNT_SEED), ALIAS: 'master' }, 'NODE_URL': constants_1.NODE_URL, 'CHAIN_ID': constants_1.CHAIN_ID, 'NETWORK_BYTE': constants_1.CHAIN_ID.charCodeAt(0), 'SMART_ASSET_SCRIPT': constants_1.SMART_ASSET_SCRIPT, 'DAP_SCRIPT': constants_1.DAP_SCRIPT, 'ACCOUNT_SCRIPT': constants_1.ACCOUNT_SCRIPT, }, null, 4)); } else { yield fs_extra_1.outputFile(options.out, tsTemplate({ ACCOUNTS, ASSETS, SPONSORSHIPS })); } }); } exports.write = write; const exportState = (state) => `export const STATE = ${JSON.stringify(state, null, 4)};`; const exportConstant = (name, value) => `export const ${name} = ${JSON.stringify(value, null, 4)};`; const tsTemplate = (state) => [ exportConstant('MASTER_ACCOUNT', { SEED: constants_1.MASTER_ACCOUNT_SEED, ADDRESS: waves_transactions_1.libs.crypto.address(constants_1.MASTER_ACCOUNT_SEED, constants_1.CHAIN_ID), PUBLIC_KEY: waves_transactions_1.libs.crypto.publicKey(constants_1.MASTER_ACCOUNT_SEED), ALIAS: 'master' }), exportConstant('NODE_URL', constants_1.NODE_URL), exportConstant('CHAIN_ID', constants_1.CHAIN_ID), exportConstant('NETWORK_BYTE', constants_1.CHAIN_ID.charCodeAt(0)), exportConstant('SMART_ASSET_SCRIPT', constants_1.SMART_ASSET_SCRIPT), exportConstant('DAP_SCRIPT', constants_1.DAP_SCRIPT), exportConstant('ACCOUNT_SCRIPT', constants_1.ACCOUNT_SCRIPT), '', exportState(state), ].join('\n'); //# sourceMappingURL=index.js.map