@wizardconnect/core 0.1.0 → 0.1.4

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.
Files changed (39) hide show
  1. package/dist/connection-manager.d.ts +18 -29
  2. package/dist/connection-manager.js +142 -144
  3. package/dist/connection-manager.js.map +1 -1
  4. package/dist/dapp-relay.d.ts +17 -19
  5. package/dist/dapp-relay.js +103 -115
  6. package/dist/dapp-relay.js.map +1 -1
  7. package/dist/index.d.ts +4 -24
  8. package/dist/index.js +6 -15
  9. package/dist/index.js.map +1 -1
  10. package/dist/key-exchange.d.ts +17 -23
  11. package/dist/key-exchange.js +124 -144
  12. package/dist/key-exchange.js.map +1 -1
  13. package/dist/log.d.ts +3 -3
  14. package/dist/log.js +11 -8
  15. package/dist/log.js.map +1 -1
  16. package/dist/message-queue.d.ts +12 -12
  17. package/dist/message-queue.js +53 -52
  18. package/dist/message-queue.js.map +1 -1
  19. package/dist/primitives.js +14 -11
  20. package/dist/primitives.js.map +1 -1
  21. package/dist/protocols/base.d.ts +22 -28
  22. package/dist/protocols/base.js +25 -28
  23. package/dist/protocols/base.js.map +1 -1
  24. package/dist/protocols/hdwalletv1.d.ts +25 -31
  25. package/dist/protocols/hdwalletv1.js +47 -57
  26. package/dist/protocols/hdwalletv1.js.map +1 -1
  27. package/dist/relay-client.d.ts +32 -32
  28. package/dist/relay-client.js +242 -291
  29. package/dist/relay-client.js.map +1 -1
  30. package/dist/relay-handler.d.ts +13 -22
  31. package/dist/relay-handler.js +107 -117
  32. package/dist/relay-handler.js.map +1 -1
  33. package/dist/utilnostr.d.ts +1 -3
  34. package/dist/utilnostr.js +9 -10
  35. package/dist/utilnostr.js.map +1 -1
  36. package/dist/wallet-relay.d.ts +11 -14
  37. package/dist/wallet-relay.js +58 -64
  38. package/dist/wallet-relay.js.map +1 -1
  39. package/package.json +8 -3
@@ -1,323 +1,274 @@
1
+ // Copyright (C) 2026 Whiterun LLC,
2
+ // This software is licensed under the GNU Lesser General Public License (LGPL), version 3.0 or later.
3
+ // A copy of the license can be found in the LICENSE file or at https://www.gnu.org/licenses/lgpl-3.0.html
1
4
  import { throwUnless, unwrap } from "./primitives.js";
2
- import NDK, {
3
- NDKPrivateKeySigner,
4
- NDKUser,
5
- NDKEvent,
6
- NDKKind,
7
- giftWrap,
8
- giftUnwrap,
9
- } from "@nostr-dev-kit/ndk";
5
+ import NDK, { NDKPrivateKeySigner, NDKUser, NDKEvent, NDKKind, giftWrap, giftUnwrap, } from "@nostr-dev-kit/ndk";
10
6
  import { binToHex, hash256, secp256k1 } from "@bitauth/libauth";
11
7
  import { EventEmitter } from "eventemitter3";
12
- import { isProtocolMessage, RelayMsgAction } from "./protocols/hdwalletv1.js";
8
+ import { isProtocolMessage, RelayMsgAction, } from "./protocols/hdwalletv1.js";
13
9
  import { deriveNostrPublicKey } from "./utilnostr.js";
14
10
  import { MessageQueue } from "./message-queue.js";
15
11
  import { debug, error as logError, Scope } from "./log.js";
