KDFParam.fromCbor constructor

KDFParam.fromCbor(
  1. CborObject<Object?> cbor
)

Implementation

factory KDFParam.fromCbor(CborObject cbor) {
  if (cbor is! CborTagValue || cbor.value is! CborListValue) {
    throw ArgumentException.invalidOperationArguments(
      "KDFParam",
      name: "cbor",
      reason: "Invalid secret wallet cbor encoding.",
    );
  }
  if (BytesUtils.bytesEqual(cbor.tags, _SecretStorageConst.pbdkdf2Tag)) {
    final toObj = KDF2.fromCbor(cbor.value.cast());
    return toObj;
  } else if (BytesUtils.bytesEqual(
    cbor.tags,
    _SecretStorageConst.scryptTag,
  )) {
    return KDFScrypt.fromCbor(cbor.value.cast());
  } else {
    throw ArgumentException.invalidOperationArguments(
      "KDFParam",
      name: "cbor",
      reason: "Invalid secret wallet cbor encoding.",
    );
  }
}