ModulesΒ§
StructsΒ§
- Client
Data πJson - Minimal struct to deserialize only the fields we need from clientDataJSON.
serde_json will ignore unknown fields and only parse
typeandchallenge. - Keychain
Signature - Keychain signature wrapping another signature with a user address. This allows an access key to sign on behalf of a root account.
- P256
Signature With PreHash - P256 signature with pre-hash flag
- P256
Signature With PreHash Flags - Fieldset that facilitates compacting the parent type. Used bytes: 1 | Unused bits: 7
- WebAuthn
Signature - WebAuthn signature with authenticator data
- WebAuthn
Signature Flags - Placeholder struct for when there is no need for a fieldset. Doesnβt actually write or read any data.
EnumsΒ§
- Keychain
Version - Keychain signature version.
- Keychain
Version Error - Keychain version validation error.
- Primitive
Signature - Primitive signature types that can be used standalone or within a Keychain signature. This enum contains only the base signature types: Secp256k1, P256, and WebAuthn. It does NOT support Keychain signatures to prevent recursion.
- Tempo
Signature - AA transaction signature supporting multiple signature schemes
ConstantsΒ§
- AT π
- ED π
- MIN_
AUTH_ πDATA_ LEN - P256N_
HALF - Half of the P256 curve order (n/2).
- P256_
ORDER - The P256 (secp256r1/prime256v1) curve order n.
- SIGNATURE_
TYPE_ KEYCHAIN - SIGNATURE_
TYPE_ KEYCHAIN_ V2 - SIGNATURE_
TYPE_ P256 - Signature type identifiers Note: Secp256k1 has no identifier - detected by length (65 bytes)
- SIGNATURE_
TYPE_ WEBAUTHN - UP π
- WebAuthn authenticator data flags (byte 32) ref: https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data
- UV π
FunctionsΒ§
- derive_
p256_ address - Derives a P256 address from public key coordinates
- normalize_
p256_ s - Normalize P256 signature s value to low-s form.
- serialize_
once_ πlock serde - Helper function to serialize a
OnceLockas anOptionif itβs initialized. - verify_
p256_ πsignature_ internal - Verifies a P256 signature using the provided components
- verify_
webauthn_ πdata_ internal - Parses and validates WebAuthn data, returning the message hash for P256 verification. ref: https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data