@gardenfi/utils 0.0.1-beta.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 (99) hide show
  1. package/README.md +0 -0
  2. package/dist/index.cjs +1 -0
  3. package/dist/index.js +21 -0
  4. package/dist/index10.cjs +1 -0
  5. package/dist/index10.js +97 -0
  6. package/dist/index11.cjs +1 -0
  7. package/dist/index11.js +33 -0
  8. package/dist/index12.cjs +1 -0
  9. package/dist/index12.js +34 -0
  10. package/dist/index13.cjs +1 -0
  11. package/dist/index13.js +27 -0
  12. package/dist/index14.cjs +1 -0
  13. package/dist/index14.js +33 -0
  14. package/dist/index15.cjs +1 -0
  15. package/dist/index15.js +11 -0
  16. package/dist/index16.cjs +1 -0
  17. package/dist/index16.js +20 -0
  18. package/dist/index17.cjs +1 -0
  19. package/dist/index17.js +10 -0
  20. package/dist/index18.cjs +1 -0
  21. package/dist/index18.js +23 -0
  22. package/dist/index19.cjs +1 -0
  23. package/dist/index19.js +25 -0
  24. package/dist/index2.cjs +1 -0
  25. package/dist/index2.js +4 -0
  26. package/dist/index20.cjs +1 -0
  27. package/dist/index20.js +11 -0
  28. package/dist/index21.cjs +1 -0
  29. package/dist/index21.js +34 -0
  30. package/dist/index22.cjs +1 -0
  31. package/dist/index22.js +29 -0
  32. package/dist/index23.cjs +1 -0
  33. package/dist/index23.js +26 -0
  34. package/dist/index24.cjs +1 -0
  35. package/dist/index24.js +55 -0
  36. package/dist/index25.cjs +1 -0
  37. package/dist/index25.js +15 -0
  38. package/dist/index26.cjs +1 -0
  39. package/dist/index26.js +27 -0
  40. package/dist/index27.cjs +1 -0
  41. package/dist/index27.js +78 -0
  42. package/dist/index28.cjs +1 -0
  43. package/dist/index28.js +26 -0
  44. package/dist/index29.cjs +1 -0
  45. package/dist/index29.js +10 -0
  46. package/dist/index3.cjs +1 -0
  47. package/dist/index3.js +6 -0
  48. package/dist/index30.cjs +1 -0
  49. package/dist/index30.js +32 -0
  50. package/dist/index31.cjs +1 -0
  51. package/dist/index31.js +18 -0
  52. package/dist/index32.cjs +1 -0
  53. package/dist/index32.js +4 -0
  54. package/dist/index33.cjs +1 -0
  55. package/dist/index33.js +23 -0
  56. package/dist/index34.cjs +1 -0
  57. package/dist/index34.js +15 -0
  58. package/dist/index35.cjs +1 -0
  59. package/dist/index35.js +37 -0
  60. package/dist/index36.cjs +2 -0
  61. package/dist/index36.js +62 -0
  62. package/dist/index37.cjs +1 -0
  63. package/dist/index37.js +4 -0
  64. package/dist/index38.cjs +1 -0
  65. package/dist/index38.js +7 -0
  66. package/dist/index39.cjs +1 -0
  67. package/dist/index39.js +14 -0
  68. package/dist/index4.cjs +1 -0
  69. package/dist/index4.js +37 -0
  70. package/dist/index40.cjs +1 -0
  71. package/dist/index40.js +6 -0
  72. package/dist/index41.cjs +1 -0
  73. package/dist/index41.js +6 -0
  74. package/dist/index42.cjs +1 -0
  75. package/dist/index42.js +9 -0
  76. package/dist/index5.cjs +1 -0
  77. package/dist/index5.js +33 -0
  78. package/dist/index6.cjs +1 -0
  79. package/dist/index6.js +20 -0
  80. package/dist/index7.cjs +1 -0
  81. package/dist/index7.js +95 -0
  82. package/dist/index8.cjs +1 -0
  83. package/dist/index8.js +17 -0
  84. package/dist/index9.cjs +1 -0
  85. package/dist/index9.js +4 -0
  86. package/dist/src/index.d.ts +7 -0
  87. package/dist/src/lib/apiResponse.types.d.ts +9 -0
  88. package/dist/src/lib/approve.d.ts +7 -0
  89. package/dist/src/lib/auth/auth.types.d.ts +21 -0
  90. package/dist/src/lib/auth/index.d.ts +2 -0
  91. package/dist/src/lib/auth/siwe.d.ts +17 -0
  92. package/dist/src/lib/store/index.d.ts +2 -0
  93. package/dist/src/lib/store/memoryStorage.d.ts +14 -0
  94. package/dist/src/lib/store/store.interface.d.ts +33 -0
  95. package/dist/src/lib/switchOrAddNetwork.d.ts +5 -0
  96. package/dist/src/lib/url/Url.d.ts +5 -0
  97. package/dist/src/lib/url/index.d.ts +1 -0
  98. package/dist/src/lib/utils.d.ts +8 -0
  99. package/package.json +43 -0
