@gardenfi/utils 2.0.5 → 2.0.6-alpha.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 (232) 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 +5 -7
  7. package/dist/index101.cjs +1 -2
  8. package/dist/index101.js +11 -3
  9. package/dist/index102.cjs +1 -1
  10. package/dist/index102.js +2 -113
  11. package/dist/index103.cjs +1 -1
  12. package/dist/index103.js +17 -75
  13. package/dist/index104.cjs +1 -1
  14. package/dist/index104.js +7 -2
  15. package/dist/index105.cjs +1 -1
  16. package/dist/index105.js +5 -18
  17. package/dist/index106.cjs +1 -1
  18. package/dist/index106.js +36 -17
  19. package/dist/index107.cjs +1 -1
  20. package/dist/index107.js +127 -16
  21. package/dist/index108.cjs +1 -1
  22. package/dist/index108.js +2 -224
  23. package/dist/index109.cjs +2 -1
  24. package/dist/index109.js +3 -35
  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 +65 -16
  29. package/dist/index111.cjs +1 -1
  30. package/dist/index111.js +2 -2
  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 +35 -2
  35. package/dist/index114.cjs +1 -1
  36. package/dist/index114.js +1 -1
  37. package/dist/index115.cjs +1 -1
  38. package/dist/index115.js +1 -1
  39. package/dist/index117.cjs +1 -1
  40. package/dist/index117.js +1 -1
  41. package/dist/index118.cjs +1 -0
  42. package/dist/index118.js +21 -0
  43. package/dist/index12.cjs +1 -1
  44. package/dist/index12.js +136 -10
  45. package/dist/index13.cjs +1 -1
  46. package/dist/index13.js +15 -2
  47. package/dist/index14.cjs +1 -1
  48. package/dist/index14.js +2 -34
  49. package/dist/index15.cjs +1 -1
  50. package/dist/index15.js +32 -17
  51. package/dist/index16.cjs +1 -1
  52. package/dist/index16.js +14 -183
  53. package/dist/index17.cjs +1 -1
  54. package/dist/index17.js +187 -92
  55. package/dist/index18.cjs +1 -1
  56. package/dist/index18.js +92 -34
  57. package/dist/index19.cjs +1 -1
  58. package/dist/index19.js +36 -32
  59. package/dist/index20.cjs +1 -16
  60. package/dist/index20.js +30 -112
  61. package/dist/index21.cjs +16 -1
  62. package/dist/index21.js +113 -30
  63. package/dist/index22.cjs +1 -1
  64. package/dist/index22.js +31 -18
  65. package/dist/index23.cjs +1 -1
  66. package/dist/index23.js +17 -7
  67. package/dist/index24.cjs +1 -1
  68. package/dist/index24.js +6 -44
  69. package/dist/index25.cjs +1 -1
  70. package/dist/index25.js +45 -21
  71. package/dist/index26.cjs +1 -1
  72. package/dist/index26.js +21 -8
  73. package/dist/index27.cjs +1 -1
  74. package/dist/index27.js +8 -31
  75. package/dist/index28.cjs +1 -1
  76. package/dist/index28.js +31 -26
  77. package/dist/index29.cjs +1 -2
  78. package/dist/index29.js +25 -64
  79. package/dist/index30.cjs +2 -1
  80. package/dist/index30.js +64 -50
  81. package/dist/index31.cjs +1 -1
  82. package/dist/index31.js +51 -12
  83. package/dist/index32.cjs +1 -1
  84. package/dist/index32.js +12 -24
  85. package/dist/index33.cjs +1 -1
  86. package/dist/index33.js +24 -75
  87. package/dist/index34.cjs +1 -1
  88. package/dist/index34.js +74 -22
  89. package/dist/index35.cjs +1 -1
  90. package/dist/index35.js +23 -7
  91. package/dist/index36.cjs +1 -1
  92. package/dist/index36.js +7 -32
  93. package/dist/index37.cjs +1 -1
  94. package/dist/index37.js +31 -14
  95. package/dist/index38.cjs +1 -1
  96. package/dist/index38.js +16 -2
  97. package/dist/index39.cjs +1 -1
  98. package/dist/index39.js +2 -9
  99. package/dist/index4.cjs +1 -1
  100. package/dist/index4.js +2 -2
  101. package/dist/index40.cjs +1 -1
  102. package/dist/index40.js +8 -20
  103. package/dist/index41.cjs +1 -1
  104. package/dist/index41.js +20 -12
  105. package/dist/index42.cjs +1 -1
  106. package/dist/index42.js +40 -33
  107. package/dist/index43.cjs +1 -2
  108. package/dist/index43.js +24 -58
  109. package/dist/index44.cjs +1 -1
  110. package/dist/index44.js +7 -2
  111. package/dist/index45.cjs +1 -1
  112. package/dist/index45.js +13 -6
  113. package/dist/index46.cjs +1 -1
  114. package/dist/index46.js +15 -6
  115. package/dist/index47.cjs +1 -1
  116. package/dist/index47.js +5 -4
  117. package/dist/index48.cjs +1 -1
  118. package/dist/index48.js +13 -11
  119. package/dist/index49.cjs +1 -5
  120. package/dist/index49.js +10 -56
  121. package/dist/index50.cjs +1 -1
  122. package/dist/index50.js +12 -3
  123. package/dist/index51.cjs +1 -2
  124. package/dist/index51.js +11 -34
  125. package/dist/index52.cjs +1 -1
  126. package/dist/index52.js +13 -5
  127. package/dist/index53.cjs +1 -1
  128. package/dist/index53.js +54 -20
  129. package/dist/index54.cjs +1 -1
  130. package/dist/index54.js +16 -12
  131. package/dist/index55.cjs +1 -1
  132. package/dist/index55.js +5 -55
  133. package/dist/index56.cjs +1 -1
  134. package/dist/index56.js +4 -4
  135. package/dist/index57.cjs +1 -1
  136. package/dist/index57.js +169 -19
  137. package/dist/index58.cjs +1 -1
  138. package/dist/index58.js +103 -11
  139. package/dist/index59.cjs +1 -1
  140. package/dist/index59.js +21 -8
  141. package/dist/index6.cjs +1 -1
  142. package/dist/index6.js +40 -22
  143. package/dist/index60.cjs +1 -1
  144. package/dist/index60.js +11 -9
  145. package/dist/index61.cjs +1 -1
  146. package/dist/index61.js +34 -11
  147. package/dist/index62.cjs +1 -1
  148. package/dist/index62.js +6 -6
  149. package/dist/index63.cjs +2 -1
  150. package/dist/index63.js +59 -13
  151. package/dist/index64.cjs +1 -1
  152. package/dist/index64.js +2 -33
  153. package/dist/index65.cjs +1 -1
  154. package/dist/index65.js +6 -14
  155. package/dist/index66.cjs +1 -1
  156. package/dist/index66.js +4 -64
  157. package/dist/index67.cjs +1 -1
  158. package/dist/index67.js +11 -27
  159. package/dist/index68.cjs +5 -1
  160. package/dist/index68.js +57 -3
  161. package/dist/index69.cjs +2 -1
  162. package/dist/index69.js +34 -5
  163. package/dist/index7.cjs +1 -1
  164. package/dist/index7.js +24 -2
  165. package/dist/index70.cjs +1 -1
  166. package/dist/index70.js +5 -8
  167. package/dist/index71.cjs +1 -1
  168. package/dist/index71.js +3 -3
  169. package/dist/index72.cjs +1 -1
  170. package/dist/index72.js +21 -13
  171. package/dist/index73.cjs +1 -1
  172. package/dist/index73.js +8 -41
  173. package/dist/index74.cjs +1 -1
  174. package/dist/index74.js +9 -102
  175. package/dist/index75.cjs +1 -1
  176. package/dist/index75.js +10 -190
  177. package/dist/index76.cjs +1 -1
  178. package/dist/index76.js +5 -17
  179. package/dist/index77.cjs +1 -1
  180. package/dist/index77.js +12 -10
  181. package/dist/index78.cjs +1 -1
  182. package/dist/index78.js +32 -19
  183. package/dist/index79.cjs +1 -1
  184. package/dist/index79.js +14 -25
  185. package/dist/index8.cjs +1 -1
  186. package/dist/index8.js +2 -100
  187. package/dist/index80.cjs +1 -1
  188. package/dist/index80.js +64 -6
  189. package/dist/index81.cjs +1 -1
  190. package/dist/index81.js +27 -13
  191. package/dist/index82.cjs +1 -1
  192. package/dist/index82.js +3 -16
  193. package/dist/index83.cjs +1 -1
  194. package/dist/index83.js +3 -5
  195. package/dist/index84.cjs +1 -1
  196. package/dist/index84.js +8 -13
  197. package/dist/index85.cjs +1 -1
  198. package/dist/index85.js +190 -9
  199. package/dist/index86.cjs +1 -1
  200. package/dist/index86.js +18 -16
  201. package/dist/index87.cjs +1 -1
  202. package/dist/index87.js +110 -169
  203. package/dist/index88.cjs +1 -1
  204. package/dist/index88.js +14 -6
  205. package/dist/index89.cjs +1 -1
  206. package/dist/index89.js +220 -9
  207. package/dist/index9.cjs +1 -1
  208. package/dist/index9.js +90 -34
  209. package/dist/index90.cjs +1 -1
  210. package/dist/index90.js +38 -100
  211. package/dist/index91.cjs +1 -1
  212. package/dist/index91.js +102 -36
  213. package/dist/index92.cjs +1 -1
  214. package/dist/index92.js +18 -2
  215. package/dist/index93.cjs +1 -1
  216. package/dist/index93.js +79 -5
  217. package/dist/index94.cjs +1 -1
  218. package/dist/index94.js +18 -10
  219. package/dist/index95.cjs +1 -1
  220. package/dist/index95.js +6 -40
  221. package/dist/index96.cjs +1 -1
  222. package/dist/index96.js +9 -18
  223. package/dist/index97.cjs +1 -1
  224. package/dist/index97.js +20 -5
  225. package/dist/index98.cjs +1 -1
  226. package/dist/index98.js +9 -34
  227. package/dist/index99.cjs +1 -1
  228. package/dist/index99.js +38 -127
  229. package/dist/src/index.d.ts +1 -0
  230. package/dist/src/lib/auth/siwe/siwe.d.ts +2 -1
  231. package/dist/src/lib/digestKey/digestKey.d.ts +12 -0
  232. package/package.json +2 -1
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index2.cjs"),e=require("./index3.cjs"),s=require("./index4.cjs"),r=require("./index5.cjs"),i=require("./index6.cjs"),n=require("./index7.cjs"),u=require("./index8.cjs"),c=require("./index9.cjs"),a=require("./index10.cjs"),p=require("./index11.cjs"),k=require("./index12.cjs"),l=require("./index13.cjs"),t=require("./index14.cjs"),y=require("./index15.cjs");exports.ApiStatus=o.ApiStatus;exports.Authorization=e.Authorization;exports.Environment=e.Environment;exports.Network=e.Network;exports.add0x=e.add0x;exports.hexToU32Array=e.hexToU32Array;exports.parseJwt=e.parseJwt;exports.sleep=e.sleep;exports.with0x=e.with0x;exports.checkAllowanceAndApprove=s.checkAllowanceAndApprove;exports.Err=r.Err;exports.Ok=r.Ok;exports.Result=r.Result;exports.Void=r.Void;exports.Url=i.Url;exports.AuthHeaderEnum=n.AuthHeaderEnum;exports.Siwe=u.Siwe;exports.ApiKey=c.ApiKey;exports.Passkey=a.Passkey;exports.PasskeyLogin=p.PasskeyLogin;exports.MemoryStorage=k.MemoryStorage;exports.StoreKeys=l.StoreKeys;exports.fetchBitcoinBlockNumber=t.fetchBitcoinBlockNumber;exports.fetchEVMBlockNumber=t.fetchEVMBlockNumber;exports.EventBroker=y.EventBroker;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index2.cjs"),e=require("./index3.cjs"),s=require("./index4.cjs"),r=require("./index5.cjs"),i=require("./index6.cjs"),n=require("./index7.cjs"),u=require("./index8.cjs"),c=require("./index9.cjs"),a=require("./index10.cjs"),y=require("./index11.cjs"),p=require("./index12.cjs"),k=require("./index13.cjs"),l=require("./index14.cjs"),t=require("./index15.cjs"),A=require("./index16.cjs");exports.ApiStatus=o.ApiStatus;exports.Authorization=e.Authorization;exports.Environment=e.Environment;exports.Network=e.Network;exports.add0x=e.add0x;exports.hexToU32Array=e.hexToU32Array;exports.parseJwt=e.parseJwt;exports.sleep=e.sleep;exports.with0x=e.with0x;exports.checkAllowanceAndApprove=s.checkAllowanceAndApprove;exports.Err=r.Err;exports.Ok=r.Ok;exports.Result=r.Result;exports.Void=r.Void;exports.DigestKey=i.DigestKey;exports.Url=n.Url;exports.AuthHeaderEnum=u.AuthHeaderEnum;exports.Siwe=c.Siwe;exports.ApiKey=a.ApiKey;exports.Passkey=y.Passkey;exports.PasskeyLogin=p.PasskeyLogin;exports.MemoryStorage=k.MemoryStorage;exports.StoreKeys=l.StoreKeys;exports.fetchBitcoinBlockNumber=t.fetchBitcoinBlockNumber;exports.fetchEVMBlockNumber=t.fetchEVMBlockNumber;exports.EventBroker=A.EventBroker;
package/dist/index.js CHANGED
@@ -2,38 +2,40 @@ import { ApiStatus as e } from "./index2.js";
2
2
  import { Authorization as p, Environment as m, Network as x, add0x as f, hexToU32Array as i, parseJwt as a, sleep as n, with0x as s } from "./index3.js";
