Class AbstractKeylessAccountAbstract

Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts and Federated Keyless Accounts.

Hierarchy (view full)

Implements

Constructors

Properties

accountAddress: AccountAddress

Account address associated with the account

aud: string

The 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.

emitter: EventEmitter<ProofFetchEvents, any>

An event emitter used to assist in handling asynchronous proof fetching.

ephemeralKeyPair: EphemeralKeyPair

The EphemeralKeyPair used to generate sign.

jwt: string

The JWT token used to derive the account

pepper: Uint8Array

A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.

proof: undefined | ZeroKnowledgeSig

The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.

proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>

The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on fetching the proof.

The KeylessPublicKey associated with the account

signingScheme: SigningScheme

Signing scheme used to sign transactions

uidKey: string

The claim on the JWT to identify a user. This is typically 'sub' or 'email'.

uidVal: string

The value of the uidKey claim on the JWT. This intended to be a stable user identifier.

PEPPER_LENGTH: number = 31

Methods

  • Serializes a Serializable value to its BCS representation. This function is the Typescript SDK equivalent of bcs::to_bytes in Move.

    Returns Uint8Array

    the BCS representation of the Serializable instance as a byte buffer

  • Helper function to get a value's BCS-serialized bytes as a Hex instance.

    Returns Hex

    a Hex instance with the BCS-serialized bytes loaded into its underlying Uint8Array

  • Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair and JWT token.

    Returns boolean

    boolean