16
12
  export class RelayClient extends EventEmitter {
17
- ndk;
18
- paired;
19
- config;
20
- messageSubscription = null;
21
- myPubkey;
22
- myPubkeyHex;
23
- lastProcessedTimestamp = 0;
24
- messageQueue;
25
- sequence = Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - 500_000));
26
- pendingCalls = new Map();
27
- pendingDeliveries = new Map();
28
- constructor(config) {
29
- super();
30
- this.config = {
31
- logNetworkActivity: true,
32
- ...config,
33
- };
34
- this.ndk = new NDK({
35
- explicitRelayUrls: this.config.explicitRelayUrls,
36
- signer: new NDKPrivateKeySigner(this.config.signerPrivateKey),
37
- enableOutboxModel: false,
38
- autoConnectUserRelays: false,
39
- });
40
- this.messageQueue = new MessageQueue({
41
- logActivity: this.config.logNetworkActivity,
42
- });
43
- this.myPubkey = unwrap(
44
- secp256k1.derivePublicKeyCompressed(this.config.signerPrivateKey),
45
- );
46
- this.myPubkeyHex = deriveNostrPublicKey(this.config.signerPrivateKey);
47
- if (this.config.pairedPublicKey) {
48
- const pairedNostrPubkey =
49
- this.config.pairedPublicKey.length === 33
50
- ? this.config.pairedPublicKey.slice(1)
51
- : this.config.pairedPublicKey;
52
- this.paired = new NDKUser({ pubkey: binToHex(pairedNostrPubkey) });
53
- } else {
54
- this.paired = new NDKUser({ pubkey: "" });
13
+ ndk;
14
+ paired;
15
+ config;
16
+ messageSubscription = null;
17
+ myPubkey;
18
+ myPubkeyHex;
19
+ lastProcessedTimestamp = 0;
20
+ messageQueue;
21
+ sequence = Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - 500_000));
22
+ pendingCalls = new Map();
23
+ pendingDeliveries = new Map();
24
+ constructor(config) {
25
+ super();
26
+ this.config = {
27
+ logNetworkActivity: true,
28
+ ...config,
29
+ };
30
+ this.ndk = new NDK({
31
+ explicitRelayUrls: this.config.explicitRelayUrls,
32
+ signer: new NDKPrivateKeySigner(this.config.signerPrivateKey),
33
+ enableOutboxModel: false,
34
+ autoConnectUserRelays: false,
35
+ });
36
+ this.messageQueue = new MessageQueue({
37
+ logActivity: this.config.logNetworkActivity,
38
+ });
39
+ this.myPubkey = unwrap(secp256k1.derivePublicKeyCompressed(this.config.signerPrivateKey));
40
+ this.myPubkeyHex = deriveNostrPublicKey(this.config.signerPrivateKey);
41
+ if (this.config.pairedPublicKey) {
42
+ const pairedNostrPubkey = this.config.pairedPublicKey.length === 33
43
+ ? this.config.pairedPublicKey.slice(1)
44
+ : this.config.pairedPublicKey;
45
+ this.paired = new NDKUser({ pubkey: binToHex(pairedNostrPubkey) });
46
+ }
47
+ else {
48
+ this.paired = new NDKUser({ pubkey: "" });
49
+ }
55
50
  }
