UNPKG

@signumjs/core

Version:

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

24 lines 1.34 kB
"use strict"; 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