@gardenfi/utils 2.1.3-beta.2 → 2.1.3-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index102.cjs +1 -1
- package/dist/index102.js +8 -12
- package/dist/index104.cjs +1 -1
- package/dist/index104.js +1 -1
- package/dist/index107.cjs +1 -1
- package/dist/index107.js +26 -38
- package/dist/index108.cjs +1 -1
- package/dist/index108.js +43 -45
- package/dist/index110.cjs +1 -1
- package/dist/index110.js +1 -1
- package/dist/index111.cjs +1 -1
- package/dist/index111.js +1 -1
- package/dist/index112.cjs +1 -1
- package/dist/index112.js +1 -1
- package/dist/index113.cjs +1 -1
- package/dist/index113.js +1 -1
- package/dist/index125.cjs +1 -1
- package/dist/index125.js +1 -1
- package/dist/index15.cjs +1 -1
- package/dist/index15.js +4 -4
- package/dist/index189.cjs +1 -1
- package/dist/index189.js +2 -2
- package/dist/index191.cjs +1 -1
- package/dist/index191.js +15 -19
- package/dist/index22.cjs +1 -1
- package/dist/index22.js +6 -6
- package/dist/index23.cjs +1 -1
- package/dist/index23.js +13 -31
- package/dist/index230.cjs +1 -1
- package/dist/index230.js +10 -25
- package/dist/index231.cjs +1 -1
- package/dist/index231.js +16 -13
- package/dist/index232.cjs +1 -1
- package/dist/index232.js +21 -14
- package/dist/index233.cjs +1 -1
- package/dist/index233.js +2 -6
- package/dist/index234.cjs +1 -1
- package/dist/index234.js +12 -12
- package/dist/index235.cjs +1 -1
- package/dist/index235.js +12 -10
- package/dist/index236.cjs +1 -1
- package/dist/index236.js +46 -15
- package/dist/index237.cjs +1 -1
- package/dist/index237.js +11 -10
- package/dist/index238.cjs +1 -1
- package/dist/index238.js +7 -16
- package/dist/index239.cjs +1 -1
- package/dist/index239.js +8 -21
- package/dist/index24.cjs +1 -1
- package/dist/index24.js +58 -32
- package/dist/index240.cjs +1 -1
- package/dist/index240.js +13 -30
- package/dist/index241.cjs +1 -1
- package/dist/index241.js +15 -2
- package/dist/index242.cjs +1 -1
- package/dist/index242.js +9 -13
- package/dist/index243.cjs +1 -1
- package/dist/index243.js +30 -12
- package/dist/index244.cjs +1 -1
- package/dist/index244.js +24 -47
- package/dist/index245.cjs +1 -1
- package/dist/index245.js +12 -11
- package/dist/index246.cjs +1 -1
- package/dist/index246.js +24 -7
- package/dist/index247.cjs +2 -1
- package/dist/index247.js +24 -9
- package/dist/index248.cjs +1 -1
- package/dist/index248.js +10 -10
- package/dist/index249.cjs +1 -1
- package/dist/index249.js +15 -14
- package/dist/index25.cjs +16 -1
- package/dist/index25.js +113 -11
- package/dist/index250.cjs +1 -1
- package/dist/index250.js +52 -9
- package/dist/index251.cjs +1 -1
- package/dist/index251.js +25 -24
- package/dist/index252.cjs +1 -1
- package/dist/index252.js +13 -12
- package/dist/index253.cjs +1 -1
- package/dist/index253.js +15 -24
- package/dist/index254.cjs +1 -2
- package/dist/index254.js +5 -24
- package/dist/index255.cjs +1 -1
- package/dist/index255.js +12 -12
- package/dist/index256.cjs +1 -1
- package/dist/index256.js +10 -15
- package/dist/index257.cjs +1 -1
- package/dist/index257.js +16 -52
- package/dist/index26.cjs +1 -1
- package/dist/index26.js +32 -58
- package/dist/index266.cjs +1 -1
- package/dist/index266.js +1 -1
- package/dist/index27.cjs +1 -1
- package/dist/index27.js +31 -13
- package/dist/index275.cjs +1 -1
- package/dist/index275.js +6 -7
- package/dist/index277.cjs +1 -1
- package/dist/index277.js +2 -2
- package/dist/index278.cjs +1 -1
- package/dist/index278.js +1 -1
- package/dist/index28.cjs +1 -16
- package/dist/index28.js +11 -113
- package/dist/index284.cjs +1 -1
- package/dist/index284.js +1 -1
- package/dist/index286.cjs +1 -1
- package/dist/index286.js +3 -40
- package/dist/index287.cjs +1 -1
- package/dist/index287.js +141 -2
- package/dist/index288.cjs +1 -1
- package/dist/index288.js +148 -199
- package/dist/index289.cjs +1 -1
- package/dist/index289.js +9 -3
- package/dist/index290.cjs +1 -1
- package/dist/index290.js +103 -130
- package/dist/index291.cjs +2 -1
- package/dist/index291.js +102 -123
- package/dist/index292.cjs +1 -1
- package/dist/index292.js +28 -9
- package/dist/index293.cjs +1 -1
- package/dist/index293.js +31 -106
- package/dist/index294.cjs +1 -2
- package/dist/index294.js +8 -131
- package/dist/index295.cjs +1 -1
- package/dist/index295.js +19 -11
- package/dist/index296.cjs +1 -1
- package/dist/index296.js +68 -19
- package/dist/index297.cjs +1 -1
- package/dist/index297.js +2 -69
- package/dist/index298.cjs +1 -1
- package/dist/index298.js +39 -641
- package/dist/index299.cjs +1 -1
- package/dist/index299.js +620 -150
- package/dist/index3.cjs +1 -1
- package/dist/index3.js +1 -1
- package/dist/index30.cjs +1 -1
- package/dist/index30.js +1 -1
- package/dist/index300.cjs +1 -2
- package/dist/index300.js +203 -63
- package/dist/index301.cjs +1 -1
- package/dist/index301.js +172 -4
- package/dist/index302.cjs +2 -1
- package/dist/index302.js +65 -39
- package/dist/index303.cjs +1 -1
- package/dist/index303.js +4 -7
- package/dist/index304.cjs +1 -1
- package/dist/index304.js +38 -60
- package/dist/index305.cjs +1 -1
- package/dist/index305.js +7 -77
- package/dist/index306.cjs +1 -1
- package/dist/index306.js +63 -4
- package/dist/index307.cjs +1 -1
- package/dist/index307.js +64 -181
- package/dist/index308.cjs +1 -1
- package/dist/index308.js +4 -64
- package/dist/index309.cjs +1 -1
- package/dist/index309.js +194 -44
- package/dist/index310.cjs +1 -1
- package/dist/index310.js +18 -4
- package/dist/index311.cjs +1 -1
- package/dist/index311.js +58 -99
- package/dist/index312.cjs +1 -1
- package/dist/index312.js +45 -5
- package/dist/index313.cjs +1 -1
- package/dist/index313.js +5 -2
- package/dist/index314.cjs +1 -1
- package/dist/index314.js +103 -18
- package/dist/index315.cjs +1 -1
- package/dist/index315.js +5 -72
- package/dist/index316.cjs +1 -1
- package/dist/index316.js +2 -22
- package/dist/index317.cjs +1 -0
- package/dist/index317.js +24 -0
- package/dist/index36.cjs +1 -1
- package/dist/index36.js +1 -1
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +4 -0
- package/dist/index53.cjs +1 -1
- package/dist/index53.js +2 -2
- package/dist/index54.cjs +1 -1
- package/dist/index54.js +1 -1
- package/dist/index55.cjs +1 -1
- package/dist/index55.js +2 -2
- package/dist/index56.cjs +1 -1
- package/dist/index56.js +1 -1
- package/dist/index57.cjs +1 -1
- package/dist/index57.js +2 -2
- package/dist/index58.cjs +1 -1
- package/dist/index58.js +111 -114
- package/dist/index59.cjs +1 -1
- package/dist/index59.js +11 -11
- package/dist/index60.cjs +1 -1
- package/dist/index60.js +1 -1
- package/dist/index61.cjs +1 -1
- package/dist/index61.js +1 -1
- package/dist/index62.cjs +1 -1
- package/dist/index62.js +1 -1
- package/dist/index64.cjs +1 -1
- package/dist/index64.js +26 -26
- package/dist/index66.cjs +1 -1
- package/dist/index66.js +3 -3
- package/dist/index73.cjs +1 -1
- package/dist/index73.js +1 -1
- package/dist/index74.cjs +1 -1
- package/dist/index74.js +8 -8
- package/dist/index79.cjs +1 -1
- package/dist/index79.js +1 -1
- package/dist/index83.cjs +1 -1
- package/dist/index83.js +3 -8
- package/dist/index85.cjs +1 -1
- package/dist/index85.js +19 -19
- package/dist/index86.cjs +1 -1
- package/dist/index86.js +2 -2
- package/dist/index88.cjs +1 -1
- package/dist/index88.js +1 -1
- package/dist/index89.cjs +1 -1
- package/dist/index89.js +1 -1
- package/dist/index9.cjs +1 -1
- package/dist/index9.js +4 -4
- package/dist/index92.cjs +1 -1
- package/dist/index92.js +27 -27
- package/dist/index95.cjs +1 -1
- package/dist/index95.js +1 -1
- package/dist/index98.cjs +1 -1
- package/dist/index98.js +1 -1
- package/dist/src/lib/utils.d.ts +1 -2
- package/package.json +1 -1
package/dist/index28.js
CHANGED
|
@@ -1,116 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"- Chain ID must be a EIP-155 chain ID.",
|
|
12
|
-
"- See https://eips.ethereum.org/EIPS/eip-155",
|
|
13
|
-
"",
|
|
14
|
-
`Provided value: ${i}`
|
|
15
|
-
]
|
|
16
|
-
});
|
|
17
|
-
if (!(p.test(s) || M.test(s) || x.test(s)))
|
|
18
|
-
throw new e({
|
|
19
|
-
field: "domain",
|
|
20
|
-
metaMessages: [
|
|
21
|
-
"- Domain must be an RFC 3986 authority.",
|
|
22
|
-
"- See https://www.rfc-editor.org/rfc/rfc3986",
|
|
23
|
-
"",
|
|
24
|
-
`Provided value: ${s}`
|
|
25
|
-
]
|
|
26
|
-
});
|
|
27
|
-
if (!A.test(a))
|
|
28
|
-
throw new e({
|
|
29
|
-
field: "nonce",
|
|
30
|
-
metaMessages: [
|
|
31
|
-
"- Nonce must be at least 8 characters.",
|
|
32
|
-
"- Nonce must be alphanumeric.",
|
|
33
|
-
"",
|
|
34
|
-
`Provided value: ${a}`
|
|
35
|
-
]
|
|
36
|
-
});
|
|
37
|
-
if (!$(c))
|
|
38
|
-
throw new e({
|
|
39
|
-
field: "uri",
|
|
40
|
-
metaMessages: [
|
|
41
|
-
"- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.",
|
|
42
|
-
"- See https://www.rfc-editor.org/rfc/rfc3986",
|
|
43
|
-
"",
|
|
44
|
-
`Provided value: ${c}`
|
|
45
|
-
]
|
|
46
|
-
});
|
|
47
|
-
if (f !== "1")
|
|
48
|
-
throw new e({
|
|
49
|
-
field: "version",
|
|
50
|
-
metaMessages: [
|
|
51
|
-
"- Version must be '1'.",
|
|
52
|
-
"",
|
|
53
|
-
`Provided value: ${f}`
|
|
54
|
-
]
|
|
55
|
-
});
|
|
56
|
-
if (o && !P.test(o))
|
|
57
|
-
throw new e({
|
|
58
|
-
field: "scheme",
|
|
59
|
-
metaMessages: [
|
|
60
|
-
"- Scheme must be an RFC 3986 URI scheme.",
|
|
61
|
-
"- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1",
|
|
62
|
-
"",
|
|
63
|
-
`Provided value: ${o}`
|
|
64
|
-
]
|
|
65
|
-
});
|
|
66
|
-
const t = n.statement;
|
|
67
|
-
if (t != null && t.includes(`
|
|
68
|
-
`))
|
|
69
|
-
throw new e({
|
|
70
|
-
field: "statement",
|
|
71
|
-
metaMessages: [
|
|
72
|
-
"- Statement must not include '\\n'.",
|
|
73
|
-
"",
|
|
74
|
-
`Provided value: ${t}`
|
|
75
|
-
]
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const l = S(n.address), v = o ? `${o}://${s}` : s, I = n.statement ? `${n.statement}
|
|
79
|
-
` : "", R = `${v} wants you to sign in with your Ethereum account:
|
|
80
|
-
${l}
|
|
81
|
-
|
|
82
|
-
${I}`;
|
|
83
|
-
let r = `URI: ${c}
|
|
84
|
-
Version: ${f}
|
|
85
|
-
Chain ID: ${i}
|
|
86
|
-
Nonce: ${a}
|
|
87
|
-
Issued At: ${g.toISOString()}`;
|
|
88
|
-
if (u && (r += `
|
|
89
|
-
Expiration Time: ${u.toISOString()}`), m && (r += `
|
|
90
|
-
Not Before: ${m.toISOString()}`), h && (r += `
|
|
91
|
-
Request ID: ${h}`), w) {
|
|
92
|
-
let t = `
|
|
93
|
-
Resources:`;
|
|
94
|
-
for (const d of w) {
|
|
95
|
-
if (!$(d))
|
|
96
|
-
throw new e({
|
|
97
|
-
field: "resources",
|
|
98
|
-
metaMessages: [
|
|
99
|
-
"- Every resource must be a RFC 3986 URI.",
|
|
100
|
-
"- See https://www.rfc-editor.org/rfc/rfc3986",
|
|
101
|
-
"",
|
|
102
|
-
`Provided value: ${d}`
|
|
103
|
-
]
|
|
104
|
-
});
|
|
105
|
-
t += `
|
|
106
|
-
- ${d}`;
|
|
107
|
-
}
|
|
108
|
-
r += t;
|
|
109
|
-
}
|
|
110
|
-
return `${R}
|
|
111
|
-
${r}`;
|
|
1
|
+
import { createClient as n } from "./index44.js";
|
|
2
|
+
import { publicActions as c } from "./index52.js";
|
|
3
|
+
function u(t) {
|
|
4
|
+
const { key: e = "public", name: i = "Public Client" } = t;
|
|
5
|
+
return n({
|
|
6
|
+
...t,
|
|
7
|
+
key: e,
|
|
8
|
+
name: i,
|
|
9
|
+
type: "publicClient"
|
|
10
|
+
}).extend(c);
|
|
112
11
|
}
|
|
113
|
-
const p = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/, M = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/, x = /^localhost(:[0-9]{1,5})?$/, A = /^[a-zA-Z0-9]{8,}$/, P = /^([a-zA-Z][a-zA-Z0-9+-.]*)$/;
|
|
114
12
|
export {
|
|
115
|
-
|
|
13
|
+
u as createPublicClient
|
|
116
14
|
};
|
package/dist/index284.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index297.cjs"),c=require("./index282.cjs");/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function p(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function a(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function l(t,e){return t<<32-e|t>>>e}const b=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function i(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function w(t){for(let e=0;e<t.length;e++)t[e]=i(t[e])}typeof Uint8Array.from([]).toHex=="function"&&Uint8Array.fromHex;function y(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function s(t){return typeof t=="string"&&(t=y(t)),c.abytes(t),t}function g(...t){let e=0;for(let n=0;n<t.length;n++){const f=t[n];c.abytes(f),e+=f.length}const r=new Uint8Array(e);for(let n=0,f=0;n<t.length;n++){const u=t[n];r.set(u,f),f+=u.length}return r}class m{clone(){return this._cloneInto()}}function B(t){const e=n=>t().update(s(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function x(t=32){if(o.crypto&&typeof o.crypto.getRandomValues=="function")return o.crypto.getRandomValues(new Uint8Array(t));if(o.crypto&&typeof o.crypto.randomBytes=="function")return Uint8Array.from(o.crypto.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}exports.Hash=m;exports.byteSwap=i;exports.byteSwap32=w;exports.concatBytes=g;exports.createView=a;exports.isLE=b;exports.randomBytes=x;exports.rotr=l;exports.toBytes=s;exports.u32=p;exports.utf8ToBytes=y;exports.wrapConstructor=B;
|
package/dist/index284.js
CHANGED
package/dist/index286.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function t(e){return`[${e.slice(2)}]`}exports.encodeLabelhash=t;
|
package/dist/index286.js
CHANGED
|
@@ -1,43 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class r extends H {
|
|
4
|
-
constructor(t, i) {
|
|
5
|
-
super(), this.finished = !1, this.destroyed = !1, c(t);
|
|
6
|
-
const h = p(i);
|
|
7
|
-
if (this.iHash = t.create(), typeof this.iHash.update != "function")
|
|
8
|
-
throw new Error("Expected instance of class which extends utils.Hash");
|
|
9
|
-
this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
|
|
10
|
-
const o = this.blockLen, e = new Uint8Array(o);
|
|
11
|
-
e.set(h.length > o ? t.create().update(h).digest() : h);
|
|
12
|
-
for (let s = 0; s < e.length; s++)
|
|
13
|
-
e[s] ^= 54;
|
|
14
|
-
this.iHash.update(e), this.oHash = t.create();
|
|
15
|
-
for (let s = 0; s < e.length; s++)
|
|
16
|
-
e[s] ^= 106;
|
|
17
|
-
this.oHash.update(e), e.fill(0);
|
|
18
|
-
}
|
|
19
|
-
update(t) {
|
|
20
|
-
return a(this), this.iHash.update(t), this;
|
|
21
|
-
}
|
|
22
|
-
digestInto(t) {
|
|
23
|
-
a(this), u(t, this.outputLen), this.finished = !0, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
|
|
24
|
-
}
|
|
25
|
-
digest() {
|
|
26
|
-
const t = new Uint8Array(this.oHash.outputLen);
|
|
27
|
-
return this.digestInto(t), t;
|
|
28
|
-
}
|
|
29
|
-
_cloneInto(t) {
|
|
30
|
-
t || (t = Object.create(Object.getPrototypeOf(this), {}));
|
|
31
|
-
const { oHash: i, iHash: h, finished: o, destroyed: e, blockLen: s, outputLen: d } = this;
|
|
32
|
-
return t = t, t.finished = o, t.destroyed = e, t.blockLen = s, t.outputLen = d, t.oHash = i._cloneInto(t.oHash), t.iHash = h._cloneInto(t.iHash), t;
|
|
33
|
-
}
|
|
34
|
-
destroy() {
|
|
35
|
-
this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
|
|
36
|
-
}
|
|
1
|
+
function n(e) {
|
|
2
|
+
return `[${e.slice(2)}]`;
|
|
37
3
|
}
|
|
38
|
-
const l = (n, t, i) => new r(n, t).update(i).digest();
|
|
39
|
-
l.create = (n, t) => new r(n, t);
|
|
40
4
|
export {
|
|
41
|
-
|
|
42
|
-
l as hmac
|
|
5
|
+
n as encodeLabelhash
|
|
43
6
|
};
|
package/dist/index287.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index33.cjs"),a=require("./index141.cjs"),w=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,b=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,N=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,C=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function I(t){try{const e=await fetch(t,{method:"HEAD"});if(e.status===200){const r=e.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function d(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function A({uri:t,gatewayUrls:e}){const r=N.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=d(e==null?void 0:e.ipfs,"https://ipfs.io"),s=d(e==null?void 0:e.arweave,"https://arweave.net"),o=t.match(w),{protocol:c,subpath:p,target:i,subtarget:h=""}=(o==null?void 0:o.groups)||{},u=c==="ipns:/"||p==="ipns/",m=c==="ipfs:/"||p==="ipfs/"||b.test(t);if(t.startsWith("http")&&!u&&!m){let v=t;return e!=null&&e.arweave&&(v=t.replace(/https:\/\/arweave.net/g,e==null?void 0:e.arweave)),{uri:v,isOnChain:!1,isEncoded:!1}}if((u||m)&&i)return{uri:`${n}/${u?"ipns":"ipfs"}/${i}${h}`,isOnChain:!1,isEncoded:!1};if(c==="ar:/"&&i)return{uri:`${s}/${i}${h||""}`,isOnChain:!1,isEncoded:!1};let f=t.replace(C,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new a.EnsAvatarUriResolutionError({uri:t})}function l(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new a.EnsAvatarInvalidMetadataError({data:t});return t.image||t.image_url||t.image_data}async function k({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await E({gatewayUrls:t,uri:l(r)})}catch{throw new a.EnsAvatarUriResolutionError({uri:e})}}async function E({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=A({uri:e,gatewayUrls:t});if(n||await I(r))return r;throw new a.EnsAvatarUriResolutionError({uri:e})}function R(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=e.split("/"),[o,c]=r.split(":"),[p,i]=n.split(":");if(!o||o.toLowerCase()!=="eip155")throw new a.EnsAvatarInvalidNftUriError({reason:"Only EIP-155 supported"});if(!c)throw new a.EnsAvatarInvalidNftUriError({reason:"Chain ID not found"});if(!i)throw new a.EnsAvatarInvalidNftUriError({reason:"Contract address not found"});if(!s)throw new a.EnsAvatarInvalidNftUriError({reason:"Token ID not found"});if(!p)throw new a.EnsAvatarInvalidNftUriError({reason:"ERC namespace not found"});return{chainID:Number.parseInt(c),namespace:p.toLowerCase(),contractAddress:i,tokenID:s}}async function O(t,{nft:e}){if(e.namespace==="erc721")return g.readContract(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return g.readContract(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new a.EnsAvatarUnsupportedNamespaceError({namespace:e.namespace})}exports.getGateway=d;exports.getJsonImage=l;exports.getMetadataAvatarUri=k;exports.getNftTokenUri=O;exports.isImageUri=I;exports.parseAvatarUri=E;exports.parseNftUri=R;exports.resolveAvatarUri=A;
|
package/dist/index287.js
CHANGED
|
@@ -1,4 +1,143 @@
|
|
|
1
|
-
|
|
1
|
+
import { readContract as g } from "./index33.js";
|
|
2
|
+
import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index141.js";
|
|
3
|
+
const b = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, l = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/, E = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, C = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
|
|
4
|
+
async function k(t) {
|
|
5
|
+
try {
|
|
6
|
+
const e = await fetch(t, { method: "HEAD" });
|
|
7
|
+
if (e.status === 200) {
|
|
8
|
+
const n = e.headers.get("content-type");
|
|
9
|
+
return n == null ? void 0 : n.startsWith("image/");
|
|
10
|
+
}
|
|
11
|
+
return !1;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
return typeof e == "object" && typeof e.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
|
|
14
|
+
const r = new Image();
|
|
15
|
+
r.onload = () => {
|
|
16
|
+
n(!0);
|
|
17
|
+
}, r.onerror = () => {
|
|
18
|
+
n(!1);
|
|
19
|
+
}, r.src = t;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function w(t, e) {
|
|
24
|
+
return t ? t.endsWith("/") ? t.slice(0, -1) : t : e;
|
|
25
|
+
}
|
|
26
|
+
function N({ uri: t, gatewayUrls: e }) {
|
|
27
|
+
const n = E.test(t);
|
|
28
|
+
if (n)
|
|
29
|
+
return { uri: t, isOnChain: !0, isEncoded: n };
|
|
30
|
+
const r = w(e == null ? void 0 : e.ipfs, "https://ipfs.io"), a = w(e == null ? void 0 : e.arweave, "https://arweave.net"), i = t.match(b), { protocol: o, subpath: p, target: s, subtarget: m = "" } = (i == null ? void 0 : i.groups) || {}, u = o === "ipns:/" || p === "ipns/", h = o === "ipfs:/" || p === "ipfs/" || l.test(t);
|
|
31
|
+
if (t.startsWith("http") && !u && !h) {
|
|
32
|
+
let I = t;
|
|
33
|
+
return e != null && e.arweave && (I = t.replace(/https:\/\/arweave.net/g, e == null ? void 0 : e.arweave)), { uri: I, isOnChain: !1, isEncoded: !1 };
|
|
34
|
+
}
|
|
35
|
+
if ((u || h) && s)
|
|
36
|
+
return {
|
|
37
|
+
uri: `${r}/${u ? "ipns" : "ipfs"}/${s}${m}`,
|
|
38
|
+
isOnChain: !1,
|
|
39
|
+
isEncoded: !1
|
|
40
|
+
};
|
|
41
|
+
if (o === "ar:/" && s)
|
|
42
|
+
return {
|
|
43
|
+
uri: `${a}/${s}${m || ""}`,
|
|
44
|
+
isOnChain: !1,
|
|
45
|
+
isEncoded: !1
|
|
46
|
+
};
|
|
47
|
+
let c = t.replace(C, "");
|
|
48
|
+
if (c.startsWith("<svg") && (c = `data:image/svg+xml;base64,${btoa(c)}`), c.startsWith("data:") || c.startsWith("{"))
|
|
49
|
+
return {
|
|
50
|
+
uri: c,
|
|
51
|
+
isOnChain: !0,
|
|
52
|
+
isEncoded: !1
|
|
53
|
+
};
|
|
54
|
+
throw new d({ uri: t });
|
|
55
|
+
}
|
|
56
|
+
function R(t) {
|
|
57
|
+
if (typeof t != "object" || !("image" in t) && !("image_url" in t) && !("image_data" in t))
|
|
58
|
+
throw new A({ data: t });
|
|
59
|
+
return t.image || t.image_url || t.image_data;
|
|
60
|
+
}
|
|
61
|
+
async function O({ gatewayUrls: t, uri: e }) {
|
|
62
|
+
try {
|
|
63
|
+
const n = await fetch(e).then((a) => a.json());
|
|
64
|
+
return await _({
|
|
65
|
+
gatewayUrls: t,
|
|
66
|
+
uri: R(n)
|
|
67
|
+
});
|
|
68
|
+
} catch {
|
|
69
|
+
throw new d({ uri: e });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async function _({ gatewayUrls: t, uri: e }) {
|
|
73
|
+
const { uri: n, isOnChain: r } = N({ uri: e, gatewayUrls: t });
|
|
74
|
+
if (r || await k(n))
|
|
75
|
+
return n;
|
|
76
|
+
throw new d({ uri: e });
|
|
77
|
+
}
|
|
78
|
+
function z(t) {
|
|
79
|
+
let e = t;
|
|
80
|
+
e.startsWith("did:nft:") && (e = e.replace("did:nft:", "").replace(/_/g, "/"));
|
|
81
|
+
const [n, r, a] = e.split("/"), [i, o] = n.split(":"), [p, s] = r.split(":");
|
|
82
|
+
if (!i || i.toLowerCase() !== "eip155")
|
|
83
|
+
throw new f({ reason: "Only EIP-155 supported" });
|
|
84
|
+
if (!o)
|
|
85
|
+
throw new f({ reason: "Chain ID not found" });
|
|
86
|
+
if (!s)
|
|
87
|
+
throw new f({
|
|
88
|
+
reason: "Contract address not found"
|
|
89
|
+
});
|
|
90
|
+
if (!a)
|
|
91
|
+
throw new f({ reason: "Token ID not found" });
|
|
92
|
+
if (!p)
|
|
93
|
+
throw new f({ reason: "ERC namespace not found" });
|
|
94
|
+
return {
|
|
95
|
+
chainID: Number.parseInt(o),
|
|
96
|
+
namespace: p.toLowerCase(),
|
|
97
|
+
contractAddress: s,
|
|
98
|
+
tokenID: a
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
async function P(t, { nft: e }) {
|
|
102
|
+
if (e.namespace === "erc721")
|
|
103
|
+
return g(t, {
|
|
104
|
+
address: e.contractAddress,
|
|
105
|
+
abi: [
|
|
106
|
+
{
|
|
107
|
+
name: "tokenURI",
|
|
108
|
+
type: "function",
|
|
109
|
+
stateMutability: "view",
|
|
110
|
+
inputs: [{ name: "tokenId", type: "uint256" }],
|
|
111
|
+
outputs: [{ name: "", type: "string" }]
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
functionName: "tokenURI",
|
|
115
|
+
args: [BigInt(e.tokenID)]
|
|
116
|
+
});
|
|
117
|
+
if (e.namespace === "erc1155")
|
|
118
|
+
return g(t, {
|
|
119
|
+
address: e.contractAddress,
|
|
120
|
+
abi: [
|
|
121
|
+
{
|
|
122
|
+
name: "uri",
|
|
123
|
+
type: "function",
|
|
124
|
+
stateMutability: "view",
|
|
125
|
+
inputs: [{ name: "_id", type: "uint256" }],
|
|
126
|
+
outputs: [{ name: "", type: "string" }]
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
functionName: "uri",
|
|
130
|
+
args: [BigInt(e.tokenID)]
|
|
131
|
+
});
|
|
132
|
+
throw new v({ namespace: e.namespace });
|
|
133
|
+
}
|
|
2
134
|
export {
|
|
3
|
-
|
|
135
|
+
w as getGateway,
|
|
136
|
+
R as getJsonImage,
|
|
137
|
+
O as getMetadataAvatarUri,
|
|
138
|
+
P as getNftTokenUri,
|
|
139
|
+
k as isImageUri,
|
|
140
|
+
_ as parseAvatarUri,
|
|
141
|
+
z as parseNftUri,
|
|
142
|
+
N as resolveAvatarUri
|
|
4
143
|
};
|
package/dist/index288.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index302.cjs"),$=require("./index303.cjs"),o=require("./index304.cjs"),E=new TextEncoder,h=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function x(r,e={}){const{strict:t=!1}=e;if(!r)throw new c(r);if(typeof r!="string")throw new c(r);if(t&&!/^0x[0-9a-fA-F]*$/.test(r))throw new f(r);if(!r.startsWith("0x"))throw new f(r)}function y(...r){return`0x${r.reduce((e,t)=>e+t.replace("0x",""),"")}`}function O(r,e={}){const t=`0x${Number(r)}`;return typeof e.size=="number"?(o.assertSize(t,e.size),l(t,e.size)):t}function b(r,e={}){let t="";for(let i=0;i<r.length;i++)t+=h[r[i]];const n=`0x${t}`;return typeof e.size=="number"?(o.assertSize(n,e.size),m(n,e.size)):n}function S(r,e={}){const{signed:t,size:n}=e,i=BigInt(r);let s;n?t?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof r=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const d=typeof s=="bigint"&&t?-s-1n:0;if(s&&i>s||i<d){const u=typeof r=="bigint"?"n":"";throw new p({max:s?`${s}${u}`:void 0,min:`${d}${u}`,signed:t,size:n,value:`${r}${u}`})}const g=`0x${(t&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?l(g,n):g}function z(r,e={}){return b(E.encode(r),e)}function l(r,e){return o.pad(r,{dir:"left",size:e})}function m(r,e){return o.pad(r,{dir:"right",size:e})}function w(r,e,t,n={}){const{strict:i}=n;o.assertStartOffset(r,e);const s=`0x${r.replace("0x","").slice((e??0)*2,(t??r.length)*2)}`;return i&&o.assertEndOffset(s,e,t),s}function B(r){return Math.ceil((r.length-2)/2)}function I(r,e={}){const{strict:t=!1}=e;try{return x(r,{strict:t}),!0}catch{return!1}}class p extends a.BaseError{constructor({max:e,min:t,signed:n,size:i,value:s}){super(`Number \`${s}\` is not in safe${i?` ${i*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class c extends a.BaseError{constructor(e){super(`Value \`${typeof e=="object"?$.stringify(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class f extends a.BaseError{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class H extends a.BaseError{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class v extends a.BaseError{constructor({offset:e,position:t,size:n}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class P extends a.BaseError{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}exports.IntegerOutOfRangeError=p;exports.InvalidHexTypeError=c;exports.InvalidHexValueError=f;exports.SizeExceedsPaddingSizeError=P;exports.SizeOverflowError=H;exports.SliceOffsetOutOfBoundsError=v;exports.assert=x;exports.concat=y;exports.fromBoolean=O;exports.fromBytes=b;exports.fromNumber=S;exports.fromString=z;exports.padLeft=l;exports.padRight=m;exports.size=B;exports.slice=w;exports.validate=I;
|