@coinbase/cdp-hooks 0.0.95 → 0.0.97

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 (293) hide show
  1. package/dist/esm/index100.js +35 -42
  2. package/dist/esm/index101.js +9 -88
  3. package/dist/esm/index102.js +31 -40
  4. package/dist/esm/index103.js +35 -7
  5. package/dist/esm/index104.js +7 -4
  6. package/dist/esm/index105.js +29 -16
  7. package/dist/esm/index106.js +46 -8
  8. package/dist/esm/index107.js +69 -13
  9. package/dist/esm/index108.js +40 -7
  10. package/dist/esm/index109.js +75 -9
  11. package/dist/esm/index110.js +30 -15
  12. package/dist/esm/index111.js +6 -46
  13. package/dist/esm/index112.js +16 -13
  14. package/dist/esm/index113.js +8 -16
  15. package/dist/esm/index114.js +13 -13
  16. package/dist/esm/index115.js +6 -5
  17. package/dist/esm/index116.js +9 -35
  18. package/dist/esm/index117.js +15 -8
  19. package/dist/esm/index118.js +11 -7
  20. package/dist/esm/index119.js +45 -24
  21. package/dist/esm/index120.js +13 -10
  22. package/dist/esm/index121.js +15 -13
  23. package/dist/esm/index122.js +13 -11
  24. package/dist/esm/index123.js +6 -116
  25. package/dist/esm/index124.js +34 -32
  26. package/dist/esm/index125.js +9 -79
  27. package/dist/esm/index126.js +8 -177
  28. package/dist/esm/index127.js +27 -43
  29. package/dist/esm/index128.js +10 -6
  30. package/dist/esm/index129.js +13 -12
  31. package/dist/esm/index130.js +11 -13
  32. package/dist/esm/index131.js +118 -97
  33. package/dist/esm/index132.js +32 -71
  34. package/dist/esm/index133.js +77 -84
  35. package/dist/esm/index134.js +174 -145
  36. package/dist/esm/index135.js +43 -135
  37. package/dist/esm/index136.js +6 -68
  38. package/dist/esm/index137.js +152 -21
  39. package/dist/esm/index138.js +14 -105
  40. package/dist/esm/index139.js +14 -6
  41. package/dist/esm/index140.js +98 -130
  42. package/dist/esm/index141.js +72 -275
  43. package/dist/esm/index142.js +88 -3
  44. package/dist/esm/index143.js +149 -4
  45. package/dist/esm/index144.js +137 -9
  46. package/dist/esm/index145.js +69 -2
  47. package/dist/esm/index146.js +24 -2
  48. package/dist/esm/index147.js +159 -3
  49. package/dist/esm/index148.js +6 -326
  50. package/dist/esm/index149.js +11 -13
  51. package/dist/esm/index150.js +19 -4
  52. package/dist/esm/index151.js +134 -54
  53. package/dist/esm/index152.js +79 -2
  54. package/dist/esm/index153.js +8 -6
  55. package/dist/esm/index154.js +26 -212
  56. package/dist/esm/index155.js +89 -31
  57. package/dist/esm/index156.js +351 -22
  58. package/dist/esm/index157.js +3 -6
  59. package/dist/esm/index158.js +5 -74
  60. package/dist/esm/index159.js +2 -6
  61. package/dist/esm/index160.js +3 -6
  62. package/dist/esm/index161.js +9 -36
  63. package/dist/esm/index162.js +303 -52
  64. package/dist/esm/index163.js +14 -3
  65. package/dist/esm/index164.js +4 -23
  66. package/dist/esm/index165.js +40 -436
  67. package/dist/esm/index166.js +8 -26
  68. package/dist/esm/index167.js +2 -27
  69. package/dist/esm/index168.js +6 -32
  70. package/dist/esm/index169.js +28 -32
  71. package/dist/esm/index170.js +196 -175
  72. package/dist/esm/index171.js +32 -9
  73. package/dist/esm/index172.js +22 -2
  74. package/dist/esm/index173.js +5 -12
  75. package/dist/esm/index174.js +68 -13
  76. package/dist/esm/index175.js +5 -27
  77. package/dist/esm/index176.js +5 -8
  78. package/dist/esm/index177.js +31 -51
  79. package/dist/esm/index178.js +116 -42
  80. package/dist/esm/index179.js +3 -9
  81. package/dist/esm/index180.js +18 -7
  82. package/dist/esm/index181.js +25 -15
  83. package/dist/esm/index182.js +31 -16
  84. package/dist/esm/index183.js +34 -24
  85. package/dist/esm/index184.js +23 -16
  86. package/dist/esm/index185.js +8 -54
  87. package/dist/esm/index186.js +193 -11
  88. package/dist/esm/index187.js +2 -161
  89. package/dist/esm/index188.js +467 -21
  90. package/dist/esm/index189.js +26 -126
  91. package/dist/esm/index190.js +153 -31
  92. package/dist/esm/index191.js +21 -6
  93. package/dist/esm/index192.js +127 -27
  94. package/dist/esm/index193.js +31 -184
  95. package/dist/esm/index194.js +7 -4
  96. package/dist/esm/index195.js +26 -63
  97. package/dist/esm/index196.js +56 -3
  98. package/dist/esm/index197.js +42 -17
  99. package/dist/esm/index198.js +188 -13
  100. package/dist/esm/index199.js +4 -24
  101. package/dist/esm/index2.js +2 -2
  102. package/dist/esm/index200.js +73 -11
  103. package/dist/esm/index201.js +17 -31
  104. package/dist/esm/index202.js +3 -3
  105. package/dist/esm/index203.js +15 -17
  106. package/dist/esm/index204.js +22 -26
  107. package/dist/esm/index205.js +11 -35
  108. package/dist/esm/index206.js +18 -7
  109. package/dist/esm/index207.js +32 -23
  110. package/dist/esm/index208.js +3 -29
  111. package/dist/esm/index209.js +18 -64
  112. package/dist/esm/index210.js +27 -9
  113. package/dist/esm/index211.js +34 -32
  114. package/dist/esm/index212.js +8 -27
  115. package/dist/esm/index213.js +7 -24
  116. package/dist/esm/index214.js +25 -3
  117. package/dist/esm/index215.js +28 -14
  118. package/dist/esm/index216.js +3 -103
  119. package/dist/esm/index217.js +75 -60
  120. package/dist/esm/index218.js +9 -5
  121. package/dist/esm/index219.js +12 -6
  122. package/dist/esm/index220.js +20 -26
  123. package/dist/esm/index221.js +8 -38
  124. package/dist/esm/index222.js +10 -13
  125. package/dist/esm/index223.js +11 -42
  126. package/dist/esm/index224.js +6 -5
  127. package/dist/esm/index225.js +6 -11
  128. package/dist/esm/index226.js +13 -19
  129. package/dist/esm/index227.js +30 -76
  130. package/dist/esm/index228.js +5 -2
  131. package/dist/esm/index229.js +2 -2
  132. package/dist/esm/index230.js +8 -8
  133. package/dist/esm/index231.js +3 -3
  134. package/dist/esm/index232.js +5 -5
  135. package/dist/esm/index233.js +17 -8
  136. package/dist/esm/index234.js +19 -6
  137. package/dist/esm/index235.js +42 -6
  138. package/dist/esm/index236.js +42 -11
  139. package/dist/esm/index237.js +8 -10
  140. package/dist/esm/index238.js +7 -13
  141. package/dist/esm/index239.js +15 -31
  142. package/dist/esm/index240.js +23 -5
  143. package/dist/esm/index241.js +22 -6
  144. package/dist/esm/index242.js +16 -19
  145. package/dist/esm/index243.js +52 -29
  146. package/dist/esm/index244.js +27 -20
  147. package/dist/esm/index245.js +24 -3
  148. package/dist/esm/index246.js +104 -17
  149. package/dist/esm/index247.js +3 -11
  150. package/dist/esm/index248.js +5 -21
  151. package/dist/esm/index249.js +31 -22
  152. package/dist/esm/index250.js +20 -5
  153. package/dist/esm/index251.js +3 -5
  154. package/dist/esm/index252.js +17 -8
  155. package/dist/esm/index253.js +5 -104
  156. package/dist/esm/index254.js +9 -3
  157. package/dist/esm/index255.js +102 -17
  158. package/dist/esm/index256.js +60 -167
  159. package/dist/esm/index257.js +5 -17
  160. package/dist/esm/index258.js +7 -10
  161. package/dist/esm/index259.js +27 -38
  162. package/dist/esm/index260.js +34 -2
  163. package/dist/esm/index261.js +13 -69
  164. package/dist/esm/index262.js +16 -34
  165. package/dist/esm/index263.js +77 -13
  166. package/dist/esm/index264.js +2 -41
  167. package/dist/esm/index265.js +15 -2
  168. package/dist/esm/index266.js +18 -4
  169. package/dist/esm/index267.js +170 -9
  170. package/dist/esm/index268.js +16 -18
  171. package/dist/esm/index269.js +10 -7
  172. package/dist/esm/index270.js +10 -12
  173. package/dist/esm/index271.js +2 -67
  174. package/dist/esm/index272.js +39 -64
  175. package/dist/esm/index273.js +2 -186
  176. package/dist/esm/index274.js +4 -22
  177. package/dist/esm/index275.js +9 -41
  178. package/dist/esm/index276.js +17 -74
  179. package/dist/esm/index277.js +7 -40
  180. package/dist/esm/index278.js +10 -15
  181. package/dist/esm/index279.js +72 -13
  182. package/dist/esm/index280.js +65 -7
  183. package/dist/esm/index281.js +187 -6
  184. package/dist/esm/index282.js +21 -35
  185. package/dist/esm/index283.js +42 -15
  186. package/dist/esm/index284.js +25 -8
  187. package/dist/esm/index285.js +91 -13
  188. package/dist/esm/index286.js +40 -9
  189. package/dist/esm/index287.js +15 -15
  190. package/dist/esm/index288.js +12 -21
  191. package/dist/esm/index289.js +7 -30
  192. package/dist/esm/index290.js +7 -2
  193. package/dist/esm/index291.js +36 -13
  194. package/dist/esm/index292.js +15 -12
  195. package/dist/esm/index293.js +8 -47
  196. package/dist/esm/index294.js +8 -9
  197. package/dist/esm/index295.js +16 -13
  198. package/dist/esm/index296.js +21 -13
  199. package/dist/esm/index297.js +28 -6
  200. package/dist/esm/index298.js +2 -16
  201. package/dist/esm/index299.js +12 -23
  202. package/dist/esm/index3.js +1 -1
  203. package/dist/esm/index300.js +12 -11
  204. package/dist/esm/index301.js +45 -22
  205. package/dist/esm/index302.js +9 -51
  206. package/dist/esm/index303.js +13 -17
  207. package/dist/esm/index304.js +13 -14
  208. package/dist/esm/index305.js +14 -11
  209. package/dist/esm/index306.js +8 -103
  210. package/dist/esm/index307.js +15 -5
  211. package/dist/esm/index308.js +23 -222
  212. package/dist/esm/index309.js +24 -6
  213. package/dist/esm/index310.js +32 -7
  214. package/dist/esm/index311.js +9 -26
  215. package/dist/esm/index312.js +49 -17
  216. package/dist/esm/index313.js +34 -142
  217. package/dist/esm/index314.js +18 -13
  218. package/dist/esm/index315.js +15 -36
  219. package/dist/esm/index316.js +11 -41
  220. package/dist/esm/index317.js +13 -2
  221. package/dist/esm/index318.js +19 -68
  222. package/dist/esm/index319.js +107 -3
  223. package/dist/esm/index320.js +100 -133
  224. package/dist/esm/index321.js +6 -155
  225. package/dist/esm/index322.js +7 -10
  226. package/dist/esm/index323.js +26 -16
  227. package/dist/esm/index324.js +12 -110
  228. package/dist/esm/index325.js +206 -127
  229. package/dist/esm/index326.js +12 -78
  230. package/dist/esm/index327.js +36 -2
  231. package/dist/esm/index328.js +41 -697
  232. package/dist/esm/index329.js +3 -138
  233. package/dist/esm/index330.js +68 -42
  234. package/dist/esm/index331.js +3 -200
  235. package/dist/esm/index332.js +136 -3
  236. package/dist/esm/index333.js +155 -46
  237. package/dist/esm/index334.js +9 -4
  238. package/dist/esm/index335.js +16 -40
  239. package/dist/esm/index336.js +133 -7
  240. package/dist/esm/index337.js +187 -56
  241. package/dist/esm/index338.js +2 -78
  242. package/dist/esm/index339.js +79 -4
  243. package/dist/esm/index340.js +11 -191
  244. package/dist/esm/index341.js +82 -55
  245. package/dist/esm/index342.js +159 -40
  246. package/dist/esm/index343.js +42 -4
  247. package/dist/esm/index344.js +656 -5
  248. package/dist/esm/index345.js +206 -2
  249. package/dist/esm/index346.js +174 -19
  250. package/dist/esm/index347.js +43 -0
  251. package/dist/esm/index348.js +7 -0
  252. package/dist/esm/index349.js +10 -0
  253. package/dist/esm/index350.js +65 -0
  254. package/dist/esm/index351.js +80 -0
  255. package/dist/esm/index352.js +122 -0
  256. package/dist/esm/index353.js +345 -0
  257. package/dist/esm/index354.js +163 -0
  258. package/dist/esm/index355.js +7 -0
  259. package/dist/esm/index356.js +7 -0
  260. package/dist/esm/index357.js +55 -0
  261. package/dist/esm/index358.js +7 -0
  262. package/dist/esm/index359.js +4 -0
  263. package/dist/esm/index360.js +24 -0
  264. package/dist/esm/index71.js +26 -17
  265. package/dist/esm/index73.js +2 -2
  266. package/dist/esm/index74.js +12 -40
  267. package/dist/esm/index75.js +49 -58
  268. package/dist/esm/index76.js +13 -43
  269. package/dist/esm/index77.js +28 -5
  270. package/dist/esm/index78.js +30 -48
  271. package/dist/esm/index79.js +29 -32
  272. package/dist/esm/index80.js +56 -4
  273. package/dist/esm/index81.js +54 -10
  274. package/dist/esm/index82.js +57 -67
  275. package/dist/esm/index83.js +5 -10
  276. package/dist/esm/index84.js +47 -28
  277. package/dist/esm/index85.js +37 -69
  278. package/dist/esm/index86.js +2 -20
  279. package/dist/esm/index87.js +69 -110
  280. package/dist/esm/index88.js +34 -60
  281. package/dist/esm/index89.js +13 -23
  282. package/dist/esm/index90.js +33 -39
  283. package/dist/esm/index91.js +3 -37
  284. package/dist/esm/index92.js +8 -57
  285. package/dist/esm/index93.js +118 -163
  286. package/dist/esm/index94.js +58 -36
  287. package/dist/esm/index95.js +23 -8
  288. package/dist/esm/index96.js +36 -31
  289. package/dist/esm/index97.js +38 -33
  290. package/dist/esm/index98.js +58 -9
  291. package/dist/esm/index99.js +164 -25
  292. package/dist/types/index.d.ts +1 -3
  293. package/package.json +4 -4
