Skip to main content

InMemoryKeystore

Class: InMemoryKeystore

A Keystore is responsible for holding the user's XMTP private keys and using them to encrypt/decrypt/sign messages. Keystores are instantiated using a KeystoreProvider

Implements

Constructors

constructor

new InMemoryKeystore(keys, inviteStore)

Parameters

NameType
keysPrivateKeyBundleV1
inviteStoredefault

Defined in

keystore/InMemoryKeystore.ts:39

Properties

accountAddress

Private accountAddress: undefined | string

Defined in

keystore/InMemoryKeystore.ts:37


authenticator

Private authenticator: default

Defined in

keystore/InMemoryKeystore.ts:36


inviteStore

Private inviteStore: default

Defined in

keystore/InMemoryKeystore.ts:35


v1Keys

Private v1Keys: PrivateKeyBundleV1

Defined in

keystore/InMemoryKeystore.ts:33


v2Keys

Private v2Keys: PrivateKeyBundleV2

Defined in

keystore/InMemoryKeystore.ts:34

Methods

createAuthToken

createAuthToken(«destructured»): Promise<Token>

Create an XMTP auth token to be used as a header on XMTP API requests

Parameters

NameType
«destructured»CreateAuthTokenRequest

Returns

Promise<Token>

Implementation of

Keystore.createAuthToken

Defined in

keystore/InMemoryKeystore.ts:151


createInvite

createInvite(req): Promise<CreateInviteResponse>

Create a sealed/encrypted invite and store the Topic keys in the Keystore for later use. The returned invite payload must be sent to the network for the other party to be able to communicate.

Parameters

NameType
reqCreateInviteRequest

Returns

Promise<CreateInviteResponse>

Implementation of

Keystore.createInvite

Defined in

keystore/InMemoryKeystore.ts:241


decryptV1

decryptV1(req): Promise<DecryptResponse>

Decrypt a batch of V1 messages

Parameters

NameType
reqDecryptV1Request

Returns

Promise<DecryptResponse>

Implementation of

Keystore.decryptV1

Defined in

keystore/InMemoryKeystore.ts:50


decryptV2

decryptV2(req): Promise<DecryptResponse>

Decrypt a batch of V2 messages

Parameters

NameType
reqDecryptV2Request

Returns

Promise<DecryptResponse>

Implementation of

Keystore.decryptV2

Defined in

keystore/InMemoryKeystore.ts:81


encryptV1

encryptV1(req): Promise<EncryptResponse>

Encrypt a batch of V1 messages

Parameters

NameType
reqEncryptV1Request

Returns

Promise<EncryptResponse>

Implementation of

Keystore.encryptV1

Defined in

keystore/InMemoryKeystore.ts:119


encryptV2

encryptV2(req): Promise<EncryptResponse>

Encrypt a batch of V2 messages

Parameters

NameType
reqEncryptV2Request

Returns

Promise<EncryptResponse>

Implementation of

Keystore.encryptV2

Defined in

keystore/InMemoryKeystore.ts:159


getAccountAddress

getAccountAddress(): Promise<string>

Get the account address of the wallet used to create the Keystore

Returns

Promise<string>

Implementation of

Keystore.getAccountAddress

Defined in

keystore/InMemoryKeystore.ts:332


getPrivateKeyBundle

getPrivateKeyBundle(): Promise<PrivateKeyBundleV1>

Export the private keys. May throw an error if the keystore implementation does not allow this operation

Returns

Promise<PrivateKeyBundleV1>

Implementation of

Keystore.getPrivateKeyBundle

Defined in

keystore/InMemoryKeystore.ts:328


getPublicKeyBundle

getPublicKeyBundle(): Promise<PublicKeyBundle>

Get the PublicKeyBundle associated with the Keystore's private keys

Returns

Promise<PublicKeyBundle>

Implementation of

Keystore.getPublicKeyBundle

Defined in

keystore/InMemoryKeystore.ts:324


getV2Conversations

getV2Conversations(): Promise<ConversationReference[]>

Get a list of V2 conversations

Returns

Promise<ConversationReference[]>

Implementation of

Keystore.getV2Conversations

Defined in

keystore/InMemoryKeystore.ts:311


lookupTopic

lookupTopic(topic): undefined | WithoutUndefined<TopicMap_TopicData>

Parameters

NameType
topicstring

Returns

undefined | WithoutUndefined<TopicMap_TopicData>

Defined in

keystore/InMemoryKeystore.ts:343


saveInvites

saveInvites(req): Promise<SaveInvitesResponse>

Take a batch of invite messages and store the TopicKeys for later use in decrypting messages

Parameters

NameType
reqSaveInvitesRequest

Returns

Promise<SaveInvitesResponse>

Implementation of

Keystore.saveInvites

Defined in

keystore/InMemoryKeystore.ts:198


signDigest

signDigest(req): Promise<Signature>

Sign the provided digest with either the IdentityKey or a specified PreKey

Parameters

NameType
reqSignDigestRequest

Returns

Promise<Signature>

Implementation of

Keystore.signDigest

Defined in

keystore/InMemoryKeystore.ts:276


create

Static create(keys, persistence?): Promise<InMemoryKeystore>

Parameters

NameType
keysPrivateKeyBundleV1
persistence?Persistence

Returns

Promise<InMemoryKeystore>

Defined in

keystore/InMemoryKeystore.ts:46

Was the information on this page helpful?