@signumjs/core
Version:
Principal package with functions and models for building Signum Network applications.
24 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRecipientsAmount = getRecipientsAmount;
const util_1 = require("@signumjs/util");
const getRecipientAmountsFromMultiOutPayment_1 = require("./getRecipientAmountsFromMultiOutPayment");
const isMultiOutTransaction_1 = require("./isMultiOutTransaction");
const isMultiOutSameTransaction_1 = require("./isMultiOutSameTransaction");
/**
* Gets the amount from a transaction, considering ordinary and multi out transactions (with same and different payments)
* @param recipientId The numeric id of the recipient
* @param transaction The payment transaction
* @return the amount value object
*
*/
function getRecipientsAmount(recipientId, transaction) {
if ((0, isMultiOutTransaction_1.isMultiOutTransaction)(transaction) || (0, isMultiOutSameTransaction_1.isMultiOutSameTransaction)(transaction)) {
const recipientAmounts = (0, getRecipientAmountsFromMultiOutPayment_1.getRecipientAmountsFromMultiOutPayment)(transaction);
return recipientAmounts
.filter(ra => ra.recipient === recipientId)
.reduce((amount, ra) => amount.add(util_1.Amount.fromPlanck(ra.amountNQT)), util_1.Amount.Zero());
}
return util_1.Amount.fromPlanck(transaction.amountNQT);
}
//# sourceMappingURL=getRecipientsAmount.js.map