@xmtp/browser-sdk 0.0.23 → 1.0.0

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.
@@ -1,9 +1,9 @@
1
- import type {
2
- Consent,
3
- Conversation,
4
- Message,
5
- StreamCloser,
6
- UserPreference,
1
+ import init, {
2
+ type Consent,
3
+ type Conversation,
4
+ type Message,
5
+ type StreamCloser,
6
+ type UserPreference,
7
7
  } from "@xmtp/wasm-bindings";
8
8
  import type {
9
9
  ClientEventsActions,
@@ -73,11 +73,14 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
73
73
  console.log("client worker received event data", event.data);
74
74
  }
75
75
 
76
+ // initialize WASM module
77
+ await init();
78
+
76
79
  try {
77
80
  // init is a special action that initializes the client
78
81
  if (action === "init" && !maybeClient) {
79
82
  maybeClient = await WorkerClient.create(
80
- data.address,
83
+ data.identifier,
81
84
  data.encryptionKey,
82
85
  data.options,
83
86
  );
@@ -138,16 +141,12 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
138
141
  break;
139
142
  }
140
143
  case "addAccountSignatureText": {
141
- const result = await client.addAccountSignatureText(
142
- data.newAccountAddress,
143
- );
144
+ const result = await client.addAccountSignatureText(data.newIdentifier);
144
145
  postMessage({ id, action, result });
145
146
  break;
146
147
  }
147
148
  case "removeAccountSignatureText": {
148
- const result = await client.removeAccountSignatureText(
149
- data.accountAddress,
150
- );
149
+ const result = await client.removeAccountSignatureText(data.identifier);
151
150
  postMessage({ id, action, result });
152
151
  break;
153
152
  }
@@ -163,8 +162,8 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
163
162
  postMessage({ id, action, result });
164
163
  break;
165
164
  }
166
- case "addSignature":
167
- await client.addSignature(data.type, data.bytes);
165
+ case "addEcdsaSignature":
166
+ await client.addEcdsaSignature(data.type, data.bytes);
168
167
  postMessage({ id, action, result: undefined });
169
168
  break;
170
169
  case "addScwSignature":
@@ -190,37 +189,41 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
190
189
  break;
191
190
  }
192
191
  case "canMessage": {
193
- const result = await client.canMessage(data.accountAddresses);
192
+ const result = await client.canMessage(data.identifiers);
194
193
  postMessage({ id, action, result });
195
194
  break;
196
195
  }
197
196
  case "inboxState": {
198
- const inboxState = await client.inboxState(data.refreshFromNetwork);
197
+ const inboxState = await client.preferences.inboxState(
198
+ data.refreshFromNetwork,
199
+ );
199
200
  const result = toSafeInboxState(inboxState);
200
201
  postMessage({ id, action, result });
201
202
  break;
202
203
  }
203
204
  case "getLatestInboxState": {
204
- const inboxState = await client.getLatestInboxState(data.inboxId);
205
+ const inboxState = await client.preferences.getLatestInboxState(
206
+ data.inboxId,
207
+ );
205
208
  const result = toSafeInboxState(inboxState);
206
209
  postMessage({ id, action, result });
207
210
  break;
208
211
  }
209
212
  case "setConsentStates": {
210
- await client.setConsentStates(data.records);
213
+ await client.preferences.setConsentStates(data.records);
211
214
  postMessage({ id, action, result: undefined });
212
215
  break;
213
216
  }
214
217
  case "getConsentState": {
215
- const result = await client.getConsentState(
218
+ const result = await client.preferences.getConsentState(
216
219
  data.entityType,
217
220
  data.entity,
218
221
  );
219
222
  postMessage({ id, action, result });
220
223
  break;
221
224
  }
222
- case "findInboxIdByAddress": {
223
- const result = await client.findInboxIdByAddress(data.address);
225
+ case "findInboxIdByIdentifier": {
226
+ const result = await client.findInboxIdByIdentifier(data.identifier);
224
227
  postMessage({ id, action, result });
225
228
  break;
226
229
  }
@@ -326,7 +329,7 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
326
329
  });
327
330
  }
328
331
  };
329
- const streamCloser = client.conversations.streamConsent(streamCallback);
332
+ const streamCloser = client.preferences.streamConsent(streamCallback);
330
333
  streamClosers.set(data.streamId, streamCloser);
331
334
  postMessage({
332
335
  id,
@@ -355,7 +358,7 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
355
358
  }
356
359
  };
357
360
  const streamCloser =
358
- client.conversations.streamPreferences(streamCallback);
361
+ client.preferences.streamPreferences(streamCallback);
359
362
  streamClosers.set(data.streamId, streamCloser);
