@coinbase/cdp-hooks 0.0.55 → 0.0.56

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 (292) hide show
  1. package/dist/esm/index.js +55 -51
  2. package/dist/esm/index10.js +11 -6
  3. package/dist/esm/index100.js +30 -72
  4. package/dist/esm/index101.js +21 -5
  5. package/dist/esm/index102.js +5 -5
  6. package/dist/esm/index103.js +69 -31
  7. package/dist/esm/index104.js +5 -75
  8. package/dist/esm/index105.js +6 -3
  9. package/dist/esm/index106.js +28 -16
  10. package/dist/esm/index107.js +57 -433
  11. package/dist/esm/index108.js +3 -31
  12. package/dist/esm/index109.js +17 -20
  13. package/dist/esm/index11.js +6 -12
  14. package/dist/esm/index110.js +439 -21
  15. package/dist/esm/index111.js +28 -32
  16. package/dist/esm/index112.js +18 -185
  17. package/dist/esm/index113.js +31 -6
  18. package/dist/esm/index114.js +35 -2
  19. package/dist/esm/index115.js +189 -8
  20. package/dist/esm/index116.js +7 -17
  21. package/dist/esm/index117.js +2 -28
  22. package/dist/esm/index118.js +12 -8
  23. package/dist/esm/index119.js +15 -52
  24. package/dist/esm/index12.js +7 -50
  25. package/dist/esm/index120.js +23 -41
  26. package/dist/esm/index121.js +8 -8
  27. package/dist/esm/index122.js +55 -7
  28. package/dist/esm/index123.js +44 -15
  29. package/dist/esm/index124.js +8 -18
  30. package/dist/esm/index125.js +7 -24
  31. package/dist/esm/index126.js +16 -16
  32. package/dist/esm/index127.js +17 -53
  33. package/dist/esm/index128.js +22 -9
  34. package/dist/esm/index129.js +15 -159
  35. package/dist/esm/index13.js +13 -8
  36. package/dist/esm/index130.js +53 -20
  37. package/dist/esm/index131.js +11 -127
  38. package/dist/esm/index132.js +153 -31
  39. package/dist/esm/index133.js +21 -6
  40. package/dist/esm/index134.js +127 -27
  41. package/dist/esm/index135.js +31 -184
  42. package/dist/esm/index136.js +7 -4
  43. package/dist/esm/index137.js +26 -63
  44. package/dist/esm/index138.js +192 -3
  45. package/dist/esm/index139.js +4 -21
  46. package/dist/esm/index14.js +9 -34
  47. package/dist/esm/index140.js +61 -13
  48. package/dist/esm/index141.js +3 -24
  49. package/dist/esm/index142.js +20 -11
  50. package/dist/esm/index143.js +15 -33
  51. package/dist/esm/index144.js +24 -3
  52. package/dist/esm/index145.js +11 -18
  53. package/dist/esm/index146.js +33 -26
  54. package/dist/esm/index147.js +3 -36
  55. package/dist/esm/index148.js +18 -7
  56. package/dist/esm/index149.js +26 -24
  57. package/dist/esm/index15.js +33 -17
  58. package/dist/esm/index150.js +34 -27
  59. package/dist/esm/index151.js +7 -64
  60. package/dist/esm/index152.js +25 -9
  61. package/dist/esm/index153.js +28 -33
  62. package/dist/esm/index154.js +64 -27
  63. package/dist/esm/index155.js +9 -24
  64. package/dist/esm/index156.js +33 -3
  65. package/dist/esm/index157.js +27 -14
  66. package/dist/esm/index158.js +24 -103
  67. package/dist/esm/index159.js +3 -64
  68. package/dist/esm/index16.js +18 -12
  69. package/dist/esm/index160.js +14 -5
  70. package/dist/esm/index161.js +103 -6
  71. package/dist/esm/index162.js +62 -25
  72. package/dist/esm/index163.js +5 -39
  73. package/dist/esm/index164.js +6 -13
  74. package/dist/esm/index165.js +24 -39
  75. package/dist/esm/index166.js +39 -5
  76. package/dist/esm/index167.js +13 -11
  77. package/dist/esm/index168.js +42 -19
  78. package/dist/esm/index169.js +5 -78
  79. package/dist/esm/index17.js +11 -11
  80. package/dist/esm/index170.js +12 -2
  81. package/dist/esm/index171.js +19 -37
  82. package/dist/esm/index172.js +73 -105
  83. package/dist/esm/index173.js +2 -49
  84. package/dist/esm/index174.js +36 -31
  85. package/dist/esm/index175.js +110 -8
  86. package/dist/esm/index176.js +48 -6
  87. package/dist/esm/index177.js +32 -6
  88. package/dist/esm/index178.js +8 -11
  89. package/dist/esm/index179.js +6 -10
  90. package/dist/esm/index18.js +12 -54
  91. package/dist/esm/index180.js +6 -13
  92. package/dist/esm/index181.js +11 -32
  93. package/dist/esm/index182.js +11 -5
  94. package/dist/esm/index183.js +13 -8
  95. package/dist/esm/index184.js +30 -17
  96. package/dist/esm/index185.js +5 -32
  97. package/dist/esm/index186.js +8 -20
  98. package/dist/esm/index187.js +19 -3
  99. package/dist/esm/index188.js +31 -17
  100. package/dist/esm/index189.js +20 -10
  101. package/dist/esm/index19.js +54 -58
  102. package/dist/esm/index190.js +3 -21
  103. package/dist/esm/index191.js +16 -21
  104. package/dist/esm/index192.js +10 -5
  105. package/dist/esm/index193.js +21 -5
  106. package/dist/esm/index194.js +22 -8
  107. package/dist/esm/index195.js +5 -104
  108. package/dist/esm/index196.js +6 -3
  109. package/dist/esm/index197.js +8 -18
  110. package/dist/esm/index198.js +99 -166
  111. package/dist/esm/index199.js +3 -18
  112. package/dist/esm/index2.js +56 -34
  113. package/dist/esm/index20.js +58 -56
  114. package/dist/esm/index200.js +19 -10
  115. package/dist/esm/index201.js +172 -5
  116. package/dist/esm/index202.js +16 -39
  117. package/dist/esm/index203.js +10 -2
  118. package/dist/esm/index204.js +38 -4
  119. package/dist/esm/index205.js +2 -11
  120. package/dist/esm/index206.js +69 -19
  121. package/dist/esm/index207.js +34 -7
  122. package/dist/esm/index208.js +19 -10
  123. package/dist/esm/index209.js +40 -66
  124. package/dist/esm/index21.js +56 -33
  125. package/dist/esm/index210.js +2 -66
  126. package/dist/esm/index211.js +4 -185
  127. package/dist/esm/index212.js +8 -20
  128. package/dist/esm/index213.js +17 -40
  129. package/dist/esm/index214.js +7 -76
  130. package/dist/esm/index215.js +10 -39
  131. package/dist/esm/index216.js +66 -16
  132. package/dist/esm/index217.js +64 -12
  133. package/dist/esm/index218.js +185 -7
  134. package/dist/esm/index219.js +22 -6
  135. package/dist/esm/index22.js +5 -4
  136. package/dist/esm/index220.js +42 -36
  137. package/dist/esm/index221.js +76 -15
  138. package/dist/esm/index222.js +40 -8
  139. package/dist/esm/index223.js +16 -12
  140. package/dist/esm/index224.js +13 -9
  141. package/dist/esm/index225.js +7 -16
  142. package/dist/esm/index226.js +6 -22
  143. package/dist/esm/index227.js +35 -29
  144. package/dist/esm/index228.js +16 -2
  145. package/dist/esm/index229.js +8 -13
  146. package/dist/esm/index23.js +46 -8
  147. package/dist/esm/index230.js +12 -12
  148. package/dist/esm/index231.js +9 -47
  149. package/dist/esm/index232.js +16 -9
  150. package/dist/esm/index233.js +21 -12
  151. package/dist/esm/index234.js +30 -14
  152. package/dist/esm/index235.js +2 -9
  153. package/dist/esm/index236.js +13 -15
  154. package/dist/esm/index237.js +12 -24
  155. package/dist/esm/index238.js +46 -10
  156. package/dist/esm/index239.js +9 -24
  157. package/dist/esm/index24.js +31 -67
  158. package/dist/esm/index240.js +13 -51
  159. package/dist/esm/index241.js +14 -17
  160. package/dist/esm/index242.js +8 -14
  161. package/dist/esm/index243.js +15 -11
  162. package/dist/esm/index244.js +24 -103
  163. package/dist/esm/index245.js +11 -6
  164. package/dist/esm/index246.js +24 -224
  165. package/dist/esm/index247.js +51 -6
  166. package/dist/esm/index248.js +18 -7
  167. package/dist/esm/index249.js +13 -25
  168. package/dist/esm/index25.js +3 -9
  169. package/dist/esm/index250.js +11 -19
  170. package/dist/esm/index251.js +99 -142
  171. package/dist/esm/index252.js +7 -13
  172. package/dist/esm/index253.js +224 -35
  173. package/dist/esm/index254.js +6 -41
  174. package/dist/esm/index255.js +7 -69
  175. package/dist/esm/index256.js +25 -37
  176. package/dist/esm/index257.js +20 -2
  177. package/dist/esm/index258.js +146 -69
  178. package/dist/esm/index259.js +13 -35
  179. package/dist/esm/index26.js +9 -28
  180. package/dist/esm/index260.js +36 -21
  181. package/dist/esm/index261.js +41 -3
  182. package/dist/esm/index262.js +2 -137
  183. package/dist/esm/index263.js +69 -156
  184. package/dist/esm/index264.js +3 -9
  185. package/dist/esm/index265.js +136 -16
  186. package/dist/esm/index266.js +140 -98
  187. package/dist/esm/index267.js +9 -134
  188. package/dist/esm/index268.js +16 -78
  189. package/dist/esm/index269.js +114 -2
  190. package/dist/esm/index27.js +68 -70
  191. package/dist/esm/index270.js +124 -688
  192. package/dist/esm/index271.js +73 -134
  193. package/dist/esm/index272.js +2 -43
  194. package/dist/esm/index273.js +675 -178
  195. package/dist/esm/index274.js +140 -2
  196. package/dist/esm/index275.js +40 -63
  197. package/dist/esm/index276.js +201 -4
  198. package/dist/esm/index277.js +3 -40
  199. package/dist/esm/index278.js +65 -7
  200. package/dist/esm/index279.js +4 -62
  201. package/dist/esm/index28.js +9 -19
  202. package/dist/esm/index280.js +33 -70
  203. package/dist/esm/index281.js +8 -4
  204. package/dist/esm/index282.js +55 -187
  205. package/dist/esm/index283.js +77 -3
  206. package/dist/esm/index284.js +4 -64
  207. package/dist/esm/index285.js +194 -44
  208. package/dist/esm/index286.js +63 -4
  209. package/dist/esm/index287.js +45 -5
  210. package/dist/esm/index288.js +5 -2
  211. package/dist/esm/index289.js +5 -22
  212. package/dist/esm/index29.js +26 -108
  213. package/dist/esm/index290.js +4 -0
  214. package/dist/esm/index291.js +24 -0
  215. package/dist/esm/index3.js +2 -175
  216. package/dist/esm/index30.js +70 -60
  217. package/dist/esm/index31.js +19 -24
  218. package/dist/esm/index32.js +110 -40
  219. package/dist/esm/index33.js +57 -34
  220. package/dist/esm/index34.js +20 -54
  221. package/dist/esm/index35.js +37 -160
  222. package/dist/esm/index36.js +36 -38
  223. package/dist/esm/index37.js +58 -9
  224. package/dist/esm/index38.js +161 -29
  225. package/dist/esm/index39.js +39 -36
  226. package/dist/esm/index4.js +36 -24
  227. package/dist/esm/index40.js +7 -7
  228. package/dist/esm/index41.js +30 -28
  229. package/dist/esm/index42.js +34 -44
  230. package/dist/esm/index43.js +9 -88
  231. package/dist/esm/index44.js +26 -37
  232. package/dist/esm/index45.js +46 -8
  233. package/dist/esm/index46.js +88 -6
  234. package/dist/esm/index47.js +40 -16
  235. package/dist/esm/index48.js +8 -8
  236. package/dist/esm/index49.js +6 -13
  237. package/dist/esm/index5.js +169 -48
  238. package/dist/esm/index50.js +16 -7
  239. package/dist/esm/index51.js +8 -9
  240. package/dist/esm/index52.js +13 -16
  241. package/dist/esm/index53.js +7 -46
  242. package/dist/esm/index54.js +9 -13
  243. package/dist/esm/index55.js +15 -15
  244. package/dist/esm/index56.js +46 -13
  245. package/dist/esm/index57.js +13 -6
  246. package/dist/esm/index58.js +15 -34
  247. package/dist/esm/index59.js +13 -9
  248. package/dist/esm/index6.js +15 -15
  249. package/dist/esm/index60.js +5 -7
  250. package/dist/esm/index61.js +35 -25
  251. package/dist/esm/index62.js +9 -10
  252. package/dist/esm/index63.js +7 -13
  253. package/dist/esm/index64.js +25 -11
  254. package/dist/esm/index65.js +10 -116
  255. package/dist/esm/index66.js +13 -32
  256. package/dist/esm/index67.js +11 -79
  257. package/dist/esm/index68.js +108 -169
  258. package/dist/esm/index69.js +26 -37
  259. package/dist/esm/index7.js +52 -11
  260. package/dist/esm/index70.js +79 -6
  261. package/dist/esm/index71.js +177 -13
  262. package/dist/esm/index72.js +44 -13
  263. package/dist/esm/index73.js +6 -99
  264. package/dist/esm/index74.js +13 -72
  265. package/dist/esm/index75.js +13 -87
  266. package/dist/esm/index76.js +93 -142
  267. package/dist/esm/index77.js +65 -129
  268. package/dist/esm/index78.js +73 -54
  269. package/dist/esm/index79.js +148 -23
  270. package/dist/esm/index8.js +24 -13
  271. package/dist/esm/index80.js +133 -102
  272. package/dist/esm/index81.js +68 -6
  273. package/dist/esm/index82.js +23 -131
  274. package/dist/esm/index83.js +101 -271
  275. package/dist/esm/index84.js +7 -3
  276. package/dist/esm/index85.js +132 -4
  277. package/dist/esm/index86.js +276 -9
  278. package/dist/esm/index87.js +3 -2
  279. package/dist/esm/index88.js +4 -2
  280. package/dist/esm/index89.js +9 -3
  281. package/dist/esm/index9.js +11 -6
  282. package/dist/esm/index90.js +2 -327
  283. package/dist/esm/index91.js +2 -14
  284. package/dist/esm/index92.js +3 -5
  285. package/dist/esm/index93.js +299 -28
  286. package/dist/esm/index94.js +14 -2
  287. package/dist/esm/index95.js +4 -7
  288. package/dist/esm/index96.js +29 -188
  289. package/dist/esm/index97.js +2 -32
  290. package/dist/esm/index98.js +7 -21
  291. package/dist/esm/index99.js +214 -5
  292. package/package.json +3 -3
