UNPKG

@blockfrost/blockfrost-cardano-cli

Version:

Drop-in(ish) replacement for cardano-cli powered by Blockfrost

58 lines (57 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utxo = void 0; const cli_ux_1 = require("cli-ux"); const parsing_1 = require("../../utils/parsing"); const base_command_1 = require("../../helpers/base-command"); const core_1 = require("@oclif/core"); class Utxo extends base_command_1.BaseCommand { constructor() { super(...arguments); this.prettyPrint = (res) => { this.log(); cli_ux_1.cli.table(res.utxo, { tx_hash: { header: 'TxHash', minWidth: 30, }, tx_index: { header: 'TxIx', minWidth: 7, }, amount: { header: 'Amount', get: row => row.amount .map(a => { const { policyId, assetName } = (0, parsing_1.parseAsset)(a.unit); return `${a.quantity} ${policyId}${assetName ? `.${assetName}` : ''}`; }) .join(' + '), }, }, { printLine: (s) => this.log(s), 'no-truncate': true }); this.log(); }; this.doWork = async () => { const { flags } = await this.parse(Utxo); const client = await this.getClient(); const address = flags.address; const utxo = await client.addressesUtxosAll(address, { order: 'desc' }); return { utxo, address, }; }; } async toFile(res) { const dumpObj = {}; res.utxo.forEach(u => { dumpObj[u.tx_hash] = { address: res.address, value: (0, parsing_1.assetsToPolicies)(u.amount), }; }); super.toFile(dumpObj); } } exports.Utxo = Utxo; Utxo.flags = Object.assign(Object.assign({}, base_command_1.BaseCommand.flags), { address: core_1.Flags.string({ description: 'address', required: true }) });