package/README.md ADDED
File without changes
package/dist/index.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index2.cjs"),e=require("./index3.cjs"),o=require("./index4.cjs"),r=require("./index5.cjs"),i=require("./index6.cjs"),s=require("./index7.cjs"),c=require("./index8.cjs"),n=require("./index9.cjs");exports.ApiStatus=t.ApiStatus;exports.Authorization=e.Authorization;exports.sleep=e.sleep;exports.with0x=e.with0x;exports.checkAllowanceAndApprove=o.checkAllowanceAndApprove;exports.ChainToID=r.ChainToID;exports.switchOrAddNetwork=r.switchOrAddNetwork;exports.Url=i.Url;exports.Siwe=s.Siwe;exports.MemoryStorage=c.MemoryStorage;exports.StoreKeys=n.StoreKeys;
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ import { ApiStatus as e } from "./index2.js";
2
+ import { Authorization as p, sleep as m, with0x as x } from "./index3.js";
3
+ import { checkAllowanceAndApprove as i } from "./index4.js";
4
+ import { ChainToID as a, switchOrAddNetwork as h } from "./index5.js";
5
+ import { Url as c } from "./index6.js";
6
+ import { Siwe as n } from "./index7.js";
7
+ import { MemoryStorage as S } from "./index8.js";
8
+ import { StoreKeys as k } from "./index9.js";
9
+ export {
10
+ e as ApiStatus,
11
+ p as Authorization,
12
+ a as ChainToID,
13
+ S as MemoryStorage,
14
+ n as Siwe,
15
+ k as StoreKeys,
16
+ c as Url,
17
+ i as checkAllowanceAndApprove,
18
+ m as sleep,
19
+ h as switchOrAddNetwork,
20
+ x as with0x
21
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("./index17.cjs"),k=require("./index23.cjs"),g=require("./index29.cjs"),I=require("./index30.cjs"),v=require("./index33.cjs"),M=require("./index32.cjs"),O=require("./index16.cjs"),P=require("./index22.cjs"),q=require("./index25.cjs"),S=require("./index27.cjs");async function $(n,{confirmations:o=1,hash:f,onReplaced:B,pollingInterval:h=n.pollingInterval,retryCount:w=6,retryDelay:N=({count:p})=>~~(1<<p)*200,timeout:R=18e4}){const p=M.stringify(["waitForTransactionReceipt",n.uid,f]);let c,a,e,i=!1;return new Promise((m,y)=>{R&&setTimeout(()=>y(new k.WaitForTransactionReceiptTimeoutError({hash:f})),R);const F=I.observe(p,{onReplaced:B,resolve:m,reject:y},t=>{const A=g.getAction(n,S.watchBlockNumber,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:h,async onBlockNumber(E){const u=b=>{A(),b(),F()};let l=E;if(!i)try{if(e){if(o>1&&(!e.blockNumber||l-e.blockNumber+1n<o))return;u(()=>t.resolve(e));return}if(c||(i=!0,await v.withRetry(async()=>{c=await g.getAction(n,P.getTransaction,"getTransaction")({hash:f}),c.blockNumber&&(l=c.blockNumber)},{delay:N,retryCount:w}),i=!1),e=await g.getAction(n,q.getTransactionReceipt,"getTransactionReceipt")({hash:f}),o>1&&(!e.blockNumber||l-e.blockNumber+1n<o))return;u(()=>t.resolve(e))}catch(b){if(b instanceof k.TransactionNotFoundError||b instanceof k.TransactionReceiptNotFoundError){if(!c){i=!1;return}try{a=c,i=!0;const T=await v.withRetry(()=>g.getAction(n,O.getBlock,"getBlock")({blockNumber:l,includeTransactions:!0}),{delay:N,retryCount:w,shouldRetry:({error:s})=>s instanceof j.BlockNotFoundError});i=!1;const r=T.transactions.find(({from:s,nonce:_})=>s===a.from&&_===a.nonce);if(!r||(e=await g.getAction(n,q.getTransactionReceipt,"getTransactionReceipt")({hash:r.hash}),o>1&&(!e.blockNumber||l-e.blockNumber+1n<o)))return;let d="replaced";r.to===a.to&&r.value===a.value?d="repriced":r.from===r.to&&r.value===0n&&(d="cancelled"),u(()=>{var s;(s=t.onReplaced)==null||s.call(t,{reason:d,replacedTransaction:a,transaction:r,transactionReceipt:e}),t.resolve(e)})}catch(T){u(()=>t.reject(T))}}else u(()=>t.reject(b))}}})})})}exports.waitForTransactionReceipt=$;
@@ -0,0 +1,97 @@
1
+ import { BlockNotFoundError as j } from "./index17.js";
2
+ import { WaitForTransactionReceiptTimeoutError as x, TransactionNotFoundError as A, TransactionReceiptNotFoundError as M } from "./index23.js";
3
+ import { getAction as p } from "./index29.js";
4
+ import { observe as O } from "./index30.js";
5
+ import { withRetry as R } from "./index33.js";
6
+ import { stringify as P } from "./index32.js";
7
+ import { getBlock as W } from "./index16.js";
8
+ import { getTransaction as q } from "./index22.js";
9
+ import { getTransactionReceipt as v } from "./index25.js";
10
+ import { watchBlockNumber as z } from "./index27.js";
11
+ async function Y(o, {
12
+ confirmations: n = 1,
13
+ hash: b,
14
+ onReplaced: y,
15
+ pollingInterval: B = o.pollingInterval,
16
+ retryCount: T = 6,
17
+ retryDelay: N = ({ count: m }) => ~~(1 << m) * 200,
18
+ // exponential backoff
19
+ timeout: w = 18e4
20
+ }) {
21
+ const m = P(["waitForTransactionReceipt", o.uid, b]);
22
+ let a, c, r, i = !1;
23
+ return new Promise((F, g) => {
24
+ w && setTimeout(() => g(new x({ hash: b })), w);
25
+ const h = O(m, { onReplaced: y, resolve: F, reject: g }, (e) => {
26
+ const E = p(o, z, "watchBlockNumber")({
27
+ emitMissed: !0,
28
+ emitOnBegin: !0,
29
+ poll: !0,
30
+ pollingInterval: B,
31
+ async onBlockNumber(_) {
32
+ const l = (f) => {
33
+ E(), f(), h();
34
+ };
35
+ let u = _;
36
+ if (!i)
37
+ try {
38
+ if (r) {
39
+ if (n > 1 && (!r.blockNumber || u - r.blockNumber + 1n < n))
40
+ return;
41
+ l(() => e.resolve(r));
42
+ return;
43
+ }
44
+ if (a || (i = !0, await R(async () => {
45
+ a = await p(o, q, "getTransaction")({ hash: b }), a.blockNumber && (u = a.blockNumber);
46
+ }, {
47
+ delay: N,
48
+ retryCount: T
49
+ }), i = !1), r = await p(o, v, "getTransactionReceipt")({ hash: b }), n > 1 && (!r.blockNumber || u - r.blockNumber + 1n < n))
50
+ return;
51
+ l(() => e.resolve(r));
52
+ } catch (f) {
53
+ if (f instanceof A || f instanceof M) {
54
+ if (!a) {
55
+ i = !1;
56
+ return;
57
+ }
58
+ try {
59
+ c = a, i = !0;
60
+ const d = await R(() => p(o, W, "getBlock")({
61
+ blockNumber: u,
62
+ includeTransactions: !0
63
+ }), {
64
+ delay: N,
65
+ retryCount: T,
66
+ shouldRetry: ({ error: s }) => s instanceof j
67
+ });
68
+ i = !1;
69
+ const t = d.transactions.find(({ from: s, nonce: I }) => s === c.from && I === c.nonce);
70
+ if (!t || (r = await p(o, v, "getTransactionReceipt")({
71
+ hash: t.hash
72
+ }), n > 1 && (!r.blockNumber || u - r.blockNumber + 1n < n)))
73
+ return;
74
+ let k = "replaced";
75
+ t.to === c.to && t.value === c.value ? k = "repriced" : t.from === t.to && t.value === 0n && (k = "cancelled"), l(() => {
76
+ var s;
77
+ (s = e.onReplaced) == null || s.call(e, {
78
+ reason: k,
79
+ replacedTransaction: c,
80
+ transaction: t,
81
+ transactionReceipt: r
82
+ }), e.resolve(r);
83
+ });
84
+ } catch (d) {
85
+ l(() => e.reject(d));
86
+ }
87
+ } else
88
+ l(() => e.reject(f));
89
+ }
90
+ }
91
+ });
92
+ });
93
+ });
94
+ }
95
+ export {
96
+ Y as waitForTransactionReceipt
97
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={id:31338,name:"Arbitrum Localnet",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["http://localhost:8546/"]}},testnet:!0},e={id:31337,name:"Ethereum Localnet",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["http://localhost:8545/"]}},testnet:!0};exports.ArbitrumLocalnet=t;exports.EthereumLocalnet=e;
@@ -0,0 +1,33 @@
1
+ const t = {
2
+ id: 31338,
3
+ name: "Arbitrum Localnet",
4
+ nativeCurrency: {
5
+ name: "Ethereum",
6
+ symbol: "ETH",
7
+ decimals: 18
8
+ },
9
+ rpcUrls: {
10
+ default: {
11
+ http: ["http://localhost:8546/"]
12
+ }
13
+ },
14
+ testnet: !0
15
+ }, e = {
16
+ id: 31337,
17
+ name: "Ethereum Localnet",
18
+ nativeCurrency: {
19
+ name: "Ethereum",
20
+ symbol: "ETH",
21
+ decimals: 18
22
+ },
23
+ rpcUrls: {
24
+ default: {
25
+ http: ["http://localhost:8545/"]
26
+ }
27
+ },
28
+ testnet: !0
29
+ };
30
+ export {
31
+ t as ArbitrumLocalnet,
32
+ e as EthereumLocalnet
33
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index15.cjs"),a=e.defineChain({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://cloudflare-eth.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});exports.mainnet=a;
@@ -0,0 +1,34 @@
1
+ import { defineChain as e } from "./index15.js";
2
+ const t = /* @__PURE__ */ e({
3
+ id: 1,
4
+ name: "Ethereum",
5
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
+ rpcUrls: {
7
+ default: {
8
+ http: ["https://cloudflare-eth.com"]
9
+ }
10
+ },
11
+ blockExplorers: {
12
+ default: {
13
+ name: "Etherscan",
14
+ url: "https://etherscan.io",
15
+ apiUrl: "https://api.etherscan.io/api"
16
+ }
17
+ },
18
+ contracts: {
19
+ ensRegistry: {
20
+ address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
21
+ },
22
+ ensUniversalResolver: {
23
+ address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67",
24
+ blockCreated: 19258213
25
+ },
26
+ multicall3: {
27
+ address: "0xca11bde05977b3631167028862be2a173976ca11",
28
+ blockCreated: 14353601
29
+ }
30
+ }
31
+ });
32
+ export {
33
+ t as mainnet
34
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index15.cjs"),a=r.defineChain({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}});exports.arbitrum=a;
@@ -0,0 +1,27 @@
1
+ import { defineChain as a } from "./index15.js";
2
+ const t = /* @__PURE__ */ a({
3
+ id: 42161,
4
+ name: "Arbitrum One",
5
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
+ rpcUrls: {
7
+ default: {
8
+ http: ["https://arb1.arbitrum.io/rpc"]
9
+ }
10
+ },
11
+ blockExplorers: {
12
+ default: {
13
+ name: "Arbiscan",
14
+ url: "https://arbiscan.io",
15
+ apiUrl: "https://api.arbiscan.io/api"
16
+ }
17
+ },
18
+ contracts: {
19
+ multicall3: {
20
+ address: "0xca11bde05977b3631167028862be2a173976ca11",
21
+ blockCreated: 7654707
22
+ }
23
+ }
24
+ });
25
+ export {
26
+ t as arbitrum
27
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index15.cjs"),a=e.defineChain({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc2.sepolia.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0});exports.sepolia=a;
@@ -0,0 +1,33 @@
1
+ import { defineChain as e } from "./index15.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://rpc2.sepolia.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
+ });
31
+ export {
32
+ s as sepolia
33
+ };
@@ -0,0 +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;
@@ -0,0 +1,11 @@
1
+ function n(e) {
2
+ return {
3
+ formatters: void 0,
4
+ fees: void 0,
5
+ serializers: void 0,
6
+ ...e
7
+ };
8
+ }
9
+ export {
10
+ n as defineChain
11
+ };
@@ -0,0 +1 @@
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;
@@ -0,0 +1,20 @@
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);
17
+ }
18
+ export {
19
+ T as getBlock
20
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index36.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;
@@ -0,0 +1,10 @@
1
+ import { BaseError as e } from "./index36.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
+ }
7
+ }
8
+ export {
9
+ d as BlockNotFoundError
10
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index34.cjs"),c=require("./index35.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;
@@ -0,0 +1,23 @@
1
+ import { IntegerOutOfRangeError as s } from "./index34.js";
2
+ import { pad as u } from "./index35.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}`
16
+ });
17
+ }
18
+ const g = `0x${(o && e < 0 ? (1n << BigInt(t * 8)) + BigInt(e) : e).toString(16)}`;
19
+ return t ? u(g, { size: t }) : g;
20
+ }
21
+ export {
22
+ x as numberToHex
23
+ };
@@ -0,0 +1 @@
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;
@@ -0,0 +1,25 @@
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 {
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
+ }
23
+ export {
24
+ u as formatBlock
25
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=(r=>(r.Ok="Ok",r.Error="Error",r))(e||{});exports.ApiStatus=e;
package/dist/index2.js ADDED
@@ -0,0 +1,4 @@
1
+ var o = /* @__PURE__ */ ((r) => (r.Ok = "Ok", r.Error = "Error", r))(o || {});
2
+ export {
3
+ o as ApiStatus
4
+ };
@@ -0,0 +1 @@
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;
@@ -0,0 +1,11 @@
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);
8
+ }
9
+ export {
10
+ u as getBlockNumber
11
+ };
@@ -0,0 +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;
@@ -0,0 +1,34 @@
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
+ }
28
+ }
29
+ export {
30
+ p as getCache,
31
+ i as promiseCache,
32
+ c as responseCache,
33
+ l as withCache
34
+ };
@@ -0,0 +1 @@
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;
@@ -0,0 +1,29 @@
1
+ import { TransactionNotFoundError as p } from "./index23.js";
2
+ import { numberToHex as i } from "./index18.js";
3
+ import { formatTransaction as T } from "./index24.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);
26
+ }
27
+ export {
28
+ h as getTransaction
29
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index36.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;
@@ -0,0 +1,26 @@
1
+ import { BaseError as r } from "./index36.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"
7
+ });
8
+ }
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
+ }
21
+ }
22
+ export {
23
+ u as TransactionNotFoundError,
24
+ d as TransactionReceiptNotFoundError,
25
+ T as WaitForTransactionReceiptTimeoutError
26
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index28.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;
@@ -0,0 +1,55 @@
1
+ import { hexToNumber as r } from "./index28.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 = {
11
+ ...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
27
+ };
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
+ }
52
+ export {
53
+ l as formatTransaction,
54
+ y as transactionType
55
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index23.cjs"),i=require("./index26.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;
@@ -0,0 +1,15 @@
1
+ import { TransactionReceiptNotFoundError as i } from "./index23.js";
2
+ import { formatTransactionReceipt as c } from "./index26.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);
12
+ }
13
+ export {
14
+ f as getTransactionReceipt
15
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index28.cjs"),d=require("./index39.cjs"),r=require("./index24.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;
@@ -0,0 +1,27 @@
1
+ import { hexToNumber as b } from "./index28.js";
2
+ import { formatLog as d } from "./index39.js";
3
+ import { transactionType as m } from "./index24.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
21
+ };
22
+ return l.blobGasPrice && (u.blobGasPrice = BigInt(l.blobGasPrice)), l.blobGasUsed && (u.blobGasUsed = BigInt(l.blobGasUsed)), u;
23
+ }
24
+ export {
25
+ r as formatTransactionReceipt,
26
+ f as receiptStatuses
27
+ };