UNPKG

@ledgerhq/live-common

Version:
53 lines (48 loc) 1.94 kB
export * from "@ledgerhq/ledger-wallet-framework/transaction/common"; export * from "./signOperation"; export * from "./deviceTransactionConfig"; import type { Transaction, TransactionRaw, TransactionStatus, TransactionStatusRaw, } from "../generated/types"; import transactionModulePerFamily from "../generated/transaction"; import type { Account } from "@ledgerhq/types-live"; export const fromTransactionRaw = (tr: TransactionRaw): Transaction => { const TM = transactionModulePerFamily[tr.family]; // FIXME: something is wrong with TM.fromTransactionRaw expecting a (arg: never) => for some reasons return TM.fromTransactionRaw(tr as any); }; export const toTransactionRaw = (t: Transaction): TransactionRaw => { const TM = transactionModulePerFamily[t.family]; // FIXME: something is wrong with TM.toTransactionRaw expecting a (arg: never) => for some reasons return TM.toTransactionRaw(t as any); }; export const fromTransactionStatusRaw = ( tr: TransactionStatusRaw, family: string, ): TransactionStatus => { const TM = transactionModulePerFamily[family]; return TM.fromTransactionStatusRaw(tr as any); }; export const toTransactionStatusRaw = ( t: TransactionStatus, family: string, ): TransactionStatusRaw => { const TM = transactionModulePerFamily[family]; return TM.toTransactionStatusRaw(t as any); }; export const formatTransaction = async (t: Transaction, a: Account): Promise<string> => { const TM = transactionModulePerFamily[t.family]; // FIXME: something is wrong with TM.formatTransaction expecting a (arg: never) => for some reasons return TM.formatTransaction ? await TM.formatTransaction(t as any, a as any) : ""; }; export const formatTransactionStatus = ( t: Transaction, ts: TransactionStatus, mainAccount: Account, ): string => { const TM = transactionModulePerFamily[t.family]; return TM.formatTransactionStatus(t as any, ts as any, mainAccount as any); };