diff --git a/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java index 834c7b81..9bbf0e43 100644 --- a/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java +++ b/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java @@ -67,16 +67,11 @@ public class CrossChainBitcoinResource { if (!bitcoin.isValidDeterministicKey(key58)) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); - try { - Long balance = bitcoin.getWalletBalanceFromTransactions(key58); - if (balance == null) - throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - - return balance.toString(); - - } catch (ForeignBlockchainException e) { + Long balance = bitcoin.getWalletBalance(key58); + if (balance == null) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - } + + return balance.toString(); } @POST diff --git a/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java index 189a53d3..bb2dcbbc 100644 --- a/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java +++ b/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java @@ -65,16 +65,11 @@ public class CrossChainDogecoinResource { if (!dogecoin.isValidDeterministicKey(key58)) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); - try { - Long balance = dogecoin.getWalletBalanceFromTransactions(key58); - if (balance == null) - throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - - return balance.toString(); - - } catch (ForeignBlockchainException e) { + Long balance = dogecoin.getWalletBalance(key58); + if (balance == null) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - } + + return balance.toString(); } @POST diff --git a/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java index 627c00c7..8f6fa582 100644 --- a/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java +++ b/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java @@ -67,16 +67,11 @@ public class CrossChainLitecoinResource { if (!litecoin.isValidDeterministicKey(key58)) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); - try { - Long balance = litecoin.getWalletBalanceFromTransactions(key58); - if (balance == null) - throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - - return balance.toString(); - - } catch (ForeignBlockchainException e) { + Long balance = litecoin.getWalletBalance(key58); + if (balance == null) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); - } + + return balance.toString(); } @POST diff --git a/src/main/java/org/qortal/crosschain/Bitcoiny.java b/src/main/java/org/qortal/crosschain/Bitcoiny.java index bd2e165b..b9ed1951 100644 --- a/src/main/java/org/qortal/crosschain/Bitcoiny.java +++ b/src/main/java/org/qortal/crosschain/Bitcoiny.java @@ -336,16 +336,6 @@ public abstract class Bitcoiny implements ForeignBlockchain { return balance.value; } - public Long getWalletBalanceFromTransactions(String key58) throws ForeignBlockchainException { - long balance = 0; - Comparator oldestTimestampFirstComparator = Comparator.comparingInt(SimpleTransaction::getTimestamp); - List transactions = getWalletTransactions(key58).stream().sorted(oldestTimestampFirstComparator).collect(Collectors.toList()); - for (SimpleTransaction transaction : transactions) { - balance += transaction.getTotalAmount(); - } - return balance; - } - public List getWalletTransactions(String key58) throws ForeignBlockchainException { Context.propagate(bitcoinjContext);