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/ping-DOD50kW_.mjs
DELETED
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
import { l as NodeError } from "./types-CTm_FHYD.mjs";
|
|
2
|
-
import { a as createBifrostNode, n as closeNode, r as connectNode } from "./node-IX55IH6z.mjs";
|
|
3
|
-
|
|
4
|
-
//#region node_modules/@frostr/igloo-core/dist/ping.js
|
|
5
|
-
/**
|
|
6
|
-
* Default relay URLs for ping functionality
|
|
7
|
-
*/
|
|
8
|
-
const DEFAULT_PING_RELAYS = ["wss://relay.damus.io", "wss://relay.primal.net"];
|
|
9
|
-
/**
|
|
10
|
-
* Default ping timeout in milliseconds
|
|
11
|
-
*/
|
|
12
|
-
const DEFAULT_PING_TIMEOUT = 5e3;
|
|
13
|
-
/**
|
|
14
|
-
* Default ping interval for monitoring in milliseconds
|
|
15
|
-
*/
|
|
16
|
-
const DEFAULT_PING_INTERVAL = 3e4;
|
|
17
|
-
/**
|
|
18
|
-
* Ping a specific peer using bifrost ping protocol
|
|
19
|
-
*/
|
|
20
|
-
async function pingPeer(node, peerPubkey, options = {}) {
|
|
21
|
-
const { timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;
|
|
22
|
-
return new Promise((resolve) => {
|
|
23
|
-
let isResolved = false;
|
|
24
|
-
let timeoutId = null;
|
|
25
|
-
const startTime = Date.now();
|
|
26
|
-
let onPingResponse = null;
|
|
27
|
-
let onPingError = null;
|
|
28
|
-
const safeResolve = (result) => {
|
|
29
|
-
if (!isResolved) {
|
|
30
|
-
isResolved = true;
|
|
31
|
-
if (timeoutId) {
|
|
32
|
-
clearTimeout(timeoutId);
|
|
33
|
-
timeoutId = null;
|
|
34
|
-
}
|
|
35
|
-
if (onPingResponse) {
|
|
36
|
-
const nodeAny = node;
|
|
37
|
-
if (typeof nodeAny.off === "function") nodeAny.off("/ping/sender/ret", onPingResponse);
|
|
38
|
-
else if (typeof nodeAny.removeListener === "function") nodeAny.removeListener("/ping/sender/ret", onPingResponse);
|
|
39
|
-
onPingResponse = null;
|
|
40
|
-
}
|
|
41
|
-
if (onPingError) {
|
|
42
|
-
const nodeAny = node;
|
|
43
|
-
if (typeof nodeAny.off === "function") nodeAny.off("/ping/sender/err", onPingError);
|
|
44
|
-
else if (typeof nodeAny.removeListener === "function") nodeAny.removeListener("/ping/sender/err", onPingError);
|
|
45
|
-
onPingError = null;
|
|
46
|
-
}
|
|
47
|
-
resolve(result);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const customLogger = (level, message, data) => {
|
|
51
|
-
const prefix = `[pingPeer:${peerPubkey.slice(0, 8)}]`;
|
|
52
|
-
if (eventConfig.customLogger) eventConfig.customLogger(level, `${prefix} ${message}`, data);
|
|
53
|
-
else if (eventConfig.enableLogging) console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || "");
|
|
54
|
-
};
|
|
55
|
-
timeoutId = setTimeout(() => {
|
|
56
|
-
safeResolve({
|
|
57
|
-
success: false,
|
|
58
|
-
pubkey: peerPubkey,
|
|
59
|
-
error: `Ping timeout after ${timeout}ms`,
|
|
60
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
61
|
-
});
|
|
62
|
-
}, timeout);
|
|
63
|
-
try {
|
|
64
|
-
onPingResponse = (peerData) => {
|
|
65
|
-
if (peerData && peerData.pubkey === peerPubkey) {
|
|
66
|
-
const latency = Date.now() - startTime;
|
|
67
|
-
customLogger("info", `Ping successful, latency: ${latency}ms`);
|
|
68
|
-
safeResolve({
|
|
69
|
-
success: true,
|
|
70
|
-
pubkey: peerPubkey,
|
|
71
|
-
latency,
|
|
72
|
-
policy: peerData.policy,
|
|
73
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
onPingError = (reason, msg) => {
|
|
78
|
-
customLogger("error", `Ping failed: ${reason}`);
|
|
79
|
-
safeResolve({
|
|
80
|
-
success: false,
|
|
81
|
-
pubkey: peerPubkey,
|
|
82
|
-
error: reason,
|
|
83
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
|
-
node.on("/ping/sender/ret", onPingResponse);
|
|
87
|
-
node.on("/ping/sender/err", onPingError);
|
|
88
|
-
node.req.ping(peerPubkey).then((result) => {
|
|
89
|
-
if (result.ok) customLogger("debug", "Ping request sent successfully");
|
|
90
|
-
else safeResolve({
|
|
91
|
-
success: false,
|
|
92
|
-
pubkey: peerPubkey,
|
|
93
|
-
error: result.err,
|
|
94
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
95
|
-
});
|
|
96
|
-
}).catch((error) => {
|
|
97
|
-
customLogger("error", `Ping request failed: ${error.message}`);
|
|
98
|
-
safeResolve({
|
|
99
|
-
success: false,
|
|
100
|
-
pubkey: peerPubkey,
|
|
101
|
-
error: error.message,
|
|
102
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
} catch (error) {
|
|
106
|
-
customLogger("error", `Ping setup failed: ${error.message}`);
|
|
107
|
-
safeResolve({
|
|
108
|
-
success: false,
|
|
109
|
-
pubkey: peerPubkey,
|
|
110
|
-
error: error.message,
|
|
111
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Ping multiple peers concurrently
|
|
118
|
-
*/
|
|
119
|
-
async function pingPeers(node, peerPubkeys, options = {}) {
|
|
120
|
-
const { timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;
|
|
121
|
-
const customLogger = (level, message, data) => {
|
|
122
|
-
const prefix = "[pingPeers]";
|
|
123
|
-
if (eventConfig.customLogger) eventConfig.customLogger(level, `${prefix} ${message}`, data);
|
|
124
|
-
else if (eventConfig.enableLogging) console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || "");
|
|
125
|
-
};
|
|
126
|
-
customLogger("info", `Pinging ${peerPubkeys.length} peers`);
|
|
127
|
-
try {
|
|
128
|
-
const pingPromises = peerPubkeys.map((pubkey) => pingPeer(node, pubkey, {
|
|
129
|
-
timeout,
|
|
130
|
-
eventConfig
|
|
131
|
-
}));
|
|
132
|
-
const results = await Promise.all(pingPromises);
|
|
133
|
-
const successCount = results.filter((r) => r.success).length;
|
|
134
|
-
customLogger("info", `Ping completed: ${successCount}/${results.length} peers responded`);
|
|
135
|
-
return results;
|
|
136
|
-
} catch (error) {
|
|
137
|
-
customLogger("error", `Ping operation failed: ${error.message}`);
|
|
138
|
-
return peerPubkeys.map((pubkey) => ({
|
|
139
|
-
success: false,
|
|
140
|
-
pubkey,
|
|
141
|
-
error: error.message,
|
|
142
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
143
|
-
}));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Create a ping monitor for continuous peer monitoring
|
|
148
|
-
*/
|
|
149
|
-
function createPingMonitor(node, peerPubkeys, config = {}) {
|
|
150
|
-
const { interval = DEFAULT_PING_INTERVAL, timeout = DEFAULT_PING_TIMEOUT, onPingResult, onError, relays = DEFAULT_PING_RELAYS, eventConfig = { enableLogging: false } } = config;
|
|
151
|
-
let intervalId = null;
|
|
152
|
-
let isRunning = false;
|
|
153
|
-
const customLogger = (level, message, data) => {
|
|
154
|
-
const prefix = "[PingMonitor]";
|
|
155
|
-
if (eventConfig.customLogger) eventConfig.customLogger(level, `${prefix} ${message}`, data);
|
|
156
|
-
else if (eventConfig.enableLogging) console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || "");
|
|
157
|
-
};
|
|
158
|
-
const ping = async () => {
|
|
159
|
-
try {
|
|
160
|
-
customLogger("debug", `Pinging ${peerPubkeys.length} peers`);
|
|
161
|
-
const results = await pingPeers(node, peerPubkeys, {
|
|
162
|
-
timeout,
|
|
163
|
-
eventConfig
|
|
164
|
-
});
|
|
165
|
-
if (onPingResult) results.forEach((result) => {
|
|
166
|
-
try {
|
|
167
|
-
onPingResult(result);
|
|
168
|
-
} catch (error) {
|
|
169
|
-
customLogger("error", `Error in ping result callback: ${error.message}`);
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
return results;
|
|
173
|
-
} catch (error) {
|
|
174
|
-
customLogger("error", `Ping monitor error: ${error.message}`);
|
|
175
|
-
if (onError) onError(error, "ping");
|
|
176
|
-
return [];
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
const start = () => {
|
|
180
|
-
if (isRunning) {
|
|
181
|
-
customLogger("warn", "Ping monitor is already running");
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
customLogger("info", `Starting ping monitor (interval: ${interval}ms, timeout: ${timeout}ms)`);
|
|
185
|
-
isRunning = true;
|
|
186
|
-
ping().catch((error) => {
|
|
187
|
-
customLogger("error", `Initial ping failed: ${error.message}`);
|
|
188
|
-
});
|
|
189
|
-
intervalId = setInterval(() => {
|
|
190
|
-
if (isRunning) ping().catch((error) => {
|
|
191
|
-
customLogger("error", `Scheduled ping failed: ${error.message}`);
|
|
192
|
-
});
|
|
193
|
-
}, interval);
|
|
194
|
-
};
|
|
195
|
-
const stop = () => {
|
|
196
|
-
if (!isRunning) {
|
|
197
|
-
customLogger("warn", "Ping monitor is not running");
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
customLogger("info", "Stopping ping monitor");
|
|
201
|
-
isRunning = false;
|
|
202
|
-
if (intervalId) {
|
|
203
|
-
clearInterval(intervalId);
|
|
204
|
-
intervalId = null;
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
const cleanup = () => {
|
|
208
|
-
stop();
|
|
209
|
-
customLogger("debug", "Ping monitor cleaned up");
|
|
210
|
-
};
|
|
211
|
-
return {
|
|
212
|
-
start,
|
|
213
|
-
stop,
|
|
214
|
-
get isRunning() {
|
|
215
|
-
return isRunning;
|
|
216
|
-
},
|
|
217
|
-
ping,
|
|
218
|
-
cleanup
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Ping peers from credentials (convenience function)
|
|
223
|
-
*/
|
|
224
|
-
async function pingPeersFromCredentials(groupCredential, shareCredential, options = {}) {
|
|
225
|
-
const { relays = DEFAULT_PING_RELAYS, timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;
|
|
226
|
-
let node = null;
|
|
227
|
-
try {
|
|
228
|
-
node = createBifrostNode({
|
|
229
|
-
group: groupCredential,
|
|
230
|
-
share: shareCredential,
|
|
231
|
-
relays
|
|
232
|
-
}, eventConfig);
|
|
233
|
-
await connectNode(node);
|
|
234
|
-
const { extractPeersFromCredentials } = await import("./peer-CtqL0yiE.mjs");
|
|
235
|
-
const peerPubkeys = extractPeersFromCredentials(groupCredential, shareCredential);
|
|
236
|
-
return await pingPeers(node, peerPubkeys, {
|
|
237
|
-
timeout,
|
|
238
|
-
eventConfig
|
|
239
|
-
});
|
|
240
|
-
} catch (error) {
|
|
241
|
-
throw new NodeError(`Failed to ping peers: ${error.message}`, { error });
|
|
242
|
-
} finally {
|
|
243
|
-
if (node) try {
|
|
244
|
-
closeNode(node);
|
|
245
|
-
} catch (error) {
|
|
246
|
-
console.warn("[pingPeersFromCredentials] Error during cleanup:", error);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Create a comprehensive ping test for network diagnostics
|
|
252
|
-
*/
|
|
253
|
-
async function runPingDiagnostics(node, peerPubkeys, options = {}) {
|
|
254
|
-
const { rounds = 3, timeout = DEFAULT_PING_TIMEOUT, interval = 1e3, eventConfig = { enableLogging: false } } = options;
|
|
255
|
-
const customLogger = (level, message, data) => {
|
|
256
|
-
const prefix = "[PingDiagnostics]";
|
|
257
|
-
if (eventConfig.customLogger) eventConfig.customLogger(level, `${prefix} ${message}`, data);
|
|
258
|
-
else if (eventConfig.enableLogging) console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || "");
|
|
259
|
-
};
|
|
260
|
-
customLogger("info", `Starting ping diagnostics: ${rounds} rounds, ${peerPubkeys.length} peers`);
|
|
261
|
-
const allRounds = [];
|
|
262
|
-
const peerStats = {};
|
|
263
|
-
peerPubkeys.forEach((pubkey) => {
|
|
264
|
-
peerStats[pubkey] = {
|
|
265
|
-
successCount: 0,
|
|
266
|
-
totalAttempts: 0,
|
|
267
|
-
latencies: [],
|
|
268
|
-
averageLatency: 0,
|
|
269
|
-
minLatency: Infinity,
|
|
270
|
-
maxLatency: 0,
|
|
271
|
-
successRate: 0
|
|
272
|
-
};
|
|
273
|
-
});
|
|
274
|
-
for (let round = 0; round < rounds; round++) {
|
|
275
|
-
customLogger("info", `Running ping round ${round + 1}/${rounds}`);
|
|
276
|
-
const results = await pingPeers(node, peerPubkeys, {
|
|
277
|
-
timeout,
|
|
278
|
-
eventConfig
|
|
279
|
-
});
|
|
280
|
-
allRounds.push(results);
|
|
281
|
-
results.forEach((result) => {
|
|
282
|
-
const stats = peerStats[result.pubkey];
|
|
283
|
-
stats.totalAttempts++;
|
|
284
|
-
if (result.success && result.latency !== void 0) {
|
|
285
|
-
stats.successCount++;
|
|
286
|
-
stats.latencies.push(result.latency);
|
|
287
|
-
stats.minLatency = Math.min(stats.minLatency, result.latency);
|
|
288
|
-
stats.maxLatency = Math.max(stats.maxLatency, result.latency);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
if (round < rounds - 1) await new Promise((resolve) => setTimeout(resolve, interval));
|
|
292
|
-
}
|
|
293
|
-
let totalLatencies = [];
|
|
294
|
-
let totalSuccesses = 0;
|
|
295
|
-
let totalAttempts = 0;
|
|
296
|
-
Object.keys(peerStats).forEach((pubkey) => {
|
|
297
|
-
const stats = peerStats[pubkey];
|
|
298
|
-
stats.averageLatency = stats.latencies.length > 0 ? stats.latencies.reduce((a, b) => a + b, 0) / stats.latencies.length : 0;
|
|
299
|
-
stats.successRate = stats.totalAttempts > 0 ? stats.successCount / stats.totalAttempts * 100 : 0;
|
|
300
|
-
if (stats.minLatency === Infinity) stats.minLatency = 0;
|
|
301
|
-
totalLatencies.push(...stats.latencies);
|
|
302
|
-
totalSuccesses += stats.successCount;
|
|
303
|
-
totalAttempts += stats.totalAttempts;
|
|
304
|
-
delete stats.latencies;
|
|
305
|
-
});
|
|
306
|
-
const averageLatency = totalLatencies.length > 0 ? totalLatencies.reduce((a, b) => a + b, 0) / totalLatencies.length : 0;
|
|
307
|
-
const successRate = totalAttempts > 0 ? totalSuccesses / totalAttempts * 100 : 0;
|
|
308
|
-
const peerLatencies = Object.entries(peerStats).filter(([_, stats]) => stats.averageLatency > 0).map(([pubkey, stats]) => ({
|
|
309
|
-
pubkey,
|
|
310
|
-
latency: stats.averageLatency
|
|
311
|
-
}));
|
|
312
|
-
const fastestPeer = peerLatencies.length > 0 ? peerLatencies.reduce((min, peer) => peer.latency < min.latency ? peer : min).pubkey : void 0;
|
|
313
|
-
const slowestPeer = peerLatencies.length > 0 ? peerLatencies.reduce((max, peer) => peer.latency > max.latency ? peer : max).pubkey : void 0;
|
|
314
|
-
const summary = {
|
|
315
|
-
totalRounds: rounds,
|
|
316
|
-
totalPeers: peerPubkeys.length,
|
|
317
|
-
averageLatency: Math.round(averageLatency * 100) / 100,
|
|
318
|
-
successRate: Math.round(successRate * 100) / 100,
|
|
319
|
-
fastestPeer,
|
|
320
|
-
slowestPeer
|
|
321
|
-
};
|
|
322
|
-
customLogger("info", `Ping diagnostics completed`, summary);
|
|
323
|
-
return {
|
|
324
|
-
summary,
|
|
325
|
-
rounds: allRounds,
|
|
326
|
-
peerStats
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
//#endregion
|
|
331
|
-
export { pingPeer as a, runPingDiagnostics as c, createPingMonitor as i, DEFAULT_PING_RELAYS as n, pingPeers as o, DEFAULT_PING_TIMEOUT as r, pingPeersFromCredentials as s, DEFAULT_PING_INTERVAL as t };
|
|
332
|
-
//# sourceMappingURL=ping-DOD50kW_.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ping-DOD50kW_.mjs","names":[],"sources":["../node_modules/@frostr/igloo-core/dist/ping.js"],"sourcesContent":["import { createBifrostNode, connectNode, closeNode } from './node.js';\nimport { NodeError } from './types.js';\n/**\n * Default relay URLs for ping functionality\n */\nexport const DEFAULT_PING_RELAYS = [\n \"wss://relay.damus.io\",\n \"wss://relay.primal.net\"\n];\n/**\n * Default ping timeout in milliseconds\n */\nexport const DEFAULT_PING_TIMEOUT = 5000;\n/**\n * Default ping interval for monitoring in milliseconds\n */\nexport const DEFAULT_PING_INTERVAL = 30000;\n/**\n * Ping a specific peer using bifrost ping protocol\n */\nexport async function pingPeer(node, peerPubkey, options = {}) {\n const { timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;\n return new Promise((resolve) => {\n let isResolved = false;\n let timeoutId = null;\n const startTime = Date.now();\n let onPingResponse = null;\n let onPingError = null;\n const safeResolve = (result) => {\n if (!isResolved) {\n isResolved = true;\n // Clear timeout\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n // Remove event listeners to prevent memory leaks\n if (onPingResponse) {\n const nodeAny = node;\n if (typeof nodeAny.off === 'function') {\n nodeAny.off('/ping/sender/ret', onPingResponse);\n }\n else if (typeof nodeAny.removeListener === 'function') {\n nodeAny.removeListener('/ping/sender/ret', onPingResponse);\n }\n onPingResponse = null;\n }\n if (onPingError) {\n const nodeAny = node;\n if (typeof nodeAny.off === 'function') {\n nodeAny.off('/ping/sender/err', onPingError);\n }\n else if (typeof nodeAny.removeListener === 'function') {\n nodeAny.removeListener('/ping/sender/err', onPingError);\n }\n onPingError = null;\n }\n resolve(result);\n }\n };\n const customLogger = (level, message, data) => {\n const prefix = `[pingPeer:${peerPubkey.slice(0, 8)}]`;\n if (eventConfig.customLogger) {\n eventConfig.customLogger(level, `${prefix} ${message}`, data);\n }\n else if (eventConfig.enableLogging) {\n console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || '');\n }\n };\n // Set up timeout\n timeoutId = setTimeout(() => {\n safeResolve({\n success: false,\n pubkey: peerPubkey,\n error: `Ping timeout after ${timeout}ms`,\n timestamp: new Date()\n });\n }, timeout);\n try {\n // Set up event listeners for ping response\n onPingResponse = (peerData) => {\n if (peerData && peerData.pubkey === peerPubkey) {\n const latency = Date.now() - startTime;\n customLogger('info', `Ping successful, latency: ${latency}ms`);\n safeResolve({\n success: true,\n pubkey: peerPubkey,\n latency,\n policy: peerData.policy,\n timestamp: new Date()\n });\n }\n };\n onPingError = (reason, msg) => {\n customLogger('error', `Ping failed: ${reason}`);\n safeResolve({\n success: false,\n pubkey: peerPubkey,\n error: reason,\n timestamp: new Date()\n });\n };\n // Attach event listeners\n node.on('/ping/sender/ret', onPingResponse);\n node.on('/ping/sender/err', onPingError);\n // Send ping request\n node.req.ping(peerPubkey).then(result => {\n if (result.ok) {\n // Success is handled by the event listener\n customLogger('debug', 'Ping request sent successfully');\n }\n else {\n safeResolve({\n success: false,\n pubkey: peerPubkey,\n error: result.err,\n timestamp: new Date()\n });\n }\n }).catch(error => {\n customLogger('error', `Ping request failed: ${error.message}`);\n safeResolve({\n success: false,\n pubkey: peerPubkey,\n error: error.message,\n timestamp: new Date()\n });\n });\n }\n catch (error) {\n customLogger('error', `Ping setup failed: ${error.message}`);\n safeResolve({\n success: false,\n pubkey: peerPubkey,\n error: error.message,\n timestamp: new Date()\n });\n }\n });\n}\n/**\n * Ping multiple peers concurrently\n */\nexport async function pingPeers(node, peerPubkeys, options = {}) {\n const { timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;\n const customLogger = (level, message, data) => {\n const prefix = '[pingPeers]';\n if (eventConfig.customLogger) {\n eventConfig.customLogger(level, `${prefix} ${message}`, data);\n }\n else if (eventConfig.enableLogging) {\n console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || '');\n }\n };\n customLogger('info', `Pinging ${peerPubkeys.length} peers`);\n try {\n // Ping all peers concurrently\n const pingPromises = peerPubkeys.map(pubkey => pingPeer(node, pubkey, { timeout, eventConfig }));\n const results = await Promise.all(pingPromises);\n const successCount = results.filter(r => r.success).length;\n customLogger('info', `Ping completed: ${successCount}/${results.length} peers responded`);\n return results;\n }\n catch (error) {\n customLogger('error', `Ping operation failed: ${error.message}`);\n // Return failed results for all peers\n return peerPubkeys.map(pubkey => ({\n success: false,\n pubkey,\n error: error.message,\n timestamp: new Date()\n }));\n }\n}\n/**\n * Create a ping monitor for continuous peer monitoring\n */\nexport function createPingMonitor(node, peerPubkeys, config = {}) {\n const { interval = DEFAULT_PING_INTERVAL, timeout = DEFAULT_PING_TIMEOUT, onPingResult, onError, relays = DEFAULT_PING_RELAYS, eventConfig = { enableLogging: false } } = config;\n let intervalId = null;\n let isRunning = false;\n const customLogger = (level, message, data) => {\n const prefix = '[PingMonitor]';\n if (eventConfig.customLogger) {\n eventConfig.customLogger(level, `${prefix} ${message}`, data);\n }\n else if (eventConfig.enableLogging) {\n console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || '');\n }\n };\n const ping = async () => {\n try {\n customLogger('debug', `Pinging ${peerPubkeys.length} peers`);\n const results = await pingPeers(node, peerPubkeys, {\n timeout,\n eventConfig\n });\n // Call result callback for each peer\n if (onPingResult) {\n results.forEach(result => {\n try {\n onPingResult(result);\n }\n catch (error) {\n customLogger('error', `Error in ping result callback: ${error.message}`);\n }\n });\n }\n return results;\n }\n catch (error) {\n customLogger('error', `Ping monitor error: ${error.message}`);\n if (onError) {\n onError(error, 'ping');\n }\n return [];\n }\n };\n const start = () => {\n if (isRunning) {\n customLogger('warn', 'Ping monitor is already running');\n return;\n }\n customLogger('info', `Starting ping monitor (interval: ${interval}ms, timeout: ${timeout}ms)`);\n isRunning = true;\n // Initial ping\n ping().catch(error => {\n customLogger('error', `Initial ping failed: ${error.message}`);\n });\n // Set up interval\n intervalId = setInterval(() => {\n if (isRunning) {\n ping().catch(error => {\n customLogger('error', `Scheduled ping failed: ${error.message}`);\n });\n }\n }, interval);\n };\n const stop = () => {\n if (!isRunning) {\n customLogger('warn', 'Ping monitor is not running');\n return;\n }\n customLogger('info', 'Stopping ping monitor');\n isRunning = false;\n if (intervalId) {\n clearInterval(intervalId);\n intervalId = null;\n }\n };\n const cleanup = () => {\n stop();\n customLogger('debug', 'Ping monitor cleaned up');\n };\n return {\n start,\n stop,\n get isRunning() { return isRunning; },\n ping,\n cleanup\n };\n}\n/**\n * Ping peers from credentials (convenience function)\n */\nexport async function pingPeersFromCredentials(groupCredential, shareCredential, options = {}) {\n const { relays = DEFAULT_PING_RELAYS, timeout = DEFAULT_PING_TIMEOUT, eventConfig = { enableLogging: false } } = options;\n let node = null;\n try {\n // Create temporary node for pinging\n node = createBifrostNode({ group: groupCredential, share: shareCredential, relays }, eventConfig);\n await connectNode(node);\n // Extract peer pubkeys from the group\n const { extractPeersFromCredentials } = await import('./peer.js');\n const peerPubkeys = extractPeersFromCredentials(groupCredential, shareCredential);\n // Ping all peers\n const results = await pingPeers(node, peerPubkeys, { timeout, eventConfig });\n return results;\n }\n catch (error) {\n throw new NodeError(`Failed to ping peers: ${error.message}`, { error });\n }\n finally {\n if (node) {\n try {\n closeNode(node);\n }\n catch (error) {\n console.warn('[pingPeersFromCredentials] Error during cleanup:', error);\n }\n }\n }\n}\n/**\n * Create a comprehensive ping test for network diagnostics\n */\nexport async function runPingDiagnostics(node, peerPubkeys, options = {}) {\n const { rounds = 3, timeout = DEFAULT_PING_TIMEOUT, interval = 1000, eventConfig = { enableLogging: false } } = options;\n const customLogger = (level, message, data) => {\n const prefix = '[PingDiagnostics]';\n if (eventConfig.customLogger) {\n eventConfig.customLogger(level, `${prefix} ${message}`, data);\n }\n else if (eventConfig.enableLogging) {\n console.log(`${prefix} [${level.toUpperCase()}] ${message}`, data || '');\n }\n };\n customLogger('info', `Starting ping diagnostics: ${rounds} rounds, ${peerPubkeys.length} peers`);\n const allRounds = [];\n const peerStats = {};\n // Initialize peer stats\n peerPubkeys.forEach(pubkey => {\n peerStats[pubkey] = {\n successCount: 0,\n totalAttempts: 0,\n latencies: [],\n averageLatency: 0,\n minLatency: Infinity,\n maxLatency: 0,\n successRate: 0\n };\n });\n // Run ping rounds\n for (let round = 0; round < rounds; round++) {\n customLogger('info', `Running ping round ${round + 1}/${rounds}`);\n const results = await pingPeers(node, peerPubkeys, { timeout, eventConfig });\n allRounds.push(results);\n // Update peer stats\n results.forEach(result => {\n const stats = peerStats[result.pubkey];\n stats.totalAttempts++;\n if (result.success && result.latency !== undefined) {\n stats.successCount++;\n stats.latencies.push(result.latency);\n stats.minLatency = Math.min(stats.minLatency, result.latency);\n stats.maxLatency = Math.max(stats.maxLatency, result.latency);\n }\n });\n // Wait between rounds (except for the last round)\n if (round < rounds - 1) {\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n }\n // Calculate final statistics\n let totalLatencies = [];\n let totalSuccesses = 0;\n let totalAttempts = 0;\n Object.keys(peerStats).forEach(pubkey => {\n const stats = peerStats[pubkey];\n stats.averageLatency = stats.latencies.length > 0\n ? stats.latencies.reduce((a, b) => a + b, 0) / stats.latencies.length\n : 0;\n stats.successRate = stats.totalAttempts > 0\n ? (stats.successCount / stats.totalAttempts) * 100\n : 0;\n if (stats.minLatency === Infinity)\n stats.minLatency = 0;\n totalLatencies.push(...stats.latencies);\n totalSuccesses += stats.successCount;\n totalAttempts += stats.totalAttempts;\n // Remove internal latencies array from final output\n delete stats.latencies;\n });\n const averageLatency = totalLatencies.length > 0\n ? totalLatencies.reduce((a, b) => a + b, 0) / totalLatencies.length\n : 0;\n const successRate = totalAttempts > 0 ? (totalSuccesses / totalAttempts) * 100 : 0;\n // Find fastest and slowest peers\n const peerLatencies = Object.entries(peerStats)\n .filter(([_, stats]) => stats.averageLatency > 0)\n .map(([pubkey, stats]) => ({ pubkey, latency: stats.averageLatency }));\n const fastestPeer = peerLatencies.length > 0\n ? peerLatencies.reduce((min, peer) => peer.latency < min.latency ? peer : min).pubkey\n : undefined;\n const slowestPeer = peerLatencies.length > 0\n ? peerLatencies.reduce((max, peer) => peer.latency > max.latency ? peer : max).pubkey\n : undefined;\n const summary = {\n totalRounds: rounds,\n totalPeers: peerPubkeys.length,\n averageLatency: Math.round(averageLatency * 100) / 100,\n successRate: Math.round(successRate * 100) / 100,\n fastestPeer,\n slowestPeer\n };\n customLogger('info', `Ping diagnostics completed`, summary);\n return {\n summary,\n rounds: allRounds,\n peerStats\n };\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
package/dist/policy-8HcjulLD.cjs
DELETED
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
const require_types = require('./types-B-TLIS13.cjs');
|
|
2
|
-
const require_nostr = require('./nostr-Hv2tsnuI.cjs');
|
|
3
|
-
|
|
4
|
-
//#region node_modules/@frostr/igloo-core/dist/policy.js
|
|
5
|
-
const COMPRESSED_PUBKEY_REGEX = /^(02|03)[0-9a-fA-F]{64}$/;
|
|
6
|
-
const STRIPPED_PUBKEY_REGEX = /^[0-9a-fA-F]{64}$/;
|
|
7
|
-
const policyMetadataStore = /* @__PURE__ */ new WeakMap();
|
|
8
|
-
function normalizePolicyPubkey(pubkey) {
|
|
9
|
-
if (!pubkey) throw new require_types.PolicyError("Peer pubkey is required");
|
|
10
|
-
let normalized = pubkey.trim();
|
|
11
|
-
if (normalized.startsWith("npub")) try {
|
|
12
|
-
normalized = require_nostr.npubToHex(normalized);
|
|
13
|
-
} catch (error) {
|
|
14
|
-
throw new require_types.PolicyError("Failed to convert npub to hex", {
|
|
15
|
-
pubkey,
|
|
16
|
-
error
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
if (COMPRESSED_PUBKEY_REGEX.test(normalized)) normalized = normalized.slice(2);
|
|
20
|
-
if (STRIPPED_PUBKEY_REGEX.test(normalized)) return normalized.toLowerCase();
|
|
21
|
-
throw new require_types.PolicyError("Peer pubkey must be a 64-character hex string", { pubkey });
|
|
22
|
-
}
|
|
23
|
-
function normalizePeerPubkeyLoose(pubkey) {
|
|
24
|
-
if (!pubkey) return "";
|
|
25
|
-
const trimmed = pubkey.trim();
|
|
26
|
-
if (STRIPPED_PUBKEY_REGEX.test(trimmed)) return trimmed.toLowerCase();
|
|
27
|
-
if (COMPRESSED_PUBKEY_REGEX.test(trimmed)) return trimmed.slice(2).toLowerCase();
|
|
28
|
-
return trimmed.toLowerCase();
|
|
29
|
-
}
|
|
30
|
-
function extractPolicyExtras(policy) {
|
|
31
|
-
const { label, roles, metadata, note, source } = policy;
|
|
32
|
-
const extras = {};
|
|
33
|
-
if (label) extras.label = label;
|
|
34
|
-
if (roles && roles.length) extras.roles = [...roles];
|
|
35
|
-
if (metadata && Object.keys(metadata).length) extras.metadata = metadata;
|
|
36
|
-
if (note) extras.note = note;
|
|
37
|
-
if (source) extras.source = source;
|
|
38
|
-
return Object.keys(extras).length ? extras : void 0;
|
|
39
|
-
}
|
|
40
|
-
function getPolicyMetadataMap(node) {
|
|
41
|
-
let map = policyMetadataStore.get(node);
|
|
42
|
-
if (!map) {
|
|
43
|
-
map = /* @__PURE__ */ new Map();
|
|
44
|
-
policyMetadataStore.set(node, map);
|
|
45
|
-
}
|
|
46
|
-
return map;
|
|
47
|
-
}
|
|
48
|
-
function normalizeNodePolicyInputInternal(policy) {
|
|
49
|
-
const parsed = require_types.NodePolicyInputSchema.parse(policy);
|
|
50
|
-
return {
|
|
51
|
-
pubkey: normalizePolicyPubkey(parsed.pubkey),
|
|
52
|
-
allowSend: parsed.allowSend ?? parsed.send ?? parsed.policy?.send ?? true,
|
|
53
|
-
allowReceive: parsed.allowReceive ?? parsed.recv ?? parsed.policy?.recv ?? true,
|
|
54
|
-
label: parsed.label,
|
|
55
|
-
roles: parsed.roles,
|
|
56
|
-
metadata: parsed.metadata,
|
|
57
|
-
note: parsed.note,
|
|
58
|
-
source: parsed.source ?? "config"
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function normalizeNodePolicyInput(policy) {
|
|
62
|
-
return normalizeNodePolicyInputInternal(policy);
|
|
63
|
-
}
|
|
64
|
-
function normalizeNodePolicies(policies) {
|
|
65
|
-
if (!policies || policies.length === 0) return [];
|
|
66
|
-
const dedup = /* @__PURE__ */ new Map();
|
|
67
|
-
for (const policy of policies) {
|
|
68
|
-
const normalized = normalizeNodePolicyInputInternal(policy);
|
|
69
|
-
dedup.set(normalized.pubkey, normalized);
|
|
70
|
-
}
|
|
71
|
-
return Array.from(dedup.values());
|
|
72
|
-
}
|
|
73
|
-
function toPeerConfig(policy) {
|
|
74
|
-
return {
|
|
75
|
-
pubkey: policy.pubkey,
|
|
76
|
-
policy: {
|
|
77
|
-
send: policy.allowSend,
|
|
78
|
-
recv: policy.allowReceive
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
function prepareNodePolicies(policies) {
|
|
83
|
-
const normalizedPolicies = normalizeNodePolicies(policies);
|
|
84
|
-
return {
|
|
85
|
-
peerConfigs: normalizedPolicies.map(toPeerConfig),
|
|
86
|
-
normalizedPolicies
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function syncPolicyMetadata(node, policies, merge) {
|
|
90
|
-
const map = getPolicyMetadataMap(node);
|
|
91
|
-
if (!merge) map.clear();
|
|
92
|
-
for (const policy of policies) {
|
|
93
|
-
const extras = extractPolicyExtras(policy);
|
|
94
|
-
if (extras) if (merge && map.has(policy.pubkey)) map.set(policy.pubkey, {
|
|
95
|
-
...map.get(policy.pubkey),
|
|
96
|
-
...extras
|
|
97
|
-
});
|
|
98
|
-
else map.set(policy.pubkey, extras);
|
|
99
|
-
else if (!merge) map.delete(policy.pubkey);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
function syncPeersWithPolicies(node, policyMap, merge) {
|
|
103
|
-
const peers = node.peers;
|
|
104
|
-
if (!peers) return;
|
|
105
|
-
for (const peer of peers) {
|
|
106
|
-
const key = normalizePeerPubkeyLoose(peer.pubkey);
|
|
107
|
-
const policy = policyMap.get(key);
|
|
108
|
-
if (policy) peer.policy = {
|
|
109
|
-
send: policy.send,
|
|
110
|
-
recv: policy.recv
|
|
111
|
-
};
|
|
112
|
-
else if (!merge) peer.policy = {
|
|
113
|
-
send: true,
|
|
114
|
-
recv: true
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
function collectPolicyMapFromConfig(node) {
|
|
119
|
-
const map = /* @__PURE__ */ new Map();
|
|
120
|
-
const configPolicies = node.config?.policies;
|
|
121
|
-
if (!configPolicies) return map;
|
|
122
|
-
for (const peerConfig of configPolicies) {
|
|
123
|
-
const key = normalizePeerPubkeyLoose(peerConfig.pubkey);
|
|
124
|
-
const send = peerConfig.policy?.send ?? true;
|
|
125
|
-
const recv = peerConfig.policy?.recv ?? true;
|
|
126
|
-
map.set(key, {
|
|
127
|
-
send,
|
|
128
|
-
recv
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
return map;
|
|
132
|
-
}
|
|
133
|
-
function buildNodePolicySummary(pubkey, policy, peer, extras, defaultSource) {
|
|
134
|
-
const status = peer?.status === "online" || peer?.status === "offline" ? peer.status : "unknown";
|
|
135
|
-
const lastUpdated = typeof peer?.updated === "number" && !Number.isNaN(peer.updated) ? new Date(peer.updated) : void 0;
|
|
136
|
-
return {
|
|
137
|
-
pubkey,
|
|
138
|
-
allowSend: policy.send,
|
|
139
|
-
allowReceive: policy.recv,
|
|
140
|
-
label: extras?.label,
|
|
141
|
-
roles: extras?.roles,
|
|
142
|
-
metadata: extras?.metadata,
|
|
143
|
-
note: extras?.note,
|
|
144
|
-
source: extras?.source ?? defaultSource,
|
|
145
|
-
status,
|
|
146
|
-
lastUpdated
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
function registerNodePolicyMetadata(node, policies) {
|
|
150
|
-
if (!policies.length) return;
|
|
151
|
-
syncPolicyMetadata(node, policies, false);
|
|
152
|
-
}
|
|
153
|
-
function setNodePolicies(node, policies, options = {}) {
|
|
154
|
-
const { merge = false } = options;
|
|
155
|
-
const { normalizedPolicies } = prepareNodePolicies(policies);
|
|
156
|
-
const policyMap = merge ? collectPolicyMapFromConfig(node) : /* @__PURE__ */ new Map();
|
|
157
|
-
for (const policy of normalizedPolicies) policyMap.set(policy.pubkey, {
|
|
158
|
-
send: policy.allowSend,
|
|
159
|
-
recv: policy.allowReceive
|
|
160
|
-
});
|
|
161
|
-
const config = node.config;
|
|
162
|
-
if (!config) throw new require_types.PolicyError("Bifrost node config is not available");
|
|
163
|
-
config.policies = Array.from(policyMap.entries()).map(([pubkey, policy]) => ({
|
|
164
|
-
pubkey,
|
|
165
|
-
policy
|
|
166
|
-
}));
|
|
167
|
-
syncPeersWithPolicies(node, policyMap, merge);
|
|
168
|
-
syncPolicyMetadata(node, normalizedPolicies, merge);
|
|
169
|
-
return getNodePolicies(node);
|
|
170
|
-
}
|
|
171
|
-
function updateNodePolicy(node, policy) {
|
|
172
|
-
const summaries = setNodePolicies(node, [policy], { merge: true });
|
|
173
|
-
const targetPubkey = normalizePolicyPubkey(policy.pubkey);
|
|
174
|
-
return summaries.find((summary) => summary.pubkey === targetPubkey);
|
|
175
|
-
}
|
|
176
|
-
function getNodePolicies(node) {
|
|
177
|
-
const peers = node.peers;
|
|
178
|
-
const configMap = collectPolicyMapFromConfig(node);
|
|
179
|
-
const metadataMap = getPolicyMetadataMap(node);
|
|
180
|
-
const summaries = [];
|
|
181
|
-
const seen = /* @__PURE__ */ new Set();
|
|
182
|
-
if (peers) for (const peer of peers) {
|
|
183
|
-
const key = normalizePeerPubkeyLoose(peer.pubkey);
|
|
184
|
-
const policy = configMap.get(key) ?? peer.policy ?? {
|
|
185
|
-
send: true,
|
|
186
|
-
recv: true
|
|
187
|
-
};
|
|
188
|
-
const extras = metadataMap.get(key);
|
|
189
|
-
summaries.push(buildNodePolicySummary(key, policy, peer, extras, "runtime"));
|
|
190
|
-
seen.add(key);
|
|
191
|
-
}
|
|
192
|
-
for (const [pubkey, policy] of configMap.entries()) {
|
|
193
|
-
if (seen.has(pubkey)) continue;
|
|
194
|
-
const extras = metadataMap.get(pubkey);
|
|
195
|
-
summaries.push(buildNodePolicySummary(pubkey, policy, void 0, extras, "config"));
|
|
196
|
-
}
|
|
197
|
-
return summaries.sort((a, b) => a.pubkey.localeCompare(b.pubkey));
|
|
198
|
-
}
|
|
199
|
-
function getNodePolicy(node, pubkey) {
|
|
200
|
-
const normalized = normalizePolicyPubkey(pubkey);
|
|
201
|
-
return getNodePolicies(node).find((policy) => policy.pubkey === normalized);
|
|
202
|
-
}
|
|
203
|
-
function canSendToPeer(node, pubkey) {
|
|
204
|
-
const normalized = normalizePolicyPubkey(pubkey);
|
|
205
|
-
const configMap = collectPolicyMapFromConfig(node);
|
|
206
|
-
if (configMap.has(normalized)) return configMap.get(normalized).send !== false;
|
|
207
|
-
return (node.peers?.find((p) => normalizePeerPubkeyLoose(p.pubkey) === normalized))?.policy?.send ?? true;
|
|
208
|
-
}
|
|
209
|
-
function canReceiveFromPeer(node, pubkey) {
|
|
210
|
-
const normalized = normalizePolicyPubkey(pubkey);
|
|
211
|
-
const configMap = collectPolicyMapFromConfig(node);
|
|
212
|
-
if (configMap.has(normalized)) return configMap.get(normalized).recv !== false;
|
|
213
|
-
return (node.peers?.find((p) => normalizePeerPubkeyLoose(p.pubkey) === normalized))?.policy?.recv ?? true;
|
|
214
|
-
}
|
|
215
|
-
function summarizeNodePolicyMatrix(node) {
|
|
216
|
-
return getNodePolicies(node).reduce((acc, summary) => {
|
|
217
|
-
acc[summary.pubkey] = {
|
|
218
|
-
send: summary.allowSend,
|
|
219
|
-
recv: summary.allowReceive,
|
|
220
|
-
status: summary.status
|
|
221
|
-
};
|
|
222
|
-
return acc;
|
|
223
|
-
}, {});
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
//#endregion
|
|
227
|
-
Object.defineProperty(exports, 'canReceiveFromPeer', {
|
|
228
|
-
enumerable: true,
|
|
229
|
-
get: function () {
|
|
230
|
-
return canReceiveFromPeer;
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
Object.defineProperty(exports, 'canSendToPeer', {
|
|
234
|
-
enumerable: true,
|
|
235
|
-
get: function () {
|
|
236
|
-
return canSendToPeer;
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
Object.defineProperty(exports, 'getNodePolicies', {
|
|
240
|
-
enumerable: true,
|
|
241
|
-
get: function () {
|
|
242
|
-
return getNodePolicies;
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
Object.defineProperty(exports, 'getNodePolicy', {
|
|
246
|
-
enumerable: true,
|
|
247
|
-
get: function () {
|
|
248
|
-
return getNodePolicy;
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
Object.defineProperty(exports, 'normalizeNodePolicies', {
|
|
252
|
-
enumerable: true,
|
|
253
|
-
get: function () {
|
|
254
|
-
return normalizeNodePolicies;
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
Object.defineProperty(exports, 'normalizeNodePolicyInput', {
|
|
258
|
-
enumerable: true,
|
|
259
|
-
get: function () {
|
|
260
|
-
return normalizeNodePolicyInput;
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
Object.defineProperty(exports, 'prepareNodePolicies', {
|
|
264
|
-
enumerable: true,
|
|
265
|
-
get: function () {
|
|
266
|
-
return prepareNodePolicies;
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
Object.defineProperty(exports, 'registerNodePolicyMetadata', {
|
|
270
|
-
enumerable: true,
|
|
271
|
-
get: function () {
|
|
272
|
-
return registerNodePolicyMetadata;
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
Object.defineProperty(exports, 'setNodePolicies', {
|
|
276
|
-
enumerable: true,
|
|
277
|
-
get: function () {
|
|
278
|
-
return setNodePolicies;
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
Object.defineProperty(exports, 'summarizeNodePolicyMatrix', {
|
|
282
|
-
enumerable: true,
|
|
283
|
-
get: function () {
|
|
284
|
-
return summarizeNodePolicyMatrix;
|
|
285
|
-
}
|
|
286
|
-
});
|
|
287
|
-
Object.defineProperty(exports, 'updateNodePolicy', {
|
|
288
|
-
enumerable: true,
|
|
289
|
-
get: function () {
|
|
290
|
-
return updateNodePolicy;
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
//# sourceMappingURL=policy-8HcjulLD.cjs.map
|