ns-auth-sdk 1.14.0 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{cjs-CSUAVztq.cjs → browser-index.cjs} +5476 -296
- package/dist/browser-index.cjs.map +1 -0
- package/dist/browser-index.d.cts +1998 -0
- package/dist/browser-index.d.cts.map +1 -0
- package/dist/browser-index.d.mts +1998 -0
- package/dist/browser-index.d.mts.map +1 -0
- package/dist/{cjs-sm5h7qxv.mjs → browser-index.mjs} +5169 -69
- package/dist/browser-index.mjs.map +1 -0
- package/dist/{group-coordination-BlFpBVpn.mjs → group-coordination-BV6PKlKp.mjs} +1 -1
- package/dist/{group-coordination-BlFpBVpn.mjs.map → group-coordination-BV6PKlKp.mjs.map} +1 -1
- package/dist/{group-coordination-ImuoJEoy.mjs → group-coordination-BytkmY9j.mjs} +1 -1
- package/dist/{group-coordination-LGIyipaX.cjs → group-coordination-DL39hJ3R.cjs} +1 -1
- package/dist/{group-coordination-LGIyipaX.cjs.map → group-coordination-DL39hJ3R.cjs.map} +1 -1
- package/dist/{group-coordination-Cf18OjZt.cjs → group-coordination-DLban6a7.cjs} +1 -1
- package/dist/index.cjs +8899 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.mjs +9072 -213
- package/dist/index.mjs.map +1 -1
- package/dist/{prf-handler-D3EqUNWe.cjs → prf-handler-BNd7gmXJ.cjs} +1 -1
- package/dist/{prf-handler-D3EqUNWe.cjs.map → prf-handler-BNd7gmXJ.cjs.map} +1 -1
- package/dist/prf-handler-CRMgzJG2.cjs +3 -0
- package/dist/{prf-handler-Dly_WZGn.mjs → prf-handler-DG99ZkS2.mjs} +1 -1
- package/dist/{prf-handler-Db8CsoIP.mjs → prf-handler-Dj2WTO9i.mjs} +1 -1
- package/dist/{prf-handler-Db8CsoIP.mjs.map → prf-handler-Dj2WTO9i.mjs.map} +1 -1
- package/dist/zkm.service-Bv88tVS5.mjs +3 -0
- package/dist/zkm.service-D2BZ_aqA.cjs +3 -0
- package/dist/{zkm.service-DfSPbuOl.cjs → zkm.service-DX06sSfB.cjs} +1 -1
- package/dist/{zkm.service-DfSPbuOl.cjs.map → zkm.service-DX06sSfB.cjs.map} +1 -1
- package/dist/{zkm.service-B24N_0FB.mjs → zkm.service-j0HlN7Oq.mjs} +1 -1
- package/dist/{zkm.service-B24N_0FB.mjs.map → zkm.service-j0HlN7Oq.mjs.map} +1 -1
- package/package.json +19 -6
- package/dist/_esm-C7FRLTj2.cjs +0 -9030
- package/dist/_esm-C7FRLTj2.cjs.map +0 -1
- package/dist/_esm-D_oMW5T5.mjs +0 -9028
- package/dist/_esm-D_oMW5T5.mjs.map +0 -1
- package/dist/base64-js-B8y7dH5k.mjs +0 -93
- package/dist/base64-js-B8y7dH5k.mjs.map +0 -1
- package/dist/base64-js-Tm-kCeud.cjs +0 -98
- package/dist/base64-js-Tm-kCeud.cjs.map +0 -1
- package/dist/ccip-157tdxqP.cjs +0 -7947
- package/dist/ccip-157tdxqP.cjs.map +0 -1
- package/dist/ccip-BEMMdVyd.cjs +0 -4
- package/dist/ccip-BSmCdJ3K.mjs +0 -3
- package/dist/ccip-okqXkslP.mjs +0 -6567
- package/dist/ccip-okqXkslP.mjs.map +0 -1
- package/dist/chains-CTeD2UcS.mjs +0 -33
- package/dist/chains-CTeD2UcS.mjs.map +0 -1
- package/dist/chains-Du-lv_5i.cjs +0 -33
- package/dist/chains-Du-lv_5i.cjs.map +0 -1
- package/dist/chunk-Bnu9O96Y.cjs +0 -60
- package/dist/chunk-CVYhg9ik.mjs +0 -45
- package/dist/cjs-CSUAVztq.cjs.map +0 -1
- package/dist/cjs-sm5h7qxv.mjs.map +0 -1
- package/dist/defineChain-7QG67hYU.cjs +0 -30
- package/dist/defineChain-7QG67hYU.cjs.map +0 -1
- package/dist/defineChain-DBem8ZQY.mjs +0 -24
- package/dist/defineChain-DBem8ZQY.mjs.map +0 -1
- package/dist/dist-BPmSxkxc.cjs +0 -10676
- package/dist/dist-BPmSxkxc.cjs.map +0 -1
- package/dist/dist-BSjH4t6s.cjs +0 -12932
- package/dist/dist-BSjH4t6s.cjs.map +0 -1
- package/dist/dist-C-KjTK4Q.cjs +0 -447
- package/dist/dist-C-KjTK4Q.cjs.map +0 -1
- package/dist/dist-C2h97xM-.mjs +0 -355
- package/dist/dist-C2h97xM-.mjs.map +0 -1
- package/dist/dist-CT7grDWb.mjs +0 -12920
- package/dist/dist-CT7grDWb.mjs.map +0 -1
- package/dist/dist-D7fRmK6G.mjs +0 -10632
- package/dist/dist-D7fRmK6G.mjs.map +0 -1
- package/dist/dist-DlmcyFmM.mjs +0 -16951
- package/dist/dist-DlmcyFmM.mjs.map +0 -1
- package/dist/dist-O0uZr5OF.cjs +0 -17122
- package/dist/dist-O0uZr5OF.cjs.map +0 -1
- package/dist/echo-BB-JgAYZ.cjs +0 -339
- package/dist/echo-BB-JgAYZ.cjs.map +0 -1
- package/dist/echo-Bwy4_Cvh.mjs +0 -316
- package/dist/echo-Bwy4_Cvh.mjs.map +0 -1
- package/dist/echo-D6X2IuNW.cjs +0 -9
- package/dist/echo-DvfG_heb.mjs +0 -8
- package/dist/esm-BcHKCX5i.mjs +0 -569
- package/dist/esm-BcHKCX5i.mjs.map +0 -1
- package/dist/esm-Bh_YwFIz.cjs +0 -599
- package/dist/esm-Bh_YwFIz.cjs.map +0 -1
- package/dist/esm-C0XO9TQm.cjs +0 -30449
- package/dist/esm-C0XO9TQm.cjs.map +0 -1
- package/dist/esm-vMUVj9k4.mjs +0 -30440
- package/dist/esm-vMUVj9k4.mjs.map +0 -1
- package/dist/keyset-CKMQXvsb.mjs +0 -172
- package/dist/keyset-CKMQXvsb.mjs.map +0 -1
- package/dist/keyset-Cxdgu110.cjs +0 -237
- package/dist/keyset-Cxdgu110.cjs.map +0 -1
- package/dist/keyset-DLxpGhdu.cjs +0 -6
- package/dist/keyset-IKjlhvqF.mjs +0 -4
- package/dist/node-3EUJ4ga9.cjs +0 -9
- package/dist/node-C2UpE11T.cjs +0 -444
- package/dist/node-C2UpE11T.cjs.map +0 -1
- package/dist/node-CHdpTQdN.mjs +0 -8679
- package/dist/node-CHdpTQdN.mjs.map +0 -1
- package/dist/node-DQt1CVGl.mjs +0 -6
- package/dist/node-Dy8ww1LG.cjs +0 -8680
- package/dist/node-Dy8ww1LG.cjs.map +0 -1
- package/dist/node-IX55IH6z.mjs +0 -397
- package/dist/node-IX55IH6z.mjs.map +0 -1
- package/dist/nostr-BTOpBN_5.cjs +0 -11
- package/dist/nostr-D4E52XRU.mjs +0 -224
- package/dist/nostr-D4E52XRU.mjs.map +0 -1
- package/dist/nostr-Hv2tsnuI.cjs +0 -272
- package/dist/nostr-Hv2tsnuI.cjs.map +0 -1
- package/dist/nostr-ZwJe_DlZ.mjs +0 -4
- package/dist/pako.esm-DTVnlCJh.cjs +0 -3856
- package/dist/pako.esm-DTVnlCJh.cjs.map +0 -1
- package/dist/pako.esm-ORhkEHM2.mjs +0 -3838
- package/dist/pako.esm-ORhkEHM2.mjs.map +0 -1
- package/dist/peer-B9g3OQ5D.cjs +0 -18
- package/dist/peer-CptDj7zu.mjs +0 -745
- package/dist/peer-CptDj7zu.mjs.map +0 -1
- package/dist/peer-CtqL0yiE.mjs +0 -9
- package/dist/peer-XrPL0O6z.cjs +0 -822
- package/dist/peer-XrPL0O6z.cjs.map +0 -1
- package/dist/ping-BXKREIdI.mjs +0 -7
- package/dist/ping-BtVhKocl.cjs +0 -379
- package/dist/ping-BtVhKocl.cjs.map +0 -1
- package/dist/ping-D5fpMhGC.cjs +0 -11
- package/dist/ping-DOD50kW_.mjs +0 -332
- package/dist/ping-DOD50kW_.mjs.map +0 -1
- package/dist/policy-8HcjulLD.cjs +0 -293
- package/dist/policy-8HcjulLD.cjs.map +0 -1
- package/dist/policy-BA6MEOBY.mjs +0 -5
- package/dist/policy-BFNdXvmM.cjs +0 -11
- package/dist/policy-D_nFHHjo.mjs +0 -228
- package/dist/policy-D_nFHHjo.mjs.map +0 -1
- package/dist/prf-handler-BNiyCQMt.cjs +0 -3
- package/dist/src-CVfTUJQl.mjs +0 -822
- package/dist/src-CVfTUJQl.mjs.map +0 -1
- package/dist/src-D5S86Xpf.cjs +0 -827
- package/dist/src-D5S86Xpf.cjs.map +0 -1
- package/dist/types-B-TLIS13.cjs +0 -212
- package/dist/types-B-TLIS13.cjs.map +0 -1
- package/dist/types-CTm_FHYD.mjs +0 -111
- package/dist/types-CTm_FHYD.mjs.map +0 -1
- package/dist/validation-1xwWVXqE.mjs +0 -3
- package/dist/validation-DnpurN79.cjs +0 -405
- package/dist/validation-DnpurN79.cjs.map +0 -1
- package/dist/validation-IsAUvsvy.mjs +0 -334
- package/dist/validation-IsAUvsvy.mjs.map +0 -1
- package/dist/validation-yCvZCqIs.cjs +0 -6
- package/dist/wrapper-C5NpyacC.cjs +0 -3552
- package/dist/wrapper-C5NpyacC.cjs.map +0 -1
- package/dist/wrapper-CHq_CV4J.mjs +0 -3552
- package/dist/wrapper-CHq_CV4J.mjs.map +0 -1
- package/dist/zkm.service-BrXyI4BS.mjs +0 -3
- package/dist/zkm.service-BvQ01wSH.cjs +0 -3
package/dist/dist-C2h97xM-.mjs
DELETED
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
import { _ as SecretKeySchema, a as IglooError, c as NodeConfigSchema, d as NostrError, f as NostrKeySchema, g as RelayUrlSchema, h as RecoveryError, i as HexKeySchema, l as NodeError, m as PolicyError, n as EchoError, o as KeysetError, p as NostrValidationError, r as EchoListenerConfigSchema, s as KeysetParamsSchema, t as BifrostValidationError, u as NodePolicyInputSchema } from "./types-CTm_FHYD.mjs";
|
|
2
|
-
import { a as npubToHex, c as validateNostrKey, i as hexToNsec, n as generateNostrKeyPair, o as nsecToHex, r as hexToNpub, s as validateHexKey, t as derivePublicKey } from "./nostr-D4E52XRU.mjs";
|
|
3
|
-
import { a as normalizeNodePolicies, d as updateNodePolicy, i as getNodePolicy, l as setNodePolicies, n as canSendToPeer, o as normalizeNodePolicyInput, r as getNodePolicies, s as prepareNodePolicies, t as canReceiveFromPeer, u as summarizeNodePolicyMatrix } from "./policy-D_nFHHjo.mjs";
|
|
4
|
-
import { a as createBifrostNode, c as setupNodeEvents, i as createAndConnectNode, n as closeNode, o as createConnectedNode, r as connectNode, s as isNodeReady, t as cleanupBifrostNode } from "./node-IX55IH6z.mjs";
|
|
5
|
-
import { a as getShareDetailsWithGroup, c as validateKeysetParams, d as validateSharesCompatibility, i as getShareDetails, l as validateSecretKey, n as decodeShare, o as recoverSecretKey, r as generateKeysetWithSecret, s as recoverSecretKeyFromCredentials, t as decodeGroup, u as validateShareCredentialsCompatibility } from "./keyset-CKMQXvsb.mjs";
|
|
6
|
-
import { i as startListeningForAllEchoes, n as awaitShareEcho, r as sendEcho, t as DEFAULT_ECHO_RELAYS } from "./echo-Bwy4_Cvh.mjs";
|
|
7
|
-
import { a as pingPeer, c as runPingDiagnostics, i as createPingMonitor, n as DEFAULT_PING_RELAYS, o as pingPeers$1, r as DEFAULT_PING_TIMEOUT, s as pingPeersFromCredentials, t as DEFAULT_PING_INTERVAL } from "./ping-DOD50kW_.mjs";
|
|
8
|
-
import { a as validateGroup, c as validateNsec, d as validateShare, f as validateWithOptions, i as validateCredentialSet, l as validateRelay, n as validateBfcred, o as validateHexPrivkey, r as validateCredentialFormat, s as validateMinimumShares, t as VALIDATION_CONSTANTS, u as validateRelayList } from "./validation-IsAUvsvy.mjs";
|
|
9
|
-
import { a as checkPeerStatus, c as createPeerManagerRobust, d as normalizePubkey, f as pingPeers, i as addPubkeyPrefix, l as extractPeersFromCredentials, n as PeerManager, o as comparePubkeys, p as validatePeerCredentials, r as StaticPeerManager, s as createPeerManager, t as DEFAULT_PEER_MONITOR_CONFIG, u as extractSelfPubkeyFromCredentials } from "./peer-CptDj7zu.mjs";
|
|
10
|
-
|
|
11
|
-
//#region node_modules/@frostr/igloo-core/dist/index.js
|
|
12
|
-
var IglooCore = class {
|
|
13
|
-
constructor(defaultRelays = ["wss://relay.damus.io", "wss://relay.primal.net"]) {
|
|
14
|
-
this.defaultRelays = defaultRelays;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Generate a new keyset from a secret key
|
|
18
|
-
*/
|
|
19
|
-
async generateKeyset(threshold, totalMembers, secretKey) {
|
|
20
|
-
const { generateKeysetWithSecret: generateKeysetWithSecret$1 } = await import("./keyset-IKjlhvqF.mjs");
|
|
21
|
-
return generateKeysetWithSecret$1(threshold, totalMembers, secretKey);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Create and connect a BifrostNode
|
|
25
|
-
*/
|
|
26
|
-
async createNode(groupCredential, shareCredential, relaysOrOptions) {
|
|
27
|
-
const { createAndConnectNode: createAndConnectNode$1 } = await import("./node-DQt1CVGl.mjs");
|
|
28
|
-
let relays;
|
|
29
|
-
let policies;
|
|
30
|
-
let eventConfig;
|
|
31
|
-
if (Array.isArray(relaysOrOptions)) relays = relaysOrOptions;
|
|
32
|
-
else if (relaysOrOptions) {
|
|
33
|
-
relays = relaysOrOptions.relays;
|
|
34
|
-
policies = relaysOrOptions.policies;
|
|
35
|
-
eventConfig = relaysOrOptions.eventConfig;
|
|
36
|
-
}
|
|
37
|
-
return createAndConnectNode$1({
|
|
38
|
-
group: groupCredential,
|
|
39
|
-
share: shareCredential,
|
|
40
|
-
relays: relays || this.defaultRelays,
|
|
41
|
-
policies
|
|
42
|
-
}, eventConfig);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Create and connect a BifrostNode with enhanced state information
|
|
46
|
-
*/
|
|
47
|
-
async createEnhancedNode(groupCredential, shareCredential, relaysOrOptions, legacyOptions) {
|
|
48
|
-
const { createConnectedNode: createConnectedNode$1 } = await import("./node-DQt1CVGl.mjs");
|
|
49
|
-
let relays;
|
|
50
|
-
let policies;
|
|
51
|
-
let connectionTimeout;
|
|
52
|
-
let autoReconnect;
|
|
53
|
-
let eventConfig;
|
|
54
|
-
if (Array.isArray(relaysOrOptions)) {
|
|
55
|
-
relays = relaysOrOptions;
|
|
56
|
-
if (legacyOptions) {
|
|
57
|
-
connectionTimeout = legacyOptions.connectionTimeout;
|
|
58
|
-
autoReconnect = legacyOptions.autoReconnect;
|
|
59
|
-
}
|
|
60
|
-
} else if (relaysOrOptions) {
|
|
61
|
-
relays = relaysOrOptions.relays;
|
|
62
|
-
policies = relaysOrOptions.policies;
|
|
63
|
-
connectionTimeout = relaysOrOptions.connectionTimeout;
|
|
64
|
-
autoReconnect = relaysOrOptions.autoReconnect;
|
|
65
|
-
eventConfig = relaysOrOptions.eventConfig;
|
|
66
|
-
}
|
|
67
|
-
return createConnectedNode$1({
|
|
68
|
-
group: groupCredential,
|
|
69
|
-
share: shareCredential,
|
|
70
|
-
relays: relays || this.defaultRelays,
|
|
71
|
-
policies,
|
|
72
|
-
connectionTimeout,
|
|
73
|
-
autoReconnect
|
|
74
|
-
}, eventConfig);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Check if a BifrostNode is ready
|
|
78
|
-
*/
|
|
79
|
-
async isNodeReady(node) {
|
|
80
|
-
const { isNodeReady: isNodeReady$1 } = await import("./node-DQt1CVGl.mjs");
|
|
81
|
-
return isNodeReady$1(node);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Clean up a BifrostNode completely
|
|
85
|
-
*/
|
|
86
|
-
async cleanupNode(node) {
|
|
87
|
-
const { cleanupBifrostNode: cleanupBifrostNode$1 } = await import("./node-DQt1CVGl.mjs");
|
|
88
|
-
return cleanupBifrostNode$1(node);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Set node-level peer policies (optionally merging with existing configuration)
|
|
92
|
-
*/
|
|
93
|
-
async setNodePolicies(node, policies, options = {}) {
|
|
94
|
-
const { setNodePolicies: setNodePolicies$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
95
|
-
return setNodePolicies$1(node, policies, options);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Update (merge) a single node policy
|
|
99
|
-
*/
|
|
100
|
-
async updateNodePolicy(node, policy) {
|
|
101
|
-
const { updateNodePolicy: updateNodePolicy$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
102
|
-
return updateNodePolicy$1(node, policy);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Retrieve current policy summaries for the node
|
|
106
|
-
*/
|
|
107
|
-
async getNodePolicies(node) {
|
|
108
|
-
const { getNodePolicies: getNodePolicies$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
109
|
-
return getNodePolicies$1(node);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Lookup a policy for a specific peer by pubkey
|
|
113
|
-
*/
|
|
114
|
-
async getNodePolicy(node, pubkey) {
|
|
115
|
-
const { getNodePolicy: getNodePolicy$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
116
|
-
return getNodePolicy$1(node, pubkey);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Determine if outbound messaging is allowed for a peer
|
|
120
|
-
*/
|
|
121
|
-
async canNodeSendTo(node, pubkey) {
|
|
122
|
-
const { canSendToPeer: canSendToPeer$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
123
|
-
return canSendToPeer$1(node, pubkey);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Determine if inbound messaging is allowed for a peer
|
|
127
|
-
*/
|
|
128
|
-
async canNodeReceiveFrom(node, pubkey) {
|
|
129
|
-
const { canReceiveFromPeer: canReceiveFromPeer$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
130
|
-
return canReceiveFromPeer$1(node, pubkey);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Summarize policies as a quick matrix keyed by pubkey
|
|
134
|
-
*/
|
|
135
|
-
async summarizeNodePolicies(node) {
|
|
136
|
-
const { summarizeNodePolicyMatrix: summarizeNodePolicyMatrix$1 } = await import("./policy-BA6MEOBY.mjs");
|
|
137
|
-
return summarizeNodePolicyMatrix$1(node);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Wait for an echo on a specific share
|
|
141
|
-
*/
|
|
142
|
-
async waitForEcho(groupCredential, shareCredential, timeout = 3e4) {
|
|
143
|
-
const { awaitShareEcho: awaitShareEcho$1 } = await import("./echo-DvfG_heb.mjs");
|
|
144
|
-
return awaitShareEcho$1(groupCredential, shareCredential, {
|
|
145
|
-
relays: this.defaultRelays,
|
|
146
|
-
timeout
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Start listening for echoes on all shares
|
|
151
|
-
*/
|
|
152
|
-
async startEchoListeners(groupCredential, shareCredentials, onEchoReceived) {
|
|
153
|
-
const { startListeningForAllEchoes: startListeningForAllEchoes$1 } = await import("./echo-DvfG_heb.mjs");
|
|
154
|
-
return startListeningForAllEchoes$1(groupCredential, shareCredentials, onEchoReceived, { relays: this.defaultRelays });
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Recover secret key from shares
|
|
158
|
-
*/
|
|
159
|
-
async recoverSecret(groupCredential, shareCredentials) {
|
|
160
|
-
const { recoverSecretKeyFromCredentials: recoverSecretKeyFromCredentials$1 } = await import("./keyset-IKjlhvqF.mjs");
|
|
161
|
-
return recoverSecretKeyFromCredentials$1(groupCredential, shareCredentials);
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Get details about a share
|
|
165
|
-
*/
|
|
166
|
-
async getShareInfo(shareCredential) {
|
|
167
|
-
const { getShareDetails: getShareDetails$1 } = await import("./keyset-IKjlhvqF.mjs");
|
|
168
|
-
return getShareDetails$1(shareCredential);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Generate a new nostr key pair
|
|
172
|
-
*/
|
|
173
|
-
async generateKeys() {
|
|
174
|
-
const { generateNostrKeyPair: generateNostrKeyPair$1 } = await import("./nostr-ZwJe_DlZ.mjs");
|
|
175
|
-
return generateNostrKeyPair$1();
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Convert between nostr key formats
|
|
179
|
-
*/
|
|
180
|
-
async convertKey(key, targetFormat) {
|
|
181
|
-
const { nsecToHex: nsecToHex$1, hexToNsec: hexToNsec$1, hexToNpub: hexToNpub$1, npubToHex: npubToHex$1, validateHexKey: validateHexKey$1, validateNostrKey: validateNostrKey$1 } = await import("./nostr-ZwJe_DlZ.mjs");
|
|
182
|
-
if (key.startsWith("nsec")) {
|
|
183
|
-
validateNostrKey$1(key);
|
|
184
|
-
switch (targetFormat) {
|
|
185
|
-
case "hex": return nsecToHex$1(key);
|
|
186
|
-
case "nsec": return key;
|
|
187
|
-
case "npub": throw new Error("Cannot convert private key to public key format directly");
|
|
188
|
-
}
|
|
189
|
-
} else if (key.startsWith("npub")) {
|
|
190
|
-
validateNostrKey$1(key);
|
|
191
|
-
switch (targetFormat) {
|
|
192
|
-
case "hex": return npubToHex$1(key);
|
|
193
|
-
case "npub": return key;
|
|
194
|
-
case "nsec": throw new Error("Cannot convert public key to private key");
|
|
195
|
-
}
|
|
196
|
-
} else {
|
|
197
|
-
validateHexKey$1(key);
|
|
198
|
-
switch (targetFormat) {
|
|
199
|
-
case "hex": return key;
|
|
200
|
-
case "nsec": return hexToNsec$1(key);
|
|
201
|
-
case "npub": return hexToNpub$1(key);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Derive public key from private key
|
|
207
|
-
*/
|
|
208
|
-
async derivePublicKey(privateKey) {
|
|
209
|
-
const { derivePublicKey: derivePublicKey$1, validateHexKey: validateHexKey$1, validateNostrKey: validateNostrKey$1 } = await import("./nostr-ZwJe_DlZ.mjs");
|
|
210
|
-
if (privateKey.startsWith("nsec")) validateNostrKey$1(privateKey);
|
|
211
|
-
else validateHexKey$1(privateKey);
|
|
212
|
-
return derivePublicKey$1(privateKey);
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Validate a credential set (group, shares, relays)
|
|
216
|
-
*/
|
|
217
|
-
async validateCredentials(credentials) {
|
|
218
|
-
const { validateCredentialSet: validateCredentialSet$1 } = await import("./validation-1xwWVXqE.mjs");
|
|
219
|
-
return validateCredentialSet$1(credentials);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Validate and normalize relay URLs
|
|
223
|
-
*/
|
|
224
|
-
async validateRelays(relays) {
|
|
225
|
-
const { validateRelayList: validateRelayList$1 } = await import("./validation-1xwWVXqE.mjs");
|
|
226
|
-
return validateRelayList$1(relays);
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Validate a single credential by type
|
|
230
|
-
*/
|
|
231
|
-
async validateCredential(credential, type) {
|
|
232
|
-
const { validateCredentialFormat: validateCredentialFormat$1 } = await import("./validation-1xwWVXqE.mjs");
|
|
233
|
-
return validateCredentialFormat$1(credential, type);
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Validate credentials with advanced options
|
|
237
|
-
*/
|
|
238
|
-
async validateWithOptions(credentials, options = {}) {
|
|
239
|
-
const { validateWithOptions: validateWithOptions$1 } = await import("./validation-1xwWVXqE.mjs");
|
|
240
|
-
return validateWithOptions$1(credentials, options);
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Create a peer manager for monitoring peer status
|
|
244
|
-
*/
|
|
245
|
-
async createPeerManager(node, groupCredential, shareCredential, config) {
|
|
246
|
-
const { createPeerManager: createPeerManager$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
247
|
-
return createPeerManager$1(node, groupCredential, shareCredential, config);
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Create a robust peer manager with enhanced error handling and fallback options
|
|
251
|
-
*/
|
|
252
|
-
async createPeerManagerRobust(node, groupCredential, shareCredential, config) {
|
|
253
|
-
const { createPeerManagerRobust: createPeerManagerRobust$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
254
|
-
return createPeerManagerRobust$1(node, groupCredential, shareCredential, config);
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Validate peer credentials before creating peer manager
|
|
258
|
-
*/
|
|
259
|
-
async validatePeerCredentials(groupCredential, shareCredential) {
|
|
260
|
-
const { validatePeerCredentials: validatePeerCredentials$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
261
|
-
return validatePeerCredentials$1(groupCredential, shareCredential);
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Extract peer list from credentials
|
|
265
|
-
*/
|
|
266
|
-
async extractPeers(groupCredential, shareCredential) {
|
|
267
|
-
const { extractPeersFromCredentials: extractPeersFromCredentials$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
268
|
-
return extractPeersFromCredentials$1(groupCredential, shareCredential);
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Check peer status using ping
|
|
272
|
-
*/
|
|
273
|
-
async checkPeerStatus(node, groupCredential, shareCredential) {
|
|
274
|
-
const { checkPeerStatus: checkPeerStatus$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
275
|
-
return checkPeerStatus$1(node, groupCredential, shareCredential);
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Simple ping to get online peers
|
|
279
|
-
*/
|
|
280
|
-
async pingPeers(node, timeout) {
|
|
281
|
-
const { pingPeers: pingPeers$2 } = await import("./peer-CtqL0yiE.mjs");
|
|
282
|
-
return pingPeers$2(node, timeout);
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Ping a specific peer with detailed results
|
|
286
|
-
*/
|
|
287
|
-
async pingPeer(node, peerPubkey, options) {
|
|
288
|
-
const { pingPeer: pingPeer$1 } = await import("./ping-BXKREIdI.mjs");
|
|
289
|
-
return pingPeer$1(node, peerPubkey, options);
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Ping multiple peers with detailed results and latency
|
|
293
|
-
*/
|
|
294
|
-
async pingPeersAdvanced(node, peerPubkeys, options) {
|
|
295
|
-
const { pingPeers: pingPeers$2 } = await import("./ping-BXKREIdI.mjs");
|
|
296
|
-
return pingPeers$2(node, peerPubkeys, options);
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Create a ping monitor for continuous peer monitoring
|
|
300
|
-
*/
|
|
301
|
-
async createPingMonitor(node, peerPubkeys, config) {
|
|
302
|
-
const { createPingMonitor: createPingMonitor$1 } = await import("./ping-BXKREIdI.mjs");
|
|
303
|
-
return createPingMonitor$1(node, peerPubkeys, config);
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Run comprehensive ping diagnostics
|
|
307
|
-
*/
|
|
308
|
-
async runPingDiagnostics(node, peerPubkeys, options) {
|
|
309
|
-
const { runPingDiagnostics: runPingDiagnostics$1 } = await import("./ping-BXKREIdI.mjs");
|
|
310
|
-
return runPingDiagnostics$1(node, peerPubkeys, options);
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Ping peers from credentials (convenience method)
|
|
314
|
-
*/
|
|
315
|
-
async pingPeersFromCredentials(groupCredential, shareCredential, options) {
|
|
316
|
-
const { pingPeersFromCredentials: pingPeersFromCredentials$1 } = await import("./ping-BXKREIdI.mjs");
|
|
317
|
-
return pingPeersFromCredentials$1(groupCredential, shareCredential, {
|
|
318
|
-
relays: this.defaultRelays,
|
|
319
|
-
...options
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Normalize a pubkey by removing 02/03 prefix if present
|
|
324
|
-
*/
|
|
325
|
-
async normalizePubkey(pubkey) {
|
|
326
|
-
const { normalizePubkey: normalizePubkey$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
327
|
-
return normalizePubkey$1(pubkey);
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Add prefix to a pubkey if missing
|
|
331
|
-
*/
|
|
332
|
-
async addPubkeyPrefix(pubkey, prefix = "02") {
|
|
333
|
-
const { addPubkeyPrefix: addPubkeyPrefix$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
334
|
-
return addPubkeyPrefix$1(pubkey, prefix);
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Compare two pubkeys after normalization
|
|
338
|
-
*/
|
|
339
|
-
async comparePubkeys(pubkey1, pubkey2) {
|
|
340
|
-
const { comparePubkeys: comparePubkeys$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
341
|
-
return comparePubkeys$1(pubkey1, pubkey2);
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Extract self pubkey from credentials with enhanced error handling
|
|
345
|
-
*/
|
|
346
|
-
async extractSelfPubkey(groupCredential, shareCredential, options) {
|
|
347
|
-
const { extractSelfPubkeyFromCredentials: extractSelfPubkeyFromCredentials$1 } = await import("./peer-CtqL0yiE.mjs");
|
|
348
|
-
return extractSelfPubkeyFromCredentials$1(groupCredential, shareCredential, options);
|
|
349
|
-
}
|
|
350
|
-
};
|
|
351
|
-
const igloo = new IglooCore();
|
|
352
|
-
|
|
353
|
-
//#endregion
|
|
354
|
-
export { BifrostValidationError, DEFAULT_ECHO_RELAYS, DEFAULT_PEER_MONITOR_CONFIG, DEFAULT_PING_INTERVAL, DEFAULT_PING_RELAYS, DEFAULT_PING_TIMEOUT, EchoError, EchoListenerConfigSchema, HexKeySchema, IglooCore, IglooError, KeysetError, KeysetParamsSchema, NodeConfigSchema, NodeError, NodePolicyInputSchema, NostrError, NostrKeySchema, NostrValidationError, PeerManager, PolicyError, RecoveryError, RelayUrlSchema, SecretKeySchema, StaticPeerManager, VALIDATION_CONSTANTS, addPubkeyPrefix, awaitShareEcho, canReceiveFromPeer, canSendToPeer, checkPeerStatus, cleanupBifrostNode, closeNode, comparePubkeys, connectNode, createAndConnectNode, createBifrostNode, createConnectedNode, createPeerManager, createPeerManagerRobust, createPingMonitor, decodeGroup, decodeShare, derivePublicKey, extractPeersFromCredentials, extractSelfPubkeyFromCredentials, generateKeysetWithSecret, generateNostrKeyPair, getNodePolicies, getNodePolicy, getShareDetails, getShareDetailsWithGroup, hexToNpub, hexToNsec, igloo, isNodeReady, normalizeNodePolicies, normalizeNodePolicyInput, normalizePubkey, npubToHex, nsecToHex, pingPeer, pingPeers, pingPeers$1 as pingPeersAdvanced, pingPeersFromCredentials, prepareNodePolicies, recoverSecretKey, recoverSecretKeyFromCredentials, runPingDiagnostics, sendEcho, setNodePolicies, setupNodeEvents, startListeningForAllEchoes, summarizeNodePolicyMatrix, updateNodePolicy, validateBfcred, validateCredentialFormat, validateCredentialSet, validateGroup, validateHexKey, validateHexPrivkey, validateKeysetParams, validateMinimumShares, validateNostrKey, validateNsec, validatePeerCredentials, validateRelay, validateRelayList, validateSecretKey, validateShare, validateShareCredentialsCompatibility, validateSharesCompatibility, validateWithOptions };
|
|
355
|
-
//# sourceMappingURL=dist-C2h97xM-.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dist-C2h97xM-.mjs","names":["generateKeysetWithSecret","createAndConnectNode","createConnectedNode","isNodeReady","cleanupBifrostNode","setNodePolicies","updateNodePolicy","getNodePolicies","getNodePolicy","canSendToPeer","canReceiveFromPeer","summarizeNodePolicyMatrix","awaitShareEcho","startListeningForAllEchoes","recoverSecretKeyFromCredentials","getShareDetails","generateNostrKeyPair","nsecToHex","npubToHex","hexToNsec","hexToNpub","derivePublicKey","validateCredentialSet","validateRelayList","validateCredentialFormat","validateWithOptions","createPeerManager","createPeerManagerRobust","validatePeerCredentials","extractPeersFromCredentials","checkPeerStatus","pingPeers","pingPeer","createPingMonitor","runPingDiagnostics","pingPeersFromCredentials","normalizePubkey","addPubkeyPrefix","comparePubkeys","extractSelfPubkeyFromCredentials"],"sources":["../node_modules/@frostr/igloo-core/dist/index.js"],"sourcesContent":["// Export all types\nexport * from './types.js';\n// Export keyset management\nexport { generateKeysetWithSecret, decodeShare, decodeGroup, getShareDetails, getShareDetailsWithGroup, recoverSecretKey, recoverSecretKeyFromCredentials, validateKeysetParams, validateSecretKey, validateSharesCompatibility, validateShareCredentialsCompatibility } from './keyset.js';\n// Export node management\nexport { createBifrostNode, setupNodeEvents, connectNode, closeNode, createAndConnectNode, createConnectedNode, isNodeReady, cleanupBifrostNode } from './node.js';\n// Export echo functionality\nexport { awaitShareEcho, startListeningForAllEchoes, sendEcho, DEFAULT_ECHO_RELAYS } from './echo.js';\n// Export ping functionality\nexport { pingPeer, pingPeers as pingPeersAdvanced, createPingMonitor, pingPeersFromCredentials, runPingDiagnostics, DEFAULT_PING_RELAYS, DEFAULT_PING_TIMEOUT, DEFAULT_PING_INTERVAL } from './ping.js';\n// Export nostr utilities\nexport { nsecToHex, hexToNsec, hexToNpub, npubToHex, generateNostrKeyPair, derivePublicKey, validateHexKey, validateNostrKey } from './nostr.js';\n// Export validation functions\nexport { validateNsec, validateHexPrivkey, validateShare, validateGroup, validateRelay, validateBfcred, validateCredentialFormat, validateRelayList, validateCredentialSet, validateMinimumShares, validateWithOptions, VALIDATION_CONSTANTS } from './validation.js';\n// Export peer management functions\nexport { PeerManager, StaticPeerManager, createPeerManager, createPeerManagerRobust, validatePeerCredentials, extractPeersFromCredentials, pingPeers, checkPeerStatus, DEFAULT_PEER_MONITOR_CONFIG, \n// Pubkey utility functions\nnormalizePubkey, addPubkeyPrefix, comparePubkeys, extractSelfPubkeyFromCredentials } from './peer.js';\n// Export policy helpers\nexport { normalizeNodePolicyInput, normalizeNodePolicies, prepareNodePolicies, setNodePolicies, updateNodePolicy, getNodePolicies, getNodePolicy, canSendToPeer, canReceiveFromPeer, summarizeNodePolicyMatrix } from './policy.js';\n// Export a convenience class for easier usage\nexport class IglooCore {\n constructor(defaultRelays = [\n \"wss://relay.damus.io\",\n \"wss://relay.primal.net\"\n ]) {\n this.defaultRelays = defaultRelays;\n }\n /**\n * Generate a new keyset from a secret key\n */\n async generateKeyset(threshold, totalMembers, secretKey) {\n const { generateKeysetWithSecret } = await import('./keyset.js');\n return generateKeysetWithSecret(threshold, totalMembers, secretKey);\n }\n /**\n * Create and connect a BifrostNode\n */\n async createNode(groupCredential, shareCredential, relaysOrOptions) {\n const { createAndConnectNode } = await import('./node.js');\n let relays;\n let policies;\n let eventConfig;\n if (Array.isArray(relaysOrOptions)) {\n relays = relaysOrOptions;\n }\n else if (relaysOrOptions) {\n relays = relaysOrOptions.relays;\n policies = relaysOrOptions.policies;\n eventConfig = relaysOrOptions.eventConfig;\n }\n return createAndConnectNode({\n group: groupCredential,\n share: shareCredential,\n relays: relays || this.defaultRelays,\n policies\n }, eventConfig);\n }\n /**\n * Create and connect a BifrostNode with enhanced state information\n */\n async createEnhancedNode(groupCredential, shareCredential, relaysOrOptions, legacyOptions) {\n const { createConnectedNode } = await import('./node.js');\n let relays;\n let policies;\n let connectionTimeout;\n let autoReconnect;\n let eventConfig;\n if (Array.isArray(relaysOrOptions)) {\n relays = relaysOrOptions;\n if (legacyOptions) {\n connectionTimeout = legacyOptions.connectionTimeout;\n autoReconnect = legacyOptions.autoReconnect;\n }\n }\n else if (relaysOrOptions) {\n relays = relaysOrOptions.relays;\n policies = relaysOrOptions.policies;\n connectionTimeout = relaysOrOptions.connectionTimeout;\n autoReconnect = relaysOrOptions.autoReconnect;\n eventConfig = relaysOrOptions.eventConfig;\n }\n return createConnectedNode({\n group: groupCredential,\n share: shareCredential,\n relays: relays || this.defaultRelays,\n policies,\n connectionTimeout,\n autoReconnect\n }, eventConfig);\n }\n /**\n * Check if a BifrostNode is ready\n */\n async isNodeReady(node) {\n const { isNodeReady } = await import('./node.js');\n return isNodeReady(node);\n }\n /**\n * Clean up a BifrostNode completely\n */\n async cleanupNode(node) {\n const { cleanupBifrostNode } = await import('./node.js');\n return cleanupBifrostNode(node);\n }\n /**\n * Set node-level peer policies (optionally merging with existing configuration)\n */\n async setNodePolicies(node, policies, options = {}) {\n const { setNodePolicies } = await import('./policy.js');\n return setNodePolicies(node, policies, options);\n }\n /**\n * Update (merge) a single node policy\n */\n async updateNodePolicy(node, policy) {\n const { updateNodePolicy } = await import('./policy.js');\n return updateNodePolicy(node, policy);\n }\n /**\n * Retrieve current policy summaries for the node\n */\n async getNodePolicies(node) {\n const { getNodePolicies } = await import('./policy.js');\n return getNodePolicies(node);\n }\n /**\n * Lookup a policy for a specific peer by pubkey\n */\n async getNodePolicy(node, pubkey) {\n const { getNodePolicy } = await import('./policy.js');\n return getNodePolicy(node, pubkey);\n }\n /**\n * Determine if outbound messaging is allowed for a peer\n */\n async canNodeSendTo(node, pubkey) {\n const { canSendToPeer } = await import('./policy.js');\n return canSendToPeer(node, pubkey);\n }\n /**\n * Determine if inbound messaging is allowed for a peer\n */\n async canNodeReceiveFrom(node, pubkey) {\n const { canReceiveFromPeer } = await import('./policy.js');\n return canReceiveFromPeer(node, pubkey);\n }\n /**\n * Summarize policies as a quick matrix keyed by pubkey\n */\n async summarizeNodePolicies(node) {\n const { summarizeNodePolicyMatrix } = await import('./policy.js');\n return summarizeNodePolicyMatrix(node);\n }\n /**\n * Wait for an echo on a specific share\n */\n async waitForEcho(groupCredential, shareCredential, timeout = 30000) {\n const { awaitShareEcho } = await import('./echo.js');\n return awaitShareEcho(groupCredential, shareCredential, {\n relays: this.defaultRelays,\n timeout\n });\n }\n /**\n * Start listening for echoes on all shares\n */\n async startEchoListeners(groupCredential, shareCredentials, onEchoReceived) {\n const { startListeningForAllEchoes } = await import('./echo.js');\n return startListeningForAllEchoes(groupCredential, shareCredentials, onEchoReceived, { relays: this.defaultRelays });\n }\n /**\n * Recover secret key from shares\n */\n async recoverSecret(groupCredential, shareCredentials) {\n const { recoverSecretKeyFromCredentials } = await import('./keyset.js');\n return recoverSecretKeyFromCredentials(groupCredential, shareCredentials);\n }\n /**\n * Get details about a share\n */\n async getShareInfo(shareCredential) {\n const { getShareDetails } = await import('./keyset.js');\n return getShareDetails(shareCredential);\n }\n /**\n * Generate a new nostr key pair\n */\n async generateKeys() {\n const { generateNostrKeyPair } = await import('./nostr.js');\n return generateNostrKeyPair();\n }\n /**\n * Convert between nostr key formats\n */\n async convertKey(key, targetFormat) {\n const { nsecToHex, hexToNsec, hexToNpub, npubToHex, validateHexKey, validateNostrKey } = await import('./nostr.js');\n if (key.startsWith('nsec')) {\n validateNostrKey(key); // Validate before conversion\n switch (targetFormat) {\n case 'hex': return nsecToHex(key);\n case 'nsec': return key;\n case 'npub': throw new Error('Cannot convert private key to public key format directly');\n }\n }\n else if (key.startsWith('npub')) {\n validateNostrKey(key); // Validate before conversion\n switch (targetFormat) {\n case 'hex': return npubToHex(key);\n case 'npub': return key;\n case 'nsec': throw new Error('Cannot convert public key to private key');\n }\n }\n else {\n // Assume hex format - validate it\n validateHexKey(key);\n switch (targetFormat) {\n case 'hex': return key;\n case 'nsec': return hexToNsec(key);\n case 'npub': return hexToNpub(key);\n }\n }\n }\n /**\n * Derive public key from private key\n */\n async derivePublicKey(privateKey) {\n const { derivePublicKey, validateHexKey, validateNostrKey } = await import('./nostr.js');\n // Validate input before deriving\n if (privateKey.startsWith('nsec')) {\n validateNostrKey(privateKey);\n }\n else {\n validateHexKey(privateKey);\n }\n return derivePublicKey(privateKey);\n }\n /**\n * Validate a credential set (group, shares, relays)\n */\n async validateCredentials(credentials) {\n const { validateCredentialSet } = await import('./validation.js');\n return validateCredentialSet(credentials);\n }\n /**\n * Validate and normalize relay URLs\n */\n async validateRelays(relays) {\n const { validateRelayList } = await import('./validation.js');\n return validateRelayList(relays);\n }\n /**\n * Validate a single credential by type\n */\n async validateCredential(credential, type) {\n const { validateCredentialFormat } = await import('./validation.js');\n return validateCredentialFormat(credential, type);\n }\n /**\n * Validate credentials with advanced options\n */\n async validateWithOptions(credentials, options = {}) {\n const { validateWithOptions } = await import('./validation.js');\n return validateWithOptions(credentials, options);\n }\n // Peer Management Methods\n /**\n * Create a peer manager for monitoring peer status\n */\n async createPeerManager(node, groupCredential, shareCredential, config) {\n const { createPeerManager } = await import('./peer.js');\n return createPeerManager(node, groupCredential, shareCredential, config);\n }\n /**\n * Create a robust peer manager with enhanced error handling and fallback options\n */\n async createPeerManagerRobust(node, groupCredential, shareCredential, config) {\n const { createPeerManagerRobust } = await import('./peer.js');\n return createPeerManagerRobust(node, groupCredential, shareCredential, config);\n }\n /**\n * Validate peer credentials before creating peer manager\n */\n async validatePeerCredentials(groupCredential, shareCredential) {\n const { validatePeerCredentials } = await import('./peer.js');\n return validatePeerCredentials(groupCredential, shareCredential);\n }\n /**\n * Extract peer list from credentials\n */\n async extractPeers(groupCredential, shareCredential) {\n const { extractPeersFromCredentials } = await import('./peer.js');\n return extractPeersFromCredentials(groupCredential, shareCredential);\n }\n /**\n * Check peer status using ping\n */\n async checkPeerStatus(node, groupCredential, shareCredential) {\n const { checkPeerStatus } = await import('./peer.js');\n return checkPeerStatus(node, groupCredential, shareCredential);\n }\n /**\n * Simple ping to get online peers\n */\n async pingPeers(node, timeout) {\n const { pingPeers } = await import('./peer.js');\n return pingPeers(node, timeout);\n }\n /**\n * Ping a specific peer with detailed results\n */\n async pingPeer(node, peerPubkey, options) {\n const { pingPeer } = await import('./ping.js');\n return pingPeer(node, peerPubkey, options);\n }\n /**\n * Ping multiple peers with detailed results and latency\n */\n async pingPeersAdvanced(node, peerPubkeys, options) {\n const { pingPeers } = await import('./ping.js');\n return pingPeers(node, peerPubkeys, options);\n }\n /**\n * Create a ping monitor for continuous peer monitoring\n */\n async createPingMonitor(node, peerPubkeys, config) {\n const { createPingMonitor } = await import('./ping.js');\n return createPingMonitor(node, peerPubkeys, config);\n }\n /**\n * Run comprehensive ping diagnostics\n */\n async runPingDiagnostics(node, peerPubkeys, options) {\n const { runPingDiagnostics } = await import('./ping.js');\n return runPingDiagnostics(node, peerPubkeys, options);\n }\n /**\n * Ping peers from credentials (convenience method)\n */\n async pingPeersFromCredentials(groupCredential, shareCredential, options) {\n const { pingPeersFromCredentials } = await import('./ping.js');\n return pingPeersFromCredentials(groupCredential, shareCredential, {\n relays: this.defaultRelays,\n ...options\n });\n }\n // Pubkey Utility Methods\n /**\n * Normalize a pubkey by removing 02/03 prefix if present\n */\n async normalizePubkey(pubkey) {\n const { normalizePubkey } = await import('./peer.js');\n return normalizePubkey(pubkey);\n }\n /**\n * Add prefix to a pubkey if missing\n */\n async addPubkeyPrefix(pubkey, prefix = '02') {\n const { addPubkeyPrefix } = await import('./peer.js');\n return addPubkeyPrefix(pubkey, prefix);\n }\n /**\n * Compare two pubkeys after normalization\n */\n async comparePubkeys(pubkey1, pubkey2) {\n const { comparePubkeys } = await import('./peer.js');\n return comparePubkeys(pubkey1, pubkey2);\n }\n /**\n * Extract self pubkey from credentials with enhanced error handling\n */\n async extractSelfPubkey(groupCredential, shareCredential, options) {\n const { extractSelfPubkeyFromCredentials } = await import('./peer.js');\n return extractSelfPubkeyFromCredentials(groupCredential, shareCredential, options);\n }\n}\n// Create a default instance\nexport const igloo = new IglooCore();\n"],"x_google_ignoreList":[0],"mappings":"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"}
|