mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-13 18:55:52 +00:00
Don't derive private keys just to check if they exist
This commit is contained in:
parent
a293b09ef5
commit
4411eb8702
@ -320,7 +320,7 @@ public class DeterministicKey extends ECKey {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public boolean hasPrivKey() {
|
public boolean hasPrivKey() {
|
||||||
return findOrDerivePrivateKey() != null;
|
return findParentWithPrivKey() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@ -407,13 +407,18 @@ public class DeterministicKey extends ECKey {
|
|||||||
return derivePrivateKeyDownwards(cursor, parentalPrivateKeyBytes);
|
return derivePrivateKeyDownwards(cursor, parentalPrivateKeyBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
private DeterministicKey findParentWithPrivKey() {
|
||||||
private BigInteger findOrDerivePrivateKey() {
|
|
||||||
DeterministicKey cursor = this;
|
DeterministicKey cursor = this;
|
||||||
while (cursor != null) {
|
while (cursor != null) {
|
||||||
if (cursor.priv != null) break;
|
if (cursor.priv != null) break;
|
||||||
cursor = cursor.parent;
|
cursor = cursor.parent;
|
||||||
}
|
}
|
||||||
|
return cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private BigInteger findOrDerivePrivateKey() {
|
||||||
|
DeterministicKey cursor = findParentWithPrivKey();
|
||||||
if (cursor == null)
|
if (cursor == null)
|
||||||
return null;
|
return null;
|
||||||
return derivePrivateKeyDownwards(cursor, cursor.priv.toByteArray());
|
return derivePrivateKeyDownwards(cursor, cursor.priv.toByteArray());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user