@kynesyslabs/demosdk 2.11.3 → 2.11.5

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.
@@ -7,5 +7,5 @@
7
7
  import { EvmCoinFinder } from "./EvmCoinFinder";
8
8
  import { CoinFinder } from "./CoinFinder";
9
9
  import { Identities } from "./Identities";
10
- import { InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, PqcIdentityAssignPayload, PqcIdentityRemovePayload, UDIdentityAssignPayload, UDIdentityRemovePayload, UserPoints, FindDemosIdByWeb2IdentityQuery, FindDemosIdByWeb3IdentityQuery, TelegramAttestationPayload, TelegramSignedAttestation, DiscordProof, NomisWalletIdentity, HumanPassportIdentityTxPayload, HumanPassportIdentityData, EthosWalletIdentity, EthosIdentityRemoveData, EthosIdentityAssignPayload, EthosIdentityRemovePayload } from "../types/abstraction";
11
- export { EvmCoinFinder, CoinFinder, Identities, InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, PqcIdentityAssignPayload, PqcIdentityRemovePayload, UDIdentityAssignPayload, UDIdentityRemovePayload, UserPoints, FindDemosIdByWeb2IdentityQuery, FindDemosIdByWeb3IdentityQuery, TelegramAttestationPayload, TelegramSignedAttestation, DiscordProof, NomisWalletIdentity, HumanPassportIdentityTxPayload, HumanPassportIdentityData, EthosWalletIdentity, EthosIdentityRemoveData, EthosIdentityAssignPayload, EthosIdentityRemovePayload };
10
+ import { InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, PqcIdentityAssignPayload, PqcIdentityRemovePayload, UDIdentityAssignPayload, UDIdentityRemovePayload, UserPoints, FindDemosIdByWeb2IdentityQuery, FindDemosIdByWeb3IdentityQuery, TelegramAttestationPayload, TelegramSignedAttestation, DiscordProof, NomisWalletIdentity, HumanPassportIdentityTxPayload, HumanPassportIdentityData, EthosWalletIdentity, EthosIdentityRemoveData, EthosIdentityAssignPayload, EthosIdentityRemovePayload, IdentityAttestationPayload, IdentityCommitmentPayload } from "../types/abstraction";
11
+ export { EvmCoinFinder, CoinFinder, Identities, InferFromWritePayload, InferFromSignaturePayload, XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, InferFromGithubPayload, GithubProof, InferFromTwitterPayload, TwitterProof, IdentityPayload, InferFromSignatureTargetIdentityPayload, PqcIdentityAssignPayload, PqcIdentityRemovePayload, UDIdentityAssignPayload, UDIdentityRemovePayload, UserPoints, FindDemosIdByWeb2IdentityQuery, FindDemosIdByWeb3IdentityQuery, TelegramAttestationPayload, TelegramSignedAttestation, DiscordProof, NomisWalletIdentity, HumanPassportIdentityTxPayload, HumanPassportIdentityData, EthosWalletIdentity, EthosIdentityRemoveData, EthosIdentityAssignPayload, EthosIdentityRemovePayload, IdentityAttestationPayload, IdentityCommitmentPayload, };
@@ -7,5 +7,5 @@
7
7
  import { EvmCoinFinder } from "./EvmCoinFinder.js";
8
8
  import { CoinFinder } from "./CoinFinder.js";
9
9
  import { Identities } from "./Identities.js";
