@waku/sds 0.0.4-006cd41.0 → 0.0.4-a7f52e4.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.
- package/bundle/index.js +1 -5366
- package/dist/.tsbuildinfo +1 -1
- package/dist/{bloom_filter/bloom.js → bloom.js} +2 -2
- package/dist/bloom.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/{message_channel/message_channel.d.ts → sds.d.ts} +15 -13
- package/dist/{message_channel/message_channel.js → sds.js} +26 -125
- package/dist/sds.js.map +1 -0
- package/package.json +1 -1
- package/src/{bloom_filter/bloom.ts → bloom.ts} +2 -2
- package/src/index.ts +1 -3
- package/src/{message_channel/message_channel.ts → sds.ts} +41 -162
- package/dist/bloom_filter/bloom.js.map +0 -1
- package/dist/message_channel/command_queue.d.ts +0 -29
- package/dist/message_channel/command_queue.js +0 -7
- package/dist/message_channel/command_queue.js.map +0 -1
- package/dist/message_channel/events.d.ts +0 -32
- package/dist/message_channel/events.js +0 -19
- package/dist/message_channel/events.js.map +0 -1
- package/dist/message_channel/index.d.ts +0 -3
- package/dist/message_channel/index.js +0 -4
- package/dist/message_channel/index.js.map +0 -1
- package/dist/message_channel/message_channel.js.map +0 -1
- package/src/message_channel/command_queue.ts +0 -34
- package/src/message_channel/events.ts +0 -41
- package/src/message_channel/index.ts +0 -3
- /package/dist/{bloom_filter/bloom.d.ts → bloom.d.ts} +0 -0
package/dist/sds.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sds.js","sourceRoot":"","sources":["../src/sds.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@waku/sds","version":"0.0.4-
|
1
|
+
{"name":"@waku/sds","version":"0.0.4-a7f52e4.0","description":"Scalable Data Sync implementation for the browser. Based on https://github.com/vacp2p/rfc-index/blob/main/vac/raw/sds.md","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"typesVersions":{"*":{"*":["*","dist/*","dist/*/index"]}},"type":"module","author":"Waku Team","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/scalable-data-sync#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralized","secure","communication","web3","ethereum","dapps","privacy"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:lint":"eslint src *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","check:tsc":"tsc -p tsconfig.dev.json","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha"},"engines":{"node":">=20"},"dependencies":{"@libp2p/interface":"2.7.0","@noble/hashes":"^1.7.1","@waku/message-hash":"0.1.20-a7f52e4.0","@waku/proto":"0.0.11-a7f52e4.0","@waku/utils":"0.0.24-a7f52e4.0","chai":"^5.1.2"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@waku/build-utils":"*","allure-commandline":"^2.27.0","allure-mocha":"^2.9.2","cspell":"^8.6.1","fast-check":"^3.19.0","mocha-multi-reporters":"^1.5.1","npm-run-all":"^4.1.5","rollup":"^4.12.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { hashN } from "
|
2
|
-
import { getMOverNBitsForK } from "
|
1
|
+
import { hashN } from "./nim_hashn/nim_hashn.mjs";
|
2
|
+
import { getMOverNBitsForK } from "./probabilities.js";
|
3
3
|
|
4
4
|
export interface BloomFilterOptions {
|
5
5
|
// The expected maximum number of elements for which this BloomFilter is sized.
|
package/src/index.ts
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
import { TypedEventEmitter } from "@libp2p/interface";
|
2
2
|
import { sha256 } from "@noble/hashes/sha256";
|
3
3
|
import { bytesToHex } from "@noble/hashes/utils";
|
4
|
+
import { proto_sds_message } from "@waku/proto";
|
4
5
|
|
5
|
-
import { DefaultBloomFilter } from "
|
6
|
+
import { DefaultBloomFilter } from "./bloom.js";
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
export enum MessageChannelEvent {
|
9
|
+
MessageDelivered = "messageDelivered"
|
10
|
+
}
|
11
|
+
type MessageChannelEvents = {
|
12
|
+
[MessageChannelEvent.MessageDelivered]: CustomEvent<string>;
|
13
|
+
};
|
14
|
+
|
15
|
+
export type Message = proto_sds_message.SdsMessage;
|
16
|
+
export type HistoryEntry = proto_sds_message.HistoryEntry;
|
17
|
+
export type ChannelId = string;
|
15
18
|
|
16
19
|
export const DEFAULT_BLOOM_FILTER_OPTIONS = {
|
17
20
|
capacity: 10000,
|
@@ -25,6 +28,7 @@ interface MessageChannelOptions {
|
|
25
28
|
causalHistorySize?: number;
|
26
29
|
receivedMessageTimeoutEnabled?: boolean;
|
27
30
|
receivedMessageTimeout?: number;
|
31
|
+
deliveredMessageCallback?: (messageId: string) => void;
|
28
32
|
}
|
29
33
|
|
30
34
|
export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
@@ -34,31 +38,13 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
34
38
|
private acknowledgements: Map<string, number>;
|
35
39
|
private incomingBuffer: Message[];
|
36
40
|
private localHistory: { timestamp: number; historyEntry: HistoryEntry }[];
|
37
|
-
|
41
|
+
private channelId: ChannelId;
|
38
42
|
private causalHistorySize: number;
|
39
43
|
private acknowledgementCount: number;
|
40
44
|
private timeReceived: Map<string, number>;
|
41
45
|
private receivedMessageTimeoutEnabled: boolean;
|
42
46
|
private receivedMessageTimeout: number;
|
43
|
-
|
44
|
-
private tasks: Task[] = [];
|
45
|
-
private handlers: Handlers = {
|
46
|
-
[Command.Send]: async (
|
47
|
-
params: ParamsByAction[Command.Send]
|
48
|
-
): Promise<void> => {
|
49
|
-
await this._sendMessage(params.payload, params.callback);
|
50
|
-
},
|
51
|
-
[Command.Receive]: async (
|
52
|
-
params: ParamsByAction[Command.Receive]
|
53
|
-
): Promise<void> => {
|
54
|
-
this._receiveMessage(params.message);
|
55
|
-
},
|
56
|
-
[Command.SendEphemeral]: async (
|
57
|
-
params: ParamsByAction[Command.SendEphemeral]
|
58
|
-
): Promise<void> => {
|
59
|
-
await this._sendEphemeralMessage(params.payload, params.callback);
|
60
|
-
}
|
61
|
-
};
|
47
|
+
private deliveredMessageCallback?: (messageId: string) => void;
|
62
48
|
|
63
49
|
public constructor(
|
64
50
|
channelId: ChannelId,
|
@@ -80,25 +66,7 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
80
66
|
options.receivedMessageTimeoutEnabled ?? false;
|
81
67
|
this.receivedMessageTimeout =
|
82
68
|
options.receivedMessageTimeout ?? DEFAULT_RECEIVED_MESSAGE_TIMEOUT;
|
83
|
-
|
84
|
-
|
85
|
-
// Periodically called by the library consumer to process async operations
|
86
|
-
// in a sequential manner.
|
87
|
-
public async processTasks(): Promise<void> {
|
88
|
-
while (this.tasks.length > 0) {
|
89
|
-
const item = this.tasks.shift();
|
90
|
-
if (!item) {
|
91
|
-
continue;
|
92
|
-
}
|
93
|
-
|
94
|
-
// Use a generic helper function to ensure type safety
|
95
|
-
await this.executeTask(item);
|
96
|
-
}
|
97
|
-
}
|
98
|
-
|
99
|
-
private async executeTask<A extends Command>(item: Task<A>): Promise<void> {
|
100
|
-
const handler = this.handlers[item.command];
|
101
|
-
await handler(item.params as ParamsByAction[A]);
|
69
|
+
this.deliveredMessageCallback = options.deliveredMessageCallback;
|
102
70
|
}
|
103
71
|
|
104
72
|
public static getMessageId(payload: Uint8Array): string {
|
@@ -127,22 +95,6 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
127
95
|
success: boolean;
|
128
96
|
retrievalHint?: Uint8Array;
|
129
97
|
}>
|
130
|
-
): Promise<void> {
|
131
|
-
this.tasks.push({
|
132
|
-
command: Command.Send,
|
133
|
-
params: {
|
134
|
-
payload,
|
135
|
-
callback
|
136
|
-
}
|
137
|
-
});
|
138
|
-
}
|
139
|
-
|
140
|
-
public async _sendMessage(
|
141
|
-
payload: Uint8Array,
|
142
|
-
callback?: (message: Message) => Promise<{
|
143
|
-
success: boolean;
|
144
|
-
retrievalHint?: Uint8Array;
|
145
|
-
}>
|
146
98
|
): Promise<void> {
|
147
99
|
this.lamportTimestamp++;
|
148
100
|
|
@@ -172,10 +124,6 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
172
124
|
retrievalHint
|
173
125
|
}
|
174
126
|
});
|
175
|
-
this.timeReceived.set(messageId, Date.now());
|
176
|
-
this.safeDispatchEvent(MessageChannelEvent.MessageSent, {
|
177
|
-
detail: message
|
178
|
-
});
|
179
127
|
}
|
180
128
|
}
|
181
129
|
}
|
@@ -193,23 +141,10 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
193
141
|
* @param payload - The payload to send.
|
194
142
|
* @param callback - A callback function that returns a boolean indicating whether the message was sent successfully.
|
195
143
|
*/
|
196
|
-
public
|
197
|
-
payload: Uint8Array,
|
198
|
-
callback?: (message: Message) => Promise<boolean>
|
199
|
-
): Promise<void> {
|
200
|
-
this.tasks.push({
|
201
|
-
command: Command.SendEphemeral,
|
202
|
-
params: {
|
203
|
-
payload,
|
204
|
-
callback
|
205
|
-
}
|
206
|
-
});
|
207
|
-
}
|
208
|
-
|
209
|
-
public async _sendEphemeralMessage(
|
144
|
+
public sendEphemeralMessage(
|
210
145
|
payload: Uint8Array,
|
211
|
-
callback?: (message: Message) =>
|
212
|
-
):
|
146
|
+
callback?: (message: Message) => boolean
|
147
|
+
): void {
|
213
148
|
const message: Message = {
|
214
149
|
messageId: MessageChannel.getMessageId(payload),
|
215
150
|
channelId: this.channelId,
|
@@ -220,10 +155,9 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
220
155
|
};
|
221
156
|
|
222
157
|
if (callback) {
|
223
|
-
|
158
|
+
callback(message);
|
224
159
|
}
|
225
160
|
}
|
226
|
-
|
227
161
|
/**
|
228
162
|
* Process a received SDS message for this channel.
|
229
163
|
*
|
@@ -238,40 +172,12 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
238
172
|
*
|
239
173
|
* @param message - The received SDS message.
|
240
174
|
*/
|
241
|
-
|
242
175
|
public receiveMessage(message: Message): void {
|
243
|
-
this.tasks.push({
|
244
|
-
command: Command.Receive,
|
245
|
-
params: {
|
246
|
-
message
|
247
|
-
}
|
248
|
-
});
|
249
|
-
}
|
250
|
-
|
251
|
-
public _receiveMessage(message: Message): void {
|
252
|
-
if (
|
253
|
-
message.content &&
|
254
|
-
message.content.length > 0 &&
|
255
|
-
this.timeReceived.has(message.messageId)
|
256
|
-
) {
|
257
|
-
// Received a duplicate message
|
258
|
-
return;
|
259
|
-
}
|
260
|
-
|
261
176
|
if (!message.lamportTimestamp) {
|
262
177
|
// Messages with no timestamp are ephemeral messages and should be delivered immediately
|
263
178
|
this.deliverMessage(message);
|
264
179
|
return;
|
265
180
|
}
|
266
|
-
if (message.content?.length === 0) {
|
267
|
-
this.safeDispatchEvent(MessageChannelEvent.SyncReceived, {
|
268
|
-
detail: message
|
269
|
-
});
|
270
|
-
} else {
|
271
|
-
this.safeDispatchEvent(MessageChannelEvent.MessageReceived, {
|
272
|
-
detail: message
|
273
|
-
});
|
274
|
-
}
|
275
181
|
// review ack status
|
276
182
|
this.reviewAckStatus(message);
|
277
183
|
// add to bloom filter (skip for messages with empty content)
|
@@ -290,22 +196,14 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
290
196
|
this.timeReceived.set(message.messageId, Date.now());
|
291
197
|
} else {
|
292
198
|
this.deliverMessage(message);
|
293
|
-
this.safeDispatchEvent(MessageChannelEvent.MessageDelivered, {
|
294
|
-
detail: {
|
295
|
-
messageId: message.messageId,
|
296
|
-
sentOrReceived: "received"
|
297
|
-
}
|
298
|
-
});
|
299
199
|
}
|
300
200
|
}
|
301
201
|
|
302
202
|
// https://rfc.vac.dev/vac/raw/sds/#periodic-incoming-buffer-sweep
|
303
|
-
// Note that even though this function has side effects, it is not async
|
304
|
-
// and does not need to be called through the queue.
|
305
203
|
public sweepIncomingBuffer(): HistoryEntry[] {
|
306
204
|
const { buffer, missing } = this.incomingBuffer.reduce<{
|
307
205
|
buffer: Message[];
|
308
|
-
missing:
|
206
|
+
missing: HistoryEntry[];
|
309
207
|
}>(
|
310
208
|
({ buffer, missing }, message) => {
|
311
209
|
// Check each message for missing dependencies
|
@@ -320,12 +218,6 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
320
218
|
// Any message with no missing dependencies is delivered
|
321
219
|
// and removed from the buffer (implicitly by not adding it to the new incoming buffer)
|
322
220
|
this.deliverMessage(message);
|
323
|
-
this.safeDispatchEvent(MessageChannelEvent.MessageDelivered, {
|
324
|
-
detail: {
|
325
|
-
messageId: message.messageId,
|
326
|
-
sentOrReceived: "received"
|
327
|
-
}
|
328
|
-
});
|
329
221
|
return { buffer, missing };
|
330
222
|
}
|
331
223
|
|
@@ -342,24 +234,16 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
342
234
|
}
|
343
235
|
// Any message with missing dependencies stays in the buffer
|
344
236
|
// and the missing message IDs are returned for processing.
|
345
|
-
missingDependencies.forEach((dependency) => {
|
346
|
-
missing.add(dependency);
|
347
|
-
});
|
348
237
|
return {
|
349
238
|
buffer: buffer.concat(message),
|
350
|
-
missing
|
239
|
+
missing: missing.concat(missingDependencies)
|
351
240
|
};
|
352
241
|
},
|
353
|
-
{ buffer: new Array<Message>(), missing: new
|
242
|
+
{ buffer: new Array<Message>(), missing: new Array<HistoryEntry>() }
|
354
243
|
);
|
355
244
|
// Update the incoming buffer to only include messages with no missing dependencies
|
356
245
|
this.incomingBuffer = buffer;
|
357
|
-
|
358
|
-
this.safeDispatchEvent(MessageChannelEvent.MissedMessages, {
|
359
|
-
detail: Array.from(missing)
|
360
|
-
});
|
361
|
-
|
362
|
-
return Array.from(missing);
|
246
|
+
return missing;
|
363
247
|
}
|
364
248
|
|
365
249
|
// https://rfc.vac.dev/vac/raw/sds/#periodic-outgoing-buffer-sweep
|
@@ -401,7 +285,7 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
401
285
|
*
|
402
286
|
* @param callback - A callback function that returns a boolean indicating whether the message was sent successfully.
|
403
287
|
*/
|
404
|
-
public
|
288
|
+
public sendSyncMessage(
|
405
289
|
callback?: (message: Message) => Promise<boolean>
|
406
290
|
): Promise<boolean> {
|
407
291
|
this.lamportTimestamp++;
|
@@ -420,17 +304,15 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
420
304
|
};
|
421
305
|
|
422
306
|
if (callback) {
|
423
|
-
|
424
|
-
this.safeDispatchEvent(MessageChannelEvent.SyncSent, {
|
425
|
-
detail: message
|
426
|
-
});
|
427
|
-
return true;
|
307
|
+
return callback(message);
|
428
308
|
}
|
429
|
-
return false;
|
309
|
+
return Promise.resolve(false);
|
430
310
|
}
|
431
311
|
|
432
312
|
// See https://rfc.vac.dev/vac/raw/sds/#deliver-message
|
433
313
|
private deliverMessage(message: Message, retrievalHint?: Uint8Array): void {
|
314
|
+
this.notifyDeliveredMessage(message.messageId);
|
315
|
+
|
434
316
|
const messageLamportTimestamp = message.lamportTimestamp ?? 0;
|
435
317
|
if (messageLamportTimestamp > this.lamportTimestamp) {
|
436
318
|
this.lamportTimestamp = messageLamportTimestamp;
|
@@ -473,15 +355,7 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
473
355
|
// the participant MUST mark all messages in the received causal_history as acknowledged.
|
474
356
|
receivedMessage.causalHistory.forEach(({ messageId }) => {
|
475
357
|
this.outgoingBuffer = this.outgoingBuffer.filter(
|
476
|
-
({ messageId: outgoingMessageId }) =>
|
477
|
-
if (outgoingMessageId !== messageId) {
|
478
|
-
return true;
|
479
|
-
}
|
480
|
-
this.safeDispatchEvent(MessageChannelEvent.MessageAcknowledged, {
|
481
|
-
detail: messageId
|
482
|
-
});
|
483
|
-
return false;
|
484
|
-
}
|
358
|
+
({ messageId: outgoingMessageId }) => outgoingMessageId !== messageId
|
485
359
|
);
|
486
360
|
this.acknowledgements.delete(messageId);
|
487
361
|
if (!this.filter.lookup(messageId)) {
|
@@ -506,12 +380,6 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
506
380
|
const count = (this.acknowledgements.get(message.messageId) ?? 0) + 1;
|
507
381
|
if (count < this.acknowledgementCount) {
|
508
382
|
this.acknowledgements.set(message.messageId, count);
|
509
|
-
this.safeDispatchEvent(MessageChannelEvent.PartialAcknowledgement, {
|
510
|
-
detail: {
|
511
|
-
messageId: message.messageId,
|
512
|
-
count
|
513
|
-
}
|
514
|
-
});
|
515
383
|
return true;
|
516
384
|
}
|
517
385
|
this.acknowledgements.delete(message.messageId);
|
@@ -523,4 +391,15 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
|
|
523
391
|
private getAcknowledgementCount(): number {
|
524
392
|
return 2;
|
525
393
|
}
|
394
|
+
|
395
|
+
private notifyDeliveredMessage(messageId: string): void {
|
396
|
+
if (this.deliveredMessageCallback) {
|
397
|
+
this.deliveredMessageCallback(messageId);
|
398
|
+
}
|
399
|
+
this.dispatchEvent(
|
400
|
+
new CustomEvent(MessageChannelEvent.MessageDelivered, {
|
401
|
+
detail: messageId
|
402
|
+
})
|
403
|
+
);
|
404
|
+
}
|
526
405
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bloom.js","sourceRoot":"","sources":["../../src/bloom_filter/bloom.ts"],"names":[],"mappings":"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"}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import { Message } from "./events.js";
|
2
|
-
export declare enum Command {
|
3
|
-
Send = "send",
|
4
|
-
Receive = "receive",
|
5
|
-
SendEphemeral = "sendEphemeral"
|
6
|
-
}
|
7
|
-
export interface ParamsByAction {
|
8
|
-
[Command.Send]: {
|
9
|
-
payload: Uint8Array;
|
10
|
-
callback?: (message: Message) => Promise<{
|
11
|
-
success: boolean;
|
12
|
-
retrievalHint?: Uint8Array;
|
13
|
-
}>;
|
14
|
-
};
|
15
|
-
[Command.Receive]: {
|
16
|
-
message: Message;
|
17
|
-
};
|
18
|
-
[Command.SendEphemeral]: {
|
19
|
-
payload: Uint8Array;
|
20
|
-
callback?: (message: Message) => Promise<boolean>;
|
21
|
-
};
|
22
|
-
}
|
23
|
-
export type Task<A extends Command = Command> = {
|
24
|
-
command: A;
|
25
|
-
params: ParamsByAction[A];
|
26
|
-
};
|
27
|
-
export type Handlers = {
|
28
|
-
[A in Command]: (params: ParamsByAction[A]) => Promise<void>;
|
29
|
-
};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"command_queue.js","sourceRoot":"","sources":["../../src/message_channel/command_queue.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8BAAmB,CAAA;IACnB,0CAA+B,CAAA;AACjC,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB"}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import { proto_sds_message } from "@waku/proto";
|
2
|
-
export declare enum MessageChannelEvent {
|
3
|
-
MessageSent = "messageSent",
|
4
|
-
MessageDelivered = "messageDelivered",
|
5
|
-
MessageReceived = "messageReceived",
|
6
|
-
MessageAcknowledged = "messageAcknowledged",
|
7
|
-
PartialAcknowledgement = "partialAcknowledgement",
|
8
|
-
MissedMessages = "missedMessages",
|
9
|
-
SyncSent = "syncSent",
|
10
|
-
SyncReceived = "syncReceived"
|
11
|
-
}
|
12
|
-
export type Message = proto_sds_message.SdsMessage;
|
13
|
-
export type HistoryEntry = proto_sds_message.HistoryEntry;
|
14
|
-
export type ChannelId = string;
|
15
|
-
export declare function encodeMessage(message: Message): Uint8Array;
|
16
|
-
export declare function decodeMessage(data: Uint8Array): Message;
|
17
|
-
export type MessageChannelEvents = {
|
18
|
-
[MessageChannelEvent.MessageSent]: CustomEvent<Message>;
|
19
|
-
[MessageChannelEvent.MessageDelivered]: CustomEvent<{
|
20
|
-
messageId: string;
|
21
|
-
sentOrReceived: "sent" | "received";
|
22
|
-
}>;
|
23
|
-
[MessageChannelEvent.MessageReceived]: CustomEvent<Message>;
|
24
|
-
[MessageChannelEvent.MessageAcknowledged]: CustomEvent<string>;
|
25
|
-
[MessageChannelEvent.PartialAcknowledgement]: CustomEvent<{
|
26
|
-
messageId: string;
|
27
|
-
count: number;
|
28
|
-
}>;
|
29
|
-
[MessageChannelEvent.MissedMessages]: CustomEvent<HistoryEntry[]>;
|
30
|
-
[MessageChannelEvent.SyncSent]: CustomEvent<Message>;
|
31
|
-
[MessageChannelEvent.SyncReceived]: CustomEvent<Message>;
|
32
|
-
};
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { proto_sds_message } from "@waku/proto";
|
2
|
-
export var MessageChannelEvent;
|
3
|
-
(function (MessageChannelEvent) {
|
4
|
-
MessageChannelEvent["MessageSent"] = "messageSent";
|
5
|
-
MessageChannelEvent["MessageDelivered"] = "messageDelivered";
|
6
|
-
MessageChannelEvent["MessageReceived"] = "messageReceived";
|
7
|
-
MessageChannelEvent["MessageAcknowledged"] = "messageAcknowledged";
|
8
|
-
MessageChannelEvent["PartialAcknowledgement"] = "partialAcknowledgement";
|
9
|
-
MessageChannelEvent["MissedMessages"] = "missedMessages";
|
10
|
-
MessageChannelEvent["SyncSent"] = "syncSent";
|
11
|
-
MessageChannelEvent["SyncReceived"] = "syncReceived";
|
12
|
-
})(MessageChannelEvent || (MessageChannelEvent = {}));
|
13
|
-
export function encodeMessage(message) {
|
14
|
-
return proto_sds_message.SdsMessage.encode(message);
|
15
|
-
}
|
16
|
-
export function decodeMessage(data) {
|
17
|
-
return proto_sds_message.SdsMessage.decode(data);
|
18
|
-
}
|
19
|
-
//# sourceMappingURL=events.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/message_channel/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,4DAAqC,CAAA;IACrC,0DAAmC,CAAA;IACnC,kEAA2C,CAAA;IAC3C,wEAAiD,CAAA;IACjD,wDAAiC,CAAA;IACjC,4CAAqB,CAAA;IACrB,oDAA6B,CAAA;AAC/B,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B;AAMD,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/message_channel/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"message_channel.js","sourceRoot":"","sources":["../../src/message_channel/message_channel.ts"],"names":[],"mappings":"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"}
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { Message } from "./events.js";
|
2
|
-
|
3
|
-
export enum Command {
|
4
|
-
Send = "send",
|
5
|
-
Receive = "receive",
|
6
|
-
SendEphemeral = "sendEphemeral"
|
7
|
-
}
|
8
|
-
|
9
|
-
export interface ParamsByAction {
|
10
|
-
[Command.Send]: {
|
11
|
-
payload: Uint8Array;
|
12
|
-
callback?: (message: Message) => Promise<{
|
13
|
-
success: boolean;
|
14
|
-
retrievalHint?: Uint8Array;
|
15
|
-
}>;
|
16
|
-
};
|
17
|
-
[Command.Receive]: {
|
18
|
-
message: Message;
|
19
|
-
};
|
20
|
-
[Command.SendEphemeral]: {
|
21
|
-
payload: Uint8Array;
|
22
|
-
callback?: (message: Message) => Promise<boolean>;
|
23
|
-
};
|
24
|
-
}
|
25
|
-
|
26
|
-
export type Task<A extends Command = Command> = {
|
27
|
-
command: A;
|
28
|
-
params: ParamsByAction[A];
|
29
|
-
};
|
30
|
-
|
31
|
-
// Define a mapping for handlers based on action type
|
32
|
-
export type Handlers = {
|
33
|
-
[A in Command]: (params: ParamsByAction[A]) => Promise<void>;
|
34
|
-
};
|
@@ -1,41 +0,0 @@
|
|
1
|
-
import { proto_sds_message } from "@waku/proto";
|
2
|
-
|
3
|
-
export enum MessageChannelEvent {
|
4
|
-
MessageSent = "messageSent",
|
5
|
-
MessageDelivered = "messageDelivered",
|
6
|
-
MessageReceived = "messageReceived",
|
7
|
-
MessageAcknowledged = "messageAcknowledged",
|
8
|
-
PartialAcknowledgement = "partialAcknowledgement",
|
9
|
-
MissedMessages = "missedMessages",
|
10
|
-
SyncSent = "syncSent",
|
11
|
-
SyncReceived = "syncReceived"
|
12
|
-
}
|
13
|
-
|
14
|
-
export type Message = proto_sds_message.SdsMessage;
|
15
|
-
export type HistoryEntry = proto_sds_message.HistoryEntry;
|
16
|
-
export type ChannelId = string;
|
17
|
-
|
18
|
-
export function encodeMessage(message: Message): Uint8Array {
|
19
|
-
return proto_sds_message.SdsMessage.encode(message);
|
20
|
-
}
|
21
|
-
|
22
|
-
export function decodeMessage(data: Uint8Array): Message {
|
23
|
-
return proto_sds_message.SdsMessage.decode(data);
|
24
|
-
}
|
25
|
-
|
26
|
-
export type MessageChannelEvents = {
|
27
|
-
[MessageChannelEvent.MessageSent]: CustomEvent<Message>;
|
28
|
-
[MessageChannelEvent.MessageDelivered]: CustomEvent<{
|
29
|
-
messageId: string;
|
30
|
-
sentOrReceived: "sent" | "received";
|
31
|
-
}>;
|
32
|
-
[MessageChannelEvent.MessageReceived]: CustomEvent<Message>;
|
33
|
-
[MessageChannelEvent.MessageAcknowledged]: CustomEvent<string>;
|
34
|
-
[MessageChannelEvent.PartialAcknowledgement]: CustomEvent<{
|
35
|
-
messageId: string;
|
36
|
-
count: number;
|
37
|
-
}>;
|
38
|
-
[MessageChannelEvent.MissedMessages]: CustomEvent<HistoryEntry[]>;
|
39
|
-
[MessageChannelEvent.SyncSent]: CustomEvent<Message>;
|
40
|
-
[MessageChannelEvent.SyncReceived]: CustomEvent<Message>;
|
41
|
-
};
|
File without changes
|