mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-19 05:35:49 +00:00
Move NetworkParameters to first argument in DeterministicKey serialize/deserialize methods, it's more conventional that way.
This commit is contained in:
parent
41f8f5ccb4
commit
17fae952a7
@ -312,14 +312,14 @@ public class DeterministicKey extends ECKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public byte[] serializePublic(NetworkParameters params) {
|
public byte[] serializePublic(NetworkParameters params) {
|
||||||
return serialize(true, params);
|
return serialize(params, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] serializePrivate(NetworkParameters params) {
|
public byte[] serializePrivate(NetworkParameters params) {
|
||||||
return serialize(false, params);
|
return serialize(params, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte[] serialize(boolean pub, NetworkParameters params) {
|
private byte[] serialize(NetworkParameters params, boolean pub) {
|
||||||
ByteBuffer ser = ByteBuffer.allocate(78);
|
ByteBuffer ser = ByteBuffer.allocate(78);
|
||||||
ser.putInt(pub ? params.getBip32HeaderPub() : params.getBip32HeaderPriv());
|
ser.putInt(pub ? params.getBip32HeaderPub() : params.getBip32HeaderPriv());
|
||||||
ser.put((byte) getDepth());
|
ser.put((byte) getDepth());
|
||||||
@ -336,11 +336,11 @@ public class DeterministicKey extends ECKey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String serializePubB58(NetworkParameters params) {
|
public String serializePubB58(NetworkParameters params) {
|
||||||
return toBase58(serialize(true, params));
|
return toBase58(serialize(params, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String serializePrivB58(NetworkParameters params) {
|
public String serializePrivB58(NetworkParameters params) {
|
||||||
return toBase58(serialize(false, params));
|
return toBase58(serialize(params, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
static String toBase58(byte[] ser) {
|
static String toBase58(byte[] ser) {
|
||||||
@ -358,7 +358,7 @@ public class DeterministicKey extends ECKey {
|
|||||||
*/
|
*/
|
||||||
public static DeterministicKey deserializeB58(@Nullable DeterministicKey parent, String base58, NetworkParameters params) {
|
public static DeterministicKey deserializeB58(@Nullable DeterministicKey parent, String base58, NetworkParameters params) {
|
||||||
try {
|
try {
|
||||||
return deserialize(parent, Base58.decodeChecked(base58), params);
|
return deserialize(params, Base58.decodeChecked(base58), parent);
|
||||||
} catch (AddressFormatException e) {
|
} catch (AddressFormatException e) {
|
||||||
throw new IllegalArgumentException(e);
|
throw new IllegalArgumentException(e);
|
||||||
}
|
}
|
||||||
@ -367,15 +367,15 @@ public class DeterministicKey extends ECKey {
|
|||||||
/**
|
/**
|
||||||
* Deserialize an HD Key with no parent
|
* Deserialize an HD Key with no parent
|
||||||
*/
|
*/
|
||||||
public static DeterministicKey deserialize(byte[] serializedKey, NetworkParameters params) {
|
public static DeterministicKey deserialize(NetworkParameters params, byte[] serializedKey) {
|
||||||
return deserialize(null, serializedKey, params);
|
return deserialize(params, serializedKey, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserialize an HD Key.
|
* Deserialize an HD Key.
|
||||||
* @param parent The parent node in the given key's deterministic hierarchy.
|
* @param parent The parent node in the given key's deterministic hierarchy.
|
||||||
*/
|
*/
|
||||||
public static DeterministicKey deserialize(@Nullable DeterministicKey parent, byte[] serializedKey, NetworkParameters params) {
|
public static DeterministicKey deserialize(NetworkParameters params, byte[] serializedKey, @Nullable DeterministicKey parent) {
|
||||||
ByteBuffer buffer = ByteBuffer.wrap(serializedKey);
|
ByteBuffer buffer = ByteBuffer.wrap(serializedKey);
|
||||||
int header = buffer.getInt();
|
int header = buffer.getInt();
|
||||||
if (header != params.getBip32HeaderPriv() && header != params.getBip32HeaderPub())
|
if (header != params.getBip32HeaderPriv() && header != params.getBip32HeaderPub())
|
||||||
|
@ -215,10 +215,10 @@ public class ChildKeyDerivationTest {
|
|||||||
assertEquals(DeterministicKey.deserializeB58(priv58, params), key1);
|
assertEquals(DeterministicKey.deserializeB58(priv58, params), key1);
|
||||||
assertEquals(DeterministicKey.deserializeB58(null, pub58, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserializeB58(null, pub58, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
||||||
assertEquals(DeterministicKey.deserializeB58(pub58, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserializeB58(pub58, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
||||||
assertEquals(DeterministicKey.deserialize(null, priv, params), key1);
|
assertEquals(DeterministicKey.deserialize(params, priv, null), key1);
|
||||||
assertEquals(DeterministicKey.deserialize(priv, params), key1);
|
assertEquals(DeterministicKey.deserialize(params, priv), key1);
|
||||||
assertEquals(DeterministicKey.deserialize(null, pub, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserialize(params, pub, null).getPubKeyPoint(), key1.getPubKeyPoint());
|
||||||
assertEquals(DeterministicKey.deserialize(pub, params).getPubKeyPoint(), key1.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserialize(params, pub).getPubKeyPoint(), key1.getPubKeyPoint());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
final String pub58 = key2.serializePubB58(params);
|
final String pub58 = key2.serializePubB58(params);
|
||||||
@ -227,8 +227,8 @@ public class ChildKeyDerivationTest {
|
|||||||
final byte[] priv = key2.serializePrivate(params);
|
final byte[] priv = key2.serializePrivate(params);
|
||||||
assertEquals(DeterministicKey.deserializeB58(key1, priv58, params), key2);
|
assertEquals(DeterministicKey.deserializeB58(key1, priv58, params), key2);
|
||||||
assertEquals(DeterministicKey.deserializeB58(key1, pub58, params).getPubKeyPoint(), key2.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserializeB58(key1, pub58, params).getPubKeyPoint(), key2.getPubKeyPoint());
|
||||||
assertEquals(DeterministicKey.deserialize(key1, priv, params), key2);
|
assertEquals(DeterministicKey.deserialize(params, priv, key1), key2);
|
||||||
assertEquals(DeterministicKey.deserialize(key1, pub, params).getPubKeyPoint(), key2.getPubKeyPoint());
|
assertEquals(DeterministicKey.deserialize(params, pub, key1).getPubKeyPoint(), key2.getPubKeyPoint());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,9 +240,9 @@ public class ChildKeyDerivationTest {
|
|||||||
DeterministicKey key3 = HDKeyDerivation.deriveChildKey(key2, ChildNumber.ZERO_HARDENED);
|
DeterministicKey key3 = HDKeyDerivation.deriveChildKey(key2, ChildNumber.ZERO_HARDENED);
|
||||||
DeterministicKey key4 = HDKeyDerivation.deriveChildKey(key3, ChildNumber.ZERO_HARDENED);
|
DeterministicKey key4 = HDKeyDerivation.deriveChildKey(key3, ChildNumber.ZERO_HARDENED);
|
||||||
assertEquals(key4.getPath().size(), 3);
|
assertEquals(key4.getPath().size(), 3);
|
||||||
assertEquals(DeterministicKey.deserialize(key3, key4.serializePrivate(params), params).getPath().size(), 3);
|
assertEquals(DeterministicKey.deserialize(params, key4.serializePrivate(params), key3).getPath().size(), 3);
|
||||||
assertEquals(DeterministicKey.deserialize(null, key4.serializePrivate(params), params).getPath().size(), 1);
|
assertEquals(DeterministicKey.deserialize(params, key4.serializePrivate(params), null).getPath().size(), 1);
|
||||||
assertEquals(DeterministicKey.deserialize(key4.serializePrivate(params), params).getPath().size(), 1);
|
assertEquals(DeterministicKey.deserialize(params, key4.serializePrivate(params)).getPath().size(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String hexEncodePub(DeterministicKey pubKey) {
|
private static String hexEncodePub(DeterministicKey pubKey) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user