@seedprotocol/arweave 0.6.7 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ArweaveClient/BaseArweaveClient.d.ts +11 -0
- package/dist/ArweaveClient/BaseArweaveClient.d.ts.map +1 -1
- package/dist/gateway/gatewayState.d.ts +12 -0
- package/dist/gateway/gatewayState.d.ts.map +1 -1
- package/dist/gateway/readBaseUrls.d.ts +31 -0
- package/dist/gateway/readBaseUrls.d.ts.map +1 -0
- package/dist/gateway/seedGatewayConfig.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +190 -112
- package/dist/index.js.map +1 -1
- package/dist/node/ArweaveClient.d.ts.map +1 -1
- package/dist/node.js +3 -9
- package/dist/node.js.map +1 -1
- package/dist/{queries-BLXr3teJ.js → queries-BwzzEwk1.js} +18 -1
- package/dist/queries-BwzzEwk1.js.map +1 -0
- package/dist/types/gateway.d.ts +7 -0
- package/dist/types/gateway.d.ts.map +1 -1
- package/dist/types/seedConfig.d.ts +1 -0
- package/dist/types/seedConfig.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/queries-BLXr3teJ.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as
|
|
1
|
+
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as ee, p as u, r as d, s as f, t as te, u as ne } from "./queries-BwzzEwk1.js";
|
|
2
2
|
//#region src/easAttestationUrl.ts
|
|
3
|
-
var
|
|
4
|
-
function
|
|
3
|
+
var re = /(^|\.)easscan\.(org|xyz)$/i;
|
|
4
|
+
function p(e) {
|
|
5
5
|
let t = e.trim();
|
|
6
6
|
if (!t) return !1;
|
|
7
7
|
try {
|
|
8
8
|
let e = new URL(t);
|
|
9
|
-
return
|
|
9
|
+
return re.test(e.hostname) ? /\/attestation\/view\//i.test(e.pathname) : !1;
|
|
10
10
|
} catch {
|
|
11
11
|
return !1;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/relationSeedRef.ts
|
|
16
|
-
function
|
|
16
|
+
function ie(e) {
|
|
17
17
|
let t = {
|
|
18
18
|
localId: void 0,
|
|
19
19
|
uid: void 0
|
|
20
20
|
};
|
|
21
21
|
return e ? (e.length === 10 && (t.localId = e), e.startsWith("0x") && e.length === 66 && (t.uid = e), t) : t;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function ae(e) {
|
|
24
24
|
if (e != null) {
|
|
25
25
|
if (typeof e == "string") {
|
|
26
26
|
let t = e.trim();
|
|
@@ -34,8 +34,8 @@ function p(e) {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
var oe = /^[a-zA-Z0-9_-]{10,21}$/;
|
|
37
|
-
function
|
|
38
|
-
let t =
|
|
37
|
+
function se(e) {
|
|
38
|
+
let t = ie(e);
|
|
39
39
|
return t.localId || t.uid ? {
|
|
40
40
|
seedLocalId: t.localId,
|
|
41
41
|
seedUid: t.uid
|
|
@@ -43,25 +43,25 @@ function m(e) {
|
|
|
43
43
|
}
|
|
44
44
|
//#endregion
|
|
45
45
|
//#region src/mediaRef.ts
|
|
46
|
-
var
|
|
47
|
-
function
|
|
46
|
+
var ce = /^[a-zA-Z0-9_-]{43}$/;
|
|
47
|
+
function le(e) {
|
|
48
48
|
return e == null ? "" : typeof e == "string" ? e.trim() : String(e).trim();
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function m(e, t) {
|
|
51
51
|
let n = e[t];
|
|
52
52
|
return n == null ? "" : typeof n == "string" ? n.trim() : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function ue(e) {
|
|
55
55
|
let t = e.trim();
|
|
56
56
|
if (!t) return t;
|
|
57
57
|
try {
|
|
58
|
-
let e =
|
|
58
|
+
let e = ae(JSON.parse(t));
|
|
59
59
|
if (e) return e;
|
|
60
60
|
} catch {}
|
|
61
61
|
return t;
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
let n =
|
|
63
|
+
function h(e, t) {
|
|
64
|
+
let n = le(e);
|
|
65
65
|
if (!n) return { kind: "empty" };
|
|
66
66
|
let r = t?.treatAs;
|
|
67
67
|
if (r === "url") return {
|
|
@@ -79,14 +79,14 @@ function g(e, t) {
|
|
|
79
79
|
kind: "unknown",
|
|
80
80
|
raw: n
|
|
81
81
|
};
|
|
82
|
-
if (n.startsWith("http://") || n.startsWith("https://") || n.startsWith("blob:") || n.startsWith("data:")) return
|
|
82
|
+
if (n.startsWith("http://") || n.startsWith("https://") || n.startsWith("blob:") || n.startsWith("data:")) return p(n) ? {
|
|
83
83
|
kind: "nonMediaUrl",
|
|
84
84
|
href: n
|
|
85
85
|
} : {
|
|
86
86
|
kind: "url",
|
|
87
87
|
href: n
|
|
88
88
|
};
|
|
89
|
-
let i =
|
|
89
|
+
let i = ue(n), a = se(i);
|
|
90
90
|
return a.seedUid ? {
|
|
91
91
|
kind: "seedUid",
|
|
92
92
|
uid: a.seedUid
|
|
@@ -96,7 +96,7 @@ function g(e, t) {
|
|
|
96
96
|
} : i.startsWith("0x") && i.length === 66 ? {
|
|
97
97
|
kind: "seedUid",
|
|
98
98
|
uid: i
|
|
99
|
-
} :
|
|
99
|
+
} : ce.test(i) && !i.startsWith("0x") ? {
|
|
100
100
|
kind: "arweaveTxId",
|
|
101
101
|
txId: i
|
|
102
102
|
} : {
|
|
@@ -104,25 +104,25 @@ function g(e, t) {
|
|
|
104
104
|
raw: n
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
let n =
|
|
107
|
+
function g(e, t) {
|
|
108
|
+
let n = m(e, t);
|
|
109
109
|
if (n) return n;
|
|
110
110
|
let r = t.replace(/[A-Z]/g, (e) => `_${e.toLowerCase()}`);
|
|
111
111
|
if (r !== t) {
|
|
112
|
-
let t =
|
|
112
|
+
let t = m(e, r);
|
|
113
113
|
if (t) return t;
|
|
114
114
|
}
|
|
115
115
|
let i = t.split("_");
|
|
116
116
|
if (i.length > 1) {
|
|
117
|
-
let t =
|
|
117
|
+
let t = m(e, i[0] + i.slice(1).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(""));
|
|
118
118
|
if (t) return t;
|
|
119
119
|
}
|
|
120
120
|
return "";
|
|
121
121
|
}
|
|
122
|
-
function
|
|
122
|
+
function de(e, t) {
|
|
123
123
|
let n = {};
|
|
124
124
|
for (let [r, i] of Object.entries(t)) {
|
|
125
|
-
let t =
|
|
125
|
+
let t = g(e, r);
|
|
126
126
|
if (!t) {
|
|
127
127
|
n[r] = void 0;
|
|
128
128
|
continue;
|
|
@@ -141,7 +141,7 @@ function ue(e, t) {
|
|
|
141
141
|
};
|
|
142
142
|
continue;
|
|
143
143
|
}
|
|
144
|
-
let a =
|
|
144
|
+
let a = h(t, { treatAs: i.treatAs });
|
|
145
145
|
n[r] = {
|
|
146
146
|
role: i.role,
|
|
147
147
|
raw: t,
|
|
@@ -150,12 +150,12 @@ function ue(e, t) {
|
|
|
150
150
|
}
|
|
151
151
|
return n;
|
|
152
152
|
}
|
|
153
|
-
function
|
|
154
|
-
return `${
|
|
153
|
+
function fe(e) {
|
|
154
|
+
return `${d.getBaseUrl()}/${e}`;
|
|
155
155
|
}
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region src/resolveSeedRssImageRelationRef.ts
|
|
158
|
-
var
|
|
158
|
+
var _ = [
|
|
159
159
|
"featureImage",
|
|
160
160
|
"feature_image",
|
|
161
161
|
"image",
|
|
@@ -187,7 +187,7 @@ function v(e, ...t) {
|
|
|
187
187
|
function y(e) {
|
|
188
188
|
let t = e.trim();
|
|
189
189
|
if (t && !t.startsWith("0x")) try {
|
|
190
|
-
return `${
|
|
190
|
+
return `${d.getBaseUrl()}/${t}`;
|
|
191
191
|
} catch {
|
|
192
192
|
return;
|
|
193
193
|
}
|
|
@@ -199,12 +199,12 @@ function me(e) {
|
|
|
199
199
|
if (e) return e;
|
|
200
200
|
}
|
|
201
201
|
let n = e.arweaveUrl?.trim();
|
|
202
|
-
if (n && !
|
|
202
|
+
if (n && !p(n)) return n;
|
|
203
203
|
}
|
|
204
204
|
function he(e) {
|
|
205
205
|
let t = e.trim();
|
|
206
|
-
if (!t ||
|
|
207
|
-
let n =
|
|
206
|
+
if (!t || p(t)) return;
|
|
207
|
+
let n = h(t);
|
|
208
208
|
switch (n.kind) {
|
|
209
209
|
case "url": return { mediaUrl: n.href };
|
|
210
210
|
case "arweaveTxId": {
|
|
@@ -228,10 +228,10 @@ function ge(e) {
|
|
|
228
228
|
let t = v(e, "storageTransactionId", "storage_transaction_id"), n = v(e, "arweaveUrl", "arweave_url"), r = v(e, "seedUid", "SeedUid", "seed_uid"), i = v(e, "link", "Link"), a = me({
|
|
229
229
|
storageTransactionId: t,
|
|
230
230
|
arweaveUrl: n
|
|
231
|
-
}) ?? (i && !
|
|
231
|
+
}) ?? (i && !p(i) ? i : void 0);
|
|
232
232
|
if (t || n || r || a) return {
|
|
233
233
|
...t ? { storageTransactionId: t } : {},
|
|
234
|
-
...n && !
|
|
234
|
+
...n && !p(n) ? { arweaveUrl: n } : {},
|
|
235
235
|
...r ? { seedUid: r } : {},
|
|
236
236
|
...a ? { mediaUrl: a } : {}
|
|
237
237
|
};
|
|
@@ -249,7 +249,7 @@ function b(e) {
|
|
|
249
249
|
if (typeof e == "object") return ge(e);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
function _e(e, t =
|
|
252
|
+
function _e(e, t = _) {
|
|
253
253
|
for (let n of t) {
|
|
254
254
|
if (!(n in e)) continue;
|
|
255
255
|
let t = b(e[n]);
|
|
@@ -326,10 +326,10 @@ function R() {
|
|
|
326
326
|
F = null, I = null;
|
|
327
327
|
}
|
|
328
328
|
function Ce() {
|
|
329
|
-
R(), L = null, k(),
|
|
329
|
+
R(), L = null, k(), d.resetReadGatewaySelectionStateForTests(), d.isReadGatewayLocked() || d.setPreferredReadGateway(f);
|
|
330
330
|
}
|
|
331
331
|
function we() {
|
|
332
|
-
return
|
|
332
|
+
return d.isReadGatewayLocked() ? !0 : F && Date.now() < F.expiresAt ? F.healthy : L != null;
|
|
333
333
|
}
|
|
334
334
|
function Te() {
|
|
335
335
|
return L;
|
|
@@ -374,27 +374,27 @@ async function B(e, t = "https", n) {
|
|
|
374
374
|
return null;
|
|
375
375
|
}
|
|
376
376
|
function Ee() {
|
|
377
|
-
return r(
|
|
377
|
+
return r(d.getHost());
|
|
378
378
|
}
|
|
379
|
-
async function
|
|
380
|
-
if (
|
|
379
|
+
async function V(e) {
|
|
380
|
+
if (d.isReadGatewayLocked()) return d.getHost();
|
|
381
381
|
if (F && Date.now() < F.expiresAt) return F.host;
|
|
382
382
|
if (I) return I;
|
|
383
383
|
I = (async () => {
|
|
384
|
-
let t = await B(Ee(),
|
|
385
|
-
if (
|
|
386
|
-
host:
|
|
384
|
+
let t = await B(Ee(), d.getProtocol(), e);
|
|
385
|
+
if (d.isReadGatewayLocked()) F = {
|
|
386
|
+
host: d.getHost(),
|
|
387
387
|
healthy: !0,
|
|
388
388
|
expiresAt: Date.now() + P
|
|
389
389
|
};
|
|
390
|
-
else if (t)
|
|
390
|
+
else if (t) d.applyProbedReadGateway(t), L = t, F = {
|
|
391
391
|
host: t,
|
|
392
392
|
healthy: !0,
|
|
393
393
|
expiresAt: Date.now() + P
|
|
394
394
|
};
|
|
395
395
|
else {
|
|
396
|
-
let e = L ??
|
|
397
|
-
L &&
|
|
396
|
+
let e = L ?? d.getHost();
|
|
397
|
+
L && d.getHost() !== L && d.applyProbedReadGateway(L), F = {
|
|
398
398
|
host: e,
|
|
399
399
|
healthy: !1,
|
|
400
400
|
expiresAt: Date.now() + xe
|
|
@@ -410,15 +410,15 @@ async function De(e) {
|
|
|
410
410
|
}
|
|
411
411
|
//#endregion
|
|
412
412
|
//#region src/ArweaveClient/uploadApiVerification.ts
|
|
413
|
-
function
|
|
413
|
+
function H(e) {
|
|
414
414
|
return e.trim().replace(/\/+$/, "");
|
|
415
415
|
}
|
|
416
|
-
function
|
|
417
|
-
return `${
|
|
416
|
+
function U(e, t) {
|
|
417
|
+
return `${H(e)}/api/upload/arweave/data/${encodeURIComponent(t)}`;
|
|
418
418
|
}
|
|
419
|
-
var
|
|
420
|
-
async function
|
|
421
|
-
let r =
|
|
419
|
+
var De = 45e3;
|
|
420
|
+
async function Oe(e, t, n) {
|
|
421
|
+
let r = U(e, t), i = n?.timeoutMs ?? De, a = new AbortController(), o = setTimeout(() => a.abort(), i);
|
|
422
422
|
try {
|
|
423
423
|
let e = await fetch(r, { signal: a.signal });
|
|
424
424
|
return clearTimeout(o), e.status === 404 ? {
|
|
@@ -443,16 +443,16 @@ async function ke(e, t, n) {
|
|
|
443
443
|
}
|
|
444
444
|
//#endregion
|
|
445
445
|
//#region src/ArweaveClient/arweaveL1UploadApi.ts
|
|
446
|
-
var
|
|
447
|
-
function
|
|
448
|
-
return `${
|
|
446
|
+
var ke = "\n query ArweaveGatewayTransaction($id: String!) {\n transaction(id: $id) {\n id\n bundledIn {\n id\n }\n block {\n height\n timestamp\n }\n }\n }\n";
|
|
447
|
+
function W(e, t) {
|
|
448
|
+
return `${H(e)}/api/upload/arweave/status/${encodeURIComponent(t)}`;
|
|
449
449
|
}
|
|
450
|
-
function
|
|
450
|
+
function Ae(e) {
|
|
451
451
|
let t = e.l1;
|
|
452
452
|
return t ? t.meetsMinConfirmations === !0 || t.confirmed === !0 : !1;
|
|
453
453
|
}
|
|
454
|
-
async function
|
|
455
|
-
let n =
|
|
454
|
+
async function je(e, t) {
|
|
455
|
+
let n = W(e, t);
|
|
456
456
|
try {
|
|
457
457
|
let e = await fetch(n);
|
|
458
458
|
if (!e.ok) return null;
|
|
@@ -462,7 +462,7 @@ async function Me(e, t) {
|
|
|
462
462
|
return null;
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
|
-
async function
|
|
465
|
+
async function Me(e, t, n) {
|
|
466
466
|
let r = e.trim();
|
|
467
467
|
if (!r) return null;
|
|
468
468
|
try {
|
|
@@ -470,7 +470,7 @@ async function W(e, t, n) {
|
|
|
470
470
|
method: "POST",
|
|
471
471
|
headers: { "Content-Type": "application/json" },
|
|
472
472
|
body: JSON.stringify({
|
|
473
|
-
query:
|
|
473
|
+
query: ke,
|
|
474
474
|
variables: { id: t }
|
|
475
475
|
}),
|
|
476
476
|
signal: n?.signal
|
|
@@ -495,35 +495,26 @@ async function W(e, t, n) {
|
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
497
|
async function Ne(e, t, n) {
|
|
498
|
-
let i =
|
|
498
|
+
let i = u(), a = e?.trim(), o = "https", s = null;
|
|
499
499
|
if (a) try {
|
|
500
500
|
let e = new URL(a);
|
|
501
501
|
o = e.protocol === "http:" ? "http" : "https", s = e.hostname || null;
|
|
502
502
|
} catch {
|
|
503
503
|
s = null;
|
|
504
504
|
}
|
|
505
|
-
let
|
|
506
|
-
for (let e of
|
|
507
|
-
if (!await z(`${o}://${e}`,
|
|
508
|
-
let r = await
|
|
505
|
+
let c = s && s.length > 0 ? r(s) : [...i], l = n?.signal;
|
|
506
|
+
for (let e of c) {
|
|
507
|
+
if (!await z(`${o}://${e}`, l ?? void 0)) continue;
|
|
508
|
+
let r = await Me(`${o}://${e}/graphql`, t, n);
|
|
509
509
|
if (r !== null) return r;
|
|
510
510
|
}
|
|
511
511
|
return null;
|
|
512
512
|
}
|
|
513
513
|
//#endregion
|
|
514
|
-
//#region src/gateway/gatewayState.ts
|
|
515
|
-
var G = null;
|
|
516
|
-
function Pe() {
|
|
517
|
-
return G;
|
|
518
|
-
}
|
|
519
|
-
function Fe(e) {
|
|
520
|
-
G = e;
|
|
521
|
-
}
|
|
522
|
-
//#endregion
|
|
523
514
|
//#region src/gateway/resolveSeedGatewayEndpoints.ts
|
|
524
|
-
var
|
|
525
|
-
function
|
|
526
|
-
|
|
515
|
+
var Pe = 18e4, G = null, K = /* @__PURE__ */ new Map();
|
|
516
|
+
function Fe() {
|
|
517
|
+
G = null, K.clear();
|
|
527
518
|
}
|
|
528
519
|
function Ie(e) {
|
|
529
520
|
let t = (e ?? "ar.seedprotocol.io").trim();
|
|
@@ -538,7 +529,7 @@ function Ie(e) {
|
|
|
538
529
|
host: t.replace(/\/$/, "")
|
|
539
530
|
};
|
|
540
531
|
}
|
|
541
|
-
function
|
|
532
|
+
function Le(e) {
|
|
542
533
|
let t = e.hyper?.localSidecarHost?.trim() || "127.0.0.1", n = e.hyper?.localSidecarPort ?? 1984;
|
|
543
534
|
return {
|
|
544
535
|
host: n === 80 || n === 443 ? t : `${t}:${n}`,
|
|
@@ -546,7 +537,7 @@ function X(e) {
|
|
|
546
537
|
baseUrl: `http://${t}:${n}`
|
|
547
538
|
};
|
|
548
539
|
}
|
|
549
|
-
function
|
|
540
|
+
function Re() {
|
|
550
541
|
try {
|
|
551
542
|
let e = globalThis.window?.location?.origin;
|
|
552
543
|
return typeof e == "string" && e.length > 0 ? e.replace(/\/$/, "") : void 0;
|
|
@@ -554,36 +545,36 @@ function Le() {
|
|
|
554
545
|
return;
|
|
555
546
|
}
|
|
556
547
|
}
|
|
557
|
-
function
|
|
548
|
+
function q(e, t) {
|
|
558
549
|
let n = e.trim();
|
|
559
550
|
if (!n) throw Error("proxyBaseUrl is empty");
|
|
560
551
|
if (n.startsWith("http://") || n.startsWith("https://")) return n.replace(/\/$/, "");
|
|
561
552
|
if (n.startsWith("/")) {
|
|
562
|
-
let r = (t?.origin?.trim() ||
|
|
553
|
+
let r = (t?.origin?.trim() || Re() || "").replace(/\/$/, "");
|
|
563
554
|
if (!r) throw Error(`Relative proxyBaseUrl "${e}" requires a browser origin or resolve options.origin`);
|
|
564
555
|
return `${r}${n.replace(/\/$/, "")}`;
|
|
565
556
|
}
|
|
566
557
|
return `https://${n.replace(/\/$/, "")}`;
|
|
567
558
|
}
|
|
568
|
-
async function
|
|
559
|
+
async function J(e, t, n) {
|
|
569
560
|
let r = Date.now();
|
|
570
561
|
if (t === "sidecar") {
|
|
571
|
-
if (
|
|
562
|
+
if (G && r < G.expiresAt) return G.healthy;
|
|
572
563
|
let t = await z(e, n);
|
|
573
|
-
return
|
|
564
|
+
return G = {
|
|
574
565
|
healthy: t,
|
|
575
|
-
expiresAt: r +
|
|
566
|
+
expiresAt: r + Pe
|
|
576
567
|
}, t;
|
|
577
568
|
}
|
|
578
|
-
let i =
|
|
569
|
+
let i = K.get(t);
|
|
579
570
|
if (i && r < i.expiresAt) return i.healthy;
|
|
580
571
|
let a = await z(e, n);
|
|
581
|
-
return
|
|
572
|
+
return K.set(t, {
|
|
582
573
|
healthy: a,
|
|
583
|
-
expiresAt: r +
|
|
574
|
+
expiresAt: r + Pe
|
|
584
575
|
}), a;
|
|
585
576
|
}
|
|
586
|
-
function
|
|
577
|
+
function ze(e) {
|
|
587
578
|
let { host: t, protocol: n } = Ie(e.arweaveDomain), r = `${n}://${t}`, i = e.uploadApiBaseUrl?.trim() || r;
|
|
588
579
|
return {
|
|
589
580
|
mode: e.transport ?? "http-gateway",
|
|
@@ -596,8 +587,8 @@ function $(e) {
|
|
|
596
587
|
gatewayHyperKey: e.hyper?.gatewayHyperKey?.trim() || void 0
|
|
597
588
|
};
|
|
598
589
|
}
|
|
599
|
-
function
|
|
600
|
-
let t =
|
|
590
|
+
function Be(e) {
|
|
591
|
+
let t = Le(e), n = e.hyper?.gatewayHyperKey?.trim();
|
|
601
592
|
return {
|
|
602
593
|
mode: "hyper",
|
|
603
594
|
arweaveHost: t.host,
|
|
@@ -609,7 +600,7 @@ function Re(e) {
|
|
|
609
600
|
gatewayHyperKey: n || void 0
|
|
610
601
|
};
|
|
611
602
|
}
|
|
612
|
-
function
|
|
603
|
+
function Ve(e, t) {
|
|
613
604
|
let n = new URL(t), r = n.protocol === "http:" ? "http" : "https", i = n.pathname.replace(/\/$/, ""), a = i ? `${n.host}${i}` : n.host, o = `${r}://${a}`;
|
|
614
605
|
return {
|
|
615
606
|
mode: e.transport ?? "http-gateway",
|
|
@@ -623,53 +614,53 @@ function ze(e, t) {
|
|
|
623
614
|
proxyBaseUrl: t
|
|
624
615
|
};
|
|
625
616
|
}
|
|
626
|
-
async function
|
|
617
|
+
async function He(e, t) {
|
|
627
618
|
let n = e.proxyBaseUrl?.trim();
|
|
628
619
|
if (!n) return null;
|
|
629
|
-
let r =
|
|
630
|
-
return e.hyper?.probeSidecar !== !1 && !await
|
|
620
|
+
let r = q(n, { origin: t?.origin });
|
|
621
|
+
return e.hyper?.probeSidecar !== !1 && !await J(r, `proxy:${r}`, t?.signal) ? null : Ve(e, r);
|
|
631
622
|
}
|
|
632
|
-
async function
|
|
633
|
-
t?.forceSidecarProbe &&
|
|
623
|
+
async function Ue(e, t) {
|
|
624
|
+
t?.forceSidecarProbe && Fe();
|
|
634
625
|
let n = e.transport ?? "http-gateway", r = e.hyper?.probeSidecar !== !1;
|
|
635
626
|
if (n === "http-gateway") {
|
|
636
627
|
if (e.proxyBaseUrl?.trim()) {
|
|
637
|
-
let i =
|
|
638
|
-
if (r && !await
|
|
639
|
-
return
|
|
628
|
+
let i = q(e.proxyBaseUrl, { origin: t?.origin });
|
|
629
|
+
if (r && !await J(i, `proxy:${i}`, t?.signal)) throw Error(`Gateway HTTP proxy not reachable at ${i}. Ensure your Node route runs createGatewayProxy (or equivalent) and mounts at proxyBaseUrl.`);
|
|
630
|
+
return Ve({
|
|
640
631
|
...e,
|
|
641
632
|
transport: n
|
|
642
633
|
}, i);
|
|
643
634
|
}
|
|
644
|
-
return
|
|
635
|
+
return ze({
|
|
645
636
|
...e,
|
|
646
637
|
transport: n
|
|
647
638
|
});
|
|
648
639
|
}
|
|
649
640
|
if (n === "hyper") {
|
|
650
|
-
let i = await
|
|
641
|
+
let i = await He({
|
|
651
642
|
...e,
|
|
652
643
|
transport: n
|
|
653
644
|
}, t);
|
|
654
645
|
if (i) return i;
|
|
655
|
-
let a =
|
|
646
|
+
let a = Be({
|
|
656
647
|
...e,
|
|
657
648
|
transport: n
|
|
658
649
|
});
|
|
659
|
-
if (r && !await
|
|
650
|
+
if (r && !await J(a.arweaveBaseUrl, "sidecar", t?.signal)) throw Error(`Gateway Hyper sidecar not reachable at ${a.arweaveBaseUrl}. Run: seed gateway tunnel connect <operator-z32-key> — or configure gateway.proxyBaseUrl for an app-server proxy.`);
|
|
660
651
|
return a;
|
|
661
652
|
}
|
|
662
|
-
let i = await
|
|
653
|
+
let i = await He({
|
|
663
654
|
...e,
|
|
664
655
|
transport: n
|
|
665
656
|
}, t);
|
|
666
657
|
if (i) return i;
|
|
667
|
-
let a =
|
|
668
|
-
return r && await
|
|
658
|
+
let a = Le(e);
|
|
659
|
+
return r && await J(a.baseUrl, "sidecar", t?.signal) ? Be({
|
|
669
660
|
...e,
|
|
670
661
|
transport: "hyper"
|
|
671
662
|
}) : {
|
|
672
|
-
|
|
663
|
+
...ze({
|
|
673
664
|
...e,
|
|
674
665
|
transport: "http-gateway"
|
|
675
666
|
}),
|
|
@@ -677,18 +668,48 @@ async function Ve(e, t) {
|
|
|
677
668
|
activePath: "hybrid-fallback-http"
|
|
678
669
|
};
|
|
679
670
|
}
|
|
680
|
-
function
|
|
671
|
+
function We(e, t) {
|
|
681
672
|
return e.activePath === "hyper-sidecar" || e.activePath === "http-proxy" ? [e.arweaveHost] : r(e.arweaveHost);
|
|
682
673
|
}
|
|
683
674
|
//#endregion
|
|
675
|
+
//#region src/gateway/gatewayState.ts
|
|
676
|
+
var Ge = null;
|
|
677
|
+
function Y() {
|
|
678
|
+
return Ge;
|
|
679
|
+
}
|
|
680
|
+
function Ke(e) {
|
|
681
|
+
Ge = e;
|
|
682
|
+
}
|
|
683
|
+
var qe = [];
|
|
684
|
+
function X() {
|
|
685
|
+
return qe;
|
|
686
|
+
}
|
|
687
|
+
function Je(e) {
|
|
688
|
+
let t = [], n = /* @__PURE__ */ new Set();
|
|
689
|
+
for (let r of e) {
|
|
690
|
+
let e = r?.trim();
|
|
691
|
+
if (!e) continue;
|
|
692
|
+
let i;
|
|
693
|
+
try {
|
|
694
|
+
let t = new URL(/^https?:\/\//i.test(e) ? e : q(e));
|
|
695
|
+
i = `${t.origin}${t.pathname.replace(/\/+$/, "")}`;
|
|
696
|
+
} catch {
|
|
697
|
+
continue;
|
|
698
|
+
}
|
|
699
|
+
n.has(i) || (n.add(i), t.push(i));
|
|
700
|
+
}
|
|
701
|
+
qe = t;
|
|
702
|
+
}
|
|
703
|
+
//#endregion
|
|
684
704
|
//#region src/gateway/seedGatewayConfig.ts
|
|
685
|
-
function
|
|
705
|
+
function Ye(e) {
|
|
686
706
|
let t = e.gateway ?? {};
|
|
687
707
|
return {
|
|
688
708
|
transport: t.transport,
|
|
689
709
|
arweaveDomain: e.arweaveDomain ?? t.arweaveDomain,
|
|
690
710
|
uploadApiBaseUrl: e.uploadApiBaseUrl ?? t.uploadApiBaseUrl,
|
|
691
711
|
proxyBaseUrl: t.proxyBaseUrl?.trim() || void 0,
|
|
712
|
+
preferredReadBaseUrls: t.preferredReadBaseUrls,
|
|
692
713
|
hyper: {
|
|
693
714
|
gatewayHyperKey: t.hyper?.gatewayHyperKey?.trim() || t.gatewayHyperKey?.trim() || void 0,
|
|
694
715
|
localSidecarHost: t.hyper?.localSidecarHost ?? t.localSidecarHost,
|
|
@@ -697,7 +718,7 @@ function Ue(e) {
|
|
|
697
718
|
}
|
|
698
719
|
};
|
|
699
720
|
}
|
|
700
|
-
function
|
|
721
|
+
function Xe(e) {
|
|
701
722
|
return {
|
|
702
723
|
transport: e.gatewayTransport,
|
|
703
724
|
arweaveDomain: e.arweaveDomain,
|
|
@@ -711,6 +732,63 @@ function We(e) {
|
|
|
711
732
|
};
|
|
712
733
|
}
|
|
713
734
|
//#endregion
|
|
714
|
-
|
|
735
|
+
//#region src/gateway/readBaseUrls.ts
|
|
736
|
+
var Ze = 1e4;
|
|
737
|
+
function Z(e, t, n) {
|
|
738
|
+
let r = n.trim().replace(/\/$/, "");
|
|
739
|
+
r && !t.has(r) && (t.add(r), e.push(r));
|
|
740
|
+
}
|
|
741
|
+
function Q(e) {
|
|
742
|
+
let t = Y(), n = d.getProtocol(), i = t ? We(t) : e?.fallbackHosts?.length ? [...e.fallbackHosts] : r(d.getHost()), a = [], o = /* @__PURE__ */ new Set();
|
|
743
|
+
for (let e of i) {
|
|
744
|
+
let t = e.trim();
|
|
745
|
+
t && Z(a, o, /^https?:\/\//i.test(t) ? t : `${n}://${t}`);
|
|
746
|
+
}
|
|
747
|
+
return a;
|
|
748
|
+
}
|
|
749
|
+
function Qe(e) {
|
|
750
|
+
let t = [], n = /* @__PURE__ */ new Set();
|
|
751
|
+
for (let e of X()) Z(t, n, e);
|
|
752
|
+
for (let r of Q(e)) Z(t, n, r);
|
|
753
|
+
return t;
|
|
754
|
+
}
|
|
755
|
+
async function $e() {
|
|
756
|
+
try {
|
|
757
|
+
let e = Y();
|
|
758
|
+
if (e && (e.activePath === "hyper-sidecar" || e.activePath === "http-proxy")) return;
|
|
759
|
+
await V();
|
|
760
|
+
} catch {}
|
|
761
|
+
}
|
|
762
|
+
async function $(e, t, n) {
|
|
763
|
+
let r = new AbortController(), i = setTimeout(() => r.abort(), n?.timeoutMs ?? 1e4);
|
|
764
|
+
try {
|
|
765
|
+
let n = await fetch(`${e.replace(/\/$/, "")}/raw/${encodeURIComponent(t)}`, {
|
|
766
|
+
method: "GET",
|
|
767
|
+
credentials: "omit",
|
|
768
|
+
signal: r.signal
|
|
769
|
+
});
|
|
770
|
+
return n.ok ? n : void 0;
|
|
771
|
+
} catch {
|
|
772
|
+
return;
|
|
773
|
+
} finally {
|
|
774
|
+
clearTimeout(i);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
async function et(e, t) {
|
|
778
|
+
let n = /* @__PURE__ */ new Set(), r = async (r) => {
|
|
779
|
+
for (let i of r) {
|
|
780
|
+
if (n.has(i)) continue;
|
|
781
|
+
n.add(i);
|
|
782
|
+
let r = await $(i, e, t);
|
|
783
|
+
if (r) try {
|
|
784
|
+
let e = await r.text();
|
|
785
|
+
if (e.length > 0) return e;
|
|
786
|
+
} catch {}
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
return await r(X()) || (await $e(), r(Q(t)));
|
|
790
|
+
}
|
|
791
|
+
//#endregion
|
|
792
|
+
export { o as ARWEAVE_HOST_ENV_KEYS, d as ArweaveClient, d as BaseArweaveClient, e as DEFAULT_ARWEAVE_GATEWAYS, ee as DEFAULT_ARWEAVE_GRAPHQL_URL, f as DEFAULT_ARWEAVE_HOST, Ze as DEFAULT_ARWEAVE_RAW_READ_TIMEOUT_MS, t as DEFAULT_GATEWAY_SIDECAR_HOST, s as DEFAULT_GATEWAY_SIDECAR_PORT, ne as DEFAULT_SEED_FEED_HYPER_KEY, n as DEFAULT_SEED_GATEWAY_HYPER_KEY, te as GET_ARWEAVE_TRANSACTIONS, l as GET_TRANSACTION_TAGS, _ as SEED_RSS_IMAGE_RELATION_FIELD_KEYS, j as beginGatewayHostHalfOpenProbe, h as classifyMediaRef, ve as configureGatewayCircuitBreaker, $e as ensureArweaveReadGatewayForFallback, V as ensureReadGatewaySelected, $ as fetchArweaveRawFromBaseUrl, et as fetchArweaveRawTextAcrossGateways, Qe as getArweaveReadBaseUrls, r as getArweaveReadGatewayHostsForPrimary, je as getArweaveUploadStatus, fe as getArweaveUrlForTransaction, u as getDefaultArweaveReadGatewayHostsOrdered, g as getFeedItemStringField, ye as getGatewayHostCircuitState, Te as getLastHealthyReadGatewayHost, X as getPreferredArweaveReadBaseUrls, We as getReadGatewayHostsForConfig, Q as getResolvedArweaveReadBaseUrls, Y as getResolvedSeedGatewayEndpoints, U as getUploadApiArweaveDataUrl, W as getUploadApiArweaveStatusUrl, Oe as getUploadPipelineTransactionStatus, R as invalidateReadGatewayCache, Fe as invalidateSidecarProbeCache, Ae as isArweaveL1AnchoringComplete, p as isEasAttestationExplorerUrl, A as isGatewayHostCircuitOpen, c as isKnownArweaveGatewayHostname, we as isReadGatewayKnownHealthy, be as listOpenGatewayCircuitHosts, a as mergePrimaryHostWithDefaults, de as normalizeFeedItemFields, E as normalizeGatewayHostKey, ae as normalizeRelationPropertyValue, H as normalizeUploadApiBaseUrl, z as probeGateway, Me as queryArweaveGatewayTransaction, Ne as queryArweaveGatewayTransactionWithFallback, N as recordGatewayHostFailure, M as recordGatewayHostSuccess, Ce as resetArweaveReadGatewayForTests, k as resetGatewayCircuitBreakerForTests, i as resolveArweaveHostFromEnv, q as resolveProxyBaseUrl, Ue as resolveSeedGatewayEndpoints, se as resolveSeedIdsFromRefString, _e as resolveSeedRssImageRelationFromItem, b as resolveSeedRssImageRelationRef, Xe as seedGatewayConfigFromClientContext, Ye as seedGatewayConfigFromSeedConfig, B as selectFirstHealthyReadGateway, Je as setPreferredArweaveReadBaseUrls, Ke as setResolvedSeedGatewayEndpoints };
|
|
715
793
|
|
|
716
794
|
//# sourceMappingURL=index.js.map
|