mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-12-23 03:59:36 +00:00
use wallet lock with xmr address entries
This commit is contained in:
parent
153f708a7c
commit
8776fecef0
1 changed files with 15 additions and 9 deletions
|
@ -1206,8 +1206,10 @@ public class XmrWalletService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<XmrAddressEntry> getFundedAvailableAddressEntries() {
|
public List<XmrAddressEntry> getFundedAvailableAddressEntries() {
|
||||||
List<MoneroSubaddress> subaddresses = wallet.getSubaddresses(0);
|
synchronized (walletLock) {
|
||||||
return getAvailableAddressEntries().stream().filter(addressEntry -> getBalanceForSubaddress(addressEntry.getSubaddressIndex(), subaddresses).compareTo(BigInteger.ZERO) > 0).collect(Collectors.toList());
|
List<MoneroSubaddress> subaddresses = wallet.getSubaddresses(0);
|
||||||
|
return getAvailableAddressEntries().stream().filter(addressEntry -> getBalanceForSubaddress(addressEntry.getSubaddressIndex(), subaddresses).compareTo(BigInteger.ZERO) > 0).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<XmrAddressEntry> getAddressEntryListAsImmutableList() {
|
public List<XmrAddressEntry> getAddressEntryListAsImmutableList() {
|
||||||
|
@ -1225,7 +1227,9 @@ public class XmrWalletService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<XmrAddressEntry> getUnusedAddressEntries() {
|
public List<XmrAddressEntry> getUnusedAddressEntries() {
|
||||||
return getUnusedAddressEntries(getTxsWithIncomingOutputs(), wallet.getSubaddresses(0));
|
synchronized (walletLock) {
|
||||||
|
return getUnusedAddressEntries(getTxsWithIncomingOutputs(), wallet.getSubaddresses(0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<XmrAddressEntry> getUnusedAddressEntries(List<MoneroTxWallet> cachedTxs, List<MoneroSubaddress> cachedSubaddresses) {
|
public List<XmrAddressEntry> getUnusedAddressEntries(List<MoneroTxWallet> cachedTxs, List<MoneroSubaddress> cachedSubaddresses) {
|
||||||
|
@ -1338,12 +1342,14 @@ public class XmrWalletService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Stream<XmrAddressEntry> getAddressEntriesForAvailableBalanceStream() {
|
public Stream<XmrAddressEntry> getAddressEntriesForAvailableBalanceStream() {
|
||||||
Stream<XmrAddressEntry> available = getFundedAvailableAddressEntries().stream();
|
synchronized (walletLock) {
|
||||||
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.ARBITRATOR).stream());
|
Stream<XmrAddressEntry> available = getFundedAvailableAddressEntries().stream();
|
||||||
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.OFFER_FUNDING).stream().filter(entry -> !tradeManager.getOpenOfferManager().getOpenOfferById(entry.getOfferId()).isPresent()));
|
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.ARBITRATOR).stream());
|
||||||
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.TRADE_PAYOUT).stream().filter(entry -> tradeManager.getTrade(entry.getOfferId()) == null || tradeManager.getTrade(entry.getOfferId()).isPayoutUnlocked()));
|
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.OFFER_FUNDING).stream().filter(entry -> !tradeManager.getOpenOfferManager().getOpenOfferById(entry.getOfferId()).isPresent()));
|
||||||
List<MoneroSubaddress> subaddresses = wallet.getSubaddresses(0);
|
available = Stream.concat(available, getAddressEntries(XmrAddressEntry.Context.TRADE_PAYOUT).stream().filter(entry -> tradeManager.getTrade(entry.getOfferId()) == null || tradeManager.getTrade(entry.getOfferId()).isPayoutUnlocked()));
|
||||||
return available.filter(addressEntry -> getBalanceForSubaddress(addressEntry.getSubaddressIndex(), subaddresses).compareTo(BigInteger.ZERO) > 0);
|
List<MoneroSubaddress> subaddresses = wallet.getSubaddresses(0);
|
||||||
|
return available.filter(addressEntry -> getBalanceForSubaddress(addressEntry.getSubaddressIndex(), subaddresses).compareTo(BigInteger.ZERO) > 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addWalletListener(MoneroWalletListenerI listener) {
|
public void addWalletListener(MoneroWalletListenerI listener) {
|
||||||
|
|
Loading…
Reference in a new issue