UNPKG

@ledgerhq/coin-stellar

Version:
83 lines 3.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatTransaction = void 0; const bignumber_js_1 = require("bignumber.js"); const formatters_1 = require("@ledgerhq/coin-framework/formatters"); const serialization_1 = require("@ledgerhq/coin-framework/serialization"); const formatCurrencyUnit_1 = require("@ledgerhq/coin-framework/currencies/formatCurrencyUnit"); const helpers_1 = require("@ledgerhq/coin-framework/account/helpers"); const logic_1 = require("./logic"); // FIXME: recheck fields here (mode -> type?) function formatTransaction({ amount, recipient, fees, memoValue, useAllAmount, subAccountId }, mainAccount) { const account = (subAccountId && (mainAccount.subAccounts || []).find(a => a.id === subAccountId)) || mainAccount; return ` SEND ${useAllAmount ? "MAX" : (0, formatCurrencyUnit_1.formatCurrencyUnit)((0, helpers_1.getAccountCurrency)(account).units[0], amount, { showCode: true, disableRounding: true, })} TO ${recipient} with fees=${!fees ? "?" : (0, formatCurrencyUnit_1.formatCurrencyUnit)((0, helpers_1.getAccountCurrency)(account).units[0], fees, { showCode: true, disableRounding: true, })}${memoValue ? "\n memo=" + memoValue : ""}`; } exports.formatTransaction = formatTransaction; function fromTransactionRaw(tr) { const common = (0, serialization_1.fromTransactionCommonRaw)(tr); const { networkInfo } = tr; const [assetReference, assetOwner] = (0, logic_1.getAssetCodeIssuer)(tr); return { ...common, family: tr.family, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null, memoValue: tr.memoValue ? tr.memoValue : null, memoType: tr.memoType ? tr.memoType : null, networkInfo: networkInfo && { family: networkInfo.family, fees: new bignumber_js_1.BigNumber(networkInfo.fees), baseFee: new bignumber_js_1.BigNumber(networkInfo.baseFee), baseReserve: new bignumber_js_1.BigNumber(networkInfo.baseReserve), networkCongestionLevel: networkInfo.networkCongestionLevel, }, mode: tr.mode, assetReference, assetOwner, }; } function toTransactionRaw(transaction) { const common = (0, serialization_1.toTransactionCommonRaw)(transaction); const { networkInfo } = transaction; const [assetReference, assetOwner] = (0, logic_1.getAssetCodeIssuer)(transaction); return { ...common, family: transaction.family, fees: transaction.fees ? transaction.fees.toString() : null, baseReserve: transaction.baseReserve ? transaction.baseReserve.toString() : null, memoValue: transaction.memoValue ? transaction.memoValue.toString() : null, memoType: transaction.memoType ? transaction.memoType.toString() : null, networkInfo: networkInfo && { family: networkInfo.family, fees: networkInfo.fees.toString(), baseFee: networkInfo.baseFee.toString(), baseReserve: networkInfo.baseReserve.toString(), networkCongestionLevel: networkInfo.networkCongestionLevel, }, mode: transaction.mode, assetReference, assetOwner, }; } exports.default = { formatTransaction, fromTransactionRaw, toTransactionRaw, fromTransactionStatusRaw: serialization_1.fromTransactionStatusRawCommon, toTransactionStatusRaw: serialization_1.toTransactionStatusRawCommon, formatTransactionStatus: formatters_1.formatTransactionStatus, }; //# sourceMappingURL=transaction.js.map