UNPKG

@signumjs/core

Version:

Principal package with functions and models for building Signum Network applications.

31 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRecipientAmountsFromMultiOutPayment = getRecipientAmountsFromMultiOutPayment; const isMultiOutSameTransaction_1 = require("./isMultiOutSameTransaction"); const isMultiOutTransaction_1 = require("./isMultiOutTransaction"); const util_1 = require("@signumjs/util"); /** * Tries to extract recipients and its amounts for multi out payments (different and same amount) * @param transaction The transaction * @return A list of recipients and their payed amount (in NQT) * @throws An exception in case of wrong transaction types * */ function getRecipientAmountsFromMultiOutPayment(transaction) { if ((0, isMultiOutSameTransaction_1.isMultiOutSameTransaction)(transaction)) { const recipients = transaction.attachment.recipients; const amount = recipients.length ? util_1.Amount.fromPlanck(transaction.amountNQT).divide(recipients.length) : util_1.Amount.Zero(); return transaction.attachment.recipients.map(recipient => ({ recipient, amountNQT: amount.getPlanck() })); } if ((0, isMultiOutTransaction_1.isMultiOutTransaction)(transaction)) { return transaction.attachment.recipients.map(r => ({ recipient: r[0], amountNQT: r[1], })); } throw new Error(`Transaction ${transaction.transaction} is not of type 'Multi Out Payment'`); } //# sourceMappingURL=getRecipientAmountsFromMultiOutPayment.js.map