From bd000c2662aac3582f8ecdd52b0c5d6164b7aef9 Mon Sep 17 00:00:00 2001 From: Ivan Tivonenko Date: Tue, 18 Aug 2015 05:17:49 +0300 Subject: [PATCH] fix transactionFilter --- src/api/ledger/transactions.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/api/ledger/transactions.js b/src/api/ledger/transactions.js index 8469d48b..da5a3f6a 100644 --- a/src/api/ledger/transactions.js +++ b/src/api/ledger/transactions.js @@ -15,6 +15,21 @@ function parseAccountTxTransaction(tx) { return parseTransaction(tx.tx); } +function counterpartyFilter(filters, tx) { + if (!filters.counterparty) { + return true; + } + if (tx.address === filters.counterparty || ( + tx.specification && ( + (tx.specification.destination && + tx.specification.destination.address === filters.counterparty) || + (tx.specification.counterparty === filters.counterparty) + ))) { + return true; + } + return false; +} + function transactionFilter(address, filters, tx) { if (filters.excludeFailures && tx.outcome.result !== 'tesSUCCESS') { return false; @@ -28,8 +43,7 @@ function transactionFilter(address, filters, tx) { if (filters.initiated === false && tx.address === address) { return false; } - if (filters.counterparty && tx.address !== filters.counterparty - && tx.specification.destination.address !== filters.counterparty) { + if (filters.counterparty && !counterpartyFilter(filters, tx)) { return false; } return true;