@gardenfi/utils 0.0.1-beta.9 → 2.0.1

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 (114) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +22 -14
  3. package/dist/index10.cjs +1 -16
  4. package/dist/index10.js +16 -111
  5. package/dist/index11.cjs +1 -1
  6. package/dist/index11.js +187 -17
  7. package/dist/index12.cjs +1 -1
  8. package/dist/index12.js +93 -7
  9. package/dist/index13.cjs +1 -1
  10. package/dist/index13.js +31 -20
  11. package/dist/index14.cjs +1 -1
  12. package/dist/index14.js +31 -23
  13. package/dist/index15.cjs +16 -1
  14. package/dist/index15.js +113 -8
  15. package/dist/index16.cjs +1 -1
  16. package/dist/index16.js +17 -31
  17. package/dist/index17.cjs +1 -1
  18. package/dist/index17.js +7 -26
  19. package/dist/index18.cjs +1 -1
  20. package/dist/index18.js +18 -21
  21. package/dist/index19.cjs +1 -1
  22. package/dist/index19.js +20 -50
  23. package/dist/index20.cjs +1 -1
  24. package/dist/index20.js +8 -12
  25. package/dist/index21.cjs +1 -1
  26. package/dist/index21.js +30 -23
  27. package/dist/index22.cjs +1 -1
  28. package/dist/index22.js +25 -74
  29. package/dist/index23.cjs +1 -1
  30. package/dist/index23.js +20 -20
  31. package/dist/index24.cjs +1 -1
  32. package/dist/index24.js +51 -7
  33. package/dist/index25.cjs +1 -1
  34. package/dist/index25.js +12 -29
  35. package/dist/index26.cjs +1 -1
  36. package/dist/index26.js +24 -15
  37. package/dist/index27.cjs +1 -1
  38. package/dist/index27.js +76 -2
  39. package/dist/index28.cjs +1 -1
  40. package/dist/index28.js +23 -20
  41. package/dist/index29.cjs +1 -1
  42. package/dist/index29.js +7 -12
  43. package/dist/index3.cjs +1 -1
  44. package/dist/index3.js +7 -4
  45. package/dist/index30.cjs +1 -1
  46. package/dist/index30.js +29 -34
  47. package/dist/index31.cjs +1 -1
  48. package/dist/index31.js +15 -4
  49. package/dist/index32.cjs +1 -2
  50. package/dist/index32.js +2 -60
  51. package/dist/index33.cjs +1 -1
  52. package/dist/index33.js +9 -2
  53. package/dist/index34.cjs +1 -1
  54. package/dist/index34.js +20 -11
  55. package/dist/index35.cjs +1 -1
  56. package/dist/index35.js +12 -3
  57. package/dist/index36.cjs +1 -1
  58. package/dist/index36.js +33 -20
  59. package/dist/index37.cjs +2 -1
  60. package/dist/index37.js +58 -11
  61. package/dist/index38.cjs +1 -1
  62. package/dist/index38.js +2 -56
  63. package/dist/index39.cjs +1 -1
  64. package/dist/index39.js +4 -6
  65. package/dist/index4.cjs +1 -1
  66. package/dist/index4.js +23 -24
  67. package/dist/index40.cjs +1 -1
  68. package/dist/index40.js +11 -21
  69. package/dist/index41.cjs +1 -1
  70. package/dist/index41.js +3 -11
  71. package/dist/index42.cjs +1 -1
  72. package/dist/index42.js +21 -3
  73. package/dist/index43.cjs +1 -1
  74. package/dist/index43.js +10 -9
  75. package/dist/index44.cjs +1 -1
  76. package/dist/index44.js +54 -18
  77. package/dist/index45.cjs +1 -1
  78. package/dist/index45.js +6 -6
  79. package/dist/index46.cjs +1 -1
  80. package/dist/index46.js +18 -101
  81. package/dist/index47.cjs +1 -1
  82. package/dist/index47.js +11 -29
  83. package/dist/index48.cjs +1 -1
  84. package/dist/index48.js +3 -18
  85. package/dist/index49.cjs +1 -1
  86. package/dist/index49.js +10 -31
  87. package/dist/index50.cjs +1 -0
  88. package/dist/index50.js +22 -0
  89. package/dist/index51.cjs +1 -0
  90. package/dist/index51.js +11 -0
  91. package/dist/index52.cjs +1 -0
  92. package/dist/index52.js +9 -0
  93. package/dist/index53.cjs +1 -0
  94. package/dist/index53.js +107 -0
  95. package/dist/index54.cjs +1 -0
  96. package/dist/index54.js +32 -0
  97. package/dist/index55.cjs +1 -0
  98. package/dist/index55.js +21 -0
  99. package/dist/index56.cjs +1 -0
  100. package/dist/index56.js +35 -0
  101. package/dist/index6.cjs +1 -1
  102. package/dist/index6.js +65 -51
  103. package/dist/index9.cjs +1 -1
  104. package/dist/index9.js +33 -94
  105. package/dist/src/index.d.ts +2 -0
  106. package/dist/src/lib/approve.d.ts +0 -3
  107. package/dist/src/lib/auth/auth.types.d.ts +9 -10
  108. package/dist/src/lib/auth/siwe.d.ts +15 -3
  109. package/dist/src/lib/blockNumber/blockNumber.d.ts +17 -0
  110. package/dist/src/lib/blockNumber/index.d.ts +1 -0
  111. package/dist/src/lib/eventBroker/eventBroker.d.ts +7 -0
  112. package/dist/src/lib/eventBroker/index.d.ts +2 -0
  113. package/dist/src/lib/utils.d.ts +9 -0
  114. package/package.json +2 -3
