Abstract
Validates that the Keyless Account can be used to sign transactions.
This initializes the asynchronous proof fetch.
Emits whether the proof succeeds or fails, but has no return.
Serializes the jwt data into a format suitable for transmission or storage. This function ensures that both the jwt data and the proof are properly serialized.
The serializer instance used to convert the jwt data into bytes.
Sign the given message using Keyless.
in HexInput format
Signature
Sign the given transaction with Keyless. Signs the transaction and proof to guard against proof malleability.
the transaction to be signed
KeylessSignature
Sign a transaction using Keyless.
the raw transaction
the AccountAuthenticator containing the signature of the transaction, together with the account's public key
Sign a message using Keyless.
the message to sign, as binary input
the AccountAuthenticator containing the signature, together with the account's public key
Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount
Verifies a signature given the message.
TODO: Groth16 proof verification
the message that was signed.
the KeylessSignature to verify
boolean
Static
fetchJWKFetches the JWK from the issuer's well-known JWKS endpoint.
The kid of the JWK to fetch
The keyless public key to query
A JWK matching the kid
in the JWT header.
Static
partialOptional
verificationReadonly
accountAccount address associated with the account
Readonly
audThe value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's OIDC registration with the identity provider.
Readonly
ephemeralThe EphemeralKeyPair used to generate sign.
Readonly
jwtThe JWT token used to derive the account
Readonly
pepperA value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.
The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.
Readonly
proofThe proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on fetching the proof.
Readonly
publicThe KeylessPublicKey associated with the account
Readonly
signingSigning scheme used to sign transactions
Readonly
uidThe claim on the JWT to identify a user. This is typically 'sub' or 'email'.
Readonly
uidThe value of the uidKey claim on the JWT. This intended to be a stable user identifier.
Optional
Readonly
verificationThe hash of the verification key used to verify the proof. This is optional and can be used to check verifying key rotations which may invalidate the proof.
Static
Readonly
PEPPER_
Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts and Federated Keyless Accounts.