3
3
  import { checkAllowanceAndApprove as k } from "./index4.js";
4
4
  import { Err as h, Ok as l, Result as u, Void as y } from "./index5.js";
5
- import { Url as w } from "./index6.js";
6
- import { AuthHeaderEnum as B } from "./index7.js";
7
- import { Siwe as v } from "./index8.js";
8
- import { ApiKey as b } from "./index9.js";
9
- import { Passkey as K } from "./index10.js";
10
- import { PasskeyLogin as P } from "./index11.js";
11
- import { MemoryStorage as V } from "./index12.js";
12
- import { StoreKeys as H } from "./index13.js";
13
- import { fetchBitcoinBlockNumber as L, fetchEVMBlockNumber as O } from "./index14.js";
14
- import { EventBroker as T } from "./index15.js";
5
+ import { DigestKey as w } from "./index6.js";
6
+ import { Url as B } from "./index7.js";
7
+ import { AuthHeaderEnum as g } from "./index8.js";
8
+ import { Siwe as K } from "./index9.js";
9
+ import { ApiKey as b } from "./index10.js";
10
+ import { Passkey as P } from "./index11.js";
11
+ import { PasskeyLogin as V } from "./index12.js";
12
+ import { MemoryStorage as D } from "./index13.js";
13
+ import { StoreKeys as J } from "./index14.js";
14
+ import { fetchBitcoinBlockNumber as O, fetchEVMBlockNumber as R } from "./index15.js";
15
+ import { EventBroker as j } from "./index16.js";
15
16
  export {
16
17
  b as ApiKey,
17
18
  e as ApiStatus,
18
- B as AuthHeaderEnum,
19
+ g as AuthHeaderEnum,
19
20
  p as Authorization,
21
+ w as DigestKey,
20
22
  m as Environment,
21
23
  h as Err,
22
- T as EventBroker,
23
- V as MemoryStorage,
24
+ j as EventBroker,
25
+ D as MemoryStorage,
24
26
  x as Network,
25
27
  l as Ok,
26
- K as Passkey,
27
- P as PasskeyLogin,
28
+ P as Passkey,
29
+ V as PasskeyLogin,
28
30
  u as Result,
29
- v as Siwe,
30
- H as StoreKeys,
31
- w as Url,
31
+ K as Siwe,
32
+ J as StoreKeys,
33
+ B as Url,
32
34
  y as Void,
33
35
  f as add0x,
34
36
  k as checkAllowanceAndApprove,
35
- L as fetchBitcoinBlockNumber,
36
- O as fetchEVMBlockNumber,
37
+ O as fetchBitcoinBlockNumber,
38
+ R as fetchEVMBlockNumber,
37
39
  i as hexToU32Array,
38
40
  a as parseJwt,
39
41
  n as sleep,
package/dist/index10.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index16.cjs"),o=require("./index7.cjs"),s=require("./index3.cjs");class i{constructor(e){this.token=e}async getToken(){return this.token?this.verifyToken(this.token).ok?t.Ok(this.token):t.Err("Token is invalid"):t.Err("Token is not set")}verifyToken(e){try{const r=s.parseJwt(e);if(!r)return t.Ok(!1);const n=Math.floor(Date.now()/1e3)+120;return t.Ok(r.exp>n)}catch{return t.Ok(!1)}}async getAuthHeaders(){const e=await this.getToken();return e.ok?t.Ok({[o.AuthHeaderEnum.Authorization]:e.val}):t.Err(e.error??"Failed to get auth token")}}exports.Passkey=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index17.cjs"),l=require("./index8.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;
package/dist/index10.js CHANGED
@@ -1,28 +1,46 @@
1
- import { Err as r, Ok as e } from "./index16.js";
2
- import { AuthHeaderEnum as s } from "./index7.js";
3
- import { parseJwt as i } from "./index3.js";
4
- class c {
5
- constructor(t) {
6
- this.token = t;
1
+ import { Err as i, Ok as n } from "./index17.js";
2
+ import { AuthHeaderEnum as u } from "./index8.js";
3
+ class h {
4
+ constructor(e) {
5
+ this.apiKey = e;
7
6
  }
8
7
  async getToken() {
9
- return this.token ? this.verifyToken(this.token).ok ? e(this.token) : r("Token is invalid") : r("Token is not set");
8
+ const e = this.verifyToken();
9
+ return e.error ? i(e.error) : e.val ? n(this.apiKey) : i("Token verification failed");
10
10
  }
11
- verifyToken(t) {
12
- try {
13
- const o = i(t);
14
- if (!o) return e(!1);
15
- const n = Math.floor(Date.now() / 1e3) + 120;
16
- return e(o.exp > n);
17
- } catch {
18
- return e(!1);
19
- }
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);
17
+ }
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));
23
+ }
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("")
37
+ });
20
38
  }