@@ -1,180 +1,119 @@
1
- import { encode as J, from as K } from "./index238.js";
2
- import { encodeData as M, from as o } from "./index239.js";
3
- import { parseAccount as Q } from "./index22.js";
4
- import { zeroAddress as t, ethAddress as S } from "./index84.js";
5
- import { deploylessCallViaBytecodeBytecode as W } from "./index85.js";
6
- import { BaseError as X } from "./index93.js";
7
- import { encodeFunctionData as Y } from "./index148.js";
8
- import { createAccessList as Z } from "./index36.js";
9
- import { simulateBlocks as ss } from "./index67.js";
10
- import { hexToBigInt as k } from "./index153.js";
11
- const es = "0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";
12
- async function bs(b, r) {
13
- const { blockNumber: g, blockTag: y, calls: h, stateOverrides: u, traceAssetChanges: a, traceTransfers: P, validation: _ } = r, f = r.account ? Q(r.account) : void 0;
14
- if (a && !f)
15
- throw new X("`account` is required when `traceAssetChanges` is true");
16
- const m = f ? J(K("constructor(bytes, bytes)"), {
17
- bytecode: W,
18
- args: [
19
- es,
20
- M(o("function getBalance(address)"), [f.address])
21
- ]
22
- }) : void 0, n = a ? await Promise.all(r.calls.map(async (s) => {
23
- if (!s.data && !s.abi)
24
- return;
25
- const { accessList: e } = await Z(b, {
26
- account: f.address,
27
- ...s,
28
- data: s.abi ? Y(s) : s.data
1
+ import { multicall3Abi as x } from "./index86.js";
2
+ import { AbiDecodingZeroDataError as P } from "./index93.js";
3
+ import { BaseError as _ } from "./index96.js";
4
+ import { RawContractError as v } from "./index99.js";
5
+ import { decodeFunctionResult as q } from "./index144.js";
6
+ import { encodeFunctionData as B } from "./index151.js";
7
+ import { getChainContractAddress as O } from "./index187.js";
8
+ import { getContractError as E } from "./index194.js";
9
+ import { getAction as T } from "./index225.js";
10
+ import { readContract as Z } from "./index69.js";
11
+ async function W(n, w) {
12
+ const { account: b, allowFailure: u = !0, batchSize: F, blockNumber: p, blockTag: j, multicallAddress: y, stateOverride: N } = w, d = w.contracts, C = F ?? (typeof n.batch?.multicall == "object" && n.batch.multicall.batchSize || 1024);
13
+ let m = y;
14
+ if (!m) {
15
+ if (!n.chain)
16
+ throw new Error("client chain not configured. multicallAddress is required.");
17
+ m = O({
18
+ blockNumber: p,
19
+ chain: n.chain,
20
+ contract: "multicall3"
29
21
  });
30
- return e.map(({ address: c, storageKeys: d }) => d.length > 0 ? c : null);
31
- })).then((s) => s.flat().filter(Boolean)) : [], l = await ss(b, {
32
- blockNumber: g,
33
- blockTag: y,
34
- blocks: [
35
- ...a ? [
36
- // ETH pre balances
37
- {
38
- calls: [{ data: m }],
39
- stateOverrides: u
40
- },
41
- // Asset pre balances
22
+ }
23
+ const e = [[]];
24
+ let a = 0, f = 0;
25
+ for (let t = 0; t < d.length; t++) {
26
+ const { abi: o, address: s, args: r, functionName: i } = d[t];
27
+ try {
28
+ const c = B({ abi: o, args: r, functionName: i });
29
+ f += (c.length - 2) / 2, // Check if batching is enabled.
30
+ C > 0 && // Check if the current size of the batch exceeds the size limit.
31
+ f > C && // Check if the current chunk is not already empty.
32
+ e[a].length > 0 && (a++, f = (c.length - 2) / 2, e[a] = []), e[a] = [
33
+ ...e[a],
42
34
  {
43
- calls: n.map((s, e) => ({
44
- abi: [
45
- o("function balanceOf(address) returns (uint256)")
46
- ],
47
- functionName: "balanceOf",
48
- args: [f.address],
49
- to: s,
50
- from: t,
51
- nonce: e
52
- })),
53
- stateOverrides: [
54
- {
55
- address: t,
56
- nonce: 0
57
- }
58
- ]
35
+ allowFailure: !0,
36
+ callData: c,
37
+ target: s
59
38
  }
60
- ] : [],
61
- {
62
- calls: [...h, {}].map((s) => ({
63
- ...s,
64
- from: f?.address
65
- })),
66
- stateOverrides: u
67
- },
68
- ...a ? [
69
- // ETH post balances
70
- {
71
- calls: [{ data: m }]
72
- },
73
- // Asset post balances
74
- {
75
- calls: n.map((s, e) => ({
76
- abi: [
77
- o("function balanceOf(address) returns (uint256)")
78
- ],
79
- functionName: "balanceOf",
80
- args: [f.address],
81
- to: s,
82
- from: t,
83
- nonce: e
84
- })),
85
- stateOverrides: [
86
- {
87
- address: t,
88
- nonce: 0
89
- }
90
- ]
91
- },
92
- // Decimals
39
+ ];
40
+ } catch (c) {
41
+ const g = E(c, {
42
+ abi: o,
43
+ address: s,
44
+ args: r,
45
+ docsPath: "/docs/contract/multicall",
46
+ functionName: i,
47
+ sender: b
48
+ });
49
+ if (!u)
50
+ throw g;
51
+ e[a] = [
52
+ ...e[a],
93
53
  {
94
- calls: n.map((s, e) => ({
95
- to: s,
96
- abi: [
97
- o("function decimals() returns (uint256)")
98
- ],
99
- functionName: "decimals",
100
- from: t,
101
- nonce: e
102
- })),
103
- stateOverrides: [
104
- {
105
- address: t,
106
- nonce: 0
107
- }
108
- ]
109
- },
110
- // Token URI
111
- {
112
- calls: n.map((s, e) => ({
113
- to: s,
114
- abi: [
115
- o("function tokenURI(uint256) returns (string)")
116
- ],
117
- functionName: "tokenURI",
118
- args: [0n],
119
- from: t,
120
- nonce: e
121
- })),
122
- stateOverrides: [
123
- {
124
- address: t,
125
- nonce: 0
126
- }
127
- ]
128
- },
129
- // Symbols
130
- {
131
- calls: n.map((s, e) => ({
132
- to: s,
133
- abi: [o("function symbol() returns (string)")],
134
- functionName: "symbol",
135
- from: t,
136
- nonce: e
137
- })),
138
- stateOverrides: [
139
- {
140
- address: t,
141
- nonce: 0
142
- }
143
- ]
54
+ allowFailure: !0,
55
+ callData: "0x",
56
+ target: s
144
57
  }
145
- ] : []
146
- ],
147
- traceTransfers: P,
148
- validation: _
149
- }), O = a ? l[2] : l[0], [B, v, , A, N, w, C, I] = a ? l : [], { calls: R, ...T } = O, U = R.slice(0, -1) ?? [], D = B?.calls ?? [], E = v?.calls ?? [], L = [...D, ...E].map((s) => s.status === "success" ? k(s.data) : null), q = A?.calls ?? [], z = N?.calls ?? [], F = [...q, ...z].map((s) => s.status === "success" ? k(s.data) : null), H = (w?.calls ?? []).map((s) => s.status === "success" ? s.result : null), V = (I?.calls ?? []).map((s) => s.status === "success" ? s.result : null), $ = (C?.calls ?? []).map((s) => s.status === "success" ? s.result : null), i = [];
150
- for (const [s, e] of F.entries()) {
151
- const c = L[s];
152
- if (typeof e != "bigint" || typeof c != "bigint")
58
+ ];
59
+ }
60
+ }
61
+ const A = await Promise.allSettled(e.map((t) => T(n, Z, "readContract")({
62
+ abi: x,
63
+ account: b,
64
+ address: m,
65
+ args: [t],
66
+ blockNumber: p,
67
+ blockTag: j,
68
+ functionName: "aggregate3",
69
+ stateOverride: N
70
+ }))), l = [];
71
+ for (let t = 0; t < A.length; t++) {
72
+ const o = A[t];
73
+ if (o.status === "rejected") {
74
+ if (!u)
75
+ throw o.reason;
76
+ for (let r = 0; r < e[t].length; r++)
77
+ l.push({
78
+ status: "failure",
79
+ error: o.reason,
80
+ result: void 0
81
+ });
153
82
  continue;
154
- const d = H[s - 1], j = V[s - 1], x = $[s - 1], p = s === 0 ? {
155
- address: S,
156
- decimals: 18,
157
- symbol: "ETH"
158
- } : {
159
- address: n[s - 1],
160
- decimals: x || d ? Number(d ?? 1) : void 0,
161
- symbol: j ?? void 0
162
- };
163
- i.some((G) => G.token.address === p.address) || i.push({
164
- token: p,
165
- value: {
166
- pre: c,
167
- post: e,
168
- diff: e - c
83
+ }
84
+ const s = o.value;
85
+ for (let r = 0; r < s.length; r++) {
86
+ const { returnData: i, success: c } = s[r], { callData: g } = e[t][r], { abi: D, address: R, functionName: S, args: k } = d[l.length];
87
+ try {
88
+ if (g === "0x")
89
+ throw new P();
90
+ if (!c)
91
+ throw new v({ data: i });
92
+ const h = q({
93
+ abi: D,
94
+ args: k,
95
+ data: i,
96
+ functionName: S
97
+ });
98
+ l.push(u ? { result: h, status: "success" } : h);
99
+ } catch (h) {
100
+ const z = E(h, {
101
+ abi: D,
102
+ address: R,
103
+ args: k,
104
+ docsPath: "/docs/contract/multicall",
105
+ functionName: S
106
+ });
107
+ if (!u)
108
+ throw z;
109
+ l.push({ error: z, result: void 0, status: "failure" });
169
110
  }
170
- });
111
+ }
171
112
  }
172
- return {
173
- assetChanges: i,
174
- block: T,
175
- results: U
176
- };
113
+ if (l.length !== d.length)
114
+ throw new _("multicall results mismatch");
115
+ return l;
177
116
  }
178
117
  export {
179
- bs as simulateCalls
118
+ W as multicall
180
119
  };
@@ -1,47 +1,36 @@
1
- import { parseAccount as p } from "./index22.js";
2
- import { decodeFunctionResult as h } from "./index141.js";
3
- import { encodeFunctionData as x } from "./index148.js";
4
- import { getContractError as b } from "./index191.js";
5
- import { getAction as g } from "./index218.js";
6
- import { call as A } from "./index35.js";
7
- async function R(s, m) {
8
- const { abi: t, address: r, args: o, dataSuffix: n, functionName: a, ...c } = m, e = c.account ? p(c.account) : s.account, d = x({ abi: t, args: o, functionName: a });
1
+ import { decodeFunctionResult as m } from "./index144.js";
2
+ import { encodeFunctionData as s } from "./index151.js";
3
+ import { getContractError as f } from "./index194.js";
4
+ import { getAction as l } from "./index225.js";
5
+ import { call as p } from "./index38.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
+ });
9
12
  try {
10
- const { data: i } = await g(s, A, "call")({
11
- batch: !1,
12
- data: `${d}${n ? n.replace("0x", "") : ""}`,
13
- to: r,
14
- ...c,
15
- account: e
16
- }), l = h({
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
17
+ });
18
+ return m({
17
19
  abi: t,
18
20
  args: o,
19
- functionName: a,
20
- data: i || "0x"
21
- }), f = t.filter((u) => "name" in u && u.name === m.functionName);
22
- return {
23
- result: l,
24
- request: {
25
- abi: f,
26
- address: r,
27
- args: o,
28
- dataSuffix: n,
29
- functionName: a,
30
- ...c,
31
- account: e
32
- }
33
- };
34
- } catch (i) {
35
- throw b(i, {
21
+ functionName: r,
22
+ data: a || "0x"
23
+ });
24
+ } catch (a) {
25
+ throw f(a, {
36
26
  abi: t,
37
- address: r,
27
+ address: c,
38
28
  args: o,
39
- docsPath: "/docs/contract/simulateContract",
40
- functionName: a,
41
- sender: e?.address
29
+ docsPath: "/docs/contract/readContract",
30
+ functionName: r
42
31
  });
43
32
  }
44
33
  }
45
34
  export {
46
- R as simulateContract
35
+ x as readContract
47
36
  };
@@ -1,15 +1,56 @@
1
- import "./index12.js";
2
- import { useSendHookCallOnce as t } from "./index13.js";
3
- import "react";
4
- import { useLinkOAuth as n } from "./index11.js";
5
- function g() {
6
- t("use_link_google");
7
- const { linkOAuth: o, oauthState: e } = n();
1
+ import { listSpendPermissions as E } from "@coinbase/cdp-core";
2
+ import "./index2.js";
3
+ import { useSendHookCallOnce as C } from "./index14.js";
4
+ import { useState as a, useCallback as g, useMemo as m, useEffect as P } from "react";
5
+ import { useCurrentUser as T, useEnforceAuthenticated as y } from "./index5.js";
6
+ const D = (e = {}) => {
7
+ C("use_list_spend_permissions");
8
+ const n = e.network ?? "base-sepolia", d = e.pageSize ?? 20, f = e.pageToken, { currentUser: c } = T(), [v, o] = a("idle"), [h, l] = a(void 0), [k, i] = a(void 0), [A, b] = a(0), p = y(
9
+ g(
10
+ async (t) => E(t),
11
+ []
12
+ // No dependencies - the listSpendPermissions function is stable
13
+ )
14
+ ), r = m(
15
+ () => e.evmSmartAccount ?? c?.evmSmartAccounts?.[0],
16
+ [e.evmSmartAccount, c?.evmSmartAccounts?.[0]]
17
+ ), S = m(
18
+ () => e.enabled !== !1 && !!(r && n && c),
19
+ [e.enabled, r, n, c?.userId]
20
+ ), u = m(() => r ? {
21
+ evmSmartAccount: r,
22
+ network: n,
23
+ pageSize: d,
24
+ pageToken: f
25
+ } : null, [r, n, d, f]);
26
+ P(() => {
27
+ if (!S || !r || !u) {
28
+ o("idle"), l(void 0), i(void 0);
29
+ return;
30
+ }
31
+ let t = !1;
32
+ return (async () => {
33
+ o("pending"), i(void 0);
34
+ try {
35
+ const s = await p(u);
36
+ t || (l(s), o("success"));
37
+ } catch (s) {
38
+ t || (i(s instanceof Error ? s : new Error(String(s))), o("error"));
39
+ }
40
+ })(), () => {
41
+ t = !0;
42
+ };
43
+ }, [S, r, u, p, A]);
44
+ const w = g(() => {
45
+ b((t) => t + 1);
46
+ }, []);
8
47
  return {
9
- linkGoogle: () => o("google"),
10
- oauthState: e
48
+ status: v,
49
+ data: h,
50
+ error: k,
51
+ refetch: w
11
52
  };
12
- }
53
+ };
13
54
  export {
14
- g as useLinkGoogle
55
+ D as useListSpendPermissions
15
56
  };
@@ -1,9 +1,82 @@
1
- async function e(n, { filter: t }) {
2
- return t.request({
3
- method: "eth_uninstallFilter",
4
- params: [t.id]
5
- });
1
+ import { toRpc as R } from "./index234.js";
2
+ import { parseAccount as q } from "./index25.js";
3
+ import { AbiDecodingZeroDataError as D } from "./index93.js";
4
+ import { RawContractError as S } from "./index99.js";
5
+ import { UnknownNodeError as y } from "./index115.js";
6
+ import { decodeFunctionResult as B } from "./index144.js";
7
+ import { encodeFunctionData as C } from "./index151.js";
8
+ import { concat as F } from "./index127.js";
9
+ import { numberToHex as H } from "./index123.js";
10
+ import { getContractError as U } from "./index194.js";
11
+ import { getNodeError as A } from "./index244.js";
12
+ import { formatBlock as _ } from "./index128.js";
13
+ import { formatLog as z } from "./index131.js";
14
+ import { formatTransactionRequest as I } from "./index158.js";
15
+ import { serializeStateOverride as L } from "./index238.js";
16
+ import { assertRequest as V } from "./index171.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 a = [];
21
+ for (const o of k) {
22
+ const d = o.blockOverrides ? R(o.blockOverrides) : void 0, t = o.calls.map((n) => {
23
+ const r = n, i = r.account ? q(r.account) : void 0, m = r.abi ? C(r) : r.data, e = {
24
+ ...r,
25
+ data: r.dataSuffix ? F([m || "0x", r.dataSuffix]) : m,
26
+ from: r.from ?? i?.address
27
+ };
28
+ return V(e), I(e);
29
+ }), l = o.stateOverrides ? L(o.stateOverrides) : void 0;
30
+ a.push({
31
+ blockOverrides: d,
32
+ calls: t,
33
+ stateOverrides: l
34
+ });
35
+ }
36
+ const c = (typeof b == "bigint" ? H(b) : void 0) || x;
37
+ return (await p.request({
38
+ method: "eth_simulateV1",
39
+ params: [
40
+ { blockStateCalls: a, returnFullTransactions: v, traceTransfers: w, validation: N },
41
+ c
42
+ ]
43
+ })).map((o, d) => ({
44
+ ..._(o),
45
+ calls: o.calls.map((t, l) => {
46
+ const { abi: n, args: r, functionName: i, to: m } = k[d].calls[l], e = t.error?.data ?? t.returnData, O = BigInt(t.gasUsed), h = t.logs?.map((s) => z(s)), u = t.status === "0x1" ? "success" : "failure", T = n && u === "success" && e !== "0x" ? B({
47
+ abi: n,
48
+ data: e,
49
+ functionName: i
50
+ }) : null, E = (() => {
51
+ if (u === "success")
52
+ return;
53
+ let s;
54
+ if (t.error?.data === "0x" ? s = new D() : t.error && (s = new S(t.error)), !!s)
55
+ return U(s, {
56
+ abi: n ?? [],
57
+ address: m ?? "0x",
58
+ args: r,
59
+ functionName: i ?? "<unknown>"
60
+ });
61
+ })();
62
+ return {
63
+ data: e,
64
+ gasUsed: O,
65
+ logs: h,
66
+ status: u,
67
+ ...u === "success" ? {
68
+ result: T
69
+ } : {
70
+ error: E
71
+ }
72
+ };
73
+ })
74
+ }));
75
+ } catch (a) {
76
+ const f = a, c = A(f, {});
77
+ throw c instanceof y ? f : c;
78
+ }
6
79
  }
7
80
  export {
8
- e as uninstallFilter
81
+ nr as simulateBlocks
9
82
  };