UNPKG

@ledgerhq/coin-canton

Version:
64 lines (59 loc) 1.81 kB
import { formatCurrencyUnit } from "@ledgerhq/coin-module-framework/currencies/index"; import { getAccountCurrency } from "@ledgerhq/ledger-wallet-framework/account/index"; import { formatTransactionStatus } from "@ledgerhq/ledger-wallet-framework/formatters"; import { fromTransactionCommonRaw, fromTransactionStatusRawCommon as fromTransactionStatusRaw, toTransactionCommonRaw, toTransactionStatusRawCommon as toTransactionStatusRaw, } from "@ledgerhq/ledger-wallet-framework/serialization/transaction"; import type { Account } from "@ledgerhq/types-live"; import { BigNumber } from "bignumber.js"; import type { Transaction, TransactionRaw } from "../types"; export const formatTransaction = ( { amount, recipient, fee, useAllAmount }: Transaction, account: Account, ): string => ` SEND ${ useAllAmount ? "MAX" : formatCurrencyUnit(getAccountCurrency(account).units[0], amount, { showCode: true, disableRounding: true, }) } TO ${recipient} with fee=${ !fee ? "?" : formatCurrencyUnit(getAccountCurrency(account).units[0], fee, { showCode: true, disableRounding: true, }) }`; export const fromTransactionRaw = (tr: TransactionRaw): Transaction => { const common = fromTransactionCommonRaw(tr); return { ...common, family: tr.family, fee: tr.fee ? new BigNumber(tr.fee) : null, tokenId: tr.tokenId, }; }; export const toTransactionRaw = (t: Transaction): TransactionRaw => { const common = toTransactionCommonRaw(t); return { ...common, family: t.family, fee: t.fee ? t.fee.toFixed() : null, tokenId: t.tokenId, }; }; export default { formatTransaction, fromTransactionRaw, toTransactionRaw, fromTransactionStatusRaw, toTransactionStatusRaw, formatTransactionStatus, };