Browse Source

Revert "Calculate wallet balances from the transactions (ElectrumX) rather than using bitcoinj."

This reverts commit 892612c084.

# Conflicts:
#	src/main/java/org/qortal/crosschain/Bitcoiny.java
online-level-zero-accounts-api-call
CalDescent 3 years ago
parent
commit
214f49e356
  1. 7
      src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java
  2. 7
      src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java
  3. 7
      src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java
  4. 10
      src/main/java/org/qortal/crosschain/Bitcoiny.java

7
src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java

@ -67,16 +67,11 @@ public class CrossChainBitcoinResource {
if (!bitcoin.isValidDeterministicKey(key58)) if (!bitcoin.isValidDeterministicKey(key58))
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY);
try { Long balance = bitcoin.getWalletBalance(key58);
Long balance = bitcoin.getWalletBalanceFromTransactions(key58);
if (balance == null) if (balance == null)
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
return balance.toString(); return balance.toString();
} catch (ForeignBlockchainException e) {
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
}
} }
@POST @POST

7
src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java

@ -65,16 +65,11 @@ public class CrossChainDogecoinResource {
if (!dogecoin.isValidDeterministicKey(key58)) if (!dogecoin.isValidDeterministicKey(key58))
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY);
try { Long balance = dogecoin.getWalletBalance(key58);
Long balance = dogecoin.getWalletBalanceFromTransactions(key58);
if (balance == null) if (balance == null)
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
return balance.toString(); return balance.toString();
} catch (ForeignBlockchainException e) {
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
}
} }
@POST @POST

7
src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java

@ -67,16 +67,11 @@ public class CrossChainLitecoinResource {
if (!litecoin.isValidDeterministicKey(key58)) if (!litecoin.isValidDeterministicKey(key58))
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_PRIVATE_KEY);
try { Long balance = litecoin.getWalletBalance(key58);
Long balance = litecoin.getWalletBalanceFromTransactions(key58);
if (balance == null) if (balance == null)
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE); throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
return balance.toString(); return balance.toString();
} catch (ForeignBlockchainException e) {
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.FOREIGN_BLOCKCHAIN_NETWORK_ISSUE);
}
} }
@POST @POST

10
src/main/java/org/qortal/crosschain/Bitcoiny.java

@ -336,16 +336,6 @@ public abstract class Bitcoiny implements ForeignBlockchain {
return balance.value; return balance.value;
} }
public Long getWalletBalanceFromTransactions(String key58) throws ForeignBlockchainException {
long balance = 0;
Comparator<SimpleTransaction> oldestTimestampFirstComparator = Comparator.comparingInt(SimpleTransaction::getTimestamp);
List<SimpleTransaction> transactions = getWalletTransactions(key58).stream().sorted(oldestTimestampFirstComparator).collect(Collectors.toList());
for (SimpleTransaction transaction : transactions) {
balance += transaction.getTotalAmount();
}
return balance;
}
public List<SimpleTransaction> getWalletTransactions(String key58) throws ForeignBlockchainException { public List<SimpleTransaction> getWalletTransactions(String key58) throws ForeignBlockchainException {
Context.propagate(bitcoinjContext); Context.propagate(bitcoinjContext);

Loading…
Cancel
Save