360
363
  postMessage({
361
364
  id,
@@ -388,17 +391,17 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
388
391
  postMessage({ id, action, result });
389
392
  break;
390
393
  }
391
- case "newGroup": {
392
- const conversation = await client.conversations.newGroup(
393
- data.accountAddresses,
394
+ case "newGroupWithIdentifiers": {
395
+ const conversation = await client.conversations.newGroupWithIdentifiers(
396
+ data.identifiers,
394
397
  data.options,
395
398
  );
396
399
  const result = await toSafeConversation(conversation);
397
400
  postMessage({ id, action, result });
398
401
  break;
399
402
  }
400
- case "newGroupByInboxIds": {
401
- const conversation = await client.conversations.newGroupByInboxIds(
403
+ case "newGroupWithInboxIds": {
404
+ const conversation = await client.conversations.newGroup(
402
405
  data.inboxIds,
403
406
  data.options,
404
407
  );
@@ -406,17 +409,17 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
406
409
  postMessage({ id, action, result });
407
410
  break;
408
411
  }
409
- case "newDm": {
410
- const conversation = await client.conversations.newDm(
411
- data.accountAddress,
412
+ case "newDmWithIdentifier": {
413
+ const conversation = await client.conversations.newDmWithIdentifier(
414
+ data.identifier,
412
415
  data.options,
413
416
  );
414
417
  const result = await toSafeConversation(conversation);
415
418
  postMessage({ id, action, result });
416
419
  break;
417
420
  }
418
- case "newDmByInboxId": {
419
- const conversation = await client.conversations.newDmByInboxId(
421
+ case "newDmWithInboxId": {
422
+ const conversation = await client.conversations.newDm(
420
423
  data.inboxId,
421
424
  data.options,
422
425
  );
@@ -588,25 +591,25 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
588
591
  }
589
592
  case "addGroupMembers": {
590
593
  const group = getGroup(data.id);
591
- await group.addMembers(data.accountAddresses);
594
+ await group.addMembersByIdentifiers(data.identifiers);
592
595
  postMessage({ id, action, result: undefined });
593
596
  break;
594
597
  }
595
598
  case "removeGroupMembers": {
596
599
  const group = getGroup(data.id);
597
- await group.removeMembers(data.accountAddresses);
600
+ await group.removeMembersByIdentifiers(data.identifiers);
598
601
  postMessage({ id, action, result: undefined });
599
602
  break;
600
603
  }
601
604
  case "addGroupMembersByInboxId": {
602
605
  const group = getGroup(data.id);
603
- await group.addMembersByInboxId(data.inboxIds);
606
+ await group.addMembers(data.inboxIds);
604
607
  postMessage({ id, action, result: undefined });
605
608
  break;
606
609
  }
607
610
  case "removeGroupMembersByInboxId": {
608
611
  const group = getGroup(data.id);
609
- await group.removeMembersByInboxId(data.inboxIds);
612
+ await group.removeMembers(data.inboxIds);
610
613
  postMessage({ id, action, result: undefined });
611
614
  break;
612
615
  }
@@ -697,6 +700,12 @@ self.onmessage = async (event: MessageEvent<ClientEventsClientMessageData>) => {
697
700
  postMessage({ id, action, result: undefined });
698
701
  break;
699
702
  }
703
+ case "getGroupPausedForVersion": {
704
+ const group = getGroup(data.id);
705
+ const result = group.pausedForVersion();
706
+ postMessage({ id, action, result });
707
+ break;
708
+ }
700
709
  }
701
710
  } catch (e) {
702
711
  postMessageError({
@@ -1,6 +1,7 @@
1
1
  import init, {
2
- generateInboxId as generate_inbox_id,
3
- getInboxIdForAddress as get_inbox_id_for_address,
2
+ generateInboxId,
3
+ getInboxIdForIdentifier as get_inbox_id_for_identifier,
4
+ type Identifier,
4
5
  } from "@xmtp/wasm-bindings";
5
6
  import { ApiUrls } from "@/constants";
6
7
  import type {
@@ -27,15 +28,12 @@ const postMessageError = (data: UtilsEventsErrorData) => {
27
28
  self.postMessage(data);
28
29
  };
29
30
 
30
- export const generateInboxId = async (address: string) => {
31
- await init();
32
- return generate_inbox_id(address);
33
- };
34
-
35
- export const getInboxIdForAddress = async (address: string, env?: XmtpEnv) => {
36
- await init();
31
+ const getInboxIdForIdentifier = async (
32
+ identifier: Identifier,
33
+ env?: XmtpEnv,
34
+ ) => {
37
35
  const host = env ? ApiUrls[env] : ApiUrls.dev;
38
- return get_inbox_id_for_address(host, address);
36
+ return get_inbox_id_for_identifier(host, identifier);
39
37
  };
40
38
 
41
39
  self.onmessage = async (event: MessageEvent<UtilsEventsClientMessageData>) => {
@@ -44,20 +42,23 @@ self.onmessage = async (event: MessageEvent<UtilsEventsClientMessageData>) => {
44
42
  console.log("utils worker received event data", event.data);
45
43
  }
46
44
 
45
+ // initialize WASM module
46
+ await init();
47
+
47
48
  try {
48
49
  switch (action) {
49
50
  case "generateInboxId":
50
51
  postMessage({
51
52
  id,
52
53
  action,
53
- result: await generateInboxId(data.address),
54
+ result: generateInboxId(data.identifier),
54
55
  });
55
56
  break;
56
- case "getInboxIdForAddress":
57
+ case "getInboxIdForIdentifier":
57
58
  postMessage({
58
59
  id,
59
60
  action,
60
- result: await getInboxIdForAddress(data.address, data.env),
61
+ result: await getInboxIdForIdentifier(data.identifier, data.env),
61
62
  });
62
63
  break;
63
64
  // no default