@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