@gardenfi/utils 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/index107.cjs +1 -1
  2. package/dist/index107.js +1 -1
  3. package/dist/index110.cjs +1 -1
  4. package/dist/index110.js +1 -1
  5. package/dist/index111.cjs +1 -1
  6. package/dist/index111.js +4 -4
  7. package/dist/index113.cjs +1 -1
  8. package/dist/index113.js +1 -1
  9. package/dist/index114.cjs +1 -1
  10. package/dist/index114.js +1 -1
  11. package/dist/index115.cjs +1 -1
  12. package/dist/index115.js +1 -1
  13. package/dist/index116.cjs +1 -1
  14. package/dist/index116.js +1 -1
  15. package/dist/index23.cjs +1 -1
  16. package/dist/index23.js +6 -6
  17. package/dist/index233.cjs +1 -1
  18. package/dist/index233.js +25 -10
  19. package/dist/index234.cjs +1 -1
  20. package/dist/index234.js +13 -16
  21. package/dist/index235.cjs +1 -1
  22. package/dist/index235.js +14 -21
  23. package/dist/index236.cjs +1 -1
  24. package/dist/index236.js +5 -30
  25. package/dist/index237.cjs +1 -1
  26. package/dist/index237.js +14 -2
  27. package/dist/index238.cjs +1 -1
  28. package/dist/index238.js +9 -12
  29. package/dist/index239.cjs +1 -1
  30. package/dist/index239.js +16 -12
  31. package/dist/index240.cjs +1 -1
  32. package/dist/index240.js +10 -47
  33. package/dist/index241.cjs +1 -1
  34. package/dist/index241.js +15 -10
  35. package/dist/index242.cjs +1 -1
  36. package/dist/index242.js +22 -7
  37. package/dist/index243.cjs +1 -1
  38. package/dist/index243.js +30 -9
  39. package/dist/index244.cjs +1 -1
  40. package/dist/index244.js +2 -14
  41. package/dist/index245.cjs +1 -1
  42. package/dist/index245.js +13 -14
  43. package/dist/index246.cjs +1 -1
  44. package/dist/index246.js +12 -9
  45. package/dist/index247.cjs +1 -1
  46. package/dist/index247.js +47 -24
  47. package/dist/index248.cjs +1 -1
  48. package/dist/index248.js +11 -12
  49. package/dist/index249.cjs +1 -1
  50. package/dist/index249.js +7 -24
  51. package/dist/index250.cjs +1 -1
  52. package/dist/index250.js +8 -12
  53. package/dist/index251.cjs +1 -1
  54. package/dist/index251.js +13 -15
  55. package/dist/index252.cjs +1 -2
  56. package/dist/index252.js +11 -21
  57. package/dist/index253.cjs +1 -1
  58. package/dist/index253.js +9 -52
  59. package/dist/index254.cjs +1 -1
  60. package/dist/index254.js +24 -25
  61. package/dist/index255.cjs +1 -1
  62. package/dist/index255.js +12 -13
  63. package/dist/index256.cjs +1 -1
  64. package/dist/index256.js +24 -15
  65. package/dist/index257.cjs +1 -1
  66. package/dist/index257.js +13 -5
  67. package/dist/index258.cjs +1 -1
  68. package/dist/index258.js +15 -13
  69. package/dist/index259.cjs +2 -1
  70. package/dist/index259.js +24 -10
  71. package/dist/index260.cjs +1 -1
  72. package/dist/index260.js +52 -16
  73. package/dist/index280.cjs +1 -1
  74. package/dist/index280.js +1 -1
  75. package/dist/index282.cjs +1 -1
  76. package/dist/index282.js +1 -1
  77. package/dist/index287.cjs +1 -1
  78. package/dist/index287.js +1 -1
  79. package/dist/index288.cjs +1 -1
  80. package/dist/index288.js +139 -3
  81. package/dist/index289.cjs +1 -1
  82. package/dist/index289.js +39 -137
  83. package/dist/index290.cjs +1 -1
  84. package/dist/index290.js +72 -149
  85. package/dist/index291.cjs +1 -1
  86. package/dist/index291.js +2 -10
  87. package/dist/index292.cjs +1 -1
  88. package/dist/index292.js +3 -113
  89. package/dist/index293.cjs +1 -2
  90. package/dist/index293.js +128 -122
  91. package/dist/index294.cjs +1 -1
  92. package/dist/index294.js +153 -137
  93. package/dist/index295.cjs +1 -1
  94. package/dist/index295.js +9 -42
  95. package/dist/index296.cjs +1 -1
  96. package/dist/index296.js +107 -72
  97. package/dist/index297.cjs +2 -1
  98. package/dist/index297.js +135 -2
  99. package/dist/index301.cjs +1 -1
  100. package/dist/index301.js +2 -2
  101. package/dist/index302.cjs +1 -1
  102. package/dist/index302.js +1 -1
  103. package/dist/index305.cjs +1 -1
  104. package/dist/index305.js +1 -1
  105. package/dist/index306.cjs +1 -1
  106. package/dist/index306.js +1 -1
  107. package/dist/index310.cjs +1 -1
  108. package/dist/index310.js +2 -2
  109. package/dist/index311.cjs +1 -1
  110. package/dist/index311.js +1 -1
  111. package/dist/index33.cjs +1 -1
  112. package/dist/index33.js +1 -1
  113. package/dist/index39.cjs +1 -1
  114. package/dist/index39.js +1 -1
  115. package/dist/index56.cjs +1 -1
  116. package/dist/index56.js +2 -2
  117. package/dist/index57.cjs +1 -1
  118. package/dist/index57.js +1 -1
  119. package/dist/index58.cjs +1 -1
  120. package/dist/index58.js +2 -2
  121. package/dist/index59.cjs +1 -1
  122. package/dist/index59.js +1 -1
  123. package/dist/index60.cjs +1 -1
  124. package/dist/index60.js +2 -2
  125. package/dist/index61.cjs +1 -1
  126. package/dist/index61.js +6 -6
  127. package/dist/index62.cjs +1 -1
  128. package/dist/index62.js +2 -2
  129. package/dist/index63.cjs +1 -1
  130. package/dist/index63.js +1 -1
  131. package/dist/index64.cjs +1 -1
  132. package/dist/index64.js +1 -1
  133. package/dist/index65.cjs +1 -1
  134. package/dist/index65.js +1 -1
  135. package/dist/index67.cjs +1 -1
  136. package/dist/index67.js +4 -4
  137. package/dist/index76.cjs +1 -1
  138. package/dist/index76.js +1 -1
  139. package/dist/index77.cjs +1 -1
  140. package/dist/index77.js +1 -1
  141. package/dist/index82.cjs +1 -1
  142. package/dist/index82.js +1 -1
  143. package/dist/index88.cjs +1 -1
  144. package/dist/index88.js +3 -3
  145. package/dist/index89.cjs +1 -1
  146. package/dist/index89.js +2 -2
  147. package/dist/index91.cjs +1 -1
  148. package/dist/index91.js +1 -1
  149. package/dist/index92.cjs +1 -1
  150. package/dist/index92.js +1 -1
  151. package/dist/index98.cjs +1 -1
  152. package/dist/index98.js +1 -1
  153. package/package.json +1 -1
