AuthenticationState
The main authentication state object that combines credentials and key storage.Authentication credentials containing identity keys and account information
Key store for managing Signal protocol keys (pre-keys, sessions, etc.)
AuthenticationCreds
ExtendsSignalCreds with additional WhatsApp-specific authentication data.
The signed identity key pair (readonly)
The signed pre-key pair (readonly)
Signal protocol registration ID (readonly)
Noise protocol key pair for encryption (readonly)
Ephemeral key pair used during device pairing (readonly)
Advanced secret key for device identity
Your own contact information
Signed device identity from WhatsApp
Array of signal identities for registered devices
Key ID for app state synchronization
ID of the first pre-key that hasn’t been uploaded to servers
The next pre-key ID to generate
Unix timestamp of last account synchronization
Platform identifier (e.g., “android”, “ios”)
Array of history messages that have been processed
Number of times history and app state has been synced
Account-level settings
Whether the account is fully registered
Pairing code for linking devices
Hash of last properties update
Routing information for message delivery
Additional custom data
Supporting Types
KeyPair
Public key bytes
Private key bytes
SignedKeyPair
The key pair
Signature of the key pair
Unique identifier for this key
Timestamp in seconds when the key was created
SignalIdentity
Protocol address containing JID and device ID
Identity key bytes
ProtocolAddress
The JID (WhatsApp ID)
Device identifier
AccountSettings
Whether to unarchive chats when a new message is received
defaultDisappearingMode
Pick<proto.IConversation, 'ephemeralExpiration' | 'ephemeralSettingTimestamp'>
The default mode to start new conversations with for disappearing messages
SignalKeyStore
Interface for storing and retrieving Signal protocol keys.Retrieve keys from the store
Store keys in the store
Clear all data in the store
SignalDataTypeMap
Mapping of Signal data types to their value types:Pre-key pairs for establishing sessions
Encrypted session state
Group message sender keys
Cache of distributed sender keys
Keys for syncing app state
Version info for app state sync
Mapping between phone numbers and LIDs
List of devices associated with an account
Temporary credentials token
Identity keys for contacts