3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-13 02:35:52 +00:00

Wallet: Fix getIssuedReceiveKeys() and getIssuedReceiveAddresses() to return keys/addresses of all active chains.

This commit is contained in:
Andreas Schildbach 2019-02-18 00:21:00 +01:00
parent f94f8cd692
commit d7b2beac97

View File

@ -709,7 +709,11 @@ public class Wallet extends BaseTaggableObject
public List<ECKey> getIssuedReceiveKeys() {
keyChainGroupLock.lock();
try {
return keyChainGroup.getActiveKeyChain().getIssuedReceiveKeys();
List<ECKey> keys = new LinkedList<>();
long keyRotationTimeSecs = vKeyRotationTimestamp;
for (final DeterministicKeyChain chain : keyChainGroup.getActiveKeyChains(keyRotationTimeSecs))
keys.addAll(chain.getIssuedReceiveKeys());
return keys;
} finally {
keyChainGroupLock.unlock();
}
@ -722,12 +726,13 @@ public class Wallet extends BaseTaggableObject
public List<Address> getIssuedReceiveAddresses() {
keyChainGroupLock.lock();
try {
final DeterministicKeyChain activeKeyChain = keyChainGroup.getActiveKeyChain();
final List<ECKey> keys = activeKeyChain.getIssuedReceiveKeys();
final Script.ScriptType outputScriptType = activeKeyChain.getOutputScriptType();
List<Address> addresses = new ArrayList<>(keys.size());
for (ECKey key : keys)
addresses.add(Address.fromKey(getParams(), key, outputScriptType));
List<Address> addresses = new ArrayList<>();
long keyRotationTimeSecs = vKeyRotationTimestamp;
for (final DeterministicKeyChain chain : keyChainGroup.getActiveKeyChains(keyRotationTimeSecs)) {
Script.ScriptType outputScriptType = chain.getOutputScriptType();
for (ECKey key : chain.getIssuedReceiveKeys())
addresses.add(Address.fromKey(getParams(), key, outputScriptType));
}
return addresses;
} finally {
keyChainGroupLock.unlock();