UNPKG

@ledgerhq/coin-multiversx

Version:
65 lines 2.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const invariant_1 = __importDefault(require("invariant")); const account_1 = require("@ledgerhq/coin-framework/account"); const currencies_1 = require("@ledgerhq/coin-framework/currencies"); const bignumber_js_1 = __importDefault(require("bignumber.js")); function formatAccountSpecifics(account) { const { multiversxResources } = account; (0, invariant_1.default)(multiversxResources, "multiversx account expected"); const unit = (0, account_1.getAccountCurrency)(account).units[0]; const formatConfig = { disableRounding: true, alwaysShowSign: false, showCode: true, }; let str = " "; if (account.spendableBalance) { str += (0, currencies_1.formatCurrencyUnit)(unit, account.spendableBalance, formatConfig) + " spendable. "; } else { str += " 0 spendable."; } if (multiversxResources && multiversxResources.nonce) { str += "\n nonce : " + multiversxResources.nonce; } if (multiversxResources && multiversxResources.delegations) { let delegated = new bignumber_js_1.default(0); let undelegating = new bignumber_js_1.default(0); let rewards = new bignumber_js_1.default(0); for (const delegation of multiversxResources.delegations) { delegated = delegated.plus(delegation.userActiveStake); undelegating = delegation.userUndelegatedList.reduce((sum, undelegation) => sum.plus(undelegation.amount), undelegating); rewards = rewards.plus(delegation.claimableRewards); } str += delegated && delegated.gt(0) ? `\n delegated: ${unit ? (0, currencies_1.formatCurrencyUnit)(unit, delegated, formatConfig) : delegated}` : undelegating && undelegating.gt(0) ? `\n undelegating: ${unit ? (0, currencies_1.formatCurrencyUnit)(unit, undelegating, formatConfig) : undelegating}` : rewards && rewards.gt(0) ? `\n rewards: ${unit ? (0, currencies_1.formatCurrencyUnit)(unit, rewards, formatConfig) : rewards}` : ""; } return str; } function formatOperationSpecifics(op, unit) { const { amount } = op.extra; return amount?.gt && amount.gt(0) ? " amount: " + `${unit ? (0, currencies_1.formatCurrencyUnit)(unit, new bignumber_js_1.default(amount), { showCode: true, disableRounding: true, }).padEnd(16) : amount}` : ""; } exports.default = { formatAccountSpecifics, formatOperationSpecifics, }; //# sourceMappingURL=formatters.js.map