package/dist/index14.js CHANGED
@@ -1,25 +1,33 @@
1
- import { formatTransaction as t } from "./index19.js";
2
- function u(e) {
3
- var s;
4
- const i = (s = e.transactions) == null ? void 0 : s.map((n) => typeof n == "string" ? n : t(n));
5
- return {
6
- ...e,
7
- baseFeePerGas: e.baseFeePerGas ? BigInt(e.baseFeePerGas) : null,
8
- blobGasUsed: e.blobGasUsed ? BigInt(e.blobGasUsed) : void 0,
9
- difficulty: e.difficulty ? BigInt(e.difficulty) : void 0,
10
- excessBlobGas: e.excessBlobGas ? BigInt(e.excessBlobGas) : void 0,
11
- gasLimit: e.gasLimit ? BigInt(e.gasLimit) : void 0,
12
- gasUsed: e.gasUsed ? BigInt(e.gasUsed) : void 0,
13
- hash: e.hash ? e.hash : null,
14
- logsBloom: e.logsBloom ? e.logsBloom : null,
15
- nonce: e.nonce ? e.nonce : null,
16
- number: e.number ? BigInt(e.number) : null,
17
- size: e.size ? BigInt(e.size) : void 0,
18
- timestamp: e.timestamp ? BigInt(e.timestamp) : void 0,
19
- transactions: i,
20
- totalDifficulty: e.totalDifficulty ? BigInt(e.totalDifficulty) : null
21
- };
22
- }
1
+ import { defineChain as e } from "./index51.js";
2
+ const s = /* @__PURE__ */ e({
3
+ id: 11155111,
4
+ name: "Sepolia",
5
+ nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
6
+ rpcUrls: {
7
+ default: {
8
+ http: ["https://sepolia.drpc.org"]
9
+ }
10
+ },
11
+ blockExplorers: {
12
+ default: {
13
+ name: "Etherscan",
14
+ url: "https://sepolia.etherscan.io",
15
+ apiUrl: "https://api-sepolia.etherscan.io/api"
16
+ }
17
+ },
18
+ contracts: {
19
+ multicall3: {
20
+ address: "0xca11bde05977b3631167028862be2a173976ca11",
21
+ blockCreated: 751532
22
+ },
23
+ ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" },
24
+ ensUniversalResolver: {
25
+ address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",
26
+ blockCreated: 5317080
27
+ }
28
+ },
29
+ testnet: !0
30
+ });
23
31
  export {
24
- u as formatBlock
32
+ s as sepolia
25
33
  };