package/dist/index293.js CHANGED
@@ -1,137 +1,143 @@
1
- import { assert as p } from "./index308.js";
2
- import { BaseError as u } from "./index303.js";
3
- import { size as y, padLeft as f, fromString as x, fromBoolean as w, fromNumber as E, padRight as P, concat as g } from "./index290.js";
4
- import { integerRegex as A, bytesRegex as $, arrayRegex as L } from "./index309.js";
5
- import { prepareParameters as z, encode as I } from "./index310.js";
6
- function N(n, e, t) {
7
- const { checksumAddress: r = !1 } = {};
8
- if (n.length !== e.length)
9
- throw new b({
10
- expectedLength: n.length,
11
- givenLength: e.length
12
- });
13
- const a = z({
14
- checksumAddress: r,
15
- parameters: n,
16
- values: e
17
- }), s = I(a);
18
- return s.length === 0 ? "0x" : s;
19
- }
20
- function m(n, e) {
21
- if (n.length !== e.length)
22
- throw new b({
23
- expectedLength: n.length,
24
- givenLength: e.length
25
- });
26
- const t = [];
27
- for (let r = 0; r < n.length; r++) {
28
- const a = n[r], s = e[r];
29
- t.push(m.encode(a, s));
30
- }
31
- return g(...t);
32
- }
33
- (function(n) {
34
- function e(t, r, a = !1) {
35
- if (t === "address") {
36
- const i = r;
37
- return p(i), f(i.toLowerCase(), a ? 32 : 0);
38
- }
39
- if (t === "string")
40
- return x(r);
41
- if (t === "bytes")
42
- return r;
43
- if (t === "bool")
44
- return f(w(r), a ? 32 : 1);
45
- const s = t.match(A);
46
- if (s) {
47
- const [i, o, c = "256"] = s, h = Number.parseInt(c) / 8;
48
- return E(r, {
49
- size: a ? 32 : h,
50
- signed: o === "int"
51
- });
52
- }
53
- const d = t.match($);
54
- if (d) {
55
- const [i, o] = d;
56
- if (Number.parseInt(o) !== (r.length - 2) / 2)
57
- throw new M({
58
- expectedSize: Number.parseInt(o),
59
- value: r
60
- });
61
- return P(r, a ? 32 : 0);
62
- }
63
- const l = t.match(L);
64
- if (l && Array.isArray(r)) {
65
- const [i, o] = l, c = [];
66
- for (let h = 0; h < r.length; h++)
67
- c.push(e(o, r[h], !0));
68
- return c.length === 0 ? "0x" : g(...c);
1
+ import { readContract as g } from "./index36.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index144.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/");
69
10
  }
70
- throw new j(t);
71
- }
72
- n.encode = e;
73
- })(m || (m = {}));
74
- class R extends u {
75
- constructor({ expectedLength: e, givenLength: t, type: r }) {
76
- super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`), Object.defineProperty(this, "name", {
77
- enumerable: !0,
78
- configurable: !0,
79
- writable: !0,
80
- value: "AbiParameters.ArrayLengthMismatchError"
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;
81
20
  });
82
21
  }
83
22
  }
84
- class M extends u {
85
- constructor({ expectedSize: e, value: t }) {
86
- super(`Size of bytes "${t}" (bytes${y(t)}) does not match expected size (bytes${e}).`), Object.defineProperty(this, "name", {
87
- enumerable: !0,
88
- configurable: !0,
89
- writable: !0,
90
- value: "AbiParameters.BytesSizeMismatchError"
91
- });
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 };
92
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;
93
60
  }
94
- class b extends u {
95
- constructor({ expectedLength: e, givenLength: t }) {
96
- super([
97
- "ABI encoding parameters/values length mismatch.",
98
- `Expected length (parameters): ${e}`,
99
- `Given length (values): ${t}`
100
- ].join(`
101
- `)), Object.defineProperty(this, "name", {
102
- enumerable: !0,
103
- configurable: !0,
104
- writable: !0,
105
- value: "AbiParameters.LengthMismatchError"
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)
106
67
  });
68
+ } catch {
69
+ throw new d({ uri: e });
107
70
  }
108
71
  }
109
- class _ extends u {
110
- constructor(e) {
111
- super(`Value \`${e}\` is not a valid array.`), Object.defineProperty(this, "name", {
112
- enumerable: !0,
113
- configurable: !0,
114
- writable: !0,
115
- value: "AbiParameters.InvalidArrayError"
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"
116
89
  });
117
- }
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
+ };
118
100
  }