21
39
  async getAuthHeaders() {
22
- const t = await this.getToken();
23
- return t.ok ? e({ [s.Authorization]: t.val }) : r(t.error ?? "Failed to get auth token");
40
+ const e = await this.getToken();
41
+ return e.ok ? n({ [u.ApiKey]: e.val }) : i(e.error ?? "Failed to get auth token");
24
42
  }
25
43
  }
26
44
  export {
27
- c as Passkey
45
+ h as ApiKey
28
46
  };
package/dist/index100.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index102.cjs"),s=require("./index71.cjs"),r=require("./index55.cjs");function o(t,i){return e.sha256(s.isHex(t,{strict:!1})?r.toBytes(t):t)}exports.sha256=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={ether:-9,wei:9};exports.gweiUnits=e;
package/dist/index100.js CHANGED
@@ -1,9 +1,7 @@
1
- import { sha256 as o } from "./index102.js";
2
- import { isHex as s } from "./index71.js";
3
- import { toBytes as r } from "./index55.js";
4
- function p(t, i) {
5
- return o(s(t, { strict: !1 }) ? r(t) : t);
6
- }
1
+ const e = {
2
+ ether: -9,
3
+ wei: 9
4
+ };
7
5
  export {
8
- p as sha256
6
+ e as gweiUnits
9
7
  };
