solid-wagmi 0.0.5 → 0.2.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 (178) hide show
  1. package/README.md +44 -0
  2. package/dist/esm/src/context.js.map +1 -0
  3. package/dist/esm/src/errors/context.js +12 -0
  4. package/dist/esm/src/errors/context.js.map +1 -0
  5. package/dist/esm/src/exports/actions.js +2 -0
  6. package/dist/esm/src/exports/actions.js.map +1 -0
  7. package/dist/esm/src/exports/chains.js +2 -0
  8. package/dist/esm/src/exports/chains.js.map +1 -0
  9. package/dist/esm/src/exports/connectors.js +2 -0
  10. package/dist/esm/src/exports/connectors.js.map +1 -0
  11. package/dist/esm/src/exports/index.js +30 -0
  12. package/dist/esm/src/exports/index.js.map +1 -0
  13. package/dist/esm/src/exports/query.js +2 -0
  14. package/dist/esm/src/exports/query.js.map +1 -0
  15. package/dist/esm/{hooks → src/hooks}/useAccount.js +1 -1
  16. package/dist/esm/src/hooks/useAccount.js.map +1 -0
  17. package/dist/esm/src/hooks/useAccount.test.js +16 -0
  18. package/dist/esm/src/hooks/useAccount.test.js.map +1 -0
  19. package/dist/esm/src/hooks/useBalance.js +15 -0
  20. package/dist/esm/src/hooks/useBalance.js.map +1 -0
  21. package/dist/esm/src/hooks/useBalance.test.js +64 -0
  22. package/dist/esm/src/hooks/useBalance.test.js.map +1 -0
  23. package/dist/esm/{hooks → src/hooks}/useChainId.js +1 -1
  24. package/dist/esm/src/hooks/useChainId.js.map +1 -0
  25. package/dist/esm/src/hooks/useChainId.test.js +15 -0
  26. package/dist/esm/src/hooks/useChainId.test.js.map +1 -0
  27. package/dist/esm/{hooks → src/hooks}/useConfig.js +2 -2
  28. package/dist/esm/src/hooks/useConfig.js.map +1 -0
  29. package/dist/esm/src/hooks/useConfig.test.js +19 -0
  30. package/dist/esm/src/hooks/useConfig.test.js.map +1 -0
  31. package/dist/esm/{hooks → src/hooks}/useConnect.js +1 -1
  32. package/dist/esm/src/hooks/useConnect.js.map +1 -0
  33. package/dist/esm/src/hooks/useConnect.test.js +19 -0
  34. package/dist/esm/src/hooks/useConnect.test.js.map +1 -0
  35. package/dist/esm/{hooks → src/hooks}/useConnections.js +1 -1
  36. package/dist/esm/src/hooks/useConnections.js.map +1 -0
  37. package/dist/esm/src/hooks/useConnections.test.js +13 -0
  38. package/dist/esm/src/hooks/useConnections.test.js.map +1 -0
  39. package/dist/esm/{hooks → src/hooks}/useDisconnect.js +1 -1
  40. package/dist/esm/src/hooks/useDisconnect.js.map +1 -0
  41. package/dist/esm/src/hooks/useDisconnect.test.js +25 -0
  42. package/dist/esm/src/hooks/useDisconnect.test.js.map +1 -0
  43. package/dist/esm/src/hooks/useReadContract.js +24 -0
  44. package/dist/esm/src/hooks/useReadContract.js.map +1 -0
  45. package/dist/esm/src/hooks/useReadContract.test.js +16 -0
  46. package/dist/esm/src/hooks/useReadContract.test.js.map +1 -0
  47. package/dist/esm/src/hooks/useReadContracts.js +42 -0
  48. package/dist/esm/src/hooks/useReadContracts.js.map +1 -0
  49. package/dist/esm/src/hooks/useReadContracts.test.js +26 -0
  50. package/dist/esm/src/hooks/useReadContracts.test.js.map +1 -0
  51. package/dist/esm/src/hooks/useWriteContract.js +17 -0
  52. package/dist/esm/src/hooks/useWriteContract.js.map +1 -0
  53. package/dist/esm/src/hooks/useWriteContract.test.js +17 -0
  54. package/dist/esm/src/hooks/useWriteContract.test.js.map +1 -0
  55. package/dist/esm/src/types/index.js +2 -0
  56. package/dist/esm/src/types/index.js.map +1 -0
  57. package/dist/esm/test/chains.js +43 -0
  58. package/dist/esm/test/chains.js.map +1 -0
  59. package/dist/esm/test/clients.js +41 -0
  60. package/dist/esm/test/clients.js.map +1 -0
  61. package/dist/esm/test/config.js +19 -0
  62. package/dist/esm/test/config.js.map +1 -0
  63. package/dist/esm/test/constants.js +295 -0
  64. package/dist/esm/test/constants.js.map +1 -0
  65. package/dist/esm/test/lib.js +18 -0
  66. package/dist/esm/test/lib.js.map +1 -0
  67. package/dist/esm/test/utils.js +27 -0
  68. package/dist/esm/test/utils.js.map +1 -0
  69. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  70. package/dist/types/src/context.d.ts.map +1 -0
  71. package/dist/types/{errors → src/errors}/context.d.ts +1 -0
  72. package/dist/types/src/errors/context.d.ts.map +1 -0
  73. package/dist/types/src/exports/actions.d.ts +2 -0
  74. package/dist/types/src/exports/actions.d.ts.map +1 -0
  75. package/dist/types/src/exports/chains.d.ts +2 -0
  76. package/dist/types/src/exports/chains.d.ts.map +1 -0
  77. package/dist/types/src/exports/connectors.d.ts +2 -0
  78. package/dist/types/src/exports/connectors.d.ts.map +1 -0
  79. package/dist/types/src/exports/index.d.ts +14 -0
  80. package/dist/types/src/exports/index.d.ts.map +1 -0
  81. package/dist/types/src/exports/query.d.ts +2 -0
  82. package/dist/types/src/exports/query.d.ts.map +1 -0
  83. package/dist/types/src/hooks/useAccount.d.ts.map +1 -0
  84. package/dist/types/src/hooks/useAccount.test.d.ts +2 -0
  85. package/dist/types/src/hooks/useAccount.test.d.ts.map +1 -0
  86. package/dist/types/src/hooks/useBalance.d.ts +7 -0
  87. package/dist/types/src/hooks/useBalance.d.ts.map +1 -0
  88. package/dist/types/src/hooks/useBalance.test.d.ts +2 -0
  89. package/dist/types/src/hooks/useBalance.test.d.ts.map +1 -0
  90. package/dist/types/src/hooks/useChainId.d.ts.map +1 -0
  91. package/dist/types/src/hooks/useChainId.test.d.ts +2 -0
  92. package/dist/types/src/hooks/useChainId.test.d.ts.map +1 -0
  93. package/dist/types/src/hooks/useConfig.d.ts +7 -0
  94. package/dist/types/src/hooks/useConfig.d.ts.map +1 -0
  95. package/dist/types/src/hooks/useConfig.test.d.ts +2 -0
  96. package/dist/types/src/hooks/useConfig.test.d.ts.map +1 -0
  97. package/dist/types/src/hooks/useConnect.d.ts.map +1 -0
  98. package/dist/types/src/hooks/useConnect.test.d.ts +2 -0
  99. package/dist/types/src/hooks/useConnect.test.d.ts.map +1 -0
  100. package/dist/types/src/hooks/useConnections.d.ts.map +1 -0
  101. package/dist/types/src/hooks/useConnections.test.d.ts +2 -0
  102. package/dist/types/src/hooks/useConnections.test.d.ts.map +1 -0
  103. package/dist/types/src/hooks/useDisconnect.d.ts.map +1 -0
  104. package/dist/types/src/hooks/useDisconnect.test.d.ts +2 -0
  105. package/dist/types/src/hooks/useDisconnect.test.d.ts.map +1 -0
  106. package/dist/types/src/hooks/useReadContract.d.ts +10 -0
  107. package/dist/types/src/hooks/useReadContract.d.ts.map +1 -0
  108. package/dist/types/src/hooks/useReadContract.test.d.ts +2 -0
  109. package/dist/types/src/hooks/useReadContract.test.d.ts.map +1 -0
  110. package/dist/types/src/hooks/useReadContracts.d.ts +10 -0
  111. package/dist/types/src/hooks/useReadContracts.d.ts.map +1 -0
  112. package/dist/types/src/hooks/useReadContracts.test.d.ts +2 -0
  113. package/dist/types/src/hooks/useReadContracts.test.d.ts.map +1 -0
  114. package/dist/types/src/hooks/useWriteContract.d.ts +13 -0
  115. package/dist/types/src/hooks/useWriteContract.d.ts.map +1 -0
  116. package/dist/types/src/hooks/useWriteContract.test.d.ts +2 -0
  117. package/dist/types/src/hooks/useWriteContract.test.d.ts.map +1 -0
  118. package/dist/types/src/types/index.d.ts +25 -0
  119. package/dist/types/src/types/index.d.ts.map +1 -0
  120. package/dist/types/test/chains.d.ts +898 -0
  121. package/dist/types/test/chains.d.ts.map +1 -0
  122. package/dist/types/test/clients.d.ts +920 -0
  123. package/dist/types/test/clients.d.ts.map +1 -0
  124. package/dist/types/test/config.d.ts +488 -0
  125. package/dist/types/test/config.d.ts.map +1 -0
  126. package/dist/types/test/constants.d.ts +1857 -0
  127. package/dist/types/test/constants.d.ts.map +1 -0
  128. package/dist/types/test/lib.d.ts +2 -0
  129. package/dist/types/test/lib.d.ts.map +1 -0
  130. package/dist/types/test/utils.d.ts +17 -0
  131. package/dist/types/test/utils.d.ts.map +1 -0
  132. package/package.json +44 -4
  133. package/src/errors/context.ts +3 -1
  134. package/src/exports/actions.ts +1 -0
  135. package/src/exports/chains.ts +1 -0
  136. package/src/exports/connectors.ts +1 -0
  137. package/src/exports/index.ts +65 -0
  138. package/src/exports/query.ts +1 -0
  139. package/src/hooks/useAccount.ts +1 -1
  140. package/src/hooks/useBalance.ts +45 -0
  141. package/src/hooks/useChainId.ts +1 -1
  142. package/src/hooks/useConfig.ts +14 -4
  143. package/src/hooks/useConnect.ts +1 -1
  144. package/src/hooks/useConnections.ts +1 -1
  145. package/src/hooks/useDisconnect.ts +1 -1
  146. package/src/hooks/useReadContract.ts +101 -0
  147. package/src/hooks/useReadContracts.ts +104 -0
  148. package/src/hooks/useWriteContract.ts +78 -0
  149. package/src/types/index.ts +116 -0
  150. package/dist/esm/context.js.map +0 -1
  151. package/dist/esm/errors/context.js +0 -6
  152. package/dist/esm/errors/context.js.map +0 -1
  153. package/dist/esm/exports/index.js +0 -18
  154. package/dist/esm/exports/index.js.map +0 -1
  155. package/dist/esm/hooks/useAccount.js.map +0 -1
  156. package/dist/esm/hooks/useChainId.js.map +0 -1
  157. package/dist/esm/hooks/useConfig.js.map +0 -1
  158. package/dist/esm/hooks/useConnect.js.map +0 -1
  159. package/dist/esm/hooks/useConnections.js.map +0 -1
  160. package/dist/esm/hooks/useDisconnect.js.map +0 -1
  161. package/dist/types/context.d.ts.map +0 -1
  162. package/dist/types/errors/context.d.ts.map +0 -1
  163. package/dist/types/exports/index.d.ts +0 -9
  164. package/dist/types/exports/index.d.ts.map +0 -1
  165. package/dist/types/hooks/useAccount.d.ts.map +0 -1
  166. package/dist/types/hooks/useChainId.d.ts.map +0 -1
  167. package/dist/types/hooks/useConfig.d.ts +0 -2
  168. package/dist/types/hooks/useConfig.d.ts.map +0 -1
  169. package/dist/types/hooks/useConnect.d.ts.map +0 -1
  170. package/dist/types/hooks/useConnections.d.ts.map +0 -1
  171. package/dist/types/hooks/useDisconnect.d.ts.map +0 -1
  172. /package/dist/esm/{context.js → src/context.js} +0 -0
  173. /package/dist/types/{context.d.ts → src/context.d.ts} +0 -0
  174. /package/dist/types/{hooks → src/hooks}/useAccount.d.ts +0 -0
  175. /package/dist/types/{hooks → src/hooks}/useChainId.d.ts +0 -0
  176. /package/dist/types/{hooks → src/hooks}/useConnect.d.ts +0 -0
  177. /package/dist/types/{hooks → src/hooks}/useConnections.d.ts +0 -0
  178. /package/dist/types/{hooks → src/hooks}/useDisconnect.d.ts +0 -0
