ReadonlycapabilitiesCrypto provider for cryptographic operations
ReadonlygroupsManages group lifecycle: persistence, caching, creation, loading, leaving
ReadonlyinvitesManages invite lifecycle: ingestion, decryption, and storage
ReadonlykeyManages key package lifecycle: local storage, publishing, and rotation
ReadonlynetworkThe nostr relay pool to use for the client
ReadonlysignerThe signer used for the clients identity
Joins a group from a Welcome message received via NIP-59 gift wrap.
This method:
this.groups.adoptClientState()this.keyPackages.markUsed()After joining, callers can list used key packages with
(await client.keyPackages.list()).filter(p => p.used) and rotate them
via client.keyPackages.rotate(ref) to publish fresh ones to relays.
Promise resolving to the joined group
Reads the GroupInfo from a Welcome rumor without joining the group.
Finds the local key package that matches one of the welcome's recipient slots, then decrypts the group info using that key package. Useful for previewing group metadata (name, relays, admins) before deciding to join.
The decrypted kind 444 welcome rumor
The decrypted GroupInfo, or null if no matching key package is found or decryption fails
The capabilities to use for the client