package/dist/index15.cjs CHANGED
@@ -1 +1,16 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index16.cjs"),r=e=>`blockNumber.${e}`;async function u(e,{cacheTime:c=e.cacheTime}={}){const t=await o.withCache(()=>e.request({method:"eth_blockNumber"}),{cacheKey:r(e.uid),cacheTime:c});return BigInt(t)}exports.getBlockNumber=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index49.cjs"),M=require("./index42.cjs"),h=require("./index50.cjs");function R(r){const{chainId:o,domain:s,expirationTime:l,issuedAt:m=new Date,nonce:a,notBefore:f,requestId:w,resources:g,scheme:i,uri:c,version:d}=r;{if(o!==Math.floor(o))throw new e.SiweInvalidMessageFieldError({field:"chainId",metaMessages:["- Chain ID must be a EIP-155 chain ID.","- See https://eips.ethereum.org/EIPS/eip-155","",`Provided value: ${o}`]});if(!(E.test(s)||F.test(s)||b.test(s)))throw new e.SiweInvalidMessageFieldError({field:"domain",metaMessages:["- Domain must be an RFC 3986 authority.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${s}`]});if(!A.test(a))throw new e.SiweInvalidMessageFieldError({field:"nonce",metaMessages:["- Nonce must be at least 8 characters.","- Nonce must be alphanumeric.","",`Provided value: ${a}`]});if(!h.isUri(c))throw new e.SiweInvalidMessageFieldError({field:"uri",metaMessages:["- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${c}`]});if(d!=="1")throw new e.SiweInvalidMessageFieldError({field:"version",metaMessages:["- Version must be '1'.","",`Provided value: ${d}`]});if(i&&!P.test(i))throw new e.SiweInvalidMessageFieldError({field:"scheme",metaMessages:["- Scheme must be an RFC 3986 URI scheme.","- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1","",`Provided value: ${i}`]});const t=r.statement;if(t!=null&&t.includes(`
2
+ `))throw new e.SiweInvalidMessageFieldError({field:"statement",metaMessages:["- Statement must not include '\\n'.","",`Provided value: ${t}`]})}const $=M.getAddress(r.address),v=i?`${i}://${s}`:s,I=r.statement?`${r.statement}
3
+ `:"",S=`${v} wants you to sign in with your Ethereum account:
4
+ ${$}
5
+
6
+ ${I}`;let n=`URI: ${c}
7
+ Version: ${d}
8
+ Chain ID: ${o}
9
+ Nonce: ${a}
10
+ Issued At: ${m.toISOString()}`;if(l&&(n+=`
11
+ Expiration Time: ${l.toISOString()}`),f&&(n+=`
12
+ Not Before: ${f.toISOString()}`),w&&(n+=`
13
+ Request ID: ${w}`),g){let t=`
14
+ Resources:`;for(const u of g){if(!h.isUri(u))throw new e.SiweInvalidMessageFieldError({field:"resources",metaMessages:["- Every resource must be a RFC 3986 URI.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${u}`]});t+=`
15
+ - ${u}`}n+=t}return`${S}
16
+ ${n}`}const E=/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/,F=/^(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})?$/,b=/^localhost(:[0-9]{1,5})?$/,A=/^[a-zA-Z0-9]{8,}$/,P=/^([a-zA-Z][a-zA-Z0-9+-.]*)$/;exports.createSiweMessage=R;
package/dist/index15.js CHANGED
@@ -1,11 +1,116 @@
1
- import { withCache as t } from "./index16.js";
2
- const r = (e) => `blockNumber.${e}`;
3
- async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
- const o = await t(() => e.request({
5
- method: "eth_blockNumber"
6
- }), { cacheKey: r(e.uid), cacheTime: c });
7
- return BigInt(o);
1
+ import { SiweInvalidMessageFieldError as e } from "./index49.js";
2
+ import { getAddress as S } from "./index42.js";
3
+ import { isUri as $ } from "./index50.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}`;
107
+ }
108
+ r += t;
109
+ }
110
+ return `${R}
111
+ ${r}`;
8
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+-.]*)$/;
9
114
  export {
10
- u as getBlockNumber
115
+ C as createSiweMessage
11
116
  };
