@gardenfi/utils 2.0.6 → 2.1.0

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 (234) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +22 -20
  3. package/dist/index10.cjs +1 -1
  4. package/dist/index10.js +37 -19
  5. package/dist/index100.cjs +1 -1
  6. package/dist/index100.js +77 -126
  7. package/dist/index101.cjs +1 -1
  8. package/dist/index101.js +17 -111
  9. package/dist/index102.cjs +1 -1
  10. package/dist/index102.js +10 -77
  11. package/dist/index103.cjs +1 -1
  12. package/dist/index103.js +20 -2
  13. package/dist/index104.cjs +1 -1
  14. package/dist/index104.js +11 -16
  15. package/dist/index105.cjs +1 -1
  16. package/dist/index105.js +38 -18
  17. package/dist/index106.cjs +1 -1
  18. package/dist/index106.js +5 -17
  19. package/dist/index107.cjs +1 -1
  20. package/dist/index107.js +10 -223
  21. package/dist/index108.cjs +1 -2
  22. package/dist/index108.js +2 -3
  23. package/dist/index109.cjs +1 -1
  24. package/dist/index109.js +18 -32
  25. package/dist/index11.cjs +1 -1
  26. package/dist/index11.js +19 -134
  27. package/dist/index110.cjs +1 -1
  28. package/dist/index110.js +126 -17
  29. package/dist/index111.cjs +1 -1
  30. package/dist/index111.js +6 -69
  31. package/dist/index112.cjs +1 -1
  32. package/dist/index112.js +2 -68
  33. package/dist/index113.cjs +1 -1
  34. package/dist/index113.js +38 -2
  35. package/dist/index114.cjs +1 -1
  36. package/dist/index114.js +5 -41
  37. package/dist/index115.cjs +2 -1
  38. package/dist/index115.js +3 -644
  39. package/dist/index116.cjs +1 -1
  40. package/dist/index116.js +15 -228
  41. package/dist/index117.cjs +1 -1
  42. package/dist/index117.js +624 -153
  43. package/dist/index118.cjs +1 -0
  44. package/dist/index118.js +175 -0
  45. package/dist/index12.cjs +1 -1
  46. package/dist/index12.js +136 -10
  47. package/dist/index13.cjs +1 -1
  48. package/dist/index13.js +15 -2
  49. package/dist/index14.cjs +1 -1
  50. package/dist/index14.js +2 -34
  51. package/dist/index15.cjs +1 -1
  52. package/dist/index15.js +32 -17
  53. package/dist/index16.cjs +1 -1
  54. package/dist/index16.js +14 -183
  55. package/dist/index17.cjs +1 -1
  56. package/dist/index17.js +187 -92
  57. package/dist/index18.cjs +1 -1
  58. package/dist/index18.js +92 -34
  59. package/dist/index19.cjs +1 -1
  60. package/dist/index19.js +36 -32
  61. package/dist/index20.cjs +1 -16
  62. package/dist/index20.js +30 -113
  63. package/dist/index21.cjs +1 -1
  64. package/dist/index21.js +18 -17
  65. package/dist/index22.cjs +16 -1
  66. package/dist/index22.js +113 -17
  67. package/dist/index23.cjs +1 -1
  68. package/dist/index23.js +17 -7
  69. package/dist/index24.cjs +1 -1
  70. package/dist/index24.js +6 -44
  71. package/dist/index25.cjs +1 -1
  72. package/dist/index25.js +45 -21
  73. package/dist/index26.cjs +1 -1
  74. package/dist/index26.js +21 -8
  75. package/dist/index27.cjs +1 -1
  76. package/dist/index27.js +8 -31
  77. package/dist/index28.cjs +1 -1
  78. package/dist/index28.js +31 -26
  79. package/dist/index29.cjs +1 -2
  80. package/dist/index29.js +25 -64
  81. package/dist/index30.cjs +2 -1
  82. package/dist/index30.js +64 -50
  83. package/dist/index31.cjs +1 -1
  84. package/dist/index31.js +51 -12
  85. package/dist/index32.cjs +1 -1
  86. package/dist/index32.js +12 -24
  87. package/dist/index33.cjs +1 -1
  88. package/dist/index33.js +24 -75
  89. package/dist/index34.cjs +1 -1
  90. package/dist/index34.js +74 -22
  91. package/dist/index35.cjs +1 -1
  92. package/dist/index35.js +23 -7
  93. package/dist/index36.cjs +1 -1
  94. package/dist/index36.js +7 -32
  95. package/dist/index37.cjs +1 -1
  96. package/dist/index37.js +31 -14
  97. package/dist/index38.cjs +1 -1
  98. package/dist/index38.js +16 -2
  99. package/dist/index39.cjs +1 -1
  100. package/dist/index39.js +2 -9
  101. package/dist/index4.cjs +1 -1
  102. package/dist/index4.js +2 -2
  103. package/dist/index40.cjs +1 -1
  104. package/dist/index40.js +8 -20
  105. package/dist/index41.cjs +1 -1
  106. package/dist/index41.js +20 -12
  107. package/dist/index42.cjs +1 -1
  108. package/dist/index42.js +40 -33
  109. package/dist/index43.cjs +1 -2
  110. package/dist/index43.js +24 -58
  111. package/dist/index44.cjs +1 -1
  112. package/dist/index44.js +7 -2
  113. package/dist/index45.cjs +1 -1
  114. package/dist/index45.js +13 -6
  115. package/dist/index46.cjs +1 -1
  116. package/dist/index46.js +15 -6
  117. package/dist/index47.cjs +1 -1
  118. package/dist/index47.js +5 -4
  119. package/dist/index48.cjs +1 -1
  120. package/dist/index48.js +13 -11
  121. package/dist/index49.cjs +1 -5
  122. package/dist/index49.js +10 -56
  123. package/dist/index50.cjs +1 -2
  124. package/dist/index50.js +10 -32
  125. package/dist/index51.cjs +1 -1
  126. package/dist/index51.js +11 -5
  127. package/dist/index52.cjs +1 -1
  128. package/dist/index52.js +13 -3
  129. package/dist/index53.cjs +1 -1
  130. package/dist/index53.js +54 -20
  131. package/dist/index54.cjs +1 -1
  132. package/dist/index54.js +16 -12
  133. package/dist/index55.cjs +1 -1
  134. package/dist/index55.js +5 -55
  135. package/dist/index56.cjs +1 -1
  136. package/dist/index56.js +4 -4
  137. package/dist/index57.cjs +1 -1
  138. package/dist/index57.js +169 -19
  139. package/dist/index58.cjs +1 -1
  140. package/dist/index58.js +103 -11
  141. package/dist/index59.cjs +1 -1
  142. package/dist/index59.js +21 -8
  143. package/dist/index6.cjs +1 -1
  144. package/dist/index6.js +40 -22
  145. package/dist/index60.cjs +1 -1
  146. package/dist/index60.js +11 -9
  147. package/dist/index61.cjs +1 -1
  148. package/dist/index61.js +34 -11
  149. package/dist/index62.cjs +1 -1
  150. package/dist/index62.js +8 -6
  151. package/dist/index63.cjs +2 -1
  152. package/dist/index63.js +59 -13
  153. package/dist/index64.cjs +1 -1
  154. package/dist/index64.js +2 -33
  155. package/dist/index65.cjs +1 -1
  156. package/dist/index65.js +6 -14
  157. package/dist/index66.cjs +1 -1
  158. package/dist/index66.js +6 -64
  159. package/dist/index67.cjs +1 -1
  160. package/dist/index67.js +4 -27
  161. package/dist/index68.cjs +1 -1
  162. package/dist/index68.js +12 -3
  163. package/dist/index69.cjs +1 -1
  164. package/dist/index69.js +3 -3
  165. package/dist/index7.cjs +1 -1
  166. package/dist/index7.js +24 -2
  167. package/dist/index70.cjs +5 -1
  168. package/dist/index70.js +56 -13
  169. package/dist/index71.cjs +2 -1
  170. package/dist/index71.js +33 -40
  171. package/dist/index72.cjs +1 -1
  172. package/dist/index72.js +5 -5
  173. package/dist/index73.cjs +1 -1
  174. package/dist/index73.js +21 -8
  175. package/dist/index74.cjs +1 -1
  176. package/dist/index74.js +8 -103
  177. package/dist/index75.cjs +1 -1
  178. package/dist/index75.js +9 -190
  179. package/dist/index76.cjs +1 -1
  180. package/dist/index76.js +11 -18
  181. package/dist/index77.cjs +1 -1
  182. package/dist/index77.js +6 -11
  183. package/dist/index78.cjs +1 -1
  184. package/dist/index78.js +13 -19
  185. package/dist/index79.cjs +1 -1
  186. package/dist/index79.js +31 -11
  187. package/dist/index8.cjs +1 -1
  188. package/dist/index8.js +2 -100
  189. package/dist/index80.cjs +1 -1
  190. package/dist/index80.js +14 -25
  191. package/dist/index81.cjs +1 -1
  192. package/dist/index81.js +64 -6
  193. package/dist/index82.cjs +1 -1
  194. package/dist/index82.js +27 -13
  195. package/dist/index83.cjs +1 -1
  196. package/dist/index83.js +3 -16
  197. package/dist/index84.cjs +1 -1
  198. package/dist/index84.js +3 -5
  199. package/dist/index85.cjs +1 -1
  200. package/dist/index85.js +8 -13
  201. package/dist/index86.cjs +1 -1
  202. package/dist/index86.js +190 -9
  203. package/dist/index87.cjs +1 -1
  204. package/dist/index87.js +18 -16
  205. package/dist/index88.cjs +1 -1
  206. package/dist/index88.js +39 -170
  207. package/dist/index89.cjs +1 -1
  208. package/dist/index89.js +30 -34
  209. package/dist/index9.cjs +1 -1
  210. package/dist/index9.js +105 -34
  211. package/dist/index90.cjs +1 -1
  212. package/dist/index90.js +69 -8
  213. package/dist/index91.cjs +1 -1
  214. package/dist/index91.js +113 -5
  215. package/dist/index92.cjs +1 -1
  216. package/dist/index92.js +67 -10
  217. package/dist/index93.cjs +1 -1
  218. package/dist/index93.js +2 -2
  219. package/dist/index94.cjs +1 -1
  220. package/dist/index94.js +15 -103
  221. package/dist/index95.cjs +1 -1
  222. package/dist/index95.js +218 -37
  223. package/dist/index96.cjs +1 -1
  224. package/dist/index96.js +227 -16
  225. package/dist/index97.cjs +1 -1
  226. package/dist/index97.js +42 -6
  227. package/dist/index98.cjs +1 -1
  228. package/dist/index98.js +105 -5
  229. package/dist/index99.cjs +1 -1
  230. package/dist/index99.js +16 -36
  231. package/dist/src/index.d.ts +1 -0
  232. package/dist/src/lib/auth/siwe/siwe.d.ts +3 -2
  233. package/dist/src/lib/digestKey/digestKey.d.ts +12 -0
  234. package/package.json +4 -1
