@ledgerhq/coin-near
Version:
45 lines • 1.76 kB
JavaScript
import { BigNumber } from "bignumber.js";
import { formatTransactionStatus } from "@ledgerhq/coin-framework/formatters";
import { fromTransactionCommonRaw, fromTransactionStatusRawCommon as fromTransactionStatusRaw, toTransactionCommonRaw, toTransactionStatusRawCommon as toTransactionStatusRaw, } from "@ledgerhq/coin-framework/serialization";
import { getAccountCurrency } from "@ledgerhq/coin-framework/account/index";
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/index";
export const formatTransaction = ({ mode, amount, recipient, useAllAmount }, account) => `
${mode.toUpperCase()} ${useAllAmount
? "MAX"
: amount.isZero()
? ""
: " " +
formatCurrencyUnit(getAccountCurrency(account).units[0], amount, {
showCode: true,
disableRounding: true,
})}${recipient ? `\nTO ${recipient}` : ""}`;
export const fromTransactionRaw = (transactionRaw) => {
const common = fromTransactionCommonRaw(transactionRaw);
return {
...common,
family: transactionRaw.family,
mode: transactionRaw.mode,
fees: new BigNumber(transactionRaw?.fees || 0),
};
};
export const toTransactionRaw = (transaction) => {
const common = toTransactionCommonRaw(transaction);
const transactionRaw = {
...common,
family: transaction.family,
mode: transaction.mode,
};
if (transaction.fees) {
transactionRaw.fees = transaction.fees.toString();
}
return transactionRaw;
};
export default {
formatTransaction,
fromTransactionRaw,
toTransactionRaw,
fromTransactionStatusRaw,
toTransactionStatusRaw,
formatTransactionStatus,
};
//# sourceMappingURL=transaction.js.map