@@ -1,102 +1,123 @@
1
- import { BlockNotFoundError as D } from "./index153.js";
2
- import { WaitForTransactionReceiptTimeoutError as M, TransactionNotFoundError as O, TransactionReceiptNotFoundError as W } from "./index162.js";
3
- import { getAction as l } from "./index280.js";
4
- import { observe as q } from "./index282.js";
5
- import { withResolvers as z } from "./index284.js";
6
- import { withRetry as B } from "./index244.js";
7
- import { stringify as G } from "./index172.js";
8
- import { getBlock as H } from "./index105.js";
9
- import { getTransaction as J } from "./index119.js";
10
- import { getTransactionReceipt as g } from "./index122.js";
11
- import { watchBlockNumber as K } from "./index132.js";
12
- async function re(r, b) {
13
- const {
14
- checkReplacement: F = !0,
15
- confirmations: n = 1,
16
- hash: s,
17
- onReplaced: _,
18
- retryCount: v = 6,
19
- retryDelay: y = ({ count: t }) => ~~(1 << t) * 200,
20
- // exponential backoff
21
- timeout: N = 18e4
22
- } = b, I = G(["waitForTransactionReceipt", r.uid, s]), E = b.pollingInterval ? b.pollingInterval : r.chain?.experimental_preconfirmationTime ? r.chain.experimental_preconfirmationTime : r.pollingInterval;
23
- let i, a, e, c = !1, p, d;
24
- const { promise: j, resolve: x, reject: R } = z(), w = N ? setTimeout(() => {
25
- d(), p(), R(new M({ hash: s }));
26
- }, N) : void 0;
27
- return p = q(I, { onReplaced: _, resolve: x, reject: R }, async (t) => {
28
- if (e = await l(r, g, "getTransactionReceipt")({ hash: s }).catch(() => {
29
- }), e && n <= 1) {
30
- clearTimeout(w), t.resolve(e), p();
31
- return;
1
+ import { multicall3Abi as x } from "./index156.js";
2
+ import { multicall3Bytecode as P } from "./index158.js";
3
+ import { AbiDecodingZeroDataError as B } from "./index162.js";
4
+ import { BaseError as O } from "./index165.js";
5
+ import { RawContractError as q } from "./index170.js";
6
+ import { decodeFunctionResult as L } from "./index204.js";
7
+ import { encodeFunctionData as T } from "./index213.js";
8
+ import { getChainContractAddress as Z } from "./index234.js";
9
+ import { getContractError as F } from "./index240.js";
10
+ import { getAction as G } from "./index289.js";
11
+ import { readContract as H } from "./index132.js";
12
+ async function $(i, c) {
13
+ const { account: w, authorizationList: j, allowFailure: d = !0, blockNumber: b, blockOverrides: z, blockTag: N, stateOverride: R } = c, h = c.contracts, { batchSize: p = c.batchSize ?? 1024, deployless: S = c.deployless ?? !1 } = typeof i.batch?.multicall == "object" ? i.batch.multicall : {}, C = (() => {
14
+ if (c.multicallAddress)
15
+ return c.multicallAddress;
16
+ if (S)
17
+ return null;
18
+ if (i.chain)
19
+ return Z({
20
+ blockNumber: b,
21
+ chain: i.chain,
22
+ contract: "multicall3"
23
+ });
24
+ throw new Error("client chain not configured. multicallAddress is required.");
25
+ })(), e = [[]];
26
+ let o = 0, f = 0;
27
+ for (let t = 0; t < h.length; t++) {
28
+ const { abi: a, address: s, args: r, functionName: u } = h[t];
29
+ try {
30
+ const l = T({ abi: a, args: r, functionName: u });
31
+ f += (l.length - 2) / 2, // Check if batching is enabled.
32
+ p > 0 && // Check if the current size of the batch exceeds the size limit.
33
+ f > p && // Check if the current chunk is not already empty.
34
+ e[o].length > 0 && (o++, f = (l.length - 2) / 2, e[o] = []), e[o] = [
35
+ ...e[o],
36
+ {
37
+ allowFailure: !0,
38
+ callData: l,
39
+ target: s
40
+ }
41
+ ];
42
+ } catch (l) {
43
+ const g = F(l, {
44
+ abi: a,
45
+ address: s,
46
+ args: r,
47
+ docsPath: "/docs/contract/multicall",
48
+ functionName: u,
49
+ sender: w
50
+ });
51
+ if (!d)
52
+ throw g;
53
+ e[o] = [
54
+ ...e[o],
55
+ {
56
+ allowFailure: !0,
57
+ callData: "0x",
58
+ target: s
59
+ }
60
+ ];
32
61
  }
33
- d = l(r, K, "watchBlockNumber")({
34
- emitMissed: !0,
35
- emitOnBegin: !0,
36
- poll: !0,
37
- pollingInterval: E,
38
- async onBlockNumber(A) {
39
- const u = (f) => {
40
- clearTimeout(w), d(), f(), p();
41
- };
42
- let m = A;
43
- if (!c)
44
- try {
45
- if (e) {
46
- if (n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n))
47
- return;
48
- u(() => t.resolve(e));
49
- return;
50
- }
51
- if (F && !i && (c = !0, await B(async () => {
52
- i = await l(r, J, "getTransaction")({ hash: s }), i.blockNumber && (m = i.blockNumber);
53
- }, {
54
- delay: y,
55
- retryCount: v
56
- }), c = !1), e = await l(r, g, "getTransactionReceipt")({ hash: s }), n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n))
57
- return;
58
- u(() => t.resolve(e));
59
- } catch (f) {
60
- if (f instanceof O || f instanceof W) {
61
- if (!i) {
62
- c = !1;
63
- return;
64
- }
65
- try {
66
- a = i, c = !0;
67
- const T = await B(() => l(r, H, "getBlock")({
68
- blockNumber: m,
69
- includeTransactions: !0
70
- }), {
71
- delay: y,
72
- retryCount: v,
73
- shouldRetry: ({ error: k }) => k instanceof D
74
- });
75
- c = !1;
76
- const o = T.transactions.find(({ from: k, nonce: C }) => k === a.from && C === a.nonce);
77
- if (!o || (e = await l(r, g, "getTransactionReceipt")({
78
- hash: o.hash
79
- }), n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n)))
80
- return;
81
- let h = "replaced";
82
- o.to === a.to && o.value === a.value && o.input === a.input ? h = "repriced" : o.from === o.to && o.value === 0n && (h = "cancelled"), u(() => {
83
- t.onReplaced?.({
84
- reason: h,
85
- replacedTransaction: a,
86
- transaction: o,
87
- transactionReceipt: e
88
- }), t.resolve(e);
89
- });
90
- } catch (T) {
91
- u(() => t.reject(T));
92
- }
93
- } else
94
- u(() => t.reject(f));
95
- }
62
+ }
63
+ const A = await Promise.allSettled(e.map((t) => G(i, H, "readContract")({
64
+ ...C === null ? { code: P } : { address: C },
65
+ abi: x,
66
+ account: w,
67
+ args: [t],
68
+ authorizationList: j,
69
+ blockNumber: b,
70
+ blockOverrides: z,
71
+ blockTag: N,
72
+ functionName: "aggregate3",
73
+ stateOverride: R
74
+ }))), n = [];
75
+ for (let t = 0; t < A.length; t++) {
76
+ const a = A[t];
77
+ if (a.status === "rejected") {
78
+ if (!d)
79
+ throw a.reason;
80
+ for (let r = 0; r < e[t].length; r++)
81
+ n.push({
82
+ status: "failure",
83
+ error: a.reason,
84
+ result: void 0
85
+ });
86
+ continue;
87
+ }
88
+ const s = a.value;
89
+ for (let r = 0; r < s.length; r++) {
90
+ const { returnData: u, success: l } = s[r], { callData: g } = e[t][r], { abi: y, address: v, functionName: D, args: k } = h[n.length];
91
+ try {
92
+ if (g === "0x")
93
+ throw new B();
94
+ if (!l)
95
+ throw new q({ data: u });
96
+ const m = L({
97
+ abi: y,
98
+ args: k,
99
+ data: u,
100
+ functionName: D
101
+ });
102
+ n.push(d ? { result: m, status: "success" } : m);
103
+ } catch (m) {
104
+ const E = F(m, {
105
+ abi: y,
106
+ address: v,
107
+ args: k,
108
+ docsPath: "/docs/contract/multicall",
109
+ functionName: D
110
+ });
111
+ if (!d)
112
+ throw E;
113
+ n.push({ error: E, result: void 0, status: "failure" });
96
114
  }
97
- });
98
- }), j;
115
+ }
116
+ }
117
+ if (n.length !== h.length)
118
+ throw new O("multicall results mismatch");
119
+ return n;
99
120
  }