119
- class j extends u {
120
- constructor(e) {
121
- super(`Type \`${e}\` is not a valid ABI Type.`), Object.defineProperty(this, "name", {
122
- enumerable: !0,
123
- configurable: !0,
124
- writable: !0,
125
- value: "AbiParameters.InvalidTypeError"
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)]
126
116
  });
127
- }
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 });
128
133
  }
129
134
  export {
130
- R as ArrayLengthMismatchError,
131
- M as BytesSizeMismatchError,
132
- _ as InvalidArrayError,
133
- j as InvalidTypeError,
134
- b as LengthMismatchError,
135
- N as encode,
136
- m as encodePacked
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
137
143
  };
package/dist/index294.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index287.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const d=BigInt(0),g=BigInt(1);function T(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function x(e){const t=e.toString(16);return t.length&1?"0"+t:t}function w(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?d:BigInt("0x"+e)}function v(e){return w(i.bytesToHex(e))}function U(e){return i.abytes(e),w(i.bytesToHex(Uint8Array.from(e).reverse()))}function h(e,t){return i.hexToBytes(e.toString(16).padStart(t*2,"0"))}function H(e,t){return h(e,t).reverse()}function A(e,t,r){let o;if(typeof t=="string")try{o=i.hexToBytes(t)}catch(n){throw new Error(e+" must be hex string or Uint8Array, cause: "+n)}else if(i.isBytes(t))o=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const s=o.length;if(typeof r=="number"&&s!==r)throw new Error(e+" of length "+r+" expected, got "+s);return o}const m=e=>typeof e=="bigint"&&d<=e;function p(e,t,r){return m(e)&&m(t)&&m(r)&&t<=e&&e<r}function I(e,t,r,o){if(!p(t,r,o))throw new Error("expected valid "+e+": "+r+" <= n < "+o+", got "+t)}function j(e){let t;for(t=0;e>d;e>>=g,t+=1);return t}const k=e=>(g<<BigInt(e))-g;function N(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");const o=u=>new Uint8Array(u),s=u=>Uint8Array.of(u);let n=o(e),c=o(e),f=0;const a=()=>{n.fill(1),c.fill(0),f=0},b=(...u)=>r(c,n,...u),B=(u=o(0))=>{c=b(s(0),u),n=b(),u.length!==0&&(c=b(s(1),u),n=b())},E=()=>{if(f++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const y=[];for(;u<t;){n=b();const l=n.slice();y.push(l),u+=n.length}return i.concatBytes(...y)};return(u,y)=>{a(),B(u);let l;for(;!(l=y(E()));)B();return a(),l}}function O(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function o(s,n,c){const f=e[s];if(c&&f===void 0)return;const a=typeof f;if(a!==n||f===null)throw new Error(`param "${s}" is invalid: expected ${n}, got ${a}`)}Object.entries(t).forEach(([s,n])=>o(s,n,!1)),Object.entries(r).forEach(([s,n])=>o(s,n,!0))}function S(e){const t=new WeakMap;return(r,...o)=>{const s=t.get(r);if(s!==void 0)return s;const n=e(r,...o);return t.set(r,n),n}}exports.abytes=i.abytes;exports.anumber=i.anumber;exports.bytesToHex=i.bytesToHex;exports.concatBytes=i.concatBytes;exports.hexToBytes=i.hexToBytes;exports.isBytes=i.isBytes;exports.randomBytes=i.randomBytes;exports.utf8ToBytes=i.utf8ToBytes;exports._validateObject=O;exports.aInRange=I;exports.abool=T;exports.bitLen=j;exports.bitMask=k;exports.bytesToNumberBE=v;exports.bytesToNumberLE=U;exports.createHmacDrbg=N;exports.ensureBytes=A;exports.hexToNumber=w;exports.inRange=p;exports.memoized=S;exports.numberToBytesBE=h;exports.numberToBytesLE=H;exports.numberToHexUnpadded=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index303.cjs"),$=require("./index304.cjs"),o=require("./index305.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;
package/dist/index294.js CHANGED
@@ -1,142 +1,158 @@
1
- import { hexToBytes as p, isBytes as B, abytes as v, bytesToHex as d, concatBytes as U } from "./index287.js";
2
- import { anumber as W, randomBytes as C, utf8ToBytes as G } from "./index287.js";
3
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
- const y = /* @__PURE__ */ BigInt(0), g = /* @__PURE__ */ BigInt(1);
5
- function k(t, r) {
6
- if (typeof r != "boolean")
7
- throw new Error(t + " boolean expected, got " + r);
8
- }
9
- function j(t) {
10
- const r = t.toString(16);
11
- return r.length & 1 ? "0" + r : r;
12
- }
13
- function h(t) {
1
+ import { BaseError as o } from "./index303.js";
2
+ import { stringify as b } from "./index304.js";
3
+ import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index305.js";
4
+ const $ = /* @__PURE__ */ new TextEncoder(), h = /* @__PURE__ */ Array.from({ length: 256 }, (t, e) => e.toString(16).padStart(2, "0"));
5
+ function y(t, e = {}) {
6
+ const { strict: r = !1 } = e;
7
+ if (!t)
8
+ throw new f(t);
14
9
  if (typeof t != "string")
15
- throw new Error("hex string expected, got " + typeof t);
16
- return t === "" ? y : BigInt("0x" + t);
17
- }
18
- function H(t) {
19
- return h(d(t));
20
- }
21
- function O(t) {
22
- return v(t), h(d(Uint8Array.from(t).reverse()));
23
- }
24
- function x(t, r) {
25
- return p(t.toString(16).padStart(r * 2, "0"));
26
- }
27
- function S(t, r) {
28
- return x(t, r).reverse();
29
- }
30
- function _(t, r, n) {
31
- let o;
32
- if (typeof r == "string")
33
- try {
34
- o = p(r);
35
- } catch (e) {
36
- throw new Error(t + " must be hex string or Uint8Array, cause: " + e);
37
- }
38
- else if (B(r))
39
- o = Uint8Array.from(r);
40
- else
41
- throw new Error(t + " must be hex string or Uint8Array");
42
- const i = o.length;
43
- if (typeof n == "number" && i !== n)
44
- throw new Error(t + " of length " + n + " expected, got " + i);
45
- return o;
46
- }
47
- const w = (t) => typeof t == "bigint" && y <= t;
48
- function T(t, r, n) {
49
- return w(t) && w(r) && w(n) && r <= t && t < n;
50
- }
51
- function $(t, r, n, o) {
52
- if (!T(r, n, o))
53
- throw new Error("expected valid " + t + ": " + n + " <= n < " + o + ", got " + r);
54
- }
55
- function M(t) {
56
- let r;
57
- for (r = 0; t > y; t >>= g, r += 1)
58
- ;
59
- return r;
60
- }
61
- const N = (t) => (g << BigInt(t)) - g;
62
- function R(t, r, n) {
63
- if (typeof t != "number" || t < 2)
64
- throw new Error("hashLen must be a number");
65
- if (typeof r != "number" || r < 2)
66
- throw new Error("qByteLen must be a number");
67
- if (typeof n != "function")
68
- throw new Error("hmacFn must be a function");
69
- const o = (u) => new Uint8Array(u), i = (u) => Uint8Array.of(u);
70
- let e = o(t), s = o(t), f = 0;
71
- const c = () => {
72
- e.fill(1), s.fill(0), f = 0;
73
- }, l = (...u) => n(s, e, ...u), m = (u = o(0)) => {
74
- s = l(i(0), u), e = l(), u.length !== 0 && (s = l(i(1), u), e = l());
75
- }, E = () => {
76
- if (f++ >= 1e3)
77
- throw new Error("drbg: tried 1000 values");
78
- let u = 0;
79
- const a = [];
80
- for (; u < r; ) {
81
- e = l();
82
- const b = e.slice();
83
- a.push(b), u += e.length;
84
- }
85
- return U(...a);
86
- };
87
- return (u, a) => {
88
- c(), m(u);
89
- let b;
90
- for (; !(b = a(E())); )
91
- m();
92
- return c(), b;
93
- };
94
- }
95
- function z(t, r, n = {}) {
96
- if (!t || typeof t != "object")
97
- throw new Error("expected valid options object");
98
- function o(i, e, s) {
99
- const f = t[i];
100
- if (s && f === void 0)
101
- return;
102
- const c = typeof f;
103
- if (c !== e || f === null)
104
- throw new Error(`param "${i}" is invalid: expected ${e}, got ${c}`);
10
+ throw new f(t);
11
+ if (r && !/^0x[0-9a-fA-F]*$/.test(t))
12
+ throw new l(t);
13
+ if (!t.startsWith("0x"))
14
+ throw new l(t);
15
+ }
16
+ function B(...t) {
17
+ return `0x${t.reduce((e, r) => e + r.replace("0x", ""), "")}`;
18
+ }
19
+ function P(t, e = {}) {
20
+ const r = `0x${Number(t)}`;
21
+ return typeof e.size == "number" ? (g(r, e.size), x(r, e.size)) : r;
22
+ }
23
+ function w(t, e = {}) {
24
+ let r = "";
25
+ for (let i = 0; i < t.length; i++)
26
+ r += h[t[i]];
27
+ const n = `0x${r}`;
28
+ return typeof e.size == "number" ? (g(n, e.size), E(n, e.size)) : n;
29
+ }
30
+ function V(t, e = {}) {
31
+ const { signed: r, size: n } = e, i = BigInt(t);
32
+ let s;
33
+ n ? r ? s = (1n << BigInt(n) * 8n - 1n) - 1n : s = 2n ** (BigInt(n) * 8n) - 1n : typeof t == "number" && (s = BigInt(Number.MAX_SAFE_INTEGER));
34
+ const u = typeof s == "bigint" && r ? -s - 1n : 0;
35
+ if (s && i > s || i < u) {
36
+ const a = typeof t == "bigint" ? "n" : "";
37
+ throw new O({
38
+ max: s ? `${s}${a}` : void 0,
39
+ min: `${u}${a}`,
40
+ signed: r,
41
+ size: n,
42
+ value: `${t}${a}`
43
+ });
44
+ }
45
+ const c = `0x${(r && i < 0 ? (1n << BigInt(n * 8)) + BigInt(i) : i).toString(16)}`;
46
+ return n ? x(c, n) : c;
47
+ }
48
+ function j(t, e = {}) {
49
+ return w($.encode(t), e);
50
+ }
51
+ function x(t, e) {
52
+ return d(t, { dir: "left", size: e });
53
+ }
54
+ function E(t, e) {
55
+ return d(t, { dir: "right", size: e });
56
+ }
57
+ function v(t, e, r, n = {}) {
58
+ const { strict: i } = n;
59
+ p(t, e);
60
+ const s = `0x${t.replace("0x", "").slice((e ?? 0) * 2, (r ?? t.length) * 2)}`;
61
+ return i && m(s, e, r), s;
62
+ }
63
+ function A(t) {
64
+ return Math.ceil((t.length - 2) / 2);
65
+ }
66
+ function N(t, e = {}) {
67
+ const { strict: r = !1 } = e;
68
+ try {
69
+ return y(t, { strict: r }), !0;
70
+ } catch {
71
+ return !1;
72
+ }
73
+ }
74
+ class O extends o {
75
+ constructor({ max: e, min: r, signed: n, size: i, value: s }) {
76
+ super(`Number \`${s}\` is not in safe${i ? ` ${i * 8}-bit` : ""}${n ? " signed" : " unsigned"} integer range ${e ? `(\`${r}\` to \`${e}\`)` : `(above \`${r}\`)`}`), Object.defineProperty(this, "name", {
77
+ enumerable: !0,
78
+ configurable: !0,
79
+ writable: !0,
80
+ value: "Hex.IntegerOutOfRangeError"
81
+ });
82
+ }
83
+ }
84
+ class f extends o {
85
+ constructor(e) {
86
+ super(`Value \`${typeof e == "object" ? b(e) : e}\` of type \`${typeof e}\` is an invalid hex type.`, {
87
+ metaMessages: ['Hex types must be represented as `"0x${string}"`.']
88
+ }), Object.defineProperty(this, "name", {
89
+ enumerable: !0,
90
+ configurable: !0,
91
+ writable: !0,
92
+ value: "Hex.InvalidHexTypeError"
93
+ });
94
+ }
95
+ }
96
+ class l extends o {
97
+ constructor(e) {
98
+ super(`Value \`${e}\` is an invalid hex value.`, {
99
+ metaMessages: [
100
+ 'Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).'
101
+ ]
102
+ }), Object.defineProperty(this, "name", {
103
+ enumerable: !0,
104
+ configurable: !0,
105
+ writable: !0,
106
+ value: "Hex.InvalidHexValueError"
107
+ });
108
+ }
109
+ }
110
+ class _ extends o {
111
+ constructor({ givenSize: e, maxSize: r }) {
112
+ super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`), Object.defineProperty(this, "name", {
113
+ enumerable: !0,
114
+ configurable: !0,
115
+ writable: !0,
116
+ value: "Hex.SizeOverflowError"
117
+ });
118
+ }
119
+ }
120
+ class M extends o {
121
+ constructor({ offset: e, position: r, size: n }) {
122
+ super(`Slice ${r === "start" ? "starting" : "ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`), Object.defineProperty(this, "name", {
123
+ enumerable: !0,
124
+ configurable: !0,
125
+ writable: !0,
126
+ value: "Hex.SliceOffsetOutOfBoundsError"
127
+ });
128
+ }
129
+ }
130
+ class R extends o {
131
+ constructor({ size: e, targetSize: r, type: n }) {
132
+ super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`), Object.defineProperty(this, "name", {
133
+ enumerable: !0,
134
+ configurable: !0,
135
+ writable: !0,
136
+ value: "Hex.SizeExceedsPaddingSizeError"
137
+ });
105
138
  }
106
- Object.entries(r).forEach(([i, e]) => o(i, e, !1)), Object.entries(n).forEach(([i, e]) => o(i, e, !0));
107
- }
108
- function D(t) {
109
- const r = /* @__PURE__ */ new WeakMap();
110
- return (n, ...o) => {
111
- const i = r.get(n);
112
- if (i !== void 0)
113
- return i;
114
- const e = t(n, ...o);
115
- return r.set(n, e), e;
116
- };
117
139
  }
118
140
  export {
119
- z as _validateObject,
120
- $ as aInRange,
121
- k as abool,
122
- v as abytes,
123
- W as anumber,
124
- M as bitLen,
125
- N as bitMask,
126
- d as bytesToHex,
127
- H as bytesToNumberBE,
128
- O as bytesToNumberLE,
129
- U as concatBytes,
130
- R as createHmacDrbg,
131
- _ as ensureBytes,
132
- p as hexToBytes,
133
- h as hexToNumber,
134
- T as inRange,
135
- B as isBytes,
136
- D as memoized,
137
- x as numberToBytesBE,
138
- S as numberToBytesLE,
139
- j as numberToHexUnpadded,
140
- C as randomBytes,
141
- G as utf8ToBytes
141
+ O as IntegerOutOfRangeError,
142
+ f as InvalidHexTypeError,
143
+ l as InvalidHexValueError,
144
+ R as SizeExceedsPaddingSizeError,
145
+ _ as SizeOverflowError,
146
+ M as SliceOffsetOutOfBoundsError,
147
+ y as assert,
148
+ B as concat,
149
+ P as fromBoolean,
150
+ w as fromBytes,
151
+ V as fromNumber,
152
+ j as fromString,
153
+ x as padLeft,
154
+ E as padRight,
155
+ A as size,
156
+ v as slice,
157
+ N as validate
142
158
  };
package/dist/index295.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index287.cjs");class r extends i.Hash{constructor(t,h){super(),this.finished=!1,this.destroyed=!1,i.ahash(t);const n=i.toBytes(h);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,e=new Uint8Array(a);e.set(n.length>a?t.create().update(n).digest():n);for(let s=0;s<e.length;s++)e[s]^=54;this.iHash.update(e),this.oHash=t.create();for(let s=0;s<e.length;s++)e[s]^=106;this.oHash.update(e),i.clean(e)}update(t){return i.aexists(this),this.iHash.update(t),this}digestInto(t){i.aexists(this),i.abytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:h,iHash:n,finished:a,destroyed:e,blockLen:s,outputLen:d}=this;return t=t,t.finished=a,t.destroyed=e,t.blockLen=s,t.outputLen=d,t.oHash=h._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const c=(o,t,h)=>new r(o,t).update(h).digest();c.create=(o,t)=>new r(o,t);exports.HMAC=r;exports.hmac=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index294.cjs");function r(e){return{address:e.address,amount:o.fromNumber(e.amount),index:o.fromNumber(e.index),validatorIndex:o.fromNumber(e.validatorIndex)}}exports.toRpc=r;