nostr-double-ratchet 0.0.27 → 0.0.29

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.
@@ -1,20 +1,20 @@
1
- var bi = Object.defineProperty;
2
- var vi = (e, t, n) => t in e ? bi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var J = (e, t, n) => vi(e, typeof t != "symbol" ? t + "" : t, n);
4
- function Sn(e) {
1
+ var Ni = Object.defineProperty;
2
+ var Ki = (e, t, n) => t in e ? Ni(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var J = (e, t, n) => Ki(e, typeof t != "symbol" ? t + "" : t, n);
4
+ function Bn(e) {
5
5
  if (!Number.isSafeInteger(e) || e < 0)
6
6
  throw new Error(`Wrong positive integer: ${e}`);
7
7
  }
8
- function zn(e, ...t) {
8
+ function Fn(e, ...t) {
9
9
  if (!(e instanceof Uint8Array))
10
10
  throw new Error("Expected Uint8Array");
11
11
  if (t.length > 0 && !t.includes(e.length))
12
12
  throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`);
13
13
  }
14
- function mi(e) {
14
+ function Si(e) {
15
15
  if (typeof e != "function" || typeof e.create != "function")
16
16
  throw new Error("Hash should be wrapped by utils.wrapConstructor");
17
- Sn(e.outputLen), Sn(e.blockLen);
17
+ Bn(e.outputLen), Bn(e.blockLen);
18
18
  }
19
19
  function et(e, t = !0) {
20
20
  if (e.destroyed)
@@ -22,60 +22,60 @@ function et(e, t = !0) {
22
22
  if (t && e.finished)
23
23
  throw new Error("Hash#digest() has already been called");
24
24
  }
25
- function Ei(e, t) {
26
- zn(e);
25
+ function Ai(e, t) {
26
+ Fn(e);
27
27
  const n = t.outputLen;
28
28
  if (e.length < n)
29
29
  throw new Error(`digestInto() expects output buffer of length at least ${n}`);
30
30
  }
31
31
  const xt = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
32
32
  /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
33
- const Vn = (e) => e instanceof Uint8Array, Kt = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength), re = (e, t) => e << 32 - t | e >>> t, xi = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
34
- if (!xi)
33
+ const Gn = (e) => e instanceof Uint8Array, Nt = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength), re = (e, t) => e << 32 - t | e >>> t, Ci = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
34
+ if (!Ci)
35
35
  throw new Error("Non little-endian hardware is not supported");
36
- function Ki(e) {
36
+ function Bi(e) {
37
37
  if (typeof e != "string")
38
38
  throw new Error(`utf8ToBytes expected string, got ${typeof e}`);
39
39
  return new Uint8Array(new TextEncoder().encode(e));
40
40
  }
41
41
  function Wt(e) {
42
- if (typeof e == "string" && (e = Ki(e)), !Vn(e))
42
+ if (typeof e == "string" && (e = Bi(e)), !Gn(e))
43
43
  throw new Error(`expected Uint8Array, got ${typeof e}`);
44
44
  return e;
45
45
  }
46
- function Ni(...e) {
46
+ function ki(...e) {
47
47
  const t = new Uint8Array(e.reduce((r, i) => r + i.length, 0));
48
48
  let n = 0;
49
49
  return e.forEach((r) => {
50
- if (!Vn(r))
50
+ if (!Gn(r))
51
51
  throw new Error("Uint8Array expected");
52
52
  t.set(r, n), n += r.length;
53
53
  }), t;
54
54
  }
55
- let Wn = class {
55
+ let Jn = class {
56
56
  // Safe version that clones internal state
57
57
  clone() {
58
58
  return this._cloneInto();
59
59
  }
60
60
  };
61
- function Si(e) {
61
+ function Ii(e) {
62
62
  const t = (r) => e().update(Wt(r)).digest(), n = e();
63
63
  return t.outputLen = n.outputLen, t.blockLen = n.blockLen, t.create = () => e(), t;
64
64
  }
65
- function Zn(e = 32) {
65
+ function Yn(e = 32) {
66
66
  if (xt && typeof xt.getRandomValues == "function")
67
67
  return xt.getRandomValues(new Uint8Array(e));
68
68
  throw new Error("crypto.getRandomValues must be defined");
69
69
  }
70
- function Ai(e, t, n, r) {
70
+ function _i(e, t, n, r) {
71
71
  if (typeof e.setBigUint64 == "function")
72
72
  return e.setBigUint64(t, n, r);
73
73
  const i = BigInt(32), s = BigInt(4294967295), o = Number(n >> i & s), c = Number(n & s), a = r ? 4 : 0, l = r ? 0 : 4;
74
74
  e.setUint32(t + a, o, r), e.setUint32(t + l, c, r);
75
75
  }
76
- let Ci = class extends Wn {
76
+ let Ui = class extends Jn {
77
77
  constructor(t, n, r, i) {
78
- super(), this.blockLen = t, this.outputLen = n, this.padOffset = r, this.isLE = i, this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.buffer = new Uint8Array(t), this.view = Kt(this.buffer);
78
+ super(), this.blockLen = t, this.outputLen = n, this.padOffset = r, this.isLE = i, this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.buffer = new Uint8Array(t), this.view = Nt(this.buffer);
79
79
  }
80
80
  update(t) {
81
81
  et(this);
@@ -85,7 +85,7 @@ let Ci = class extends Wn {
85
85
  for (let o = 0; o < s; ) {
86
86
  const c = Math.min(i - this.pos, s - o);
87
87
  if (c === i) {
88
- const a = Kt(t);
88
+ const a = Nt(t);
89
89
  for (; i <= s - o; o += i)
90
90
  this.process(a, o);
91
91
  continue;
@@ -95,14 +95,14 @@ let Ci = class extends Wn {
95
95
  return this.length += t.length, this.roundClean(), this;
96
96
  }
97
97
  digestInto(t) {
98
- et(this), Ei(t, this), this.finished = !0;
98
+ et(this), Ai(t, this), this.finished = !0;
99
99
  const { buffer: n, view: r, blockLen: i, isLE: s } = this;
100
100
  let { pos: o } = this;
101
101
  n[o++] = 128, this.buffer.subarray(o).fill(0), this.padOffset > i - o && (this.process(r, 0), o = 0);
102
102
  for (let u = o; u < i; u++)
103
103
  n[u] = 0;
104
- Ai(r, i - 8, BigInt(this.length * 8), s), this.process(r, 0);
105
- const c = Kt(t), a = this.outputLen;
104
+ _i(r, i - 8, BigInt(this.length * 8), s), this.process(r, 0);
105
+ const c = Nt(t), a = this.outputLen;
106
106
  if (a % 4)
107
107
  throw new Error("_sha2: outputLen should be aligned to 32bit");
108
108
  const l = a / 4, f = this.get();
@@ -123,7 +123,7 @@ let Ci = class extends Wn {
123
123
  return t.length = i, t.pos = c, t.finished = s, t.destroyed = o, i % n && t.buffer.set(r), t;
124
124
  }
125
125
  };
126
- const Bi = (e, t, n) => e & t ^ ~e & n, ki = (e, t, n) => e & t ^ e & n ^ t & n, _i = /* @__PURE__ */ new Uint32Array([
126
+ const Li = (e, t, n) => e & t ^ ~e & n, $i = (e, t, n) => e & t ^ e & n ^ t & n, Ri = /* @__PURE__ */ new Uint32Array([
127
127
  1116352408,
128
128
  1899447441,
129
129
  3049323471,
@@ -198,7 +198,7 @@ const Bi = (e, t, n) => e & t ^ ~e & n, ki = (e, t, n) => e & t ^ e & n ^ t & n,
198
198
  528734635,
199
199
  1541459225
200
200
  ]), ve = /* @__PURE__ */ new Uint32Array(64);
201
- let Ii = class extends Ci {
201
+ let Ti = class extends Ui {
202
202
  constructor() {
203
203
  super(64, 32, 8, !1), this.A = be[0] | 0, this.B = be[1] | 0, this.C = be[2] | 0, this.D = be[3] | 0, this.E = be[4] | 0, this.F = be[5] | 0, this.G = be[6] | 0, this.H = be[7] | 0;
204
204
  }
@@ -214,12 +214,12 @@ let Ii = class extends Ci {
214
214
  for (let u = 0; u < 16; u++, n += 4)
215
215
  ve[u] = t.getUint32(n, !1);
216
216
  for (let u = 16; u < 64; u++) {
217
- const g = ve[u - 15], w = ve[u - 2], p = re(g, 7) ^ re(g, 18) ^ g >>> 3, h = re(w, 17) ^ re(w, 19) ^ w >>> 10;
218
- ve[u] = h + ve[u - 7] + p + ve[u - 16] | 0;
217
+ const p = ve[u - 15], w = ve[u - 2], g = re(p, 7) ^ re(p, 18) ^ p >>> 3, h = re(w, 17) ^ re(w, 19) ^ w >>> 10;
218
+ ve[u] = h + ve[u - 7] + g + ve[u - 16] | 0;
219
219
  }
220
220
  let { A: r, B: i, C: s, D: o, E: c, F: a, G: l, H: f } = this;
221
221
  for (let u = 0; u < 64; u++) {
222
- const g = re(c, 6) ^ re(c, 11) ^ re(c, 25), w = f + g + Bi(c, a, l) + _i[u] + ve[u] | 0, h = (re(r, 2) ^ re(r, 13) ^ re(r, 22)) + ki(r, i, s) | 0;
222
+ const p = re(c, 6) ^ re(c, 11) ^ re(c, 25), w = f + p + Li(c, a, l) + Ri[u] + ve[u] | 0, h = (re(r, 2) ^ re(r, 13) ^ re(r, 22)) + $i(r, i, s) | 0;
223
223
  f = l, l = a, a = c, c = o + w | 0, o = s, s = i, i = r, r = w + h | 0;
224
224
  }
225
225
  r = r + this.A | 0, i = i + this.B | 0, s = s + this.C | 0, o = o + this.D | 0, c = c + this.E | 0, a = a + this.F | 0, l = l + this.G | 0, f = f + this.H | 0, this.set(r, i, s, o, c, a, l, f);
@@ -231,22 +231,22 @@ let Ii = class extends Ci {
231
231
  this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0);
232
232
  }
233
233
  };
234
- const Lt = /* @__PURE__ */ Si(() => new Ii());
234
+ const Lt = /* @__PURE__ */ Ii(() => new Ti());
235
235
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
236
- const Gn = BigInt(0), ot = BigInt(1), Ui = BigInt(2), at = (e) => e instanceof Uint8Array, Li = /* @__PURE__ */ Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, "0"));
236
+ const Xn = BigInt(0), at = BigInt(1), Oi = BigInt(2), ct = (e) => e instanceof Uint8Array, Mi = /* @__PURE__ */ Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, "0"));
237
237
  function De(e) {
238
- if (!at(e))
238
+ if (!ct(e))
239
239
  throw new Error("Uint8Array expected");
240
240
  let t = "";
241
241
  for (let n = 0; n < e.length; n++)
242
- t += Li[e[n]];
242
+ t += Mi[e[n]];
243
243
  return t;
244
244
  }
245
- function Fn(e) {
245
+ function Qn(e) {
246
246
  const t = e.toString(16);
247
247
  return t.length & 1 ? `0${t}` : t;
248
248
  }
249
- function Zt(e) {
249
+ function Vt(e) {
250
250
  if (typeof e != "string")
251
251
  throw new Error("hex string expected, got " + typeof e);
252
252
  return BigInt(e === "" ? "0" : `0x${e}`);
@@ -266,22 +266,22 @@ function je(e) {
266
266
  }
267
267
  return n;
268
268
  }
269
- function F(e) {
270
- return Zt(De(e));
269
+ function G(e) {
270
+ return Vt(De(e));
271
271
  }
272
- function Gt(e) {
273
- if (!at(e))
272
+ function Zt(e) {
273
+ if (!ct(e))
274
274
  throw new Error("Uint8Array expected");
275
- return Zt(De(Uint8Array.from(e).reverse()));
275
+ return Vt(De(Uint8Array.from(e).reverse()));
276
276
  }
277
- function Ne(e, t) {
277
+ function Ke(e, t) {
278
278
  return je(e.toString(16).padStart(t * 2, "0"));
279
279
  }
280
280
  function Ft(e, t) {
281
- return Ne(e, t).reverse();
281
+ return Ke(e, t).reverse();
282
282
  }
283
- function $i(e) {
284
- return je(Fn(e));
283
+ function Pi(e) {
284
+ return je(Qn(e));
285
285
  }
286
286
  function Z(e, t, n) {
287
287
  let r;
@@ -291,7 +291,7 @@ function Z(e, t, n) {
291
291
  } catch (s) {
292
292
  throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${s}`);
293
293
  }
294
- else if (at(t))
294
+ else if (ct(t))
295
295
  r = Uint8Array.from(t);
296
296
  else
297
297
  throw new Error(`${e} must be hex string or Uint8Array`);
@@ -300,16 +300,16 @@ function Z(e, t, n) {
300
300
  throw new Error(`${e} expected ${n} bytes, got ${i}`);
301
301
  return r;
302
302
  }
303
- function _e(...e) {
303
+ function Ie(...e) {
304
304
  const t = new Uint8Array(e.reduce((r, i) => r + i.length, 0));
305
305
  let n = 0;
306
306
  return e.forEach((r) => {
307
- if (!at(r))
307
+ if (!ct(r))
308
308
  throw new Error("Uint8Array expected");
309
309
  t.set(r, n), n += r.length;
310
310
  }), t;
311
311
  }
312
- function Ti(e, t) {
312
+ function Hi(e, t) {
313
313
  if (e.length !== t.length)
314
314
  return !1;
315
315
  for (let n = 0; n < e.length; n++)
@@ -317,54 +317,54 @@ function Ti(e, t) {
317
317
  return !1;
318
318
  return !0;
319
319
  }
320
- function Ri(e) {
320
+ function qi(e) {
321
321
  if (typeof e != "string")
322
322
  throw new Error(`utf8ToBytes expected string, got ${typeof e}`);
323
323
  return new Uint8Array(new TextEncoder().encode(e));
324
324
  }
325
- function Oi(e) {
325
+ function Di(e) {
326
326
  let t;
327
- for (t = 0; e > Gn; e >>= ot, t += 1)
327
+ for (t = 0; e > Xn; e >>= at, t += 1)
328
328
  ;
329
329
  return t;
330
330
  }
331
- function Pi(e, t) {
332
- return e >> BigInt(t) & ot;
331
+ function ji(e, t) {
332
+ return e >> BigInt(t) & at;
333
333
  }
334
- const Mi = (e, t, n) => e | (n ? ot : Gn) << BigInt(t), Jt = (e) => (Ui << BigInt(e - 1)) - ot, Nt = (e) => new Uint8Array(e), An = (e) => Uint8Array.from(e);
335
- function Jn(e, t, n) {
334
+ const zi = (e, t, n) => e | (n ? at : Xn) << BigInt(t), Gt = (e) => (Oi << BigInt(e - 1)) - at, Kt = (e) => new Uint8Array(e), kn = (e) => Uint8Array.from(e);
335
+ function er(e, t, n) {
336
336
  if (typeof e != "number" || e < 2)
337
337
  throw new Error("hashLen must be a number");
338
338
  if (typeof t != "number" || t < 2)
339
339
  throw new Error("qByteLen must be a number");
340
340
  if (typeof n != "function")
341
341
  throw new Error("hmacFn must be a function");
342
- let r = Nt(e), i = Nt(e), s = 0;
342
+ let r = Kt(e), i = Kt(e), s = 0;
343
343
  const o = () => {
344
344
  r.fill(1), i.fill(0), s = 0;
345
- }, c = (...u) => n(i, r, ...u), a = (u = Nt()) => {
346
- i = c(An([0]), u), r = c(), u.length !== 0 && (i = c(An([1]), u), r = c());
345
+ }, c = (...u) => n(i, r, ...u), a = (u = Kt()) => {
346
+ i = c(kn([0]), u), r = c(), u.length !== 0 && (i = c(kn([1]), u), r = c());
347
347
  }, l = () => {
348
348
  if (s++ >= 1e3)
349
349
  throw new Error("drbg: tried 1000 values");
350
350
  let u = 0;
351
- const g = [];
351
+ const p = [];
352
352
  for (; u < t; ) {
353
353
  r = c();
354
354
  const w = r.slice();
355
- g.push(w), u += r.length;
355
+ p.push(w), u += r.length;
356
356
  }
357
- return _e(...g);
357
+ return Ie(...p);
358
358
  };
359
- return (u, g) => {
359
+ return (u, p) => {
360
360
  o(), a(u);
361
361
  let w;
362
- for (; !(w = g(l())); )
362
+ for (; !(w = p(l())); )
363
363
  a();
364
364
  return o(), w;
365
365
  };
366
366
  }
367
- const Hi = {
367
+ const Wi = {
368
368
  bigint: (e) => typeof e == "bigint",
369
369
  function: (e) => typeof e == "function",
370
370
  boolean: (e) => typeof e == "boolean",
@@ -377,7 +377,7 @@ const Hi = {
377
377
  };
378
378
  function Ye(e, t, n = {}) {
379
379
  const r = (i, s, o) => {
380
- const c = Hi[s];
380
+ const c = Wi[s];
381
381
  if (typeof c != "function")
382
382
  throw new Error(`Invalid validator "${s}", expected function`);
383
383
  const a = e[i];
@@ -390,73 +390,73 @@ function Ye(e, t, n = {}) {
390
390
  r(i, s, !0);
391
391
  return e;
392
392
  }
393
- const qi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
393
+ const Vi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
394
394
  __proto__: null,
395
- bitGet: Pi,
396
- bitLen: Oi,
397
- bitMask: Jt,
398
- bitSet: Mi,
395
+ bitGet: ji,
396
+ bitLen: Di,
397
+ bitMask: Gt,
398
+ bitSet: zi,
399
399
  bytesToHex: De,
400
- bytesToNumberBE: F,
401
- bytesToNumberLE: Gt,
402
- concatBytes: _e,
403
- createHmacDrbg: Jn,
400
+ bytesToNumberBE: G,
401
+ bytesToNumberLE: Zt,
402
+ concatBytes: Ie,
403
+ createHmacDrbg: er,
404
404
  ensureBytes: Z,
405
- equalBytes: Ti,
405
+ equalBytes: Hi,
406
406
  hexToBytes: je,
407
- hexToNumber: Zt,
408
- numberToBytesBE: Ne,
407
+ hexToNumber: Vt,
408
+ numberToBytesBE: Ke,
409
409
  numberToBytesLE: Ft,
410
- numberToHexUnpadded: Fn,
411
- numberToVarBytesBE: $i,
412
- utf8ToBytes: Ri,
410
+ numberToHexUnpadded: Qn,
411
+ numberToVarBytesBE: Pi,
412
+ utf8ToBytes: qi,
413
413
  validateObject: Ye
414
414
  }, Symbol.toStringTag, { value: "Module" }));
415
415
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
416
- const V = BigInt(0), j = BigInt(1), Ce = BigInt(2), Di = BigInt(3), $t = BigInt(4), Cn = BigInt(5), Bn = BigInt(8);
416
+ const W = BigInt(0), z = BigInt(1), Ce = BigInt(2), Zi = BigInt(3), $t = BigInt(4), In = BigInt(5), _n = BigInt(8);
417
417
  BigInt(9);
418
418
  BigInt(16);
419
- function W(e, t) {
419
+ function V(e, t) {
420
420
  const n = e % t;
421
- return n >= V ? n : t + n;
421
+ return n >= W ? n : t + n;
422
422
  }
423
- function ji(e, t, n) {
424
- if (n <= V || t < V)
423
+ function Fi(e, t, n) {
424
+ if (n <= W || t < W)
425
425
  throw new Error("Expected power/modulo > 0");
426
- if (n === j)
427
- return V;
428
- let r = j;
429
- for (; t > V; )
430
- t & j && (r = r * e % n), e = e * e % n, t >>= j;
426
+ if (n === z)
427
+ return W;
428
+ let r = z;
429
+ for (; t > W; )
430
+ t & z && (r = r * e % n), e = e * e % n, t >>= z;
431
431
  return r;
432
432
  }
433
433
  function Y(e, t, n) {
434
434
  let r = e;
435
- for (; t-- > V; )
435
+ for (; t-- > W; )
436
436
  r *= r, r %= n;
437
437
  return r;
438
438
  }
439
- function Tt(e, t) {
440
- if (e === V || t <= V)
439
+ function Rt(e, t) {
440
+ if (e === W || t <= W)
441
441
  throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);
442
- let n = W(e, t), r = t, i = V, s = j;
443
- for (; n !== V; ) {
442
+ let n = V(e, t), r = t, i = W, s = z;
443
+ for (; n !== W; ) {
444
444
  const c = r / n, a = r % n, l = i - s * c;
445
445
  r = n, n = a, i = s, s = l;
446
446
  }
447
- if (r !== j)
447
+ if (r !== z)
448
448
  throw new Error("invert: does not exist");
449
- return W(i, t);
449
+ return V(i, t);
450
450
  }
451
- function zi(e) {
452
- const t = (e - j) / Ce;
451
+ function Gi(e) {
452
+ const t = (e - z) / Ce;
453
453
  let n, r, i;
454
- for (n = e - j, r = 0; n % Ce === V; n /= Ce, r++)
454
+ for (n = e - z, r = 0; n % Ce === W; n /= Ce, r++)
455
455
  ;
456
- for (i = Ce; i < e && ji(i, t, e) !== e - j; i++)
456
+ for (i = Ce; i < e && Fi(i, t, e) !== e - z; i++)
457
457
  ;
458
458
  if (r === 1) {
459
- const o = (e + j) / $t;
459
+ const o = (e + z) / $t;
460
460
  return function(a, l) {
461
461
  const f = a.pow(l, o);
462
462
  if (!a.eql(a.sqr(f), l))
@@ -464,26 +464,26 @@ function zi(e) {
464
464
  return f;
465
465
  };
466
466
  }
467
- const s = (n + j) / Ce;
467
+ const s = (n + z) / Ce;
468
468
  return function(c, a) {
469
469
  if (c.pow(a, t) === c.neg(c.ONE))
470
470
  throw new Error("Cannot find square root");
471
- let l = r, f = c.pow(c.mul(c.ONE, i), n), u = c.pow(a, s), g = c.pow(a, n);
472
- for (; !c.eql(g, c.ONE); ) {
473
- if (c.eql(g, c.ZERO))
471
+ let l = r, f = c.pow(c.mul(c.ONE, i), n), u = c.pow(a, s), p = c.pow(a, n);
472
+ for (; !c.eql(p, c.ONE); ) {
473
+ if (c.eql(p, c.ZERO))
474
474
  return c.ZERO;
475
475
  let w = 1;
476
- for (let h = c.sqr(g); w < l && !c.eql(h, c.ONE); w++)
476
+ for (let h = c.sqr(p); w < l && !c.eql(h, c.ONE); w++)
477
477
  h = c.sqr(h);
478
- const p = c.pow(f, j << BigInt(l - w - 1));
479
- f = c.sqr(p), u = c.mul(u, p), g = c.mul(g, f), l = w;
478
+ const g = c.pow(f, z << BigInt(l - w - 1));
479
+ f = c.sqr(g), u = c.mul(u, g), p = c.mul(p, f), l = w;
480
480
  }
481
481
  return u;
482
482
  };
483
483
  }
484
- function Vi(e) {
485
- if (e % $t === Di) {
486
- const t = (e + j) / $t;
484
+ function Ji(e) {
485
+ if (e % $t === Zi) {
486
+ const t = (e + z) / $t;
487
487
  return function(r, i) {
488
488
  const s = r.pow(i, t);
489
489
  if (!r.eql(r.sqr(s), i))
@@ -491,8 +491,8 @@ function Vi(e) {
491
491
  return s;
492
492
  };
493
493
  }
494
- if (e % Bn === Cn) {
495
- const t = (e - Cn) / Bn;
494
+ if (e % _n === In) {
495
+ const t = (e - In) / _n;
496
496
  return function(r, i) {
497
497
  const s = r.mul(i, Ce), o = r.pow(s, t), c = r.mul(i, o), a = r.mul(r.mul(c, Ce), o), l = r.mul(c, r.sub(a, r.ONE));
498
498
  if (!r.eql(r.sqr(l), i))
@@ -500,9 +500,9 @@ function Vi(e) {
500
500
  return l;
501
501
  };
502
502
  }
503
- return zi(e);
503
+ return Gi(e);
504
504
  }
505
- const Wi = [
505
+ const Yi = [
506
506
  "create",
507
507
  "isValid",
508
508
  "is0",
@@ -521,104 +521,104 @@ const Wi = [
521
521
  "mulN",
522
522
  "sqrN"
523
523
  ];
524
- function Zi(e) {
524
+ function Xi(e) {
525
525
  const t = {
526
526
  ORDER: "bigint",
527
527
  MASK: "bigint",
528
528
  BYTES: "isSafeInteger",
529
529
  BITS: "isSafeInteger"
530
- }, n = Wi.reduce((r, i) => (r[i] = "function", r), t);
530
+ }, n = Yi.reduce((r, i) => (r[i] = "function", r), t);
531
531
  return Ye(e, n);
532
532
  }
533
- function Gi(e, t, n) {
534
- if (n < V)
533
+ function Qi(e, t, n) {
534
+ if (n < W)
535
535
  throw new Error("Expected power > 0");
536
- if (n === V)
536
+ if (n === W)
537
537
  return e.ONE;
538
- if (n === j)
538
+ if (n === z)
539
539
  return t;
540
540
  let r = e.ONE, i = t;
541
- for (; n > V; )
542
- n & j && (r = e.mul(r, i)), i = e.sqr(i), n >>= j;
541
+ for (; n > W; )
542
+ n & z && (r = e.mul(r, i)), i = e.sqr(i), n >>= z;
543
543
  return r;
544
544
  }
545
- function Fi(e, t) {
545
+ function es(e, t) {
546
546
  const n = new Array(t.length), r = t.reduce((s, o, c) => e.is0(o) ? s : (n[c] = s, e.mul(s, o)), e.ONE), i = e.inv(r);
547
547
  return t.reduceRight((s, o, c) => e.is0(o) ? s : (n[c] = e.mul(s, n[c]), e.mul(s, o)), i), n;
548
548
  }
549
- function Yn(e, t) {
549
+ function tr(e, t) {
550
550
  const n = t !== void 0 ? t : e.toString(2).length, r = Math.ceil(n / 8);
551
551
  return { nBitLength: n, nByteLength: r };
552
552
  }
553
- function Ji(e, t, n = !1, r = {}) {
554
- if (e <= V)
553
+ function ts(e, t, n = !1, r = {}) {
554
+ if (e <= W)
555
555
  throw new Error(`Expected Field ORDER > 0, got ${e}`);
556
- const { nBitLength: i, nByteLength: s } = Yn(e, t);
556
+ const { nBitLength: i, nByteLength: s } = tr(e, t);
557
557
  if (s > 2048)
558
558
  throw new Error("Field lengths over 2048 bytes are not supported");
559
- const o = Vi(e), c = Object.freeze({
559
+ const o = Ji(e), c = Object.freeze({
560
560
  ORDER: e,
561
561
  BITS: i,
562
562
  BYTES: s,
563
- MASK: Jt(i),
564
- ZERO: V,
565
- ONE: j,
566
- create: (a) => W(a, e),
563
+ MASK: Gt(i),
564
+ ZERO: W,
565
+ ONE: z,
566
+ create: (a) => V(a, e),
567
567
  isValid: (a) => {
568
568
  if (typeof a != "bigint")
569
569
  throw new Error(`Invalid field element: expected bigint, got ${typeof a}`);
570
- return V <= a && a < e;
570
+ return W <= a && a < e;
571
571
  },
572
- is0: (a) => a === V,
573
- isOdd: (a) => (a & j) === j,
574
- neg: (a) => W(-a, e),
572
+ is0: (a) => a === W,
573
+ isOdd: (a) => (a & z) === z,
574
+ neg: (a) => V(-a, e),
575
575
  eql: (a, l) => a === l,
576
- sqr: (a) => W(a * a, e),
577
- add: (a, l) => W(a + l, e),
578
- sub: (a, l) => W(a - l, e),
579
- mul: (a, l) => W(a * l, e),
580
- pow: (a, l) => Gi(c, a, l),
581
- div: (a, l) => W(a * Tt(l, e), e),
576
+ sqr: (a) => V(a * a, e),
577
+ add: (a, l) => V(a + l, e),
578
+ sub: (a, l) => V(a - l, e),
579
+ mul: (a, l) => V(a * l, e),
580
+ pow: (a, l) => Qi(c, a, l),
581
+ div: (a, l) => V(a * Rt(l, e), e),
582
582
  // Same as above, but doesn't normalize
583
583
  sqrN: (a) => a * a,
584
584
  addN: (a, l) => a + l,
585
585
  subN: (a, l) => a - l,
586
586
  mulN: (a, l) => a * l,
587
- inv: (a) => Tt(a, e),
587
+ inv: (a) => Rt(a, e),
588
588
  sqrt: r.sqrt || ((a) => o(c, a)),
589
- invertBatch: (a) => Fi(c, a),
589
+ invertBatch: (a) => es(c, a),
590
590
  // TODO: do we really need constant cmov?
591
591
  // We don't have const-time bigints anyway, so probably will be not very useful
592
592
  cmov: (a, l, f) => f ? l : a,
593
- toBytes: (a) => n ? Ft(a, s) : Ne(a, s),
593
+ toBytes: (a) => n ? Ft(a, s) : Ke(a, s),
594
594
  fromBytes: (a) => {
595
595
  if (a.length !== s)
596
596
  throw new Error(`Fp.fromBytes: expected ${s}, got ${a.length}`);
597
- return n ? Gt(a) : F(a);
597
+ return n ? Zt(a) : G(a);
598
598
  }
599
599
  });
600
600
  return Object.freeze(c);
601
601
  }
602
- function Xn(e) {
602
+ function nr(e) {
603
603
  if (typeof e != "bigint")
604
604
  throw new Error("field order must be bigint");
605
605
  const t = e.toString(2).length;
606
606
  return Math.ceil(t / 8);
607
607
  }
608
- function Qn(e) {
609
- const t = Xn(e);
608
+ function rr(e) {
609
+ const t = nr(e);
610
610
  return t + Math.ceil(t / 2);
611
611
  }
612
- function Yi(e, t, n = !1) {
613
- const r = e.length, i = Xn(t), s = Qn(t);
612
+ function ns(e, t, n = !1) {
613
+ const r = e.length, i = nr(t), s = rr(t);
614
614
  if (r < 16 || r < s || r > 1024)
615
615
  throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);
616
- const o = n ? F(e) : Gt(e), c = W(o, t - j) + j;
617
- return n ? Ft(c, i) : Ne(c, i);
616
+ const o = n ? G(e) : Zt(e), c = V(o, t - z) + z;
617
+ return n ? Ft(c, i) : Ke(c, i);
618
618
  }
619
619
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
620
- const Xi = BigInt(0), St = BigInt(1);
621
- function Qi(e, t) {
620
+ const rs = BigInt(0), St = BigInt(1);
621
+ function is(e, t) {
622
622
  const n = (i, s) => {
623
623
  const o = s.negate();
624
624
  return i ? o : s;
@@ -631,7 +631,7 @@ function Qi(e, t) {
631
631
  // non-const time multiplication ladder
632
632
  unsafeLadder(i, s) {
633
633
  let o = e.ZERO, c = i;
634
- for (; s > Xi; )
634
+ for (; s > rs; )
635
635
  s & St && (o = o.add(c)), c = c.double(), s >>= St;
636
636
  return o;
637
637
  },
@@ -650,7 +650,7 @@ function Qi(e, t) {
650
650
  let l = i, f = l;
651
651
  for (let u = 0; u < o; u++) {
652
652
  f = l, a.push(f);
653
- for (let g = 1; g < c; g++)
653
+ for (let p = 1; p < c; p++)
654
654
  f = f.add(l), a.push(f);
655
655
  l = f.double();
656
656
  }
@@ -666,13 +666,13 @@ function Qi(e, t) {
666
666
  wNAF(i, s, o) {
667
667
  const { windows: c, windowSize: a } = r(i);
668
668
  let l = e.ZERO, f = e.BASE;
669
- const u = BigInt(2 ** i - 1), g = 2 ** i, w = BigInt(i);
670
- for (let p = 0; p < c; p++) {
671
- const h = p * a;
669
+ const u = BigInt(2 ** i - 1), p = 2 ** i, w = BigInt(i);
670
+ for (let g = 0; g < c; g++) {
671
+ const h = g * a;
672
672
  let d = Number(o & u);
673
- o >>= w, d > a && (d -= g, o += St);
674
- const y = h, E = h + Math.abs(d) - 1, S = p % 2 !== 0, I = d < 0;
675
- d === 0 ? f = f.add(n(S, s[y])) : l = l.add(n(I, s[E]));
673
+ o >>= w, d > a && (d -= p, o += St);
674
+ const y = h, E = h + Math.abs(d) - 1, S = g % 2 !== 0, _ = d < 0;
675
+ d === 0 ? f = f.add(n(S, s[y])) : l = l.add(n(_, s[E]));
676
676
  }
677
677
  return { p: l, f };
678
678
  },
@@ -683,8 +683,8 @@ function Qi(e, t) {
683
683
  }
684
684
  };
685
685
  }
686
- function er(e) {
687
- return Zi(e.Fp), Ye(e, {
686
+ function ir(e) {
687
+ return Xi(e.Fp), Ye(e, {
688
688
  n: "bigint",
689
689
  h: "bigint",
690
690
  Gx: "field",
@@ -693,14 +693,14 @@ function er(e) {
693
693
  nBitLength: "isSafeInteger",
694
694
  nByteLength: "isSafeInteger"
695
695
  }), Object.freeze({
696
- ...Yn(e.n, e.nBitLength),
696
+ ...tr(e.n, e.nBitLength),
697
697
  ...e,
698
698
  p: e.Fp.ORDER
699
699
  });
700
700
  }
701
701
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
702
- function es(e) {
703
- const t = er(e);
702
+ function ss(e) {
703
+ const t = ir(e);
704
704
  Ye(t, {
705
705
  a: "field",
706
706
  b: "field"
@@ -722,7 +722,7 @@ function es(e) {
722
722
  }
723
723
  return Object.freeze({ ...t });
724
724
  }
725
- const { bytesToNumberBE: ts, hexToBytes: ns } = qi, Be = {
725
+ const { bytesToNumberBE: os, hexToBytes: as } = Vi, Be = {
726
726
  // asn.1 DER encoding utils
727
727
  Err: class extends Error {
728
728
  constructor(t = "") {
@@ -740,10 +740,10 @@ const { bytesToNumberBE: ts, hexToBytes: ns } = qi, Be = {
740
740
  throw new t("Invalid signature integer: negative");
741
741
  if (r[0] === 0 && !(r[1] & 128))
742
742
  throw new t("Invalid signature integer: unnecessary leading zero");
743
- return { d: ts(r), l: e.subarray(n + 2) };
743
+ return { d: os(r), l: e.subarray(n + 2) };
744
744
  },
745
745
  toSig(e) {
746
- const { Err: t } = Be, n = typeof e == "string" ? ns(e) : e;
746
+ const { Err: t } = Be, n = typeof e == "string" ? as(e) : e;
747
747
  if (!(n instanceof Uint8Array))
748
748
  throw new Error("ui8a expected");
749
749
  let r = n.length;
@@ -763,49 +763,49 @@ const { bytesToNumberBE: ts, hexToBytes: ns } = qi, Be = {
763
763
  }, r = t(n(e.s)), i = t(n(e.r)), s = r.length / 2, o = i.length / 2, c = n(s), a = n(o);
764
764
  return `30${n(o + s + 4)}02${a}${i}02${c}${r}`;
765
765
  }
766
- }, ae = BigInt(0), X = BigInt(1);
766
+ }, ce = BigInt(0), X = BigInt(1);
767
767
  BigInt(2);
768
- const kn = BigInt(3);
768
+ const Un = BigInt(3);
769
769
  BigInt(4);
770
- function rs(e) {
771
- const t = es(e), { Fp: n } = t, r = t.toBytes || ((p, h, d) => {
770
+ function cs(e) {
771
+ const t = ss(e), { Fp: n } = t, r = t.toBytes || ((g, h, d) => {
772
772
  const y = h.toAffine();
773
- return _e(Uint8Array.from([4]), n.toBytes(y.x), n.toBytes(y.y));
774
- }), i = t.fromBytes || ((p) => {
775
- const h = p.subarray(1), d = n.fromBytes(h.subarray(0, n.BYTES)), y = n.fromBytes(h.subarray(n.BYTES, 2 * n.BYTES));
773
+ return Ie(Uint8Array.from([4]), n.toBytes(y.x), n.toBytes(y.y));
774
+ }), i = t.fromBytes || ((g) => {
775
+ const h = g.subarray(1), d = n.fromBytes(h.subarray(0, n.BYTES)), y = n.fromBytes(h.subarray(n.BYTES, 2 * n.BYTES));
776
776
  return { x: d, y };
777
777
  });
778
- function s(p) {
779
- const { a: h, b: d } = t, y = n.sqr(p), E = n.mul(y, p);
780
- return n.add(n.add(E, n.mul(p, h)), d);
778
+ function s(g) {
779
+ const { a: h, b: d } = t, y = n.sqr(g), E = n.mul(y, g);
780
+ return n.add(n.add(E, n.mul(g, h)), d);
781
781
  }
782
782
  if (!n.eql(n.sqr(t.Gy), s(t.Gx)))
783
783
  throw new Error("bad generator point: equation left != right");
784
- function o(p) {
785
- return typeof p == "bigint" && ae < p && p < t.n;
784
+ function o(g) {
785
+ return typeof g == "bigint" && ce < g && g < t.n;
786
786
  }
787
- function c(p) {
788
- if (!o(p))
787
+ function c(g) {
788
+ if (!o(g))
789
789
  throw new Error("Expected valid bigint: 0 < bigint < curve.n");
790
790
  }
791
- function a(p) {
791
+ function a(g) {
792
792
  const { allowedPrivateKeyLengths: h, nByteLength: d, wrapPrivateKey: y, n: E } = t;
793
- if (h && typeof p != "bigint") {
794
- if (p instanceof Uint8Array && (p = De(p)), typeof p != "string" || !h.includes(p.length))
793
+ if (h && typeof g != "bigint") {
794
+ if (g instanceof Uint8Array && (g = De(g)), typeof g != "string" || !h.includes(g.length))
795
795
  throw new Error("Invalid key");
796
- p = p.padStart(d * 2, "0");
796
+ g = g.padStart(d * 2, "0");
797
797
  }
798
798
  let S;
799
799
  try {
800
- S = typeof p == "bigint" ? p : F(Z("private key", p, d));
800
+ S = typeof g == "bigint" ? g : G(Z("private key", g, d));
801
801
  } catch {
802
- throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof p}`);
802
+ throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof g}`);
803
803
  }
804
- return y && (S = W(S, E)), c(S), S;
804
+ return y && (S = V(S, E)), c(S), S;
805
805
  }
806
806
  const l = /* @__PURE__ */ new Map();
807
- function f(p) {
808
- if (!(p instanceof u))
807
+ function f(g) {
808
+ if (!(g instanceof u))
809
809
  throw new Error("ProjectivePoint expected");
810
810
  }
811
811
  class u {
@@ -887,7 +887,7 @@ function rs(e) {
887
887
  */
888
888
  equals(h) {
889
889
  f(h);
890
- const { px: d, py: y, pz: E } = this, { px: S, py: I, pz: B } = h, m = n.eql(n.mul(d, B), n.mul(S, E)), x = n.eql(n.mul(y, B), n.mul(I, E));
890
+ const { px: d, py: y, pz: E } = this, { px: S, py: _, pz: B } = h, m = n.eql(n.mul(d, B), n.mul(S, E)), x = n.eql(n.mul(y, B), n.mul(_, E));
891
891
  return m && x;
892
892
  }
893
893
  /**
@@ -901,9 +901,9 @@ function rs(e) {
901
901
  // https://eprint.iacr.org/2015/1060, algorithm 3
902
902
  // Cost: 8M + 3S + 3*a + 2*b3 + 15add.
903
903
  double() {
904
- const { a: h, b: d } = t, y = n.mul(d, kn), { px: E, py: S, pz: I } = this;
905
- let B = n.ZERO, m = n.ZERO, x = n.ZERO, K = n.mul(E, E), M = n.mul(S, S), _ = n.mul(I, I), A = n.mul(E, S);
906
- return A = n.add(A, A), x = n.mul(E, I), x = n.add(x, x), B = n.mul(h, x), m = n.mul(y, _), m = n.add(B, m), B = n.sub(M, m), m = n.add(M, m), m = n.mul(B, m), B = n.mul(A, B), x = n.mul(y, x), _ = n.mul(h, _), A = n.sub(K, _), A = n.mul(h, A), A = n.add(A, x), x = n.add(K, K), K = n.add(x, K), K = n.add(K, _), K = n.mul(K, A), m = n.add(m, K), _ = n.mul(S, I), _ = n.add(_, _), K = n.mul(_, A), B = n.sub(B, K), x = n.mul(_, M), x = n.add(x, x), x = n.add(x, x), new u(B, m, x);
904
+ const { a: h, b: d } = t, y = n.mul(d, Un), { px: E, py: S, pz: _ } = this;
905
+ let B = n.ZERO, m = n.ZERO, x = n.ZERO, N = n.mul(E, E), M = n.mul(S, S), I = n.mul(_, _), A = n.mul(E, S);
906
+ return A = n.add(A, A), x = n.mul(E, _), x = n.add(x, x), B = n.mul(h, x), m = n.mul(y, I), m = n.add(B, m), B = n.sub(M, m), m = n.add(M, m), m = n.mul(B, m), B = n.mul(A, B), x = n.mul(y, x), I = n.mul(h, I), A = n.sub(N, I), A = n.mul(h, A), A = n.add(A, x), x = n.add(N, N), N = n.add(x, N), N = n.add(N, I), N = n.mul(N, A), m = n.add(m, N), I = n.mul(S, _), I = n.add(I, I), N = n.mul(I, A), B = n.sub(B, N), x = n.mul(I, M), x = n.add(x, x), x = n.add(x, x), new u(B, m, x);
907
907
  }
908
908
  // Renes-Costello-Batina exception-free addition formula.
909
909
  // There is 30% faster Jacobian formula, but it is not complete.
@@ -911,13 +911,13 @@ function rs(e) {
911
911
  // Cost: 12M + 0S + 3*a + 3*b3 + 23add.
912
912
  add(h) {
913
913
  f(h);
914
- const { px: d, py: y, pz: E } = this, { px: S, py: I, pz: B } = h;
915
- let m = n.ZERO, x = n.ZERO, K = n.ZERO;
916
- const M = t.a, _ = n.mul(t.b, kn);
917
- let A = n.mul(d, S), T = n.mul(y, I), R = n.mul(E, B), H = n.add(d, y), b = n.add(S, I);
918
- H = n.mul(H, b), b = n.add(A, T), H = n.sub(H, b), b = n.add(d, E);
914
+ const { px: d, py: y, pz: E } = this, { px: S, py: _, pz: B } = h;
915
+ let m = n.ZERO, x = n.ZERO, N = n.ZERO;
916
+ const M = t.a, I = n.mul(t.b, Un);
917
+ let A = n.mul(d, S), R = n.mul(y, _), T = n.mul(E, B), q = n.add(d, y), b = n.add(S, _);
918
+ q = n.mul(q, b), b = n.add(A, R), q = n.sub(q, b), b = n.add(d, E);
919
919
  let v = n.add(S, B);
920
- return b = n.mul(b, v), v = n.add(A, R), b = n.sub(b, v), v = n.add(y, E), m = n.add(I, B), v = n.mul(v, m), m = n.add(T, R), v = n.sub(v, m), K = n.mul(M, b), m = n.mul(_, R), K = n.add(m, K), m = n.sub(T, K), K = n.add(T, K), x = n.mul(m, K), T = n.add(A, A), T = n.add(T, A), R = n.mul(M, R), b = n.mul(_, b), T = n.add(T, R), R = n.sub(A, R), R = n.mul(M, R), b = n.add(b, R), A = n.mul(T, b), x = n.add(x, A), A = n.mul(v, b), m = n.mul(H, m), m = n.sub(m, A), A = n.mul(H, T), K = n.mul(v, K), K = n.add(K, A), new u(m, x, K);
920
+ return b = n.mul(b, v), v = n.add(A, T), b = n.sub(b, v), v = n.add(y, E), m = n.add(_, B), v = n.mul(v, m), m = n.add(R, T), v = n.sub(v, m), N = n.mul(M, b), m = n.mul(I, T), N = n.add(m, N), m = n.sub(R, N), N = n.add(R, N), x = n.mul(m, N), R = n.add(A, A), R = n.add(R, A), T = n.mul(M, T), b = n.mul(I, b), R = n.add(R, T), T = n.sub(A, T), T = n.mul(M, T), b = n.add(b, T), A = n.mul(R, b), x = n.add(x, A), A = n.mul(v, b), m = n.mul(q, m), m = n.sub(m, A), A = n.mul(q, R), N = n.mul(v, N), N = n.add(N, A), new u(m, x, N);
921
921
  }
922
922
  subtract(h) {
923
923
  return this.add(h.negate());
@@ -938,17 +938,17 @@ function rs(e) {
938
938
  */
939
939
  multiplyUnsafe(h) {
940
940
  const d = u.ZERO;
941
- if (h === ae)
941
+ if (h === ce)
942
942
  return d;
943
943
  if (c(h), h === X)
944
944
  return this;
945
945
  const { endo: y } = t;
946
946
  if (!y)
947
947
  return w.unsafeLadder(this, h);
948
- let { k1neg: E, k1: S, k2neg: I, k2: B } = y.splitScalar(h), m = d, x = d, K = this;
949
- for (; S > ae || B > ae; )
950
- S & X && (m = m.add(K)), B & X && (x = x.add(K)), K = K.double(), S >>= X, B >>= X;
951
- return E && (m = m.negate()), I && (x = x.negate()), x = new u(n.mul(x.px, y.beta), x.py, x.pz), m.add(x);
948
+ let { k1neg: E, k1: S, k2neg: _, k2: B } = y.splitScalar(h), m = d, x = d, N = this;
949
+ for (; S > ce || B > ce; )
950
+ S & X && (m = m.add(N)), B & X && (x = x.add(N)), N = N.double(), S >>= X, B >>= X;
951
+ return E && (m = m.negate()), _ && (x = x.negate()), x = new u(n.mul(x.px, y.beta), x.py, x.pz), m.add(x);
952
952
  }
953
953
  /**
954
954
  * Constant time multiplication.
@@ -964,12 +964,12 @@ function rs(e) {
964
964
  let d = h, y, E;
965
965
  const { endo: S } = t;
966
966
  if (S) {
967
- const { k1neg: I, k1: B, k2neg: m, k2: x } = S.splitScalar(d);
968
- let { p: K, f: M } = this.wNAF(B), { p: _, f: A } = this.wNAF(x);
969
- K = w.constTimeNegate(I, K), _ = w.constTimeNegate(m, _), _ = new u(n.mul(_.px, S.beta), _.py, _.pz), y = K.add(_), E = M.add(A);
967
+ const { k1neg: _, k1: B, k2neg: m, k2: x } = S.splitScalar(d);
968
+ let { p: N, f: M } = this.wNAF(B), { p: I, f: A } = this.wNAF(x);
969
+ N = w.constTimeNegate(_, N), I = w.constTimeNegate(m, I), I = new u(n.mul(I.px, S.beta), I.py, I.pz), y = N.add(I), E = M.add(A);
970
970
  } else {
971
- const { p: I, f: B } = this.wNAF(d);
972
- y = I, E = B;
971
+ const { p: _, f: B } = this.wNAF(d);
972
+ y = _, E = B;
973
973
  }
974
974
  return u.normalizeZ([y, E])[0];
975
975
  }
@@ -980,8 +980,8 @@ function rs(e) {
980
980
  * @returns non-zero affine point
981
981
  */
982
982
  multiplyAndAddUnsafe(h, d, y) {
983
- const E = u.BASE, S = (B, m) => m === ae || m === X || !B.equals(E) ? B.multiplyUnsafe(m) : B.multiply(m), I = S(this, d).add(S(h, y));
984
- return I.is0() ? void 0 : I;
983
+ const E = u.BASE, S = (B, m) => m === ce || m === X || !B.equals(E) ? B.multiplyUnsafe(m) : B.multiply(m), _ = S(this, d).add(S(h, y));
984
+ return _.is0() ? void 0 : _;
985
985
  }
986
986
  // Converts Projective point to affine (x, y) coordinates.
987
987
  // Can accept precomputed Z^-1 - for example, from invertBatch.
@@ -989,12 +989,12 @@ function rs(e) {
989
989
  toAffine(h) {
990
990
  const { px: d, py: y, pz: E } = this, S = this.is0();
991
991
  h == null && (h = S ? n.ONE : n.inv(E));
992
- const I = n.mul(d, h), B = n.mul(y, h), m = n.mul(E, h);
992
+ const _ = n.mul(d, h), B = n.mul(y, h), m = n.mul(E, h);
993
993
  if (S)
994
994
  return { x: n.ZERO, y: n.ZERO };
995
995
  if (!n.eql(m, n.ONE))
996
996
  throw new Error("invZ was invalid");
997
- return { x: I, y: B };
997
+ return { x: _, y: B };
998
998
  }
999
999
  isTorsionFree() {
1000
1000
  const { h, isTorsionFree: d } = t;
@@ -1016,7 +1016,7 @@ function rs(e) {
1016
1016
  }
1017
1017
  }
1018
1018
  u.BASE = new u(t.Gx, t.Gy, n.ONE), u.ZERO = new u(n.ZERO, n.ONE, n.ZERO);
1019
- const g = t.nBitLength, w = Qi(u, t.endo ? Math.ceil(g / 2) : g);
1019
+ const p = t.nBitLength, w = is(u, t.endo ? Math.ceil(p / 2) : p);
1020
1020
  return {
1021
1021
  CURVE: t,
1022
1022
  ProjectivePoint: u,
@@ -1025,8 +1025,8 @@ function rs(e) {
1025
1025
  isWithinCurveOrder: o
1026
1026
  };
1027
1027
  }
1028
- function is(e) {
1029
- const t = er(e);
1028
+ function us(e) {
1029
+ const t = ir(e);
1030
1030
  return Ye(t, {
1031
1031
  hash: "hash",
1032
1032
  hmac: "function",
@@ -1037,87 +1037,87 @@ function is(e) {
1037
1037
  lowS: "boolean"
1038
1038
  }), Object.freeze({ lowS: !0, ...t });
1039
1039
  }
1040
- function ss(e) {
1041
- const t = is(e), { Fp: n, n: r } = t, i = n.BYTES + 1, s = 2 * n.BYTES + 1;
1040
+ function ls(e) {
1041
+ const t = us(e), { Fp: n, n: r } = t, i = n.BYTES + 1, s = 2 * n.BYTES + 1;
1042
1042
  function o(b) {
1043
- return ae < b && b < n.ORDER;
1043
+ return ce < b && b < n.ORDER;
1044
1044
  }
1045
1045
  function c(b) {
1046
- return W(b, r);
1046
+ return V(b, r);
1047
1047
  }
1048
1048
  function a(b) {
1049
- return Tt(b, r);
1049
+ return Rt(b, r);
1050
1050
  }
1051
- const { ProjectivePoint: l, normPrivateKeyToScalar: f, weierstrassEquation: u, isWithinCurveOrder: g } = rs({
1051
+ const { ProjectivePoint: l, normPrivateKeyToScalar: f, weierstrassEquation: u, isWithinCurveOrder: p } = cs({
1052
1052
  ...t,
1053
- toBytes(b, v, N) {
1054
- const k = v.toAffine(), C = n.toBytes(k.x), U = _e;
1055
- return N ? U(Uint8Array.from([v.hasEvenY() ? 2 : 3]), C) : U(Uint8Array.from([4]), C, n.toBytes(k.y));
1053
+ toBytes(b, v, K) {
1054
+ const k = v.toAffine(), C = n.toBytes(k.x), U = Ie;
1055
+ return K ? U(Uint8Array.from([v.hasEvenY() ? 2 : 3]), C) : U(Uint8Array.from([4]), C, n.toBytes(k.y));
1056
1056
  },
1057
1057
  fromBytes(b) {
1058
- const v = b.length, N = b[0], k = b.subarray(1);
1059
- if (v === i && (N === 2 || N === 3)) {
1060
- const C = F(k);
1058
+ const v = b.length, K = b[0], k = b.subarray(1);
1059
+ if (v === i && (K === 2 || K === 3)) {
1060
+ const C = G(k);
1061
1061
  if (!o(C))
1062
1062
  throw new Error("Point is not on curve");
1063
1063
  const U = u(C);
1064
1064
  let O = n.sqrt(U);
1065
1065
  const $ = (O & X) === X;
1066
- return (N & 1) === 1 !== $ && (O = n.neg(O)), { x: C, y: O };
1067
- } else if (v === s && N === 4) {
1066
+ return (K & 1) === 1 !== $ && (O = n.neg(O)), { x: C, y: O };
1067
+ } else if (v === s && K === 4) {
1068
1068
  const C = n.fromBytes(k.subarray(0, n.BYTES)), U = n.fromBytes(k.subarray(n.BYTES, 2 * n.BYTES));
1069
1069
  return { x: C, y: U };
1070
1070
  } else
1071
1071
  throw new Error(`Point of length ${v} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`);
1072
1072
  }
1073
- }), w = (b) => De(Ne(b, t.nByteLength));
1074
- function p(b) {
1073
+ }), w = (b) => De(Ke(b, t.nByteLength));
1074
+ function g(b) {
1075
1075
  const v = r >> X;
1076
1076
  return b > v;
1077
1077
  }
1078
1078
  function h(b) {
1079
- return p(b) ? c(-b) : b;
1079
+ return g(b) ? c(-b) : b;
1080
1080
  }
1081
- const d = (b, v, N) => F(b.slice(v, N));
1081
+ const d = (b, v, K) => G(b.slice(v, K));
1082
1082
  class y {
1083
- constructor(v, N, k) {
1084
- this.r = v, this.s = N, this.recovery = k, this.assertValidity();
1083
+ constructor(v, K, k) {
1084
+ this.r = v, this.s = K, this.recovery = k, this.assertValidity();
1085
1085
  }
1086
1086
  // pair (bytes of r, bytes of s)
1087
1087
  static fromCompact(v) {
1088
- const N = t.nByteLength;
1089
- return v = Z("compactSignature", v, N * 2), new y(d(v, 0, N), d(v, N, 2 * N));
1088
+ const K = t.nByteLength;
1089
+ return v = Z("compactSignature", v, K * 2), new y(d(v, 0, K), d(v, K, 2 * K));
1090
1090
  }
1091
1091
  // DER encoded ECDSA signature
1092
1092
  // https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script
1093
1093
  static fromDER(v) {
1094
- const { r: N, s: k } = Be.toSig(Z("DER", v));
1095
- return new y(N, k);
1094
+ const { r: K, s: k } = Be.toSig(Z("DER", v));
1095
+ return new y(K, k);
1096
1096
  }
1097
1097
  assertValidity() {
1098
- if (!g(this.r))
1098
+ if (!p(this.r))
1099
1099
  throw new Error("r must be 0 < r < CURVE.n");
1100
- if (!g(this.s))
1100
+ if (!p(this.s))
1101
1101
  throw new Error("s must be 0 < s < CURVE.n");
1102
1102
  }
1103
1103
  addRecoveryBit(v) {
1104
1104
  return new y(this.r, this.s, v);
1105
1105
  }
1106
1106
  recoverPublicKey(v) {
1107
- const { r: N, s: k, recovery: C } = this, U = x(Z("msgHash", v));
1107
+ const { r: K, s: k, recovery: C } = this, U = x(Z("msgHash", v));
1108
1108
  if (C == null || ![0, 1, 2, 3].includes(C))
1109
1109
  throw new Error("recovery id invalid");
1110
- const O = C === 2 || C === 3 ? N + t.n : N;
1110
+ const O = C === 2 || C === 3 ? K + t.n : K;
1111
1111
  if (O >= n.ORDER)
1112
1112
  throw new Error("recovery id 2 or 3 invalid");
1113
- const $ = C & 1 ? "03" : "02", ee = l.fromHex($ + w(O)), ge = a(O), Ue = c(-U * ge), We = c(k * ge), we = l.BASE.multiplyAndAddUnsafe(ee, Ue, We);
1113
+ const $ = (C & 1) === 0 ? "02" : "03", ee = l.fromHex($ + w(O)), ge = a(O), Ue = c(-U * ge), Ve = c(k * ge), we = l.BASE.multiplyAndAddUnsafe(ee, Ue, Ve);
1114
1114
  if (!we)
1115
1115
  throw new Error("point at infinify");
1116
1116
  return we.assertValidity(), we;
1117
1117
  }
1118
1118
  // Signatures should be low-s, to prevent malleability.
1119
1119
  hasHighS() {
1120
- return p(this.s);
1120
+ return g(this.s);
1121
1121
  }
1122
1122
  normalizeS() {
1123
1123
  return this.hasHighS() ? new y(this.r, c(-this.s), this.recovery) : this;
@@ -1151,8 +1151,8 @@ function ss(e) {
1151
1151
  * (groupLen + ceil(groupLen / 2)) with modulo bias being negligible.
1152
1152
  */
1153
1153
  randomPrivateKey: () => {
1154
- const b = Qn(t.n);
1155
- return Yi(t.randomBytes(b), t.n);
1154
+ const b = rr(t.n);
1155
+ return ns(t.randomBytes(b), t.n);
1156
1156
  },
1157
1157
  /**
1158
1158
  * Creates precompute table for an arbitrary EC point. Makes point "cached".
@@ -1169,67 +1169,67 @@ function ss(e) {
1169
1169
  function S(b, v = !0) {
1170
1170
  return l.fromPrivateKey(b).toRawBytes(v);
1171
1171
  }
1172
- function I(b) {
1173
- const v = b instanceof Uint8Array, N = typeof b == "string", k = (v || N) && b.length;
1174
- return v ? k === i || k === s : N ? k === 2 * i || k === 2 * s : b instanceof l;
1172
+ function _(b) {
1173
+ const v = b instanceof Uint8Array, K = typeof b == "string", k = (v || K) && b.length;
1174
+ return v ? k === i || k === s : K ? k === 2 * i || k === 2 * s : b instanceof l;
1175
1175
  }
1176
- function B(b, v, N = !0) {
1177
- if (I(b))
1176
+ function B(b, v, K = !0) {
1177
+ if (_(b))
1178
1178
  throw new Error("first arg must be private key");
1179
- if (!I(v))
1179
+ if (!_(v))
1180
1180
  throw new Error("second arg must be public key");
1181
- return l.fromHex(v).multiply(f(b)).toRawBytes(N);
1181
+ return l.fromHex(v).multiply(f(b)).toRawBytes(K);
1182
1182
  }
1183
1183
  const m = t.bits2int || function(b) {
1184
- const v = F(b), N = b.length * 8 - t.nBitLength;
1185
- return N > 0 ? v >> BigInt(N) : v;
1184
+ const v = G(b), K = b.length * 8 - t.nBitLength;
1185
+ return K > 0 ? v >> BigInt(K) : v;
1186
1186
  }, x = t.bits2int_modN || function(b) {
1187
1187
  return c(m(b));
1188
- }, K = Jt(t.nBitLength);
1188
+ }, N = Gt(t.nBitLength);
1189
1189
  function M(b) {
1190
1190
  if (typeof b != "bigint")
1191
1191
  throw new Error("bigint expected");
1192
- if (!(ae <= b && b < K))
1192
+ if (!(ce <= b && b < N))
1193
1193
  throw new Error(`bigint expected < 2^${t.nBitLength}`);
1194
- return Ne(b, t.nByteLength);
1194
+ return Ke(b, t.nByteLength);
1195
1195
  }
1196
- function _(b, v, N = A) {
1197
- if (["recovered", "canonical"].some((Ae) => Ae in N))
1196
+ function I(b, v, K = A) {
1197
+ if (["recovered", "canonical"].some((Ae) => Ae in K))
1198
1198
  throw new Error("sign() legacy options not supported");
1199
1199
  const { hash: k, randomBytes: C } = t;
1200
- let { lowS: U, prehash: O, extraEntropy: $ } = N;
1200
+ let { lowS: U, prehash: O, extraEntropy: $ } = K;
1201
1201
  U == null && (U = !0), b = Z("msgHash", b), O && (b = Z("prehashed msgHash", k(b)));
1202
1202
  const ee = x(b), ge = f(v), Ue = [M(ge), M(ee)];
1203
1203
  if ($ != null) {
1204
1204
  const Ae = $ === !0 ? C(n.BYTES) : $;
1205
1205
  Ue.push(Z("extraEntropy", Ae));
1206
1206
  }
1207
- const We = _e(...Ue), we = ee;
1207
+ const Ve = Ie(...Ue), we = ee;
1208
1208
  function Et(Ae) {
1209
1209
  const Le = m(Ae);
1210
- if (!g(Le))
1210
+ if (!p(Le))
1211
1211
  return;
1212
- const xn = a(Le), $e = l.BASE.multiply(Le).toAffine(), te = c($e.x);
1213
- if (te === ae)
1212
+ const Sn = a(Le), $e = l.BASE.multiply(Le).toAffine(), te = c($e.x);
1213
+ if (te === ce)
1214
1214
  return;
1215
- const Te = c(xn * c(we + te * ge));
1216
- if (Te === ae)
1215
+ const Re = c(Sn * c(we + te * ge));
1216
+ if (Re === ce)
1217
1217
  return;
1218
- let Kn = ($e.x === te ? 0 : 2) | Number($e.y & X), Nn = Te;
1219
- return U && p(Te) && (Nn = h(Te), Kn ^= 1), new y(te, Nn, Kn);
1218
+ let An = ($e.x === te ? 0 : 2) | Number($e.y & X), Cn = Re;
1219
+ return U && g(Re) && (Cn = h(Re), An ^= 1), new y(te, Cn, An);
1220
1220
  }
1221
- return { seed: We, k2sig: Et };
1221
+ return { seed: Ve, k2sig: Et };
1222
1222
  }
1223
- const A = { lowS: t.lowS, prehash: !1 }, T = { lowS: t.lowS, prehash: !1 };
1224
- function R(b, v, N = A) {
1225
- const { seed: k, k2sig: C } = _(b, v, N), U = t;
1226
- return Jn(U.hash.outputLen, U.nByteLength, U.hmac)(k, C);
1223
+ const A = { lowS: t.lowS, prehash: !1 }, R = { lowS: t.lowS, prehash: !1 };
1224
+ function T(b, v, K = A) {
1225
+ const { seed: k, k2sig: C } = I(b, v, K), U = t;
1226
+ return er(U.hash.outputLen, U.nByteLength, U.hmac)(k, C);
1227
1227
  }
1228
1228
  l.BASE._setWindowSize(8);
1229
- function H(b, v, N, k = T) {
1229
+ function q(b, v, K, k = R) {
1230
1230
  var $e;
1231
1231
  const C = b;
1232
- if (v = Z("msgHash", v), N = Z("publicKey", N), "strict" in k)
1232
+ if (v = Z("msgHash", v), K = Z("publicKey", K), "strict" in k)
1233
1233
  throw new Error("options.strict was renamed to lowS");
1234
1234
  const { lowS: U, prehash: O } = k;
1235
1235
  let $, ee;
@@ -1243,11 +1243,11 @@ function ss(e) {
1243
1243
  $ = y.fromCompact(C);
1244
1244
  }
1245
1245
  else if (typeof C == "object" && typeof C.r == "bigint" && typeof C.s == "bigint") {
1246
- const { r: te, s: Te } = C;
1247
- $ = new y(te, Te);
1246
+ const { r: te, s: Re } = C;
1247
+ $ = new y(te, Re);
1248
1248
  } else
1249
1249
  throw new Error("PARSE");
1250
- ee = l.fromHex(N);
1250
+ ee = l.fromHex(K);
1251
1251
  } catch (te) {
1252
1252
  if (te.message === "PARSE")
1253
1253
  throw new Error("signature must be Signature instance, Uint8Array or hex string");
@@ -1256,23 +1256,23 @@ function ss(e) {
1256
1256
  if (U && $.hasHighS())
1257
1257
  return !1;
1258
1258
  O && (v = t.hash(v));
1259
- const { r: ge, s: Ue } = $, We = x(v), we = a(Ue), Et = c(We * we), Ae = c(ge * we), Le = ($e = l.BASE.multiplyAndAddUnsafe(ee, Et, Ae)) == null ? void 0 : $e.toAffine();
1259
+ const { r: ge, s: Ue } = $, Ve = x(v), we = a(Ue), Et = c(Ve * we), Ae = c(ge * we), Le = ($e = l.BASE.multiplyAndAddUnsafe(ee, Et, Ae)) == null ? void 0 : $e.toAffine();
1260
1260
  return Le ? c(Le.x) === ge : !1;
1261
1261
  }
1262
1262
  return {
1263
1263
  CURVE: t,
1264
1264
  getPublicKey: S,
1265
1265
  getSharedSecret: B,
1266
- sign: R,
1267
- verify: H,
1266
+ sign: T,
1267
+ verify: q,
1268
1268
  ProjectivePoint: l,
1269
1269
  Signature: y,
1270
1270
  utils: E
1271
1271
  };
1272
1272
  }
1273
- let tr = class extends Wn {
1273
+ let sr = class extends Jn {
1274
1274
  constructor(t, n) {
1275
- super(), this.finished = !1, this.destroyed = !1, mi(t);
1275
+ super(), this.finished = !1, this.destroyed = !1, Si(t);
1276
1276
  const r = Wt(n);
1277
1277
  if (this.iHash = t.create(), typeof this.iHash.update != "function")
1278
1278
  throw new Error("Expected instance of class which extends utils.Hash");
@@ -1290,7 +1290,7 @@ let tr = class extends Wn {
1290
1290
  return et(this), this.iHash.update(t), this;
1291
1291
  }
1292
1292
  digestInto(t) {
1293
- et(this), zn(t, this.outputLen), this.finished = !0, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
1293
+ et(this), Fn(t, this.outputLen), this.finished = !0, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
1294
1294
  }
1295
1295
  digest() {
1296
1296
  const t = new Uint8Array(this.oHash.outputLen);
@@ -1305,32 +1305,32 @@ let tr = class extends Wn {
1305
1305
  this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
1306
1306
  }
1307
1307
  };
1308
- const nr = (e, t, n) => new tr(e, t).update(n).digest();
1309
- nr.create = (e, t) => new tr(e, t);
1308
+ const or = (e, t, n) => new sr(e, t).update(n).digest();
1309
+ or.create = (e, t) => new sr(e, t);
1310
1310
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
1311
- function os(e) {
1311
+ function fs(e) {
1312
1312
  return {
1313
1313
  hash: e,
1314
- hmac: (t, ...n) => nr(e, t, Ni(...n)),
1315
- randomBytes: Zn
1314
+ hmac: (t, ...n) => or(e, t, ki(...n)),
1315
+ randomBytes: Yn
1316
1316
  };
1317
1317
  }
1318
- function as(e, t) {
1319
- const n = (r) => ss({ ...e, ...os(r) });
1318
+ function hs(e, t) {
1319
+ const n = (r) => ls({ ...e, ...fs(r) });
1320
1320
  return Object.freeze({ ...n(t), create: n });
1321
1321
  }
1322
1322
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
1323
- const ct = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"), tt = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"), rr = BigInt(1), nt = BigInt(2), _n = (e, t) => (e + t / nt) / t;
1324
- function ir(e) {
1325
- const t = ct, n = BigInt(3), r = BigInt(6), i = BigInt(11), s = BigInt(22), o = BigInt(23), c = BigInt(44), a = BigInt(88), l = e * e * e % t, f = l * l * e % t, u = Y(f, n, t) * f % t, g = Y(u, n, t) * f % t, w = Y(g, nt, t) * l % t, p = Y(w, i, t) * w % t, h = Y(p, s, t) * p % t, d = Y(h, c, t) * h % t, y = Y(d, a, t) * d % t, E = Y(y, c, t) * h % t, S = Y(E, n, t) * f % t, I = Y(S, o, t) * p % t, B = Y(I, r, t) * l % t, m = Y(B, nt, t);
1326
- if (!Rt.eql(Rt.sqr(m), e))
1323
+ const ut = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"), tt = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"), ar = BigInt(1), nt = BigInt(2), Ln = (e, t) => (e + t / nt) / t;
1324
+ function cr(e) {
1325
+ const t = ut, n = BigInt(3), r = BigInt(6), i = BigInt(11), s = BigInt(22), o = BigInt(23), c = BigInt(44), a = BigInt(88), l = e * e * e % t, f = l * l * e % t, u = Y(f, n, t) * f % t, p = Y(u, n, t) * f % t, w = Y(p, nt, t) * l % t, g = Y(w, i, t) * w % t, h = Y(g, s, t) * g % t, d = Y(h, c, t) * h % t, y = Y(d, a, t) * d % t, E = Y(y, c, t) * h % t, S = Y(E, n, t) * f % t, _ = Y(S, o, t) * g % t, B = Y(_, r, t) * l % t, m = Y(B, nt, t);
1326
+ if (!Tt.eql(Tt.sqr(m), e))
1327
1327
  throw new Error("Cannot find square root");
1328
1328
  return m;
1329
1329
  }
1330
- const Rt = Ji(ct, void 0, void 0, { sqrt: ir }), Ie = as({
1330
+ const Tt = ts(ut, void 0, void 0, { sqrt: cr }), _e = hs({
1331
1331
  a: BigInt(0),
1332
1332
  b: BigInt(7),
1333
- Fp: Rt,
1333
+ Fp: Tt,
1334
1334
  n: tt,
1335
1335
  // Base point (x, y) aka generator point
1336
1336
  Gx: BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),
@@ -1346,95 +1346,95 @@ const Rt = Ji(ct, void 0, void 0, { sqrt: ir }), Ie = as({
1346
1346
  endo: {
1347
1347
  beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),
1348
1348
  splitScalar: (e) => {
1349
- const t = tt, n = BigInt("0x3086d221a7d46bcde86c90e49284eb15"), r = -rr * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"), i = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"), s = n, o = BigInt("0x100000000000000000000000000000000"), c = _n(s * e, t), a = _n(-r * e, t);
1350
- let l = W(e - c * n - a * i, t), f = W(-c * r - a * s, t);
1351
- const u = l > o, g = f > o;
1352
- if (u && (l = t - l), g && (f = t - f), l > o || f > o)
1349
+ const t = tt, n = BigInt("0x3086d221a7d46bcde86c90e49284eb15"), r = -ar * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"), i = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"), s = n, o = BigInt("0x100000000000000000000000000000000"), c = Ln(s * e, t), a = Ln(-r * e, t);
1350
+ let l = V(e - c * n - a * i, t), f = V(-c * r - a * s, t);
1351
+ const u = l > o, p = f > o;
1352
+ if (u && (l = t - l), p && (f = t - f), l > o || f > o)
1353
1353
  throw new Error("splitScalar: Endomorphism failed, k=" + e);
1354
- return { k1neg: u, k1: l, k2neg: g, k2: f };
1354
+ return { k1neg: u, k1: l, k2neg: p, k2: f };
1355
1355
  }
1356
1356
  }
1357
- }, Lt), ut = BigInt(0), sr = (e) => typeof e == "bigint" && ut < e && e < ct, cs = (e) => typeof e == "bigint" && ut < e && e < tt, In = {};
1357
+ }, Lt), lt = BigInt(0), ur = (e) => typeof e == "bigint" && lt < e && e < ut, ds = (e) => typeof e == "bigint" && lt < e && e < tt, $n = {};
1358
1358
  function rt(e, ...t) {
1359
- let n = In[e];
1359
+ let n = $n[e];
1360
1360
  if (n === void 0) {
1361
1361
  const r = Lt(Uint8Array.from(e, (i) => i.charCodeAt(0)));
1362
- n = _e(r, r), In[e] = n;
1362
+ n = Ie(r, r), $n[e] = n;
1363
1363
  }
1364
- return Lt(_e(n, ...t));
1364
+ return Lt(Ie(n, ...t));
1365
1365
  }
1366
- const Yt = (e) => e.toRawBytes(!0).slice(1), Ot = (e) => Ne(e, 32), At = (e) => W(e, ct), Fe = (e) => W(e, tt), Xt = Ie.ProjectivePoint, us = (e, t, n) => Xt.BASE.multiplyAndAddUnsafe(e, t, n);
1367
- function Pt(e) {
1368
- let t = Ie.utils.normPrivateKeyToScalar(e), n = Xt.fromPrivateKey(t);
1369
- return { scalar: n.hasEvenY() ? t : Fe(-t), bytes: Yt(n) };
1366
+ const Jt = (e) => e.toRawBytes(!0).slice(1), Ot = (e) => Ke(e, 32), At = (e) => V(e, ut), Ge = (e) => V(e, tt), Yt = _e.ProjectivePoint, ps = (e, t, n) => Yt.BASE.multiplyAndAddUnsafe(e, t, n);
1367
+ function Mt(e) {
1368
+ let t = _e.utils.normPrivateKeyToScalar(e), n = Yt.fromPrivateKey(t);
1369
+ return { scalar: n.hasEvenY() ? t : Ge(-t), bytes: Jt(n) };
1370
1370
  }
1371
- function or(e) {
1372
- if (!sr(e))
1371
+ function lr(e) {
1372
+ if (!ur(e))
1373
1373
  throw new Error("bad x: need 0 < x < p");
1374
1374
  const t = At(e * e), n = At(t * e + BigInt(7));
1375
- let r = ir(n);
1376
- r % nt !== ut && (r = At(-r));
1377
- const i = new Xt(e, r, rr);
1375
+ let r = cr(n);
1376
+ r % nt !== lt && (r = At(-r));
1377
+ const i = new Yt(e, r, ar);
1378
1378
  return i.assertValidity(), i;
1379
1379
  }
1380
- function ar(...e) {
1381
- return Fe(F(rt("BIP0340/challenge", ...e)));
1380
+ function fr(...e) {
1381
+ return Ge(G(rt("BIP0340/challenge", ...e)));
1382
1382
  }
1383
- function ls(e) {
1384
- return Pt(e).bytes;
1383
+ function ys(e) {
1384
+ return Mt(e).bytes;
1385
1385
  }
1386
- function fs(e, t, n = Zn(32)) {
1387
- const r = Z("message", e), { bytes: i, scalar: s } = Pt(t), o = Z("auxRand", n, 32), c = Ot(s ^ F(rt("BIP0340/aux", o))), a = rt("BIP0340/nonce", c, i, r), l = Fe(F(a));
1388
- if (l === ut)
1386
+ function gs(e, t, n = Yn(32)) {
1387
+ const r = Z("message", e), { bytes: i, scalar: s } = Mt(t), o = Z("auxRand", n, 32), c = Ot(s ^ G(rt("BIP0340/aux", o))), a = rt("BIP0340/nonce", c, i, r), l = Ge(G(a));
1388
+ if (l === lt)
1389
1389
  throw new Error("sign failed: k is zero");
1390
- const { bytes: f, scalar: u } = Pt(l), g = ar(f, i, r), w = new Uint8Array(64);
1391
- if (w.set(f, 0), w.set(Ot(Fe(u + g * s)), 32), !cr(w, r, i))
1390
+ const { bytes: f, scalar: u } = Mt(l), p = fr(f, i, r), w = new Uint8Array(64);
1391
+ if (w.set(f, 0), w.set(Ot(Ge(u + p * s)), 32), !hr(w, r, i))
1392
1392
  throw new Error("sign: Invalid signature produced");
1393
1393
  return w;
1394
1394
  }
1395
- function cr(e, t, n) {
1395
+ function hr(e, t, n) {
1396
1396
  const r = Z("signature", e, 64), i = Z("message", t), s = Z("publicKey", n, 32);
1397
1397
  try {
1398
- const o = or(F(s)), c = F(r.subarray(0, 32));
1399
- if (!sr(c))
1398
+ const o = lr(G(s)), c = G(r.subarray(0, 32));
1399
+ if (!ur(c))
1400
1400
  return !1;
1401
- const a = F(r.subarray(32, 64));
1402
- if (!cs(a))
1401
+ const a = G(r.subarray(32, 64));
1402
+ if (!ds(a))
1403
1403
  return !1;
1404
- const l = ar(Ot(c), Yt(o), i), f = us(o, a, Fe(-l));
1404
+ const l = fr(Ot(c), Jt(o), i), f = ps(o, a, Ge(-l));
1405
1405
  return !(!f || !f.hasEvenY() || f.toAffine().x !== c);
1406
1406
  } catch {
1407
1407
  return !1;
1408
1408
  }
1409
1409
  }
1410
1410
  const Ze = {
1411
- getPublicKey: ls,
1412
- sign: fs,
1413
- verify: cr,
1411
+ getPublicKey: ys,
1412
+ sign: gs,
1413
+ verify: hr,
1414
1414
  utils: {
1415
- randomPrivateKey: Ie.utils.randomPrivateKey,
1416
- lift_x: or,
1417
- pointToBytes: Yt,
1418
- numberToBytesBE: Ne,
1419
- bytesToNumberBE: F,
1415
+ randomPrivateKey: _e.utils.randomPrivateKey,
1416
+ lift_x: lr,
1417
+ pointToBytes: Jt,
1418
+ numberToBytesBE: Ke,
1419
+ bytesToNumberBE: G,
1420
1420
  taggedHash: rt,
1421
- mod: W
1421
+ mod: V
1422
1422
  }
1423
1423
  }, Ct = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
1424
1424
  /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
1425
- const Qt = (e) => e instanceof Uint8Array, Bt = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength), ie = (e, t) => e << 32 - t | e >>> t, hs = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
1426
- if (!hs)
1425
+ const Xt = (e) => e instanceof Uint8Array, Bt = (e) => new DataView(e.buffer, e.byteOffset, e.byteLength), ie = (e, t) => e << 32 - t | e >>> t, ws = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
1426
+ if (!ws)
1427
1427
  throw new Error("Non little-endian hardware is not supported");
1428
- const ds = Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, "0"));
1428
+ const bs = Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, "0"));
1429
1429
  function P(e) {
1430
- if (!Qt(e))
1430
+ if (!Xt(e))
1431
1431
  throw new Error("Uint8Array expected");
1432
1432
  let t = "";
1433
1433
  for (let n = 0; n < e.length; n++)
1434
- t += ds[e[n]];
1434
+ t += bs[e[n]];
1435
1435
  return t;
1436
1436
  }
1437
- function z(e) {
1437
+ function j(e) {
1438
1438
  if (typeof e != "string")
1439
1439
  throw new Error("hex string expected, got " + typeof e);
1440
1440
  const t = e.length;
@@ -1449,86 +1449,86 @@ function z(e) {
1449
1449
  }
1450
1450
  return n;
1451
1451
  }
1452
- function ys(e) {
1452
+ function vs(e) {
1453
1453
  if (typeof e != "string")
1454
1454
  throw new Error(`utf8ToBytes expected string, got ${typeof e}`);
1455
1455
  return new Uint8Array(new TextEncoder().encode(e));
1456
1456
  }
1457
1457
  function Je(e) {
1458
- if (typeof e == "string" && (e = ys(e)), !Qt(e))
1458
+ if (typeof e == "string" && (e = vs(e)), !Xt(e))
1459
1459
  throw new Error(`expected Uint8Array, got ${typeof e}`);
1460
1460
  return e;
1461
1461
  }
1462
- function lt(...e) {
1462
+ function ft(...e) {
1463
1463
  const t = new Uint8Array(e.reduce((r, i) => r + i.length, 0));
1464
1464
  let n = 0;
1465
1465
  return e.forEach((r) => {
1466
- if (!Qt(r))
1466
+ if (!Xt(r))
1467
1467
  throw new Error("Uint8Array expected");
1468
1468
  t.set(r, n), n += r.length;
1469
1469
  }), t;
1470
1470
  }
1471
- class ur {
1471
+ class dr {
1472
1472
  // Safe version that clones internal state
1473
1473
  clone() {
1474
1474
  return this._cloneInto();
1475
1475
  }
1476
1476
  }
1477
- function lr(e) {
1477
+ function pr(e) {
1478
1478
  const t = (r) => e().update(Je(r)).digest(), n = e();
1479
1479
  return t.outputLen = n.outputLen, t.blockLen = n.blockLen, t.create = () => e(), t;
1480
1480
  }
1481
- function fr(e = 32) {
1481
+ function yr(e = 32) {
1482
1482
  if (Ct && typeof Ct.getRandomValues == "function")
1483
1483
  return Ct.getRandomValues(new Uint8Array(e));
1484
1484
  throw new Error("crypto.getRandomValues must be defined");
1485
1485
  }
1486
- function Mt(e) {
1486
+ function Pt(e) {
1487
1487
  if (!Number.isSafeInteger(e) || e < 0)
1488
1488
  throw new Error(`Wrong positive integer: ${e}`);
1489
1489
  }
1490
- function ps(e) {
1490
+ function ms(e) {
1491
1491
  if (typeof e != "boolean")
1492
1492
  throw new Error(`Expected boolean, not ${e}`);
1493
1493
  }
1494
- function hr(e, ...t) {
1494
+ function gr(e, ...t) {
1495
1495
  if (!(e instanceof Uint8Array))
1496
1496
  throw new Error("Expected Uint8Array");
1497
1497
  if (t.length > 0 && !t.includes(e.length))
1498
1498
  throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`);
1499
1499
  }
1500
- function gs(e) {
1500
+ function Es(e) {
1501
1501
  if (typeof e != "function" || typeof e.create != "function")
1502
1502
  throw new Error("Hash should be wrapped by utils.wrapConstructor");
1503
- Mt(e.outputLen), Mt(e.blockLen);
1503
+ Pt(e.outputLen), Pt(e.blockLen);
1504
1504
  }
1505
- function ws(e, t = !0) {
1505
+ function xs(e, t = !0) {
1506
1506
  if (e.destroyed)
1507
1507
  throw new Error("Hash instance has been destroyed");
1508
1508
  if (t && e.finished)
1509
1509
  throw new Error("Hash#digest() has already been called");
1510
1510
  }
1511
- function bs(e, t) {
1512
- hr(e);
1511
+ function Ns(e, t) {
1512
+ gr(e);
1513
1513
  const n = t.outputLen;
1514
1514
  if (e.length < n)
1515
1515
  throw new Error(`digestInto() expects output buffer of length at least ${n}`);
1516
1516
  }
1517
1517
  const se = {
1518
- number: Mt,
1519
- bool: ps,
1520
- bytes: hr,
1521
- hash: gs,
1522
- exists: ws,
1523
- output: bs
1518
+ number: Pt,
1519
+ bool: ms,
1520
+ bytes: gr,
1521
+ hash: Es,
1522
+ exists: xs,
1523
+ output: Ns
1524
1524
  };
1525
- function vs(e, t, n, r) {
1525
+ function Ks(e, t, n, r) {
1526
1526
  if (typeof e.setBigUint64 == "function")
1527
1527
  return e.setBigUint64(t, n, r);
1528
1528
  const i = BigInt(32), s = BigInt(4294967295), o = Number(n >> i & s), c = Number(n & s), a = r ? 4 : 0, l = r ? 0 : 4;
1529
1529
  e.setUint32(t + a, o, r), e.setUint32(t + l, c, r);
1530
1530
  }
1531
- class ms extends ur {
1531
+ class Ss extends dr {
1532
1532
  constructor(t, n, r, i) {
1533
1533
  super(), this.blockLen = t, this.outputLen = n, this.padOffset = r, this.isLE = i, this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.buffer = new Uint8Array(t), this.view = Bt(this.buffer);
1534
1534
  }
@@ -1556,7 +1556,7 @@ class ms extends ur {
1556
1556
  n[o++] = 128, this.buffer.subarray(o).fill(0), this.padOffset > i - o && (this.process(r, 0), o = 0);
1557
1557
  for (let u = o; u < i; u++)
1558
1558
  n[u] = 0;
1559
- vs(r, i - 8, BigInt(this.length * 8), s), this.process(r, 0);
1559
+ Ks(r, i - 8, BigInt(this.length * 8), s), this.process(r, 0);
1560
1560
  const c = Bt(t), a = this.outputLen;
1561
1561
  if (a % 4)
1562
1562
  throw new Error("_sha2: outputLen should be aligned to 32bit");
@@ -1578,7 +1578,7 @@ class ms extends ur {
1578
1578
  return t.length = i, t.pos = c, t.finished = s, t.destroyed = o, i % n && t.buffer.set(r), t;
1579
1579
  }
1580
1580
  }
1581
- const Es = (e, t, n) => e & t ^ ~e & n, xs = (e, t, n) => e & t ^ e & n ^ t & n, Ks = new Uint32Array([
1581
+ const As = (e, t, n) => e & t ^ ~e & n, Cs = (e, t, n) => e & t ^ e & n ^ t & n, Bs = new Uint32Array([
1582
1582
  1116352408,
1583
1583
  1899447441,
1584
1584
  3049323471,
@@ -1653,7 +1653,7 @@ const Es = (e, t, n) => e & t ^ ~e & n, xs = (e, t, n) => e & t ^ e & n ^ t & n,
1653
1653
  528734635,
1654
1654
  1541459225
1655
1655
  ]), Ee = new Uint32Array(64);
1656
- class dr extends ms {
1656
+ class wr extends Ss {
1657
1657
  constructor() {
1658
1658
  super(64, 32, 8, !1), this.A = me[0] | 0, this.B = me[1] | 0, this.C = me[2] | 0, this.D = me[3] | 0, this.E = me[4] | 0, this.F = me[5] | 0, this.G = me[6] | 0, this.H = me[7] | 0;
1659
1659
  }
@@ -1669,12 +1669,12 @@ class dr extends ms {
1669
1669
  for (let u = 0; u < 16; u++, n += 4)
1670
1670
  Ee[u] = t.getUint32(n, !1);
1671
1671
  for (let u = 16; u < 64; u++) {
1672
- const g = Ee[u - 15], w = Ee[u - 2], p = ie(g, 7) ^ ie(g, 18) ^ g >>> 3, h = ie(w, 17) ^ ie(w, 19) ^ w >>> 10;
1673
- Ee[u] = h + Ee[u - 7] + p + Ee[u - 16] | 0;
1672
+ const p = Ee[u - 15], w = Ee[u - 2], g = ie(p, 7) ^ ie(p, 18) ^ p >>> 3, h = ie(w, 17) ^ ie(w, 19) ^ w >>> 10;
1673
+ Ee[u] = h + Ee[u - 7] + g + Ee[u - 16] | 0;
1674
1674
  }
1675
1675
  let { A: r, B: i, C: s, D: o, E: c, F: a, G: l, H: f } = this;
1676
1676
  for (let u = 0; u < 64; u++) {
1677
- const g = ie(c, 6) ^ ie(c, 11) ^ ie(c, 25), w = f + g + Es(c, a, l) + Ks[u] + Ee[u] | 0, h = (ie(r, 2) ^ ie(r, 13) ^ ie(r, 22)) + xs(r, i, s) | 0;
1677
+ const p = ie(c, 6) ^ ie(c, 11) ^ ie(c, 25), w = f + p + As(c, a, l) + Bs[u] + Ee[u] | 0, h = (ie(r, 2) ^ ie(r, 13) ^ ie(r, 22)) + Cs(r, i, s) | 0;
1678
1678
  f = l, l = a, a = c, c = o + w | 0, o = s, s = i, i = r, r = w + h | 0;
1679
1679
  }
1680
1680
  r = r + this.A | 0, i = i + this.B | 0, s = s + this.C | 0, o = o + this.D | 0, c = c + this.E | 0, a = a + this.F | 0, l = l + this.G | 0, f = f + this.H | 0, this.set(r, i, s, o, c, a, l, f);
@@ -1686,15 +1686,15 @@ class dr extends ms {
1686
1686
  this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0);
1687
1687
  }
1688
1688
  }
1689
- class Ns extends dr {
1689
+ class ks extends wr {
1690
1690
  constructor() {
1691
1691
  super(), this.A = -1056596264, this.B = 914150663, this.C = 812702999, this.D = -150054599, this.E = -4191439, this.F = 1750603025, this.G = 1694076839, this.H = -1090891868, this.outputLen = 28;
1692
1692
  }
1693
1693
  }
1694
- const fe = lr(() => new dr());
1695
- lr(() => new Ns());
1694
+ const fe = pr(() => new wr());
1695
+ pr(() => new ks());
1696
1696
  /*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
1697
- function Ve(e) {
1697
+ function We(e) {
1698
1698
  if (!Number.isSafeInteger(e))
1699
1699
  throw new Error(`Wrong integer: ${e}`);
1700
1700
  }
@@ -1702,13 +1702,13 @@ function de(...e) {
1702
1702
  const t = (i, s) => (o) => i(s(o)), n = Array.from(e).reverse().reduce((i, s) => i ? t(i, s.encode) : s.encode, void 0), r = e.reduce((i, s) => i ? t(i, s.decode) : s.decode, void 0);
1703
1703
  return { encode: n, decode: r };
1704
1704
  }
1705
- function ye(e) {
1705
+ function pe(e) {
1706
1706
  return {
1707
1707
  encode: (t) => {
1708
1708
  if (!Array.isArray(t) || t.length && typeof t[0] != "number")
1709
1709
  throw new Error("alphabet.encode input should be an array of numbers");
1710
1710
  return t.map((n) => {
1711
- if (Ve(n), n < 0 || n >= e.length)
1711
+ if (We(n), n < 0 || n >= e.length)
1712
1712
  throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${e.length})`);
1713
1713
  return e[n];
1714
1714
  });
@@ -1727,7 +1727,7 @@ function ye(e) {
1727
1727
  }
1728
1728
  };
1729
1729
  }
1730
- function pe(e = "") {
1730
+ function ye(e = "") {
1731
1731
  if (typeof e != "string")
1732
1732
  throw new Error("join separator should be string");
1733
1733
  return {
@@ -1746,8 +1746,8 @@ function pe(e = "") {
1746
1746
  }
1747
1747
  };
1748
1748
  }
1749
- function ft(e, t = "=") {
1750
- if (Ve(e), typeof t != "string")
1749
+ function ht(e, t = "=") {
1750
+ if (We(e), typeof t != "string")
1751
1751
  throw new Error("padding chr should be string");
1752
1752
  return {
1753
1753
  encode(n) {
@@ -1776,12 +1776,12 @@ function ft(e, t = "=") {
1776
1776
  }
1777
1777
  };
1778
1778
  }
1779
- function yr(e) {
1779
+ function br(e) {
1780
1780
  if (typeof e != "function")
1781
1781
  throw new Error("normalize fn should be function");
1782
1782
  return { encode: (t) => t, decode: (t) => e(t) };
1783
1783
  }
1784
- function Un(e, t, n) {
1784
+ function Rn(e, t, n) {
1785
1785
  if (t < 2)
1786
1786
  throw new Error(`convertRadix: wrong from=${t}, base cannot be less than 2`);
1787
1787
  if (n < 2)
@@ -1793,7 +1793,7 @@ function Un(e, t, n) {
1793
1793
  let r = 0;
1794
1794
  const i = [], s = Array.from(e);
1795
1795
  for (s.forEach((o) => {
1796
- if (Ve(o), o < 0 || o >= t)
1796
+ if (We(o), o < 0 || o >= t)
1797
1797
  throw new Error(`Wrong integer: ${o}`);
1798
1798
  }); ; ) {
1799
1799
  let o = 0, c = !0;
@@ -1814,7 +1814,7 @@ function Un(e, t, n) {
1814
1814
  i.push(0);
1815
1815
  return i.reverse();
1816
1816
  }
1817
- const pr = (e, t) => t ? pr(t, e % t) : e, it = (e, t) => e + (t - pr(e, t));
1817
+ const vr = (e, t) => t ? vr(t, e % t) : e, it = (e, t) => e + (t - vr(e, t));
1818
1818
  function Ht(e, t, n, r) {
1819
1819
  if (!Array.isArray(e))
1820
1820
  throw new Error("convertRadix2: data should be array");
@@ -1827,7 +1827,7 @@ function Ht(e, t, n, r) {
1827
1827
  let i = 0, s = 0;
1828
1828
  const o = 2 ** n - 1, c = [];
1829
1829
  for (const a of e) {
1830
- if (Ve(a), a >= 2 ** t)
1830
+ if (We(a), a >= 2 ** t)
1831
1831
  throw new Error(`convertRadix2: invalid data word=${a} from=${t}`);
1832
1832
  if (i = i << t | a, s + t > 32)
1833
1833
  throw new Error(`convertRadix2: carry overflow pos=${s} from=${t}`);
@@ -1841,22 +1841,22 @@ function Ht(e, t, n, r) {
1841
1841
  throw new Error(`Non-zero padding: ${i}`);
1842
1842
  return r && s > 0 && c.push(i >>> 0), c;
1843
1843
  }
1844
- function Ss(e) {
1845
- return Ve(e), {
1844
+ function Is(e) {
1845
+ return We(e), {
1846
1846
  encode: (t) => {
1847
1847
  if (!(t instanceof Uint8Array))
1848
1848
  throw new Error("radix.encode input should be Uint8Array");
1849
- return Un(Array.from(t), 2 ** 8, e);
1849
+ return Rn(Array.from(t), 2 ** 8, e);
1850
1850
  },
1851
1851
  decode: (t) => {
1852
1852
  if (!Array.isArray(t) || t.length && typeof t[0] != "number")
1853
1853
  throw new Error("radix.decode input should be array of strings");
1854
- return Uint8Array.from(Un(t, e, 2 ** 8));
1854
+ return Uint8Array.from(Rn(t, e, 2 ** 8));
1855
1855
  }
1856
1856
  };
1857
1857
  }
1858
1858
  function Se(e, t = !1) {
1859
- if (Ve(e), e <= 0 || e > 32)
1859
+ if (We(e), e <= 0 || e > 32)
1860
1860
  throw new Error("radix2: bits should be in (0..32]");
1861
1861
  if (it(8, e) > 32 || it(e, 8) > 32)
1862
1862
  throw new Error("radix2: carry overflow");
@@ -1873,7 +1873,7 @@ function Se(e, t = !1) {
1873
1873
  }
1874
1874
  };
1875
1875
  }
1876
- function Ln(e) {
1876
+ function Tn(e) {
1877
1877
  if (typeof e != "function")
1878
1878
  throw new Error("unsafeWrapper fn should be function");
1879
1879
  return function(...t) {
@@ -1883,25 +1883,25 @@ function Ln(e) {
1883
1883
  }
1884
1884
  };
1885
1885
  }
1886
- const As = de(Se(4), ye("0123456789ABCDEF"), pe("")), Cs = de(Se(5), ye("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), ft(5), pe(""));
1887
- de(Se(5), ye("0123456789ABCDEFGHIJKLMNOPQRSTUV"), ft(5), pe(""));
1888
- de(Se(5), ye("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), pe(""), yr((e) => e.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1")));
1889
- const he = de(Se(6), ye("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), ft(6), pe("")), Bs = de(Se(6), ye("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), ft(6), pe("")), en = (e) => de(Ss(58), ye(e), pe("")), qt = en("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");
1890
- en("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");
1891
- en("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");
1892
- const $n = [0, 2, 3, 5, 6, 7, 9, 10, 11], ks = {
1886
+ const _s = de(Se(4), pe("0123456789ABCDEF"), ye("")), Us = de(Se(5), pe("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), ht(5), ye(""));
1887
+ de(Se(5), pe("0123456789ABCDEFGHIJKLMNOPQRSTUV"), ht(5), ye(""));
1888
+ de(Se(5), pe("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), ye(""), br((e) => e.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1")));
1889
+ const he = de(Se(6), pe("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), ht(6), ye("")), Ls = de(Se(6), pe("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), ht(6), ye("")), Qt = (e) => de(Is(58), pe(e), ye("")), qt = Qt("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");
1890
+ Qt("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");
1891
+ Qt("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");
1892
+ const On = [0, 2, 3, 5, 6, 7, 9, 10, 11], $s = {
1893
1893
  encode(e) {
1894
1894
  let t = "";
1895
1895
  for (let n = 0; n < e.length; n += 8) {
1896
1896
  const r = e.subarray(n, n + 8);
1897
- t += qt.encode(r).padStart($n[r.length], "1");
1897
+ t += qt.encode(r).padStart(On[r.length], "1");
1898
1898
  }
1899
1899
  return t;
1900
1900
  },
1901
1901
  decode(e) {
1902
1902
  let t = [];
1903
1903
  for (let n = 0; n < e.length; n += 11) {
1904
- const r = e.slice(n, n + 11), i = $n.indexOf(r.length), s = qt.decode(r);
1904
+ const r = e.slice(n, n + 11), i = On.indexOf(r.length), s = qt.decode(r);
1905
1905
  for (let o = 0; o < s.length - i; o++)
1906
1906
  if (s[o] !== 0)
1907
1907
  throw new Error("base58xmr: wrong padding");
@@ -1909,118 +1909,118 @@ const $n = [0, 2, 3, 5, 6, 7, 9, 10, 11], ks = {
1909
1909
  }
1910
1910
  return Uint8Array.from(t);
1911
1911
  }
1912
- }, Dt = de(ye("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), pe("")), Tn = [996825010, 642813549, 513874426, 1027748829, 705979059];
1913
- function Ge(e) {
1912
+ }, Dt = de(pe("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), ye("")), Mn = [996825010, 642813549, 513874426, 1027748829, 705979059];
1913
+ function Fe(e) {
1914
1914
  const t = e >> 25;
1915
1915
  let n = (e & 33554431) << 5;
1916
- for (let r = 0; r < Tn.length; r++)
1917
- (t >> r & 1) === 1 && (n ^= Tn[r]);
1916
+ for (let r = 0; r < Mn.length; r++)
1917
+ (t >> r & 1) === 1 && (n ^= Mn[r]);
1918
1918
  return n;
1919
1919
  }
1920
- function Rn(e, t, n = 1) {
1920
+ function Pn(e, t, n = 1) {
1921
1921
  const r = e.length;
1922
1922
  let i = 1;
1923
1923
  for (let s = 0; s < r; s++) {
1924
1924
  const o = e.charCodeAt(s);
1925
1925
  if (o < 33 || o > 126)
1926
1926
  throw new Error(`Invalid prefix (${e})`);
1927
- i = Ge(i) ^ o >> 5;
1927
+ i = Fe(i) ^ o >> 5;
1928
1928
  }
1929
- i = Ge(i);
1929
+ i = Fe(i);
1930
1930
  for (let s = 0; s < r; s++)
1931
- i = Ge(i) ^ e.charCodeAt(s) & 31;
1931
+ i = Fe(i) ^ e.charCodeAt(s) & 31;
1932
1932
  for (let s of t)
1933
- i = Ge(i) ^ s;
1933
+ i = Fe(i) ^ s;
1934
1934
  for (let s = 0; s < 6; s++)
1935
- i = Ge(i);
1935
+ i = Fe(i);
1936
1936
  return i ^= n, Dt.encode(Ht([i % 2 ** 30], 30, 5, !1));
1937
1937
  }
1938
- function gr(e) {
1939
- const t = e === "bech32" ? 1 : 734539939, n = Se(5), r = n.decode, i = n.encode, s = Ln(r);
1940
- function o(f, u, g = 90) {
1938
+ function mr(e) {
1939
+ const t = e === "bech32" ? 1 : 734539939, n = Se(5), r = n.decode, i = n.encode, s = Tn(r);
1940
+ function o(f, u, p = 90) {
1941
1941
  if (typeof f != "string")
1942
1942
  throw new Error(`bech32.encode prefix should be string, not ${typeof f}`);
1943
1943
  if (!Array.isArray(u) || u.length && typeof u[0] != "number")
1944
1944
  throw new Error(`bech32.encode words should be array of numbers, not ${typeof u}`);
1945
1945
  const w = f.length + 7 + u.length;
1946
- if (g !== !1 && w > g)
1947
- throw new TypeError(`Length ${w} exceeds limit ${g}`);
1948
- return f = f.toLowerCase(), `${f}1${Dt.encode(u)}${Rn(f, u, t)}`;
1946
+ if (p !== !1 && w > p)
1947
+ throw new TypeError(`Length ${w} exceeds limit ${p}`);
1948
+ return f = f.toLowerCase(), `${f}1${Dt.encode(u)}${Pn(f, u, t)}`;
1949
1949
  }
1950
1950
  function c(f, u = 90) {
1951
1951
  if (typeof f != "string")
1952
1952
  throw new Error(`bech32.decode input should be string, not ${typeof f}`);
1953
1953
  if (f.length < 8 || u !== !1 && f.length > u)
1954
1954
  throw new TypeError(`Wrong string length: ${f.length} (${f}). Expected (8..${u})`);
1955
- const g = f.toLowerCase();
1956
- if (f !== g && f !== f.toUpperCase())
1955
+ const p = f.toLowerCase();
1956
+ if (f !== p && f !== f.toUpperCase())
1957
1957
  throw new Error("String must be lowercase or uppercase");
1958
- f = g;
1958
+ f = p;
1959
1959
  const w = f.lastIndexOf("1");
1960
1960
  if (w === 0 || w === -1)
1961
1961
  throw new Error('Letter "1" must be present between prefix and data only');
1962
- const p = f.slice(0, w), h = f.slice(w + 1);
1962
+ const g = f.slice(0, w), h = f.slice(w + 1);
1963
1963
  if (h.length < 6)
1964
1964
  throw new Error("Data must be at least 6 characters long");
1965
- const d = Dt.decode(h).slice(0, -6), y = Rn(p, d, t);
1965
+ const d = Dt.decode(h).slice(0, -6), y = Pn(g, d, t);
1966
1966
  if (!h.endsWith(y))
1967
1967
  throw new Error(`Invalid checksum in ${f}: expected "${y}"`);
1968
- return { prefix: p, words: d };
1968
+ return { prefix: g, words: d };
1969
1969
  }
1970
- const a = Ln(c);
1970
+ const a = Tn(c);
1971
1971
  function l(f) {
1972
- const { prefix: u, words: g } = c(f, !1);
1973
- return { prefix: u, words: g, bytes: r(g) };
1972
+ const { prefix: u, words: p } = c(f, !1);
1973
+ return { prefix: u, words: p, bytes: r(p) };
1974
1974
  }
1975
1975
  return { encode: o, decode: c, decodeToBytes: l, decodeUnsafe: a, fromWords: r, fromWordsUnsafe: s, toWords: i };
1976
1976
  }
1977
- const ze = gr("bech32");
1978
- gr("bech32m");
1979
- const _s = {
1977
+ const ze = mr("bech32");
1978
+ mr("bech32m");
1979
+ const Rs = {
1980
1980
  encode: (e) => new TextDecoder().decode(e),
1981
1981
  decode: (e) => new TextEncoder().encode(e)
1982
- }, Is = de(Se(4), ye("0123456789abcdef"), pe(""), yr((e) => {
1982
+ }, Ts = de(Se(4), pe("0123456789abcdef"), ye(""), br((e) => {
1983
1983
  if (typeof e != "string" || e.length % 2)
1984
1984
  throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);
1985
1985
  return e.toLowerCase();
1986
- })), Us = {
1987
- utf8: _s,
1988
- hex: Is,
1989
- base16: As,
1990
- base32: Cs,
1986
+ })), Os = {
1987
+ utf8: Rs,
1988
+ hex: Ts,
1989
+ base16: _s,
1990
+ base32: Us,
1991
1991
  base64: he,
1992
- base64url: Bs,
1992
+ base64url: Ls,
1993
1993
  base58: qt,
1994
- base58xmr: ks
1994
+ base58xmr: $s
1995
1995
  };
1996
- `${Object.keys(Us).join(", ")}`;
1996
+ `${Object.keys(Os).join(", ")}`;
1997
1997
  function kt(e) {
1998
1998
  if (!Number.isSafeInteger(e) || e < 0)
1999
1999
  throw new Error(`positive integer expected, not ${e}`);
2000
2000
  }
2001
- function On(e) {
2001
+ function Hn(e) {
2002
2002
  if (typeof e != "boolean")
2003
2003
  throw new Error(`boolean expected, not ${e}`);
2004
2004
  }
2005
- function Ls(e) {
2005
+ function Ms(e) {
2006
2006
  return e instanceof Uint8Array || e != null && typeof e == "object" && e.constructor.name === "Uint8Array";
2007
2007
  }
2008
- function ce(e, ...t) {
2009
- if (!Ls(e))
2008
+ function ue(e, ...t) {
2009
+ if (!Ms(e))
2010
2010
  throw new Error("Uint8Array expected");
2011
2011
  if (t.length > 0 && !t.includes(e.length))
2012
2012
  throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`);
2013
2013
  }
2014
2014
  /*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */
2015
- const G = (e) => new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4)), $s = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
2016
- if (!$s)
2015
+ const F = (e) => new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4)), Ps = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
2016
+ if (!Ps)
2017
2017
  throw new Error("Non little-endian hardware is not supported");
2018
- function Ts(e, t) {
2018
+ function Hs(e, t) {
2019
2019
  if (t == null || typeof t != "object")
2020
2020
  throw new Error("options must be defined");
2021
2021
  return Object.assign(e, t);
2022
2022
  }
2023
- function Rs(e, t) {
2023
+ function qs(e, t) {
2024
2024
  if (e.length !== t.length)
2025
2025
  return !1;
2026
2026
  let n = 0;
@@ -2028,19 +2028,19 @@ function Rs(e, t) {
2028
2028
  n |= e[r] ^ t[r];
2029
2029
  return n === 0;
2030
2030
  }
2031
- const Os = /* @__NO_SIDE_EFFECTS__ */ (e, t) => (Object.assign(t, e), t), Ke = 16, Ps = 283;
2032
- function tn(e) {
2033
- return e << 1 ^ Ps & -(e >> 7);
2031
+ const Ds = /* @__NO_SIDE_EFFECTS__ */ (e, t) => (Object.assign(t, e), t), Ne = 16, js = 283;
2032
+ function en(e) {
2033
+ return e << 1 ^ js & -(e >> 7);
2034
2034
  }
2035
2035
  function He(e, t) {
2036
2036
  let n = 0;
2037
2037
  for (; t > 0; t >>= 1)
2038
- n ^= e & -(t & 1), e = tn(e);
2038
+ n ^= e & -(t & 1), e = en(e);
2039
2039
  return n;
2040
2040
  }
2041
2041
  const jt = /* @__PURE__ */ (() => {
2042
2042
  let e = new Uint8Array(256);
2043
- for (let n = 0, r = 1; n < 256; n++, r ^= tn(r))
2043
+ for (let n = 0, r = 1; n < 256; n++, r ^= en(r))
2044
2044
  e[n] = r;
2045
2045
  const t = new Uint8Array(256);
2046
2046
  t[0] = 99;
@@ -2049,11 +2049,11 @@ const jt = /* @__PURE__ */ (() => {
2049
2049
  r |= r << 8, t[e[n]] = (r ^ r >> 4 ^ r >> 5 ^ r >> 6 ^ r >> 7 ^ 99) & 255;
2050
2050
  }
2051
2051
  return t;
2052
- })(), Ms = /* @__PURE__ */ jt.map((e, t) => jt.indexOf(t)), Hs = (e) => e << 24 | e >>> 8, _t = (e) => e << 8 | e >>> 24;
2053
- function wr(e, t) {
2052
+ })(), zs = /* @__PURE__ */ jt.map((e, t) => jt.indexOf(t)), Ws = (e) => e << 24 | e >>> 8, It = (e) => e << 8 | e >>> 24;
2053
+ function Er(e, t) {
2054
2054
  if (e.length !== 256)
2055
2055
  throw new Error("Wrong sbox length");
2056
- const n = new Uint32Array(256).map((l, f) => t(e[f])), r = n.map(_t), i = r.map(_t), s = i.map(_t), o = new Uint32Array(256 * 256), c = new Uint32Array(256 * 256), a = new Uint16Array(256 * 256);
2056
+ const n = new Uint32Array(256).map((l, f) => t(e[f])), r = n.map(It), i = r.map(It), s = i.map(It), o = new Uint32Array(256 * 256), c = new Uint32Array(256 * 256), a = new Uint16Array(256 * 256);
2057
2057
  for (let l = 0; l < 256; l++)
2058
2058
  for (let f = 0; f < 256; f++) {
2059
2059
  const u = l * 256 + f;
@@ -2061,27 +2061,27 @@ function wr(e, t) {
2061
2061
  }
2062
2062
  return { sbox: e, sbox2: a, T0: n, T1: r, T2: i, T3: s, T01: o, T23: c };
2063
2063
  }
2064
- const nn = /* @__PURE__ */ wr(jt, (e) => He(e, 3) << 24 | e << 16 | e << 8 | He(e, 2)), br = /* @__PURE__ */ wr(Ms, (e) => He(e, 11) << 24 | He(e, 13) << 16 | He(e, 9) << 8 | He(e, 14)), qs = /* @__PURE__ */ (() => {
2064
+ const tn = /* @__PURE__ */ Er(jt, (e) => He(e, 3) << 24 | e << 16 | e << 8 | He(e, 2)), xr = /* @__PURE__ */ Er(zs, (e) => He(e, 11) << 24 | He(e, 13) << 16 | He(e, 9) << 8 | He(e, 14)), Vs = /* @__PURE__ */ (() => {
2065
2065
  const e = new Uint8Array(16);
2066
- for (let t = 0, n = 1; t < 16; t++, n = tn(n))
2066
+ for (let t = 0, n = 1; t < 16; t++, n = en(n))
2067
2067
  e[t] = n;
2068
2068
  return e;
2069
2069
  })();
2070
- function vr(e) {
2071
- ce(e);
2070
+ function Nr(e) {
2071
+ ue(e);
2072
2072
  const t = e.length;
2073
2073
  if (![16, 24, 32].includes(t))
2074
2074
  throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);
2075
- const { sbox2: n } = nn, r = G(e), i = r.length, s = (c) => oe(n, c, c, c, c), o = new Uint32Array(t + 28);
2075
+ const { sbox2: n } = tn, r = F(e), i = r.length, s = (c) => oe(n, c, c, c, c), o = new Uint32Array(t + 28);
2076
2076
  o.set(r);
2077
2077
  for (let c = i; c < o.length; c++) {
2078
2078
  let a = o[c - 1];
2079
- c % i === 0 ? a = s(Hs(a)) ^ qs[c / i - 1] : i > 6 && c % i === 4 && (a = s(a)), o[c] = o[c - i] ^ a;
2079
+ c % i === 0 ? a = s(Ws(a)) ^ Vs[c / i - 1] : i > 6 && c % i === 4 && (a = s(a)), o[c] = o[c - i] ^ a;
2080
2080
  }
2081
2081
  return o;
2082
2082
  }
2083
- function Ds(e) {
2084
- const t = vr(e), n = t.slice(), r = t.length, { sbox2: i } = nn, { T0: s, T1: o, T2: c, T3: a } = br;
2083
+ function Zs(e) {
2084
+ const t = Nr(e), n = t.slice(), r = t.length, { sbox2: i } = tn, { T0: s, T1: o, T2: c, T3: a } = xr;
2085
2085
  for (let l = 0; l < r; l += 4)
2086
2086
  for (let f = 0; f < 4; f++)
2087
2087
  n[l + f] = t[r - l - 4 + f];
@@ -2098,55 +2098,55 @@ function xe(e, t, n, r, i, s) {
2098
2098
  function oe(e, t, n, r, i) {
2099
2099
  return e[t & 255 | n & 65280] | e[r >>> 16 & 255 | i >>> 16 & 65280] << 16;
2100
2100
  }
2101
- function Pn(e, t, n, r, i) {
2102
- const { sbox2: s, T01: o, T23: c } = nn;
2101
+ function qn(e, t, n, r, i) {
2102
+ const { sbox2: s, T01: o, T23: c } = tn;
2103
2103
  let a = 0;
2104
2104
  t ^= e[a++], n ^= e[a++], r ^= e[a++], i ^= e[a++];
2105
2105
  const l = e.length / 4 - 2;
2106
- for (let p = 0; p < l; p++) {
2106
+ for (let g = 0; g < l; g++) {
2107
2107
  const h = e[a++] ^ xe(o, c, t, n, r, i), d = e[a++] ^ xe(o, c, n, r, i, t), y = e[a++] ^ xe(o, c, r, i, t, n), E = e[a++] ^ xe(o, c, i, t, n, r);
2108
2108
  t = h, n = d, r = y, i = E;
2109
2109
  }
2110
- const f = e[a++] ^ oe(s, t, n, r, i), u = e[a++] ^ oe(s, n, r, i, t), g = e[a++] ^ oe(s, r, i, t, n), w = e[a++] ^ oe(s, i, t, n, r);
2111
- return { s0: f, s1: u, s2: g, s3: w };
2110
+ const f = e[a++] ^ oe(s, t, n, r, i), u = e[a++] ^ oe(s, n, r, i, t), p = e[a++] ^ oe(s, r, i, t, n), w = e[a++] ^ oe(s, i, t, n, r);
2111
+ return { s0: f, s1: u, s2: p, s3: w };
2112
2112
  }
2113
- function js(e, t, n, r, i) {
2114
- const { sbox2: s, T01: o, T23: c } = br;
2113
+ function Fs(e, t, n, r, i) {
2114
+ const { sbox2: s, T01: o, T23: c } = xr;
2115
2115
  let a = 0;
2116
2116
  t ^= e[a++], n ^= e[a++], r ^= e[a++], i ^= e[a++];
2117
2117
  const l = e.length / 4 - 2;
2118
- for (let p = 0; p < l; p++) {
2118
+ for (let g = 0; g < l; g++) {
2119
2119
  const h = e[a++] ^ xe(o, c, t, i, r, n), d = e[a++] ^ xe(o, c, n, t, i, r), y = e[a++] ^ xe(o, c, r, n, t, i), E = e[a++] ^ xe(o, c, i, r, n, t);
2120
2120
  t = h, n = d, r = y, i = E;
2121
2121
  }
2122
- const f = e[a++] ^ oe(s, t, i, r, n), u = e[a++] ^ oe(s, n, t, i, r), g = e[a++] ^ oe(s, r, n, t, i), w = e[a++] ^ oe(s, i, r, n, t);
2123
- return { s0: f, s1: u, s2: g, s3: w };
2122
+ const f = e[a++] ^ oe(s, t, i, r, n), u = e[a++] ^ oe(s, n, t, i, r), p = e[a++] ^ oe(s, r, n, t, i), w = e[a++] ^ oe(s, i, r, n, t);
2123
+ return { s0: f, s1: u, s2: p, s3: w };
2124
2124
  }
2125
- function mr(e, t) {
2125
+ function Kr(e, t) {
2126
2126
  if (!t)
2127
2127
  return new Uint8Array(e);
2128
- if (ce(t), t.length < e)
2128
+ if (ue(t), t.length < e)
2129
2129
  throw new Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);
2130
2130
  return t;
2131
2131
  }
2132
- function zs(e) {
2133
- if (ce(e), e.length % Ke !== 0)
2134
- throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${Ke}`);
2132
+ function Gs(e) {
2133
+ if (ue(e), e.length % Ne !== 0)
2134
+ throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${Ne}`);
2135
2135
  }
2136
- function Vs(e, t, n) {
2136
+ function Js(e, t, n) {
2137
2137
  let r = e.length;
2138
- const i = r % Ke;
2138
+ const i = r % Ne;
2139
2139
  if (!t && i !== 0)
2140
2140
  throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");
2141
- const s = G(e);
2141
+ const s = F(e);
2142
2142
  if (t) {
2143
- let a = Ke - i;
2144
- a || (a = Ke), r = r + a;
2143
+ let a = Ne - i;
2144
+ a || (a = Ne), r = r + a;
2145
2145
  }
2146
- const o = mr(r, n), c = G(o);
2146
+ const o = Kr(r, n), c = F(o);
2147
2147
  return { b: s, o: c, out: o };
2148
2148
  }
2149
- function Ws(e, t) {
2149
+ function Ys(e, t) {
2150
2150
  if (!t)
2151
2151
  return e;
2152
2152
  const n = e.length;
@@ -2161,123 +2161,123 @@ function Ws(e, t) {
2161
2161
  throw new Error("aes/pcks5: wrong padding");
2162
2162
  return i;
2163
2163
  }
2164
- function Zs(e) {
2165
- const t = new Uint8Array(16), n = G(t);
2164
+ function Xs(e) {
2165
+ const t = new Uint8Array(16), n = F(t);
2166
2166
  t.set(e);
2167
- const r = Ke - e.length;
2168
- for (let i = Ke - r; i < Ke; i++)
2167
+ const r = Ne - e.length;
2168
+ for (let i = Ne - r; i < Ne; i++)
2169
2169
  t[i] = r;
2170
2170
  return n;
2171
2171
  }
2172
- const Er = /* @__PURE__ */ Os({ blockSize: 16, nonceLength: 16 }, function(t, n, r = {}) {
2173
- ce(t), ce(n, 16);
2172
+ const Sr = /* @__PURE__ */ Ds({ blockSize: 16, nonceLength: 16 }, function(t, n, r = {}) {
2173
+ ue(t), ue(n, 16);
2174
2174
  const i = !r.disablePadding;
2175
2175
  return {
2176
2176
  encrypt: (s, o) => {
2177
- const c = vr(t), { b: a, o: l, out: f } = Vs(s, i, o), u = G(n);
2178
- let g = u[0], w = u[1], p = u[2], h = u[3], d = 0;
2177
+ const c = Nr(t), { b: a, o: l, out: f } = Js(s, i, o), u = F(n);
2178
+ let p = u[0], w = u[1], g = u[2], h = u[3], d = 0;
2179
2179
  for (; d + 4 <= a.length; )
2180
- g ^= a[d + 0], w ^= a[d + 1], p ^= a[d + 2], h ^= a[d + 3], { s0: g, s1: w, s2: p, s3: h } = Pn(c, g, w, p, h), l[d++] = g, l[d++] = w, l[d++] = p, l[d++] = h;
2180
+ p ^= a[d + 0], w ^= a[d + 1], g ^= a[d + 2], h ^= a[d + 3], { s0: p, s1: w, s2: g, s3: h } = qn(c, p, w, g, h), l[d++] = p, l[d++] = w, l[d++] = g, l[d++] = h;
2181
2181
  if (i) {
2182
- const y = Zs(s.subarray(d * 4));
2183
- g ^= y[0], w ^= y[1], p ^= y[2], h ^= y[3], { s0: g, s1: w, s2: p, s3: h } = Pn(c, g, w, p, h), l[d++] = g, l[d++] = w, l[d++] = p, l[d++] = h;
2182
+ const y = Xs(s.subarray(d * 4));
2183
+ p ^= y[0], w ^= y[1], g ^= y[2], h ^= y[3], { s0: p, s1: w, s2: g, s3: h } = qn(c, p, w, g, h), l[d++] = p, l[d++] = w, l[d++] = g, l[d++] = h;
2184
2184
  }
2185
2185
  return c.fill(0), f;
2186
2186
  },
2187
2187
  decrypt: (s, o) => {
2188
- zs(s);
2189
- const c = Ds(t), a = G(n), l = mr(s.length, o), f = G(s), u = G(l);
2190
- let g = a[0], w = a[1], p = a[2], h = a[3];
2188
+ Gs(s);
2189
+ const c = Zs(t), a = F(n), l = Kr(s.length, o), f = F(s), u = F(l);
2190
+ let p = a[0], w = a[1], g = a[2], h = a[3];
2191
2191
  for (let d = 0; d + 4 <= f.length; ) {
2192
- const y = g, E = w, S = p, I = h;
2193
- g = f[d + 0], w = f[d + 1], p = f[d + 2], h = f[d + 3];
2194
- const { s0: B, s1: m, s2: x, s3: K } = js(c, g, w, p, h);
2195
- u[d++] = B ^ y, u[d++] = m ^ E, u[d++] = x ^ S, u[d++] = K ^ I;
2192
+ const y = p, E = w, S = g, _ = h;
2193
+ p = f[d + 0], w = f[d + 1], g = f[d + 2], h = f[d + 3];
2194
+ const { s0: B, s1: m, s2: x, s3: N } = Fs(c, p, w, g, h);
2195
+ u[d++] = B ^ y, u[d++] = m ^ E, u[d++] = x ^ S, u[d++] = N ^ _;
2196
2196
  }
2197
- return c.fill(0), Ws(l, i);
2197
+ return c.fill(0), Ys(l, i);
2198
2198
  }
2199
2199
  };
2200
- }), xr = (e) => Uint8Array.from(e.split("").map((t) => t.charCodeAt(0))), Gs = xr("expand 16-byte k"), Fs = xr("expand 32-byte k"), Js = G(Gs), Kr = G(Fs);
2201
- Kr.slice();
2200
+ }), Ar = (e) => Uint8Array.from(e.split("").map((t) => t.charCodeAt(0))), Qs = Ar("expand 16-byte k"), eo = Ar("expand 32-byte k"), to = F(Qs), Cr = F(eo);
2201
+ Cr.slice();
2202
2202
  function L(e, t) {
2203
2203
  return e << t | e >>> 32 - t;
2204
2204
  }
2205
2205
  function zt(e) {
2206
2206
  return e.byteOffset % 4 === 0;
2207
2207
  }
2208
- const Xe = 64, Ys = 16, Nr = 2 ** 32 - 1, Mn = new Uint32Array();
2209
- function Xs(e, t, n, r, i, s, o, c) {
2210
- const a = i.length, l = new Uint8Array(Xe), f = G(l), u = zt(i) && zt(s), g = u ? G(i) : Mn, w = u ? G(s) : Mn;
2211
- for (let p = 0; p < a; o++) {
2212
- if (e(t, n, r, f, o, c), o >= Nr)
2208
+ const Xe = 64, no = 16, Br = 2 ** 32 - 1, Dn = new Uint32Array();
2209
+ function ro(e, t, n, r, i, s, o, c) {
2210
+ const a = i.length, l = new Uint8Array(Xe), f = F(l), u = zt(i) && zt(s), p = u ? F(i) : Dn, w = u ? F(s) : Dn;
2211
+ for (let g = 0; g < a; o++) {
2212
+ if (e(t, n, r, f, o, c), o >= Br)
2213
2213
  throw new Error("arx: counter overflow");
2214
- const h = Math.min(Xe, a - p);
2214
+ const h = Math.min(Xe, a - g);
2215
2215
  if (u && h === Xe) {
2216
- const d = p / 4;
2217
- if (p % 4 !== 0)
2216
+ const d = g / 4;
2217
+ if (g % 4 !== 0)
2218
2218
  throw new Error("arx: invalid block position");
2219
- for (let y = 0, E; y < Ys; y++)
2220
- E = d + y, w[E] = g[E] ^ f[y];
2221
- p += Xe;
2219
+ for (let y = 0, E; y < no; y++)
2220
+ E = d + y, w[E] = p[E] ^ f[y];
2221
+ g += Xe;
2222
2222
  continue;
2223
2223
  }
2224
2224
  for (let d = 0, y; d < h; d++)
2225
- y = p + d, s[y] = i[y] ^ l[d];
2226
- p += h;
2225
+ y = g + d, s[y] = i[y] ^ l[d];
2226
+ g += h;
2227
2227
  }
2228
2228
  }
2229
- function Qs(e, t) {
2230
- const { allowShortKeys: n, extendNonceFn: r, counterLength: i, counterRight: s, rounds: o } = Ts({ allowShortKeys: !1, counterLength: 8, counterRight: !1, rounds: 20 }, t);
2229
+ function io(e, t) {
2230
+ const { allowShortKeys: n, extendNonceFn: r, counterLength: i, counterRight: s, rounds: o } = Hs({ allowShortKeys: !1, counterLength: 8, counterRight: !1, rounds: 20 }, t);
2231
2231
  if (typeof e != "function")
2232
2232
  throw new Error("core must be a function");
2233
- return kt(i), kt(o), On(s), On(n), (c, a, l, f, u = 0) => {
2234
- ce(c), ce(a), ce(l);
2235
- const g = l.length;
2236
- if (f || (f = new Uint8Array(g)), ce(f), kt(u), u < 0 || u >= Nr)
2233
+ return kt(i), kt(o), Hn(s), Hn(n), (c, a, l, f, u = 0) => {
2234
+ ue(c), ue(a), ue(l);
2235
+ const p = l.length;
2236
+ if (f || (f = new Uint8Array(p)), ue(f), kt(u), u < 0 || u >= Br)
2237
2237
  throw new Error("arx: counter overflow");
2238
- if (f.length < g)
2239
- throw new Error(`arx: output (${f.length}) is shorter than data (${g})`);
2238
+ if (f.length < p)
2239
+ throw new Error(`arx: output (${f.length}) is shorter than data (${p})`);
2240
2240
  const w = [];
2241
- let p = c.length, h, d;
2242
- if (p === 32)
2243
- h = c.slice(), w.push(h), d = Kr;
2244
- else if (p === 16 && n)
2245
- h = new Uint8Array(32), h.set(c), h.set(c, 16), d = Js, w.push(h);
2241
+ let g = c.length, h, d;
2242
+ if (g === 32)
2243
+ h = c.slice(), w.push(h), d = Cr;
2244
+ else if (g === 16 && n)
2245
+ h = new Uint8Array(32), h.set(c), h.set(c, 16), d = to, w.push(h);
2246
2246
  else
2247
- throw new Error(`arx: invalid 32-byte key, got length=${p}`);
2247
+ throw new Error(`arx: invalid 32-byte key, got length=${g}`);
2248
2248
  zt(a) || (a = a.slice(), w.push(a));
2249
- const y = G(h);
2249
+ const y = F(h);
2250
2250
  if (r) {
2251
2251
  if (a.length !== 24)
2252
2252
  throw new Error("arx: extended nonce must be 24 bytes");
2253
- r(d, y, G(a.subarray(0, 16)), y), a = a.subarray(16);
2253
+ r(d, y, F(a.subarray(0, 16)), y), a = a.subarray(16);
2254
2254
  }
2255
2255
  const E = 16 - i;
2256
2256
  if (E !== a.length)
2257
2257
  throw new Error(`arx: nonce must be ${E} or 16 bytes`);
2258
2258
  if (E !== 12) {
2259
- const I = new Uint8Array(12);
2260
- I.set(a, s ? 0 : 12 - a.length), a = I, w.push(a);
2259
+ const _ = new Uint8Array(12);
2260
+ _.set(a, s ? 0 : 12 - a.length), a = _, w.push(a);
2261
2261
  }
2262
- const S = G(a);
2263
- for (Xs(e, d, y, S, l, f, u, o); w.length > 0; )
2262
+ const S = F(a);
2263
+ for (ro(e, d, y, S, l, f, u, o); w.length > 0; )
2264
2264
  w.pop().fill(0);
2265
2265
  return f;
2266
2266
  };
2267
2267
  }
2268
- function eo(e, t, n, r, i, s = 20) {
2269
- let o = e[0], c = e[1], a = e[2], l = e[3], f = t[0], u = t[1], g = t[2], w = t[3], p = t[4], h = t[5], d = t[6], y = t[7], E = i, S = n[0], I = n[1], B = n[2], m = o, x = c, K = a, M = l, _ = f, A = u, T = g, R = w, H = p, b = h, v = d, N = y, k = E, C = S, U = I, O = B;
2268
+ function so(e, t, n, r, i, s = 20) {
2269
+ let o = e[0], c = e[1], a = e[2], l = e[3], f = t[0], u = t[1], p = t[2], w = t[3], g = t[4], h = t[5], d = t[6], y = t[7], E = i, S = n[0], _ = n[1], B = n[2], m = o, x = c, N = a, M = l, I = f, A = u, R = p, T = w, q = g, b = h, v = d, K = y, k = E, C = S, U = _, O = B;
2270
2270
  for (let ee = 0; ee < s; ee += 2)
2271
- m = m + _ | 0, k = L(k ^ m, 16), H = H + k | 0, _ = L(_ ^ H, 12), m = m + _ | 0, k = L(k ^ m, 8), H = H + k | 0, _ = L(_ ^ H, 7), x = x + A | 0, C = L(C ^ x, 16), b = b + C | 0, A = L(A ^ b, 12), x = x + A | 0, C = L(C ^ x, 8), b = b + C | 0, A = L(A ^ b, 7), K = K + T | 0, U = L(U ^ K, 16), v = v + U | 0, T = L(T ^ v, 12), K = K + T | 0, U = L(U ^ K, 8), v = v + U | 0, T = L(T ^ v, 7), M = M + R | 0, O = L(O ^ M, 16), N = N + O | 0, R = L(R ^ N, 12), M = M + R | 0, O = L(O ^ M, 8), N = N + O | 0, R = L(R ^ N, 7), m = m + A | 0, O = L(O ^ m, 16), v = v + O | 0, A = L(A ^ v, 12), m = m + A | 0, O = L(O ^ m, 8), v = v + O | 0, A = L(A ^ v, 7), x = x + T | 0, k = L(k ^ x, 16), N = N + k | 0, T = L(T ^ N, 12), x = x + T | 0, k = L(k ^ x, 8), N = N + k | 0, T = L(T ^ N, 7), K = K + R | 0, C = L(C ^ K, 16), H = H + C | 0, R = L(R ^ H, 12), K = K + R | 0, C = L(C ^ K, 8), H = H + C | 0, R = L(R ^ H, 7), M = M + _ | 0, U = L(U ^ M, 16), b = b + U | 0, _ = L(_ ^ b, 12), M = M + _ | 0, U = L(U ^ M, 8), b = b + U | 0, _ = L(_ ^ b, 7);
2271
+ m = m + I | 0, k = L(k ^ m, 16), q = q + k | 0, I = L(I ^ q, 12), m = m + I | 0, k = L(k ^ m, 8), q = q + k | 0, I = L(I ^ q, 7), x = x + A | 0, C = L(C ^ x, 16), b = b + C | 0, A = L(A ^ b, 12), x = x + A | 0, C = L(C ^ x, 8), b = b + C | 0, A = L(A ^ b, 7), N = N + R | 0, U = L(U ^ N, 16), v = v + U | 0, R = L(R ^ v, 12), N = N + R | 0, U = L(U ^ N, 8), v = v + U | 0, R = L(R ^ v, 7), M = M + T | 0, O = L(O ^ M, 16), K = K + O | 0, T = L(T ^ K, 12), M = M + T | 0, O = L(O ^ M, 8), K = K + O | 0, T = L(T ^ K, 7), m = m + A | 0, O = L(O ^ m, 16), v = v + O | 0, A = L(A ^ v, 12), m = m + A | 0, O = L(O ^ m, 8), v = v + O | 0, A = L(A ^ v, 7), x = x + R | 0, k = L(k ^ x, 16), K = K + k | 0, R = L(R ^ K, 12), x = x + R | 0, k = L(k ^ x, 8), K = K + k | 0, R = L(R ^ K, 7), N = N + T | 0, C = L(C ^ N, 16), q = q + C | 0, T = L(T ^ q, 12), N = N + T | 0, C = L(C ^ N, 8), q = q + C | 0, T = L(T ^ q, 7), M = M + I | 0, U = L(U ^ M, 16), b = b + U | 0, I = L(I ^ b, 12), M = M + I | 0, U = L(U ^ M, 8), b = b + U | 0, I = L(I ^ b, 7);
2272
2272
  let $ = 0;
2273
- r[$++] = o + m | 0, r[$++] = c + x | 0, r[$++] = a + K | 0, r[$++] = l + M | 0, r[$++] = f + _ | 0, r[$++] = u + A | 0, r[$++] = g + T | 0, r[$++] = w + R | 0, r[$++] = p + H | 0, r[$++] = h + b | 0, r[$++] = d + v | 0, r[$++] = y + N | 0, r[$++] = E + k | 0, r[$++] = S + C | 0, r[$++] = I + U | 0, r[$++] = B + O | 0;
2273
+ r[$++] = o + m | 0, r[$++] = c + x | 0, r[$++] = a + N | 0, r[$++] = l + M | 0, r[$++] = f + I | 0, r[$++] = u + A | 0, r[$++] = p + R | 0, r[$++] = w + T | 0, r[$++] = g + q | 0, r[$++] = h + b | 0, r[$++] = d + v | 0, r[$++] = y + K | 0, r[$++] = E + k | 0, r[$++] = S + C | 0, r[$++] = _ + U | 0, r[$++] = B + O | 0;
2274
2274
  }
2275
- const Sr = /* @__PURE__ */ Qs(eo, {
2275
+ const kr = /* @__PURE__ */ io(so, {
2276
2276
  counterRight: !1,
2277
2277
  counterLength: 4,
2278
2278
  allowShortKeys: !1
2279
2279
  });
2280
- class Ar extends ur {
2280
+ class Ir extends dr {
2281
2281
  constructor(t, n) {
2282
2282
  super(), this.finished = !1, this.destroyed = !1, se.hash(t);
2283
2283
  const r = Je(n);
@@ -2312,65 +2312,71 @@ class Ar extends ur {
2312
2312
  this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
2313
2313
  }
2314
2314
  }
2315
- const ht = (e, t, n) => new Ar(e, t).update(n).digest();
2316
- ht.create = (e, t) => new Ar(e, t);
2317
- function rn(e, t, n) {
2318
- return se.hash(e), n === void 0 && (n = new Uint8Array(e.outputLen)), ht(e, Je(n), Je(t));
2315
+ const dt = (e, t, n) => new Ir(e, t).update(n).digest();
2316
+ dt.create = (e, t) => new Ir(e, t);
2317
+ function nn(e, t, n) {
2318
+ return se.hash(e), n === void 0 && (n = new Uint8Array(e.outputLen)), dt(e, Je(n), Je(t));
2319
2319
  }
2320
- const It = new Uint8Array([0]), Hn = new Uint8Array();
2321
- function Cr(e, t, n, r = 32) {
2320
+ const _t = new Uint8Array([0]), jn = new Uint8Array();
2321
+ function _r(e, t, n, r = 32) {
2322
2322
  if (se.hash(e), se.number(r), r > 255 * e.outputLen)
2323
2323
  throw new Error("Length should be <= 255*HashLen");
2324
2324
  const i = Math.ceil(r / e.outputLen);
2325
- n === void 0 && (n = Hn);
2326
- const s = new Uint8Array(i * e.outputLen), o = ht.create(e, t), c = o._cloneInto(), a = new Uint8Array(o.outputLen);
2325
+ n === void 0 && (n = jn);
2326
+ const s = new Uint8Array(i * e.outputLen), o = dt.create(e, t), c = o._cloneInto(), a = new Uint8Array(o.outputLen);
2327
2327
  for (let l = 0; l < i; l++)
2328
- It[0] = l + 1, c.update(l === 0 ? Hn : a).update(n).update(It).digestInto(a), s.set(a, e.outputLen * l), o._cloneInto(c);
2329
- return o.destroy(), c.destroy(), a.fill(0), It.fill(0), s.slice(0, r);
2328
+ _t[0] = l + 1, c.update(l === 0 ? jn : a).update(n).update(_t).digestInto(a), s.set(a, e.outputLen * l), o._cloneInto(c);
2329
+ return o.destroy(), c.destroy(), a.fill(0), _t.fill(0), s.slice(0, r);
2330
2330
  }
2331
- var to = Object.defineProperty, D = (e, t) => {
2331
+ var oo = Object.defineProperty, H = (e, t) => {
2332
2332
  for (var n in t)
2333
- to(e, n, { get: t[n], enumerable: !0 });
2334
- }, Re = Symbol("verified"), no = (e) => e instanceof Object;
2335
- function dt(e) {
2336
- if (!no(e) || typeof e.kind != "number" || typeof e.content != "string" || typeof e.created_at != "number" || typeof e.pubkey != "string" || !e.pubkey.match(/^[a-f0-9]{64}$/) || !Array.isArray(e.tags))
2333
+ oo(e, n, { get: t[n], enumerable: !0 });
2334
+ }, Te = Symbol("verified"), ao = (e) => e instanceof Object;
2335
+ function pt(e) {
2336
+ if (!ao(e) || typeof e.kind != "number" || typeof e.content != "string" || typeof e.created_at != "number" || typeof e.pubkey != "string" || !e.pubkey.match(/^[a-f0-9]{64}$/) || !Array.isArray(e.tags))
2337
2337
  return !1;
2338
2338
  for (let t = 0; t < e.tags.length; t++) {
2339
2339
  let n = e.tags[t];
2340
2340
  if (!Array.isArray(n))
2341
2341
  return !1;
2342
2342
  for (let r = 0; r < n.length; r++)
2343
- if (typeof n[r] == "object")
2343
+ if (typeof n[r] != "string")
2344
2344
  return !1;
2345
2345
  }
2346
2346
  return !0;
2347
2347
  }
2348
- var ro = {};
2349
- D(ro, {
2350
- Queue: () => ao,
2351
- QueueNode: () => Br,
2352
- binarySearch: () => sn,
2353
- insertEventIntoAscendingList: () => oo,
2354
- insertEventIntoDescendingList: () => so,
2355
- normalizeURL: () => io,
2356
- utf8Decoder: () => ue,
2348
+ var co = {};
2349
+ H(co, {
2350
+ Queue: () => ho,
2351
+ QueueNode: () => Ur,
2352
+ binarySearch: () => rn,
2353
+ bytesToHex: () => P,
2354
+ hexToBytes: () => j,
2355
+ insertEventIntoAscendingList: () => fo,
2356
+ insertEventIntoDescendingList: () => lo,
2357
+ normalizeURL: () => uo,
2358
+ utf8Decoder: () => le,
2357
2359
  utf8Encoder: () => ne
2358
2360
  });
2359
- var ue = new TextDecoder("utf-8"), ne = new TextEncoder();
2360
- function io(e) {
2361
- e.indexOf("://") === -1 && (e = "wss://" + e);
2362
- let t = new URL(e);
2363
- return t.pathname = t.pathname.replace(/\/+/g, "/"), t.pathname.endsWith("/") && (t.pathname = t.pathname.slice(0, -1)), (t.port === "80" && t.protocol === "ws:" || t.port === "443" && t.protocol === "wss:") && (t.port = ""), t.searchParams.sort(), t.hash = "", t.toString();
2364
- }
2365
- function so(e, t) {
2366
- const [n, r] = sn(e, (i) => t.id === i.id ? 0 : t.created_at === i.created_at ? -1 : i.created_at - t.created_at);
2361
+ var le = new TextDecoder("utf-8"), ne = new TextEncoder();
2362
+ function uo(e) {
2363
+ try {
2364
+ e.indexOf("://") === -1 && (e = "wss://" + e);
2365
+ let t = new URL(e);
2366
+ return t.pathname = t.pathname.replace(/\/+/g, "/"), t.pathname.endsWith("/") && (t.pathname = t.pathname.slice(0, -1)), (t.port === "80" && t.protocol === "ws:" || t.port === "443" && t.protocol === "wss:") && (t.port = ""), t.searchParams.sort(), t.hash = "", t.toString();
2367
+ } catch {
2368
+ throw new Error(`Invalid URL: ${e}`);
2369
+ }
2370
+ }
2371
+ function lo(e, t) {
2372
+ const [n, r] = rn(e, (i) => t.id === i.id ? 0 : t.created_at === i.created_at ? -1 : i.created_at - t.created_at);
2367
2373
  return r || e.splice(n, 0, t), e;
2368
2374
  }
2369
- function oo(e, t) {
2370
- const [n, r] = sn(e, (i) => t.id === i.id ? 0 : t.created_at === i.created_at ? -1 : t.created_at - i.created_at);
2375
+ function fo(e, t) {
2376
+ const [n, r] = rn(e, (i) => t.id === i.id ? 0 : t.created_at === i.created_at ? -1 : t.created_at - i.created_at);
2371
2377
  return r || e.splice(n, 0, t), e;
2372
2378
  }
2373
- function sn(e, t) {
2379
+ function rn(e, t) {
2374
2380
  let n = 0, r = e.length - 1;
2375
2381
  for (; n <= r; ) {
2376
2382
  const i = Math.floor((n + r) / 2), s = t(e[i]);
@@ -2380,21 +2386,21 @@ function sn(e, t) {
2380
2386
  }
2381
2387
  return [n, !1];
2382
2388
  }
2383
- var Br = class {
2389
+ var Ur = class {
2384
2390
  constructor(e) {
2385
2391
  J(this, "value");
2386
2392
  J(this, "next", null);
2387
2393
  J(this, "prev", null);
2388
2394
  this.value = e;
2389
2395
  }
2390
- }, ao = class {
2396
+ }, ho = class {
2391
2397
  constructor() {
2392
2398
  J(this, "first");
2393
2399
  J(this, "last");
2394
2400
  this.first = null, this.last = null;
2395
2401
  }
2396
2402
  enqueue(e) {
2397
- const t = new Br(e);
2403
+ const t = new Ur(e);
2398
2404
  return this.last ? this.last === this.first ? (this.last = t, this.last.prev = this.first, this.first.next = t) : (t.prev = this.last, this.last.next = t, this.last = t) : (this.first = t, this.last = t), !0;
2399
2405
  }
2400
2406
  dequeue() {
@@ -2405,9 +2411,9 @@ var Br = class {
2405
2411
  return this.first = null, this.last = null, t.value;
2406
2412
  }
2407
2413
  const e = this.first;
2408
- return this.first = e.next, e.value;
2414
+ return this.first = e.next, this.first && (this.first.prev = null), e.value;
2409
2415
  }
2410
- }, co = class {
2416
+ }, po = class {
2411
2417
  generateSecretKey() {
2412
2418
  return Ze.utils.randomPrivateKey();
2413
2419
  }
@@ -2416,154 +2422,154 @@ var Br = class {
2416
2422
  }
2417
2423
  finalizeEvent(e, t) {
2418
2424
  const n = e;
2419
- return n.pubkey = P(Ze.getPublicKey(t)), n.id = qe(n), n.sig = P(Ze.sign(qe(n), t)), n[Re] = !0, n;
2425
+ return n.pubkey = P(Ze.getPublicKey(t)), n.id = qe(n), n.sig = P(Ze.sign(qe(n), t)), n[Te] = !0, n;
2420
2426
  }
2421
2427
  verifyEvent(e) {
2422
- if (typeof e[Re] == "boolean")
2423
- return e[Re];
2428
+ if (typeof e[Te] == "boolean")
2429
+ return e[Te];
2424
2430
  const t = qe(e);
2425
2431
  if (t !== e.id)
2426
- return e[Re] = !1, !1;
2432
+ return e[Te] = !1, !1;
2427
2433
  try {
2428
2434
  const n = Ze.verify(e.sig, t, e.pubkey);
2429
- return e[Re] = n, n;
2435
+ return e[Te] = n, n;
2430
2436
  } catch {
2431
- return e[Re] = !1, !1;
2437
+ return e[Te] = !1, !1;
2432
2438
  }
2433
2439
  }
2434
2440
  };
2435
- function uo(e) {
2436
- if (!dt(e))
2441
+ function yo(e) {
2442
+ if (!pt(e))
2437
2443
  throw new Error("can't serialize event with wrong or missing properties");
2438
2444
  return JSON.stringify([0, e.pubkey, e.created_at, e.kind, e.tags, e.content]);
2439
2445
  }
2440
2446
  function qe(e) {
2441
- let t = fe(ne.encode(uo(e)));
2447
+ let t = fe(ne.encode(yo(e)));
2442
2448
  return P(t);
2443
2449
  }
2444
- var yt = new co(), ke = yt.generateSecretKey, le = yt.getPublicKey, Q = yt.finalizeEvent, pt = yt.verifyEvent, lo = {};
2445
- D(lo, {
2446
- Application: () => da,
2447
- BadgeAward: () => mo,
2448
- BadgeDefinition: () => oa,
2449
- BlockedRelaysList: () => zo,
2450
- BookmarkList: () => qo,
2451
- Bookmarksets: () => ra,
2452
- Calendar: () => ma,
2453
- CalendarEventRSVP: () => Ea,
2454
- ChannelCreation: () => $r,
2455
- ChannelHideMessage: () => Or,
2456
- ChannelMessage: () => Rr,
2457
- ChannelMetadata: () => Tr,
2458
- ChannelMuteUser: () => Pr,
2459
- ClassifiedListing: () => ga,
2460
- ClientAuth: () => Hr,
2461
- CommunitiesList: () => Do,
2462
- CommunityDefinition: () => Na,
2463
- CommunityPostApproval: () => _o,
2464
- Contacts: () => wo,
2465
- CreateOrUpdateProduct: () => ua,
2466
- CreateOrUpdateStall: () => ca,
2467
- Curationsets: () => ia,
2468
- Date: () => ba,
2469
- DirectMessageRelaysList: () => Go,
2470
- DraftClassifiedListing: () => wa,
2471
- DraftLong: () => fa,
2472
- Emojisets: () => ha,
2473
- EncryptedDirectMessage: () => bo,
2474
- EventDeletion: () => vo,
2475
- FileMetadata: () => No,
2476
- FileServerPreference: () => Fo,
2477
- Followsets: () => ea,
2478
- GenericRepost: () => xo,
2479
- Genericlists: () => ta,
2480
- GiftWrap: () => Mr,
2481
- HTTPAuth: () => cn,
2482
- Handlerinformation: () => Ka,
2483
- Handlerrecommendation: () => xa,
2484
- Highlights: () => Oo,
2485
- InterestsList: () => Wo,
2486
- Interestsets: () => aa,
2487
- JobFeedback: () => Lo,
2488
- JobRequest: () => Io,
2489
- JobResult: () => Uo,
2490
- Label: () => ko,
2491
- LightningPubRPC: () => Yo,
2492
- LiveChatMessage: () => So,
2493
- LiveEvent: () => ya,
2494
- LongFormArticle: () => la,
2495
- Metadata: () => yo,
2496
- Mutelist: () => Po,
2497
- NWCWalletInfo: () => Jo,
2498
- NWCWalletRequest: () => qr,
2499
- NWCWalletResponse: () => Xo,
2500
- NostrConnect: () => Qo,
2501
- OpenTimestamps: () => Ko,
2502
- Pinlist: () => Mo,
2503
- PrivateDirectMessage: () => Eo,
2504
- ProblemTracker: () => Ao,
2505
- ProfileBadges: () => sa,
2506
- PublicChatsList: () => jo,
2507
- Reaction: () => an,
2508
- RecommendRelay: () => go,
2509
- RelayList: () => Ho,
2510
- Relaysets: () => na,
2511
- Report: () => Co,
2512
- Reporting: () => Bo,
2513
- Repost: () => on,
2514
- Seal: () => Lr,
2515
- SearchRelaysList: () => Vo,
2516
- ShortTextNote: () => po,
2517
- Time: () => va,
2518
- UserEmojiList: () => Zo,
2519
- UserStatuses: () => pa,
2520
- Zap: () => Ro,
2521
- ZapGoal: () => $o,
2522
- ZapRequest: () => To,
2523
- classifyKind: () => fo,
2524
- isEphemeralKind: () => Ir,
2525
- isKind: () => ho,
2526
- isParameterizedReplaceableKind: () => Ur,
2527
- isRegularKind: () => kr,
2528
- isReplaceableKind: () => _r
2450
+ var yt = new po(), ke = yt.generateSecretKey, ae = yt.getPublicKey, Q = yt.finalizeEvent, gt = yt.verifyEvent, go = {};
2451
+ H(go, {
2452
+ Application: () => ya,
2453
+ BadgeAward: () => Ko,
2454
+ BadgeDefinition: () => ca,
2455
+ BlockedRelaysList: () => Vo,
2456
+ BookmarkList: () => jo,
2457
+ Bookmarksets: () => sa,
2458
+ Calendar: () => xa,
2459
+ CalendarEventRSVP: () => Na,
2460
+ ChannelCreation: () => Mr,
2461
+ ChannelHideMessage: () => qr,
2462
+ ChannelMessage: () => Hr,
2463
+ ChannelMetadata: () => Pr,
2464
+ ChannelMuteUser: () => Dr,
2465
+ ClassifiedListing: () => ba,
2466
+ ClientAuth: () => zr,
2467
+ CommunitiesList: () => zo,
2468
+ CommunityDefinition: () => Aa,
2469
+ CommunityPostApproval: () => Uo,
2470
+ Contacts: () => Eo,
2471
+ CreateOrUpdateProduct: () => fa,
2472
+ CreateOrUpdateStall: () => la,
2473
+ Curationsets: () => oa,
2474
+ Date: () => ma,
2475
+ DirectMessageRelaysList: () => Jo,
2476
+ DraftClassifiedListing: () => va,
2477
+ DraftLong: () => da,
2478
+ Emojisets: () => pa,
2479
+ EncryptedDirectMessage: () => xo,
2480
+ EventDeletion: () => No,
2481
+ FileMetadata: () => Ao,
2482
+ FileServerPreference: () => Yo,
2483
+ Followsets: () => na,
2484
+ GenericRepost: () => un,
2485
+ Genericlists: () => ra,
2486
+ GiftWrap: () => jr,
2487
+ HTTPAuth: () => ln,
2488
+ Handlerinformation: () => Sa,
2489
+ Handlerrecommendation: () => Ka,
2490
+ Highlights: () => Po,
2491
+ InterestsList: () => Fo,
2492
+ Interestsets: () => ua,
2493
+ JobFeedback: () => Ro,
2494
+ JobRequest: () => Lo,
2495
+ JobResult: () => $o,
2496
+ Label: () => _o,
2497
+ LightningPubRPC: () => Qo,
2498
+ LiveChatMessage: () => Co,
2499
+ LiveEvent: () => ga,
2500
+ LongFormArticle: () => ha,
2501
+ Metadata: () => vo,
2502
+ Mutelist: () => Ho,
2503
+ NWCWalletInfo: () => Xo,
2504
+ NWCWalletRequest: () => Wr,
2505
+ NWCWalletResponse: () => ea,
2506
+ NostrConnect: () => ta,
2507
+ OpenTimestamps: () => So,
2508
+ Pinlist: () => qo,
2509
+ PrivateDirectMessage: () => Or,
2510
+ ProblemTracker: () => Bo,
2511
+ ProfileBadges: () => aa,
2512
+ PublicChatsList: () => Wo,
2513
+ Reaction: () => cn,
2514
+ RecommendRelay: () => mo,
2515
+ RelayList: () => Do,
2516
+ Relaysets: () => ia,
2517
+ Report: () => ko,
2518
+ Reporting: () => Io,
2519
+ Repost: () => an,
2520
+ Seal: () => Tr,
2521
+ SearchRelaysList: () => Zo,
2522
+ ShortTextNote: () => Rr,
2523
+ Time: () => Ea,
2524
+ UserEmojiList: () => Go,
2525
+ UserStatuses: () => wa,
2526
+ Zap: () => Mo,
2527
+ ZapGoal: () => To,
2528
+ ZapRequest: () => Oo,
2529
+ classifyKind: () => wo,
2530
+ isAddressableKind: () => on,
2531
+ isEphemeralKind: () => $r,
2532
+ isKind: () => bo,
2533
+ isRegularKind: () => Lr,
2534
+ isReplaceableKind: () => sn
2529
2535
  });
2530
- function kr(e) {
2536
+ function Lr(e) {
2531
2537
  return 1e3 <= e && e < 1e4 || [1, 2, 4, 5, 6, 7, 8, 16, 40, 41, 42, 43, 44].includes(e);
2532
2538
  }
2533
- function _r(e) {
2539
+ function sn(e) {
2534
2540
  return [0, 3].includes(e) || 1e4 <= e && e < 2e4;
2535
2541
  }
2536
- function Ir(e) {
2542
+ function $r(e) {
2537
2543
  return 2e4 <= e && e < 3e4;
2538
2544
  }
2539
- function Ur(e) {
2545
+ function on(e) {
2540
2546
  return 3e4 <= e && e < 4e4;
2541
2547
  }
2542
- function fo(e) {
2543
- return kr(e) ? "regular" : _r(e) ? "replaceable" : Ir(e) ? "ephemeral" : Ur(e) ? "parameterized" : "unknown";
2548
+ function wo(e) {
2549
+ return Lr(e) ? "regular" : sn(e) ? "replaceable" : $r(e) ? "ephemeral" : on(e) ? "parameterized" : "unknown";
2544
2550
  }
2545
- function ho(e, t) {
2551
+ function bo(e, t) {
2546
2552
  const n = t instanceof Array ? t : [t];
2547
- return dt(e) && n.includes(e.kind) || !1;
2548
- }
2549
- var yo = 0, po = 1, go = 2, wo = 3, bo = 4, vo = 5, on = 6, an = 7, mo = 8, Lr = 13, Eo = 14, xo = 16, $r = 40, Tr = 41, Rr = 42, Or = 43, Pr = 44, Ko = 1040, Mr = 1059, No = 1063, So = 1311, Ao = 1971, Co = 1984, Bo = 1984, ko = 1985, _o = 4550, Io = 5999, Uo = 6999, Lo = 7e3, $o = 9041, To = 9734, Ro = 9735, Oo = 9802, Po = 1e4, Mo = 10001, Ho = 10002, qo = 10003, Do = 10004, jo = 10005, zo = 10006, Vo = 10007, Wo = 10015, Zo = 10030, Go = 10050, Fo = 10096, Jo = 13194, Yo = 21e3, Hr = 22242, qr = 23194, Xo = 23195, Qo = 24133, cn = 27235, ea = 3e4, ta = 30001, na = 30002, ra = 30003, ia = 30004, sa = 30008, oa = 30009, aa = 30015, ca = 30017, ua = 30018, la = 30023, fa = 30024, ha = 30030, da = 30078, ya = 30311, pa = 30315, ga = 30402, wa = 30403, ba = 31922, va = 31923, ma = 31924, Ea = 31925, xa = 31989, Ka = 31990, Na = 34550, Sa = {};
2550
- D(Sa, {
2551
- getHex64: () => un,
2552
- getInt: () => Dr,
2553
- getSubscriptionId: () => Aa,
2554
- matchEventId: () => Ca,
2555
- matchEventKind: () => ka,
2556
- matchEventPubkey: () => Ba
2553
+ return pt(e) && n.includes(e.kind) || !1;
2554
+ }
2555
+ var vo = 0, Rr = 1, mo = 2, Eo = 3, xo = 4, No = 5, an = 6, cn = 7, Ko = 8, Tr = 13, Or = 14, un = 16, Mr = 40, Pr = 41, Hr = 42, qr = 43, Dr = 44, So = 1040, jr = 1059, Ao = 1063, Co = 1311, Bo = 1971, ko = 1984, Io = 1984, _o = 1985, Uo = 4550, Lo = 5999, $o = 6999, Ro = 7e3, To = 9041, Oo = 9734, Mo = 9735, Po = 9802, Ho = 1e4, qo = 10001, Do = 10002, jo = 10003, zo = 10004, Wo = 10005, Vo = 10006, Zo = 10007, Fo = 10015, Go = 10030, Jo = 10050, Yo = 10096, Xo = 13194, Qo = 21e3, zr = 22242, Wr = 23194, ea = 23195, ta = 24133, ln = 27235, na = 3e4, ra = 30001, ia = 30002, sa = 30003, oa = 30004, aa = 30008, ca = 30009, ua = 30015, la = 30017, fa = 30018, ha = 30023, da = 30024, pa = 30030, ya = 30078, ga = 30311, wa = 30315, ba = 30402, va = 30403, ma = 31922, Ea = 31923, xa = 31924, Na = 31925, Ka = 31989, Sa = 31990, Aa = 34550, Ca = {};
2556
+ H(Ca, {
2557
+ getHex64: () => fn,
2558
+ getInt: () => Vr,
2559
+ getSubscriptionId: () => Ba,
2560
+ matchEventId: () => ka,
2561
+ matchEventKind: () => _a,
2562
+ matchEventPubkey: () => Ia
2557
2563
  });
2558
- function un(e, t) {
2564
+ function fn(e, t) {
2559
2565
  let n = t.length + 3, r = e.indexOf(`"${t}":`) + n, i = e.slice(r).indexOf('"') + r + 1;
2560
2566
  return e.slice(i, i + 64);
2561
2567
  }
2562
- function Dr(e, t) {
2568
+ function Vr(e, t) {
2563
2569
  let n = t.length, r = e.indexOf(`"${t}":`) + n + 3, i = e.slice(r), s = Math.min(i.indexOf(","), i.indexOf("}"));
2564
2570
  return parseInt(i.slice(0, s), 10);
2565
2571
  }
2566
- function Aa(e) {
2572
+ function Ba(e) {
2567
2573
  let t = e.slice(0, 22).indexOf('"EVENT"');
2568
2574
  if (t === -1)
2569
2575
  return null;
@@ -2576,22 +2582,22 @@ function Aa(e) {
2576
2582
  let s = r + 1 + i;
2577
2583
  return e.slice(r + 1, s);
2578
2584
  }
2579
- function Ca(e, t) {
2580
- return t === un(e, "id");
2585
+ function ka(e, t) {
2586
+ return t === fn(e, "id");
2581
2587
  }
2582
- function Ba(e, t) {
2583
- return t === un(e, "pubkey");
2588
+ function Ia(e, t) {
2589
+ return t === fn(e, "pubkey");
2584
2590
  }
2585
- function ka(e, t) {
2586
- return t === Dr(e, "kind");
2591
+ function _a(e, t) {
2592
+ return t === Vr(e, "kind");
2587
2593
  }
2588
- var _a = {};
2589
- D(_a, {
2590
- makeAuthEvent: () => Ia
2594
+ var Ua = {};
2595
+ H(Ua, {
2596
+ makeAuthEvent: () => La
2591
2597
  });
2592
- function Ia(e, t) {
2598
+ function La(e, t) {
2593
2599
  return {
2594
- kind: Hr,
2600
+ kind: zr,
2595
2601
  created_at: Math.floor(Date.now() / 1e3),
2596
2602
  tags: [
2597
2603
  ["relay", e],
@@ -2600,31 +2606,32 @@ function Ia(e, t) {
2600
2606
  content: ""
2601
2607
  };
2602
2608
  }
2603
- var Ua;
2609
+ var $a;
2604
2610
  try {
2605
- Ua = WebSocket;
2611
+ $a = WebSocket;
2606
2612
  } catch {
2607
2613
  }
2608
- var La;
2614
+ var Ra;
2609
2615
  try {
2610
- La = WebSocket;
2616
+ Ra = WebSocket;
2611
2617
  } catch {
2612
2618
  }
2613
- var $a = {};
2614
- D($a, {
2615
- BECH32_REGEX: () => jr,
2616
- Bech32MaxSize: () => ln,
2617
- NostrTypeGuard: () => Ta,
2618
- decode: () => gt,
2619
- encodeBytes: () => bt,
2620
- naddrEncode: () => Da,
2621
- neventEncode: () => qa,
2622
- noteEncode: () => Ma,
2623
- nprofileEncode: () => Ha,
2624
- npubEncode: () => Pa,
2625
- nsecEncode: () => Oa
2619
+ var Ta = {};
2620
+ H(Ta, {
2621
+ BECH32_REGEX: () => Zr,
2622
+ Bech32MaxSize: () => hn,
2623
+ NostrTypeGuard: () => Oa,
2624
+ decode: () => wt,
2625
+ decodeNostrURI: () => Pa,
2626
+ encodeBytes: () => vt,
2627
+ naddrEncode: () => Wa,
2628
+ neventEncode: () => za,
2629
+ noteEncode: () => Da,
2630
+ nprofileEncode: () => ja,
2631
+ npubEncode: () => qa,
2632
+ nsecEncode: () => Ha
2626
2633
  });
2627
- var Ta = {
2634
+ var Oa = {
2628
2635
  isNProfile: (e) => /^nprofile1[a-z\d]+$/.test(e || ""),
2629
2636
  isNEvent: (e) => /^nevent1[a-z\d]+$/.test(e || ""),
2630
2637
  isNAddr: (e) => /^naddr1[a-z\d]+$/.test(e || ""),
@@ -2632,14 +2639,21 @@ var Ta = {
2632
2639
  isNPub: (e) => /^npub1[a-z\d]{58}$/.test(e || ""),
2633
2640
  isNote: (e) => /^note1[a-z\d]+$/.test(e || ""),
2634
2641
  isNcryptsec: (e) => /^ncryptsec1[a-z\d]+$/.test(e || "")
2635
- }, ln = 5e3, jr = /[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;
2636
- function Ra(e) {
2642
+ }, hn = 5e3, Zr = /[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;
2643
+ function Ma(e) {
2637
2644
  const t = new Uint8Array(4);
2638
2645
  return t[0] = e >> 24 & 255, t[1] = e >> 16 & 255, t[2] = e >> 8 & 255, t[3] = e & 255, t;
2639
2646
  }
2640
- function gt(e) {
2647
+ function Pa(e) {
2648
+ try {
2649
+ return e.startsWith("nostr:") && (e = e.substring(6)), wt(e);
2650
+ } catch {
2651
+ return { type: "invalid", data: null };
2652
+ }
2653
+ }
2654
+ function wt(e) {
2641
2655
  var i, s, o, c, a, l, f;
2642
- let { prefix: t, words: n } = ze.decode(e, ln), r = new Uint8Array(ze.fromWords(n));
2656
+ let { prefix: t, words: n } = ze.decode(e, hn), r = new Uint8Array(ze.fromWords(n));
2643
2657
  switch (t) {
2644
2658
  case "nprofile": {
2645
2659
  let u = Ut(r);
@@ -2651,7 +2665,7 @@ function gt(e) {
2651
2665
  type: "nprofile",
2652
2666
  data: {
2653
2667
  pubkey: P(u[0][0]),
2654
- relays: u[1] ? u[1].map((g) => ue.decode(g)) : []
2668
+ relays: u[1] ? u[1].map((p) => le.decode(p)) : []
2655
2669
  }
2656
2670
  };
2657
2671
  }
@@ -2669,7 +2683,7 @@ function gt(e) {
2669
2683
  type: "nevent",
2670
2684
  data: {
2671
2685
  id: P(u[0][0]),
2672
- relays: u[1] ? u[1].map((g) => ue.decode(g)) : [],
2686
+ relays: u[1] ? u[1].map((p) => le.decode(p)) : [],
2673
2687
  author: (o = u[2]) != null && o[0] ? P(u[2][0]) : void 0,
2674
2688
  kind: (c = u[3]) != null && c[0] ? parseInt(P(u[3][0]), 16) : void 0
2675
2689
  }
@@ -2690,10 +2704,10 @@ function gt(e) {
2690
2704
  return {
2691
2705
  type: "naddr",
2692
2706
  data: {
2693
- identifier: ue.decode(u[0][0]),
2707
+ identifier: le.decode(u[0][0]),
2694
2708
  pubkey: P(u[2][0]),
2695
2709
  kind: parseInt(P(u[3][0]), 16),
2696
- relays: u[1] ? u[1].map((g) => ue.decode(g)) : []
2710
+ relays: u[1] ? u[1].map((p) => le.decode(p)) : []
2697
2711
  }
2698
2712
  };
2699
2713
  }
@@ -2716,98 +2730,98 @@ function Ut(e) {
2716
2730
  }
2717
2731
  return t;
2718
2732
  }
2719
- function Oa(e) {
2720
- return bt("nsec", e);
2733
+ function Ha(e) {
2734
+ return vt("nsec", e);
2721
2735
  }
2722
- function Pa(e) {
2723
- return bt("npub", z(e));
2736
+ function qa(e) {
2737
+ return vt("npub", j(e));
2724
2738
  }
2725
- function Ma(e) {
2726
- return bt("note", z(e));
2739
+ function Da(e) {
2740
+ return vt("note", j(e));
2727
2741
  }
2728
- function wt(e, t) {
2742
+ function bt(e, t) {
2729
2743
  let n = ze.toWords(t);
2730
- return ze.encode(e, n, ln);
2744
+ return ze.encode(e, n, hn);
2731
2745
  }
2732
- function bt(e, t) {
2733
- return wt(e, t);
2746
+ function vt(e, t) {
2747
+ return bt(e, t);
2734
2748
  }
2735
- function Ha(e) {
2736
- let t = fn({
2737
- 0: [z(e.pubkey)],
2749
+ function ja(e) {
2750
+ let t = dn({
2751
+ 0: [j(e.pubkey)],
2738
2752
  1: (e.relays || []).map((n) => ne.encode(n))
2739
2753
  });
2740
- return wt("nprofile", t);
2754
+ return bt("nprofile", t);
2741
2755
  }
2742
- function qa(e) {
2756
+ function za(e) {
2743
2757
  let t;
2744
- e.kind !== void 0 && (t = Ra(e.kind));
2745
- let n = fn({
2746
- 0: [z(e.id)],
2758
+ e.kind !== void 0 && (t = Ma(e.kind));
2759
+ let n = dn({
2760
+ 0: [j(e.id)],
2747
2761
  1: (e.relays || []).map((r) => ne.encode(r)),
2748
- 2: e.author ? [z(e.author)] : [],
2762
+ 2: e.author ? [j(e.author)] : [],
2749
2763
  3: t ? [new Uint8Array(t)] : []
2750
2764
  });
2751
- return wt("nevent", n);
2765
+ return bt("nevent", n);
2752
2766
  }
2753
- function Da(e) {
2767
+ function Wa(e) {
2754
2768
  let t = new ArrayBuffer(4);
2755
2769
  new DataView(t).setUint32(0, e.kind, !1);
2756
- let n = fn({
2770
+ let n = dn({
2757
2771
  0: [ne.encode(e.identifier)],
2758
2772
  1: (e.relays || []).map((r) => ne.encode(r)),
2759
- 2: [z(e.pubkey)],
2773
+ 2: [j(e.pubkey)],
2760
2774
  3: [new Uint8Array(t)]
2761
2775
  });
2762
- return wt("naddr", n);
2776
+ return bt("naddr", n);
2763
2777
  }
2764
- function fn(e) {
2778
+ function dn(e) {
2765
2779
  let t = [];
2766
2780
  return Object.entries(e).reverse().forEach(([n, r]) => {
2767
2781
  r.forEach((i) => {
2768
2782
  let s = new Uint8Array(i.length + 2);
2769
2783
  s.set([parseInt(n)], 0), s.set([i.length], 1), s.set(i, 2), t.push(s);
2770
2784
  });
2771
- }), lt(...t);
2785
+ }), ft(...t);
2772
2786
  }
2773
- var ja = {};
2774
- D(ja, {
2775
- decrypt: () => za,
2776
- encrypt: () => zr
2787
+ var Va = {};
2788
+ H(Va, {
2789
+ decrypt: () => Za,
2790
+ encrypt: () => Fr
2777
2791
  });
2778
- async function zr(e, t, n) {
2779
- const r = e instanceof Uint8Array ? P(e) : e, i = Ie.getSharedSecret(r, "02" + t), s = Vr(i);
2780
- let o = Uint8Array.from(fr(16)), c = ne.encode(n), a = Er(s, o).encrypt(c), l = he.encode(new Uint8Array(a)), f = he.encode(new Uint8Array(o.buffer));
2792
+ function Fr(e, t, n) {
2793
+ const r = e instanceof Uint8Array ? P(e) : e, i = _e.getSharedSecret(r, "02" + t), s = Gr(i);
2794
+ let o = Uint8Array.from(yr(16)), c = ne.encode(n), a = Sr(s, o).encrypt(c), l = he.encode(new Uint8Array(a)), f = he.encode(new Uint8Array(o.buffer));
2781
2795
  return `${l}?iv=${f}`;
2782
2796
  }
2783
- async function za(e, t, n) {
2797
+ function Za(e, t, n) {
2784
2798
  const r = e instanceof Uint8Array ? P(e) : e;
2785
- let [i, s] = n.split("?iv="), o = Ie.getSharedSecret(r, "02" + t), c = Vr(o), a = he.decode(s), l = he.decode(i), f = Er(c, a).decrypt(l);
2786
- return ue.decode(f);
2799
+ let [i, s] = n.split("?iv="), o = _e.getSharedSecret(r, "02" + t), c = Gr(o), a = he.decode(s), l = he.decode(i), f = Sr(c, a).decrypt(l);
2800
+ return le.decode(f);
2787
2801
  }
2788
- function Vr(e) {
2802
+ function Gr(e) {
2789
2803
  return e.slice(1, 33);
2790
2804
  }
2791
- var Va = {};
2792
- D(Va, {
2793
- NIP05_REGEX: () => hn,
2794
- isNip05: () => Wa,
2795
- isValid: () => Fa,
2796
- queryProfile: () => Wr,
2797
- searchDomain: () => Ga,
2798
- useFetchImplementation: () => Za
2805
+ var Fa = {};
2806
+ H(Fa, {
2807
+ NIP05_REGEX: () => pn,
2808
+ isNip05: () => Ga,
2809
+ isValid: () => Xa,
2810
+ queryProfile: () => Jr,
2811
+ searchDomain: () => Ya,
2812
+ useFetchImplementation: () => Ja
2799
2813
  });
2800
- var hn = /^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/, Wa = (e) => hn.test(e || ""), vt;
2814
+ var pn = /^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/, Ga = (e) => pn.test(e || ""), mt;
2801
2815
  try {
2802
- vt = fetch;
2816
+ mt = fetch;
2803
2817
  } catch {
2804
2818
  }
2805
- function Za(e) {
2806
- vt = e;
2819
+ function Ja(e) {
2820
+ mt = e;
2807
2821
  }
2808
- async function Ga(e, t = "") {
2822
+ async function Ya(e, t = "") {
2809
2823
  try {
2810
- const n = `https://${e}/.well-known/nostr.json?name=${t}`, r = await vt(n, { redirect: "manual" });
2824
+ const n = `https://${e}/.well-known/nostr.json?name=${t}`, r = await mt(n, { redirect: "manual" });
2811
2825
  if (r.status !== 200)
2812
2826
  throw Error("Wrong response code");
2813
2827
  return (await r.json()).names;
@@ -2815,14 +2829,14 @@ async function Ga(e, t = "") {
2815
2829
  return {};
2816
2830
  }
2817
2831
  }
2818
- async function Wr(e) {
2832
+ async function Jr(e) {
2819
2833
  var i;
2820
- const t = e.match(hn);
2834
+ const t = e.match(pn);
2821
2835
  if (!t)
2822
2836
  return null;
2823
2837
  const [, n = "_", r] = t;
2824
2838
  try {
2825
- const s = `https://${r}/.well-known/nostr.json?name=${n}`, o = await vt(s, { redirect: "manual" });
2839
+ const s = `https://${r}/.well-known/nostr.json?name=${n}`, o = await mt(s, { redirect: "manual" });
2826
2840
  if (o.status !== 200)
2827
2841
  throw Error("Wrong response code");
2828
2842
  const c = await o.json(), a = c.names[n];
@@ -2831,15 +2845,15 @@ async function Wr(e) {
2831
2845
  return null;
2832
2846
  }
2833
2847
  }
2834
- async function Fa(e, t) {
2835
- const n = await Wr(t);
2848
+ async function Xa(e, t) {
2849
+ const n = await Jr(t);
2836
2850
  return n ? n.pubkey === e : !1;
2837
2851
  }
2838
- var Ja = {};
2839
- D(Ja, {
2840
- parse: () => Ya
2852
+ var Qa = {};
2853
+ H(Qa, {
2854
+ parse: () => ec
2841
2855
  });
2842
- function Ya(e) {
2856
+ function ec(e) {
2843
2857
  const t = {
2844
2858
  reply: void 0,
2845
2859
  root: void 0,
@@ -2906,31 +2920,31 @@ function Ya(e) {
2906
2920
  }
2907
2921
  }), t;
2908
2922
  }
2909
- var Xa = {};
2910
- D(Xa, {
2911
- fetchRelayInformation: () => ec,
2912
- useFetchImplementation: () => Qa
2923
+ var tc = {};
2924
+ H(tc, {
2925
+ fetchRelayInformation: () => rc,
2926
+ useFetchImplementation: () => nc
2913
2927
  });
2914
- var Zr;
2928
+ var Yr;
2915
2929
  try {
2916
- Zr = fetch;
2930
+ Yr = fetch;
2917
2931
  } catch {
2918
2932
  }
2919
- function Qa(e) {
2920
- Zr = e;
2933
+ function nc(e) {
2934
+ Yr = e;
2921
2935
  }
2922
- async function ec(e) {
2936
+ async function rc(e) {
2923
2937
  return await (await fetch(e.replace("ws://", "http://").replace("wss://", "https://"), {
2924
2938
  headers: { Accept: "application/nostr+json" }
2925
2939
  })).json();
2926
2940
  }
2927
- var tc = {};
2928
- D(tc, {
2929
- fastEventHash: () => Fr,
2930
- getPow: () => Gr,
2931
- minePow: () => nc
2941
+ var ic = {};
2942
+ H(ic, {
2943
+ fastEventHash: () => Qr,
2944
+ getPow: () => Xr,
2945
+ minePow: () => sc
2932
2946
  });
2933
- function Gr(e) {
2947
+ function Xr(e) {
2934
2948
  let t = 0;
2935
2949
  for (let n = 0; n < 64; n += 8) {
2936
2950
  const r = parseInt(e.substring(n, n + 8), 16);
@@ -2943,40 +2957,232 @@ function Gr(e) {
2943
2957
  }
2944
2958
  return t;
2945
2959
  }
2946
- function nc(e, t) {
2960
+ function sc(e, t) {
2947
2961
  let n = 0;
2948
2962
  const r = e, i = ["nonce", n.toString(), t.toString()];
2949
2963
  for (r.tags.push(i); ; ) {
2950
2964
  const s = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
2951
- if (s !== r.created_at && (n = 0, r.created_at = s), i[1] = (++n).toString(), r.id = Fr(r), Gr(r.id) >= t)
2965
+ if (s !== r.created_at && (n = 0, r.created_at = s), i[1] = (++n).toString(), r.id = Qr(r), Xr(r.id) >= t)
2952
2966
  break;
2953
2967
  }
2954
2968
  return r;
2955
2969
  }
2956
- function Fr(e) {
2970
+ function Qr(e) {
2957
2971
  return P(
2958
2972
  fe(ne.encode(JSON.stringify([0, e.pubkey, e.created_at, e.kind, e.tags, e.content])))
2959
2973
  );
2960
2974
  }
2961
- var rc = {};
2962
- D(rc, {
2963
- finishRepostEvent: () => ic,
2964
- getRepostedEvent: () => sc,
2965
- getRepostedEventPointer: () => Jr
2975
+ var oc = {};
2976
+ H(oc, {
2977
+ unwrapEvent: () => wc,
2978
+ unwrapManyEvents: () => bc,
2979
+ wrapEvent: () => hi,
2980
+ wrapManyEvents: () => gc
2981
+ });
2982
+ var ac = {};
2983
+ H(ac, {
2984
+ createRumor: () => ci,
2985
+ createSeal: () => ui,
2986
+ createWrap: () => li,
2987
+ unwrapEvent: () => vn,
2988
+ unwrapManyEvents: () => fi,
2989
+ wrapEvent: () => st,
2990
+ wrapManyEvents: () => pc
2966
2991
  });
2967
- function ic(e, t, n, r) {
2992
+ var D = {};
2993
+ H(D, {
2994
+ decrypt: () => bn,
2995
+ encrypt: () => wn,
2996
+ getConversationKey: () => yn,
2997
+ v2: () => hc
2998
+ });
2999
+ var ei = 1, ti = 65535;
3000
+ function yn(e, t) {
3001
+ const n = _e.getSharedSecret(e, "02" + t).subarray(1, 33);
3002
+ return nn(fe, n, "nip44-v2");
3003
+ }
3004
+ function ni(e, t) {
3005
+ const n = _r(fe, e, t, 76);
3006
+ return {
3007
+ chacha_key: n.subarray(0, 32),
3008
+ chacha_nonce: n.subarray(32, 44),
3009
+ hmac_key: n.subarray(44, 76)
3010
+ };
3011
+ }
3012
+ function gn(e) {
3013
+ if (!Number.isSafeInteger(e) || e < 1)
3014
+ throw new Error("expected positive integer");
3015
+ if (e <= 32)
3016
+ return 32;
3017
+ const t = 1 << Math.floor(Math.log2(e - 1)) + 1, n = t <= 256 ? 32 : t / 8;
3018
+ return n * (Math.floor((e - 1) / n) + 1);
3019
+ }
3020
+ function cc(e) {
3021
+ if (!Number.isSafeInteger(e) || e < ei || e > ti)
3022
+ throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");
3023
+ const t = new Uint8Array(2);
3024
+ return new DataView(t.buffer).setUint16(0, e, !1), t;
3025
+ }
3026
+ function uc(e) {
3027
+ const t = ne.encode(e), n = t.length, r = cc(n), i = new Uint8Array(gn(n) - n);
3028
+ return ft(r, t, i);
3029
+ }
3030
+ function lc(e) {
3031
+ const t = new DataView(e.buffer).getUint16(0), n = e.subarray(2, 2 + t);
3032
+ if (t < ei || t > ti || n.length !== t || e.length !== 2 + gn(t))
3033
+ throw new Error("invalid padding");
3034
+ return le.decode(n);
3035
+ }
3036
+ function ri(e, t, n) {
3037
+ if (n.length !== 32)
3038
+ throw new Error("AAD associated data must be 32 bytes");
3039
+ const r = ft(n, t);
3040
+ return dt(fe, e, r);
3041
+ }
3042
+ function fc(e) {
3043
+ if (typeof e != "string")
3044
+ throw new Error("payload must be a valid string");
3045
+ const t = e.length;
3046
+ if (t < 132 || t > 87472)
3047
+ throw new Error("invalid payload length: " + t);
3048
+ if (e[0] === "#")
3049
+ throw new Error("unknown encryption version");
3050
+ let n;
3051
+ try {
3052
+ n = he.decode(e);
3053
+ } catch (s) {
3054
+ throw new Error("invalid base64: " + s.message);
3055
+ }
3056
+ const r = n.length;
3057
+ if (r < 99 || r > 65603)
3058
+ throw new Error("invalid data length: " + r);
3059
+ const i = n[0];
3060
+ if (i !== 2)
3061
+ throw new Error("unknown encryption version " + i);
3062
+ return {
3063
+ nonce: n.subarray(1, 33),
3064
+ ciphertext: n.subarray(33, -32),
3065
+ mac: n.subarray(-32)
3066
+ };
3067
+ }
3068
+ function wn(e, t, n = yr(32)) {
3069
+ const { chacha_key: r, chacha_nonce: i, hmac_key: s } = ni(t, n), o = uc(e), c = kr(r, i, o), a = ri(s, c, n);
3070
+ return he.encode(ft(new Uint8Array([2]), n, c, a));
3071
+ }
3072
+ function bn(e, t) {
3073
+ const { nonce: n, ciphertext: r, mac: i } = fc(e), { chacha_key: s, chacha_nonce: o, hmac_key: c } = ni(t, n), a = ri(c, r, n);
3074
+ if (!qs(a, i))
3075
+ throw new Error("invalid MAC");
3076
+ const l = kr(s, o, r);
3077
+ return lc(l);
3078
+ }
3079
+ var hc = {
3080
+ utils: {
3081
+ getConversationKey: yn,
3082
+ calcPaddedLen: gn
3083
+ },
3084
+ encrypt: wn,
3085
+ decrypt: bn
3086
+ }, dc = 2 * 24 * 60 * 60, ii = () => Math.round(Date.now() / 1e3), si = () => Math.round(ii() - Math.random() * dc), oi = (e, t) => yn(e, t), ai = (e, t, n) => wn(JSON.stringify(e), oi(t, n)), zn = (e, t) => JSON.parse(bn(e.content, oi(t, e.pubkey)));
3087
+ function ci(e, t) {
3088
+ const n = {
3089
+ created_at: ii(),
3090
+ content: "",
3091
+ tags: [],
3092
+ ...e,
3093
+ pubkey: ae(t)
3094
+ };
3095
+ return n.id = qe(n), n;
3096
+ }
3097
+ function ui(e, t, n) {
3098
+ return Q(
3099
+ {
3100
+ kind: Tr,
3101
+ content: ai(e, t, n),
3102
+ created_at: si(),
3103
+ tags: []
3104
+ },
3105
+ t
3106
+ );
3107
+ }
3108
+ function li(e, t) {
3109
+ const n = ke();
2968
3110
  return Q(
2969
3111
  {
2970
- kind: on,
2971
- tags: [...e.tags ?? [], ["e", t.id, n], ["p", t.pubkey]],
2972
- content: e.content === "" ? "" : JSON.stringify(t),
3112
+ kind: jr,
3113
+ content: ai(e, n, t),
3114
+ created_at: si(),
3115
+ tags: [["p", t]]
3116
+ },
3117
+ n
3118
+ );
3119
+ }
3120
+ function st(e, t, n) {
3121
+ const r = ci(e, t), i = ui(r, t, n);
3122
+ return li(i, n);
3123
+ }
3124
+ function pc(e, t, n) {
3125
+ if (!n || n.length === 0)
3126
+ throw new Error("At least one recipient is required.");
3127
+ const r = ae(t), i = [st(e, t, r)];
3128
+ return n.forEach((s) => {
3129
+ i.push(st(e, t, s));
3130
+ }), i;
3131
+ }
3132
+ function vn(e, t) {
3133
+ const n = zn(e, t);
3134
+ return zn(n, t);
3135
+ }
3136
+ function fi(e, t) {
3137
+ let n = [];
3138
+ return e.forEach((r) => {
3139
+ n.push(vn(r, t));
3140
+ }), n.sort((r, i) => r.created_at - i.created_at), n;
3141
+ }
3142
+ function yc(e, t, n, r) {
3143
+ const i = {
3144
+ created_at: Math.ceil(Date.now() / 1e3),
3145
+ kind: Or,
3146
+ tags: [],
3147
+ content: t
3148
+ };
3149
+ return (Array.isArray(e) ? e : [e]).forEach(({ publicKey: o, relayUrl: c }) => {
3150
+ i.tags.push(c ? ["p", o, c] : ["p", o]);
3151
+ }), r && i.tags.push(["e", r.eventId, r.relayUrl || "", "reply"]), n && i.tags.push(["subject", n]), i;
3152
+ }
3153
+ function hi(e, t, n, r, i) {
3154
+ const s = yc(t, n, r, i);
3155
+ return st(s, e, t.publicKey);
3156
+ }
3157
+ function gc(e, t, n, r, i) {
3158
+ if (!t || t.length === 0)
3159
+ throw new Error("At least one recipient is required.");
3160
+ return [{ publicKey: ae(e) }, ...t].map(
3161
+ (o) => hi(e, o, n, r, i)
3162
+ );
3163
+ }
3164
+ var wc = vn, bc = fi, vc = {};
3165
+ H(vc, {
3166
+ finishRepostEvent: () => mc,
3167
+ getRepostedEvent: () => Ec,
3168
+ getRepostedEventPointer: () => di
3169
+ });
3170
+ function mc(e, t, n, r) {
3171
+ var o;
3172
+ let i;
3173
+ const s = [...e.tags ?? [], ["e", t.id, n], ["p", t.pubkey]];
3174
+ return t.kind === Rr ? i = an : (i = un, s.push(["k", String(t.kind)])), Q(
3175
+ {
3176
+ kind: i,
3177
+ tags: s,
3178
+ content: e.content === "" || (o = t.tags) != null && o.find((c) => c[0] === "-") ? "" : JSON.stringify(t),
2973
3179
  created_at: e.created_at
2974
3180
  },
2975
3181
  r
2976
3182
  );
2977
3183
  }
2978
- function Jr(e) {
2979
- if (e.kind !== on)
3184
+ function di(e) {
3185
+ if (![an, un].includes(e.kind))
2980
3186
  return;
2981
3187
  let t, n;
2982
3188
  for (let r = e.tags.length - 1; r >= 0 && (t === void 0 || n === void 0); r--) {
@@ -2990,8 +3196,8 @@ function Jr(e) {
2990
3196
  author: n == null ? void 0 : n[1]
2991
3197
  };
2992
3198
  }
2993
- function sc(e, { skipVerification: t } = {}) {
2994
- const n = Jr(e);
3199
+ function Ec(e, { skipVerification: t } = {}) {
3200
+ const n = di(e);
2995
3201
  if (n === void 0 || e.content === "")
2996
3202
  return;
2997
3203
  let r;
@@ -3000,48 +3206,48 @@ function sc(e, { skipVerification: t } = {}) {
3000
3206
  } catch {
3001
3207
  return;
3002
3208
  }
3003
- if (r.id === n.id && !(!t && !pt(r)))
3209
+ if (r.id === n.id && !(!t && !gt(r)))
3004
3210
  return r;
3005
3211
  }
3006
- var oc = {};
3007
- D(oc, {
3008
- NOSTR_URI_REGEX: () => mt,
3009
- parse: () => cc,
3010
- test: () => ac
3212
+ var xc = {};
3213
+ H(xc, {
3214
+ NOSTR_URI_REGEX: () => mn,
3215
+ parse: () => Kc,
3216
+ test: () => Nc
3011
3217
  });
3012
- var mt = new RegExp(`nostr:(${jr.source})`);
3013
- function ac(e) {
3014
- return typeof e == "string" && new RegExp(`^${mt.source}$`).test(e);
3218
+ var mn = new RegExp(`nostr:(${Zr.source})`);
3219
+ function Nc(e) {
3220
+ return typeof e == "string" && new RegExp(`^${mn.source}$`).test(e);
3015
3221
  }
3016
- function cc(e) {
3017
- const t = e.match(new RegExp(`^${mt.source}$`));
3222
+ function Kc(e) {
3223
+ const t = e.match(new RegExp(`^${mn.source}$`));
3018
3224
  if (!t)
3019
3225
  throw new Error(`Invalid Nostr URI: ${e}`);
3020
3226
  return {
3021
3227
  uri: t[0],
3022
3228
  value: t[1],
3023
- decoded: gt(t[1])
3229
+ decoded: wt(t[1])
3024
3230
  };
3025
3231
  }
3026
- var uc = {};
3027
- D(uc, {
3028
- finishReactionEvent: () => lc,
3029
- getReactedEventPointer: () => fc
3232
+ var Sc = {};
3233
+ H(Sc, {
3234
+ finishReactionEvent: () => Ac,
3235
+ getReactedEventPointer: () => Cc
3030
3236
  });
3031
- function lc(e, t, n) {
3237
+ function Ac(e, t, n) {
3032
3238
  const r = t.tags.filter((i) => i.length >= 2 && (i[0] === "e" || i[0] === "p"));
3033
3239
  return Q(
3034
3240
  {
3035
3241
  ...e,
3036
- kind: an,
3242
+ kind: cn,
3037
3243
  tags: [...e.tags ?? [], ...r, ["e", t.id], ["p", t.pubkey]],
3038
3244
  content: e.content ?? "+"
3039
3245
  },
3040
3246
  n
3041
3247
  );
3042
3248
  }
3043
- function fc(e) {
3044
- if (e.kind !== an)
3249
+ function Cc(e) {
3250
+ if (e.kind !== cn)
3045
3251
  return;
3046
3252
  let t, n;
3047
3253
  for (let r = e.tags.length - 1; r >= 0 && (t === void 0 || n === void 0); r--) {
@@ -3055,44 +3261,91 @@ function fc(e) {
3055
3261
  author: n[1]
3056
3262
  };
3057
3263
  }
3058
- var hc = {};
3059
- D(hc, {
3060
- matchAll: () => dc,
3061
- regex: () => dn,
3062
- replaceAll: () => yc
3264
+ var Bc = {};
3265
+ H(Bc, {
3266
+ parse: () => Ic
3063
3267
  });
3064
- var dn = () => new RegExp(`\\b${mt.source}\\b`, "g");
3065
- function* dc(e) {
3066
- const t = e.matchAll(dn());
3067
- for (const n of t)
3068
- try {
3069
- const [r, i] = n;
3070
- yield {
3071
- uri: r,
3072
- value: i,
3073
- decoded: gt(i),
3074
- start: n.index,
3075
- end: n.index + r.length
3076
- };
3077
- } catch {
3268
+ var kc = /\W/m, Wn = /\W |\W$|$|,| /m;
3269
+ function* Ic(e) {
3270
+ const t = e.length;
3271
+ let n = 0, r = 0;
3272
+ for (; r < t; ) {
3273
+ let i = e.indexOf(":", r);
3274
+ if (i === -1)
3275
+ break;
3276
+ if (e.substring(i - 5, i) === "nostr") {
3277
+ const s = e.substring(i + 60).match(kc), o = s ? i + 60 + s.index : t;
3278
+ try {
3279
+ let c, { data: a, type: l } = wt(e.substring(i + 1, o));
3280
+ switch (l) {
3281
+ case "npub":
3282
+ c = { pubkey: a };
3283
+ break;
3284
+ case "nsec":
3285
+ case "note":
3286
+ r = o + 1;
3287
+ continue;
3288
+ default:
3289
+ c = a;
3290
+ }
3291
+ n !== i - 5 && (yield { type: "text", text: e.substring(n, i - 5) }), yield { type: "reference", pointer: c }, r = o, n = r;
3292
+ continue;
3293
+ } catch {
3294
+ r = i + 1;
3295
+ continue;
3296
+ }
3297
+ } else if (e.substring(i - 5, i) === "https" || e.substring(i - 4, i) === "http") {
3298
+ const s = e.substring(i + 4).match(Wn), o = s ? i + 4 + s.index : t, c = e[i - 1] === "s" ? 5 : 4;
3299
+ try {
3300
+ let a = new URL(e.substring(i - c, o));
3301
+ if (a.hostname.indexOf(".") === -1)
3302
+ throw new Error("invalid url");
3303
+ if (n !== i - c && (yield { type: "text", text: e.substring(n, i - c) }), a.pathname.endsWith(".png") || a.pathname.endsWith(".jpg") || a.pathname.endsWith(".jpeg") || a.pathname.endsWith(".gif") || a.pathname.endsWith(".webp")) {
3304
+ yield { type: "image", url: a.toString() }, r = o, n = r;
3305
+ continue;
3306
+ }
3307
+ if (a.pathname.endsWith(".mp4") || a.pathname.endsWith(".avi") || a.pathname.endsWith(".webm") || a.pathname.endsWith(".mkv")) {
3308
+ yield { type: "video", url: a.toString() }, r = o, n = r;
3309
+ continue;
3310
+ }
3311
+ if (a.pathname.endsWith(".mp3") || a.pathname.endsWith(".aac") || a.pathname.endsWith(".ogg") || a.pathname.endsWith(".opus")) {
3312
+ yield { type: "audio", url: a.toString() }, r = o, n = r;
3313
+ continue;
3314
+ }
3315
+ yield { type: "url", url: a.toString() }, r = o, n = r;
3316
+ continue;
3317
+ } catch {
3318
+ r = o + 1;
3319
+ continue;
3320
+ }
3321
+ } else if (e.substring(i - 3, i) === "wss" || e.substring(i - 2, i) === "ws") {
3322
+ const s = e.substring(i + 4).match(Wn), o = s ? i + 4 + s.index : t, c = e[i - 1] === "s" ? 3 : 2;
3323
+ try {
3324
+ let a = new URL(e.substring(i - c, o));
3325
+ if (a.hostname.indexOf(".") === -1)
3326
+ throw new Error("invalid ws url");
3327
+ n !== i - c && (yield { type: "text", text: e.substring(n, i - c) }), yield { type: "relay", url: a.toString() }, r = o, n = r;
3328
+ continue;
3329
+ } catch {
3330
+ r = o + 1;
3331
+ continue;
3332
+ }
3333
+ } else {
3334
+ r = i + 1;
3335
+ continue;
3078
3336
  }
3337
+ }
3338
+ n !== t && (yield { type: "text", text: e.substring(n) });
3079
3339
  }
3080
- function yc(e, t) {
3081
- return e.replaceAll(dn(), (n, r) => t({
3082
- uri: n,
3083
- value: r,
3084
- decoded: gt(r)
3085
- }));
3086
- }
3087
- var pc = {};
3088
- D(pc, {
3089
- channelCreateEvent: () => gc,
3090
- channelHideMessageEvent: () => vc,
3091
- channelMessageEvent: () => bc,
3092
- channelMetadataEvent: () => wc,
3093
- channelMuteUserEvent: () => mc
3340
+ var _c = {};
3341
+ H(_c, {
3342
+ channelCreateEvent: () => Uc,
3343
+ channelHideMessageEvent: () => Rc,
3344
+ channelMessageEvent: () => $c,
3345
+ channelMetadataEvent: () => Lc,
3346
+ channelMuteUserEvent: () => Tc
3094
3347
  });
3095
- var gc = (e, t) => {
3348
+ var Uc = (e, t) => {
3096
3349
  let n;
3097
3350
  if (typeof e.content == "object")
3098
3351
  n = JSON.stringify(e.content);
@@ -3102,14 +3355,14 @@ var gc = (e, t) => {
3102
3355
  return;
3103
3356
  return Q(
3104
3357
  {
3105
- kind: $r,
3358
+ kind: Mr,
3106
3359
  tags: [...e.tags ?? []],
3107
3360
  content: n,
3108
3361
  created_at: e.created_at
3109
3362
  },
3110
3363
  t
3111
3364
  );
3112
- }, wc = (e, t) => {
3365
+ }, Lc = (e, t) => {
3113
3366
  let n;
3114
3367
  if (typeof e.content == "object")
3115
3368
  n = JSON.stringify(e.content);
@@ -3119,25 +3372,25 @@ var gc = (e, t) => {
3119
3372
  return;
3120
3373
  return Q(
3121
3374
  {
3122
- kind: Tr,
3375
+ kind: Pr,
3123
3376
  tags: [["e", e.channel_create_event_id], ...e.tags ?? []],
3124
3377
  content: n,
3125
3378
  created_at: e.created_at
3126
3379
  },
3127
3380
  t
3128
3381
  );
3129
- }, bc = (e, t) => {
3382
+ }, $c = (e, t) => {
3130
3383
  const n = [["e", e.channel_create_event_id, e.relay_url, "root"]];
3131
3384
  return e.reply_to_channel_message_event_id && n.push(["e", e.reply_to_channel_message_event_id, e.relay_url, "reply"]), Q(
3132
3385
  {
3133
- kind: Rr,
3386
+ kind: Hr,
3134
3387
  tags: [...n, ...e.tags ?? []],
3135
3388
  content: e.content,
3136
3389
  created_at: e.created_at
3137
3390
  },
3138
3391
  t
3139
3392
  );
3140
- }, vc = (e, t) => {
3393
+ }, Rc = (e, t) => {
3141
3394
  let n;
3142
3395
  if (typeof e.content == "object")
3143
3396
  n = JSON.stringify(e.content);
@@ -3147,14 +3400,14 @@ var gc = (e, t) => {
3147
3400
  return;
3148
3401
  return Q(
3149
3402
  {
3150
- kind: Or,
3403
+ kind: qr,
3151
3404
  tags: [["e", e.channel_message_event_id], ...e.tags ?? []],
3152
3405
  content: n,
3153
3406
  created_at: e.created_at
3154
3407
  },
3155
3408
  t
3156
3409
  );
3157
- }, mc = (e, t) => {
3410
+ }, Tc = (e, t) => {
3158
3411
  let n;
3159
3412
  if (typeof e.content == "object")
3160
3413
  n = JSON.stringify(e.content);
@@ -3164,23 +3417,23 @@ var gc = (e, t) => {
3164
3417
  return;
3165
3418
  return Q(
3166
3419
  {
3167
- kind: Pr,
3420
+ kind: Dr,
3168
3421
  tags: [["p", e.pubkey_to_mute], ...e.tags ?? []],
3169
3422
  content: n,
3170
3423
  created_at: e.created_at
3171
3424
  },
3172
3425
  t
3173
3426
  );
3174
- }, Ec = {};
3175
- D(Ec, {
3176
- EMOJI_SHORTCODE_REGEX: () => Yr,
3177
- matchAll: () => xc,
3178
- regex: () => yn,
3179
- replaceAll: () => Kc
3427
+ }, Oc = {};
3428
+ H(Oc, {
3429
+ EMOJI_SHORTCODE_REGEX: () => pi,
3430
+ matchAll: () => Mc,
3431
+ regex: () => En,
3432
+ replaceAll: () => Pc
3180
3433
  });
3181
- var Yr = /:(\w+):/, yn = () => new RegExp(`\\B${Yr.source}\\B`, "g");
3182
- function* xc(e) {
3183
- const t = e.matchAll(yn());
3434
+ var pi = /:(\w+):/, En = () => new RegExp(`\\B${pi.source}\\B`, "g");
3435
+ function* Mc(e) {
3436
+ const t = e.matchAll(En());
3184
3437
  for (const n of t)
3185
3438
  try {
3186
3439
  const [r, i] = n;
@@ -3193,186 +3446,100 @@ function* xc(e) {
3193
3446
  } catch {
3194
3447
  }
3195
3448
  }
3196
- function Kc(e, t) {
3197
- return e.replaceAll(yn(), (n, r) => t({
3449
+ function Pc(e, t) {
3450
+ return e.replaceAll(En(), (n, r) => t({
3198
3451
  shortcode: n,
3199
3452
  name: r
3200
3453
  }));
3201
3454
  }
3202
- var Nc = {};
3203
- D(Nc, {
3204
- useFetchImplementation: () => Sc,
3205
- validateGithub: () => Ac
3455
+ var Hc = {};
3456
+ H(Hc, {
3457
+ useFetchImplementation: () => qc,
3458
+ validateGithub: () => Dc
3206
3459
  });
3207
- var pn;
3460
+ var xn;
3208
3461
  try {
3209
- pn = fetch;
3462
+ xn = fetch;
3210
3463
  } catch {
3211
3464
  }
3212
- function Sc(e) {
3213
- pn = e;
3465
+ function qc(e) {
3466
+ xn = e;
3214
3467
  }
3215
- async function Ac(e, t, n) {
3468
+ async function Dc(e, t, n) {
3216
3469
  try {
3217
- return await (await pn(`https://gist.github.com/${t}/${n}/raw`)).text() === `Verifying that I control the following Nostr public key: ${e}`;
3470
+ return await (await xn(`https://gist.github.com/${t}/${n}/raw`)).text() === `Verifying that I control the following Nostr public key: ${e}`;
3218
3471
  } catch {
3219
3472
  return !1;
3220
3473
  }
3221
3474
  }
3222
- var q = {};
3223
- D(q, {
3224
- decrypt: () => vn,
3225
- encrypt: () => bn,
3226
- getConversationKey: () => gn,
3227
- v2: () => Ic
3475
+ var jc = {};
3476
+ H(jc, {
3477
+ makeNwcRequestEvent: () => Wc,
3478
+ parseConnectionString: () => zc
3228
3479
  });
3229
- var Xr = 1, Qr = 65535;
3230
- function gn(e, t) {
3231
- const n = Ie.getSharedSecret(e, "02" + t).subarray(1, 33);
3232
- return rn(fe, n, "nip44-v2");
3233
- }
3234
- function ei(e, t) {
3235
- const n = Cr(fe, e, t, 76);
3236
- return {
3237
- chacha_key: n.subarray(0, 32),
3238
- chacha_nonce: n.subarray(32, 44),
3239
- hmac_key: n.subarray(44, 76)
3240
- };
3241
- }
3242
- function wn(e) {
3243
- if (!Number.isSafeInteger(e) || e < 1)
3244
- throw new Error("expected positive integer");
3245
- if (e <= 32)
3246
- return 32;
3247
- const t = 1 << Math.floor(Math.log2(e - 1)) + 1, n = t <= 256 ? 32 : t / 8;
3248
- return n * (Math.floor((e - 1) / n) + 1);
3249
- }
3250
- function Cc(e) {
3251
- if (!Number.isSafeInteger(e) || e < Xr || e > Qr)
3252
- throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");
3253
- const t = new Uint8Array(2);
3254
- return new DataView(t.buffer).setUint16(0, e, !1), t;
3255
- }
3256
- function Bc(e) {
3257
- const t = ne.encode(e), n = t.length, r = Cc(n), i = new Uint8Array(wn(n) - n);
3258
- return lt(r, t, i);
3259
- }
3260
- function kc(e) {
3261
- const t = new DataView(e.buffer).getUint16(0), n = e.subarray(2, 2 + t);
3262
- if (t < Xr || t > Qr || n.length !== t || e.length !== 2 + wn(t))
3263
- throw new Error("invalid padding");
3264
- return ue.decode(n);
3265
- }
3266
- function ti(e, t, n) {
3267
- if (n.length !== 32)
3268
- throw new Error("AAD associated data must be 32 bytes");
3269
- const r = lt(n, t);
3270
- return ht(fe, e, r);
3271
- }
3272
- function _c(e) {
3273
- if (typeof e != "string")
3274
- throw new Error("payload must be a valid string");
3275
- const t = e.length;
3276
- if (t < 132 || t > 87472)
3277
- throw new Error("invalid payload length: " + t);
3278
- if (e[0] === "#")
3279
- throw new Error("unknown encryption version");
3280
- let n;
3281
- try {
3282
- n = he.decode(e);
3283
- } catch (s) {
3284
- throw new Error("invalid base64: " + s.message);
3285
- }
3286
- const r = n.length;
3287
- if (r < 99 || r > 65603)
3288
- throw new Error("invalid data length: " + r);
3289
- const i = n[0];
3290
- if (i !== 2)
3291
- throw new Error("unknown encryption version " + i);
3292
- return {
3293
- nonce: n.subarray(1, 33),
3294
- ciphertext: n.subarray(33, -32),
3295
- mac: n.subarray(-32)
3296
- };
3297
- }
3298
- function bn(e, t, n = fr(32)) {
3299
- const { chacha_key: r, chacha_nonce: i, hmac_key: s } = ei(t, n), o = Bc(e), c = Sr(r, i, o), a = ti(s, c, n);
3300
- return he.encode(lt(new Uint8Array([2]), n, c, a));
3301
- }
3302
- function vn(e, t) {
3303
- const { nonce: n, ciphertext: r, mac: i } = _c(e), { chacha_key: s, chacha_nonce: o, hmac_key: c } = ei(t, n), a = ti(c, r, n);
3304
- if (!Rs(a, i))
3305
- throw new Error("invalid MAC");
3306
- const l = Sr(s, o, r);
3307
- return kc(l);
3308
- }
3309
- var Ic = {
3310
- utils: {
3311
- getConversationKey: gn,
3312
- calcPaddedLen: wn
3313
- },
3314
- encrypt: bn,
3315
- decrypt: vn
3316
- }, Uc = {};
3317
- D(Uc, {
3318
- makeNwcRequestEvent: () => $c,
3319
- parseConnectionString: () => Lc
3320
- });
3321
- function Lc(e) {
3480
+ function zc(e) {
3322
3481
  const { pathname: t, searchParams: n } = new URL(e), r = t, i = n.get("relay"), s = n.get("secret");
3323
3482
  if (!r || !i || !s)
3324
3483
  throw new Error("invalid connection string");
3325
3484
  return { pubkey: r, relay: i, secret: s };
3326
3485
  }
3327
- async function $c(e, t, n) {
3328
- const i = await zr(t, e, JSON.stringify({
3486
+ async function Wc(e, t, n) {
3487
+ const i = Fr(t, e, JSON.stringify({
3329
3488
  method: "pay_invoice",
3330
3489
  params: {
3331
3490
  invoice: n
3332
3491
  }
3333
3492
  })), s = {
3334
- kind: qr,
3493
+ kind: Wr,
3335
3494
  created_at: Math.round(Date.now() / 1e3),
3336
3495
  content: i,
3337
3496
  tags: [["p", e]]
3338
3497
  };
3339
3498
  return Q(s, t);
3340
3499
  }
3341
- var Tc = {};
3342
- D(Tc, {
3343
- getZapEndpoint: () => Oc,
3344
- makeZapReceipt: () => Hc,
3345
- makeZapRequest: () => Pc,
3346
- useFetchImplementation: () => Rc,
3347
- validateZapRequest: () => Mc
3500
+ var Vc = {};
3501
+ H(Vc, {
3502
+ normalizeIdentifier: () => Zc
3503
+ });
3504
+ function Zc(e) {
3505
+ return e = e.trim().toLowerCase(), e = e.normalize("NFKC"), Array.from(e).map((t) => new RegExp("\\p{Letter}", "u").test(t) || new RegExp("\\p{Number}", "u").test(t) ? t : "-").join("");
3506
+ }
3507
+ var Fc = {};
3508
+ H(Fc, {
3509
+ getSatoshisAmountFromBolt11: () => eu,
3510
+ getZapEndpoint: () => Jc,
3511
+ makeZapReceipt: () => Qc,
3512
+ makeZapRequest: () => Yc,
3513
+ useFetchImplementation: () => Gc,
3514
+ validateZapRequest: () => Xc
3348
3515
  });
3349
- var mn;
3516
+ var Nn;
3350
3517
  try {
3351
- mn = fetch;
3518
+ Nn = fetch;
3352
3519
  } catch {
3353
3520
  }
3354
- function Rc(e) {
3355
- mn = e;
3521
+ function Gc(e) {
3522
+ Nn = e;
3356
3523
  }
3357
- async function Oc(e) {
3524
+ async function Jc(e) {
3358
3525
  try {
3359
3526
  let t = "", { lud06: n, lud16: r } = JSON.parse(e.content);
3360
3527
  if (n) {
3361
3528
  let { words: o } = ze.decode(n, 1e3), c = ze.fromWords(o);
3362
- t = ue.decode(c);
3529
+ t = le.decode(c);
3363
3530
  } else if (r) {
3364
3531
  let [o, c] = r.split("@");
3365
3532
  t = new URL(`/.well-known/lnurlp/${o}`, `https://${c}`).toString();
3366
3533
  } else
3367
3534
  return null;
3368
- let s = await (await mn(t)).json();
3535
+ let s = await (await Nn(t)).json();
3369
3536
  if (s.allowsNostr && s.nostrPubkey)
3370
3537
  return s.callback;
3371
3538
  } catch {
3372
3539
  }
3373
3540
  return null;
3374
3541
  }
3375
- function Pc({
3542
+ function Yc({
3376
3543
  profile: e,
3377
3544
  event: t,
3378
3545
  amount: n,
@@ -3393,18 +3560,30 @@ function Pc({
3393
3560
  ["relays", ...r]
3394
3561
  ]
3395
3562
  };
3396
- return t && s.tags.push(["e", t]), s;
3563
+ if (t && typeof t == "string" && s.tags.push(["e", t]), t && typeof t == "object") {
3564
+ if (sn(t.kind)) {
3565
+ const o = ["a", `${t.kind}:${t.pubkey}:`];
3566
+ s.tags.push(o);
3567
+ } else if (on(t.kind)) {
3568
+ let o = t.tags.find(([a, l]) => a === "d" && l);
3569
+ if (!o)
3570
+ throw new Error("d tag not found or is empty");
3571
+ const c = ["a", `${t.kind}:${t.pubkey}:${o[1]}`];
3572
+ s.tags.push(c);
3573
+ }
3574
+ }
3575
+ return s;
3397
3576
  }
3398
- function Mc(e) {
3577
+ function Xc(e) {
3399
3578
  let t;
3400
3579
  try {
3401
3580
  t = JSON.parse(e);
3402
3581
  } catch {
3403
3582
  return "Invalid zap request JSON.";
3404
3583
  }
3405
- if (!dt(t))
3406
- return "Zap request is not a valid Nostr event.";
3407
3584
  if (!pt(t))
3585
+ return "Zap request is not a valid Nostr event.";
3586
+ if (!gt(t))
3408
3587
  return "Invalid signature on zap request.";
3409
3588
  let n = t.tags.find(([s, o]) => s === "p" && o);
3410
3589
  if (!n)
@@ -3414,7 +3593,7 @@ function Mc(e) {
3414
3593
  let r = t.tags.find(([s, o]) => s === "e" && o);
3415
3594
  return r && !r[1].match(/^[a-f0-9]{64}$/) ? "Zap request 'e' tag is not valid hex." : t.tags.find(([s, o]) => s === "relays" && o) ? null : "Zap request doesn't have a 'relays' tag.";
3416
3595
  }
3417
- function Hc({
3596
+ function Qc({
3418
3597
  zapRequest: e,
3419
3598
  preimage: t,
3420
3599
  bolt11: n,
@@ -3428,89 +3607,54 @@ function Hc({
3428
3607
  };
3429
3608
  return t && o.tags.push(["preimage", t]), o;
3430
3609
  }
3431
- var qc = {};
3432
- D(qc, {
3433
- createRumor: () => oi,
3434
- createSeal: () => ai,
3435
- createWrap: () => ci,
3436
- unwrapEvent: () => ui,
3437
- unwrapManyEvents: () => zc,
3438
- wrapEvent: () => Vt,
3439
- wrapManyEvents: () => jc
3440
- });
3441
- var Dc = 2 * 24 * 60 * 60, ni = () => Math.round(Date.now() / 1e3), ri = () => Math.round(ni() - Math.random() * Dc), ii = (e, t) => gn(e, t), si = (e, t, n) => bn(JSON.stringify(e), ii(t, n)), qn = (e, t) => JSON.parse(vn(e.content, ii(t, e.pubkey)));
3442
- function oi(e, t) {
3443
- const n = {
3444
- created_at: ni(),
3445
- content: "",
3446
- tags: [],
3447
- ...e,
3448
- pubkey: le(t)
3449
- };
3450
- return n.id = qe(n), n;
3451
- }
3452
- function ai(e, t, n) {
3453
- return Q(
3454
- {
3455
- kind: Lr,
3456
- content: si(e, t, n),
3457
- created_at: ri(),
3458
- tags: []
3459
- },
3460
- t
3461
- );
3462
- }
3463
- function ci(e, t) {
3464
- const n = ke();
3465
- return Q(
3466
- {
3467
- kind: Mr,
3468
- content: si(e, n, t),
3469
- created_at: ri(),
3470
- tags: [["p", t]]
3471
- },
3472
- n
3473
- );
3474
- }
3475
- function Vt(e, t, n) {
3476
- const r = oi(e, t), i = ai(r, t, n);
3477
- return ci(i, n);
3478
- }
3479
- function jc(e, t, n) {
3480
- if (!n || n.length === 0)
3481
- throw new Error("At least one recipient is required.");
3482
- const r = le(t), i = [Vt(e, t, r)];
3483
- return n.forEach((s) => {
3484
- i.push(Vt(e, t, s));
3485
- }), i;
3486
- }
3487
- function ui(e, t) {
3488
- const n = qn(e, t);
3489
- return qn(n, t);
3490
- }
3491
- function zc(e, t) {
3492
- let n = [];
3493
- return e.forEach((r) => {
3494
- n.push(ui(r, t));
3495
- }), n.sort((r, i) => r.created_at - i.created_at), n;
3496
- }
3497
- var Vc = {};
3498
- D(Vc, {
3499
- getToken: () => Wc,
3500
- hashPayload: () => En,
3501
- unpackEventFromToken: () => fi,
3502
- validateEvent: () => wi,
3503
- validateEventKind: () => di,
3504
- validateEventMethodTag: () => pi,
3505
- validateEventPayloadTag: () => gi,
3506
- validateEventTimestamp: () => hi,
3507
- validateEventUrlTag: () => yi,
3508
- validateToken: () => Zc
3610
+ function eu(e) {
3611
+ if (e.length < 50)
3612
+ return 0;
3613
+ e = e.substring(0, 50);
3614
+ const t = e.lastIndexOf("1");
3615
+ if (t === -1)
3616
+ return 0;
3617
+ const n = e.substring(0, t);
3618
+ if (!n.startsWith("lnbc"))
3619
+ return 0;
3620
+ const r = n.substring(4);
3621
+ if (r.length < 1)
3622
+ return 0;
3623
+ const i = r[r.length - 1], s = i.charCodeAt(0) - 48, o = s >= 0 && s <= 9;
3624
+ let c = r.length - 1;
3625
+ if (o && c++, c < 1)
3626
+ return 0;
3627
+ const a = parseInt(r.substring(0, c));
3628
+ switch (i) {
3629
+ case "m":
3630
+ return a * 1e5;
3631
+ case "u":
3632
+ return a * 100;
3633
+ case "n":
3634
+ return a / 10;
3635
+ case "p":
3636
+ return a / 1e4;
3637
+ default:
3638
+ return a * 1e8;
3639
+ }
3640
+ }
3641
+ var tu = {};
3642
+ H(tu, {
3643
+ getToken: () => nu,
3644
+ hashPayload: () => Kn,
3645
+ unpackEventFromToken: () => gi,
3646
+ validateEvent: () => xi,
3647
+ validateEventKind: () => bi,
3648
+ validateEventMethodTag: () => mi,
3649
+ validateEventPayloadTag: () => Ei,
3650
+ validateEventTimestamp: () => wi,
3651
+ validateEventUrlTag: () => vi,
3652
+ validateToken: () => ru
3509
3653
  });
3510
- var li = "Nostr ";
3511
- async function Wc(e, t, n, r = !1, i) {
3654
+ var yi = "Nostr ";
3655
+ async function nu(e, t, n, r = !1, i) {
3512
3656
  const s = {
3513
- kind: cn,
3657
+ kind: ln,
3514
3658
  tags: [
3515
3659
  ["u", e],
3516
3660
  ["method", t]
@@ -3518,71 +3662,71 @@ async function Wc(e, t, n, r = !1, i) {
3518
3662
  created_at: Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3),
3519
3663
  content: ""
3520
3664
  };
3521
- i && s.tags.push(["payload", En(i)]);
3665
+ i && s.tags.push(["payload", Kn(i)]);
3522
3666
  const o = await n(s);
3523
- return (r ? li : "") + he.encode(ne.encode(JSON.stringify(o)));
3667
+ return (r ? yi : "") + he.encode(ne.encode(JSON.stringify(o)));
3524
3668
  }
3525
- async function Zc(e, t, n) {
3526
- const r = await fi(e).catch((s) => {
3669
+ async function ru(e, t, n) {
3670
+ const r = await gi(e).catch((s) => {
3527
3671
  throw s;
3528
3672
  });
3529
- return await wi(r, t, n).catch((s) => {
3673
+ return await xi(r, t, n).catch((s) => {
3530
3674
  throw s;
3531
3675
  });
3532
3676
  }
3533
- async function fi(e) {
3677
+ async function gi(e) {
3534
3678
  if (!e)
3535
3679
  throw new Error("Missing token");
3536
- e = e.replace(li, "");
3537
- const t = ue.decode(he.decode(e));
3680
+ e = e.replace(yi, "");
3681
+ const t = le.decode(he.decode(e));
3538
3682
  if (!t || t.length === 0 || !t.startsWith("{"))
3539
3683
  throw new Error("Invalid token");
3540
3684
  return JSON.parse(t);
3541
3685
  }
3542
- function hi(e) {
3686
+ function wi(e) {
3543
3687
  return e.created_at ? Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3) - e.created_at < 60 : !1;
3544
3688
  }
3545
- function di(e) {
3546
- return e.kind === cn;
3689
+ function bi(e) {
3690
+ return e.kind === ln;
3547
3691
  }
3548
- function yi(e, t) {
3692
+ function vi(e, t) {
3549
3693
  const n = e.tags.find((r) => r[0] === "u");
3550
3694
  return n ? n.length > 0 && n[1] === t : !1;
3551
3695
  }
3552
- function pi(e, t) {
3696
+ function mi(e, t) {
3553
3697
  const n = e.tags.find((r) => r[0] === "method");
3554
3698
  return n ? n.length > 0 && n[1].toLowerCase() === t.toLowerCase() : !1;
3555
3699
  }
3556
- function En(e) {
3700
+ function Kn(e) {
3557
3701
  const t = fe(ne.encode(JSON.stringify(e)));
3558
3702
  return P(t);
3559
3703
  }
3560
- function gi(e, t) {
3704
+ function Ei(e, t) {
3561
3705
  const n = e.tags.find((i) => i[0] === "payload");
3562
3706
  if (!n)
3563
3707
  return !1;
3564
- const r = En(t);
3708
+ const r = Kn(t);
3565
3709
  return n.length > 0 && n[1] === r;
3566
3710
  }
3567
- async function wi(e, t, n, r) {
3568
- if (!pt(e))
3711
+ async function xi(e, t, n, r) {
3712
+ if (!gt(e))
3569
3713
  throw new Error("Invalid nostr event, signature invalid");
3570
- if (!di(e))
3714
+ if (!bi(e))
3571
3715
  throw new Error("Invalid nostr event, kind invalid");
3572
- if (!hi(e))
3716
+ if (!wi(e))
3573
3717
  throw new Error("Invalid nostr event, created_at timestamp invalid");
3574
- if (!yi(e, t))
3718
+ if (!vi(e, t))
3575
3719
  throw new Error("Invalid nostr event, url tag invalid");
3576
- if (!pi(e, n))
3720
+ if (!mi(e, n))
3577
3721
  throw new Error("Invalid nostr event, method tag invalid");
3578
- if (r && typeof r == "object" && Object.keys(r).length > 0 && !gi(e, r))
3722
+ if (r && typeof r == "object" && Object.keys(r).length > 0 && !Ei(e, r))
3579
3723
  throw new Error("Invalid nostr event, payload tag does not match request body hash");
3580
3724
  return !0;
3581
3725
  }
3582
- const Oe = 1060, Dn = 30078, jn = 1059, Gc = 14, au = 100, Fc = 1;
3583
- function cu(e) {
3726
+ const Oe = 1060, Vn = 30078, Zn = 1059, iu = 14, wu = 100, su = 1;
3727
+ function bu(e) {
3584
3728
  return JSON.stringify({
3585
- version: Fc,
3729
+ version: su,
3586
3730
  rootKey: P(e.rootKey),
3587
3731
  theirCurrentNostrPublicKey: e.theirCurrentNostrPublicKey,
3588
3732
  theirNextNostrPublicKey: e.theirNextNostrPublicKey,
@@ -3615,7 +3759,7 @@ function cu(e) {
3615
3759
  )
3616
3760
  });
3617
3761
  }
3618
- function uu(e) {
3762
+ function vu(e) {
3619
3763
  const t = JSON.parse(e);
3620
3764
  if (!t.version) {
3621
3765
  const n = {};
@@ -3626,19 +3770,19 @@ function uu(e) {
3626
3770
  messageKeys: i
3627
3771
  };
3628
3772
  }), {
3629
- rootKey: z(t.rootKey),
3773
+ rootKey: j(t.rootKey),
3630
3774
  theirCurrentNostrPublicKey: t.theirCurrentNostrPublicKey,
3631
3775
  theirNextNostrPublicKey: t.theirNextNostrPublicKey,
3632
3776
  ourCurrentNostrKey: t.ourCurrentNostrKey ? {
3633
3777
  publicKey: t.ourCurrentNostrKey.publicKey,
3634
- privateKey: z(t.ourCurrentNostrKey.privateKey)
3778
+ privateKey: j(t.ourCurrentNostrKey.privateKey)
3635
3779
  } : void 0,
3636
3780
  ourNextNostrKey: {
3637
3781
  publicKey: t.ourNextNostrKey.publicKey,
3638
- privateKey: z(t.ourNextNostrKey.privateKey)
3782
+ privateKey: j(t.ourNextNostrKey.privateKey)
3639
3783
  },
3640
- receivingChainKey: t.receivingChainKey ? z(t.receivingChainKey) : void 0,
3641
- sendingChainKey: t.sendingChainKey ? z(t.sendingChainKey) : void 0,
3784
+ receivingChainKey: t.receivingChainKey ? j(t.receivingChainKey) : void 0,
3785
+ sendingChainKey: t.sendingChainKey ? j(t.sendingChainKey) : void 0,
3642
3786
  sendingChainMessageNumber: t.sendingChainMessageNumber,
3643
3787
  receivingChainMessageNumber: t.receivingChainMessageNumber,
3644
3788
  previousSendingChainMessageCount: t.previousSendingChainMessageCount,
@@ -3646,19 +3790,19 @@ function uu(e) {
3646
3790
  };
3647
3791
  }
3648
3792
  return {
3649
- rootKey: z(t.rootKey),
3793
+ rootKey: j(t.rootKey),
3650
3794
  theirCurrentNostrPublicKey: t.theirCurrentNostrPublicKey,
3651
3795
  theirNextNostrPublicKey: t.theirNextNostrPublicKey,
3652
3796
  ourCurrentNostrKey: t.ourCurrentNostrKey ? {
3653
3797
  publicKey: t.ourCurrentNostrKey.publicKey,
3654
- privateKey: z(t.ourCurrentNostrKey.privateKey)
3798
+ privateKey: j(t.ourCurrentNostrKey.privateKey)
3655
3799
  } : void 0,
3656
3800
  ourNextNostrKey: {
3657
3801
  publicKey: t.ourNextNostrKey.publicKey,
3658
- privateKey: z(t.ourNextNostrKey.privateKey)
3802
+ privateKey: j(t.ourNextNostrKey.privateKey)
3659
3803
  },
3660
- receivingChainKey: t.receivingChainKey ? z(t.receivingChainKey) : void 0,
3661
- sendingChainKey: t.sendingChainKey ? z(t.sendingChainKey) : void 0,
3804
+ receivingChainKey: t.receivingChainKey ? j(t.receivingChainKey) : void 0,
3805
+ sendingChainKey: t.sendingChainKey ? j(t.sendingChainKey) : void 0,
3662
3806
  sendingChainMessageNumber: t.sendingChainMessageNumber,
3663
3807
  receivingChainMessageNumber: t.receivingChainMessageNumber,
3664
3808
  previousSendingChainMessageCount: t.previousSendingChainMessageCount,
@@ -3666,11 +3810,11 @@ function uu(e) {
3666
3810
  Object.entries(t.skippedKeys || {}).map(([n, r]) => [
3667
3811
  n,
3668
3812
  {
3669
- headerKeys: r.headerKeys.map((i) => z(i)),
3813
+ headerKeys: r.headerKeys.map((i) => j(i)),
3670
3814
  messageKeys: Object.fromEntries(
3671
3815
  Object.entries(r.messageKeys).map(([i, s]) => [
3672
3816
  i,
3673
- z(s)
3817
+ j(s)
3674
3818
  ])
3675
3819
  )
3676
3820
  }
@@ -3678,7 +3822,7 @@ function uu(e) {
3678
3822
  )
3679
3823
  };
3680
3824
  }
3681
- async function* lu(e) {
3825
+ async function* mu(e) {
3682
3826
  const t = [];
3683
3827
  let n = null;
3684
3828
  const r = e.onEvent((i) => {
@@ -3693,22 +3837,22 @@ async function* lu(e) {
3693
3837
  r();
3694
3838
  }
3695
3839
  }
3696
- function Pe(e, t = new Uint8Array(32), n = 1) {
3697
- const r = rn(fe, e, t), i = [];
3840
+ function Me(e, t = new Uint8Array(32), n = 1) {
3841
+ const r = nn(fe, e, t), i = [];
3698
3842
  for (let s = 1; s <= n; s++)
3699
- i.push(Cr(fe, r, new Uint8Array([s]), 32));
3843
+ i.push(_r(fe, r, new Uint8Array([s]), 32));
3700
3844
  return i;
3701
3845
  }
3702
- function fu(e, t) {
3846
+ function Eu(e, t) {
3703
3847
  return `${e}:${t}`;
3704
3848
  }
3705
- function hu(e) {
3849
+ function xu(e) {
3706
3850
  var n;
3707
3851
  const t = (n = e.tags) == null ? void 0 : n.find((r) => r[0] === "ms");
3708
3852
  return t ? parseInt(t[1]) : e.created_at * 1e3;
3709
3853
  }
3710
- const Jc = 1e3, Yc = "0000000000000000000000000000000000000000000000000000000000000000";
3711
- class st {
3854
+ const ou = 1e3, au = "0000000000000000000000000000000000000000000000000000000000000000";
3855
+ class ot {
3712
3856
  // 1. CHANNEL PUBLIC INTERFACE
3713
3857
  constructor(t, n) {
3714
3858
  J(this, "skippedSubscription");
@@ -3721,9 +3865,9 @@ class st {
3721
3865
  }
3722
3866
  /**
3723
3867
  * Initializes a new secure communication session
3724
- * @param nostrSubscribe Function to subscribe to Nostr events
3725
- * @param theirNextNostrPublicKey The public key of the other party
3726
- * @param ourCurrentPrivateKey Our current private key for Nostr
3868
+ * @param nostrSubscribe Function to subscribe to Nostr events. Make sure it deduplicates events (doesn't return the same event twice), otherwise you'll see decryption errors!
3869
+ * @param theirEphemeralNostrPublicKey The ephemeral public key of the other party for the initial handshake
3870
+ * @param ourEphemeralNostrPrivateKey Our ephemeral private key for the initial handshake
3727
3871
  * @param isInitiator Whether we are initiating the conversation (true) or responding (false)
3728
3872
  * @param sharedSecret Initial shared secret for securing the first message chain
3729
3873
  * @param name Optional name for the session (for debugging)
@@ -3732,17 +3876,17 @@ class st {
3732
3876
  static init(t, n, r, i, s, o) {
3733
3877
  const c = ke();
3734
3878
  let a, l, f, u;
3735
- i ? ([a, l] = Pe(s, q.getConversationKey(c, n), 2), f = {
3736
- publicKey: le(r),
3879
+ i ? ([a, l] = Me(s, D.getConversationKey(c, n), 2), f = {
3880
+ publicKey: ae(r),
3737
3881
  privateKey: r
3738
3882
  }, u = {
3739
- publicKey: le(c),
3883
+ publicKey: ae(c),
3740
3884
  privateKey: c
3741
3885
  }) : (a = s, l = void 0, f = void 0, u = {
3742
- publicKey: le(r),
3886
+ publicKey: ae(r),
3743
3887
  privateKey: r
3744
3888
  });
3745
- const g = {
3889
+ const p = {
3746
3890
  rootKey: a,
3747
3891
  theirNextNostrPublicKey: n,
3748
3892
  ourCurrentNostrKey: f,
@@ -3753,7 +3897,7 @@ class st {
3753
3897
  receivingChainMessageNumber: 0,
3754
3898
  previousSendingChainMessageCount: 0,
3755
3899
  skippedKeys: {}
3756
- }, w = new st(t, g);
3900
+ }, w = new ot(t, p);
3757
3901
  return o && (w.name = o), w;
3758
3902
  }
3759
3903
  /**
@@ -3766,7 +3910,7 @@ class st {
3766
3910
  send(t) {
3767
3911
  return this.sendEvent({
3768
3912
  content: t,
3769
- kind: Gc
3913
+ kind: iu
3770
3914
  });
3771
3915
  }
3772
3916
  /**
@@ -3787,10 +3931,10 @@ class st {
3787
3931
  kind: t.kind || Oe,
3788
3932
  created_at: t.created_at || Math.floor(n / 1e3),
3789
3933
  tags: t.tags || [],
3790
- pubkey: t.pubkey || Yc
3934
+ pubkey: t.pubkey || au
3791
3935
  };
3792
3936
  r.tags.some(([l]) => l === "ms") || r.tags.push(["ms", String(n)]), r.id = qe(r);
3793
- const [i, s] = this.ratchetEncrypt(JSON.stringify(r)), o = q.getConversationKey(this.state.ourCurrentNostrKey.privateKey, this.state.theirNextNostrPublicKey), c = q.encrypt(JSON.stringify(i), o);
3937
+ const [i, s] = this.ratchetEncrypt(JSON.stringify(r)), o = D.getConversationKey(this.state.ourCurrentNostrKey.privateKey, this.state.theirNextNostrPublicKey), c = D.encrypt(JSON.stringify(i), o);
3794
3938
  return { event: Q({
3795
3939
  content: s,
3796
3940
  kind: Oe,
@@ -3816,60 +3960,50 @@ class st {
3816
3960
  }
3817
3961
  // 2. RATCHET FUNCTIONS
3818
3962
  ratchetEncrypt(t) {
3819
- const [n, r] = Pe(this.state.sendingChainKey, new Uint8Array([1]), 2);
3963
+ const [n, r] = Me(this.state.sendingChainKey, new Uint8Array([1]), 2);
3820
3964
  return this.state.sendingChainKey = n, [{
3821
3965
  number: this.state.sendingChainMessageNumber++,
3822
3966
  nextPublicKey: this.state.ourNextNostrKey.publicKey,
3823
3967
  previousChainLength: this.state.previousSendingChainMessageCount
3824
- }, q.encrypt(t, r)];
3968
+ }, D.encrypt(t, r)];
3825
3969
  }
3826
3970
  ratchetDecrypt(t, n, r) {
3827
3971
  const i = this.trySkippedMessageKeys(t, n, r);
3828
3972
  if (i) return i;
3829
3973
  this.skipMessageKeys(t.number, r);
3830
- const [s, o] = Pe(this.state.receivingChainKey, new Uint8Array([1]), 2);
3831
- this.state.receivingChainKey = s, this.state.receivingChainMessageNumber++;
3832
- try {
3833
- return q.decrypt(n, o);
3834
- } catch (c) {
3835
- throw console.error(this.name, "Decryption failed:", c, {
3836
- messageKey: P(o).slice(0, 4),
3837
- receivingChainKey: P(this.state.receivingChainKey).slice(0, 4),
3838
- sendingChainKey: this.state.sendingChainKey && P(this.state.sendingChainKey).slice(0, 4),
3839
- rootKey: P(this.state.rootKey).slice(0, 4)
3840
- }), c;
3841
- }
3974
+ const [s, o] = Me(this.state.receivingChainKey, new Uint8Array([1]), 2);
3975
+ return this.state.receivingChainKey = s, this.state.receivingChainMessageNumber++, D.decrypt(n, o);
3842
3976
  }
3843
3977
  ratchetStep() {
3844
3978
  this.state.previousSendingChainMessageCount = this.state.sendingChainMessageNumber, this.state.sendingChainMessageNumber = 0, this.state.receivingChainMessageNumber = 0;
3845
- const t = q.getConversationKey(this.state.ourNextNostrKey.privateKey, this.state.theirNextNostrPublicKey), [n, r] = Pe(this.state.rootKey, t, 2);
3979
+ const t = D.getConversationKey(this.state.ourNextNostrKey.privateKey, this.state.theirNextNostrPublicKey), [n, r] = Me(this.state.rootKey, t, 2);
3846
3980
  this.state.receivingChainKey = r, this.state.ourCurrentNostrKey = this.state.ourNextNostrKey;
3847
3981
  const i = ke();
3848
3982
  this.state.ourNextNostrKey = {
3849
- publicKey: le(i),
3983
+ publicKey: ae(i),
3850
3984
  privateKey: i
3851
3985
  };
3852
- const s = q.getConversationKey(this.state.ourNextNostrKey.privateKey, this.state.theirNextNostrPublicKey), [o, c] = Pe(n, s, 2);
3986
+ const s = D.getConversationKey(this.state.ourNextNostrKey.privateKey, this.state.theirNextNostrPublicKey), [o, c] = Me(n, s, 2);
3853
3987
  this.state.rootKey = o, this.state.sendingChainKey = c;
3854
3988
  }
3855
3989
  // 3. MESSAGE KEY FUNCTIONS
3856
3990
  skipMessageKeys(t, n) {
3857
3991
  if (!(t <= this.state.receivingChainMessageNumber)) {
3858
- if (t > this.state.receivingChainMessageNumber + Jc)
3992
+ if (t > this.state.receivingChainMessageNumber + ou)
3859
3993
  throw new Error("Too many skipped messages");
3860
3994
  if (!this.state.skippedKeys[n]) {
3861
3995
  if (this.state.skippedKeys[n] = {
3862
3996
  headerKeys: [],
3863
3997
  messageKeys: {}
3864
3998
  }, this.state.ourCurrentNostrKey) {
3865
- const i = q.getConversationKey(this.state.ourCurrentNostrKey.privateKey, n);
3999
+ const i = D.getConversationKey(this.state.ourCurrentNostrKey.privateKey, n);
3866
4000
  this.state.skippedKeys[n].headerKeys.includes(i) || this.state.skippedKeys[n].headerKeys.push(i);
3867
4001
  }
3868
- const r = q.getConversationKey(this.state.ourNextNostrKey.privateKey, n);
4002
+ const r = D.getConversationKey(this.state.ourNextNostrKey.privateKey, n);
3869
4003
  this.state.skippedKeys[n].headerKeys.includes(r) || this.state.skippedKeys[n].headerKeys.push(r);
3870
4004
  }
3871
4005
  for (; this.state.receivingChainMessageNumber < t; ) {
3872
- const [r, i] = Pe(this.state.receivingChainKey, new Uint8Array([1]), 2);
4006
+ const [r, i] = Me(this.state.receivingChainKey, new Uint8Array([1]), 2);
3873
4007
  this.state.receivingChainKey = r, this.state.skippedKeys[n].messageKeys[this.state.receivingChainMessageNumber] = i, this.state.receivingChainMessageNumber++;
3874
4008
  }
3875
4009
  }
@@ -3878,28 +4012,28 @@ class st {
3878
4012
  const i = this.state.skippedKeys[r];
3879
4013
  if (!i) return null;
3880
4014
  const s = i.messageKeys[t.number];
3881
- return s ? (delete i.messageKeys[t.number], Object.keys(i.messageKeys).length === 0 && delete this.state.skippedKeys[r], q.decrypt(n, s)) : null;
4015
+ return s ? (delete i.messageKeys[t.number], Object.keys(i.messageKeys).length === 0 && delete this.state.skippedKeys[r], D.decrypt(n, s)) : null;
3882
4016
  }
3883
4017
  // 4. NOSTR EVENT HANDLING
3884
4018
  decryptHeader(t) {
3885
4019
  const n = t.tags[0][1];
3886
4020
  if (this.state.ourCurrentNostrKey) {
3887
- const s = q.getConversationKey(this.state.ourCurrentNostrKey.privateKey, t.pubkey);
4021
+ const s = D.getConversationKey(this.state.ourCurrentNostrKey.privateKey, t.pubkey);
3888
4022
  try {
3889
- return [JSON.parse(q.decrypt(n, s)), !1, !1];
4023
+ return [JSON.parse(D.decrypt(n, s)), !1, !1];
3890
4024
  } catch {
3891
4025
  }
3892
4026
  }
3893
- const r = q.getConversationKey(this.state.ourNextNostrKey.privateKey, t.pubkey);
4027
+ const r = D.getConversationKey(this.state.ourNextNostrKey.privateKey, t.pubkey);
3894
4028
  try {
3895
- return [JSON.parse(q.decrypt(n, r)), !0, !1];
4029
+ return [JSON.parse(D.decrypt(n, r)), !0, !1];
3896
4030
  } catch {
3897
4031
  }
3898
4032
  const i = this.state.skippedKeys[t.pubkey];
3899
4033
  if (i != null && i.headerKeys)
3900
4034
  for (const s of i.headerKeys)
3901
4035
  try {
3902
- return [JSON.parse(q.decrypt(n, s)), !1, !0];
4036
+ return [JSON.parse(D.decrypt(n, s)), !1, !0];
3903
4037
  } catch {
3904
4038
  }
3905
4039
  throw new Error("Failed to decrypt header with current and skipped header keys");
@@ -3915,15 +4049,7 @@ class st {
3915
4049
  else if (!((a = this.state.skippedKeys[t.pubkey]) != null && a.messageKeys[n.number]))
3916
4050
  return;
3917
4051
  const s = this.ratchetDecrypt(n, t.content, t.pubkey), o = JSON.parse(s);
3918
- if (!dt(o)) {
3919
- console.error("Invalid event received", o);
3920
- return;
3921
- }
3922
- if (o.id !== qe(o)) {
3923
- console.error("Event hash does not match", o);
3924
- return;
3925
- }
3926
- this.internalSubscriptions.forEach((l) => l(o, t));
4052
+ pt(o) && o.id === qe(o) && this.internalSubscriptions.forEach((l) => l(o, t));
3927
4053
  }
3928
4054
  subscribeToNostrEvents() {
3929
4055
  if (this.nostrNextUnsubscribe) return;
@@ -3944,19 +4070,19 @@ class st {
3944
4070
  new TextDecoder("utf-8");
3945
4071
  new TextEncoder();
3946
4072
  function Qe(e, t) {
3947
- const n = Ie.getSharedSecret(e, "02" + t).subarray(1, 33);
3948
- return rn(fe, n, "nip44-v2");
4073
+ const n = _e.getSharedSecret(e, "02" + t).subarray(1, 33);
4074
+ return nn(fe, n, "nip44-v2");
3949
4075
  }
3950
- const Xc = 2 * 24 * 60 * 60, Qc = () => Math.round(Date.now() / 1e3), eu = () => Math.round(Qc() - Math.random() * Xc);
3951
- class Me {
4076
+ const cu = 2 * 24 * 60 * 60, uu = () => Math.round(Date.now() / 1e3), lu = () => Math.round(uu() - Math.random() * cu);
4077
+ class Pe {
3952
4078
  constructor(t, n, r, i, s, o, c = []) {
3953
- this.inviterEphemeralPublicKey = t, this.sharedSecret = n, this.inviter = r, this.inviterEphemeralPrivateKey = i, this.label = s, this.maxUses = o, this.usedBy = c;
4079
+ this.inviterEphemeralPublicKey = t, this.sharedSecret = n, this.inviter = r, this.inviterEphemeralPrivateKey = i, this.deviceId = s, this.maxUses = o, this.usedBy = c;
3954
4080
  }
3955
4081
  static createNew(t, n, r) {
3956
4082
  if (!t)
3957
4083
  throw new Error("Inviter public key is required");
3958
- const i = ke(), s = le(i), o = P(ke());
3959
- return new Me(
4084
+ const i = ke(), s = ae(i), o = P(ke());
4085
+ return new Pe(
3960
4086
  s,
3961
4087
  o,
3962
4088
  t,
@@ -3979,7 +4105,7 @@ class Me {
3979
4105
  const { inviter: o, ephemeralKey: c, sharedSecret: a } = s;
3980
4106
  if (!o || !c || !a)
3981
4107
  throw new Error("Missing required fields (inviter, ephemeralKey, sharedSecret) in invite data.");
3982
- return new Me(
4108
+ return new Pe(
3983
4109
  c,
3984
4110
  a,
3985
4111
  o
@@ -3987,50 +4113,50 @@ class Me {
3987
4113
  }
3988
4114
  static deserialize(t) {
3989
4115
  const n = JSON.parse(t);
3990
- return new Me(
4116
+ return new Pe(
3991
4117
  n.inviterEphemeralPublicKey,
3992
4118
  n.sharedSecret,
3993
4119
  n.inviter,
3994
4120
  n.inviterEphemeralPrivateKey ? new Uint8Array(n.inviterEphemeralPrivateKey) : void 0,
3995
- n.label,
4121
+ n.deviceId,
3996
4122
  n.maxUses,
3997
4123
  n.usedBy
3998
4124
  );
3999
4125
  }
4000
4126
  static fromEvent(t) {
4001
- var o, c;
4127
+ var a, l, f, u;
4002
4128
  if (!t.sig)
4003
4129
  throw new Error("Event is not signed");
4004
- if (!pt(t))
4130
+ if (!gt(t))
4005
4131
  throw new Error("Event signature is invalid");
4006
4132
  const { tags: n } = t;
4007
4133
  if (!n)
4008
4134
  throw new Error("Invalid invite event: missing tags");
4009
- const r = (o = n.find(([a]) => a === "ephemeralKey")) == null ? void 0 : o[1], i = (c = n.find(([a]) => a === "sharedSecret")) == null ? void 0 : c[1], s = t.pubkey;
4135
+ const r = (a = n.find(([p]) => p === "ephemeralKey")) == null ? void 0 : a[1], i = (l = n.find(([p]) => p === "sharedSecret")) == null ? void 0 : l[1], s = t.pubkey, o = (f = n.find(([p]) => p === "d")) == null ? void 0 : f[1], c = (u = o == null ? void 0 : o.split("/")) == null ? void 0 : u[2];
4010
4136
  if (!r || !i)
4011
4137
  throw new Error("Invalid invite event: missing session key or sharedSecret");
4012
- return new Me(
4138
+ return new Pe(
4013
4139
  r,
4014
4140
  i,
4015
- s
4141
+ s,
4142
+ void 0,
4143
+ // inviterEphemeralPrivateKey not available when parsing from event
4144
+ c
4016
4145
  );
4017
4146
  }
4018
4147
  static fromUser(t, n, r) {
4019
4148
  const i = {
4020
- kinds: [Dn],
4149
+ kinds: [Vn],
4021
4150
  authors: [t],
4022
- limit: 1,
4023
- "#d": ["double-ratchet/invites/public"]
4024
- };
4025
- let s = 0;
4151
+ "#l": ["double-ratchet/invites"]
4152
+ }, s = /* @__PURE__ */ new Set();
4026
4153
  return n(i, (c) => {
4027
- if (!(!c.created_at || c.created_at <= s)) {
4028
- s = c.created_at;
4154
+ if (!s.has(c.id)) {
4155
+ s.add(c.id);
4029
4156
  try {
4030
- const a = Me.fromEvent(c);
4157
+ const a = Pe.fromEvent(c);
4031
4158
  r(a);
4032
- } catch (a) {
4033
- console.error("Error processing invite:", a, "event:", c);
4159
+ } catch {
4034
4160
  }
4035
4161
  }
4036
4162
  });
@@ -4044,7 +4170,7 @@ class Me {
4044
4170
  sharedSecret: this.sharedSecret,
4045
4171
  inviter: this.inviter,
4046
4172
  inviterEphemeralPrivateKey: this.inviterEphemeralPrivateKey ? Array.from(this.inviterEphemeralPrivateKey) : void 0,
4047
- label: this.label,
4173
+ deviceId: this.deviceId,
4048
4174
  maxUses: this.maxUses,
4049
4175
  usedBy: this.usedBy
4050
4176
  });
@@ -4061,26 +4187,29 @@ class Me {
4061
4187
  return r.hash = encodeURIComponent(JSON.stringify(n)), r.toString();
4062
4188
  }
4063
4189
  getEvent() {
4190
+ if (!this.deviceId)
4191
+ throw new Error("Device ID is required");
4064
4192
  return {
4065
- kind: Dn,
4193
+ kind: Vn,
4066
4194
  pubkey: this.inviter,
4067
4195
  content: "",
4068
4196
  created_at: Math.floor(Date.now() / 1e3),
4069
4197
  tags: [
4070
4198
  ["ephemeralKey", this.inviterEphemeralPublicKey],
4071
4199
  ["sharedSecret", this.sharedSecret],
4072
- ["d", "double-ratchet/invites/public"],
4200
+ ["d", "double-ratchet/invites/" + this.deviceId],
4073
4201
  ["l", "double-ratchet/invites"]
4074
4202
  ]
4075
4203
  };
4076
4204
  }
4077
4205
  /**
4078
4206
  * Called by the invitee. Accepts the invite and creates a new session with the inviter.
4079
- *
4080
- * @param inviteeSecretKey - The invitee's secret key or a signing function
4207
+ *
4081
4208
  * @param nostrSubscribe - A function to subscribe to Nostr events
4209
+ * @param inviteePublicKey - The invitee's public key
4210
+ * @param encryptor - The invitee's secret key or a signing/encrypt function
4082
4211
  * @returns An object containing the new session and an event to be published
4083
- *
4212
+ *
4084
4213
  * 1. Inner event: No signature, content encrypted with DH(inviter, invitee).
4085
4214
  * Purpose: Authenticate invitee. Contains invitee session key.
4086
4215
  * 2. Envelope: No signature, content encrypted with DH(inviter, random key).
@@ -4090,15 +4219,15 @@ class Me {
4090
4219
  * so the inviter can create the session on their side.
4091
4220
  */
4092
4221
  async accept(t, n, r) {
4093
- const i = ke(), s = le(i), o = this.inviter || this.inviterEphemeralPublicKey, c = z(this.sharedSecret), a = st.init(t, this.inviterEphemeralPublicKey, i, !0, c, void 0), f = await (typeof r == "function" ? r : (d, y) => Promise.resolve(q.encrypt(d, Qe(r, y))))(s, o), u = {
4222
+ const i = ke(), s = ae(i), o = this.inviter || this.inviterEphemeralPublicKey, c = j(this.sharedSecret), a = ot.init(t, this.inviterEphemeralPublicKey, i, !0, c, void 0), f = await (typeof r == "function" ? r : (d, y) => Promise.resolve(D.encrypt(d, Qe(r, y))))(s, o), u = {
4094
4223
  pubkey: n,
4095
- content: await q.encrypt(f, c),
4224
+ content: await D.encrypt(f, c),
4096
4225
  created_at: Math.floor(Date.now() / 1e3)
4097
- }, g = JSON.stringify(u), w = ke(), p = le(w), h = {
4098
- kind: jn,
4099
- pubkey: p,
4100
- content: q.encrypt(g, Qe(w, this.inviterEphemeralPublicKey)),
4101
- created_at: eu(),
4226
+ }, p = JSON.stringify(u), w = ke(), g = ae(w), h = {
4227
+ kind: Zn,
4228
+ pubkey: g,
4229
+ content: D.encrypt(p, Qe(w, this.inviterEphemeralPublicKey)),
4230
+ created_at: lu(),
4102
4231
  tags: [["p", this.inviterEphemeralPublicKey]]
4103
4232
  };
4104
4233
  return { session: a, event: Q(h, w) };
@@ -4107,37 +4236,34 @@ class Me {
4107
4236
  if (!this.inviterEphemeralPrivateKey)
4108
4237
  throw new Error("Inviter session key is not available");
4109
4238
  const i = {
4110
- kinds: [jn],
4239
+ kinds: [Zn],
4111
4240
  "#p": [this.inviterEphemeralPublicKey]
4112
4241
  };
4113
4242
  return n(i, async (s) => {
4114
4243
  try {
4115
- if (this.maxUses && this.usedBy.length >= this.maxUses) {
4116
- console.error("Invite has reached maximum number of uses");
4244
+ if (this.maxUses && this.usedBy.length >= this.maxUses)
4117
4245
  return;
4118
- }
4119
- const o = await q.decrypt(s.content, Qe(this.inviterEphemeralPrivateKey, s.pubkey)), c = JSON.parse(o), a = z(this.sharedSecret), l = c.pubkey;
4246
+ const o = await D.decrypt(s.content, Qe(this.inviterEphemeralPrivateKey, s.pubkey)), c = JSON.parse(o), a = j(this.sharedSecret), l = c.pubkey;
4120
4247
  this.usedBy.push(l);
4121
- const f = await q.decrypt(c.content, a), g = await (typeof t == "function" ? t : (h, d) => Promise.resolve(q.decrypt(h, Qe(t, d))))(f, l), w = s.id, p = st.init(n, g, this.inviterEphemeralPrivateKey, !1, a, w);
4122
- r(p, l);
4123
- } catch (o) {
4124
- console.error("Error processing invite message:", o, "event", s);
4248
+ const f = await D.decrypt(c.content, a), p = await (typeof t == "function" ? t : (h, d) => Promise.resolve(D.decrypt(h, Qe(t, d))))(f, l), w = s.id, g = ot.init(n, p, this.inviterEphemeralPrivateKey, !1, a, w);
4249
+ r(g, l);
4250
+ } catch {
4125
4251
  }
4126
4252
  });
4127
4253
  }
4128
4254
  }
4129
4255
  export {
4130
- Gc as CHAT_MESSAGE_KIND,
4131
- Dn as INVITE_EVENT_KIND,
4132
- jn as INVITE_RESPONSE_KIND,
4133
- Me as Invite,
4134
- au as MAX_SKIP,
4256
+ iu as CHAT_MESSAGE_KIND,
4257
+ Vn as INVITE_EVENT_KIND,
4258
+ Zn as INVITE_RESPONSE_KIND,
4259
+ Pe as Invite,
4260
+ wu as MAX_SKIP,
4135
4261
  Oe as MESSAGE_EVENT_KIND,
4136
- st as Session,
4137
- lu as createEventStream,
4138
- uu as deserializeSessionState,
4139
- hu as getMillisecondTimestamp,
4140
- Pe as kdf,
4141
- cu as serializeSessionState,
4142
- fu as skippedMessageIndexKey
4262
+ ot as Session,
4263
+ mu as createEventStream,
4264
+ vu as deserializeSessionState,
4265
+ xu as getMillisecondTimestamp,
4266
+ Me as kdf,
4267
+ bu as serializeSessionState,
4268
+ Eu as skippedMessageIndexKey
4143
4269
  };