mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-07-31 20:11:23 +00:00
DeterministicKeyChain: Change return type of getKeys() and getIssuedReceiveKeys() from List<ECKey> to List<DeterministicKey>.
This commit is contained in:
@@ -1260,11 +1260,11 @@ public class DeterministicKeyChain implements EncryptableKeyChain {
|
||||
}
|
||||
|
||||
// For internal usage only
|
||||
/* package */ List<ECKey> getKeys(boolean includeLookahead, boolean includeParents) {
|
||||
/* package */ List<DeterministicKey> getKeys(boolean includeLookahead, boolean includeParents) {
|
||||
List<ECKey> keys = basicKeyChain.getKeys();
|
||||
List<DeterministicKey> result = new LinkedList<>();
|
||||
if (!includeLookahead) {
|
||||
int treeSize = internalParentKey.getPath().size();
|
||||
List<ECKey> issuedKeys = new LinkedList<>();
|
||||
for (ECKey key : keys) {
|
||||
DeterministicKey detkey = (DeterministicKey) key;
|
||||
DeterministicKey parent = detkey.getParent();
|
||||
@@ -1272,20 +1272,23 @@ public class DeterministicKeyChain implements EncryptableKeyChain {
|
||||
if (!includeParents && detkey.getPath().size() <= treeSize) continue;
|
||||
if (internalParentKey.equals(parent) && detkey.getChildNumber().i() >= issuedInternalKeys) continue;
|
||||
if (externalParentKey.equals(parent) && detkey.getChildNumber().i() >= issuedExternalKeys) continue;
|
||||
issuedKeys.add(detkey);
|
||||
result.add(detkey);
|
||||
}
|
||||
return issuedKeys;
|
||||
} else {
|
||||
for (ECKey key : keys)
|
||||
result.add((DeterministicKey) key);
|
||||
// TODO includeParents is ignored here
|
||||
}
|
||||
return keys;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns only the external keys that have been issued by this chain, lookahead not included.
|
||||
*/
|
||||
public List<ECKey> getIssuedReceiveKeys() {
|
||||
final List<ECKey> keys = new ArrayList<>(getKeys(false, false));
|
||||
for (Iterator<ECKey> i = keys.iterator(); i.hasNext();) {
|
||||
DeterministicKey parent = ((DeterministicKey) i.next()).getParent();
|
||||
public List<DeterministicKey> getIssuedReceiveKeys() {
|
||||
final List<DeterministicKey> keys = new ArrayList<>(getKeys(false, false));
|
||||
for (Iterator<DeterministicKey> i = keys.iterator(); i.hasNext();) {
|
||||
DeterministicKey parent = i.next().getParent();
|
||||
if (parent == null || !externalParentKey.equals(parent))
|
||||
i.remove();
|
||||
}
|
||||
|
Reference in New Issue
Block a user