package/README.md ADDED
@@ -0,0 +1,44 @@
1
+ Solid wagmi is a library that uses [Wagmi](https://wagmi.sh) core to provide high end solid.js hooks.
2
+
3
+ # Getting Started
4
+
5
+ Install the required packages
6
+
7
+ ```bash
8
+ pnpm add solid-wagmi viem@2.x @tanstack/solid-query
9
+ ```
10
+
11
+ # Create Config
12
+
13
+ ```ts
14
+ import { createConfig, http } from "solid-wagmi";
15
+ import { mainnet, sepolia } from "solid-wagmi/chains";
16
+
17
+ export const config = createConfig({
18
+ chains: [mainnet, sepolia],
19
+ transports: {
20
+ [mainnet.id]: http(),
21
+ [sepolia.id]: http(),
22
+ },
23
+ });
24
+ ```
25
+
26
+ # App root
27
+
28
+ ```ts
29
+ import { QueryClient, QueryClientProvider } from "@tanstack/solid-query";
30
+ import config from "./config";
31
+ const queryClient = new QueryClient();
32
+
33
+ function AppRoot() {
34
+ return (
35
+ <QueryClientProvider client={queryClient}>
36
+ <WagmiProvider config={config}>
37
+ {props.children}
38
+ </WagmiProvider>
39
+ </QueryClientProvider>
40
+ );
41
+ }
42
+ ```
43
+
44
+ This library does use wagmi's philosophy, to fully understand how you can implement it within your solid.js app, read the [wagmi docs](https://wagmi.sh/react/getting-started) first
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAc,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,aAAa,EAEb,OAAO,EACP,UAAU,GACX,MAAM,UAAU,CAAC;AAOlB,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,EAAY,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,KAK7B;IACC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE;QAC3C,QAAQ;QACR,cAAc;QACd,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;IAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG;QAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAC/C,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG;YAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;QAC/B,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ export class WagmiProviderNotFoundError extends Error {
2
+ constructor() {
3
+ super(WagmiProviderNotFoundError.MESSAGE);
4
+ }
5
+ }
6
+ Object.defineProperty(WagmiProviderNotFoundError, "MESSAGE", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: "`useConfig` must be used withtin <WagmiProvider/>"
11
+ });
12
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/errors/context.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGnD;QACE,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;;AAJa;;;;WAAU,mDAAmD;GAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@wagmi/core/actions";
2
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/exports/actions.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "viem/chains";
2
+ //# sourceMappingURL=chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/exports/chains.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@wagmi/connectors";
2
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../../../src/exports/connectors.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,30 @@
1
+ // ///////////////////////////////////////////////////////////////
2
+ // Context
3
+ // ///////////////////////////////////////////////////////////////
4
+ export { WagmiProvider } from "../context.js";
5
+ // ///////////////////////////////////////////////////////////////
6
+ // Errors
7
+ // ///////////////////////////////////////////////////////////////
8
+ export { WagmiProviderNotFoundError } from "../errors/context.js";
9
+ // ///////////////////////////////////////////////////////////////
10
+ // Hooks
11
+ // ///////////////////////////////////////////////////////////////
12
+ export { useAccount } from "../hooks/useAccount.js";
13
+ export { useBalance } from "../hooks/useBalance.js";
14
+ export { useChainId } from "../hooks/useChainId.js";
15
+ export { useConfig } from "../hooks/useConfig.js";
16
+ export { useConnect } from "../hooks/useConnect.js";
17
+ export { useConnections } from "../hooks/useConnections.js";
18
+ export { useDisconnect } from "../hooks/useDisconnect.js";
19
+ export { useReadContract } from "../hooks/useReadContract.js";
20
+ export { useReadContracts } from "../hooks/useReadContracts.js";
21
+ export { useWriteContract } from "../hooks/useWriteContract.js";
22
+ ////////////////////////////////////////////////////////////////////////////////
23
+ // @wagmi/core
24
+ ////////////////////////////////////////////////////////////////////////////////
25
+ export { ChainNotConfiguredError, ConnectorAccountNotFoundError, ConnectorAlreadyConnectedError, ConnectorChainMismatchError, ConnectorNotFoundError, ConnectorUnavailableReconnectingError,
26
+ // Utilities
27
+ cookieStorage, cookieToInitialState, createConfig, createConnector, createStorage,
28
+ // Transports
29
+ custom, deepEqual, deserialize, fallback, http, injected, mock, noopStorage, normalizeChainId, parseCookie, ProviderNotFoundError, serialize, SwitchChainNotSupportedError, unstable_connector, webSocket, } from "@wagmi/core";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,UAAU;AACV,kEAAkE;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,kEAAkE;AAClE,SAAS;AACT,kEAAkE;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,kEAAkE;AAClE,QAAQ;AACR,kEAAkE;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,sBAAsB,EACtB,qCAAqC;AACrC,YAAY;AACZ,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa;AACb,aAAa;AACb,MAAM,EACN,SAAS,EACT,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,4BAA4B,EAC5B,kBAAkB,EAClB,SAAS,GA2BV,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "@wagmi/core/query";
2
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/exports/query.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -2,7 +2,7 @@ import { getAccount, watchAccount } from "@wagmi/core";
2
2
  import { createSignal, onCleanup, onMount } from "solid-js";
