mirror of
https://github.com/bisq-network/bisq.git
synced 2025-03-03 18:56:59 +01:00
Fix updateReservedBalance.
btcWalletService.getAddressEntriesForOpenOffer() contains also OFFER_FUNDING entries. This version minimizes the change by mapping to address and use distinct to avoid duplicate entries to be summed up. Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
This commit is contained in:
parent
f6c31aa479
commit
cadf2073cf
1 changed files with 7 additions and 6 deletions
|
@ -42,7 +42,6 @@ import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
@ -111,10 +110,12 @@ public class Balances {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateReservedBalance() {
|
private void updateReservedBalance() {
|
||||||
long sum = btcWalletService.getAddressEntriesForOpenOffer().stream()
|
long sum = openOfferManager.getObservableList().stream()
|
||||||
.collect(Collectors.toMap(AddressEntry::getAddress, p -> p, (p, q) -> p))
|
.map(openOffer -> btcWalletService.getAddressEntry(openOffer.getId(), AddressEntry.Context.RESERVED_FOR_TRADE)
|
||||||
.keySet()
|
.orElse(null))
|
||||||
.stream()
|
.filter(Objects::nonNull)
|
||||||
|
.map(AddressEntry::getAddress)
|
||||||
|
.distinct()
|
||||||
.mapToLong(address -> btcWalletService.getBalanceForAddress(address).value)
|
.mapToLong(address -> btcWalletService.getBalanceForAddress(address).value)
|
||||||
.sum();
|
.sum();
|
||||||
reservedBalance.set(Coin.valueOf(sum));
|
reservedBalance.set(Coin.valueOf(sum));
|
||||||
|
@ -124,7 +125,7 @@ public class Balances {
|
||||||
Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getTradesStreamWithFundsLockedIn(), failedTradesManager.getTradesStreamWithFundsLockedIn());
|
Stream<Trade> lockedTrades = Stream.concat(closedTradableManager.getTradesStreamWithFundsLockedIn(), failedTradesManager.getTradesStreamWithFundsLockedIn());
|
||||||
lockedTrades = Stream.concat(lockedTrades, tradeManager.getTradesStreamWithFundsLockedIn());
|
lockedTrades = Stream.concat(lockedTrades, tradeManager.getTradesStreamWithFundsLockedIn());
|
||||||
long sum = lockedTrades.map(trade -> btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG)
|
long sum = lockedTrades.map(trade -> btcWalletService.getAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG)
|
||||||
.orElse(null))
|
.orElse(null))
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.mapToLong(AddressEntry::getCoinLockedInMultiSig)
|
.mapToLong(AddressEntry::getCoinLockedInMultiSig)
|
||||||
.sum();
|
.sum();
|
||||||
|
|
Loading…
Add table
Reference in a new issue