100
121
  export {
101
- re as waitForTransactionReceipt
122
+ $ as multicall
102
123
  };
@@ -1,75 +1,36 @@
1
- import { hexToBigInt as w } from "./index211.js";
2
- import { getAction as g } from "./index280.js";
3
- import { observe as k } from "./index282.js";
4
- import { poll as h } from "./index283.js";
5
- import { stringify as y } from "./index172.js";
6
- import { getBlockNumber as v } from "./index106.js";
7
- function H(r, { emitOnBegin: c = !1, emitMissed: a = !1, onBlockNumber: l, onError: b, poll: i, pollingInterval: m = r.pollingInterval }) {
8
- const N = typeof i < "u" ? i : !(r.transport.type === "webSocket" || r.transport.type === "ipc" || r.transport.type === "fallback" && (r.transport.transports[0].config.type === "webSocket" || r.transport.transports[0].config.type === "ipc"));
9
- let t;
10
- return N ? (() => {
11
- const p = y([
12
- "watchBlockNumber",
13
- r.uid,
14
- c,
15
- a,
16
- m
17
- ]);
18
- return k(p, { onBlockNumber: l, onError: b }, (s) => h(async () => {
19
- try {
20
- const o = await g(r, v, "getBlockNumber")({ cacheTime: 0 });
21
- if (t) {
22
- if (o === t)
23
- return;
24
- if (o - t > 1 && a)
25
- for (let e = t + 1n; e < o; e++)
26
- s.onBlockNumber(e, t), t = e;
27
- }
28
- (!t || o > t) && (s.onBlockNumber(o, t), t = o);
29
- } catch (o) {
30
- s.onError?.(o);
31
- }
32
- }, {
33
- emitOnBegin: c,
34
- interval: m
35
- }));
36
- })() : (() => {
37
- const p = y([
38
- "watchBlockNumber",
39
- r.uid,
40
- c,
41
- a
42
- ]);
43
- return k(p, { onBlockNumber: l, onError: b }, (s) => {
44
- let o = !0, e = () => o = !1;
45
- return (async () => {
46
- try {
47
- const f = (() => {
48
- if (r.transport.type === "fallback") {
49
- const n = r.transport.transports.find((u) => u.config.type === "webSocket" || u.config.type === "ipc");
50
- return n ? n.value : r.transport;
51
- }
52
- return r.transport;
53
- })(), { unsubscribe: B } = await f.subscribe({
54
- params: ["newHeads"],
55
- onData(n) {
56
- if (!o)
57
- return;
58
- const u = w(n.result?.number);
59
- s.onBlockNumber(u, t), t = u;
60
- },
61
- onError(n) {
62
- s.onError?.(n);
63
- }
64
- });
65
- e = B, o || e();
66
- } catch (f) {
67
- b?.(f);
68
- }
69
- })(), () => e();
1
+ import { decodeFunctionResult as m } from "./index204.js";
2
+ import { encodeFunctionData as s } from "./index213.js";
3
+ import { getContractError as f } from "./index240.js";
4
+ import { getAction as l } from "./index289.js";
5
+ import { call as p } from "./index99.js";
6
+ async function x(n, e) {
7
+ const { abi: t, address: c, args: o, functionName: r, ...d } = e, i = s({
8
+ abi: t,
9
+ args: o,
10
+ functionName: r
11
+ });
12
+ try {
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
70
17
  });
71
- })();
18
+ return m({
19
+ abi: t,
20
+ args: o,
21
+ functionName: r,
22
+ data: a || "0x"
23
+ });
24
+ } catch (a) {
25
+ throw f(a, {
26
+ abi: t,
27
+ address: c,
28
+ args: o,
29
+ docsPath: "/docs/contract/readContract",
30
+ functionName: r
31
+ });
32
+ }
72
33
  }
73
34
  export {
74
- H as watchBlockNumber
35
+ x as readContract
75
36
  };
@@ -1,90 +1,83 @@
1
- import { getAction as p } from "./index280.js";
2
- import { observe as h } from "./index282.js";
3
- import { poll as v } from "./index283.js";
4
- import { stringify as S } from "./index172.js";
5
- import { getBlock as i } from "./index105.js";
6
- function P(r, { blockTag: l = r.experimental_blockTag ?? "latest", emitMissed: y = !1, emitOnBegin: m = !1, onBlock: k, onError: f, includeTransactions: B, poll: d, pollingInterval: w = r.pollingInterval }) {
7
- const g = typeof d < "u" ? d : !(r.transport.type === "webSocket" || r.transport.type === "ipc" || r.transport.type === "fallback" && (r.transport.transports[0].config.type === "webSocket" || r.transport.transports[0].config.type === "ipc")), a = B ?? !1;
8
- let e;
9
- return g ? (() => {
10
- const o = S([
11
- "watchBlocks",
12
- r.uid,
13
- l,
14
- y,
15
- m,
16
- a,
17
- w
18
- ]);
19
- return h(o, { onBlock: k, onError: f }, (s) => v(async () => {
20
- try {
21
- const t = await p(r, i, "getBlock")({
22
- blockTag: l,
23
- includeTransactions: a
24
- });
25
- if (t.number !== null && e?.number != null) {
26
- if (t.number === e.number)
1
+ import { toRpc as R } from "./index297.js";
2
+ import { parseAccount as q } from "./index91.js";
3
+ import { AbiDecodingZeroDataError as D } from "./index162.js";
4
+ import { RawContractError as S } from "./index170.js";
5
+ import { UnknownNodeError as y } from "./index186.js";
6
+ import { decodeFunctionResult as B } from "./index204.js";
7
+ import { encodeFunctionData as C } from "./index213.js";
8
+ import { concat as F } from "./index206.js";
9
+ import { numberToHex as H } from "./index197.js";
10
+ import { getContractError as U } from "./index240.js";
11
+ import { getNodeError as A } from "./index308.js";
12
+ import { formatBlock as _ } from "./index241.js";
13
+ import { formatLog as z } from "./index219.js";
14
+ import { formatTransactionRequest as I } from "./index245.js";
15
+ import { serializeStateOverride as L } from "./index301.js";
16
+ import { assertRequest as V } from "./index262.js";
17
+ async function nr(p, g) {
18
+ const { blockNumber: b, blockTag: x = p.experimental_blockTag ?? "latest", blocks: k, returnFullTransactions: v, traceTransfers: w, validation: N } = g;
19
+ try {
20
+ const c = [];
21
+ for (const o of k) {
22
+ const d = o.blockOverrides ? R(o.blockOverrides) : void 0, e = o.calls.map((n) => {
23
+ const r = n, a = r.account ? q(r.account) : void 0, m = r.abi ? C(r) : r.data, t = {
24
+ ...r,
25
+ account: a,
26
+ data: r.dataSuffix ? F([m || "0x", r.dataSuffix]) : m,
27
+ from: r.from ?? a?.address
28
+ };
29
+ return V(t), I(t);
30
+ }), l = o.stateOverrides ? L(o.stateOverrides) : void 0;
31
+ c.push({
32
+ blockOverrides: d,
33
+ calls: e,
34
+ stateOverrides: l
35
+ });
36
+ }
37
+ const i = (typeof b == "bigint" ? H(b) : void 0) || x;
38
+ return (await p.request({
39
+ method: "eth_simulateV1",
40
+ params: [
41
+ { blockStateCalls: c, returnFullTransactions: v, traceTransfers: w, validation: N },
42
+ i
43
+ ]
44
+ })).map((o, d) => ({
45
+ ..._(o),
46
+ calls: o.calls.map((e, l) => {
47
+ const { abi: n, args: r, functionName: a, to: m } = k[d].calls[l], t = e.error?.data ?? e.returnData, O = BigInt(e.gasUsed), h = e.logs?.map((s) => z(s)), u = e.status === "0x1" ? "success" : "failure", T = n && u === "success" && t !== "0x" ? B({
48
+ abi: n,
49
+ data: t,
50
+ functionName: a
51
+ }) : null, E = (() => {
52
+ if (u === "success")
27
53
  return;
28
- if (t.number - e.number > 1 && y)
29
- for (let u = e?.number + 1n; u < t.number; u++) {
30
- const b = await p(r, i, "getBlock")({
31
- blockNumber: u,
32
- includeTransactions: a
33
- });
34
- s.onBlock(b, e), e = b;
35
- }
36
- }
37
- // If no previous block exists, emit.
38
- (e?.number == null || // If the block tag is "pending" with no block number, emit.
39
- l === "pending" && t?.number == null || // If the next block number is greater than the previous block number, emit.
40
- // We don't want to emit blocks in the past.
41
- t.number !== null && t.number > e.number) && (s.onBlock(t, e), e = t);
42
- } catch (t) {
43
- s.onError?.(t);
44
- }
45
- }, {
46
- emitOnBegin: m,
47
- interval: w
48
- }));
49
- })() : (() => {
50
- let o = !0, s = !0, t = () => o = !1;
51
- return (async () => {
52
- try {
53
- m && p(r, i, "getBlock")({
54
- blockTag: l,
55
- includeTransactions: a
56
- }).then((n) => {
57
- o && s && (k(n, void 0), s = !1);
58
- }).catch(f);
59
- const u = (() => {
60
- if (r.transport.type === "fallback") {
61
- const n = r.transport.transports.find((c) => c.config.type === "webSocket" || c.config.type === "ipc");
62
- return n ? n.value : r.transport;
63
- }
64
- return r.transport;
65
- })(), { unsubscribe: b } = await u.subscribe({
66
- params: ["newHeads"],
67
- async onData(n) {
68
- if (!o)
69
- return;
70
- const c = await p(r, i, "getBlock")({
71
- blockNumber: n.result?.number,
72
- includeTransactions: a
73
- }).catch(() => {
54
+ let s;
55
+ if (t === "0x" ? s = new D() : t && (s = new S({ data: t })), !!s)
56
+ return U(s, {
57
+ abi: n ?? [],
58
+ address: m ?? "0x",
59
+ args: r,
60
+ functionName: a ?? "<unknown>"
74
61
  });
75
- o && (k(c, e), s = !1, e = c);
76
- },
77
- onError(n) {
78
- f?.(n);
62
+ })();
63
+ return {
64
+ data: t,
65
+ gasUsed: O,
66
+ logs: h,
67
+ status: u,
68
+ ...u === "success" ? {
69
+ result: T
70
+ } : {
71
+ error: E
79
72
  }
80
- });
81
- t = b, o || t();
82
- } catch (u) {
83
- f?.(u);
84
- }
85
- })(), () => t();
86
- })();
73
+ };
74
+ })
75
+ }));
76
+ } catch (c) {
77
+ const f = c, i = A(f, {});
78
+ throw i instanceof y ? f : i;
79
+ }
87
80
  }
88
81
  export {
89
- P as watchBlocks
82
+ nr as simulateBlocks
90
83
  };