@gardenfi/utils 2.4.5-beta.2 → 2.4.5-beta.3

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/index10.cjs +1 -1
  2. package/dist/index10.js +3 -3
  3. package/dist/index100.cjs +1 -1
  4. package/dist/index100.js +2 -2
  5. package/dist/index121.cjs +1 -1
  6. package/dist/index121.js +1 -1
  7. package/dist/index16.cjs +1 -1
  8. package/dist/index16.js +3 -3
  9. package/dist/index18.cjs +1 -1
  10. package/dist/index18.js +2 -2
  11. package/dist/index197.cjs +1 -1
  12. package/dist/index197.js +3 -3
  13. package/dist/index226.cjs +1 -1
  14. package/dist/index226.js +2 -2
  15. package/dist/index229.cjs +1 -1
  16. package/dist/index229.js +2 -2
  17. package/dist/index230.cjs +1 -1
  18. package/dist/index230.js +1 -1
  19. package/dist/index235.cjs +1 -1
  20. package/dist/index235.js +1 -1
  21. package/dist/index236.cjs +1 -1
  22. package/dist/index236.js +1 -1
  23. package/dist/index237.cjs +1 -1
  24. package/dist/index237.js +2 -2
  25. package/dist/index24.cjs +1 -1
  26. package/dist/index24.js +27 -31
  27. package/dist/index242.cjs +1 -1
  28. package/dist/index242.js +3 -3
  29. package/dist/index249.cjs +1 -1
  30. package/dist/index249.js +3 -3
  31. package/dist/index25.cjs +1 -1
  32. package/dist/index25.js +7 -31
  33. package/dist/index250.cjs +1 -1
  34. package/dist/index250.js +3 -3
  35. package/dist/index26.cjs +1 -1
  36. package/dist/index26.js +10 -9
  37. package/dist/index262.cjs +1 -2
  38. package/dist/index262.js +102 -40
  39. package/dist/index263.cjs +1 -1
  40. package/dist/index263.js +7 -2
  41. package/dist/index264.cjs +1 -1
  42. package/dist/index264.js +224 -5
  43. package/dist/index265.cjs +1 -1
  44. package/dist/index265.js +6 -10
  45. package/dist/index266.cjs +1 -1
  46. package/dist/index266.js +7 -20
  47. package/dist/index267.cjs +2 -1
  48. package/dist/index267.js +41 -8
  49. package/dist/index268.cjs +1 -1
  50. package/dist/index268.js +2 -67
  51. package/dist/index269.cjs +1 -1
  52. package/dist/index269.js +5 -65
  53. package/dist/index270.cjs +1 -1
  54. package/dist/index270.js +9 -185
  55. package/dist/index271.cjs +1 -1
  56. package/dist/index271.js +17 -20
  57. package/dist/index272.cjs +1 -1
  58. package/dist/index272.js +8 -42
  59. package/dist/index273.cjs +1 -1
  60. package/dist/index273.js +62 -72
  61. package/dist/index274.cjs +1 -1
  62. package/dist/index274.js +61 -36
  63. package/dist/index275.cjs +1 -1
  64. package/dist/index275.js +185 -15
  65. package/dist/index276.cjs +1 -1
  66. package/dist/index276.js +21 -12
  67. package/dist/index277.cjs +1 -1
  68. package/dist/index277.js +42 -12
  69. package/dist/index278.cjs +1 -2
  70. package/dist/index278.js +76 -18
  71. package/dist/index279.cjs +1 -1
  72. package/dist/index279.js +39 -13
  73. package/dist/index28.cjs +16 -1
  74. package/dist/index28.js +113 -12
  75. package/dist/index280.cjs +1 -1
  76. package/dist/index280.js +16 -11
  77. package/dist/index281.cjs +1 -1
  78. package/dist/index281.js +7 -149
  79. package/dist/index282.cjs +1 -1
  80. package/dist/index282.js +10 -7
  81. package/dist/index283.cjs +2 -1
  82. package/dist/index283.js +16 -111
  83. package/dist/index284.cjs +1 -2
  84. package/dist/index284.js +13 -133
  85. package/dist/index285.cjs +1 -1
  86. package/dist/index285.js +11 -103
  87. package/dist/index286.cjs +1 -1
  88. package/dist/index286.js +26 -6
  89. package/dist/index287.cjs +1 -1
  90. package/dist/index287.js +18 -223
  91. package/dist/index288.cjs +1 -1
  92. package/dist/index288.js +146 -6
  93. package/dist/index289.cjs +1 -1
  94. package/dist/index289.js +4 -7
  95. package/dist/index29.cjs +1 -16
  96. package/dist/index29.js +30 -112
  97. package/dist/index290.cjs +1 -1
  98. package/dist/index290.js +137 -23
  99. package/dist/index291.cjs +1 -1
  100. package/dist/index291.js +153 -17
  101. package/dist/index292.cjs +1 -1
  102. package/dist/index292.js +9 -146
  103. package/dist/index293.cjs +1 -1
  104. package/dist/index293.js +113 -3
  105. package/dist/index294.cjs +2 -1
  106. package/dist/index294.js +122 -128
  107. package/dist/index295.cjs +1 -1
  108. package/dist/index295.js +41 -10
  109. package/dist/index296.cjs +1 -1
  110. package/dist/index296.js +77 -18
  111. package/dist/index297.cjs +1 -1
  112. package/dist/index297.js +2 -43
  113. package/dist/index298.cjs +1 -1
  114. package/dist/index298.js +10 -77
  115. package/dist/index299.cjs +1 -1
  116. package/dist/index299.js +20 -2
  117. package/dist/index30.cjs +1 -1
  118. package/dist/index30.js +31 -27
  119. package/dist/index300.cjs +1 -1
  120. package/dist/index300.js +698 -68
  121. package/dist/index301.cjs +1 -2
  122. package/dist/index301.js +137 -64
  123. package/dist/index302.cjs +1 -1
  124. package/dist/index302.js +201 -4
  125. package/dist/index303.cjs +1 -1
  126. package/dist/index303.js +68 -40
  127. package/dist/index304.cjs +2 -1
  128. package/dist/index304.js +66 -7
  129. package/dist/index305.cjs +1 -1
  130. package/dist/index305.js +4 -62
  131. package/dist/index306.cjs +1 -1
  132. package/dist/index306.js +33 -70
  133. package/dist/index307.cjs +1 -1
  134. package/dist/index307.js +8 -4
  135. package/dist/index308.cjs +1 -1
  136. package/dist/index308.js +55 -187
  137. package/dist/index309.cjs +1 -1
  138. package/dist/index309.js +68 -689
  139. package/dist/index31.cjs +1 -1
  140. package/dist/index31.js +12 -8
  141. package/dist/index310.cjs +1 -1
  142. package/dist/index310.js +4 -140
  143. package/dist/index311.cjs +1 -1
  144. package/dist/index311.js +181 -188
  145. package/dist/index312.cjs +1 -1
  146. package/dist/index312.js +4 -63
  147. package/dist/index313.cjs +1 -1
  148. package/dist/index313.js +59 -40
  149. package/dist/index314.cjs +1 -1
  150. package/dist/index314.js +44 -4
  151. package/dist/index55.cjs +1 -1
  152. package/dist/index55.js +1 -1
  153. package/package.json +1 -1
