@ledgerhq/coin-tron
Version:
Ledger Tron Coin integration
77 lines • 3.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatTransaction = exports.toTransactionRaw = exports.fromTransactionRaw = void 0;
const currencies_1 = require("@ledgerhq/coin-module-framework/currencies");
const account_1 = require("@ledgerhq/ledger-wallet-framework/account");
const formatters_1 = require("@ledgerhq/ledger-wallet-framework/formatters");
const serialization_1 = require("@ledgerhq/ledger-wallet-framework/serialization");
const bignumber_js_1 = require("bignumber.js");
const fromTransactionRaw = (tr) => {
const common = (0, serialization_1.fromTransactionCommonRaw)(tr);
const { networkInfo } = tr;
return {
...common,
networkInfo: networkInfo && {
family: "tron",
freeNetUsed: new bignumber_js_1.BigNumber(networkInfo.freeNetUsed),
freeNetLimit: new bignumber_js_1.BigNumber(networkInfo.freeNetLimit),
netUsed: new bignumber_js_1.BigNumber(networkInfo.netUsed),
netLimit: new bignumber_js_1.BigNumber(networkInfo.netLimit),
energyUsed: new bignumber_js_1.BigNumber(networkInfo.energyUsed),
energyLimit: new bignumber_js_1.BigNumber(networkInfo.energyLimit),
},
family: tr.family,
mode: tr.mode,
resource: tr.resource || null,
duration: tr.duration || 3,
votes: tr.votes,
};
};
exports.fromTransactionRaw = fromTransactionRaw;
const toTransactionRaw = (t) => {
const common = (0, serialization_1.toTransactionCommonRaw)(t);
const { networkInfo } = t;
return {
...common,
networkInfo: networkInfo && {
family: "tron",
freeNetUsed: networkInfo.freeNetUsed.toString(),
freeNetLimit: networkInfo.freeNetLimit.toString(),
netUsed: networkInfo.netUsed.toString(),
netLimit: networkInfo.netLimit.toString(),
energyUsed: networkInfo.energyUsed.toString(),
energyLimit: networkInfo.energyLimit.toString(),
},
family: t.family,
mode: t.mode,
resource: t.resource || null,
duration: t.duration || 3,
votes: t.votes,
};
};
exports.toTransactionRaw = toTransactionRaw;
const formatTransaction = (t, mainAccount) => {
const account = (t.subAccountId && (mainAccount.subAccounts || []).find(a => a.id === t.subAccountId)) ||
mainAccount;
return `
${t.mode.toUpperCase()}${t.resource ? " " + t.resource : ""} ${t.useAllAmount
? "MAX"
: t.amount.isZero()
? ""
: " " +
(0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountCurrency)(account).units[0], t.amount, {
showCode: true,
disableRounding: true,
})}${!t.votes ? "" : " " + t.votes.map(v => v.voteCount + "->" + v.address).join(" ")}
TO ${t.recipient}`;
};
exports.formatTransaction = formatTransaction;
exports.default = {
formatTransaction: exports.formatTransaction,
fromTransactionRaw: exports.fromTransactionRaw,
toTransactionRaw: exports.toTransactionRaw,
fromTransactionStatusRaw: serialization_1.fromTransactionStatusRawCommon,
toTransactionStatusRaw: serialization_1.toTransactionStatusRawCommon,
formatTransactionStatus: formatters_1.formatTransactionStatus,
};
//# sourceMappingURL=transaction.js.map