deserializeKeyBytesWithoutPrefix static method

Bip32DeserializedKey deserializeKeyBytesWithoutPrefix(
  1. List<int> serKeyBytes, {
  2. bool isPublic = false,
})

Implementation

static Bip32DeserializedKey deserializeKeyBytesWithoutPrefix(
  List<int> serKeyBytes, {
  bool isPublic = false,
}) {
  // Validate length
  if (isPublic &&
      serKeyBytes.length !=
          (Bip32KeySerConst.serializedPubKeyByteLen -
              Bip32KeyNetVersionsConst.keyNetVersionByteLen)) {
    throw Bip32KeyError('Invalid extended public key.');
  }
  if (!isPublic &&
      !Bip32KeySerConst.serializedPrivKeyByteLen.contains(
        serKeyBytes.length + Bip32KeyNetVersionsConst.keyNetVersionByteLen,
      )) {
    throw Bip32KeyError('Invalid extended private key.');
  }

  // Get parts back
  final keyParts = _getPartsFromBytes(serKeyBytes, isPublic, offset: 0);

  return Bip32DeserializedKey(keyParts.$1, keyParts.$2, isPublic);
}