@blockfrost/blockfrost-cardano-cli
Version:
Drop-in(ish) replacement for cardano-cli powered by Blockfrost
58 lines (57 loc) • 2.08 kB
JavaScript
;
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 }) });