package/dist/index16.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=new Map,c=new Map;function p(o){const a=(s,t)=>({clear:()=>t.delete(s),get:()=>t.get(s),set:n=>t.set(s,n)}),r=a(o,i),e=a(o,c);return{clear:()=>{r.clear(),e.clear()},promise:r,response:e}}async function l(o,{cacheKey:a,cacheTime:r=Number.POSITIVE_INFINITY}){const e=p(a),s=e.response.get();if(s&&r>0&&new Date().getTime()-s.created.getTime()<r)return s.data;let t=e.promise.get();t||(t=o(),e.promise.set(t));try{const n=await t;return e.response.set({created:new Date,data:n}),n}finally{e.promise.clear()}}exports.getCache=p;exports.promiseCache=i;exports.responseCache=c;exports.withCache=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index17.cjs"),m=require("./index18.cjs"),k=require("./index19.cjs");async function B(t,{blockHash:o,blockNumber:r,blockTag:l,includeTransactions:i}={}){var c,s,u;const d=l??"latest",n=i??!1,a=r!==void 0?m.numberToHex(r):void 0;let e=null;if(o?e=await t.request({method:"eth_getBlockByHash",params:[o,n]},{dedupe:!0}):e=await t.request({method:"eth_getBlockByNumber",params:[a||d,n]},{dedupe:!!a}),!e)throw new f.BlockNotFoundError({blockHash:o,blockNumber:r});return(((u=(s=(c=t.chain)==null?void 0:c.formatters)==null?void 0:s.block)==null?void 0:u.format)||k.formatBlock)(e)}exports.getBlock=B;
package/dist/index16.js CHANGED
@@ -1,34 +1,20 @@
1
- const i = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
2
- function p(o) {
3
- const a = (s, t) => ({
4
- clear: () => t.delete(s),
5
- get: () => t.get(s),
6
- set: (r) => t.set(s, r)
7
- }), n = a(o, i), e = a(o, c);
8
- return {
9
- clear: () => {
10
- n.clear(), e.clear();
11
- },
12
- promise: n,
13
- response: e
14
- };
15
- }
16
- async function l(o, { cacheKey: a, cacheTime: n = Number.POSITIVE_INFINITY }) {
17
- const e = p(a), s = e.response.get();
18
- if (s && n > 0 && (/* @__PURE__ */ new Date()).getTime() - s.created.getTime() < n)
19
- return s.data;
20
- let t = e.promise.get();
21
- t || (t = o(), e.promise.set(t));
22
- try {
23
- const r = await t;
24
- return e.response.set({ created: /* @__PURE__ */ new Date(), data: r }), r;
25
- } finally {
26
- e.promise.clear();
27
- }
1
+ import { BlockNotFoundError as i } from "./index17.js";
2
+ import { numberToHex as l } from "./index18.js";
3
+ import { formatBlock as p } from "./index19.js";
4
+ async function T(e, { blockHash: t, blockNumber: r, blockTag: f, includeTransactions: u } = {}) {
5
+ var m, s, c;
6
+ const d = f ?? "latest", a = u ?? !1, n = r !== void 0 ? l(r) : void 0;
7
+ let o = null;
8
+ if (t ? o = await e.request({
9
+ method: "eth_getBlockByHash",
10
+ params: [t, a]
11
+ }, { dedupe: !0 }) : o = await e.request({
12
+ method: "eth_getBlockByNumber",
13
+ params: [n || d, a]
14
+ }, { dedupe: !!n }), !o)
15
+ throw new i({ blockHash: t, blockNumber: r });
16
+ return (((c = (s = (m = e.chain) == null ? void 0 : m.formatters) == null ? void 0 : s.block) == null ? void 0 : c.format) || p)(o);
28
17
  }
29
18
  export {
30
- p as getCache,
31
- i as promiseCache,
32
- c as responseCache,
33
- l as withCache
19
+ T as getBlock
34
20
  };
package/dist/index17.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("./index18.cjs"),u=require("./index13.cjs"),g=require("./index19.cjs");async function l(t,{blockHash:a,blockNumber:n,blockTag:f,hash:r,index:o}){var c,d,m;const s=f||"latest",i=n!==void 0?u.numberToHex(n):void 0;let e=null;if(r?e=await t.request({method:"eth_getTransactionByHash",params:[r]},{dedupe:!0}):a?e=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[a,u.numberToHex(o)]},{dedupe:!0}):(i||s)&&(e=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[i||s,u.numberToHex(o)]},{dedupe:!!i})),!e)throw new T.TransactionNotFoundError({blockHash:a,blockNumber:n,blockTag:s,hash:r,index:o});return(((m=(d=(c=t.chain)==null?void 0:c.formatters)==null?void 0:d.transaction)==null?void 0:m.format)||g.formatTransaction)(e)}exports.getTransaction=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index37.cjs");class n extends t.BaseError{constructor({blockHash:r,blockNumber:e}){let o="Block";r&&(o=`Block at hash "${r}"`),e&&(o=`Block at number "${e}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}}exports.BlockNotFoundError=n;
package/dist/index17.js CHANGED
@@ -1,29 +1,10 @@
1
- import { TransactionNotFoundError as p } from "./index18.js";
2
- import { numberToHex as i } from "./index13.js";
3
- import { formatTransaction as T } from "./index19.js";
4
- async function h(e, { blockHash: a, blockNumber: r, blockTag: c, hash: o, index: n }) {
5
- var d, f, u;
6
- const s = c || "latest", m = r !== void 0 ? i(r) : void 0;
7
- let t = null;
8
- if (o ? t = await e.request({
9
- method: "eth_getTransactionByHash",
10
- params: [o]
11
- }, { dedupe: !0 }) : a ? t = await e.request({
12
- method: "eth_getTransactionByBlockHashAndIndex",
13
- params: [a, i(n)]
14
- }, { dedupe: !0 }) : (m || s) && (t = await e.request({
15
- method: "eth_getTransactionByBlockNumberAndIndex",
16
- params: [m || s, i(n)]
17
- }, { dedupe: !!m })), !t)
18
- throw new p({
19
- blockHash: a,
20
- blockNumber: r,
21
- blockTag: s,
22
- hash: o,
23
- index: n
24
- });
25
- return (((u = (f = (d = e.chain) == null ? void 0 : d.formatters) == null ? void 0 : f.transaction) == null ? void 0 : u.format) || T)(t);
1
+ import { BaseError as e } from "./index37.js";
2
+ class d extends e {
3
+ constructor({ blockHash: r, blockNumber: t }) {
4
+ let o = "Block";
5
+ r && (o = `Block at hash "${r}"`), t && (o = `Block at number "${t}"`), super(`${o} could not be found.`, { name: "BlockNotFoundError" });
6
+ }
26
7
  }
27
8
  export {
28
- h as getTransaction
9
+ d as BlockNotFoundError
29
10
  };
package/dist/index18.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index32.cjs");class c extends n.BaseError{constructor({blockHash:r,blockNumber:a,blockTag:i,hash:s,index:o}){let t="Transaction";i&&o!==void 0&&(t=`Transaction at block time "${i}" at index "${o}"`),r&&o!==void 0&&(t=`Transaction at block hash "${r}" at index "${o}"`),a&&o!==void 0&&(t=`Transaction at block number "${a}" at index "${o}"`),s&&(t=`Transaction with hash "${s}"`),super(`${t} could not be found.`,{name:"TransactionNotFoundError"})}}class u extends n.BaseError{constructor({hash:r}){super(`Transaction receipt with hash "${r}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class d extends n.BaseError{constructor({hash:r}){super(`Timed out while waiting for transaction with hash "${r}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}exports.TransactionNotFoundError=c;exports.TransactionReceiptNotFoundError=u;exports.WaitForTransactionReceiptTimeoutError=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index35.cjs"),c=require("./index36.cjs");function m(i,f={}){const{signed:r,size:e}=f,t=BigInt(i);let n;e?r?n=(1n<<BigInt(e)*8n-1n)-1n:n=2n**(BigInt(e)*8n)-1n:typeof i=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const u=typeof n=="bigint"&&r?-n-1n:0;if(n&&t>n||t<u){const o=typeof i=="bigint"?"n":"";throw new s.IntegerOutOfRangeError({max:n?`${n}${o}`:void 0,min:`${u}${o}`,signed:r,size:e,value:`${i}${o}`})}const g=`0x${(r&&t<0?(1n<<BigInt(e*8))+BigInt(t):t).toString(16)}`;return e?c.pad(g,{size:e}):g}exports.numberToHex=m;
package/dist/index18.js CHANGED
@@ -1,26 +1,23 @@
1
- import { BaseError as r } from "./index32.js";
2
- class u extends r {
3
- constructor({ blockHash: t, blockNumber: e, blockTag: i, hash: s, index: o }) {
4
- let n = "Transaction";
5
- i && o !== void 0 && (n = `Transaction at block time "${i}" at index "${o}"`), t && o !== void 0 && (n = `Transaction at block hash "${t}" at index "${o}"`), e && o !== void 0 && (n = `Transaction at block number "${e}" at index "${o}"`), s && (n = `Transaction with hash "${s}"`), super(`${n} could not be found.`, {
6
- name: "TransactionNotFoundError"
1
+ import { IntegerOutOfRangeError as s } from "./index35.js";
2
+ import { pad as u } from "./index36.js";
3
+ function x(i, m = {}) {
4
+ const { signed: o, size: t } = m, e = BigInt(i);
5
+ let n;
6
+ t ? o ? n = (1n << BigInt(t) * 8n - 1n) - 1n : n = 2n ** (BigInt(t) * 8n) - 1n : typeof i == "number" && (n = BigInt(Number.MAX_SAFE_INTEGER));
7
+ const f = typeof n == "bigint" && o ? -n - 1n : 0;
8
+ if (n && e > n || e < f) {
9
+ const r = typeof i == "bigint" ? "n" : "";
10
+ throw new s({
11
+ max: n ? `${n}${r}` : void 0,
12
+ min: `${f}${r}`,
13
+ signed: o,
14
+ size: t,
15
+ value: `${i}${r}`
7
16
  });
8
17
  }
9
- }
10
- class d extends r {
11
- constructor({ hash: t }) {
12
- super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`, {
13
- name: "TransactionReceiptNotFoundError"
14
- });
15
- }
16
- }
17
- class T extends r {
18
- constructor({ hash: t }) {
19
- super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`, { name: "WaitForTransactionReceiptTimeoutError" });
20
- }
18
+ const g = `0x${(o && e < 0 ? (1n << BigInt(t * 8)) + BigInt(e) : e).toString(16)}`;
19
+ return t ? u(g, { size: t }) : g;
21
20
  }
22
21
  export {
23
- u as TransactionNotFoundError,
24
- d as TransactionReceiptNotFoundError,
25
- T as WaitForTransactionReceiptTimeoutError
22
+ x as numberToHex
26
23
  };
package/dist/index19.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index23.cjs"),i={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function u(e){const d={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?r.hexToNumber(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?r.hexToNumber(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?i[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(d.authorizationList=y(e.authorizationList)),d.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof d.v=="bigint"){if(d.v===0n||d.v===27n)return 0;if(d.v===1n||d.v===28n)return 1;if(d.v>=35n)return d.v%2n===0n?1:0}})(),d.type==="legacy"&&(delete d.accessList,delete d.maxFeePerBlobGas,delete d.maxFeePerGas,delete d.maxPriorityFeePerGas,delete d.yParity),d.type==="eip2930"&&(delete d.maxFeePerBlobGas,delete d.maxFeePerGas,delete d.maxPriorityFeePerGas),d.type==="eip1559"&&delete d.maxFeePerBlobGas,d}function y(e){return e.map(d=>({contractAddress:d.address,r:d.r,s:d.s,chainId:Number(d.chainId),nonce:Number(d.nonce),...typeof d.yParity<"u"?{yParity:Number(d.yParity)}:{},...typeof d.v<"u"&&typeof d.yParity>"u"?{v:Number(d.v)}:{}}))}exports.formatTransaction=u;exports.transactionType=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index24.cjs");function a(e){var s;const t=(s=e.transactions)==null?void 0:s.map(n=>typeof n=="string"?n:i.formatTransaction(n));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}exports.formatBlock=a;
package/dist/index19.js CHANGED
@@ -1,55 +1,25 @@
1
- import { hexToNumber as r } from "./index23.js";
2
- const y = {
3
- "0x0": "legacy",
4
- "0x1": "eip2930",
5
- "0x2": "eip1559",
6
- "0x3": "eip4844",
7
- "0x4": "eip7702"
8
- };
9
- function l(e) {
10
- const d = {
1
+ import { formatTransaction as t } from "./index24.js";
2
+ function u(e) {
3
+ var s;
4
+ const i = (s = e.transactions) == null ? void 0 : s.map((n) => typeof n == "string" ? n : t(n));
5
+ return {
11
6
  ...e,
12
- blockHash: e.blockHash ? e.blockHash : null,
13
- blockNumber: e.blockNumber ? BigInt(e.blockNumber) : null,
14
- chainId: e.chainId ? r(e.chainId) : void 0,
15
- gas: e.gas ? BigInt(e.gas) : void 0,
16
- gasPrice: e.gasPrice ? BigInt(e.gasPrice) : void 0,
17
- maxFeePerBlobGas: e.maxFeePerBlobGas ? BigInt(e.maxFeePerBlobGas) : void 0,
18
- maxFeePerGas: e.maxFeePerGas ? BigInt(e.maxFeePerGas) : void 0,
19
- maxPriorityFeePerGas: e.maxPriorityFeePerGas ? BigInt(e.maxPriorityFeePerGas) : void 0,
20
- nonce: e.nonce ? r(e.nonce) : void 0,
21
- to: e.to ? e.to : null,
22
- transactionIndex: e.transactionIndex ? Number(e.transactionIndex) : null,
23
- type: e.type ? y[e.type] : void 0,
24
- typeHex: e.type ? e.type : void 0,
25
- value: e.value ? BigInt(e.value) : void 0,
26
- v: e.v ? BigInt(e.v) : void 0
7
+ baseFeePerGas: e.baseFeePerGas ? BigInt(e.baseFeePerGas) : null,
8
+ blobGasUsed: e.blobGasUsed ? BigInt(e.blobGasUsed) : void 0,
9
+ difficulty: e.difficulty ? BigInt(e.difficulty) : void 0,
10
+ excessBlobGas: e.excessBlobGas ? BigInt(e.excessBlobGas) : void 0,
11
+ gasLimit: e.gasLimit ? BigInt(e.gasLimit) : void 0,
12
+ gasUsed: e.gasUsed ? BigInt(e.gasUsed) : void 0,
13
+ hash: e.hash ? e.hash : null,
14
+ logsBloom: e.logsBloom ? e.logsBloom : null,
15
+ nonce: e.nonce ? e.nonce : null,
16
+ number: e.number ? BigInt(e.number) : null,
17
+ size: e.size ? BigInt(e.size) : void 0,
18
+ timestamp: e.timestamp ? BigInt(e.timestamp) : void 0,
19
+ transactions: i,
20
+ totalDifficulty: e.totalDifficulty ? BigInt(e.totalDifficulty) : null
27
21
  };
28
- return e.authorizationList && (d.authorizationList = i(e.authorizationList)), d.yParity = (() => {
29
- if (e.yParity)
30
- return Number(e.yParity);
31
- if (typeof d.v == "bigint") {
32
- if (d.v === 0n || d.v === 27n)
33
- return 0;
34
- if (d.v === 1n || d.v === 28n)
35
- return 1;
36
- if (d.v >= 35n)
37
- return d.v % 2n === 0n ? 1 : 0;
38
- }
39
- })(), d.type === "legacy" && (delete d.accessList, delete d.maxFeePerBlobGas, delete d.maxFeePerGas, delete d.maxPriorityFeePerGas, delete d.yParity), d.type === "eip2930" && (delete d.maxFeePerBlobGas, delete d.maxFeePerGas, delete d.maxPriorityFeePerGas), d.type === "eip1559" && delete d.maxFeePerBlobGas, d;
40
- }
41
- function i(e) {
42
- return e.map((d) => ({
43
- contractAddress: d.address,
44
- r: d.r,
45
- s: d.s,
46
- chainId: Number(d.chainId),
47
- nonce: Number(d.nonce),
48
- ...typeof d.yParity < "u" ? { yParity: Number(d.yParity) } : {},
49
- ...typeof d.v < "u" && typeof d.yParity > "u" ? { v: Number(d.v) } : {}
50
- }));
51
22
  }
52
23
  export {
53
- l as formatTransaction,
54
- y as transactionType
24
+ u as formatBlock
55
25
  };
package/dist/index20.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index18.cjs"),i=require("./index21.cjs");async function s(t,{hash:e}){var a,n,o;const r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new c.TransactionReceiptNotFoundError({hash:e});return(((o=(n=(a=t.chain)==null?void 0:a.formatters)==null?void 0:n.transactionReceipt)==null?void 0:o.format)||i.formatTransactionReceipt)(r)}exports.getTransactionReceipt=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index21.cjs"),r=e=>`blockNumber.${e}`;async function u(e,{cacheTime:c=e.cacheTime}={}){const t=await o.withCache(()=>e.request({method:"eth_blockNumber"}),{cacheKey:r(e.uid),cacheTime:c});return BigInt(t)}exports.getBlockNumber=u;
package/dist/index20.js CHANGED
@@ -1,15 +1,11 @@
1
- import { TransactionReceiptNotFoundError as i } from "./index18.js";
2
- import { formatTransactionReceipt as c } from "./index21.js";
3
- async function f(t, { hash: r }) {
4
- var o, a, n;
5
- const e = await t.request({
6
- method: "eth_getTransactionReceipt",
7
- params: [r]
8
- }, { dedupe: !0 });
9
- if (!e)
10
- throw new i({ hash: r });
11
- return (((n = (a = (o = t.chain) == null ? void 0 : o.formatters) == null ? void 0 : a.transactionReceipt) == null ? void 0 : n.format) || c)(e);
1
+ import { withCache as t } from "./index21.js";
2
+ const r = (e) => `blockNumber.${e}`;
3
+ async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
+ const o = await t(() => e.request({
5
+ method: "eth_blockNumber"
6
+ }), { cacheKey: r(e.uid), cacheTime: c });
7
+ return BigInt(o);
12
8
  }
13
9
  export {
14
- f as getTransactionReceipt
10
+ u as getBlockNumber
15
11
  };
package/dist/index21.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index23.cjs"),d=require("./index34.cjs"),r=require("./index19.cjs"),u={"0x0":"reverted","0x1":"success"};function o(l){const s={...l,blockNumber:l.blockNumber?BigInt(l.blockNumber):null,contractAddress:l.contractAddress?l.contractAddress:null,cumulativeGasUsed:l.cumulativeGasUsed?BigInt(l.cumulativeGasUsed):null,effectiveGasPrice:l.effectiveGasPrice?BigInt(l.effectiveGasPrice):null,gasUsed:l.gasUsed?BigInt(l.gasUsed):null,logs:l.logs?l.logs.map(e=>d.formatLog(e)):null,to:l.to?l.to:null,transactionIndex:l.transactionIndex?b.hexToNumber(l.transactionIndex):null,status:l.status?u[l.status]:null,type:l.type?r.transactionType[l.type]||l.type:null};return l.blobGasPrice&&(s.blobGasPrice=BigInt(l.blobGasPrice)),l.blobGasUsed&&(s.blobGasUsed=BigInt(l.blobGasUsed)),s}exports.formatTransactionReceipt=o;exports.receiptStatuses=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=new Map,c=new Map;function p(o){const a=(s,t)=>({clear:()=>t.delete(s),get:()=>t.get(s),set:n=>t.set(s,n)}),r=a(o,i),e=a(o,c);return{clear:()=>{r.clear(),e.clear()},promise:r,response:e}}async function l(o,{cacheKey:a,cacheTime:r=Number.POSITIVE_INFINITY}){const e=p(a),s=e.response.get();if(s&&r>0&&new Date().getTime()-s.created.getTime()<r)return s.data;let t=e.promise.get();t||(t=o(),e.promise.set(t));try{const n=await t;return e.response.set({created:new Date,data:n}),n}finally{e.promise.clear()}}exports.getCache=p;exports.promiseCache=i;exports.responseCache=c;exports.withCache=l;
package/dist/index21.js CHANGED
@@ -1,27 +1,34 @@
1
- import { hexToNumber as b } from "./index23.js";
2
- import { formatLog as d } from "./index34.js";
3
- import { transactionType as m } from "./index19.js";
4
- const f = {
5
- "0x0": "reverted",
6
- "0x1": "success"
7
- };
8
- function r(l) {
9
- const u = {
10
- ...l,
11
- blockNumber: l.blockNumber ? BigInt(l.blockNumber) : null,
12
- contractAddress: l.contractAddress ? l.contractAddress : null,
13
- cumulativeGasUsed: l.cumulativeGasUsed ? BigInt(l.cumulativeGasUsed) : null,
14
- effectiveGasPrice: l.effectiveGasPrice ? BigInt(l.effectiveGasPrice) : null,
15
- gasUsed: l.gasUsed ? BigInt(l.gasUsed) : null,
16
- logs: l.logs ? l.logs.map((s) => d(s)) : null,
17
- to: l.to ? l.to : null,
18
- transactionIndex: l.transactionIndex ? b(l.transactionIndex) : null,
19
- status: l.status ? f[l.status] : null,
20
- type: l.type ? m[l.type] || l.type : null
1
+ const i = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
2
+ function p(o) {
3
+ const a = (s, t) => ({
4
+ clear: () => t.delete(s),
5
+ get: () => t.get(s),
6
+ set: (r) => t.set(s, r)
7
+ }), n = a(o, i), e = a(o, c);
8
+ return {
9
+ clear: () => {
10
+ n.clear(), e.clear();
11
+ },
12
+ promise: n,
13
+ response: e
21
14
  };
22
- return l.blobGasPrice && (u.blobGasPrice = BigInt(l.blobGasPrice)), l.blobGasUsed && (u.blobGasUsed = BigInt(l.blobGasUsed)), u;
15
+ }
16
+ async function l(o, { cacheKey: a, cacheTime: n = Number.POSITIVE_INFINITY }) {
17
+ const e = p(a), s = e.response.get();
18
+ if (s && n > 0 && (/* @__PURE__ */ new Date()).getTime() - s.created.getTime() < n)
19
+ return s.data;
20
+ let t = e.promise.get();
21
+ t || (t = o(), e.promise.set(t));
22
+ try {
23
+ const r = await t;
24
+ return e.response.set({ created: /* @__PURE__ */ new Date(), data: r }), r;
25
+ } finally {
26
+ e.promise.clear();
27
+ }
23
28
  }
24
29
  export {
25
- r as formatTransactionReceipt,
26
- f as receiptStatuses
30
+ p as getCache,
31
+ i as promiseCache,
32
+ c as responseCache,
33
+ l as withCache
27
34
  };
package/dist/index22.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./index23.cjs"),d=require("./index24.cjs"),y=require("./index25.cjs"),h=require("./index26.cjs"),B=require("./index27.cjs"),m=require("./index15.cjs");function q(t,{emitOnBegin:b=!1,emitMissed:l=!1,onBlockNumber:p,onError:a,poll:k,pollingInterval:i=t.pollingInterval}){const g=typeof k<"u"?k:!(t.transport.type==="webSocket"||t.transport.type==="fallback"&&t.transport.transports[0].config.type==="webSocket");let r;return g?(()=>{const f=B.stringify(["watchBlockNumber",t.uid,b,l,i]);return y.observe(f,{onBlockNumber:p,onError:a},o=>h.poll(async()=>{var c;try{const e=await d.getAction(t,m.getBlockNumber,"getBlockNumber")({cacheTime:0});if(r){if(e===r)return;if(e-r>1&&l)for(let s=r+1n;s<e;s++)o.onBlockNumber(s,r),r=s}(!r||e>r)&&(o.onBlockNumber(e,r),r=e)}catch(e){(c=o.onError)==null||c.call(o,e)}},{emitOnBegin:b,interval:i}))})():(()=>{const f=B.stringify(["watchBlockNumber",t.uid,b,l]);return y.observe(f,{onBlockNumber:p,onError:a},o=>{let c=!0,e=()=>c=!1;return(async()=>{try{const s=(()=>{if(t.transport.type==="fallback"){const n=t.transport.transports.find(u=>u.config.type==="webSocket");return n?n.value:t.transport}return t.transport})(),{unsubscribe:v}=await s.subscribe({params:["newHeads"],onData(n){var N;if(!c)return;const u=w.hexToBigInt((N=n.result)==null?void 0:N.number);o.onBlockNumber(u,r),r=u},onError(n){var u;(u=o.onError)==null||u.call(o,n)}});e=v,c||e()}catch(s){a==null||a(s)}})(),()=>e()})})()}exports.watchBlockNumber=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("./index23.cjs"),u=require("./index18.cjs"),g=require("./index24.cjs");async function l(t,{blockHash:a,blockNumber:n,blockTag:f,hash:r,index:o}){var c,d,m;const s=f||"latest",i=n!==void 0?u.numberToHex(n):void 0;let e=null;if(r?e=await t.request({method:"eth_getTransactionByHash",params:[r]},{dedupe:!0}):a?e=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[a,u.numberToHex(o)]},{dedupe:!0}):(i||s)&&(e=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[i||s,u.numberToHex(o)]},{dedupe:!!i})),!e)throw new T.TransactionNotFoundError({blockHash:a,blockNumber:n,blockTag:s,hash:r,index:o});return(((m=(d=(c=t.chain)==null?void 0:c.formatters)==null?void 0:d.transaction)==null?void 0:m.format)||g.formatTransaction)(e)}exports.getTransaction=l;