56
- }
57
- setPairedPublicKey(pairedPublicKey) {
58
- this.config.pairedPublicKey = pairedPublicKey;
59
- const pairedNostrPubkey =
60
- pairedPublicKey.length === 33
61
- ? pairedPublicKey.slice(1)
62
- : pairedPublicKey;
63
- this.paired = new NDKUser({ pubkey: binToHex(pairedNostrPubkey) });
64
- this.emit("paired");
65
- }
66
- getPublicKey() {
67
- return this.myPubkey;
68
- }
69
- getPublicKeyHex() {
70
- return this.myPubkeyHex;
71
- }
72
- isKeyExchangeComplete() {
73
- if (!this.config.pairedPublicKey) {
74
- return false;
51
+ setPairedPublicKey(pairedPublicKey) {
52
+ this.config.pairedPublicKey = pairedPublicKey;
53
+ const pairedNostrPubkey = pairedPublicKey.length === 33
54
+ ? pairedPublicKey.slice(1)
55
+ : pairedPublicKey;
56
+ this.paired = new NDKUser({ pubkey: binToHex(pairedNostrPubkey) });
57
+ this.emit("paired");
75
58
  }
76
- return !this.config.pairedPublicKey.every((byte) => byte === 0);
77
- }
78
- async connect() {
79
- if (this.config.logNetworkActivity) {
80
- debug(Scope.Relay, `Connecting to relay...`);
59
+ getPublicKey() {
60
+ return this.myPubkey;
81
61
  }
82
- if (this.lastProcessedTimestamp === 0) {
83
- this.lastProcessedTimestamp = Math.floor(Date.now() / 1000) - 2;
62
+ getPublicKeyHex() {
63
+ return this.myPubkeyHex;
84
64
  }
85
- try {
86
- await this.ndk.connect();
87
- if (this.config.logNetworkActivity) {
88
- debug(Scope.Relay, `NDK connect() resolved`);
89
- }
90
- this.messageSubscription = this.ndk.subscribe(
91
- {
92
- kinds: [NDKKind.GiftWrap],
93
- "#p": [this.myPubkeyHex],
94
- },
95
- { closeOnEose: false },
96
- );
97
- this.messageSubscription.on("event", async (wrappedEvent) => {
65
+ isKeyExchangeComplete() {
66
+ if (!this.config.pairedPublicKey) {
67
+ return false;
68
+ }
69
+ return !this.config.pairedPublicKey.every((byte) => byte === 0);
70
+ }
71
+ async connect() {
72
+ if (this.config.logNetworkActivity) {
73
+ debug(Scope.Relay, `Connecting to relay...`);
74
+ }
75
+ if (this.lastProcessedTimestamp === 0) {
76
+ this.lastProcessedTimestamp = Math.floor(Date.now() / 1000) - 2;
77
+ }
98
78
  try {
99
- const signer = this.ndk.signer;
100
- if (!signer) {
101
- throw new Error("No signer available");
102
- }
103
- const rumor = await giftUnwrap(wrappedEvent, undefined, signer);
104
- if (rumor.kind === NDKKind.PrivateDirectMessage) {
105
- let payload;
106
- try {
107
- payload = JSON.parse(rumor.content);
108
- } catch (e) {
109
- if (this.config.logNetworkActivity) {
110
- logError(
111
- Scope.Relay,
112
- "Failed to parse message content as JSON:",
113
- e,
114
- );
115
- }
116
- return;
117
- }
118
- if (
119
- !payload.time ||
120
- (this.lastProcessedTimestamp > 0 &&
121
- payload.time < this.lastProcessedTimestamp)
122
- ) {
123
- if (this.config.logNetworkActivity) {
124
- debug(
125
- Scope.Relay,
126
- `Ignoring already-processed message (time: ${payload.time}, action: ${payload.action}, last processed: ${this.lastProcessedTimestamp})`,
127
- );
128
- }
129
- return;
79
+ await this.ndk.connect();
80
+ if (this.config.logNetworkActivity) {
81
+ debug(Scope.Relay, `NDK connect() resolved`);
130
82
  }
131
- // wallet_ready carries the key exchange data (public_key + secret) so it
132
- // must bypass the peer filter — the dapp doesn't know the wallet's pubkey yet.
133
- const isKeyExchangeMessage =
134
- payload.action === RelayMsgAction.WalletReady;
135
- if (!isKeyExchangeMessage && this.config.pairedPublicKey) {
136
- const pairedNostrPubkey =
137
- this.config.pairedPublicKey.length === 33
138
- ? binToHex(this.config.pairedPublicKey.slice(1))
139
- : binToHex(this.config.pairedPublicKey);
140
- if (rumor.pubkey !== pairedNostrPubkey) {
83
+ this.messageSubscription = this.ndk.subscribe({
84
+ kinds: [NDKKind.GiftWrap],
85
+ "#p": [this.myPubkeyHex],
86
+ }, { closeOnEose: false });
87
+ this.messageSubscription.on("event", async (wrappedEvent) => {
88
+ try {
89
+ const signer = this.ndk.signer;
90
+ if (!signer) {
91
+ throw new Error("No signer available");
92
+ }
93
+ const rumor = await giftUnwrap(wrappedEvent, undefined, signer);
94
+ if (rumor.kind === NDKKind.PrivateDirectMessage) {
95
+ let payload;
96
+ try {
97
+ payload = JSON.parse(rumor.content);
98
+ }
99
+ catch (e) {
100
+ if (this.config.logNetworkActivity) {
101
+ logError(Scope.Relay, "Failed to parse message content as JSON:", e);
102
+ }
103
+ return;
104
+ }
105
+ if (!payload.time ||
106
+ (this.lastProcessedTimestamp > 0 &&
107
+ payload.time < this.lastProcessedTimestamp)) {
108
+ if (this.config.logNetworkActivity) {
109
+ debug(Scope.Relay, `Ignoring already-processed message (time: ${payload.time}, action: ${payload.action}, last processed: ${this.lastProcessedTimestamp})`);
110
+ }
111
+ return;
112
+ }
113
+ // wallet_ready carries the key exchange data (public_key + secret) so it
114
+ // must bypass the peer filter — the dapp doesn't know the wallet's pubkey yet.
115
+ const isKeyExchangeMessage = payload.action === RelayMsgAction.WalletReady;
116
+ if (!isKeyExchangeMessage && this.config.pairedPublicKey) {
117
+ const pairedNostrPubkey = this.config.pairedPublicKey.length === 33
118
+ ? binToHex(this.config.pairedPublicKey.slice(1))
119
+ : binToHex(this.config.pairedPublicKey);
120
+ if (rumor.pubkey !== pairedNostrPubkey) {
121
+ if (this.config.logNetworkActivity) {
122
+ debug(Scope.Relay, `Ignoring '${payload.action}' message from unknown peer: ${rumor.pubkey} (expected: ${pairedNostrPubkey})`);
123
+ }
124
+ return;
125
+ }
126
+ }
127
+ if (this.config.logNetworkActivity) {
128
+ debug(Scope.Relay, `Received message ${payload.action} from relay`);
129
+ }
130
+ this.handleRelayMessage(payload);
131
+ }
132
+ else {
133
+ if (this.config.logNetworkActivity) {
134
+ debug(Scope.Relay, `Ignoring non-PrivateDirectMessage, kind: ${rumor.kind}`);
135
+ }
136
+ }
137
+ }
138
+ catch (error) {
139
+ if (this.config.logNetworkActivity) {
140
+ logError(Scope.Relay, "Error handling incoming message:", error);
141
+ }
142
+ this.emitError(error);
143
+ }
144
+ });
145
+ this.messageSubscription.on("close", () => {
141
146
  if (this.config.logNetworkActivity) {
142
- debug(
143
- Scope.Relay,
144
- `Ignoring '${payload.action}' message from unknown peer: ${rumor.pubkey} (expected: ${pairedNostrPubkey})`,
145
- );
147
+ debug(Scope.Relay, "Subscription closed, connection may be stale");
146
148
  }
147
- return;
148
- }
149
- }
149
+ this.emit("disconnect", new Error("Subscription closed"));
150
+ });
151
+ this.waitForRelaysReady();
150
152
  if (this.config.logNetworkActivity) {
151
- debug(
152
- Scope.Relay,
153
- `Received message ${payload.action} from relay`,
154
- );
153
+ debug(Scope.Relay, `Subscription created and handler set up, emitting connection event`);
155
154
  }
156
- this.handleRelayMessage(payload);
157
- } else {
155
+ this.emit("connection");
156
+ }
157
+ catch (error) {
158
158
  if (this.config.logNetworkActivity) {
159
- debug(
160
- Scope.Relay,
161
- `Ignoring non-PrivateDirectMessage, kind: ${rumor.kind}`,
162
- );
159
+ logError(Scope.Relay, `Connection failed:`, error);
163
160
  }
164
- }
165
- } catch (error) {
166
- if (this.config.logNetworkActivity) {
167
- logError(Scope.Relay, "Error handling incoming message:", error);
168
- }
169
- this.emitError(error);
161
+ throw error;
170
162
  }
171
- });
172
- this.messageSubscription.on("close", () => {
173
- if (this.config.logNetworkActivity) {
174
- debug(Scope.Relay, "Subscription closed, connection may be stale");
163
+ }
164
+ async disconnect() {
165
+ this.lastProcessedTimestamp = Math.floor(Date.now() / 1000);
166
+ this.messageQueue.setNotReady();
167
+ if (this.messageSubscription) {
168
+ this.messageSubscription.stop();
169
+ this.messageSubscription = null;
175
170
  }
176
- this.emit("disconnect", new Error("Subscription closed"));
177
- });
178
- this.waitForRelaysReady();
179
- if (this.config.logNetworkActivity) {
180
- debug(
181
- Scope.Relay,
182
- `Subscription created and handler set up, emitting connection event`,
183
- );
184
- }
185
- this.emit("connection");
186
- } catch (error) {
187
- if (this.config.logNetworkActivity) {
188
- logError(Scope.Relay, `Connection failed:`, error);
189
- }
190
- throw error;
191
171
  }
192
- }
193
- async disconnect() {
194
- this.lastProcessedTimestamp = Math.floor(Date.now() / 1000);
195
- this.messageQueue.setNotReady();
196
- if (this.messageSubscription) {
197
- this.messageSubscription.stop();
198
- this.messageSubscription = null;
172
+ getLastProcessedTimestamp() {
173
+ return this.lastProcessedTimestamp;
174
+ }
175
+ setLastProcessedTimestamp(timestamp) {
176
+ this.lastProcessedTimestamp = timestamp;
199
177
  }
200
- }
201
- getLastProcessedTimestamp() {
202
- return this.lastProcessedTimestamp;
203
- }
204
- setLastProcessedTimestamp(timestamp) {
205
- this.lastProcessedTimestamp = timestamp;
206
- }
207
- async relay(message) {
208
- if (!this.config.pairedPublicKey) {
209
- throw new Error(
210
- "Cannot relay message: paired public key not set. Call setPairedPublicKey() first.",
211
- );
178
+ async relay(message) {
179
+ if (!this.config.pairedPublicKey) {
180
+ throw new Error("Cannot relay message: paired public key not set. Call setPairedPublicKey() first.");
181
+ }
182
+ if (!this.messageQueue.getReady()) {
183
+ return this.messageQueue.enqueue(message);
184
+ }
185
+ return this.publishMessage(message);
212
186
  }
213
- if (!this.messageQueue.getReady()) {
214
- return this.messageQueue.enqueue(message);
187
+ async publishMessage(message) {
188
+ this.netlog("send", message.action);
189
+ const signer = this.ndk.signer;
190
+ if (!signer) {
191
+ throw new Error("No signer available");
192
+ }
193
+ const rumor = new NDKEvent(this.ndk);
194
+ rumor.kind = NDKKind.PrivateDirectMessage;
195
+ rumor.content = JSON.stringify(message);
196
+ rumor.created_at = Math.floor(Date.now() / 1000);
197
+ rumor.tags = [["p", this.paired.pubkey]];
198
+ const wrappedEvent = await giftWrap(rumor, this.paired, signer);
199
+ try {
200
+ await wrappedEvent.publish();
201
+ if (this.config.logNetworkActivity) {
202
+ debug(Scope.Relay, `Published message ${message.action} to relay`);
203
+ }
204
+ }
205
+ catch (error) {
206
+ if (this.config.logNetworkActivity) {
207
+ logError(Scope.Relay, `Failed to publish message ${message.action}:`, error);
208
+ }
209
+ throw error;
210
+ }
215
211
  }
216
- return this.publishMessage(message);
217
- }
218
- async publishMessage(message) {
219
- this.netlog("send", message.action);
220
- const signer = this.ndk.signer;
221
- if (!signer) {
222
- throw new Error("No signer available");
212
+ async waitForRelaysReady() {
213
+ const maxWaitTime = 5000;
214
+ const checkInterval = 100;
215
+ const startTime = Date.now();
216
+ const checkRelays = async () => {
217
+ const pool = this.ndk.pool;
218
+ if (pool) {
219
+ const relays = pool.relays || [];
220
+ // NDKRelayStatus: DISCONNECTED=1, CONNECTED=5, AUTHENTICATED=8
221
+ const connectedRelays = Array.from(relays.values()).filter((relay) => relay.status >= 5);
222
+ if (connectedRelays.length > 0) {
223
+ if (this.config.logNetworkActivity) {
224
+ debug(Scope.Relay, `Relays ready (${connectedRelays.length} connected), processing queued messages`);
225
+ }
226
+ await this.messageQueue.setReady((msg) => this.publishMessage(msg));
227
+ return;
228
+ }
229
+ }
230
+ if (Date.now() - startTime < maxWaitTime) {
231
+ setTimeout(checkRelays, checkInterval);
232
+ }
233
+ else {
234
+ if (this.config.logNetworkActivity) {
235
+ debug(Scope.Relay, "Relay ready check timeout, assuming ready and processing queued messages");
236
+ }
237
+ await this.messageQueue.setReady((msg) => this.publishMessage(msg));
238
+ }
239
+ };
240
+ setTimeout(checkRelays, 200);
223
241
  }
224
- const rumor = new NDKEvent(this.ndk);
225
- rumor.kind = NDKKind.PrivateDirectMessage;
226
- rumor.content = JSON.stringify(message);
227
- rumor.created_at = Math.floor(Date.now() / 1000);
228
- rumor.tags = [["p", this.paired.pubkey]];
229
- const wrappedEvent = await giftWrap(rumor, this.paired, signer);
230
- try {
231
- await wrappedEvent.publish();
232
- if (this.config.logNetworkActivity) {
233
- debug(Scope.Relay, `Published message ${message.action} to relay`);
234
- }
235
- } catch (error) {
236
- if (this.config.logNetworkActivity) {
237
- logError(
238
- Scope.Relay,
239
- `Failed to publish message ${message.action}:`,
240
- error,
241
- );
242
- }
243
- throw error;
242
+ isConnected() {
243
+ return true;
244
244
  }
245
- }
246
- async waitForRelaysReady() {
247
- const maxWaitTime = 5000;
248
- const checkInterval = 100;
249
- const startTime = Date.now();
250
- const checkRelays = async () => {
251
- const pool = this.ndk.pool;
252
- if (pool) {
253
- const relays = pool.relays || [];
254
- // NDKRelayStatus: DISCONNECTED=1, CONNECTED=5, AUTHENTICATED=8
255
- const connectedRelays = Array.from(relays.values()).filter(
256
- (relay) => relay.status >= 5,
257
- );
258
- if (connectedRelays.length > 0) {
259
- if (this.config.logNetworkActivity) {
260
- debug(
261
- Scope.Relay,
262
- `Relays ready (${connectedRelays.length} connected), processing queued messages`,
263
- );
264
- }
265
- await this.messageQueue.setReady((msg) => this.publishMessage(msg));
266
- return;
245
+ netlog(direction, what, sequence) {
246
+ if (!this.config.logNetworkActivity) {
247
+ return;
267
248
  }
268
- }
269
- if (Date.now() - startTime < maxWaitTime) {
270
- setTimeout(checkRelays, checkInterval);
271
- } else {
272
- if (this.config.logNetworkActivity) {
273
- debug(
274
- Scope.Relay,
275
- "Relay ready check timeout, assuming ready and processing queued messages",
276
- );
249
+ const us = binToHex(hash256(this.config.signerPrivateKey)).slice(-6);
250
+ const them = this.config.pairedPublicKey
251
+ ? binToHex(this.config.pairedPublicKey).slice(-6)
252
+ : "??????";
253
+ const pending = `c${this.pendingCalls.size} d${this.pendingDeliveries.size}`;
254
+ if (direction === "send") {
255
+ debug(Scope.Relay, `net [${sequence ?? "?"} ${pending}] ${us} -> ${them}: ${what}`);
256
+ }
257
+ else {
258
+ debug(Scope.Relay, `net [${sequence ?? "?"} ${pending}] ${us} <- ${them}: ${what}`);
277
259
  }
278
- await this.messageQueue.setReady((msg) => this.publishMessage(msg));
279
- }
280
- };
281
- setTimeout(checkRelays, 200);
282
- }
283
- isConnected() {
284
- return true;
285
- }
286
- netlog(direction, what, sequence) {
287
- if (!this.config.logNetworkActivity) {
288
- return;
289
260
  }
290
- const us = binToHex(hash256(this.config.signerPrivateKey)).slice(-6);
291
- const them = this.config.pairedPublicKey
292
- ? binToHex(this.config.pairedPublicKey).slice(-6)
293
- : "??????";
294
- const pending = `c${this.pendingCalls.size} d${this.pendingDeliveries.size}`;
295
- if (direction === "send") {
296
- debug(
297
- Scope.Relay,
298
- `net [${sequence ?? "?"} ${pending}] ${us} -> ${them}: ${what}`,
299
- );
300
- } else {
301
- debug(
302
- Scope.Relay,
303
- `net [${sequence ?? "?"} ${pending}] ${us} <- ${them}: ${what}`,
304
- );
261
+ async handleRelayMessage(message) {
262
+ throwUnless(isProtocolMessage(message), `Invalid protocol message: ${message}`);
263
+ this.emit("message", message);
264
+ }
265
+ nextSequence() {
266
+ const current = this.sequence;
267
+ this.sequence += 2;
268
+ return current;
269
+ }
270
+ emitError(error) {
271
+ this.emit("error", error);
305
272
  }
306
- }
307
- async handleRelayMessage(message) {
308
- throwUnless(
309
- isProtocolMessage(message),
310
- `Invalid protocol message: ${message}`,
311
- );
312
- this.emit("message", message);
313
- }
314
- nextSequence() {
315
- const current = this.sequence;
316
- this.sequence += 2;
317
- return current;
318
- }
319
- emitError(error) {
320
- this.emit("error", error);
321
- }
322
273
  }
323
- //# sourceMappingURL=relay-client.js.map
274
+ //# sourceMappingURL=relay-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,24 @@
1
1
  import { RelayClient } from "./relay-client.js";
2
- type RelayStatusCode =
3
- | "connected"
4
- | "reconnecting"
5
- | "disconnected"
6
- | "session_deleted";
2
+ type RelayStatusCode = "connected" | "reconnecting" | "disconnected" | "session_deleted";
7
3
  export declare class RelayStatus {
8
- status: RelayStatusCode;
9
- error: string | null;
10
- sessionId: string | null;
11
- private constructor();
12
- static connected(sessionId?: string): RelayStatus;
13
- static reconnecting(reason: string | null, sessionId?: string): RelayStatus;
14
- static disconnected(): RelayStatus;
15
- static sessionDeleted(): RelayStatus;
4
+ status: RelayStatusCode;
5
+ error: string | null;
6
+ sessionId: string | null;
7
+ private constructor();
8
+ static connected(sessionId?: string): RelayStatus;
9
+ static reconnecting(reason: string | null, sessionId?: string): RelayStatus;
10
+ static disconnected(): RelayStatus;
11
+ static sessionDeleted(): RelayStatus;
16
12
  }
17
13
  export interface RelayUpdatePayload {
18
- client: RelayClient;
19
- status: RelayStatus;
14
+ client: RelayClient;
15
+ status: RelayStatus;
20
16
  }
21
17
  export type RelayStatusCallback = (_payload: RelayUpdatePayload) => void;
22
- export declare const initiateRelay: (
23
- dispatchCallback: RelayStatusCallback,
24
- signerPrivateKey: Uint8Array,
25
- pairPublicKey: Uint8Array,
26
- options?: {
18
+ export declare const initiateRelay: (dispatchCallback: RelayStatusCallback, signerPrivateKey: Uint8Array, pairPublicKey: Uint8Array, options?: {
27
19
  explicitRelayUrls: string[];
28
20
  reconnectInterval?: number;
29
21
  maxReconnectAttempts?: number;
30
22
  enableVisibilityHandling?: boolean;
31
- },
32
- ) => () => void;
23
+ }) => () => void;
33
24
  export {};