UNPKG

@ledgerhq/coin-hedera

Version:
75 lines 2.25 kB
import { HEDERA_TRANSACTION_MODES, MAP_STAKING_MODE_TO_METHOD } from "./constants"; import { isTokenAssociateTransaction, isStakingTransaction } from "./logic/utils"; async function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) { const fields = []; if (isStakingTransaction(transaction)) { fields.push({ type: "text", label: "Method", value: 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 (isTokenAssociateTransaction(transaction)) return "Associate Token"; else if (transaction.useAllAmount) return "Transfer All"; else return "Transfer"; })(); fields.push({ type: "text", label: "Method", value: method, }); if (!isTokenAssociateTransaction(transaction)) { fields.push({ type: "amount", label: "Amount", }); } if (!estimatedFees.isZero()) { fields.push({ type: "fees", label: "Fees", }); } if (transaction.mode === 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; } export default getDeviceTransactionConfig; //# sourceMappingURL=deviceTransactionConfig.js.map