deserializeKeyBytes static method
Bip32DeserializedKey
deserializeKeyBytes(
- List<
int> serKeyBytes, { - Bip32KeyNetVersions? keyNetVer,
Implementation
static Bip32DeserializedKey deserializeKeyBytes(
List<int> serKeyBytes, {
Bip32KeyNetVersions? keyNetVer,
}) {
// Get if key is public/private depending on the net version
final isPublic = _getIfPublic(
serKeyBytes,
keyNetVer ?? Bip32Const.mainNetKeyNetVersions,
);
// Validate length
if (isPublic &&
serKeyBytes.length != Bip32KeySerConst.serializedPubKeyByteLen) {
throw Bip32KeyError('Invalid extended public key.');
}
if (!isPublic &&
!Bip32KeySerConst.serializedPrivKeyByteLen.contains(
serKeyBytes.length,
)) {
throw Bip32KeyError('Invalid extended private key.');
}
// Get parts back
final keyParts = _getPartsFromBytes(serKeyBytes, isPublic);
return Bip32DeserializedKey(keyParts.$1, keyParts.$2, isPublic);
}