10
- export { EvmCoinFinder, CoinFinder, Identities };
10
+ export { EvmCoinFinder, CoinFinder, Identities, };
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/abstraction/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA+BzC,OAAO,EACH,aAAa,EACb,UAAU,EACV,UAAU,EA4Bb,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/abstraction/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAiCzC,OAAO,EACH,aAAa,EACb,UAAU,EACV,UAAU,GA8Bb,CAAA"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * L2PSMessagingPeer - WebSocket client for L2PS-backed instant messaging
3
+ *
4
+ * Connects to the L2PS messaging server (default port 3006) and provides:
5
+ * - Registration with ed25519 proof and L2PS network isolation
6
+ * - E2E encrypted message sending/receiving
7
+ * - Conversation history with pagination
8
+ * - Peer discovery within L2PS network
9
+ * - Offline message delivery
10
+ * - Automatic reconnection with exponential backoff
11
+ */
12
+ import type { SerializedEncryptedMessage, RegisteredResponse, IncomingMessage, MessageSentResponse, MessageQueuedResponse, HistoryResponse, ErrorResponse } from "./l2ps_types";
13
+ export interface L2PSMessagingConfig {
14
+ /** WebSocket URL of the L2PS messaging server (e.g. "ws://localhost:3006") */
15
+ serverUrl: string;
16
+ /** Client's ed25519 public key (hex string, 64+ chars) */
17
+ publicKey: string;
18
+ /** L2PS network UID to join */
19
+ l2psUid: string;
20
+ /** Function to sign proof strings with ed25519 private key. Returns hex signature. */
21
+ signFn: (message: string) => Promise<string> | string;
22
+ }
23
+ export type L2PSMessageHandler = (message: IncomingMessage["payload"]) => void;
24
+ export type L2PSErrorHandler = (error: ErrorResponse["payload"]) => void;
25
+ export type L2PSPeerHandler = (publicKey: string) => void;
26
+ export type L2PSConnectionStateHandler = (state: "connected" | "disconnected" | "reconnecting") => void;
27
+ export declare class L2PSMessagingPeer {
28
+ private ws;
29
+ private config;
30
+ private messageHandlers;
31
+ private errorHandlers;
32
+ private peerJoinedHandlers;
33
+ private peerLeftHandlers;
34
+ private connectionStateHandlers;
35
+ private pendingResponses;
36
+ private _isConnected;
37
+ private _isRegistered;
38
+ private onlinePeers;
39
+ private messageQueue;
40
+ private reconnectAttempts;
41
+ private maxReconnectAttempts;
42
+ private baseReconnectDelay;
43
+ private reconnectTimeout;
44
+ private shouldReconnect;
45
+ private isReconnecting;
46
+ constructor(config: L2PSMessagingConfig);
47
+ get isConnected(): boolean;
48
+ get isRegistered(): boolean;
49
+ get peers(): string[];
50
+ /**
51
+ * Connect to L2PS messaging server and register
52
+ * @returns Registration response with online peers
53
+ */
54
+ connect(): Promise<RegisteredResponse["payload"]>;
55
+ /** Disconnect from the server */
56
+ disconnect(): void;
57
+ /**
58
+ * Send an encrypted message to a peer
59
+ * @param to - Recipient's public key (hex)
60
+ * @param encrypted - E2E encrypted message
61
+ * @param messageHash - SHA256 hash for dedup
62
+ * @returns Delivery confirmation (sent or queued)
63
+ */
64
+ send(to: string, encrypted: SerializedEncryptedMessage, messageHash: string): Promise<MessageSentResponse["payload"] | MessageQueuedResponse["payload"]>;
65
+ /**
66
+ * Get conversation history with a peer
67
+ * @param peerKey - Peer's public key
68
+ * @param options - Pagination options
69
+ * @returns Message history with pagination info
70
+ */
71
+ history(peerKey: string, options?: {
72
+ before?: number;
73
+ limit?: number;
74
+ }): Promise<HistoryResponse["payload"]>;
75
+ /**
76
+ * Discover online peers in the L2PS network
77
+ * @returns List of online peer public keys
78
+ */
79
+ discover(): Promise<string[]>;
80
+ /**
81
+ * Request a peer's public key
82
+ * @param targetId - Target peer identifier
83
+ * @returns Public key hex string or null if not found
84
+ */
85
+ requestPublicKey(targetId: string): Promise<string | null>;
86
+ onMessage(handler: L2PSMessageHandler): void;
87
+ onError(handler: L2PSErrorHandler): void;
88
+ onPeerJoined(handler: L2PSPeerHandler): void;
89
+ onPeerLeft(handler: L2PSPeerHandler): void;
90
+ onConnectionStateChange(handler: L2PSConnectionStateHandler): void;
91
+ removeMessageHandler(handler: L2PSMessageHandler): void;
92
+ removeErrorHandler(handler: L2PSErrorHandler): void;
93
+ removePeerJoinedHandler(handler: L2PSPeerHandler): void;
94
+ removePeerLeftHandler(handler: L2PSPeerHandler): void;
95
+ removeConnectionStateHandler(handler: L2PSConnectionStateHandler): void;
96
+ private connectWebSocket;
97
+ private attemptReconnect;
98
+ private register;
99
+ private handleFrame;
100
+ private waitForResponse;
101
+ private sendFrame;
102
+ private flushQueue;
103
+ private ensureRegistered;
104
+ private notifyConnectionState;
105
+ private generateRequestId;
106
+ }
@@ -0,0 +1,409 @@
1
+ /**
2
+ * L2PSMessagingPeer - WebSocket client for L2PS-backed instant messaging
3
+ *
4
+ * Connects to the L2PS messaging server (default port 3006) and provides:
5
+ * - Registration with ed25519 proof and L2PS network isolation
6
+ * - E2E encrypted message sending/receiving
7
+ * - Conversation history with pagination
8
+ * - Peer discovery within L2PS network
9
+ * - Offline message delivery
10
+ * - Automatic reconnection with exponential backoff
11
+ */
12
+ // ─── Client Class ────────────────────────────────────────────────
13
+ export class L2PSMessagingPeer {
14
+ constructor(config) {
15
+ this.ws = null;
16
+ // Event handlers
17
+ this.messageHandlers = new Set();
18
+ this.errorHandlers = new Set();
19
+ this.peerJoinedHandlers = new Set();
20
+ this.peerLeftHandlers = new Set();
21
+ this.connectionStateHandlers = new Set();
22
+ // Pending request-response waiters
23
+ // REVIEW: resolve accepts ServerPayload (widened from generic T) because the map is homogeneous
24
+ this.pendingResponses = new Map();
25
+ // State
26
+ this._isConnected = false;
27
+ this._isRegistered = false;
28
+ this.onlinePeers = new Set();
29
+ this.messageQueue = [];
30
+ // Reconnection
31
+ this.reconnectAttempts = 0;
32
+ this.maxReconnectAttempts = 10;
33
+ this.baseReconnectDelay = 1000;
34
+ this.reconnectTimeout = null;
35
+ this.shouldReconnect = true;
36
+ this.isReconnecting = false;
37
+ this.config = config;
38
+ }
39
+ // ─── Public Getters ──────────────────────────────────────────
40
+ get isConnected() {
41
+ return this._isConnected;
42
+ }
43
+ get isRegistered() {
44
+ return this._isRegistered;
45
+ }
46
+ get peers() {
47
+ return Array.from(this.onlinePeers);
48
+ }
49
+ // ─── Connection Lifecycle ────────────────────────────────────
50
+ /**
51
+ * Connect to L2PS messaging server and register
52
+ * @returns Registration response with online peers
53
+ */
54
+ async connect() {
55
+ return new Promise((resolve, reject) => {
56
+ let checkOpen = null;
57
+ const timeout = setTimeout(() => {
58
+ if (checkOpen) {
59
+ clearInterval(checkOpen);
60
+ }
61
+ this.shouldReconnect = false;
62
+ if (this.ws) {
63
+ this.ws.close();
64
+ }
65
+ reject(new Error("Connection timeout (10s)"));
66
+ }, 10000);
67
+ this.shouldReconnect = true;
68
+ this.connectWebSocket();
69
+ // Wait for WS open, then register
70
+ checkOpen = setInterval(() => {
71
+ if (this._isConnected) {
72
+ clearInterval(checkOpen);
73
+ this.register()
74
+ .then(response => {
75
+ clearTimeout(timeout);
76
+ resolve(response);
77
+ })
78
+ .catch(err => {
79
+ clearTimeout(timeout);
80
+ reject(err);
81
+ });
82
+ }
83
+ }, 50);
84
+ });
85
+ }
86
+ /** Disconnect from the server */
87
+ disconnect() {
88
+ this.shouldReconnect = false;
89
+ if (this.reconnectTimeout) {
90
+ clearTimeout(this.reconnectTimeout);
91
+ this.reconnectTimeout = null;
92
+ }
93
+ // Reject all pending responses
94
+ for (const [key, pending] of this.pendingResponses) {
95
+ clearTimeout(pending.timer);
96
+ pending.reject(new Error("Disconnected"));
97
+ }
98
+ this.pendingResponses.clear();
99
+ if (this.ws) {
100
+ this.ws.close();
101
+ this.ws = null;
102
+ }
103
+ this._isConnected = false;
104
+ this._isRegistered = false;
105
+ this.onlinePeers.clear();
106
+ this.notifyConnectionState("disconnected");
107
+ }
108
+ // ─── Messaging API ───────────────────────────────────────────
109
+ /**
110
+ * Send an encrypted message to a peer
111
+ * @param to - Recipient's public key (hex)
112
+ * @param encrypted - E2E encrypted message
113
+ * @param messageHash - SHA256 hash for dedup
114
+ * @returns Delivery confirmation (sent or queued)
115
+ */
116
+ async send(to, encrypted, messageHash) {
117
+ this.ensureRegistered();
118
+ const requestId = this.generateRequestId();
119
+ this.sendFrame({
120
+ type: "send",
121
+ payload: { to, encrypted, messageHash },
122
+ timestamp: Date.now(),
123
+ requestId,
124
+ });
125
+ // Wait for either message_sent or message_queued
126
+ return this.waitForResponse(requestId, ["message_sent", "message_queued"], 15000);
127
+ }
128
+ /**
129
+ * Get conversation history with a peer
130
+ * @param peerKey - Peer's public key
131
+ * @param options - Pagination options
132
+ * @returns Message history with pagination info
133
+ */
134
+ async history(peerKey, options = {}) {
135
+ this.ensureRegistered();
136
+ const timestamp = Date.now();
137
+ const proofString = `history:${peerKey}:${timestamp}`;
138
+ const proof = await this.config.signFn(proofString);
139
+ const requestId = this.generateRequestId();
140
+ this.sendFrame({
141
+ type: "history",
142
+ payload: {
143
+ peerKey,
144
+ before: options.before,
145
+ limit: options.limit,
146
+ proof,
147
+ },
148
+ timestamp,
149
+ requestId,
150
+ });
151
+ return this.waitForResponse(requestId, ["history_response"], 10000);
152
+ }
153
+ /**
154
+ * Discover online peers in the L2PS network
155
+ * @returns List of online peer public keys
156
+ */
157
+ async discover() {
158
+ this.ensureRegistered();
159
+ const requestId = this.generateRequestId();
160
+ this.sendFrame({
161
+ type: "discover",
162
+ payload: {},
163
+ timestamp: Date.now(),
164
+ requestId,
165
+ });
166
+ const response = await this.waitForResponse(requestId, ["discover_response"], 10000);
167
+ this.onlinePeers = new Set(response.peers);
168
+ return response.peers;
169
+ }
170
+ /**
171
+ * Request a peer's public key
172
+ * @param targetId - Target peer identifier
173
+ * @returns Public key hex string or null if not found
174
+ */
175
+ async requestPublicKey(targetId) {
176
+ this.ensureRegistered();
177
+ const requestId = this.generateRequestId();
178
+ this.sendFrame({
179
+ type: "request_public_key",
180
+ payload: { targetId },
181
+ timestamp: Date.now(),
182
+ requestId,
183
+ });
184
+ const response = await this.waitForResponse(requestId, ["public_key_response"], 10000);
185
+ return response.publicKey;
186
+ }
187
+ // ─── Event Handlers ──────────────────────────────────────────
188
+ onMessage(handler) {
189
+ this.messageHandlers.add(handler);
190
+ }
191
+ onError(handler) {
192
+ this.errorHandlers.add(handler);
193
+ }
194
+ onPeerJoined(handler) {
195
+ this.peerJoinedHandlers.add(handler);
196
+ }
197
+ onPeerLeft(handler) {
198
+ this.peerLeftHandlers.add(handler);
199
+ }
200
+ onConnectionStateChange(handler) {
201
+ this.connectionStateHandlers.add(handler);
202
+ }
203
+ removeMessageHandler(handler) {
204
+ this.messageHandlers.delete(handler);
205
+ }
206
+ removeErrorHandler(handler) {
207
+ this.errorHandlers.delete(handler);
208
+ }
209
+ removePeerJoinedHandler(handler) {
210
+ this.peerJoinedHandlers.delete(handler);
211
+ }
212
+ removePeerLeftHandler(handler) {
213
+ this.peerLeftHandlers.delete(handler);
214
+ }
215
+ removeConnectionStateHandler(handler) {
216
+ this.connectionStateHandlers.delete(handler);
217
+ }
218
+ // ─── Private: WebSocket ──────────────────────────────────────
219
+ connectWebSocket() {
220
+ if (this.ws) {
221
+ this.ws.close();
222
+ }
223
+ this.ws = new WebSocket(this.config.serverUrl);
224
+ this.notifyConnectionState("reconnecting");
225
+ this.ws.onopen = async () => {
226
+ this._isConnected = true;
227
+ this.reconnectAttempts = 0;
228
+ // Attempt re-registration if this is a reconnection (not initial connection)
229
+ if (this.isReconnecting) {
230
+ try {
231
+ await this.register();
232
+ this.notifyConnectionState("connected");
233
+ this.flushQueue();
234
+ this.isReconnecting = false;
235
+ }
236
+ catch (err) {
237
+ // Re-registration failed — notify error handlers and retry
238
+ this.errorHandlers.forEach(h => h({ code: "INTERNAL_ERROR", message: "Re-registration failed after reconnect", details: err instanceof Error ? err.message : "unknown" }));
239
+ this._isConnected = false;
240
+ this._isRegistered = false;
241
+ this.notifyConnectionState("disconnected");
242
+ if (this.ws) {
243
+ this.ws.close();
244
+ }
245
+ if (this.shouldReconnect) {
246
+ this.attemptReconnect();
247
+ }
248
+ }
249
+ }
250
+ else {
251
+ // Initial connection, registration will be handled by connect()
252
+ this.notifyConnectionState("connected");
253
+ this.flushQueue();
254
+ }
255
+ };
256
+ this.ws.onclose = () => {
257
+ this._isConnected = false;
258
+ this._isRegistered = false;
259
+ this.onlinePeers.clear();
260
+ this.notifyConnectionState("disconnected");
261
+ if (this.shouldReconnect) {
262
+ this.attemptReconnect();
263
+ }
264
+ };
265
+ this.ws.onerror = (event) => {
266
+ this.errorHandlers.forEach(h => h({ code: "INTERNAL_ERROR", message: "WebSocket error", details: event instanceof Error ? event.message : "unknown" }));
267
+ };
268
+ this.ws.onmessage = (event) => {
269
+ try {
270
+ const frame = JSON.parse(typeof event.data === "string" ? event.data : new TextDecoder().decode(event.data));
271
+ this.handleFrame(frame);
272
+ }
273
+ catch {
274
+ // Ignore unparseable frames
275
+ }
276
+ };
277
+ }
278
+ attemptReconnect() {
279
+ if (this.reconnectAttempts >= this.maxReconnectAttempts) {
280
+ return;
281
+ }
282
+ this.isReconnecting = true;
283
+ const delay = Math.min(this.baseReconnectDelay * Math.pow(2, this.reconnectAttempts), 30000);
284
+ this.reconnectTimeout = setTimeout(() => {
285
+ this.reconnectAttempts++;
286
+ this.connectWebSocket();
287
+ }, delay);
288
+ }
289
+ // ─── Private: Registration ───────────────────────────────────
290
+ async register() {
291
+ const timestamp = Date.now();
292
+ const proofString = `register:${this.config.publicKey}:${timestamp}`;
293
+ const proof = await this.config.signFn(proofString);
294
+ const requestId = this.generateRequestId();
295
+ this.sendFrame({
296
+ type: "register",
297
+ payload: {
298
+ publicKey: this.config.publicKey,
299
+ l2psUid: this.config.l2psUid,
300
+ proof,
301
+ },
302
+ timestamp,
303
+ requestId,
304
+ });
305
+ const response = await this.waitForResponse(requestId, ["registered"], 10000);
306
+ this._isRegistered = true;
307
+ this.onlinePeers = new Set(response.onlinePeers);
308
+ return response;
309
+ }
310
+ // ─── Private: Frame Handling ─────────────────────────────────
311
+ handleFrame(frame) {
312
+ // First, check if any pending response matches by requestId
313
+ if (frame.requestId && this.pendingResponses.has(frame.requestId)) {
314
+ const pending = this.pendingResponses.get(frame.requestId);
315
+ const meta = pending._meta;
316
+ if (meta && meta.types.includes(frame.type)) {
317
+ clearTimeout(pending.timer);
318
+ this.pendingResponses.delete(frame.requestId);
319
+ pending.resolve(frame.payload);
320
+ return;
321
+ }
322
+ }
323
+ // Handle error frames with requestId
324
+ if (frame.type === "error" && frame.requestId && this.pendingResponses.has(frame.requestId)) {
325
+ const pending = this.pendingResponses.get(frame.requestId);
326
+ clearTimeout(pending.timer);
327
+ this.pendingResponses.delete(frame.requestId);
328
+ pending.reject(new Error(frame.payload?.message || "Server error"));
329
+ return;
330
+ }
331
+ // Then dispatch to event handlers
332
+ switch (frame.type) {
333
+ case "message": {
334
+ const p = frame.payload;
335
+ this.messageHandlers.forEach(h => h(p));
336
+ break;
337
+ }
338
+ case "peer_joined": {
339
+ const p = frame.payload;
340
+ this.onlinePeers.add(p.publicKey);
341
+ this.peerJoinedHandlers.forEach(h => h(p.publicKey));
342
+ break;
343
+ }
344
+ case "peer_left": {
345
+ const p = frame.payload;
346
+ this.onlinePeers.delete(p.publicKey);
347
+ this.peerLeftHandlers.forEach(h => h(p.publicKey));
348
+ break;
349
+ }
350
+ case "error": {
351
+ const p = frame.payload;
352
+ this.errorHandlers.forEach(h => h(p));
353
+ break;
354
+ }
355
+ default:
356
+ // message_sent, message_queued etc. without a waiter — ignore
357
+ break;
358
+ }
359
+ }
360
+ // ─── Private: Request-Response ───────────────────────────────
361
+ waitForResponse(requestId, expectedTypes, timeoutMs) {
362
+ return new Promise((resolve, reject) => {
363
+ const timer = setTimeout(() => {
364
+ this.pendingResponses.delete(requestId);
365
+ reject(new Error(`Timeout waiting for ${expectedTypes.join("|")} (${timeoutMs}ms)`));
366
+ }, timeoutMs);
367
+ this.pendingResponses.set(requestId, {
368
+ resolve: resolve,
369
+ reject,
370
+ timer,
371
+ _meta: { types: expectedTypes },
372
+ });
373
+ });
374
+ }
375
+ // ─── Private: Sending ────────────────────────────────────────
376
+ sendFrame(frame) {
377
+ if (!this.ws || !this._isConnected) {
378
+ this.messageQueue.push(frame);
379
+ return;
380
+ }
381
+ try {
382
+ this.ws.send(JSON.stringify(frame));
383
+ }
384
+ catch {
385
+ this.messageQueue.push(frame);
386
+ }
387
+ }
388
+ flushQueue() {
389
+ while (this.messageQueue.length > 0) {
390
+ const frame = this.messageQueue.shift();
391
+ if (frame) {
392
+ this.sendFrame(frame);
393
+ }
394
+ }
395
+ }
396
+ // ─── Private: Guards ─────────────────────────────────────────
397
+ ensureRegistered() {
398
+ if (!this._isRegistered) {
399
+ throw new Error("Not registered. Call connect() first.");
400
+ }
401
+ }
402
+ notifyConnectionState(state) {
403
+ this.connectionStateHandlers.forEach(h => h(state));
404
+ }
405
+ generateRequestId() {
406
+ return `req_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
407
+ }
408
+ }
409
+ //# sourceMappingURL=L2PSMessagingPeer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"L2PSMessagingPeer.js","sourceRoot":"","sources":["../../../src/instant_messaging/L2PSMessagingPeer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export { L2PSMessagingPeer } from "./L2PSMessagingPeer";
2
+ export type { L2PSMessagingConfig, L2PSMessageHandler, L2PSErrorHandler, L2PSPeerHandler, L2PSConnectionStateHandler, } from "./L2PSMessagingPeer";
3
+ export * from "./l2ps_types";
1
4
  export interface MessagingPeerConfig {
2
5
  serverUrl: string;
3
6
  clientId: string;
@@ -175,4 +178,3 @@ export declare class MessagingPeer {
175
178
  */
176
179
  private processMessageQueue;
177
180
  }
178
- export {};
@@ -1,3 +1,7 @@
1
+ // Legacy signaling server client (port 3005)
2
+ // For L2PS messaging, use L2PSMessagingPeer instead
3
+ export { L2PSMessagingPeer } from "./L2PSMessagingPeer.js";
4
+ export * from "./l2ps_types.js";
1
5
  // FIXME Integrate with l2ps.ts
2
6
  /**
3
7
  * MessagingPeer class for peer-to-peer communication through a signaling server
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instant_messaging/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoIG;AAEH,OAAO,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EACH,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,wBAAwB,CAAA;AAkC/B,MAAM,OAAO,aAAa;IAgBtB,YAAY,MAA2B;QAfhC,OAAE,GAAqB,IAAI,CAAA;QAE1B,oBAAe,GAAwB,IAAI,GAAG,EAAE,CAAA;QAChD,kBAAa,GAAsB,IAAI,GAAG,EAAE,CAAA;QAC5C,6BAAwB,GAAiC,IAAI,GAAG,EAAE,CAAA;QAClE,4BAAuB,GAAgC,IAAI,GAAG,EAAE,CAAA;QAChE,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAA;QACvC,iBAAY,GAAc,EAAE,CAAA;QAC7B,gBAAW,GAAG,KAAK,CAAA;QAClB,sBAAiB,GAAG,CAAC,CAAA;QACrB,yBAAoB,GAAG,EAAE,CAAA;QACzB,uBAAkB,GAAG,IAAI,CAAA,CAAC,WAAW;QACrC,qBAAgB,GAA0B,IAAI,CAAA;QAC9C,mBAAc,GAAG,KAAK,CAAA;QAG1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAChB,OAAO,CAAC,GAAG,CACP,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,4BAA4B,EAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAA;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;gBAE1B,iDAAiD;gBACjD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;oBACrC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,aAAa,CAAC,eAAe,CAAC,CAAA;wBAC9B,yCAAyC;wBACzC,IAAI,CAAC,eAAe,EAAE;6BACjB,IAAI,CAAC,GAAG,EAAE;4BACP,OAAO,CAAC,GAAG,CACP,QAAQ;gCACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;gCACpB,wCAAwC,CAC/C,CAAA;4BACD,OAAO,EAAE,CAAA;wBACb,CAAC,CAAC;6BACD,KAAK,CAAC,KAAK,CAAC,EAAE;4BACX,OAAO,CAAC,KAAK,CACT,QAAQ;gCACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;gCACpB,uBAAuB,EAC3B,KAAK,CACR,CAAA;4BACD,MAAM,CAAC,KAAK,CAAC,CAAA;wBACjB,CAAC,CAAC,CAAA;oBACV,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAA;gBAEP,mCAAmC;gBACnC,UAAU,CAAC,GAAG,EAAE;oBACZ,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC,EAAE,KAAK,CAAC,CAAA;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACT,QAAQ;oBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,kCAAkC,EACtC,KAAK,CACR,CAAA;gBACD,MAAM,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACK,gBAAgB;QACpB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAA;QAE1C,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,GAAG,CACP,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAChE,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CACP,QAAQ;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACpB,gCAAgC,CACvC,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;YAC3B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAA;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC3B,CAAC,CAAA;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,KAAK,CACT,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,0BAA0B,EAC5D,KAAK,CACR,CAAA;YACD,IAAI,CAAC,WAAW,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EACH,KAAK,YAAY,KAAK;oBAClB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,4BAA4B;aACzC,CAAC,CAAA;QACN,CAAC,CAAA;QAED,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB;QACpB,IACI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB;YACnD,CAAC,IAAI,CAAC,cAAc,EACtB,CAAC;YACC,OAAM;QACV,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC7D,KAAK,CACR,CAAA;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACtB,WAA4B,EAC5B,QAAwC,EACxC,UAAkB,KAAK;QAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,iEAAiE;YACjE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,MAAM,CACF,IAAI,KAAK,CACL,yCAAyC,WAAW,EAAE,CACzD,CACJ,CAAA;YACL,CAAC,EAAE,OAAO,CAAC,CAAA;YAEX,MAAM,OAAO,GAAG,CAAC,OAAY,EAAE,MAAc,EAAE,EAAE;gBAC7C,sCAAsC;gBACtC,MAAM,GAAG,GACL,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO;oBACvD,CAAC,CAAE,OAAmB;oBACtB,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAc,CAAA;gBAE5D,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC3D,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,OAAO,CAAC,GAAG,CAAC,OAAY,CAAC,CAAA;gBAC7B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CACT,QAAQ;wBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;wBACpB,+BAA+B,EACnC,GAAG,CACN,CAAA;oBACD,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACL,CAAC,CAAA;YAED,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;aAC/C;SACJ,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,yBAAyB,CAAC,CAAA;IAC5E,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe;QACxB,8CAA8C;QAC9C,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,IAAI,CAC3C,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAA;QACD,MAAM,wBAAwB,GAA2B;YACrD,SAAS,EAAE,QAAQ;YACnB,oBAAoB,EAAE,mBAAmB,CACrC,cAAc,CAAC,SAAS,CAC3B;YACD,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC;YAClE,iBAAiB,EAAE,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC;SACjE,CAAA;QACD,yDAAyD;QACzD,MAAM,IAAI,CAAC,mBAAmB,CAC1B;YACI,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC5C,YAAY,EAAE,wBAAwB;aACzC;SACJ,EACD,UAAU,CACb,CAAA;QACD,OAAO,CAAC,GAAG,CACP,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,0BAA0B,CAC/D,CAAA;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C;YACI,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE;SACd,EACD,UAAU,CACb,CAAA;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAAe;QACtD,mCAAmC;QACnC,qCAAqC;QACrC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAE7D,uCAAuC;QACvC,oFAAoF;QACpF,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,gBAAgB,GAAoB,MAAM,aAAa,CAAC,OAAO,CACjE,YAAY,EACZ,YAAY,EACZ,eAAe,CAClB,CAAA;QAED,MAAM,oBAAoB,GAAG,mBAAmB,CAC5C,gBAAgB,CAAC,UAAU,CAC9B,CAAA;QACD,MAAM,uBAAuB,GAAG,mBAAmB,CAC/C,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACD,MAAM,yBAAyB,GAA8B;YACzD,SAAS,EAAE,YAAY;YACvB,oBAAoB;YACpB,uBAAuB;SAC1B,CAAA;QACD,gDAAgD;QAChD,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,yBAAyB;aACrC;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAI3C;YACI,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACL,QAAQ,EAAE,MAAM;aACnB;SACJ,EACD,qBAAqB,EACrB;YACI,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;SACzD,CACJ,CAAA;QAED,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,UAAkB,EAAE,QAAa;QACpD,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBACL,UAAU;gBACV,QAAQ;aACX;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACI,gBAAgB,CACnB,OAAoD;QAEpD,MAAM,cAAc,GAAG,CAAC,OAAY,EAAE,MAAc,EAAE,EAAE;YACpD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACjE,CAAC;QACL,CAAC,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,OAAuB;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,OAAqB;QAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAgC;QACtD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACI,uBAAuB,CAAC,OAA+B;QAC1D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,OAAuB;QAC/C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAqB;QAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED;;;OAGG;IACI,6BAA6B,CAChC,OAAgC;QAEhC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED;;;OAGG;IACI,4BAA4B,CAAC,OAA+B;QAC/D,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;YACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;YAC3B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,OAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/B,OAAM;QACV,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EACH,KAAK,YAAY,KAAK;oBAClB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,wBAAwB;aACrC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC5B,OAAgB,EAChB,oBAAqC,EACrC,UAKI,EAAE;QAEN,MAAM,EACF,OAAO,GAAG,KAAK,EACf,YAAY,EACZ,UAAU,GAAG,CAAC,EACd,QAAQ,GACX,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC;YACD,mBAAmB;YACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAE1B,wBAAwB;YACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAC3B,oBAAoB,EACpB,QAAQ,EACR,OAAO,CACV,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,wBAAwB;YACxB,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;YAED,wBAAwB;YACxB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACP,0BAA0B,UAAU,yBAAyB,CAChE,CAAA;gBACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE;oBAC3D,GAAG,OAAO;oBACV,UAAU,EAAE,UAAU,GAAG,CAAC;iBAC7B,CAAC,CAAA;YACN,CAAC;YAED,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,OAAgB;QAClC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS;gBACV,OAAO,CAAC,GAAG,CACP,QAAQ;oBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,iCAAiC,CACxC,CAAA;gBACD,sBAAsB;gBACtB,kEAAkE;gBAClE,MAAM,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB;qBACvE,OAAoC,CAAA,CAAC,yBAAyB;gBAEnE,MAAM,UAAU,GAAG,qBAAqB,CACpC,0BAA0B,CAAC,oBAAoB,CAClD,CAAA;gBACD,MAAM,aAAa,GAAG,qBAAqB,CACvC,0BAA0B,CAAC,uBAAuB,CACrD,CAAA;gBACD,MAAM,gBAAgB,GAAoB;oBACtC,SAAS,EAAE,0BAA0B,CAAC,SAAS;oBAC/C,UAAU;oBACV,aAAa;iBAChB,CAAA;gBAED,kGAAkG;gBAClG,+DAA+D;gBAC/D,OAAO,CAAC,GAAG,CACP,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,uBAAuB,CAC5D,CAAA;gBAED,MAAM,gBAAgB,GAAG,aAAa;qBACjC,OAAO,CAAC,gBAAgB,CAAC;qBACzB,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBACrB,OAAO,CAAC,GAAG,CACP,QAAQ;wBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;wBACpB,uBAAuB,EAC3B,gBAAgB,CACnB,CAAA;oBACD,yEAAyE;oBACzE,uEAAuE;oBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBACnC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACrD,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAA;gBAEN,MAAK;YACT,KAAK,UAAU;gBACX,+BAA+B;gBAC/B,OAAO,CAAC,GAAG,CACP,QAAQ;oBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,mCAAmC,EACvC,OAAO,CAAC,OAAO,CAClB,CAAA;gBACD,uEAAuE;gBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;gBACF,MAAK;YACT,KAAK,mBAAmB;gBACpB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAClD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;gBACF,MAAK;YACT,KAAK,iBAAiB;gBAClB,OAAO,CAAC,GAAG,CACP,QAAQ;oBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,+BAA+B,EACnC,OAAO,CAAC,OAAO,CAClB,CAAA;gBACD,uEAAuE;gBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;gBACF,MAAK;YACT,KAAK,eAAe;gBAChB,OAAO,CAAC,GAAG,CACP,QAAQ;oBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,6BAA6B,EACjC,OAAO,CAAC,OAAO,CAClB,CAAA;gBACD,uEAAuE;gBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;gBACF,MAAK;YACT;;;;;;uBAMW;YACX;gBACI,OAAO,CAAC,IAAI,CACR,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,wBAAwB,CAC7D,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACzB,uEAAuE;gBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC,CAAC,CAAA;gBACF,MAAK;QACb,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,KAAwC;QACxD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACK,qBAAqB,CACzB,KAAoD;QAEpD,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAC9B,OAA+C;QAE/C,MAAM,WAAW,GAAG,CAAC,OAAY,EAAE,MAAc,EAAE,EAAE;YACjD,uDAAuD;YACvD,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9D,OAAO,CAAC,OAAkB,EAAE,MAAM,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACJ,mDAAmD;gBACnD,OAAO,CACH;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;iBACR,EACZ,MAAM,CACT,CAAA;YACL,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAC1C,CAAC,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACK,mBAAmB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;YACzC,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instant_messaging/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * L2PS Messaging Protocol Types
3
+ *
4
+ * WebSocket protocol types for real-time messaging backed by L2PS rollup.
5
+ * Messages are delivered instantly via WebSocket and persisted through
6
+ * the L2PS batch → proof → L1 pipeline.
7
+ *
8
+ * These types must stay in sync with the node's L2PS messaging server
9
+ * at src/features/l2ps-messaging/types.ts
10
+ */
11
+ /** The core message envelope that gets encrypted and sent through L2PS */
12
+ export interface MessageEnvelope {
13
+ /** Unique message ID (UUID v4) */
14
+ id: string;
15
+ /** Sender's ed25519 public key (hex) */
16
+ from: string;
17
+ /** Recipient's ed25519 public key (hex) */
18
+ to: string;
19
+ /** Message type discriminator */
20
+ type: MessageType;
21
+ /** Message content (plaintext before E2E encryption) */
22
+ content: string;
23
+ /** Unix timestamp (ms) when message was created by sender */
24
+ timestamp: number;
25
+ /** Optional: reply to another message ID */
26
+ replyTo?: string;
27
+ /** Sender's ed25519 signature of the envelope (hex) */
28
+ signature: string;
29
+ }
30
+ export type MessageType = "text" | "media" | "reaction" | "system" | "transfer";
31
+ /** Client → Server message types */
32
+ export type ClientMessageType = "register" | "send" | "history" | "discover" | "request_public_key" | "ack";
33
+ /** Server → Client message types */
34
+ export type ServerMessageType = "registered" | "message" | "message_sent" | "message_queued" | "history_response" | "discover_response" | "public_key_response" | "peer_joined" | "peer_left" | "error";
35
+ /** Base protocol frame */
36
+ export interface ProtocolFrame<T extends string = string> {
37
+ type: T;
38
+ payload: Record<string, unknown>;
39
+ timestamp: number;
40
+ /** Request correlation ID for request/response flows */
41
+ requestId?: string;
42
+ }
43
+ export interface RegisterMessage extends ProtocolFrame<"register"> {
44
+ payload: {
45
+ /** Client's ed25519 public key (hex) */
46
+ publicKey: string;
47
+ /** L2PS network UID to join */
48
+ l2psUid: string;
49
+ /** Proof: sign("register:{publicKey}:{timestamp}") */
50
+ proof: string;
51
+ };
52
+ }
53
+ export interface SendMessage extends ProtocolFrame<"send"> {
54
+ payload: {
55
+ /** Recipient's public key (hex) */
56
+ to: string;
57
+ /** E2E encrypted message envelope (serialized) */
58
+ encrypted: SerializedEncryptedMessage;
59
+ /** Original message hash for dedup */
60
+ messageHash: string;
61
+ };
62
+ }
63
+ export interface HistoryMessage extends ProtocolFrame<"history"> {
64
+ payload: {
65
+ /** Peer public key to get conversation with */
66
+ peerKey: string;
67
+ /** Pagination: messages before this timestamp */
68
+ before?: number;
69
+ /** Max messages to return */
70
+ limit?: number;
71
+ /** Proof: sign("history:{peerKey}:{timestamp}") */
72
+ proof: string;
73
+ };
74
+ }
75
+ export interface DiscoverMessage extends ProtocolFrame<"discover"> {
76
+ payload: Record<string, never>;
77
+ }
78
+ export interface RequestPublicKeyMessage extends ProtocolFrame<"request_public_key"> {
79
+ payload: {
80
+ /** Target peer's public key or alias */
81
+ targetId: string;
82
+ };
83
+ }
84
+ export interface RegisteredResponse extends ProtocolFrame<"registered"> {
85
+ payload: {
86
+ success: boolean;
87
+ publicKey: string;
88
+ l2psUid: string;
89
+ onlinePeers: string[];
90
+ };
91
+ }
92
+ export interface IncomingMessage extends ProtocolFrame<"message"> {
93
+ payload: {
94
+ /** Sender's public key */
95
+ from: string;
96
+ /** E2E encrypted envelope */
97
+ encrypted: SerializedEncryptedMessage;
98
+ /** Message hash */
99
+ messageHash: string;
100
+ /** Whether this was delivered from offline storage */
101
+ offline?: boolean;
102
+ };
103
+ }
104
+ export interface MessageSentResponse extends ProtocolFrame<"message_sent"> {
105
+ payload: {
106
+ messageHash: string;
107
+ /** L2PS mempool status */
108
+ l2psStatus: "submitted" | "failed";
109
+ };
110
+ }
111
+ export interface MessageQueuedResponse extends ProtocolFrame<"message_queued"> {
112
+ payload: {
113
+ messageHash: string;
114
+ /** Recipient was offline, message queued */
115
+ status: "queued";
116
+ };
117
+ }
118
+ export interface HistoryResponse extends ProtocolFrame<"history_response"> {
119
+ payload: {
120
+ messages: StoredMessage[];
121
+ hasMore: boolean;
122
+ };
123
+ }
124
+ export interface DiscoverResponse extends ProtocolFrame<"discover_response"> {
125
+ payload: {
126
+ peers: string[];
127
+ };
128
+ }
129
+ export interface PublicKeyResponse extends ProtocolFrame<"public_key_response"> {
130
+ payload: {
131
+ targetId: string;
132
+ publicKey: string | null;
133
+ };
134
+ }
135
+ export interface PeerJoinedNotification extends ProtocolFrame<"peer_joined"> {
136
+ payload: {
137
+ publicKey: string;
138
+ };
139
+ }
140
+ export interface PeerLeftNotification extends ProtocolFrame<"peer_left"> {
141
+ payload: {
142
+ publicKey: string;
143
+ };
144
+ }
145
+ export interface ErrorResponse extends ProtocolFrame<"error"> {
146
+ payload: {
147
+ code: ErrorCode;
148
+ message: string;
149
+ details?: string;
150
+ };
151
+ }
152
+ /** Serialized E2E encrypted message for wire transport */
153
+ export interface SerializedEncryptedMessage {
154
+ /** Encrypted data (base64) */
155
+ ciphertext: string;
156
+ /** AES-GCM nonce/IV (base64) */
157
+ nonce: string;
158
+ /** Ephemeral public key for DH (hex) — if using X25519 */
159
+ ephemeralKey?: string;
160
+ }
161
+ /** Message as stored in the database / returned by history API */
162
+ export interface StoredMessage {
163
+ id: string;
164
+ from: string;
165
+ to: string;
166
+ messageHash: string;
167
+ encrypted: SerializedEncryptedMessage;
168
+ l2psUid: string;
169
+ l2psTxHash: string | null;
170
+ timestamp: number;
171
+ status: MessageStatus;
172
+ }
173
+ export type MessageStatus = "delivered" | "queued" | "sent" | "failed" | "l2ps_pending" | "l2ps_batched" | "l2ps_confirmed";
174
+ export type ErrorCode = "INVALID_MESSAGE" | "REGISTRATION_REQUIRED" | "INVALID_PROOF" | "PEER_NOT_FOUND" | "L2PS_NOT_FOUND" | "L2PS_SUBMIT_FAILED" | "RATE_LIMITED" | "INTERNAL_ERROR";
@@ -0,0 +1,12 @@
1
+ /**
2
+ * L2PS Messaging Protocol Types
3
+ *
4
+ * WebSocket protocol types for real-time messaging backed by L2PS rollup.
5
+ * Messages are delivered instantly via WebSocket and persisted through
6
+ * the L2PS batch → proof → L1 pipeline.
7
+ *
8
+ * These types must stay in sync with the node's L2PS messaging server
9
+ * at src/features/l2ps-messaging/types.ts
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=l2ps_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l2ps_types.js","sourceRoot":"","sources":["../../../src/instant_messaging/l2ps_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -6,7 +6,7 @@ import { XMScript } from "../xm";
6
6
  import { GCREdit } from "./GCREdit";
7
7
  import { INativePayload } from "../native";
8
8
  import { IdentityPayload } from "../abstraction";
9
- import { InstantMessagingPayload } from "../instantMessaging";
9
+ import { InstantMessagingPayload, L2PSInstantMessagingPayload } from "../instantMessaging";
10
10
  import { NativeBridgeTxPayload } from "../../bridge/nativeBridgeTypes";
11
11
  import { L2PSEncryptedPayload } from "../../l2ps";
12
12
  import { StoragePayload } from "./TransactionSubtypes/StorageTransaction";
@@ -19,9 +19,9 @@ import { EscrowPayload } from "./TransactionSubtypes/EscrowTransaction";
19
19
  import { IPFSPayload } from "./TransactionSubtypes/IPFSTransaction";
20
20
  import { TokenCreationPayload, TokenExecutionPayload } from "./TransactionSubtypes/TokenTransaction";
21
21
  import { CustomCharges } from "./CustomCharges";
22
- export type TransactionContentData = ["web2Request", IWeb2Payload] | ["crosschainOperation", XMScript] | ["native", INativePayload] | ["demoswork", DemoScript] | ["l2psEncryptedTx", L2PSEncryptedPayload] | ["identity", IdentityPayload] | ["instantMessaging", InstantMessagingPayload] | ["nativeBridge", NativeBridgeTxPayload] | ["storage", StoragePayload] | ["storageProgram", StorageProgramPayload] | ["l2ps_hash_update", L2PSHashPayload] | ["contractDeploy", ContractDeployPayload] | ["contractCall", ContractCallPayload] | ["d402_payment", D402PaymentPayload] | ["escrow", EscrowPayload] | ["ipfs", IPFSPayload] | ["tokenCreation", TokenCreationPayload] | ["tokenExecution", TokenExecutionPayload];
22
+ export type TransactionContentData = ["web2Request", IWeb2Payload] | ["crosschainOperation", XMScript] | ["native", INativePayload] | ["demoswork", DemoScript] | ["l2psEncryptedTx", L2PSEncryptedPayload] | ["identity", IdentityPayload] | ["instantMessaging", InstantMessagingPayload] | ["l2psInstantMessaging", L2PSInstantMessagingPayload] | ["nativeBridge", NativeBridgeTxPayload] | ["storage", StoragePayload] | ["storageProgram", StorageProgramPayload] | ["l2ps_hash_update", L2PSHashPayload] | ["contractDeploy", ContractDeployPayload] | ["contractCall", ContractCallPayload] | ["d402_payment", D402PaymentPayload] | ["escrow", EscrowPayload] | ["ipfs", IPFSPayload] | ["tokenCreation", TokenCreationPayload] | ["tokenExecution", TokenExecutionPayload];
23
23
  export interface TransactionContent {
24
- type: "web2Request" | "crosschainOperation" | "subnet" | "native" | "demoswork" | "genesis" | "NODE_ONLINE" | "identity" | "instantMessaging" | "nativeBridge" | "l2psEncryptedTx" | "storage" | "storageProgram" | "l2ps_hash_update" | "contractDeploy" | "contractCall" | "d402_payment" | "escrow" | "ipfs" | "tokenCreation" | "tokenExecution";
24
+ type: "web2Request" | "crosschainOperation" | "subnet" | "native" | "demoswork" | "genesis" | "NODE_ONLINE" | "identity" | "instantMessaging" | "l2psInstantMessaging" | "nativeBridge" | "l2psEncryptedTx" | "storage" | "storageProgram" | "l2ps_hash_update" | "contractDeploy" | "contractCall" | "d402_payment" | "escrow" | "ipfs" | "tokenCreation" | "tokenExecution";
25
25
  from: string;
26
26
  from_ed25519_address: string;
27
27
  to: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/types/blockchain/Transaction.ts"],"names":[],"mappings":"AA0GA,uCAAuC;AACvC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/types/blockchain/Transaction.ts"],"names":[],"mappings":"AA4GA,uCAAuC;AACvC,cAAc,uBAAuB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Transaction, TransactionContent } from "../Transaction";
2
- import { InstantMessagingPayload } from "../../instantMessaging";
2
+ import { InstantMessagingPayload, L2PSInstantMessagingPayload } from "../../instantMessaging";
3
3
  export type InstantMessagingTransactionContent = Omit<TransactionContent, 'type' | 'data'> & {
4
4
  type: 'instantMessaging';
5
5
  data: ['instantMessaging', InstantMessagingPayload];
@@ -7,3 +7,11 @@ export type InstantMessagingTransactionContent = Omit<TransactionContent, 'type'
7
7
  export interface InstantMessagingTransaction extends Omit<Transaction, 'content'> {
8
8
  content: InstantMessagingTransactionContent;
9
9
  }
10
+ /** L2PS-backed instant messaging transaction */
11
+ export type L2PSInstantMessagingTransactionContent = Omit<TransactionContent, 'type' | 'data'> & {
12
+ type: 'l2psInstantMessaging';
13
+ data: ['l2psInstantMessaging', L2PSInstantMessagingPayload];
14
+ };
15
+ export interface L2PSInstantMessagingTransaction extends Omit<Transaction, 'content'> {
16
+ content: L2PSInstantMessagingTransactionContent;
17
+ }
@@ -22,7 +22,7 @@ import { CrosschainTransaction } from './CrosschainTransaction';
22
22
  import { NativeTransaction } from './NativeTransaction';
23
23
  import { DemosworkTransaction } from './DemosworkTransaction';
24
24
  import { IdentityTransaction } from './IdentityTransaction';
25
- import { InstantMessagingTransaction } from './InstantMessagingTransaction';
25
+ import { InstantMessagingTransaction, L2PSInstantMessagingTransaction } from './InstantMessagingTransaction';
26
26
  import { NativeBridgeTransaction } from './NativeBridgeTransaction';
27
27
  import { StorageTransaction } from './StorageTransaction';
28
28
  import { StorageProgramTransaction } from './StorageProgramTransaction';
@@ -33,4 +33,4 @@ import { EscrowTransaction } from './EscrowTransaction';
33
33
  import { IPFSTransaction } from './IPFSTransaction';
34
34
  import { TokenCreationTransaction } from './TokenTransaction';
35
35
  import { TokenExecutionTransaction } from './TokenTransaction';
36
- export type SpecificTransaction = L2PSTransaction | L2PSHashTransaction | Web2Transaction | CrosschainTransaction | NativeTransaction | DemosworkTransaction | IdentityTransaction | InstantMessagingTransaction | NativeBridgeTransaction | StorageTransaction | StorageProgramTransaction | ContractDeployTransaction | ContractCallTransaction | D402PaymentTransaction | EscrowTransaction | IPFSTransaction | TokenCreationTransaction | TokenExecutionTransaction;
36
+ export type SpecificTransaction = L2PSTransaction | L2PSHashTransaction | Web2Transaction | CrosschainTransaction | NativeTransaction | DemosworkTransaction | IdentityTransaction | InstantMessagingTransaction | L2PSInstantMessagingTransaction | NativeBridgeTransaction | StorageTransaction | StorageProgramTransaction | ContractDeployTransaction | ContractCallTransaction | D402PaymentTransaction | EscrowTransaction | IPFSTransaction | TokenCreationTransaction | TokenExecutionTransaction;
@@ -6,3 +6,21 @@ export interface InstantMessagingPayload {
6
6
  messageHash: string;
7
7
  };
8
8
  }
9
+ /** L2PS-backed instant messaging transaction payload */
10
+ export interface L2PSInstantMessagingPayload {
11
+ type: "instantMessaging";
12
+ data: {
13
+ /** UUID v4 message identifier */
14
+ messageId: string;
15
+ /** SHA256 hash for dedup */
16
+ messageHash: string;
17
+ /** E2E encrypted message (serialized) */
18
+ encrypted: {
19
+ ciphertext: string;
20
+ nonce: string;
21
+ ephemeralKey?: string;
22
+ };
23
+ /** Unix timestamp (ms) */
24
+ timestamp: number;
25
+ };
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynesyslabs/demosdk",
3
- "version": "2.11.3",
3
+ "version": "2.11.5",
4
4
  "type": "module",
5
5
  "description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
6
6
  "main": "build/index.js",