3
3
  import { useConfig } from "./useConfig.js";
4
4
  export function useAccount() {
5
- const { config } = useConfig();
5
+ const config = useConfig();
6
6
  const [account, setAccount] = createSignal(getAccount(config));
7
7
  // Watch account
8
8
  let cleanup;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccount.js","sourceRoot":"","sources":["../../../../src/hooks/useAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,gBAAgB;IAChB,IAAI,OAAqB,CAAC;IAC1B,OAAO,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { expect, test } from "vitest";
2
+ import { connect, disconnect } from "@wagmi/core";
3
+ import { accounts } from "../../test/constants.js";
4
+ import { renderHook } from "../../test/lib.js";
5
+ import { useAccount } from "./useAccount.js";
6
+ import { useConfig } from "./useConfig.js";
7
+ test("useAccount", async () => {
8
+ const account = renderHook(useAccount);
9
+ const config = renderHook(useConfig);
10
+ expect(account().address).undefined;
11
+ // Connect mocked account
12
+ await connect(config, { connector: config.connectors[0] });
13
+ expect(account().address).toBe(accounts[0]);
14
+ await disconnect(config, { connector: config.connectors[0] });
15
+ });
16
+ //# sourceMappingURL=useAccount.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccount.test.js","sourceRoot":"","sources":["../../../../src/hooks/useAccount.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAEpC,yBAAyB;IACzB,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { useQuery } from "@tanstack/solid-query";
2
+ import { getBalanceQueryOptions, } from "@wagmi/core/query";
3
+ import { useChainId } from "./useChainId.js";
4
+ import { useConfig } from "./useConfig.js";
5
+ export function useBalance(params) {
6
+ const config = useConfig(params);
7
+ const chain = useChainId();
8
+ const options = () => getBalanceQueryOptions(config, { chainId: chain().id, ...params() });
9
+ const enabled = () => Boolean(params().address && (params().query?.enabled ?? true));
10
+ return useQuery(() => ({
11
+ ...options(),
12
+ enabled: enabled(),
13
+ }));
14
+ }
15
+ //# sourceMappingURL=useBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBalance.js","sourceRoot":"","sources":["../../../../src/hooks/useBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjD,OAAO,EACL,sBAAsB,GAKvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe3C,MAAM,UAAU,UAAU,CAAC,MAAkC;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,sBAAsB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;IAEjE,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACrB,GAAG,OAAO,EAAE;QACZ,OAAO,EAAE,OAAO,EAAE;KACnB,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { parseEther } from "viem";
2
+ import { beforeEach, test, vi } from "vitest";
3
+ import { testClient } from "../../test/clients.js";
4
+ import { accounts } from "../../test/constants.js";
5
+ import { renderHook } from "../../test/lib.js";
6
+ import { useBalance } from "./useBalance.js";
7
+ const address = accounts[0];
8
+ beforeEach(async () => {
9
+ try {
10
+ await testClient.mainnet.setBalance({
11
+ address,
12
+ value: parseEther("10000"),
13
+ });
14
+ await testClient.mainnet.mine({ blocks: 1 });
15
+ await testClient.mainnet2.setBalance({ address, value: parseEther("69") });
16
+ await testClient.mainnet2.mine({ blocks: 1 });
17
+ }
18
+ catch (e) {
19
+ console.log("ERROR", e);
20
+ }
21
+ });
22
+ test("default", async () => {
23
+ const result = renderHook(() => useBalance(() => ({ address })));
24
+ await vi.waitUntil(() => result.isError, { timeout: 5_000 });
25
+ // const [data] = splitProps(result, ["data"]);
26
+ // expect(data.data).toMatchObject(
27
+ // expect.objectContaining({
28
+ // decimals: expect.any(Number),
29
+ // symbol: expect.any(String),
30
+ // value: expect.any(BigInt),
31
+ // })
32
+ // );
33
+ // expect(data.data).toMatchInlineSnapshot(`
34
+ // {
35
+ // "decimals": 18,
36
+ // "formatted": "10000",
37
+ // "symbol": "ETH",
38
+ // "value": 10000000000000000000000n,
39
+ // }
40
+ // `);
41
+ });
42
+ test("parameters: chainId", async () => {
43
+ // const result = renderHook(() =>
44
+ // useBalance(() => ({ address, chainId: chain.mainnet2.id }))
45
+ // );
46
+ // await vi.waitUntil(() => result.isSuccess, { timeout: 5_000 });
47
+ // const [data] = splitProps(result, ["data"]);
48
+ // expect(data.data).toMatchObject(
49
+ // expect.objectContaining({
50
+ // decimals: expect.any(Number),
51
+ // symbol: expect.any(String),
52
+ // value: expect.any(BigInt),
53
+ // })
54
+ // );
55
+ // expect(data.data).toMatchInlineSnapshot(`
56
+ // {
57
+ // "decimals": 18,
58
+ // "formatted": "69",
59
+ // "symbol": "WAG",
60
+ // "value": 69000000000000000000n,
61
+ // }
62
+ // `);
63
+ });
64
+ //# sourceMappingURL=useBalance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBalance.test.js","sourceRoot":"","sources":["../../../../src/hooks/useBalance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE5B,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;YAClC,OAAO;YACP,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjE,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7D,+CAA+C;IAE/C,mCAAmC;IACnC,8BAA8B;IAC9B,oCAAoC;IACpC,kCAAkC;IAClC,iCAAiC;IACjC,OAAO;IACP,KAAK;IAEL,4CAA4C;IAC5C,MAAM;IACN,sBAAsB;IACtB,4BAA4B;IAC5B,uBAAuB;IACvB,yCAAyC;IACzC,MAAM;IACN,MAAM;AACR,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,kCAAkC;IAClC,gEAAgE;IAChE,KAAK;IACL,kEAAkE;IAClE,+CAA+C;IAC/C,mCAAmC;IACnC,8BAA8B;IAC9B,oCAAoC;IACpC,kCAAkC;IAClC,iCAAiC;IACjC,OAAO;IACP,KAAK;IACL,4CAA4C;IAC5C,MAAM;IACN,sBAAsB;IACtB,yBAAyB;IACzB,uBAAuB;IACvB,sCAAsC;IACtC,MAAM;IACN,MAAM;AACR,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { createMemo, createSignal, onCleanup, onMount } from "solid-js";
3
3
  import { extractChain } from "viem";
4
4
  import { useConfig } from "./useConfig.js";
5
5
  export function useChainId() {
6
- const { config } = useConfig();
6
+ const config = useConfig();
7
7
  const [chainId, setChainID] = createSignal(getChainId(config));
8
8
  // Watch chain id
9
9
  let cleanup;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainId.js","sourceRoot":"","sources":["../../../../src/hooks/useChainId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,iBAAiB;IACjB,IAAI,OAAqB,CAAC;IAC1B,OAAO,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CACvD,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { mainnet2 } from "../../test/chains.js";
3
+ import { renderHook } from "../../test/lib.js";
4
+ import { useChainId } from "./useChainId.js";
5
+ import { useConfig } from "./useConfig.js";
6
+ describe("useChainId", () => {
7
+ it("default", async () => {
8
+ const chain = renderHook(useChainId);
9
+ const config = renderHook(useConfig);
10
+ expect(chain().id).toMatchInlineSnapshot("1");
11
+ config.setState({ ...config.state, chainId: mainnet2.id });
12
+ expect(chain().id).toMatchInlineSnapshot(`${mainnet2.id}`);
13
+ });
14
+ });
15
+ //# sourceMappingURL=useChainId.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainId.test.js","sourceRoot":"","sources":["../../../../src/hooks/useChainId.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { useContext } from "solid-js";
2
2
  import { WagmiContext } from "../context.js";
3
3
  import { WagmiProviderNotFoundError } from "../errors/context.js";
4
- export function useConfig() {
5
- const config = useContext(WagmiContext);
4
+ export function useConfig(parameters) {
5
+ const config = parameters?.().config ?? useContext(WagmiContext);
6
6
  if (!config)
7
7
  throw new WagmiProviderNotFoundError();
8
8
  return config;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConfig.js","sourceRoot":"","sources":["../../../../src/hooks/useConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AASlE,MAAM,UAAU,SAAS,CACvB,UAAwC;IAExC,MAAM,MAAM,GAAG,UAAU,EAAE,EAAE,CAAC,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;IAEjE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,0BAA0B,EAAE,CAAC;IAEpD,OAAO,MAAqC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { renderHook as primitiveRenderHook } from "@solidjs/testing-library";
2
+ import { expect, test, vi } from "vitest";
3
+ import { renderHook } from "../../test/lib.js";
4
+ import { WagmiProviderNotFoundError } from "../errors/context.js";
5
+ import { useConfig } from "./useConfig.js";
6
+ test("mounts", async () => {
7
+ const config = renderHook(() => useConfig());
8
+ expect(config).toBeDefined();
9
+ });
10
+ test("behavior: throws when not inside Provider", () => {
11
+ vi.spyOn(console, "error").mockImplementation(() => { });
12
+ try {
13
+ primitiveRenderHook(() => useConfig());
14
+ }
15
+ catch (error) {
16
+ expect(error).toMatchInlineSnapshot(`[Error: ${WagmiProviderNotFoundError.MESSAGE}]`);
17
+ }
18
+ });
19
+ //# sourceMappingURL=useConfig.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConfig.test.js","sourceRoot":"","sources":["../../../../src/hooks/useConfig.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACxB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,mBAAmB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CACjC,WAAW,0BAA0B,CAAC,OAAO,GAAG,CACjD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { connectMutationOptions } from "@wagmi/core/query";
3
3
  import { createEffect, onCleanup } from "solid-js";
4
4
  import { useConfig } from "./useConfig.js";
5
5
  export function useConnect() {
6
- const { config } = useConfig();
6
+ const config = useConfig();
7
7
  const mutationOptions = connectMutationOptions(config);
8
8
  const { mutate, mutateAsync, ...result } = useMutation(() => ({
9
9
  ...mutationOptions,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.js","sourceRoot":"","sources":["../../../../src/hooks/useConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,GAAG,eAAe;KACnB,CAAC,CAAC,CAAC;IAEJ,uEAAuE;IACvE,YAAY,CAAC,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAC5B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EACtB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE;YACzB,IAAI,cAAc,KAAK,WAAW,IAAI,MAAM,KAAK,cAAc;gBAC7D,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CACF,CAAC;QACF,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { expect, test, vi } from "vitest";
2
+ import { renderHook } from "../../test/lib.js";
3
+ import { useAccount } from "./useAccount.js";
4
+ import { useConfig } from "./useConfig.js";
5
+ import { useConnect } from "./useConnect.js";
6
+ test("useAccount", async () => {
7
+ const account = renderHook(useAccount);
8
+ const config = renderHook(useConfig);
9
+ const connect = renderHook(useConnect);
10
+ expect(account().address).not.toBeDefined();
11
+ expect(account().status).toEqual("disconnected");
12
+ connect.connect({ connector: config.connectors[0] });
13
+ await vi.waitFor(() => {
14
+ expect(account().isConnected).to.be.true;
15
+ });
16
+ expect(account().address).toBeDefined();
17
+ expect(account().status).toEqual("connected");
18
+ });
19
+ //# sourceMappingURL=useConnect.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.test.js","sourceRoot":"","sources":["../../../../src/hooks/useConnect.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACpB,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { getConnections, watchConnections } from "@wagmi/core";
2
2
  import { createSignal, onCleanup, onMount } from "solid-js";
3
3
  import { useConfig } from "./useConfig.js";
4
4
  export function useConnections() {
5
- const { config } = useConfig();
5
+ const config = useConfig();
6
6
  const [connections, setConnections] = createSignal(getConnections(config));
7
7
  let cleanup;
8
8
  onMount(() => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnections.js","sourceRoot":"","sources":["../../../../src/hooks/useConnections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3E,IAAI,OAAiC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { connect } from "@wagmi/core";
2
+ import { expect, test } from "vitest";
3
+ import { renderHook } from "../../test/lib.js";
4
+ import { useConfig } from "./useConfig.js";
5
+ import { useConnections } from "./useConnections.js";
6
+ test("default", async () => {
7
+ const config = renderHook(useConfig);
8
+ const connections = renderHook(() => useConnections());
9
+ expect(connections()).toEqual([]);
10
+ await connect(config, { connector: config.connectors[0] });
11
+ expect(connections().length).toBe(1);
12
+ });
13
+ //# sourceMappingURL=useConnections.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnections.test.js","sourceRoot":"","sources":["../../../../src/hooks/useConnections.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IAE5D,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@ import { createMemo } from "solid-js";
4
4
  import { useConfig } from "./useConfig.js";
5
5
  import { useConnections } from "./useConnections.js";
6
6
  export function useDisconnect() {
7
- const { config } = useConfig();
7
+ const config = useConfig();
8
8
  const connections = useConnections();
9
9
  const mutationOptions = disconnectMutationOptions(config);
10
10
  const { mutate, mutateAsync, ...result } = useMutation(() => ({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisconnect.js","sourceRoot":"","sources":["../../../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,GAAG,eAAe;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3E,OAAO;QACL,GAAG,MAAM;QACT,UAAU;QACV,UAAU,EAAE,MAAM;QAClB,eAAe,EAAE,WAAW;KAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { connect } from "@wagmi/core";
2
+ import { beforeEach, expect, test, vi } from "vitest";
3
+ import { config } from "../../test/config.js";
4
+ import { renderHook } from "../../test/lib.js";
5
+ import { useAccount } from "./useAccount.js";
6
+ import { useConfig } from "./useConfig.js";
7
+ import { useDisconnect } from "./useDisconnect.js";
8
+ const connector = config.connectors[0];
9
+ beforeEach(async () => {
10
+ await connect(config, { connector });
11
+ });
12
+ test("useDisconnect", async () => {
13
+ const account = renderHook(useAccount);
14
+ const config = renderHook(useConfig);
15
+ const disconnect = renderHook(useDisconnect);
16
+ expect(account().address).toBeDefined();
17
+ expect(account().status).toEqual("connected");
18
+ disconnect.disconnect({ connector: config.connectors[0] });
19
+ await vi.waitFor(() => {
20
+ expect(account().isConnected).to.be.false;
21
+ });
22
+ expect(account().address).not.toBeDefined();
23
+ expect(account().status).toEqual("disconnected");
24
+ });
25
+ //# sourceMappingURL=useDisconnect.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisconnect.test.js","sourceRoot":"","sources":["../../../../src/hooks/useDisconnect.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;AAExC,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9C,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IAE5D,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACpB,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { useQuery } from "@tanstack/solid-query";
2
+ import { readContractQueryOptions, } from "@wagmi/core/query";
3
+ import {} from "solid-js";
4
+ import {} from "viem";
5
+ import { useConfig } from "./useConfig.js";
6
+ export function useReadContract(params) {
7
+ const config = useConfig(params);
8
+ return useQuery(() => {
9
+ const { address, abi, functionName, query = {} } = params();
10
+ const { initialData, ...queryLeftovers } = query;
11
+ // @ts-ignore
12
+ const code = params().code;
13
+ const options = readContractQueryOptions(config, params());
14
+ const enabled = Boolean((address || code) && abi && functionName && (query?.enabled ?? true));
15
+ return {
16
+ ...options,
17
+ ...queryLeftovers,
18
+ // Initial Data type gets messed up when wrapped in function
19
+ initiData: initialData instanceof Function ? initialData() : initialData,
20
+ enabled,
21
+ };
22
+ });
23
+ }
24
+ //# sourceMappingURL=useReadContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadContract.js","sourceRoot":"","sources":["../../../../src/hooks/useReadContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EACL,wBAAwB,GAKzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAiB,MAAM,UAAU,CAAC;AACzC,OAAO,EAKN,MAAM,MAAM,CAAC;AAMd,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwC3C,MAAM,UAAU,eAAe,CAO7B,MAEC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAC;QACjD,aAAa;QACb,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAuB,CAAC;QAE9C,MAAM,OAAO,GAAG,wBAAwB,CACtC,MAAM,EACN,MAAM,EAAE,CACT,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CACrB,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CACrE,CAAC;QAEF,OAAO;YACL,GAAG,OAAO;YACV,GAAG,cAAc;YAEjB,4DAA4D;YAC5D,SAAS,EACP,WAAW,YAAY,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAG,CAAC,CAAC,CAAC,WAAY;YACjE,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { expect, test, vi } from "vitest";
2
+ import { abi, address } from "../../test/constants.js";
3
+ import { renderHook } from "../../test/lib.js";
4
+ import { useReadContract } from "./useReadContract.js";
5
+ test("default", async () => {
6
+ const result = renderHook(() => useReadContract(() => ({
7
+ address: address.wagmiMintExample,
8
+ abi: abi.wagmiMintExample,
9
+ functionName: "balanceOf",
10
+ args: ["0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC"],
11
+ chainId: 1,
12
+ })));
13
+ await vi.waitUntil(() => result.isSuccess, { timeout: 10_000 });
14
+ expect(result.data).toMatchInlineSnapshot(`10n`);
15
+ });
16
+ //# sourceMappingURL=useReadContract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadContract.test.js","sourceRoot":"","sources":["../../../../src/hooks/useReadContract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAC7B,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC,gBAAgB;QACjC,GAAG,EAAE,GAAG,CAAC,gBAAgB;QACzB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,4CAA4C,CAAU;QAC7D,OAAO,EAAE,CAAC;KACX,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { useQuery } from "@tanstack/solid-query";
2
+ import { readContractsQueryOptions, } from "@wagmi/core/query";
3
+ import { createMemo } from "solid-js";
4
+ import {} from "viem";
5
+ import { useChainId } from "./useChainId.js";
6
+ import { useConfig } from "./useConfig.js";
7
+ export function useReadContracts(params) {
8
+ const contracts = createMemo(() => params().contracts ?? []);
9
+ const config = useConfig(params);
10
+ const chainId = useChainId();
11
+ const contractsChainId = createMemo(() => {
12
+ const firstChainId = contracts()[0]
13
+ ?.chainId;
14
+ if (contracts().every((contract) => contract.chainId === firstChainId))
15
+ return firstChainId;
16
+ return undefined;
17
+ });
18
+ const enabled = createMemo(() => {
19
+ let isContractsValid = false;
20
+ for (const contract of contracts()) {
21
+ const { abi, address, functionName } = contract;
22
+ if (!abi || !address || !functionName) {
23
+ isContractsValid = false;
24
+ break;
25
+ }
26
+ isContractsValid = true;
27
+ }
28
+ return Boolean(isContractsValid && (params().query?.enabled ?? true));
29
+ });
30
+ return useQuery(() => {
31
+ const { query = {} } = params();
32
+ // @ts-ignore
33
+ const code = params().code;
34
+ const options = readContractsQueryOptions(config, { ...params(), chainId: contractsChainId() ?? chainId().id });
35
+ return {
36
+ ...query,
37
+ ...options,
38
+ enabled,
39
+ };
40
+ });
41
+ }
42
+ //# sourceMappingURL=useReadContracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadContracts.js","sourceRoot":"","sources":["../../../../src/hooks/useReadContracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,OAAO,EACL,yBAAyB,GAK1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAmC,MAAM,MAAM,CAAC;AAMvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwB3C,MAAM,UAAU,gBAAgB,CAM9B,MAEC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QACvC,MAAM,YAAY,GAAI,SAAS,EAAE,CAAC,CAAC,CAAsC;YACvE,EAAE,OAAO,CAAC;QACZ,IACG,SAAS,EAA6B,CAAC,KAAK,CAC3C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,YAAY,CAChD;YAED,OAAO,YAAY,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAClC,QAAsC,CAAC;YACzC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,gBAAgB,GAAG,KAAK,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,OAAO,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,aAAa;QACb,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAuB,CAAC;QAE9C,MAAM,OAAO,GAAG,yBAAyB,CACvC,MAAM,EACN,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAC7D,CAAC;QAEF,OAAO;YACL,GAAG,KAAK;YACR,GAAG,OAAO;YACV,OAAO;SACD,CAAC;IACX,CAAC,CAAoE,CAAC;AACxE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { expect, test, vi } from "vitest";
2
+ import { abi, address } from "../../test/constants.js";
3
+ import { renderHook } from "../../test/lib.js";
4
+ import { useReadContracts } from "./useReadContracts.js";
5
+ test("default", async () => {
6
+ const result = renderHook(() => useReadContracts(() => ({
7
+ contracts: [
8
+ {
9
+ address: address.wagmiMintExample,
10
+ abi: abi.wagmiMintExample,
11
+ functionName: "balanceOf",
12
+ args: ["0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC"],
13
+ },
14
+ {
15
+ address: address.wagmiMintExample,
16
+ abi: abi.wagmiMintExample,
17
+ functionName: "totalSupply",
18
+ args: [],
19
+ },
20
+ ],
21
+ })));
22
+ await vi.waitUntil(() => result.isSuccess, { timeout: 10_000 });
23
+ console.log(result.data);
24
+ expect(result.data?.[0].result).toMatchInlineSnapshot(`10n`);
25
+ });
26
+ //# sourceMappingURL=useReadContracts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadContracts.test.js","sourceRoot":"","sources":["../../../../src/hooks/useReadContracts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAC7B,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QACtB,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,OAAO,CAAC,gBAAgB;gBACjC,GAAG,EAAE,GAAG,CAAC,gBAAgB;gBACzB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,4CAAqD,CAAC;aAC9D;YACD;gBACE,OAAO,EAAE,OAAO,CAAC,gBAAgB;gBACjC,GAAG,EAAE,GAAG,CAAC,gBAAgB;gBACzB,YAAY,EAAE,aAAa;gBAC3B,IAAI,EAAE,EAAE;aACT;SACF;KACF,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}