parseSerializedPasskeySignature function

ParsedPasskeySignature parseSerializedPasskeySignature(
  1. Uint8List signature
)

Parses flag(0x06) || BCS(PasskeyAuthenticator) into its fields.

Implementation

ParsedPasskeySignature parseSerializedPasskeySignature(Uint8List signature) {
  if (signature[0] != SIGNATURE_SCHEME_TO_FLAG.Passkey) {
    throw ArgumentError('Invalid signature scheme');
  }
  final dec = SuiBcs.PasskeyAuthenticator.parse(
      Uint8List.fromList(signature.sublist(1)));
  return ParsedPasskeySignature(
    authenticatorData:
        Uint8List.fromList(List<int>.from(dec['authenticatorData'])),
    clientDataJson: dec['clientDataJson'] as String,
    userSignature: Uint8List.fromList(List<int>.from(dec['userSignature'])),
  );
}