@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,61 +1,62 @@
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 { debug, Scope } from "./log.js";
2
5
  export class MessageQueue {
3
- queue = [];
4
- isReady = false;
5
- logActivity = false;
6
- constructor(options) {
7
- this.logActivity = options?.logActivity ?? false;
8
- }
9
- getReady() {
10
- return this.isReady;
11
- }
12
- getQueueLength() {
13
- return this.queue.length;
14
- }
15
- enqueue(message) {
16
- if (this.isReady) {
17
- return Promise.resolve();
6
+ queue = [];
7
+ isReady = false;
8
+ logActivity = false;
9
+ constructor(options) {
10
+ this.logActivity = options?.logActivity ?? false;
18
11
  }
19
- if (this.logActivity) {
20
- debug(
21
- Scope.Relay,
22
- `net: Relays not ready, queuing message ${message.action}`,
23
- );
12
+ getReady() {
13
+ return this.isReady;
24
14
  }
25
- return new Promise((resolve, reject) => {
26
- this.queue.push({ message, resolve, reject });
27
- });
28
- }
29
- async setReady(publishFn) {
30
- this.isReady = true;
31
- const queuedMessages = [...this.queue];
32
- this.queue = [];
33
- if (queuedMessages.length > 0 && this.logActivity) {
34
- debug(Scope.Relay, `Processing ${queuedMessages.length} queued messages`);
15
+ getQueueLength() {
16
+ return this.queue.length;
35
17
  }
36
- for (const queued of queuedMessages) {
37
- try {
38
- await publishFn(queued.message);
39
- queued.resolve();
40
- } catch (error) {
41
- queued.reject(error);
42
- }
18
+ enqueue(message) {
19
+ if (this.isReady) {
20
+ return Promise.resolve();
21
+ }
22
+ if (this.logActivity) {
23
+ debug(Scope.Relay, `net: Relays not ready, queuing message ${message.action}`);
24
+ }
25
+ return new Promise((resolve, reject) => {
26
+ this.queue.push({ message, resolve, reject });
27
+ });
43
28
  }
44
- }
45
- setNotReady(errorMessage = "Connection closed before message could be sent") {
46
- this.isReady = false;
47
- const queuedMessages = [...this.queue];
48
- this.queue = [];
49
- for (const queued of queuedMessages) {
50
- queued.reject(new Error(errorMessage));
29
+ async setReady(publishFn) {
30
+ this.isReady = true;
31
+ const queuedMessages = [...this.queue];
32
+ this.queue = [];
33
+ if (queuedMessages.length > 0 && this.logActivity) {
34
+ debug(Scope.Relay, `Processing ${queuedMessages.length} queued messages`);
35
+ }
36
+ for (const queued of queuedMessages) {
37
+ try {
38
+ await publishFn(queued.message);
39
+ queued.resolve();
40
+ }
41
+ catch (error) {
42
+ queued.reject(error);
43
+ }
44
+ }
51
45
  }
52
- }
53
- clear() {
54
- const queuedMessages = [...this.queue];
55
- this.queue = [];
56
- for (const queued of queuedMessages) {
57
- queued.reject(new Error("Queue cleared"));
46
+ setNotReady(errorMessage = "Connection closed before message could be sent") {
47
+ this.isReady = false;
48
+ const queuedMessages = [...this.queue];
49
+ this.queue = [];
50
+ for (const queued of queuedMessages) {
51
+ queued.reject(new Error(errorMessage));
52
+ }
53
+ }
54
+ clear() {
55
+ const queuedMessages = [...this.queue];
56
+ this.queue = [];
57
+ for (const queued of queuedMessages) {
58
+ queued.reject(new Error("Queue cleared"));
59
+ }
58
60
  }
59
- }
60
61
  }
61
- //# sourceMappingURL=message-queue.js.map
62
+ //# sourceMappingURL=message-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-queue.js","sourceRoot":"","sources":["../src/message-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,OAAO,YAAY;IACf,KAAK,GAAoB,EAAE,CAAC;IAC5B,OAAO,GAAY,KAAK,CAAC;IACzB,WAAW,GAAY,KAAK,CAAC;IAErC,YAAY,OAAmC;QAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CACH,KAAK,CAAC,KAAK,EACX,0CAA0C,OAAO,CAAC,MAAM,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,SAAuD;QAEvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CACT,eAAuB,gDAAgD;QAEvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"message-queue.js","sourceRoot":"","sources":["../src/message-queue.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sGAAsG;AACtG,0GAA0G;AAG1G,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,OAAO,YAAY;IACf,KAAK,GAAoB,EAAE,CAAC;IAC5B,OAAO,GAAY,KAAK,CAAC;IACzB,WAAW,GAAY,KAAK,CAAC;IAErC,YAAY,OAAmC;QAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CACH,KAAK,CAAC,KAAK,EACX,0CAA0C,OAAO,CAAC,MAAM,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,SAAuD;QAEvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CACT,eAAuB,gDAAgD;QAEvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
@@ -1,18 +1,21 @@
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
  /**
2
5
  * Minimal primitives shim — replaces @riftenlabs/primitives.
3
6
  */
4
7
  export const throwUnless = (x, what) => {
5
- if (!x) {
6
- throw Error(`Internal application error: ${what}`);
7
- }
8
+ if (!x) {
9
+ throw Error(`Internal application error: ${what}`);
10
+ }
8
11
  };
9
12
  export function unwrap(value) {
10
- if (typeof value === "string") {
11
- throw new Error(`unwrap: ${value}`);
12
- }
13
- if (value instanceof Error) {
14
- throw value;
15
- }
16
- return value;
13
+ if (typeof value === "string") {
14
+ throw new Error(`unwrap: ${value}`);
15
+ }
16
+ if (value instanceof Error) {
17
+ throw value;
18
+ }
19
+ return value;
17
20
  }
18
- //# sourceMappingURL=primitives.js.map
21
+ //# sourceMappingURL=primitives.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,IAAY,EAAQ,EAAE;IAC5D,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,MAAM,CAAI,KAAyB;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sGAAsG;AACtG,0GAA0G;AAE1G;;GAEG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,IAAY,EAAQ,EAAE;IAC5D,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,MAAM,CAAI,KAAyB;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC"}
@@ -1,37 +1,31 @@
1
1
  import { RelayMsgAction, ProtocolMessage } from "./hdwalletv1.js";
2
2
  export interface DappReadyMessage extends ProtocolMessage {
3
- action: RelayMsgAction.DappReady;
4
- supported_protocols: string[];
5
- selected_protocol?: string;
6
- wallet_discovered: boolean;
7
- dapp_name?: string;
8
- dapp_icon?: string;
3
+ action: RelayMsgAction.DappReady;
4
+ supported_protocols: string[];
5
+ selected_protocol?: string;
6
+ wallet_discovered: boolean;
7
+ dapp_name?: string;
8
+ dapp_icon?: string;
9
9
  }
10
10
  export interface WalletReadyMessage extends ProtocolMessage {
11
- action: RelayMsgAction.WalletReady;
12
- wallet_name: string;
13
- wallet_icon: string;
14
- dapp_discovered: boolean;
15
- supported_protocols: string[];
16
- session: Record<string, unknown>;
17
- public_key: string;
18
- secret: string;
11
+ action: RelayMsgAction.WalletReady;
12
+ wallet_name: string;
13
+ wallet_icon: string;
14
+ dapp_discovered: boolean;
15
+ supported_protocols: string[];
16
+ session: Record<string, unknown>;
17
+ public_key: string;
18
+ secret: string;
19
19
  }
20
- export declare function isDappReadyMessage(
21
- msg: unknown,
22
- ): msg is DappReadyMessage;
23
- export declare function isWalletReadyMessage(
24
- msg: unknown,
25
- ): msg is WalletReadyMessage;
20
+ export declare function isDappReadyMessage(msg: unknown): msg is DappReadyMessage;
21
+ export declare function isWalletReadyMessage(msg: unknown): msg is WalletReadyMessage;
26
22
  export declare enum DisconnectReason {
27
- ProtocolMismatch = "protocol_mismatch",
28
- UserDisconnect = "user_disconnect",
23
+ ProtocolMismatch = "protocol_mismatch",
24
+ UserDisconnect = "user_disconnect"
29
25
  }
30
26
  export interface DisconnectMessage extends ProtocolMessage {
31
- action: RelayMsgAction.Disconnect;
32
- reason: DisconnectReason;
33
- message?: string;
27
+ action: RelayMsgAction.Disconnect;
28
+ reason: DisconnectReason;
29
+ message?: string;
34
30
  }
35
- export declare function isDisconnectMessage(
36
- msg: unknown,
37
- ): msg is DisconnectMessage;
31
+ export declare function isDisconnectMessage(msg: unknown): msg is DisconnectMessage;
@@ -1,3 +1,6 @@
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
  /// Base protocol — DappReadyMessage and WalletReadyMessage
2
5
  ///
3
6
  /// These are protocol-agnostic handshake messages shared across all
@@ -7,40 +10,34 @@
7
10
  /// protocol name. The dapp selects the first protocol from its own
8
11
  /// `supported_protocols` list that is also present in the wallet's list,
9
12
  /// then reads `session[selectedProtocol]` for protocol-specific data.
10
- import { RelayMsgAction, isProtocolMessage } from "./hdwalletv1.js";
13
+ import { RelayMsgAction, isProtocolMessage, } from "./hdwalletv1.js";
11
14
  export function isDappReadyMessage(msg) {
12
- return (
13
- isProtocolMessage(msg) &&
14
- msg.action === RelayMsgAction.DappReady &&
15
- Array.isArray(msg.supported_protocols) &&
16
- typeof msg.wallet_discovered === "boolean"
17
- );
15
+ return (isProtocolMessage(msg) &&
16
+ msg.action === RelayMsgAction.DappReady &&
17
+ Array.isArray(msg.supported_protocols) &&
18
+ typeof msg.wallet_discovered === "boolean");
18
19
  }
19
20
  export function isWalletReadyMessage(msg) {
20
- const m = msg;
21
- return (
22
- isProtocolMessage(msg) &&
23
- msg.action === RelayMsgAction.WalletReady &&
24
- typeof m.wallet_name === "string" &&
25
- typeof m.wallet_icon === "string" &&
26
- typeof m.dapp_discovered === "boolean" &&
27
- Array.isArray(m.supported_protocols) &&
28
- m.session !== null &&
29
- typeof m.session === "object" &&
30
- typeof m.public_key === "string" &&
31
- typeof m.secret === "string"
32
- );
21
+ const m = msg;
22
+ return (isProtocolMessage(msg) &&
23
+ msg.action === RelayMsgAction.WalletReady &&
24
+ typeof m.wallet_name === "string" &&
25
+ typeof m.wallet_icon === "string" &&
26
+ typeof m.dapp_discovered === "boolean" &&
27
+ Array.isArray(m.supported_protocols) &&
28
+ m.session !== null &&
29
+ typeof m.session === "object" &&
30
+ typeof m.public_key === "string" &&
31
+ typeof m.secret === "string");
33
32
  }
34
33
  export var DisconnectReason;
35
34
  (function (DisconnectReason) {
36
- DisconnectReason["ProtocolMismatch"] = "protocol_mismatch";
37
- DisconnectReason["UserDisconnect"] = "user_disconnect";
35
+ DisconnectReason["ProtocolMismatch"] = "protocol_mismatch";
36
+ DisconnectReason["UserDisconnect"] = "user_disconnect";
38
37
  })(DisconnectReason || (DisconnectReason = {}));
39
38
  export function isDisconnectMessage(msg) {
40
- return (
41
- isProtocolMessage(msg) &&
42
- msg.action === RelayMsgAction.Disconnect &&
43
- typeof msg.reason === "string"
44
- );
39
+ return (isProtocolMessage(msg) &&
40
+ msg.action === RelayMsgAction.Disconnect &&
41
+ typeof msg.reason === "string");
45
42
  }
46
- //# sourceMappingURL=base.js.map
43
+ //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/protocols/base.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,GAAG;AACH,oEAAoE;AACpE,sEAAsE;AACtE,GAAG;AACH,2EAA2E;AAC3E,mEAAmE;AACnE,yEAAyE;AACzE,sEAAsE;AAEtE,OAAO,EACL,cAAc,EAEd,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAkCzB,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACtB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS;QACvC,KAAK,CAAC,OAAO,CAAE,GAAwB,CAAC,mBAAmB,CAAC;QAC5D,OAAQ,GAAwB,CAAC,iBAAiB,KAAK,SAAS,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,CAAC,GAAG,GAAyB,CAAC;IACpC,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACtB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,WAAW;QACzC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,OAAO,CAAC,CAAC,eAAe,KAAK,SAAS;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACpC,CAAC,CAAC,OAAO,KAAK,IAAI;QAClB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAChC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,0DAAsC,CAAA;IACtC,sDAAoC,CAAA;AACtC,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAQD,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACrB,GAAyB,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;QAC/D,OAAQ,GAAyB,CAAC,MAAM,KAAK,QAAQ,CACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/protocols/base.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sGAAsG;AACtG,0GAA0G;AAE1G,2DAA2D;AAC3D,GAAG;AACH,oEAAoE;AACpE,sEAAsE;AACtE,GAAG;AACH,2EAA2E;AAC3E,mEAAmE;AACnE,yEAAyE;AACzE,sEAAsE;AAEtE,OAAO,EACL,cAAc,EAEd,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAkCzB,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACtB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS;QACvC,KAAK,CAAC,OAAO,CAAE,GAAwB,CAAC,mBAAmB,CAAC;QAC5D,OAAQ,GAAwB,CAAC,iBAAiB,KAAK,SAAS,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,CAAC,GAAG,GAAyB,CAAC;IACpC,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACtB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,WAAW;QACzC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,OAAO,CAAC,CAAC,eAAe,KAAK,SAAS;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACpC,CAAC,CAAC,OAAO,KAAK,IAAI;QAClB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAChC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,0DAAsC,CAAA;IACtC,sDAAkC,CAAA;AACpC,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAQD,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,iBAAiB,CAAC,GAAG,CAAC;QACrB,GAAyB,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;QAC/D,OAAQ,GAAyB,CAAC,MAAM,KAAK,QAAQ,CACtD,CAAC;AACJ,CAAC"}
@@ -1,56 +1,50 @@
1
1
  import { WcSignTransactionRequest } from "@bch-wc2/interfaces";
2
2
  export declare const PROTOCOL_NAME: "hdwalletv1";
3
3
  export declare enum RelayMsgAction {
4
- DappReady = "dapp_ready",
5
- WalletReady = "wallet_ready",
6
- SignTransactionRequest = "sign_transaction_request",
7
- SignTransactionResponse = "sign_transaction_response",
8
- SignCancel = "sign_cancel",
9
- Disconnect = "disconnect",
4
+ DappReady = "dapp_ready",
5
+ WalletReady = "wallet_ready",
6
+ SignTransactionRequest = "sign_transaction_request",
7
+ SignTransactionResponse = "sign_transaction_response",
8
+ SignCancel = "sign_cancel",
9
+ Disconnect = "disconnect"
10
10
  }
11
11
  export interface ProtocolMessage {
12
- action: RelayMsgAction;
13
- time: number;
12
+ action: RelayMsgAction;
13
+ time: number;
14
14
  }
15
15
  export type PathName = "receive" | "change" | "defi";
16
16
  export interface PathXpub {
17
- name: PathName;
18
- xpub: string;
17
+ name: PathName;
18
+ xpub: string;
19
19
  }
20
20
  export declare function isPathXpub(obj: any): obj is PathXpub;
21
21
  /** Returns the numeric BIP44 child index for the given named path.
22
22
  * Use only for internal HD derivation — not a protocol concern. */
23
23
  export declare function childIndexOfPathName(name: PathName): number;
24
24
  export interface Hdwalletv1Session {
25
- paths: PathXpub[];
25
+ paths: PathXpub[];
26
26
  }
27
- export declare function isHdwalletv1Session(
28
- obj: unknown,
29
- ): obj is Hdwalletv1Session;
27
+ export declare function isHdwalletv1Session(obj: unknown): obj is Hdwalletv1Session;
30
28
  export interface ErrorMessage extends ProtocolMessage {
31
- error: string;
29
+ error: string;
32
30
  }
33
31
  export interface SignTransactionRequest extends ProtocolMessage {
34
- action: RelayMsgAction.SignTransactionRequest;
35
- transaction: WcSignTransactionRequest;
36
- sequence: number;
32
+ action: RelayMsgAction.SignTransactionRequest;
33
+ transaction: WcSignTransactionRequest;
34
+ sequence: number;
37
35
  }
38
36
  export interface SignTransactionResponse extends ProtocolMessage {
39
- action: RelayMsgAction.SignTransactionResponse;
40
- sequence: number;
41
- signedTransaction: string;
42
- error?: string;
37
+ action: RelayMsgAction.SignTransactionResponse;
38
+ sequence: number;
39
+ signedTransaction: string;
40
+ error?: string;
43
41
  }
44
42
  export interface SignCancelMessage extends ProtocolMessage {
45
- action: RelayMsgAction.SignCancel;
46
- sequence: number;
47
- reason?: string;
43
+ action: RelayMsgAction.SignCancel;
44
+ sequence: number;
45
+ reason?: string;
48
46
  }
49
- export declare function isProtocolMessage(
50
- payload: any,
51
- ): payload is ProtocolMessage;
47
+ export declare function isProtocolMessage(payload: any): payload is ProtocolMessage;
52
48
  export declare function isErrorMessage(payload: any): payload is ErrorMessage;
53
- export declare function isSignTransactionRequest(
54
- msg: any,
55
- ): msg is SignTransactionRequest;
49
+ export declare function isSignTransactionRequest(msg: any): msg is SignTransactionRequest;
56
50
  export declare function isSignCancelMessage(msg: any): msg is SignCancelMessage;
@@ -1,80 +1,70 @@
1
- /// This is a protocol within the relayed messages (which is protocol agnostic).
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
2
4
  /// Dapp <-> Wallet messages
3
5
  export const PROTOCOL_NAME = "hdwalletv1";
4
6
  /// What this message is about
5
7
  export var RelayMsgAction;
6
8
  (function (RelayMsgAction) {
7
- /// Notification: Dapp has joined the session and is ready to receive relayed messages.
8
- RelayMsgAction["DappReady"] = "dapp_ready";
9
- /// Notification: Wallet has joined the session and is ready to send relayed messages.
10
- /// Also carries key exchange data (public_key, secret) embedded in the message.
11
- RelayMsgAction["WalletReady"] = "wallet_ready";
12
- /// Request: The dapp wants wallet to sign a transaction.
13
- RelayMsgAction["SignTransactionRequest"] = "sign_transaction_request";
14
- RelayMsgAction["SignTransactionResponse"] = "sign_transaction_response";
15
- /// Dapp-only: cancels an in-flight sign_transaction_request.
16
- RelayMsgAction["SignCancel"] = "sign_cancel";
17
- /// Courtesy notification: one side is closing the connection.
18
- RelayMsgAction["Disconnect"] = "disconnect";
9
+ /// Notification: Dapp has joined the session and is ready to receive relayed messages.
10
+ RelayMsgAction["DappReady"] = "dapp_ready";
11
+ /// Notification: Wallet has joined the session and is ready to send relayed messages.
12
+ /// Also carries key exchange data (public_key, secret) embedded in the message.
13
+ RelayMsgAction["WalletReady"] = "wallet_ready";
14
+ /// Request: The dapp wants wallet to sign a transaction.
15
+ RelayMsgAction["SignTransactionRequest"] = "sign_transaction_request";
16
+ RelayMsgAction["SignTransactionResponse"] = "sign_transaction_response";
17
+ /// Dapp-only: cancels an in-flight sign_transaction_request.
18
+ RelayMsgAction["SignCancel"] = "sign_cancel";
19
+ /// Courtesy notification: one side is closing the connection.
20
+ RelayMsgAction["Disconnect"] = "disconnect";
19
21
  })(RelayMsgAction || (RelayMsgAction = {}));
20
22
  export function isPathXpub(obj) {
21
- return (
22
- obj &&
23
- typeof obj === "object" &&
24
- typeof obj.name === "string" &&
25
- typeof obj.xpub === "string"
26
- );
23
+ return (obj &&
24
+ typeof obj === "object" &&
25
+ typeof obj.name === "string" &&
26
+ typeof obj.xpub === "string");
27
27
  }
28
28
  /** Returns the numeric BIP44 child index for the given named path.
29
29
  * Use only for internal HD derivation — not a protocol concern. */
30
30
  export function childIndexOfPathName(name) {
31
- switch (name) {
32
- case "receive":
33
- return 0;
34
- case "change":
35
- return 1;
36
- case "defi":
37
- return 7;
38
- }
31
+ switch (name) {
32
+ case "receive":
33
+ return 0;
34
+ case "change":
35
+ return 1;
36
+ case "defi":
37
+ return 7;
38
+ }
39
39
  }
40
40
  export function isHdwalletv1Session(obj) {
41
- return (
42
- obj !== null &&
43
- typeof obj === "object" &&
44
- Array.isArray(obj.paths) &&
45
- obj.paths.every((p) => isPathXpub(p))
46
- );
41
+ return (obj !== null &&
42
+ typeof obj === "object" &&
43
+ Array.isArray(obj.paths) &&
44
+ obj.paths.every((p) => isPathXpub(p)));
47
45
  }
48
46
  // Type guard functions
49
47
  export function isProtocolMessage(payload) {
50
- return (
51
- payload &&
52
- typeof payload === "object" &&
53
- typeof payload.action === "string" &&
54
- typeof payload.time === "number"
55
- );
48
+ return (payload &&
49
+ typeof payload === "object" &&
50
+ typeof payload.action === "string" &&
51
+ typeof payload.time === "number");
56
52
  }
57
53
  export function isErrorMessage(payload) {
58
- return (
59
- payload && typeof payload === "object" && typeof payload.error === "string"
60
- );
54
+ return (payload && typeof payload === "object" && typeof payload.error === "string");
61
55
  }
62
56
  export function isSignTransactionRequest(msg) {
63
- return (
64
- msg &&
65
- typeof msg === "object" &&
66
- msg.action === RelayMsgAction.SignTransactionRequest &&
67
- msg.transaction &&
68
- typeof msg.transaction === "object" &&
69
- typeof msg.sequence === "number"
70
- );
57
+ return (msg &&
58
+ typeof msg === "object" &&
59
+ msg.action === RelayMsgAction.SignTransactionRequest &&
60
+ msg.transaction &&
61
+ typeof msg.transaction === "object" &&
62
+ typeof msg.sequence === "number");
71
63
  }
72
64
  export function isSignCancelMessage(msg) {
73
- return (
74
- msg &&
75
- typeof msg === "object" &&
76
- msg.action === RelayMsgAction.SignCancel &&
77
- typeof msg.sequence === "number"
78
- );
65
+ return (msg &&
66
+ typeof msg === "object" &&
67
+ msg.action === RelayMsgAction.SignCancel &&
68
+ typeof msg.sequence === "number");
79
69
  }
80
- //# sourceMappingURL=hdwalletv1.js.map
70
+ //# sourceMappingURL=hdwalletv1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hdwalletv1.js","sourceRoot":"","sources":["../../src/protocols/hdwalletv1.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAIhF,4BAA4B;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAC;AAEnD,8BAA8B;AAE9B,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,uFAAuF;IACvF,0CAAwB,CAAA;IACxB,sFAAsF;IACtF,gFAAgF;IAChF,8CAA4B,CAAA;IAC5B,yDAAyD;IACzD,qEAAmD,CAAA;IACnD,uEAAqD,CAAA;IACrD,6DAA6D;IAC7D,4CAA0B,CAAA;IAC1B,8DAA8D;IAC9D,2CAAyB,CAAA;AAC3B,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAcD,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;QACzB,KAAK,QAAQ,CAAC,CAAE,OAAO,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,CAAI,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAsCD,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,KAAK,CAAC,OAAO,CAAE,GAAyB,CAAC,KAAK,CAAC;QAC9C,GAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;AACJ,CAAC;AAyBD,uBAAuB;AAEvB,MAAM,UAAU,iBAAiB,CAAC,OAAY;IAC5C,OAAO,CACL,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAY;IACzC,OAAO,CACL,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAQ;IAER,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,sBAAsB;QACpD,GAAG,CAAC,WAAW;QACf,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;QACxC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hdwalletv1.js","sourceRoot":"","sources":["../../src/protocols/hdwalletv1.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,sGAAsG;AACtG,0GAA0G;AAM1G,4BAA4B;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAC;AAEnD,8BAA8B;AAE9B,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,uFAAuF;IACvF,0CAAwB,CAAA;IACxB,sFAAsF;IACtF,gFAAgF;IAChF,8CAA4B,CAAA;IAC5B,yDAAyD;IACzD,qEAAmD,CAAA;IACnD,uEAAqD,CAAA;IACrD,6DAA6D;IAC7D,4CAA0B,CAAA;IAC1B,8DAA8D;IAC9D,2CAAyB,CAAA;AAC3B,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAcD,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC;QACX,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAsCD,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,KAAK,CAAC,OAAO,CAAE,GAAyB,CAAC,KAAK,CAAC;QAC9C,GAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;AACJ,CAAC;AAyBD,uBAAuB;AAEvB,MAAM,UAAU,iBAAiB,CAAC,OAAY;IAC5C,OAAO,CACL,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAY;IACzC,OAAO,CACL,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAQ;IAER,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,sBAAsB;QACpD,GAAG,CAAC,WAAW;QACf,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;QACxC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC"}
@@ -1,38 +1,38 @@
1
1
  import { EventEmitter } from "eventemitter3";
2
2
  import { ProtocolMessage } from "./protocols/hdwalletv1.js";
3
3
  export interface RelayClientConfig {
4
- explicitRelayUrls: string[];
5
- signerPrivateKey: Uint8Array;
6
- pairedPublicKey?: Uint8Array;
7
- logNetworkActivity?: boolean;
4
+ explicitRelayUrls: string[];
5
+ signerPrivateKey: Uint8Array;
6
+ pairedPublicKey?: Uint8Array;
7
+ logNetworkActivity?: boolean;
8
8
  }
9
9
  export declare class RelayClient extends EventEmitter {
10
- private ndk;
11
- private paired;
12
- private config;
13
- private messageSubscription;
14
- private myPubkey;
15
- private myPubkeyHex;
16
- private lastProcessedTimestamp;
17
- private messageQueue;
18
- private sequence;
19
- private pendingCalls;
20
- private pendingDeliveries;
21
- constructor(config: RelayClientConfig);
22
- setPairedPublicKey(pairedPublicKey: Uint8Array): void;
23
- getPublicKey(): Uint8Array;
24
- getPublicKeyHex(): string;
25
- isKeyExchangeComplete(): boolean;
26
- connect(): Promise<void>;
27
- disconnect(): Promise<void>;
28
- getLastProcessedTimestamp(): number;
29
- setLastProcessedTimestamp(timestamp: number): void;
30
- relay(message: ProtocolMessage): Promise<void>;
31
- private publishMessage;
32
- private waitForRelaysReady;
33
- isConnected(): boolean;
34
- private netlog;
35
- private handleRelayMessage;
36
- nextSequence(): number;
37
- private emitError;
10
+ private ndk;
11
+ private paired;
12
+ private config;
13
+ private messageSubscription;
14
+ private myPubkey;
15
+ private myPubkeyHex;
16
+ private lastProcessedTimestamp;
17
+ private messageQueue;
18
+ private sequence;
19
+ private pendingCalls;
20
+ private pendingDeliveries;
21
+ constructor(config: RelayClientConfig);
22
+ setPairedPublicKey(pairedPublicKey: Uint8Array): void;
23
+ getPublicKey(): Uint8Array;
24
+ getPublicKeyHex(): string;
25
+ isKeyExchangeComplete(): boolean;
26
+ connect(): Promise<void>;
27
+ disconnect(): Promise<void>;
28
+ getLastProcessedTimestamp(): number;
29
+ setLastProcessedTimestamp(timestamp: number): void;
30
+ relay(message: ProtocolMessage): Promise<void>;
31
+ private publishMessage;
32
+ private waitForRelaysReady;
33
+ isConnected(): boolean;
34
+ private netlog;
35
+ private handleRelayMessage;
36
+ nextSequence(): number;
37
+ private emitError;
38
38
  }