@towns-protocol/sdk 0.0.258 → 0.0.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client-v2.d.ts +56 -0
- package/dist/client-v2.d.ts.map +1 -0
- package/dist/client-v2.js +182 -0
- package/dist/client-v2.js.map +1 -0
- package/dist/client.d.ts +8 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +16 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/notificationsClient.d.ts +51 -0
- package/dist/notificationsClient.d.ts.map +1 -0
- package/dist/notificationsClient.js +308 -0
- package/dist/notificationsClient.js.map +1 -0
- package/dist/persistenceStore.d.ts.map +1 -1
- package/dist/persistenceStore.js +6 -1
- package/dist/persistenceStore.js.map +1 -1
- package/dist/riverConfig.d.ts +1 -1
- package/dist/riverConfig.d.ts.map +1 -1
- package/dist/riverConfig.js +1 -0
- package/dist/riverConfig.js.map +1 -1
- package/dist/streamEvents.d.ts +1 -1
- package/dist/streamEvents.d.ts.map +1 -1
- package/dist/streamStateView.d.ts +1 -1
- package/dist/streamStateView.d.ts.map +1 -1
- package/dist/streamStateView.js +3 -3
- package/dist/streamStateView.js.map +1 -1
- package/dist/streamStateView_Members.d.ts +1 -0
- package/dist/streamStateView_Members.d.ts.map +1 -1
- package/dist/streamStateView_Members.js +3 -0
- package/dist/streamStateView_Members.js.map +1 -1
- package/dist/sync-agent/spaces/models/channel.d.ts +26 -0
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/channel.js +46 -0
- package/dist/sync-agent/spaces/models/channel.js.map +1 -1
- package/dist/sync-agent/timeline/timeline.d.ts +1 -1
- package/dist/sync-agent/timeline/timeline.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.js +13 -8
- package/dist/syncedStreamsExtension.js.map +1 -1
- package/dist/tags.d.ts +5 -0
- package/dist/tags.d.ts.map +1 -1
- package/dist/tags.js +18 -1
- package/dist/tags.js.map +1 -1
- package/dist/tests/multi/appRegistryService.test.js +21 -0
- package/dist/tests/multi/appRegistryService.test.js.map +1 -1
- package/dist/tests/multi/botEntitlements.test.js +39 -0
- package/dist/tests/multi/botEntitlements.test.js.map +1 -1
- package/dist/tests/multi/botStreamCreation.test.js +3 -1
- package/dist/tests/multi/botStreamCreation.test.js.map +1 -1
- package/dist/tests/multi/mediaWithEntitlements.test.js +3 -3
- package/dist/tests/multi/mediaWithEntitlements.test.js.map +1 -1
- package/dist/tests/multi/sync-agent/syncAgents.test.js +6 -3
- package/dist/tests/multi/sync-agent/syncAgents.test.js.map +1 -1
- package/dist/tests/multi/sync-agent/timeline.test.js +1 -1
- package/dist/tests/multi/sync-agent/timeline.test.js.map +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -1
- package/dist/tests/multi/transactions_Tip.test.js +1 -1
- package/dist/tests/multi/transactions_Tip.test.js.map +1 -1
- package/dist/tests/multi_ne/channels.test.js +1 -1
- package/dist/tests/multi_ne/channels.test.js.map +1 -1
- package/dist/tests/multi_ne/client.test.js +1 -1
- package/dist/tests/multi_ne/client.test.js.map +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
- package/dist/tests/multi_ne/media.test.js +24 -24
- package/dist/tests/multi_ne/media.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js +1 -1
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
- package/dist/tests/multi_ne/userSettings.test.js +1 -1
- package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
- package/dist/tests/testDriver_testUtils.js +1 -1
- package/dist/tests/testDriver_testUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +1 -1
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +1 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts.map +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.js +2 -3
- package/dist/tests/unit/helpers/ConversationBuilder.js.map +1 -1
- package/dist/views/{streams/timelineEvents.d.ts → models/timelineEvent.d.ts} +2 -2
- package/dist/views/models/timelineEvent.d.ts.map +1 -0
- package/dist/views/{streams/timelineEvents.js → models/timelineEvent.js} +2 -3
- package/dist/views/models/timelineEvent.js.map +1 -0
- package/dist/{sync-agent/timeline/models/timeline-types.d.ts → views/models/timelineTypes.d.ts} +8 -2
- package/dist/views/models/timelineTypes.d.ts.map +1 -0
- package/dist/{sync-agent/timeline/models/timeline-types.js → views/models/timelineTypes.js} +31 -2
- package/dist/views/models/timelineTypes.js.map +1 -0
- package/dist/views/streams/spaceMentionsTransform.d.ts +1 -1
- package/dist/views/streams/spaceMentionsTransform.d.ts.map +1 -1
- package/dist/views/streams/timelines.d.ts +1 -1
- package/dist/views/streams/timelines.d.ts.map +1 -1
- package/dist/views/streams/timelines.js +2 -2
- package/dist/views/streams/timelines.js.map +1 -1
- package/dist/views/streams/timelinesModel.d.ts +1 -7
- package/dist/views/streams/timelinesModel.d.ts.map +1 -1
- package/dist/views/streams/timelinesModel.js +2 -31
- package/dist/views/streams/timelinesModel.js.map +1 -1
- package/dist/views/streams/unreadMarkersTransform.js +1 -1
- package/dist/views/streams/unreadMarkersTransform.js.map +1 -1
- package/dist/views/streamsView.d.ts +1 -1
- package/dist/views/streamsView.d.ts.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.js +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -1
- package/dist/views/transforms/membershipsTransform.d.ts +1 -1
- package/dist/views/transforms/membershipsTransform.d.ts.map +1 -1
- package/dist/views/transforms/membershipsTransform.js +1 -1
- package/dist/views/transforms/membershipsTransform.js.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.js +1 -1
- package/dist/views/transforms/spaceIdsTransform.js.map +1 -1
- package/package.json +9 -9
- package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/timeline-types.js.map +0 -1
- package/dist/views/streams/timelineEvents.d.ts.map +0 -1
- package/dist/views/streams/timelineEvents.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CryptoStore, GroupEncryptionAlgorithmId, GroupEncryptionCrypto, type EncryptionDeviceInitOpts } from '@towns-protocol/encryption';
|
|
2
|
+
import { type StreamRpcClient } from './makeStreamRpcClient';
|
|
3
|
+
import { type SignerContext } from './signerContext';
|
|
4
|
+
import { makeRiverConfig } from './riverConfig';
|
|
5
|
+
import { type ParsedEvent, type ParsedStreamResponse } from './types';
|
|
6
|
+
import { type Envelope } from '@towns-protocol/proto';
|
|
7
|
+
type Client_Base = {
|
|
8
|
+
/** The userId of the Client. */
|
|
9
|
+
userId: string;
|
|
10
|
+
/** The signer of the Client. */
|
|
11
|
+
signer: SignerContext;
|
|
12
|
+
/** RPC client that connects to the Towns network. */
|
|
13
|
+
rpc: StreamRpcClient;
|
|
14
|
+
/** The environment of the Client. */
|
|
15
|
+
env: string;
|
|
16
|
+
/** Crypto Store */
|
|
17
|
+
keychain: CryptoStore;
|
|
18
|
+
/** Crypto Backend */
|
|
19
|
+
crypto: GroupEncryptionCrypto;
|
|
20
|
+
/** Algorithm used for group encryption. */
|
|
21
|
+
defaultGroupEncryptionAlgorithm: GroupEncryptionAlgorithmId;
|
|
22
|
+
/** Disable hash validation for streams. */
|
|
23
|
+
disableHashValidation: boolean;
|
|
24
|
+
/** Disable signature validation for streams. */
|
|
25
|
+
disableSignatureValidation: boolean;
|
|
26
|
+
/** Get a stream by streamId and unpack it */
|
|
27
|
+
getStream: (streamId: string) => Promise<ParsedStreamResponse>;
|
|
28
|
+
/** Unpack envelope using client config */
|
|
29
|
+
unpackEnvelope: (envelope: Envelope) => Promise<ParsedEvent>;
|
|
30
|
+
/** Unpack envelopes using client config */
|
|
31
|
+
unpackEnvelopes: (envelopes: Envelope[]) => Promise<ParsedEvent[]>;
|
|
32
|
+
};
|
|
33
|
+
export type ClientV2<extended extends Extended | undefined = Extended | undefined> = Client_Base & (extended extends Extended ? extended : unknown) & {
|
|
34
|
+
extend: <const client extends Extended>(fn: (client: ClientV2<extended>) => client) => ClientV2<Prettify<client> & (extended extends Extended ? extended : unknown)>;
|
|
35
|
+
};
|
|
36
|
+
type Extended = Prettify<{
|
|
37
|
+
[_ in keyof Client_Base]?: undefined;
|
|
38
|
+
} & {
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
}>;
|
|
41
|
+
export type Prettify<T> = {
|
|
42
|
+
[K in keyof T]: T[K];
|
|
43
|
+
} & {};
|
|
44
|
+
type CreateTownsClientParams = {
|
|
45
|
+
env: Parameters<typeof makeRiverConfig>[0];
|
|
46
|
+
encryptionDevice?: EncryptionDeviceInitOpts;
|
|
47
|
+
};
|
|
48
|
+
export declare const createTownsClient: (params: ({
|
|
49
|
+
privateKey: string;
|
|
50
|
+
} | {
|
|
51
|
+
mnemonic: string;
|
|
52
|
+
} | {
|
|
53
|
+
bearerToken: string;
|
|
54
|
+
}) & CreateTownsClientParams) => Promise<ClientV2>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=client-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,wBAAwB,EAIhC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAY/C,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC5B,MAAM,SAAS,CAAA;AAShB,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAExE,KAAK,WAAW,GAAG;IACf,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,aAAa,CAAA;IACrB,qDAAqD;IACrD,GAAG,EAAE,eAAe,CAAA;IACpB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB;IACnB,QAAQ,EAAE,WAAW,CAAA;IACrB,qBAAqB;IACrB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,2CAA2C;IAC3C,+BAA+B,EAAE,0BAA0B,CAAA;IAC3D,2CAA2C;IAC3C,qBAAqB,EAAE,OAAO,CAAA;IAC9B,gDAAgD;IAChD,0BAA0B,EAAE,OAAO,CAAA;IACnC,6CAA6C;IAC7C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC9D,0CAA0C;IAC1C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5D,2CAA2C;IAC3C,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;CACrE,CAAA;AAKD,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,IAAI,WAAW,GAC5F,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG;IAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,SAAS,QAAQ,EAClC,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM,KACzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;CACrF,CAAA;AAEL,KAAK,QAAQ,GAAG,QAAQ,CAEpB;KAAG,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS;CAAE,GAAG;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB,CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,EAAE,CAAA;AAEN,KAAK,uBAAuB,GAAG;IAC3B,GAAG,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC9C,CAAA;AACD,eAAO,MAAM,iBAAiB,GAC1B,QAAQ,CACF;IACI,UAAU,EAAE,MAAM,CAAA;CACrB,GACD;IACI,QAAQ,EAAE,MAAM,CAAA;CACnB,GACD;IACI,WAAW,EAAE,MAAM,CAAA;CACtB,CACN,GACG,uBAAuB,KAC5B,OAAO,CAAC,QAAQ,CAuMlB,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { GroupEncryptionAlgorithmId, GroupEncryptionCrypto, } from '@towns-protocol/encryption';
|
|
2
|
+
import { makeStreamRpcClient } from './makeStreamRpcClient';
|
|
3
|
+
import { makeSignerContext, makeSignerContextFromBearerToken, } from './signerContext';
|
|
4
|
+
import { makeRiverConfig } from './riverConfig';
|
|
5
|
+
import { ethers } from 'ethers';
|
|
6
|
+
import { RiverRegistry } from '@towns-protocol/web3';
|
|
7
|
+
import { makeSessionKeys } from './decryptionExtensions';
|
|
8
|
+
import { makeRiverProvider } from './sync-agent/utils/providers';
|
|
9
|
+
import { RiverDbManager } from './riverDbManager';
|
|
10
|
+
import { makeUserInboxStreamId, makeUserMetadataStreamId, streamIdAsBytes, userIdFromAddress, } from './id';
|
|
11
|
+
import { make_UserInboxPayload_GroupEncryptionSessions, } from './types';
|
|
12
|
+
import { makeEvent, unpackStream, unpackEnvelope as sdk_unpackEnvelope, unpackEnvelopes as sdk_unpackEnvelopes, } from './sign';
|
|
13
|
+
import { bin_toHexString, check } from '@towns-protocol/dlog';
|
|
14
|
+
import { toJsonString } from '@bufbuild/protobuf';
|
|
15
|
+
import { SessionKeysSchema } from '@towns-protocol/proto';
|
|
16
|
+
export const createTownsClient = async (params) => {
|
|
17
|
+
const config = makeRiverConfig(params.env);
|
|
18
|
+
let signer;
|
|
19
|
+
if ('mnemonic' in params) {
|
|
20
|
+
const wallet = ethers.Wallet.fromMnemonic(params.mnemonic);
|
|
21
|
+
const delegateWallet = ethers.Wallet.createRandom();
|
|
22
|
+
signer = await makeSignerContext(wallet, delegateWallet);
|
|
23
|
+
}
|
|
24
|
+
else if ('privateKey' in params) {
|
|
25
|
+
const wallet = new ethers.Wallet(params.privateKey);
|
|
26
|
+
const delegateWallet = ethers.Wallet.createRandom();
|
|
27
|
+
signer = await makeSignerContext(wallet, delegateWallet);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
signer = await makeSignerContextFromBearerToken(params.bearerToken);
|
|
31
|
+
}
|
|
32
|
+
const riverProvider = makeRiverProvider(config);
|
|
33
|
+
const riverRegistryDapp = new RiverRegistry(config.river.chainConfig, riverProvider);
|
|
34
|
+
const urls = await riverRegistryDapp.getOperationalNodeUrls();
|
|
35
|
+
const rpc = makeStreamRpcClient(urls, () => riverRegistryDapp.getOperationalNodeUrls());
|
|
36
|
+
const userId = userIdFromAddress(signer.creatorAddress);
|
|
37
|
+
const cryptoStore = RiverDbManager.getCryptoDb(userId);
|
|
38
|
+
await cryptoStore.initialize();
|
|
39
|
+
// eslint-disable-next-line prefer-const
|
|
40
|
+
let crypto;
|
|
41
|
+
const getStream = async (streamId) => {
|
|
42
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
43
|
+
const stream = await client.rpc.getStream({ streamId: streamIdAsBytes(streamId) });
|
|
44
|
+
return unpackStream(stream.stream, {
|
|
45
|
+
disableHashValidation,
|
|
46
|
+
disableSignatureValidation,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const unpackEnvelope = async (envelope) => {
|
|
50
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
51
|
+
return sdk_unpackEnvelope(envelope, {
|
|
52
|
+
disableHashValidation,
|
|
53
|
+
disableSignatureValidation,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const unpackEnvelopes = async (envelopes) => {
|
|
57
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
58
|
+
return sdk_unpackEnvelopes(envelopes, { disableHashValidation, disableSignatureValidation });
|
|
59
|
+
};
|
|
60
|
+
const buildGroupEncryptionClient = () => {
|
|
61
|
+
const getMiniblockInfo = async (streamId) => {
|
|
62
|
+
const { streamAndCookie } = await getStream(streamId);
|
|
63
|
+
return {
|
|
64
|
+
miniblockNum: streamAndCookie.miniblocks[0].header.miniblockNum,
|
|
65
|
+
miniblockHash: streamAndCookie.miniblocks[0].hash,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const downloadUserDeviceInfo = async (userIds) => {
|
|
69
|
+
const forceDownload = userIds.length <= 10;
|
|
70
|
+
const promises = userIds.map(async (userId) => {
|
|
71
|
+
const streamId = makeUserMetadataStreamId(userId);
|
|
72
|
+
try {
|
|
73
|
+
// also always download your own keys so you always share to your most up to date devices
|
|
74
|
+
if (!forceDownload && userId !== userId) {
|
|
75
|
+
const devicesFromStore = await cryptoStore.getUserDevices(userId);
|
|
76
|
+
if (devicesFromStore.length > 0) {
|
|
77
|
+
return { userId, devices: devicesFromStore };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// return latest 10 device keys
|
|
81
|
+
const deviceLookback = 10;
|
|
82
|
+
const stream = await getStream(streamId);
|
|
83
|
+
const encryptionDevices = stream.snapshot.content.case === 'userMetadataContent'
|
|
84
|
+
? stream.snapshot.content.value.encryptionDevices
|
|
85
|
+
: [];
|
|
86
|
+
const userDevices = encryptionDevices.slice(-deviceLookback);
|
|
87
|
+
await cryptoStore.saveUserDevices(userId, userDevices);
|
|
88
|
+
return { userId, devices: userDevices };
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
return { userId, devices: [] };
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return (await Promise.all(promises)).reduce((acc, current) => {
|
|
95
|
+
acc[current.userId] = current.devices;
|
|
96
|
+
return acc;
|
|
97
|
+
}, {});
|
|
98
|
+
};
|
|
99
|
+
const encryptAndShareGroupSessions = async (streamId, sessions, toDevices, algorithm) => {
|
|
100
|
+
check(sessions.length >= 0, 'no sessions to encrypt');
|
|
101
|
+
check(new Set(sessions.map((s) => s.streamId)).size === 1, 'sessions should all be from the same stream');
|
|
102
|
+
check(sessions[0].algorithm === algorithm, 'algorithm mismatch');
|
|
103
|
+
check(new Set(sessions.map((s) => s.algorithm)).size === 1, 'all sessions should be the same algorithm');
|
|
104
|
+
check(sessions[0].streamId === streamId, 'streamId mismatch');
|
|
105
|
+
const userDevice = crypto.getUserDevice();
|
|
106
|
+
const sessionIds = sessions.map((session) => session.sessionId);
|
|
107
|
+
const payload = makeSessionKeys(sessions);
|
|
108
|
+
const promises = Object.entries(toDevices).map(async ([userId, deviceKeys]) => {
|
|
109
|
+
try {
|
|
110
|
+
const ciphertext = await crypto.encryptWithDeviceKeys(toJsonString(SessionKeysSchema, payload), deviceKeys);
|
|
111
|
+
if (Object.keys(ciphertext).length === 0) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const toStreamId = makeUserInboxStreamId(userId);
|
|
115
|
+
const { hash: miniblockHash } = await rpc.getLastMiniblockHash({
|
|
116
|
+
streamId: streamIdAsBytes(toStreamId),
|
|
117
|
+
});
|
|
118
|
+
const event = await makeEvent(signer, make_UserInboxPayload_GroupEncryptionSessions({
|
|
119
|
+
streamId: streamIdAsBytes(toStreamId),
|
|
120
|
+
senderKey: userDevice.deviceKey,
|
|
121
|
+
sessionIds: sessionIds,
|
|
122
|
+
ciphertexts: ciphertext,
|
|
123
|
+
algorithm: algorithm,
|
|
124
|
+
}), miniblockHash);
|
|
125
|
+
const eventId = bin_toHexString(event.hash);
|
|
126
|
+
const { error } = await rpc.addEvent({
|
|
127
|
+
streamId: streamIdAsBytes(streamId),
|
|
128
|
+
event,
|
|
129
|
+
optional: false,
|
|
130
|
+
});
|
|
131
|
+
return { miniblockHash, eventId, error };
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
await Promise.all(promises);
|
|
138
|
+
};
|
|
139
|
+
const getDevicesInStream = async (streamId) => {
|
|
140
|
+
const stream = await getStream(streamId);
|
|
141
|
+
if (!stream) {
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
144
|
+
const members = stream.snapshot.members?.joined.map((x) => userIdFromAddress(x.userAddress));
|
|
145
|
+
return downloadUserDeviceInfo(members ?? [], true);
|
|
146
|
+
};
|
|
147
|
+
return {
|
|
148
|
+
getMiniblockInfo,
|
|
149
|
+
downloadUserDeviceInfo,
|
|
150
|
+
encryptAndShareGroupSessions,
|
|
151
|
+
getDevicesInStream,
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
await cryptoStore.initialize();
|
|
155
|
+
crypto = new GroupEncryptionCrypto(buildGroupEncryptionClient(), cryptoStore);
|
|
156
|
+
await crypto.init(params.encryptionDevice);
|
|
157
|
+
const client = {
|
|
158
|
+
crypto,
|
|
159
|
+
keychain: cryptoStore,
|
|
160
|
+
defaultGroupEncryptionAlgorithm: GroupEncryptionAlgorithmId.HybridGroupEncryption,
|
|
161
|
+
rpc,
|
|
162
|
+
signer,
|
|
163
|
+
userId,
|
|
164
|
+
disableHashValidation: false,
|
|
165
|
+
disableSignatureValidation: false,
|
|
166
|
+
getStream,
|
|
167
|
+
unpackEnvelope,
|
|
168
|
+
unpackEnvelopes,
|
|
169
|
+
env: config.environmentId,
|
|
170
|
+
};
|
|
171
|
+
function extend(base) {
|
|
172
|
+
return (extendFn) => {
|
|
173
|
+
const extended = extendFn(base);
|
|
174
|
+
for (const key in client)
|
|
175
|
+
delete extended[key];
|
|
176
|
+
const combined = { ...base, ...extended };
|
|
177
|
+
return Object.assign(combined, { extend: extend(combined) });
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return Object.assign(client, { extend: extend(client) });
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=client-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ import { SyncedStream } from './syncedStream';
|
|
|
15
15
|
import { SignerContext } from './signerContext';
|
|
16
16
|
import { TipEventObject } from '@towns-protocol/generated/dev/typings/ITipping';
|
|
17
17
|
import { StreamsView } from './views/streamsView';
|
|
18
|
+
import { NotificationsClient, INotificationStore } from './notificationsClient';
|
|
19
|
+
import { RpcOptions } from './rpcCommon';
|
|
18
20
|
export type ClientEvents = StreamEvents & DecryptionEvents;
|
|
19
21
|
export type ClientOptions = {
|
|
20
22
|
persistenceStoreName?: string;
|
|
@@ -27,6 +29,11 @@ export type ClientOptions = {
|
|
|
27
29
|
useModifySync?: boolean;
|
|
28
30
|
useSharedSyncer?: boolean;
|
|
29
31
|
};
|
|
32
|
+
notifications?: {
|
|
33
|
+
url: string;
|
|
34
|
+
store?: INotificationStore;
|
|
35
|
+
rpcOptions?: RpcOptions;
|
|
36
|
+
};
|
|
30
37
|
};
|
|
31
38
|
type SendChannelMessageOptions = {
|
|
32
39
|
beforeSendEventHook?: Promise<void>;
|
|
@@ -45,6 +52,7 @@ export declare class Client extends Client_base implements IGroupEncryptionClien
|
|
|
45
52
|
readonly streams: SyncedStreams;
|
|
46
53
|
readonly streamsView: StreamsView;
|
|
47
54
|
readonly logId: string;
|
|
55
|
+
readonly notifications?: NotificationsClient;
|
|
48
56
|
userStreamId?: string;
|
|
49
57
|
userSettingsStreamId?: string;
|
|
50
58
|
userMetadataStreamId?: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -24,6 +24,7 @@ import { SyncedStreamsExtension } from './syncedStreamsExtension';
|
|
|
24
24
|
import { decryptAESGCM, deriveKeyAndIV, encryptAESGCM, uint8ArrayToBase64, } from '@towns-protocol/sdk-crypto';
|
|
25
25
|
import { makeTags, makeTipTags, makeTransferTags } from './tags';
|
|
26
26
|
import { StreamsView } from './views/streamsView';
|
|
27
|
+
import { NotificationsClient } from './notificationsClient';
|
|
27
28
|
export class Client extends EventEmitter {
|
|
28
29
|
opts;
|
|
29
30
|
signerContext;
|
|
@@ -32,6 +33,7 @@ export class Client extends EventEmitter {
|
|
|
32
33
|
streams;
|
|
33
34
|
streamsView;
|
|
34
35
|
logId;
|
|
36
|
+
notifications;
|
|
35
37
|
userStreamId;
|
|
36
38
|
userSettingsStreamId;
|
|
37
39
|
userMetadataStreamId;
|
|
@@ -109,6 +111,10 @@ export class Client extends EventEmitter {
|
|
|
109
111
|
initStream: (streamId, allowGetStream, persistedData) => this.initStream(streamId, allowGetStream, persistedData),
|
|
110
112
|
emitClientInitStatus: (status) => this.emit('clientInitStatusUpdated', status),
|
|
111
113
|
}, this.persistenceStore, this.logId);
|
|
114
|
+
// Initialize notifications client if options are provided
|
|
115
|
+
if (opts?.notifications) {
|
|
116
|
+
this.notifications = new NotificationsClient(signerContext, opts.notifications.url, opts.notifications.store, opts.notifications.rpcOptions);
|
|
117
|
+
}
|
|
112
118
|
this.logCall('new Client');
|
|
113
119
|
}
|
|
114
120
|
get streamSyncActive() {
|
|
@@ -1243,7 +1249,7 @@ export class Client extends EventEmitter {
|
|
|
1243
1249
|
check(isDefined(this.userStreamId));
|
|
1244
1250
|
return this.makeEventAndAddToStream(this.userStreamId, make_UserPayload_UserMembershipAction({
|
|
1245
1251
|
op: MembershipOp.SO_JOIN,
|
|
1246
|
-
userId:
|
|
1252
|
+
userId: bin_fromHexString(userId),
|
|
1247
1253
|
streamId: streamIdAsBytes(streamId),
|
|
1248
1254
|
streamParentId: stream.view.getContent().getStreamParentIdAsBytes(),
|
|
1249
1255
|
}), { method: 'inviteUser' });
|
|
@@ -1801,9 +1807,17 @@ export class Client extends EventEmitter {
|
|
|
1801
1807
|
const toDevicesEntries = Object.entries(toDevices);
|
|
1802
1808
|
const promises = toDevicesEntries.map(async ([userId, deviceKeys]) => {
|
|
1803
1809
|
try {
|
|
1810
|
+
if (deviceKeys.length === 0) {
|
|
1811
|
+
// means we failed to download the device keys, we should enqueue a retry
|
|
1812
|
+
this.logInfo('encryptAndShareGroupSessions: no device keys to send', inStreamId, userId);
|
|
1813
|
+
return;
|
|
1814
|
+
}
|
|
1804
1815
|
const ciphertext = await this.encryptWithDeviceKeys(payloadClearText, deviceKeys);
|
|
1805
1816
|
if (Object.keys(ciphertext).length === 0) {
|
|
1806
|
-
this
|
|
1817
|
+
// if you only have one device this is a valid state
|
|
1818
|
+
if (userId !== this.userId) {
|
|
1819
|
+
this.logError('encryptAndShareGroupSessions: no ciphertext to send', userId);
|
|
1820
|
+
}
|
|
1807
1821
|
return;
|
|
1808
1822
|
}
|
|
1809
1823
|
const toStreamId = makeUserInboxStreamId(userId);
|