package/dist/index101.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=`Ethereum Signed Message:
2
- `;exports.presignMessagePrefix=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(r,i){let t=r.toString();const n=t.startsWith("-");n&&(t=t.slice(1)),t=t.padStart(i,"0");let[l,e]=[t.slice(0,t.length-i),t.slice(t.length-i)];return e=e.replace(/(0+)$/,""),`${n?"-":""}${l||"0"}${e?`.${e}`:""}`}exports.formatUnits=o;
package/dist/index101.js CHANGED
@@ -1,5 +1,13 @@
1
- const e = `Ethereum Signed Message:
2
- `;
1
+ function a(r, n) {
2
+ let t = r.toString();
3
+ const i = t.startsWith("-");
4
+ i && (t = t.slice(1)), t = t.padStart(n, "0");
5
+ let [l, e] = [
6
+ t.slice(0, t.length - n),
7
+ t.slice(t.length - n)
8
+ ];
9
+ return e = e.replace(/(0+)$/, ""), `${i ? "-" : ""}${l || "0"}${e ? `.${e}` : ""}`;
10
+ }
3
11
  export {
4
- e as presignMessagePrefix
12
+ a as formatUnits
5
13
  };
package/dist/index102.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("./index112.cjs"),s=require("./index111.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=2n**256n-1n;exports.maxUint256=t;
package/dist/index102.js CHANGED
@@ -1,115 +1,4 @@
1
- import { HashMD as m, Chi as p, Maj as u } from "./index112.js";
2
- import { wrapConstructor as D, rotr as i } from "./index111.js";
3
- const g = /* @__PURE__ */ new Uint32Array([
4
- 1116352408,
5
- 1899447441,
6
- 3049323471,
7
- 3921009573,
8
- 961987163,
9
- 1508970993,
10
- 2453635748,
11
- 2870763221,
12
- 3624381080,
13
- 310598401,
14
- 607225278,
15
- 1426881987,
16
- 1925078388,
17
- 2162078206,
18
- 2614888103,
19
- 3248222580,
20
- 3835390401,
21
- 4022224774,
22
- 264347078,
23
- 604807628,
24
- 770255983,
25
- 1249150122,
26
- 1555081692,
27
- 1996064986,
28
- 2554220882,
29
- 2821834349,
30
- 2952996808,
31
- 3210313671,
32
- 3336571891,
33
- 3584528711,
34
- 113926993,
35
- 338241895,
36
- 666307205,
37
- 773529912,
38
- 1294757372,
39
- 1396182291,
40
- 1695183700,
41
- 1986661051,
42
- 2177026350,
43
- 2456956037,
44
- 2730485921,
45
- 2820302411,
46
- 3259730800,
47
- 3345764771,
48
- 3516065817,
49
- 3600352804,
50
- 4094571909,
51
- 275423344,
52
- 430227734,
53
- 506948616,
54
- 659060556,
55
- 883997877,
56
- 958139571,
57
- 1322822218,
58
- 1537002063,
59
- 1747873779,
60
- 1955562222,
61
- 2024104815,
62
- 2227730452,
63
- 2361852424,
64
- 2428436474,
65
- 2756734187,
66
- 3204031479,
67
- 3329325298
68
- ]), b = /* @__PURE__ */ new Uint32Array([
69
- 1779033703,
70
- 3144134277,
71
- 1013904242,
72
- 2773480762,
73
- 1359893119,
74
- 2600822924,
75
- 528734635,
76
- 1541459225
77
- ]), h = /* @__PURE__ */ new Uint32Array(64);
78
- class w extends m {
79
- constructor() {
80
- 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;
81
- }
82
- get() {
83
- const { A: d, B: o, C: t, D: s, E: a, F: f, G: c, H: e } = this;
84
- return [d, o, t, s, a, f, c, e];
85
- }
86
- // prettier-ignore
87
- set(d, o, t, s, a, f, c, e) {
88
- this.A = d | 0, this.B = o | 0, this.C = t | 0, this.D = s | 0, this.E = a | 0, this.F = f | 0, this.G = c | 0, this.H = e | 0;
89
- }
90
- process(d, o) {
91
- for (let x = 0; x < 16; x++, o += 4)
92
- h[x] = d.getUint32(o, !1);
93
- for (let x = 16; x < 64; x++) {
94
- const A = h[x - 15], n = h[x - 2], C = i(A, 7) ^ i(A, 18) ^ A >>> 3, H = i(n, 17) ^ i(n, 19) ^ n >>> 10;
95
- h[x] = H + h[x - 7] + C + h[x - 16] | 0;
96
- }
97
- let { A: t, B: s, C: a, D: f, E: c, F: e, G: r, H: l } = this;
98
- for (let x = 0; x < 64; x++) {
99
- const A = i(c, 6) ^ i(c, 11) ^ i(c, 25), n = l + A + p(c, e, r) + g[x] + h[x] | 0, H = (i(t, 2) ^ i(t, 13) ^ i(t, 22)) + u(t, s, a) | 0;
100
- l = r, r = e, e = c, c = f + n | 0, f = a, a = s, s = t, t = n + H | 0;
101
- }
102
- t = t + this.A | 0, s = s + this.B | 0, a = a + this.C | 0, f = f + this.D | 0, c = c + this.E | 0, e = e + this.F | 0, r = r + this.G | 0, l = l + this.H | 0, this.set(t, s, a, f, c, e, r, l);
103
- }
104
- roundClean() {
105
- h.fill(0);
106
- }
107
- destroy() {
108
- this.set(0, 0, 0, 0, 0, 0, 0, 0), this.buffer.fill(0);
109
- }
110
- }
111
- const G = /* @__PURE__ */ D(() => new w());
1
+ const n = 2n ** 256n - 1n;
112
2
  export {
113
- w as SHA256,
114
- G as sha256
3
+ n as maxUint256
115
4
  };
package/dist/index103.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index104.cjs"),w=require("./index92.cjs"),t=require("./index54.cjs"),P=require("./index43.cjs"),h=require("./index98.cjs"),d=require("./index45.cjs"),n=require("./index51.cjs"),c=require("./index58.cjs"),I=require("./index47.cjs"),u=require("./index91.cjs"),l=require("./index34.cjs");function m(o){const{authorizationList:e}=o;if(e)for(const s of e){const{contractAddress:r,chainId:i}=s;if(!c.isAddress(r))throw new t.InvalidAddressError({address:r});if(i<0)throw new d.InvalidChainIdError({chainId:i})}f(o)}function T(o){const{blobVersionedHashes:e}=o;if(e){if(e.length===0)throw new h.EmptyBlobError;for(const s of e){const r=I.size(s),i=l.hexToNumber(u.slice(s,0,1));if(r!==32)throw new h.InvalidVersionedHashSizeError({hash:s,size:r});if(i!==E.versionedHashVersionKzg)throw new h.InvalidVersionedHashVersionError({hash:s,version:i})}}f(o)}function f(o){const{chainId:e,maxPriorityFeePerGas:s,maxFeePerGas:r,to:i}=o;if(e<=0)throw new d.InvalidChainIdError({chainId:e});if(i&&!c.isAddress(i))throw new t.InvalidAddressError({address:i});if(r&&r>w.maxUint256)throw new n.FeeCapTooHighError({maxFeePerGas:r});if(s&&r&&s>r)throw new n.TipAboveFeeCapError({maxFeePerGas:r,maxPriorityFeePerGas:s})}function x(o){const{chainId:e,maxPriorityFeePerGas:s,gasPrice:r,maxFeePerGas:i,to:a}=o;if(e<=0)throw new d.InvalidChainIdError({chainId:e});if(a&&!c.isAddress(a))throw new t.InvalidAddressError({address:a});if(s||i)throw new P.BaseError("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(r&&r>w.maxUint256)throw new n.FeeCapTooHighError({maxFeePerGas:r})}function v(o){const{chainId:e,maxPriorityFeePerGas:s,gasPrice:r,maxFeePerGas:i,to:a}=o;if(a&&!c.isAddress(a))throw new t.InvalidAddressError({address:a});if(typeof e<"u"&&e<=0)throw new d.InvalidChainIdError({chainId:e});if(s||i)throw new P.BaseError("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(r&&r>w.maxUint256)throw new n.FeeCapTooHighError({maxFeePerGas:r})}exports.assertTransactionEIP1559=f;exports.assertTransactionEIP2930=x;exports.assertTransactionEIP4844=T;exports.assertTransactionEIP7702=m;exports.assertTransactionLegacy=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index63.cjs");class t extends o.BaseError{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class i extends o.BaseError{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}}class n extends o.BaseError{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}exports.NegativeOffsetError=t;exports.PositionOutOfBoundsError=i;exports.RecursiveReadLimitExceededError=n;
package/dist/index103.js CHANGED
@@ -1,81 +1,23 @@
1
- import { versionedHashVersionKzg as d } from "./index104.js";
2
- import { maxUint256 as m } from "./index92.js";
3
- import { InvalidAddressError as s } from "./index54.js";
4
- import { BaseError as h } from "./index43.js";
5
- import { EmptyBlobError as P, InvalidVersionedHashSizeError as p, InvalidVersionedHashVersionError as x } from "./index98.js";
6
- import { InvalidChainIdError as n } from "./index45.js";
7
- import { FeeCapTooHighError as w, TipAboveFeeCapError as E } from "./index51.js";
8
- import { isAddress as f } from "./index58.js";
9
- import { size as F } from "./index47.js";
10
- import { slice as I } from "./index91.js";
11
- import { hexToNumber as G } from "./index34.js";
12
- function C(t) {
13
- const { authorizationList: e } = t;
14
- if (e)
15
- for (const o of e) {
16
- const { contractAddress: r, chainId: i } = o;
17
- if (!f(r))
18
- throw new s({ address: r });
19
- if (i < 0)
20
- throw new n({ chainId: i });
21
- }
22
- c(t);
23
- }
24
- function L(t) {
25
- const { blobVersionedHashes: e } = t;
26
- if (e) {
27
- if (e.length === 0)
28
- throw new P();
29
- for (const o of e) {
30
- const r = F(o), i = G(I(o, 0, 1));
31
- if (r !== 32)
32
- throw new p({ hash: o, size: r });
33
- if (i !== d)
34
- throw new x({
35
- hash: o,
36
- version: i
37
- });
38
- }
1
+ import { BaseError as o } from "./index63.js";
2
+ class i extends o {
3
+ constructor({ offset: e }) {
4
+ super(`Offset \`${e}\` cannot be negative.`, {
5
+ name: "NegativeOffsetError"
6
+ });
39
7
  }
40
- c(t);
41
- }
42
- function c(t) {
43
- const { chainId: e, maxPriorityFeePerGas: o, maxFeePerGas: r, to: i } = t;
44
- if (e <= 0)
45
- throw new n({ chainId: e });
46
- if (i && !f(i))
47
- throw new s({ address: i });
48
- if (r && r > m)
49
- throw new w({ maxFeePerGas: r });
50
- if (o && r && o > r)
51
- throw new E({ maxFeePerGas: r, maxPriorityFeePerGas: o });
52
8
  }
53
- function B(t) {
54
- const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
55
- if (e <= 0)
56
- throw new n({ chainId: e });
57
- if (a && !f(a))
58
- throw new s({ address: a });
59
- if (o || i)
60
- throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");
61
- if (r && r > m)
62
- throw new w({ maxFeePerGas: r });
9
+ class n extends o {
10
+ constructor({ length: e, position: r }) {
11
+ super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`, { name: "PositionOutOfBoundsError" });
12
+ }
63
13
  }
64
- function K(t) {
65
- const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
66
- if (a && !f(a))
67
- throw new s({ address: a });
68
- if (typeof e < "u" && e <= 0)
69
- throw new n({ chainId: e });
70
- if (o || i)
71
- throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");
72
- if (r && r > m)
73
- throw new w({ maxFeePerGas: r });
14
+ class c extends o {
15
+ constructor({ count: e, limit: r }) {
16
+ super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`, { name: "RecursiveReadLimitExceededError" });
17
+ }
74
18
  }
75
19
  export {
76
- c as assertTransactionEIP1559,
77
- B as assertTransactionEIP2930,
78
- L as assertTransactionEIP4844,
79
- C as assertTransactionEIP7702,
80
- K as assertTransactionLegacy
20
+ i as NegativeOffsetError,
21
+ n as PositionOutOfBoundsError,
22
+ c as RecursiveReadLimitExceededError
81
23
  };
package/dist/index104.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=1;exports.versionedHashVersionKzg=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index87.cjs"),s=require("./index83.cjs"),r=require("./index53.cjs");function o(t,i){return e.sha256(s.isHex(t,{strict:!1})?r.toBytes(t):t)}exports.sha256=o;
package/dist/index104.js CHANGED
@@ -1,4 +1,9 @@
1
- const e = 1;
1
+ import { sha256 as o } from "./index87.js";
2
+ import { isHex as s } from "./index83.js";
3
+ import { toBytes as r } from "./index53.js";
4
+ function p(t, i) {
5
+ return o(s(t, { strict: !1 }) ? r(t) : t);
6
+ }
2
7
  export {
3
- e as versionedHashVersionKzg
8
+ p as sha256
4
9
  };
package/dist/index105.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index24.cjs"),c=require("./index87.cjs");function u(t){if(!t||t.length===0)return[];const e=[];for(const n of t){const{contractAddress:s,chainId:r,nonce:i,...a}=n;e.push([r?o.toHex(r):"0x",s,i?o.toHex(i):"0x",...c.toYParitySignatureArray({},a)])}return e}exports.serializeAuthorizationList=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=6,s=32,e=4096,n=s*e,o=n*t-1-1*e*t;exports.bytesPerBlob=n;exports.bytesPerFieldElement=s;exports.fieldElementsPerBlob=e;exports.maxBytesPerTransaction=o;
package/dist/index105.js CHANGED
@@ -1,20 +1,7 @@
1
- import { toHex as i } from "./index24.js";
2
- import { toYParitySignatureArray as c } from "./index87.js";
3
- function d(r) {
4
- if (!r || r.length === 0)
5
- return [];
6
- const t = [];
7
- for (const e of r) {
8
- const { contractAddress: s, chainId: o, nonce: n, ...a } = e;
9
- t.push([
10
- o ? i(o) : "0x",
11
- s,
12
- n ? i(n) : "0x",
13
- ...c({}, a)
14
- ]);
15
- }
16
- return t;
17
- }
1
+ const e = 32, s = 4096, t = 131072, l = 761855;
18
2
  export {
19
- d as serializeAuthorizationList
3
+ t as bytesPerBlob,
4
+ e as bytesPerFieldElement,
5
+ s as fieldElementsPerBlob,
6
+ l as maxBytesPerTransaction
20
7
  };
package/dist/index106.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index54.cjs"),d=require("./index29.cjs"),l=require("./index58.cjs");function a(e){if(!e||e.length===0)return[];const n=[];for(let t=0;t<e.length;t++){const{address:i,storageKeys:r}=e[t];for(let s=0;s<r.length;s++)if(r[s].length-2!==64)throw new d.InvalidStorageKeySizeError({storageKey:r[s]});if(!l.isAddress(i,{strict:!1}))throw new o.InvalidAddressError({address:i});n.push([i,r])}return n}exports.serializeAccessList=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index108.cjs"),s=require("./index63.cjs");class i extends s.BaseError{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class n extends s.BaseError{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class t extends s.BaseError{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class d extends s.BaseError{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${a.versionedHashVersionKzg}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}exports.BlobSizeTooLargeError=i;exports.EmptyBlobError=n;exports.InvalidVersionedHashSizeError=t;exports.InvalidVersionedHashVersionError=d;
package/dist/index106.js CHANGED
@@ -1,21 +1,40 @@
1
- import { InvalidAddressError as s } from "./index54.js";
2
- import { InvalidStorageKeySizeError as l } from "./index29.js";
3
- import { isAddress as f } from "./index58.js";
4
- function a(r) {
5
- if (!r || r.length === 0)
6
- return [];
7
- const n = [];
8
- for (let o = 0; o < r.length; o++) {
9
- const { address: i, storageKeys: e } = r[o];
10
- for (let t = 0; t < e.length; t++)
11
- if (e[t].length - 2 !== 64)
12
- throw new l({ storageKey: e[t] });
13
- if (!f(i, { strict: !1 }))
14
- throw new s({ address: i });
15
- n.push([i, e]);
1
+ import { versionedHashVersionKzg as a } from "./index108.js";
2
+ import { BaseError as s } from "./index63.js";
3
+ class t extends s {
4
+ constructor({ maxSize: e, size: r }) {
5
+ super("Blob size is too large.", {
6
+ metaMessages: [`Max: ${e} bytes`, `Given: ${r} bytes`],
7
+ name: "BlobSizeTooLargeError"
8
+ });
9
+ }
10
+ }
11
+ class d extends s {
12
+ constructor() {
13
+ super("Blob data must not be empty.", { name: "EmptyBlobError" });
14
+ }
15
+ }
16
+ class l extends s {
17
+ constructor({ hash: e, size: r }) {
18
+ super(`Versioned hash "${e}" size is invalid.`, {
19
+ metaMessages: ["Expected: 32", `Received: ${r}`],
20
+ name: "InvalidVersionedHashSizeError"
21
+ });
22
+ }
23
+ }
24
+ class c extends s {
25
+ constructor({ hash: e, version: r }) {
26
+ super(`Versioned hash "${e}" version is invalid.`, {
27
+ metaMessages: [
28
+ `Expected: ${a}`,
29
+ `Received: ${r}`
30
+ ],
31
+ name: "InvalidVersionedHashVersionError"
32
+ });
16
33
  }
17
- return n;
18
34
  }
19
35
  export {
20
- a as serializeAccessList
36
+ t as BlobSizeTooLargeError,
37
+ d as EmptyBlobError,
38
+ l as InvalidVersionedHashSizeError,
39
+ c as InvalidVersionedHashVersionError
21
40
  };
package/dist/index107.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index114.cjs"),s=require("./index111.cjs"),o=require("./index115.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function c(e){return{hash:e,hmac:(r,...t)=>a.hmac(e,r,s.concatBytes(...t)),randomBytes:s.randomBytes}}function u(e,r){const t=n=>o.weierstrass({...e,...c(n)});return{...t(r),create:t}}exports.createCurve=u;exports.getHash=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index103.cjs"),e={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new o.RecursiveReadLimitExceededError({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new o.PositionOutOfBoundsError({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position-t;this.assertPosition(i),this.position=i},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position+t;this.assertPosition(i),this.position=i},inspectByte(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectBytes(t,i){const s=i??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectUint16(t){const i=t??this.position;return this.assertPosition(i+1),this.dataView.getUint16(i)},inspectUint24(t){const i=t??this.position;return this.assertPosition(i+2),(this.dataView.getUint16(i)<<8)+this.dataView.getUint8(i+2)},inspectUint32(t){const i=t??this.position;return this.assertPosition(i+3),this.dataView.getUint32(i)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,i){this.assertReadLimit(),this._touch();const s=this.inspectBytes(t);return this.position+=i??t,s},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const i=this.position;return this.assertPosition(t),this.position=t,()=>this.position=i},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function n(t,{recursiveReadLimit:i=8192}={}){const s=Object.create(e);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=i,s}exports.createCursor=n;