@ledgerhq/coin-hedera
Version:
Ledger Hedera Coin integration
77 lines • 2.31 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("./constants");
const utils_1 = require("./logic/utils");
async function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) {
const fields = [];
if ((0, utils_1.isStakingTransaction)(transaction)) {
fields.push({
type: "text",
label: "Method",
value: constants_1.MAP_STAKING_MODE_TO_METHOD[transaction.mode],
});
if (!estimatedFees.isZero()) {
fields.push({
type: "fees",
label: "Fees",
});
}
if (typeof transaction.properties?.stakingNodeId === "number") {
fields.push({
type: "text",
label: "Staked Node ID",
value: transaction.properties.stakingNodeId.toString(),
});
}
if (transaction.memo) {
fields.push({
type: "text",
label: "Memo",
value: transaction.memo,
});
}
return fields;
}
const method = (() => {
if ((0, utils_1.isTokenAssociateTransaction)(transaction))
return "Associate Token";
else if (transaction.useAllAmount)
return "Transfer All";
else
return "Transfer";
})();
fields.push({
type: "text",
label: "Method",
value: method,
});
if (!(0, utils_1.isTokenAssociateTransaction)(transaction)) {
fields.push({
type: "amount",
label: "Amount",
});
}
if (!estimatedFees.isZero()) {
fields.push({
type: "fees",
label: "Fees",
});
}
if (transaction.mode === constants_1.HEDERA_TRANSACTION_MODES.Send && transaction.gasLimit) {
fields.push({
type: "text",
label: "Gas Limit",
value: transaction.gasLimit.toString(),
});
}
if (transaction.memo) {
fields.push({
type: "text",
label: "Memo",
value: transaction.memo,
});
}
return fields;
}
exports.default = getDeviceTransactionConfig;
//# sourceMappingURL=deviceTransactionConfig.js.map