package/dist/index88.js CHANGED
@@ -1,174 +1,43 @@
1
- import { InvalidLegacyVError as H } from "./index29.js";
2
- import { blobsToCommitments as g } from "./index59.js";
3
- import { blobsToProofs as B } from "./index60.js";
4
- import { commitmentsToVersionedHashes as V } from "./index61.js";
5
- import { toBlobSidecars as C } from "./index63.js";
6
- import { concatHex as h } from "./index76.js";
7
- import { trim as T } from "./index46.js";
8
- import { toHex as o, bytesToHex as k } from "./index24.js";
9
- import { toRlp as y } from "./index95.js";
10
- import { serializeAuthorizationList as w } from "./index104.js";
11
- import { assertTransactionEIP7702 as S, assertTransactionEIP4844 as _, assertTransactionEIP1559 as R, assertTransactionEIP2930 as Y, assertTransactionLegacy as j } from "./index102.js";
12
- import { getTransactionType as q } from "./index65.js";
13
- import { serializeAccessList as v } from "./index105.js";
14
- function te(e, r) {
15
- const i = q(e);
16
- return i === "eip1559" ? K(e, r) : i === "eip2930" ? M(e, r) : i === "eip4844" ? J(e, r) : i === "eip7702" ? D(e, r) : N(e, r);
17
- }
18
- function D(e, r) {
19
- const { authorizationList: i, chainId: s, gas: n, nonce: c, to: f, value: a, maxFeePerGas: x, maxPriorityFeePerGas: t, accessList: p, data: l } = e;
20
- S(e);
21
- const d = v(p), m = w(i);
22
- return h([
23
- "0x04",
24
- y([
25
- o(s),
26
- c ? o(c) : "0x",
27
- t ? o(t) : "0x",
28
- x ? o(x) : "0x",
29
- n ? o(n) : "0x",
30
- f ?? "0x",
31
- a ? o(a) : "0x",
32
- l ?? "0x",
33
- d,
34
- m,
35
- ...I(e, r)
36
- ])
37
- ]);
38
- }
39
- function J(e, r) {
40
- const { chainId: i, gas: s, nonce: n, to: c, value: f, maxFeePerBlobGas: a, maxFeePerGas: x, maxPriorityFeePerGas: t, accessList: p, data: l } = e;
41
- _(e);
42
- let d = e.blobVersionedHashes, m = e.sidecars;
43
- if (e.blobs && (typeof d > "u" || typeof m > "u")) {
44
- const u = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((P) => k(P)), z = e.kzg, b = g({
45
- blobs: u,
46
- kzg: z
47
- });
48
- if (typeof d > "u" && (d = V({
49
- commitments: b
50
- })), typeof m > "u") {
51
- const P = B({ blobs: u, commitments: b, kzg: z });
52
- m = C({ blobs: u, commitments: b, proofs: P });
53
- }
1
+ import { ahash as c, aexists as a, abytes as u } from "./index89.js";
2
+ import { Hash as H, toBytes as p } from "./index90.js";
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();
54
36
  }
55
- const L = v(p), E = [
56
- o(i),
57
- n ? o(n) : "0x",
58
- t ? o(t) : "0x",
59
- x ? o(x) : "0x",
60
- s ? o(s) : "0x",
61
- c ?? "0x",
62
- f ? o(f) : "0x",
63
- l ?? "0x",
64
- L,
65
- a ? o(a) : "0x",
66
- d ?? [],
67
- ...I(e, r)
68
- ], A = [], F = [], G = [];
69
- if (m)
70
- for (let u = 0; u < m.length; u++) {
71
- const { blob: z, commitment: b, proof: P } = m[u];
72
- A.push(z), F.push(b), G.push(P);
73
- }
74
- return h([
75
- "0x03",
76
- m ? (
77
- // If sidecars are enabled, envelope turns into a "wrapper":
78
- y([E, A, F, G])
79
- ) : (
80
- // If sidecars are disabled, standard envelope is used:
81
- y(E)
82
- )
83
- ]);
84
- }
85
- function K(e, r) {
86
- const { chainId: i, gas: s, nonce: n, to: c, value: f, maxFeePerGas: a, maxPriorityFeePerGas: x, accessList: t, data: p } = e;
87
- R(e);
88
- const l = v(t), d = [
89
- o(i),
90
- n ? o(n) : "0x",
91
- x ? o(x) : "0x",
92
- a ? o(a) : "0x",
93
- s ? o(s) : "0x",
94
- c ?? "0x",
95
- f ? o(f) : "0x",
96
- p ?? "0x",
97
- l,
98
- ...I(e, r)
99
- ];
100
- return h([
101
- "0x02",
102
- y(d)
103
- ]);
104
- }
105
- function M(e, r) {
106
- const { chainId: i, gas: s, data: n, nonce: c, to: f, value: a, accessList: x, gasPrice: t } = e;
107
- Y(e);
108
- const p = v(x), l = [
109
- o(i),
110
- c ? o(c) : "0x",
111
- t ? o(t) : "0x",
112
- s ? o(s) : "0x",
113
- f ?? "0x",
114
- a ? o(a) : "0x",
115
- n ?? "0x",
116
- p,
117
- ...I(e, r)
118
- ];
119
- return h([
120
- "0x01",
121
- y(l)
122
- ]);
123
- }
124
- function N(e, r) {
125
- const { chainId: i = 0, gas: s, data: n, nonce: c, to: f, value: a, gasPrice: x } = e;
126
- j(e);
127
- let t = [
128
- c ? o(c) : "0x",
129
- x ? o(x) : "0x",
130
- s ? o(s) : "0x",
131
- f ?? "0x",
132
- a ? o(a) : "0x",
133
- n ?? "0x"
134
- ];
135
- if (r) {
136
- const p = (() => {
137
- if (r.v >= 35n)
138
- return (r.v - 35n) / 2n > 0 ? r.v : 27n + (r.v === 35n ? 0n : 1n);
139
- if (i > 0)
140
- return BigInt(i * 2) + BigInt(35n + r.v - 27n);
141
- const m = 27n + (r.v === 27n ? 0n : 1n);
142
- if (r.v !== m)
143
- throw new H({ v: r.v });
144
- return m;
145
- })(), l = T(r.r), d = T(r.s);
146
- t = [
147
- ...t,
148
- o(p),
149
- l === "0x00" ? "0x" : l,
150
- d === "0x00" ? "0x" : d
151
- ];
152
- } else i > 0 && (t = [
153
- ...t,
154
- o(i),
155
- "0x",
156
- "0x"
157
- ]);
158
- return y(t);
159
- }
160
- function I(e, r) {
161
- const i = r ?? e, { v: s, yParity: n } = i;
162
- if (typeof i.r > "u")
163
- return [];
164
- if (typeof i.s > "u")
165
- return [];
166
- if (typeof s > "u" && typeof n > "u")
167
- return [];
168
- const c = T(i.r), f = T(i.s);
169
- return [typeof n == "number" ? n ? o(1) : "0x" : s === 0n ? "0x" : s === 1n ? o(1) : s === 27n ? "0x" : o(1), c === "0x00" ? "0x" : c, f === "0x00" ? "0x" : f];
170
37
  }