package/dist/index29.js CHANGED
@@ -1,116 +1,34 @@
1
- import { SiweInvalidMessageFieldError as e } from "./index295.js";
2
- import { getAddress as S } from "./index164.js";
3
- import { isUri as $ } from "./index296.js";
4
- function C(n) {
5
- const { chainId: i, domain: s, expirationTime: u, issuedAt: g = /* @__PURE__ */ new Date(), nonce: a, notBefore: m, requestId: h, resources: w, scheme: o, uri: c, version: f } = n;
6
- {
7
- if (i !== Math.floor(i))
8
- throw new e({
9
- field: "chainId",
10
- metaMessages: [
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}`;
1
+ import { defineChain as e } from "./index218.js";
2
+ const t = /* @__PURE__ */ e({
3
+ id: 1,
4
+ name: "Ethereum",
5
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
+ rpcUrls: {
7
+ default: {
8
+ http: ["https://eth.merkle.io"]
9
+ }
10
+ },
11
+ blockExplorers: {
12
+ default: {
13
+ name: "Etherscan",
14
+ url: "https://etherscan.io",
15
+ apiUrl: "https://api.etherscan.io/api"
16
+ }
17
+ },
18
+ contracts: {
19
+ ensRegistry: {
20
+ address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
21
+ },
22
+ ensUniversalResolver: {
23
+ address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67",
24
+ blockCreated: 19258213
25
+ },
26
+ multicall3: {
27
+ address: "0xca11bde05977b3631167028862be2a173976ca11",
28
+ blockCreated: 14353601
107
29
  }
108
- r += t;
109
30
  }
110
- return `${R}
111
- ${r}`;
112
- }
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+-.]*)$/;
31
+ });
114
32
  export {
115
- C as createSiweMessage
33
+ t as mainnet
116
34
  };
package/dist/index290.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index41.cjs");function a(r){let l=!0,i="",o=0,t="",u=!1;for(let n=0;n<r.length;n++){const e=r[n];if(["(",")",","].includes(e)&&(l=!0),e==="("&&o++,e===")"&&o--,!!l){if(o===0){if(e===" "&&["event","function",""].includes(t))t="";else if(t+=e,e===")"){u=!0;break}continue}if(e===" "){r[n-1]!==","&&i!==","&&i!==",("&&(i="",l=!1);continue}t+=e,i+=e}}if(!u)throw new f.BaseError("Unable to normalize signature.");return t}exports.normalizeSignature=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index36.cjs"),a=require("./index146.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/index290.js CHANGED
@@ -1,29 +1,143 @@
1
- import { BaseError as u } from "./index41.js";
2
- function a(r) {
3
- let l = !0, i = "", f = 0, t = "", o = !1;
4
- for (let n = 0; n < r.length; n++) {
5
- const e = r[n];
6
- if (["(", ")", ","].includes(e) && (l = !0), e === "(" && f++, e === ")" && f--, !!l) {
7
- if (f === 0) {
8
- if (e === " " && ["event", "function", ""].includes(t))
9
- t = "";
10
- else if (t += e, e === ")") {
11
- o = !0;
12
- break;
13
- }
14
- continue;
15
- }
16
- if (e === " ") {
17
- r[n - 1] !== "," && i !== "," && i !== ",(" && (i = "", l = !1);
18
- continue;
19
- }
20
- t += e, i += e;
1
+ import { readContract as g } from "./index36.js";
2
+ import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as f, EnsAvatarUnsupportedNamespaceError as v, EnsAvatarInvalidMetadataError as A } from "./index146.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/");
21
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 });
22
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" });
23
84
  if (!o)
24
- throw new u("Unable to normalize signature.");
25
- return t;
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 });
26
133
  }
27
134
  export {
28
- a as normalizeSignature
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
29
143
  };
package/dist/index291.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=BigInt(2**32-1),c=BigInt(32);function u(t,o=!1){return o?{h:Number(t&l),l:Number(t>>c&l)}:{h:Number(t>>c&l)|0,l:Number(t&l)|0}}function B(t,o=!1){const r=t.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let e=0;e<r;e++){const{h:f,l:s}=u(t[e],o);[n[e],i[e]]=[f,s]}return[n,i]}const g=(t,o,r)=>t<<r|o>>>32-r,m=(t,o,r)=>o<<r|t>>>32-r,S=(t,o,r)=>o<<r-32|t>>>64-r,a=(t,o,r)=>t<<r-32|o>>>64-r;exports.fromBig=u;exports.rotlBH=S;exports.rotlBL=a;exports.rotlSH=g;exports.rotlSL=m;exports.split=B;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index304.cjs"),$=require("./index305.cjs"),o=require("./index306.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/index291.js CHANGED
@@ -1,22 +1,158 @@
1
- const o = /* @__PURE__ */ BigInt(4294967295), i = /* @__PURE__ */ BigInt(32);
2
- function s(t, r = !1) {
3
- return r ? { h: Number(t & o), l: Number(t >> i & o) } : { h: Number(t >> i & o) | 0, l: Number(t & o) | 0 };
1
+ import { BaseError as o } from "./index304.js";
2
+ import { stringify as b } from "./index305.js";
3
+ import { pad as d, assertEndOffset as m, assertSize as g, assertStartOffset as p } from "./index306.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);
9
+ if (typeof t != "string")
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);
4
15
  }
5
- function h(t, r = !1) {
6
- const n = t.length;
7
- let l = new Uint32Array(n), c = new Uint32Array(n);
8
- for (let e = 0; e < n; e++) {
9
- const { h: u, l: f } = s(t[e], r);
10
- [l[e], c[e]] = [u, f];
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
+ });
11
138
  }
12
- return [l, c];
13
139
  }
14
- const m = (t, r, n) => t << n | r >>> 32 - n, A = (t, r, n) => r << n | t >>> 32 - n, B = (t, r, n) => r << n - 32 | t >>> 64 - n, a = (t, r, n) => t << n - 32 | r >>> 64 - n;
15
140
  export {
16
- s as fromBig,
17
- B as rotlBH,
18
- a as rotlBL,
19
- m as rotlSH,
20
- A as rotlSL,
21
- h as split
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
22
158
  };
package/dist/index292.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./index299.cjs");/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function p(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function s(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function c(t,...e){if(!p(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function m(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");s(t.outputLen),s(t.blockLen)}function B(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function E(t,e){c(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function H(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function U(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function L(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function S(t,e){return t<<32-e|t>>>e}const h=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function w(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function g(t){for(let e=0;e<t.length;e++)t[e]=w(t[e]);return t}const T=h?t=>t:g,d=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",V=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function _(t){if(c(t),d)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=V[t[n]];return e}const f={_0:48,_9:57,A:65,F:70,a:97,f:102};function l(t){if(t>=f._0&&t<=f._9)return t-f._0;if(t>=f.A&&t<=f.F)return t-(f.A-10);if(t>=f.a&&t<=f.f)return t-(f.a-10)}function I(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(d)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let o=0,i=0;o<n;o++,i+=2){const a=l(t.charCodeAt(i)),y=l(t.charCodeAt(i+1));if(a===void 0||y===void 0){const A=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+A+'" at index '+i)}r[o]=a*16+y}return r}function x(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function b(t){return typeof t=="string"&&(t=x(t)),c(t),t}function k(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];c(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const i=t[r];n.set(i,o),o+=i.length}return n}class O{}function R(t){const e=r=>t().update(b(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function v(t=32){if(u.crypto&&typeof u.crypto.getRandomValues=="function")return u.crypto.getRandomValues(new Uint8Array(t));if(u.crypto&&typeof u.crypto.randomBytes=="function")return Uint8Array.from(u.crypto.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}exports.Hash=O;exports.abytes=c;exports.aexists=B;exports.ahash=m;exports.anumber=s;exports.aoutput=E;exports.byteSwap=w;exports.byteSwap32=g;exports.bytesToHex=_;exports.clean=U;exports.concatBytes=k;exports.createHasher=R;exports.createView=L;exports.hexToBytes=I;exports.isBytes=p;exports.isLE=h;exports.randomBytes=v;exports.rotr=S;exports.swap32IfBE=T;exports.toBytes=b;exports.u32=H;exports.utf8ToBytes=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index291.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;