forked from Qortal/qortal
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
This commit is contained in:
parent
d7658ee9f9
commit
214f49e356
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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…
Reference in New Issue
Block a user