38
+ const l = (n, t, i) => new r(n, t).update(i).digest();
39
+ l.create = (n, t) => new r(n, t);
171
40
  export {
172
- te as serializeTransaction,
173
- I as toYParitySignatureArray
41
+ r as HMAC,
42
+ l as hmac
174
43
  };
package/dist/index89.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index79.cjs"),O=require("./index69.cjs"),n=require("./index47.cjs");function p(i,e,s,{strict:f}={}){return O.isHex(i,{strict:!1})?l(i,e,s,{strict:f}):u(i,e,s,{strict:f})}function r(i,e){if(typeof e=="number"&&e>0&&e>n.size(i)-1)throw new t.SliceOffsetOutOfBoundsError({offset:e,position:"start",size:n.size(i)})}function c(i,e,s){if(typeof e=="number"&&typeof s=="number"&&n.size(i)!==s-e)throw new t.SliceOffsetOutOfBoundsError({offset:s,position:"end",size:n.size(i)})}function u(i,e,s,{strict:f}={}){r(i,e);const o=i.slice(e,s);return f&&c(o,e,s),o}function l(i,e,s,{strict:f}={}){r(i,e);const o=`0x${i.replace("0x","").slice((e??0)*2,(s??i.length)*2)}`;return f&&c(o,e,s),o}exports.slice=p;exports.sliceBytes=u;exports.sliceHex=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function i(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function o(e,...t){if(!i(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function a(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");r(e.outputLen),r(e.blockLen)}function s(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function u(e,t){o(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}exports.abytes=o;exports.aexists=s;exports.ahash=a;exports.anumber=r;exports.aoutput=u;
package/dist/index89.js CHANGED
@@ -1,41 +1,37 @@
1
- import { SliceOffsetOutOfBoundsError as t } from "./index79.js";
2
- import { isHex as p } from "./index69.js";
3
- import { size as r } from "./index47.js";
4
- function w(e, f, i, { strict: o } = {}) {
5
- return p(e, { strict: !1 }) ? u(e, f, i, {
6
- strict: o
7
- }) : m(e, f, i, {
8
- strict: o
9
- });
1
+ function n(e) {
2
+ if (!Number.isSafeInteger(e) || e < 0)
3
+ throw new Error("positive integer expected, got " + e);
10
4
  }
11
- function s(e, f) {
12
- if (typeof f == "number" && f > 0 && f > r(e) - 1)
13
- throw new t({
14
- offset: f,
15
- position: "start",
16
- size: r(e)
17
- });
5
+ function o(e) {
6
+ return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
18
7
  }
19
- function c(e, f, i) {
20
- if (typeof f == "number" && typeof i == "number" && r(e) !== i - f)
21
- throw new t({
22
- offset: i,
23
- position: "end",
24
- size: r(e)
25
- });
8
+ function i(e, ...t) {
9
+ if (!o(e))
10
+ throw new Error("Uint8Array expected");
11
+ if (t.length > 0 && !t.includes(e.length))
12
+ throw new Error("Uint8Array expected of length " + t + ", got length=" + e.length);
26
13
  }
27
- function m(e, f, i, { strict: o } = {}) {
28
- s(e, f);
29
- const n = e.slice(f, i);
30
- return o && c(n, f, i), n;
14
+ function f(e) {
15
+ if (typeof e != "function" || typeof e.create != "function")
16
+ throw new Error("Hash should be wrapped by utils.wrapConstructor");
17
+ n(e.outputLen), n(e.blockLen);
31
18
  }
32
- function u(e, f, i, { strict: o } = {}) {
33
- s(e, f);
34
- const n = `0x${e.replace("0x", "").slice((f ?? 0) * 2, (i ?? e.length) * 2)}`;
35
- return o && c(n, f, i), n;
19
+ function s(e, t = !0) {
20
+ if (e.destroyed)
21
+ throw new Error("Hash instance has been destroyed");
22
+ if (t && e.finished)
23
+ throw new Error("Hash#digest() has already been called");
24
+ }
25
+ function u(e, t) {
26
+ i(e);
27
+ const r = t.outputLen;
28
+ if (e.length < r)
29
+ throw new Error("digestInto() expects output buffer of length at least " + r);
36
30
  }
37
31
  export {
38
- w as slice,
39
- m as sliceBytes,
40
- u as sliceHex
32
+ i as abytes,
33
+ s as aexists,
34
+ f as ahash,
35
+ n as anumber,
36
+ u as aoutput
41
37
  };
package/dist/index9.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index16.cjs"),l=require("./index7.cjs");class f{constructor(e){this.apiKey=e}async getToken(){const e=this.verifyToken();return e.error?t.Err(e.error):e.val?t.Ok(this.apiKey):t.Err("Token verification failed")}verifyToken(){const e=this.decodeBase64UrlSafe(this.apiKey),r=this.extractData(e);if(r.error)return t.Err(r.error);const{expiryTimestamp:i}=r.val;return i<new Date?t.Err("Token expired"):t.Ok(!0)}decodeBase64UrlSafe(e){let r=e.replace(/_/g,"/").replace(/-/g,"+");for(;r.length%4!==0;)r+="=";return Uint8Array.from(atob(r),i=>i.charCodeAt(0))}extractData(e){const r=new TextEncoder().encode("::"),i=e.findIndex((n,a)=>e.slice(a,a+r.length).every((u,d)=>u===r[d]));if(i===-1)return t.Err("Invalid format: delimiter not found");const o=e.slice(0,8),s=new DataView(o.buffer).getBigUint64(0,!1),c=e.slice(i+r.length);return t.Ok({expiryTimestamp:new Date(Number(s)*1e3),signature:Array.from(c).map(n=>n.toString(16).padStart(2,"0")).join("")})}async getAuthHeaders(){const e=await this.getToken();return e.ok?t.Ok({[l.AuthHeaderEnum.ApiKey]:e.val}):t.Err(e.error??"Failed to get auth token")}}exports.ApiKey=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("tough-cookie"),f=require("fetch-cookie"),n=require("./index17.cjs"),g=require("./index13.cjs"),m=require("./index14.cjs"),u=require("viem"),c=require("./index3.cjs"),k=require("./index21.cjs"),y=require("./index19.cjs"),C=require("./index22.cjs");class l{constructor(t,i,e){if(this.url=t.endpoint("siwe"),this.walletClient=i,this.domain=(e==null?void 0:e.domain)||"app.garden.finance",this.domain.startsWith("https://")&&(this.domain=this.domain.split("https://")[1]),this.signingStatement=(e==null?void 0:e.signingStatement)??"Garden.fi",this.store=(e==null?void 0:e.store)??(typeof window<"u"?window.localStorage:new g.MemoryStorage),typeof window>"u"){const r=new w.CookieJar;this.fetchWithCookies=f(fetch,r)}else this.fetchWithCookies=window.fetch.bind(window)}static fromDigestKey(t,i,e){const r=u.createWalletClient({account:y.privateKeyToAccount(c.add0x(i.digestKey)),transport:u.http(),chain:k.mainnet});return new l(t,r,e)}verifyToken(t,i){try{const e=c.parseJwt(t);if(!e)return n.Ok(!1);const r=Math.floor(Date.now()/1e3)+120;return n.Ok(e.exp>r&&e.user_id.toLowerCase()===i.toLowerCase())}catch{return n.Ok(!1)}}async getToken(){var r;if(!((r=this.walletClient.account)!=null&&r.address))return n.Err("Wallet client does not have an account");const t=await this.signStatement();if(t.error)return n.Err(t.error);let i;try{const o=await(await this.fetchWithCookies(this.url.endpoint("tokens"),{method:"POST",body:JSON.stringify({...t.val}),headers:{"Content-Type":"application/json"},credentials:"include"})).json();if(o.error||!o.result)return n.Err(o.error??"Failed to get token");i=o.result}catch(a){return n.Err("Failed to get token",a)}if(!this.verifyToken(i,this.walletClient.account.address).val)throw new Error("Token verification failed");return this.store.setItem(m.StoreKeys.AUTH_TOKEN,i),n.Ok(i)}async signStatement(){var h;if(!((h=this.walletClient.account)!=null&&h.address))return n.Err("Wallet client does not have a valid account");const t=new Date,i=new Date(t.getTime()+300*1e3);let e;try{const s=await(await this.fetchWithCookies(this.url.endpoint("challenges"),{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"})).json();if(s.error||!s.result)return n.Err("Failed to get nonce");e=s.result}catch(d){return n.Err("Failed to get nonce",d)}const r=await this.walletClient.getChainId(),a=C.createSiweMessage({domain:this.domain,address:this.walletClient.account.address,statement:this.signingStatement,nonce:e,uri:"https://"+this.domain,version:"1",chainId:r,notBefore:i}),o=await this.walletClient.signMessage({account:this.walletClient.account,message:a});return n.Ok({message:a,signature:o,nonce:e})}async getAuthHeaders(){const t=await this.getToken();return t.error?n.Err(t.error):n.Ok({Authorization:c.Authorization(t.val)})}}exports.Siwe=l;
package/dist/index9.js CHANGED
@@ -1,46 +1,117 @@
1
- import { Err as i, Ok as n } from "./index16.js";
2
- import { AuthHeaderEnum as u } from "./index7.js";
3
- class h {
4
- constructor(e) {
5
- this.apiKey = e;
1
+ import { CookieJar as f } from "tough-cookie";
2
+ import m from "fetch-cookie";
3
+ import { Ok as a, Err as r } from "./index17.js";
4
+ import { MemoryStorage as u } from "./index13.js";
5
+ import { StoreKeys as w } from "./index14.js";
6
+ import { createWalletClient as g, http as p } from "viem";
7
+ import { add0x as k, parseJwt as y, Authorization as C } from "./index3.js";
8
+ import { mainnet as T } from "./index21.js";
9
+ import { privateKeyToAccount as v } from "./index19.js";
10
+ import { createSiweMessage as S } from "./index22.js";
11
+ class d {
12
+ constructor(e, n, t) {
13
+ if (this.url = e.endpoint("siwe"), this.walletClient = n, this.domain = (t == null ? void 0 : t.domain) || "app.garden.finance", this.domain.startsWith("https://") && (this.domain = this.domain.split("https://")[1]), this.signingStatement = (t == null ? void 0 : t.signingStatement) ?? "Garden.fi", this.store = (t == null ? void 0 : t.store) ?? (typeof window < "u" ? window.localStorage : new u()), typeof window > "u") {
14
+ const i = new f();
15
+ this.fetchWithCookies = m(fetch, i);
16
+ } else
17
+ this.fetchWithCookies = window.fetch.bind(window);
6
18
  }
7
- async getToken() {
8
- const e = this.verifyToken();
9
- return e.error ? i(e.error) : e.val ? n(this.apiKey) : i("Token verification failed");
19
+ static fromDigestKey(e, n, t) {
20
+ const i = g({
21
+ account: v(k(n.digestKey)),
22
+ transport: p(),
23
+ chain: T
24
+ });
25
+ return new d(e, i, t);
10
26
  }
11
- verifyToken() {
12
- const e = this.decodeBase64UrlSafe(this.apiKey), r = this.extractData(e);
13
- if (r.error)
14
- return i(r.error);
15
- const { expiryTimestamp: t } = r.val;
16
- return t < /* @__PURE__ */ new Date() ? i("Token expired") : n(!0);
27
+ verifyToken(e, n) {
28
+ try {
29
+ const t = y(e);
30
+ if (!t) return a(!1);
31
+ const i = Math.floor(Date.now() / 1e3) + 120;
32
+ return a(
33
+ t.exp > i && t.user_id.toLowerCase() === n.toLowerCase()
34
+ );
35
+ } catch {
36
+ return a(!1);
37
+ }
17
38
  }
18
- decodeBase64UrlSafe(e) {
19
- let r = e.replace(/_/g, "/").replace(/-/g, "+");
20
- for (; r.length % 4 !== 0; )
21
- r += "=";
22
- return Uint8Array.from(atob(r), (t) => t.charCodeAt(0));
39
+ async getToken() {
40
+ var i;
41
+ if (!((i = this.walletClient.account) != null && i.address))
42
+ return r("Wallet client does not have an account");
43
+ const e = await this.signStatement();
44
+ if (e.error)
45
+ return r(e.error);
46
+ let n;
47
+ try {
48
+ const o = await (await this.fetchWithCookies(
49
+ this.url.endpoint("tokens"),
50
+ {
51
+ method: "POST",
52
+ body: JSON.stringify({
53
+ ...e.val
54
+ }),
55
+ headers: {
56
+ "Content-Type": "application/json"
57
+ },
58
+ credentials: "include"
59
+ }
60
+ )).json();
61
+ if (o.error || !o.result)
62
+ return r(o.error ?? "Failed to get token");
63
+ n = o.result;
64
+ } catch (s) {
65
+ return r("Failed to get token", s);
66
+ }
67
+ if (!this.verifyToken(n, this.walletClient.account.address).val)
68
+ throw new Error("Token verification failed");
69
+ return this.store.setItem(w.AUTH_TOKEN, n), a(n);
23
70
  }
24
- extractData(e) {
25
- const r = new TextEncoder().encode("::"), t = e.findIndex(
26
- (a, o) => e.slice(o, o + r.length).every((f, l) => f === r[l])
27
- );
28
- if (t === -1)
29
- return i("Invalid format: delimiter not found");
30
- const s = e.slice(0, 8), c = new DataView(s.buffer).getBigUint64(
31
- 0,
32
- !1
33
- ), d = e.slice(t + r.length);
34
- return n({
35
- expiryTimestamp: new Date(Number(c) * 1e3),
36
- signature: Array.from(d).map((a) => a.toString(16).padStart(2, "0")).join("")
71
+ async signStatement() {
72
+ var l;
73
+ if (!((l = this.walletClient.account) != null && l.address))
74
+ return r("Wallet client does not have a valid account");
75
+ const e = /* @__PURE__ */ new Date(), n = new Date(e.getTime() + 300 * 1e3);
76
+ let t;
77
+ try {
78
+ const c = await (await this.fetchWithCookies(this.url.endpoint("challenges"), {
79
+ method: "POST",
80
+ headers: {
81
+ "Content-Type": "application/json"
82
+ },
83
+ credentials: "include"
84
+ })).json();
85
+ if (c.error || !c.result)
86
+ return r("Failed to get nonce");
87
+ t = c.result;
88
+ } catch (h) {
89
+ return r("Failed to get nonce", h);
90
+ }
91
+ const i = await this.walletClient.getChainId(), s = S({
92
+ domain: this.domain,
93
+ address: this.walletClient.account.address,
94
+ statement: this.signingStatement,
95
+ nonce: t,
96
+ uri: "https://" + this.domain,
97
+ version: "1",
98
+ chainId: i,
99
+ notBefore: n
100
+ }), o = await this.walletClient.signMessage({
101
+ account: this.walletClient.account,
102
+ message: s
103
+ });
104
+ return a({
105
+ message: s,
106
+ signature: o,
107
+ nonce: t
37
108
  });
38
109
  }
39
110
  async getAuthHeaders() {
40
111
  const e = await this.getToken();
41
- return e.ok ? n({ [u.ApiKey]: e.val }) : i(e.error ?? "Failed to get auth token");
112
+ return e.error ? r(e.error) : a({ Authorization: C(e.val) });
42
113
  }
43
114
  }
44
115
  export {
45
- h as ApiKey
116
+ d as Siwe
46
117
  };
package/dist/index90.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function n(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}exports.defineChain=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index93.cjs"),f=require("./index89.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])}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)),f.abytes(t),t}function g(...t){let e=0;for(let n=0;n<t.length;n++){const u=t[n];f.abytes(u),e+=u.length}const r=new Uint8Array(e);for(let n=0,u=0;n<t.length;n++){const c=t[n];r.set(c,u),u+=c.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 d(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 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=d;exports.rotr=l;exports.toBytes=s;exports.u32=p;exports.utf8ToBytes=y;exports.wrapConstructor=B;
package/dist/index90.js CHANGED
@@ -1,11 +1,72 @@
1
- function n(e) {
2
- return {
3
- formatters: void 0,
4
- fees: void 0,
5
- serializers: void 0,
6
- ...e
7
- };
1
+ import { crypto as o } from "./index93.js";
2
+ import { abytes as i } from "./index89.js";
3
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
+ function g(t) {
5
+ return new Uint32Array(t.buffer, t.byteOffset, Math.floor(t.byteLength / 4));
6
+ }
7
+ function m(t) {
8
+ return new DataView(t.buffer, t.byteOffset, t.byteLength);
9
+ }
10
+ function w(t, e) {
11
+ return t << 32 - e | t >>> e;
12
+ }
13
+ const b = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
14
+ function c(t) {
15
+ return t << 24 & 4278190080 | t << 8 & 16711680 | t >>> 8 & 65280 | t >>> 24 & 255;
16
+ }
17
+ function a(t) {
18
+ for (let e = 0; e < t.length; e++)
19
+ t[e] = c(t[e]);
20
+ }
21
+ function s(t) {
22
+ if (typeof t != "string")
23
+ throw new Error("utf8ToBytes expected string, got " + typeof t);
24
+ return new Uint8Array(new TextEncoder().encode(t));
25
+ }
26
+ function y(t) {
27
+ return typeof t == "string" && (t = s(t)), i(t), t;
28
+ }
29
+ function x(...t) {
30
+ let e = 0;
31
+ for (let n = 0; n < t.length; n++) {
32
+ const r = t[n];
33
+ i(r), e += r.length;
34
+ }
35
+ const f = new Uint8Array(e);
36
+ for (let n = 0, r = 0; n < t.length; n++) {
37
+ const u = t[n];
38
+ f.set(u, r), r += u.length;
39
+ }
40
+ return f;
41
+ }
42
+ class h {
43
+ // Safe version that clones internal state
44
+ clone() {
45
+ return this._cloneInto();
46
+ }
47
+ }
48
+ function B(t) {
49
+ const e = (n) => t().update(y(n)).digest(), f = t();
50
+ return e.outputLen = f.outputLen, e.blockLen = f.blockLen, e.create = () => t(), e;
51
+ }
52
+ function d(t = 32) {
53
+ if (o && typeof o.getRandomValues == "function")
54
+ return o.getRandomValues(new Uint8Array(t));
55
+ if (o && typeof o.randomBytes == "function")
56
+ return o.randomBytes(t);
57
+ throw new Error("crypto.getRandomValues must be defined");
8
58
  }
9
59
  export {
10
- n as defineChain
60
+ h as Hash,
61
+ c as byteSwap,
62
+ a as byteSwap32,
63
+ x as concatBytes,
64
+ m as createView,
65
+ b as isLE,
66
+ d as randomBytes,
67
+ w as rotr,
68
+ y as toBytes,
69
+ g as u32,
70
+ s as utf8ToBytes,
71
+ B as wrapConstructor
11
72
  };
package/dist/index91.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={ether:-9,wei:9};exports.gweiUnits=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("./index92.cjs"),s=require("./index90.cjs"),S=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),b=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),f=new Uint32Array(64);class g extends H.HashMD{constructor(){super(64,32,8,!1),this.A=b[0]|0,this.B=b[1]|0,this.C=b[2]|0,this.D=b[3]|0,this.E=b[4]|0,this.F=b[5]|0,this.G=b[6]|0,this.H=b[7]|0}get(){const{A:d,B:o,C:x,D:e,E:a,F:i,G:c,H:r}=this;return[d,o,x,e,a,i,c,r]}set(d,o,x,e,a,i,c,r){this.A=d|0,this.B=o|0,this.C=x|0,this.D=e|0,this.E=a|0,this.F=i|0,this.G=c|0,this.H=r|0}process(d,o){for(let t=0;t<16;t++,o+=4)f[t]=d.getUint32(o,!1);for(let t=16;t<64;t++){const A=f[t-15],n=f[t-2],C=s.rotr(A,7)^s.rotr(A,18)^A>>>3,u=s.rotr(n,17)^s.rotr(n,19)^n>>>10;f[t]=u+f[t-7]+C+f[t-16]|0}let{A:x,B:e,C:a,D:i,E:c,F:r,G:h,H:l}=this;for(let t=0;t<64;t++){const A=s.rotr(c,6)^s.rotr(c,11)^s.rotr(c,25),n=l+A+H.Chi(c,r,h)+S[t]+f[t]|0,u=(s.rotr(x,2)^s.rotr(x,13)^s.rotr(x,22))+H.Maj(x,e,a)|0;l=h,h=r,r=c,c=i+n|0,i=a,a=e,e=x,x=n+u|0}x=x+this.A|0,e=e+this.B|0,a=a+this.C|0,i=i+this.D|0,c=c+this.E|0,r=r+this.F|0,h=h+this.G|0,l=l+this.H|0,this.set(x,e,a,i,c,r,h,l)}roundClean(){f.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const y=s.wrapConstructor(()=>new g);exports.SHA256=g;exports.sha256=y;