parseSerializedPasskeySignature function
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'])),
);
}