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.
- package/README.md +44 -0
- package/dist/esm/src/context.js.map +1 -0
- package/dist/esm/src/errors/context.js +12 -0
- package/dist/esm/src/errors/context.js.map +1 -0
- package/dist/esm/src/exports/actions.js +2 -0
- package/dist/esm/src/exports/actions.js.map +1 -0
- package/dist/esm/src/exports/chains.js +2 -0
- package/dist/esm/src/exports/chains.js.map +1 -0
- package/dist/esm/src/exports/connectors.js +2 -0
- package/dist/esm/src/exports/connectors.js.map +1 -0
- package/dist/esm/src/exports/index.js +30 -0
- package/dist/esm/src/exports/index.js.map +1 -0
- package/dist/esm/src/exports/query.js +2 -0
- package/dist/esm/src/exports/query.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useAccount.js +1 -1
- package/dist/esm/src/hooks/useAccount.js.map +1 -0
- package/dist/esm/src/hooks/useAccount.test.js +16 -0
- package/dist/esm/src/hooks/useAccount.test.js.map +1 -0
- package/dist/esm/src/hooks/useBalance.js +15 -0
- package/dist/esm/src/hooks/useBalance.js.map +1 -0
- package/dist/esm/src/hooks/useBalance.test.js +64 -0
- package/dist/esm/src/hooks/useBalance.test.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useChainId.js +1 -1
- package/dist/esm/src/hooks/useChainId.js.map +1 -0
- package/dist/esm/src/hooks/useChainId.test.js +15 -0
- package/dist/esm/src/hooks/useChainId.test.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useConfig.js +2 -2
- package/dist/esm/src/hooks/useConfig.js.map +1 -0
- package/dist/esm/src/hooks/useConfig.test.js +19 -0
- package/dist/esm/src/hooks/useConfig.test.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useConnect.js +1 -1
- package/dist/esm/src/hooks/useConnect.js.map +1 -0
- package/dist/esm/src/hooks/useConnect.test.js +19 -0
- package/dist/esm/src/hooks/useConnect.test.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useConnections.js +1 -1
- package/dist/esm/src/hooks/useConnections.js.map +1 -0
- package/dist/esm/src/hooks/useConnections.test.js +13 -0
- package/dist/esm/src/hooks/useConnections.test.js.map +1 -0
- package/dist/esm/{hooks → src/hooks}/useDisconnect.js +1 -1
- package/dist/esm/src/hooks/useDisconnect.js.map +1 -0
- package/dist/esm/src/hooks/useDisconnect.test.js +25 -0
- package/dist/esm/src/hooks/useDisconnect.test.js.map +1 -0
- package/dist/esm/src/hooks/useReadContract.js +24 -0
- package/dist/esm/src/hooks/useReadContract.js.map +1 -0
- package/dist/esm/src/hooks/useReadContract.test.js +16 -0
- package/dist/esm/src/hooks/useReadContract.test.js.map +1 -0
- package/dist/esm/src/hooks/useReadContracts.js +42 -0
- package/dist/esm/src/hooks/useReadContracts.js.map +1 -0
- package/dist/esm/src/hooks/useReadContracts.test.js +26 -0
- package/dist/esm/src/hooks/useReadContracts.test.js.map +1 -0
- package/dist/esm/src/hooks/useWriteContract.js +17 -0
- package/dist/esm/src/hooks/useWriteContract.js.map +1 -0
- package/dist/esm/src/hooks/useWriteContract.test.js +17 -0
- package/dist/esm/src/hooks/useWriteContract.test.js.map +1 -0
- package/dist/esm/src/types/index.js +2 -0
- package/dist/esm/src/types/index.js.map +1 -0
- package/dist/esm/test/chains.js +43 -0
- package/dist/esm/test/chains.js.map +1 -0
- package/dist/esm/test/clients.js +41 -0
- package/dist/esm/test/clients.js.map +1 -0
- package/dist/esm/test/config.js +19 -0
- package/dist/esm/test/config.js.map +1 -0
- package/dist/esm/test/constants.js +295 -0
- package/dist/esm/test/constants.js.map +1 -0
- package/dist/esm/test/lib.js +18 -0
- package/dist/esm/test/lib.js.map +1 -0
- package/dist/esm/test/utils.js +27 -0
- package/dist/esm/test/utils.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/src/context.d.ts.map +1 -0
- package/dist/types/{errors → src/errors}/context.d.ts +1 -0
- package/dist/types/src/errors/context.d.ts.map +1 -0
- package/dist/types/src/exports/actions.d.ts +2 -0
- package/dist/types/src/exports/actions.d.ts.map +1 -0
- package/dist/types/src/exports/chains.d.ts +2 -0
- package/dist/types/src/exports/chains.d.ts.map +1 -0
- package/dist/types/src/exports/connectors.d.ts +2 -0
- package/dist/types/src/exports/connectors.d.ts.map +1 -0
- package/dist/types/src/exports/index.d.ts +14 -0
- package/dist/types/src/exports/index.d.ts.map +1 -0
- package/dist/types/src/exports/query.d.ts +2 -0
- package/dist/types/src/exports/query.d.ts.map +1 -0
- package/dist/types/src/hooks/useAccount.d.ts.map +1 -0
- package/dist/types/src/hooks/useAccount.test.d.ts +2 -0
- package/dist/types/src/hooks/useAccount.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useBalance.d.ts +7 -0
- package/dist/types/src/hooks/useBalance.d.ts.map +1 -0
- package/dist/types/src/hooks/useBalance.test.d.ts +2 -0
- package/dist/types/src/hooks/useBalance.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useChainId.d.ts.map +1 -0
- package/dist/types/src/hooks/useChainId.test.d.ts +2 -0
- package/dist/types/src/hooks/useChainId.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useConfig.d.ts +7 -0
- package/dist/types/src/hooks/useConfig.d.ts.map +1 -0
- package/dist/types/src/hooks/useConfig.test.d.ts +2 -0
- package/dist/types/src/hooks/useConfig.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useConnect.d.ts.map +1 -0
- package/dist/types/src/hooks/useConnect.test.d.ts +2 -0
- package/dist/types/src/hooks/useConnect.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useConnections.d.ts.map +1 -0
- package/dist/types/src/hooks/useConnections.test.d.ts +2 -0
- package/dist/types/src/hooks/useConnections.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useDisconnect.d.ts.map +1 -0
- package/dist/types/src/hooks/useDisconnect.test.d.ts +2 -0
- package/dist/types/src/hooks/useDisconnect.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useReadContract.d.ts +10 -0
- package/dist/types/src/hooks/useReadContract.d.ts.map +1 -0
- package/dist/types/src/hooks/useReadContract.test.d.ts +2 -0
- package/dist/types/src/hooks/useReadContract.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useReadContracts.d.ts +10 -0
- package/dist/types/src/hooks/useReadContracts.d.ts.map +1 -0
- package/dist/types/src/hooks/useReadContracts.test.d.ts +2 -0
- package/dist/types/src/hooks/useReadContracts.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useWriteContract.d.ts +13 -0
- package/dist/types/src/hooks/useWriteContract.d.ts.map +1 -0
- package/dist/types/src/hooks/useWriteContract.test.d.ts +2 -0
- package/dist/types/src/hooks/useWriteContract.test.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +25 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/test/chains.d.ts +898 -0
- package/dist/types/test/chains.d.ts.map +1 -0
- package/dist/types/test/clients.d.ts +920 -0
- package/dist/types/test/clients.d.ts.map +1 -0
- package/dist/types/test/config.d.ts +488 -0
- package/dist/types/test/config.d.ts.map +1 -0
- package/dist/types/test/constants.d.ts +1857 -0
- package/dist/types/test/constants.d.ts.map +1 -0
- package/dist/types/test/lib.d.ts +2 -0
- package/dist/types/test/lib.d.ts.map +1 -0
- package/dist/types/test/utils.d.ts +17 -0
- package/dist/types/test/utils.d.ts.map +1 -0
- package/package.json +44 -4
- package/src/errors/context.ts +3 -1
- package/src/exports/actions.ts +1 -0
- package/src/exports/chains.ts +1 -0
- package/src/exports/connectors.ts +1 -0
- package/src/exports/index.ts +65 -0
- package/src/exports/query.ts +1 -0
- package/src/hooks/useAccount.ts +1 -1
- package/src/hooks/useBalance.ts +45 -0
- package/src/hooks/useChainId.ts +1 -1
- package/src/hooks/useConfig.ts +14 -4
- package/src/hooks/useConnect.ts +1 -1
- package/src/hooks/useConnections.ts +1 -1
- package/src/hooks/useDisconnect.ts +1 -1
- package/src/hooks/useReadContract.ts +101 -0
- package/src/hooks/useReadContracts.ts +104 -0
- package/src/hooks/useWriteContract.ts +78 -0
- package/src/types/index.ts +116 -0
- package/dist/esm/context.js.map +0 -1
- package/dist/esm/errors/context.js +0 -6
- package/dist/esm/errors/context.js.map +0 -1
- package/dist/esm/exports/index.js +0 -18
- package/dist/esm/exports/index.js.map +0 -1
- package/dist/esm/hooks/useAccount.js.map +0 -1
- package/dist/esm/hooks/useChainId.js.map +0 -1
- package/dist/esm/hooks/useConfig.js.map +0 -1
- package/dist/esm/hooks/useConnect.js.map +0 -1
- package/dist/esm/hooks/useConnections.js.map +0 -1
- package/dist/esm/hooks/useDisconnect.js.map +0 -1
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/errors/context.d.ts.map +0 -1
- package/dist/types/exports/index.d.ts +0 -9
- package/dist/types/exports/index.d.ts.map +0 -1
- package/dist/types/hooks/useAccount.d.ts.map +0 -1
- package/dist/types/hooks/useChainId.d.ts.map +0 -1
- package/dist/types/hooks/useConfig.d.ts +0 -2
- package/dist/types/hooks/useConfig.d.ts.map +0 -1
- package/dist/types/hooks/useConnect.d.ts.map +0 -1
- package/dist/types/hooks/useConnections.d.ts.map +0 -1
- package/dist/types/hooks/useDisconnect.d.ts.map +0 -1
- /package/dist/esm/{context.js → src/context.js} +0 -0
- /package/dist/types/{context.d.ts → src/context.d.ts} +0 -0
- /package/dist/types/{hooks → src/hooks}/useAccount.d.ts +0 -0
- /package/dist/types/{hooks → src/hooks}/useChainId.d.ts +0 -0
- /package/dist/types/{hooks → src/hooks}/useConnect.d.ts +0 -0
- /package/dist/types/{hooks → src/hooks}/useConnections.d.ts +0 -0
- /package/dist/types/{hooks → src/hooks}/useDisconnect.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../test/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../test/lib.ts"],"names":[],"mappings":"AAUA,wBAAgB,UAAU,CAAC,MAAM,SAAS,MAAM,OAAO,EAAE,MAAM,EAAE,MAAM,sBAkBtE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function getRpcUrls({ port }: {
|
|
2
|
+
port: number;
|
|
3
|
+
}): {
|
|
4
|
+
readonly port: number;
|
|
5
|
+
readonly rpcUrls: {
|
|
6
|
+
readonly default: {
|
|
7
|
+
readonly http: readonly [`http://127.0.0.1:${number}/`];
|
|
8
|
+
readonly webSocket: readonly [`ws://127.0.0.1:${number}/`];
|
|
9
|
+
};
|
|
10
|
+
readonly public: {
|
|
11
|
+
readonly http: readonly [`http://127.0.0.1:${number}/`];
|
|
12
|
+
readonly webSocket: readonly [`ws://127.0.0.1:${number}/`];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare function wait(time: number): Promise<unknown>;
|
|
17
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/utils.ts"],"names":[],"mappings":"AAMA,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;EAiBpD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,oBAEtC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-wagmi",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Solid.js Hooks for Ethereum",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -13,12 +13,37 @@
|
|
|
13
13
|
"files": [
|
|
14
14
|
"dist/**",
|
|
15
15
|
"!dist/**/*.tsbuildinfo",
|
|
16
|
-
"src/**/*.ts"
|
|
16
|
+
"src/**/*.ts",
|
|
17
|
+
"!src/**/*.test.ts",
|
|
18
|
+
"!src/**/*.test-d.ts",
|
|
19
|
+
"/actions",
|
|
20
|
+
"/chains",
|
|
21
|
+
"/codegen",
|
|
22
|
+
"/connectors",
|
|
23
|
+
"/experimental",
|
|
24
|
+
"/internal",
|
|
25
|
+
"/query"
|
|
17
26
|
],
|
|
18
27
|
"exports": {
|
|
19
28
|
".": {
|
|
20
29
|
"types": "./dist/types/exports/index.d.ts",
|
|
21
30
|
"default": "./dist/esm/exports/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./actions": {
|
|
33
|
+
"types": "./dist/types/exports/actions.d.ts",
|
|
34
|
+
"default": "./dist/esm/exports/actions.js"
|
|
35
|
+
},
|
|
36
|
+
"./chains": {
|
|
37
|
+
"types": "./dist/types/exports/chains.d.ts",
|
|
38
|
+
"default": "./dist/esm/exports/chains.js"
|
|
39
|
+
},
|
|
40
|
+
"./connectors": {
|
|
41
|
+
"types": "./dist/types/exports/connectors.d.ts",
|
|
42
|
+
"default": "./dist/esm/exports/connectors.js"
|
|
43
|
+
},
|
|
44
|
+
"./query": {
|
|
45
|
+
"types": "./dist/types/exports/query.d.ts",
|
|
46
|
+
"default": "./dist/esm/exports/query.js"
|
|
22
47
|
}
|
|
23
48
|
},
|
|
24
49
|
"peerDependencies": {
|
|
@@ -28,13 +53,28 @@
|
|
|
28
53
|
"viem": "2.x"
|
|
29
54
|
},
|
|
30
55
|
"dependencies": {
|
|
56
|
+
"@wagmi/connectors": "^6.1.3",
|
|
31
57
|
"@wagmi/core": "^2.22.1"
|
|
32
58
|
},
|
|
33
|
-
"keywords": [
|
|
59
|
+
"keywords": [
|
|
60
|
+
"solidjs",
|
|
61
|
+
"solid",
|
|
62
|
+
"wagmi",
|
|
63
|
+
"solid-wagmi"
|
|
64
|
+
],
|
|
34
65
|
"author": "",
|
|
35
66
|
"license": "ISC",
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@solidjs/testing-library": "^0.8.10",
|
|
69
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
70
|
+
"@testing-library/user-event": "^14.6.1",
|
|
71
|
+
"jsdom": "^27.1.0",
|
|
72
|
+
"prool": "^0.0.25",
|
|
73
|
+
"vite-plugin-solid": "^2.11.10",
|
|
74
|
+
"vitest": "^4.0.8"
|
|
75
|
+
},
|
|
36
76
|
"scripts": {
|
|
37
|
-
"test": "
|
|
77
|
+
"test": "vitest",
|
|
38
78
|
"build": "pnpm run clean && pnpm run build:esm",
|
|
39
79
|
"build:esm": "tsc --project tsconfig.build.json --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
|
|
40
80
|
"clean": "rm -rf dist tsconfig.tsbuildinfo actions chains codegen connectors experimental query"
|
package/src/errors/context.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export class WagmiProviderNotFoundError extends Error {
|
|
2
|
+
public static MESSAGE = "`useConfig` must be used withtin <WagmiProvider/>";
|
|
3
|
+
|
|
2
4
|
constructor() {
|
|
3
|
-
super(
|
|
5
|
+
super(WagmiProviderNotFoundError.MESSAGE);
|
|
4
6
|
}
|
|
5
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@wagmi/core/actions";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "viem/chains";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@wagmi/connectors";
|
package/src/exports/index.ts
CHANGED
|
@@ -13,8 +13,73 @@ export { WagmiProviderNotFoundError } from "../errors/context.js";
|
|
|
13
13
|
// Hooks
|
|
14
14
|
// ///////////////////////////////////////////////////////////////
|
|
15
15
|
export { useAccount } from "../hooks/useAccount.js";
|
|
16
|
+
export { useBalance } from "../hooks/useBalance.js";
|
|
16
17
|
export { useChainId } from "../hooks/useChainId.js";
|
|
17
18
|
export { useConfig } from "../hooks/useConfig.js";
|
|
18
19
|
export { useConnect } from "../hooks/useConnect.js";
|
|
19
20
|
export { useConnections } from "../hooks/useConnections.js";
|
|
20
21
|
export { useDisconnect } from "../hooks/useDisconnect.js";
|
|
22
|
+
export { useReadContract } from "../hooks/useReadContract.js";
|
|
23
|
+
export { useReadContracts } from "../hooks/useReadContracts.js";
|
|
24
|
+
export { useWriteContract } from "../hooks/useWriteContract.js";
|
|
25
|
+
|
|
26
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
27
|
+
// @wagmi/core
|
|
28
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
ChainNotConfiguredError,
|
|
32
|
+
ConnectorAccountNotFoundError,
|
|
33
|
+
ConnectorAlreadyConnectedError,
|
|
34
|
+
ConnectorChainMismatchError,
|
|
35
|
+
ConnectorNotFoundError,
|
|
36
|
+
ConnectorUnavailableReconnectingError,
|
|
37
|
+
// Utilities
|
|
38
|
+
cookieStorage,
|
|
39
|
+
cookieToInitialState,
|
|
40
|
+
createConfig,
|
|
41
|
+
createConnector,
|
|
42
|
+
createStorage,
|
|
43
|
+
// Transports
|
|
44
|
+
custom,
|
|
45
|
+
deepEqual,
|
|
46
|
+
deserialize,
|
|
47
|
+
fallback,
|
|
48
|
+
http,
|
|
49
|
+
injected,
|
|
50
|
+
mock,
|
|
51
|
+
noopStorage,
|
|
52
|
+
normalizeChainId,
|
|
53
|
+
parseCookie,
|
|
54
|
+
ProviderNotFoundError,
|
|
55
|
+
serialize,
|
|
56
|
+
SwitchChainNotSupportedError,
|
|
57
|
+
unstable_connector,
|
|
58
|
+
webSocket,
|
|
59
|
+
// Errors
|
|
60
|
+
type ChainNotConfiguredErrorType,
|
|
61
|
+
type Config,
|
|
62
|
+
// Config
|
|
63
|
+
type Connection,
|
|
64
|
+
type Connector,
|
|
65
|
+
type ConnectorAccountNotFoundErrorType,
|
|
66
|
+
type ConnectorAlreadyConnectedErrorType,
|
|
67
|
+
type ConnectorChainMismatchErrorType,
|
|
68
|
+
// Connector
|
|
69
|
+
type ConnectorEventMap,
|
|
70
|
+
type ConnectorNotFoundErrorType,
|
|
71
|
+
type ConnectorUnavailableReconnectingErrorType,
|
|
72
|
+
type CreateConfigParameters,
|
|
73
|
+
type CreateConnectorFn,
|
|
74
|
+
// Storage
|
|
75
|
+
type CreateStorageParameters,
|
|
76
|
+
type PartializedState,
|
|
77
|
+
type ProviderNotFoundErrorType,
|
|
78
|
+
// Types
|
|
79
|
+
type Register,
|
|
80
|
+
type ResolvedRegister,
|
|
81
|
+
type State,
|
|
82
|
+
type Storage,
|
|
83
|
+
type SwitchChainNotSupportedErrorType,
|
|
84
|
+
type Transport,
|
|
85
|
+
} from "@wagmi/core";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@wagmi/core/query";
|
package/src/hooks/useAccount.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { createSignal, onCleanup, onMount } from "solid-js";
|
|
|
3
3
|
import { useConfig } from "./useConfig.js";
|
|
4
4
|
|
|
5
5
|
export function useAccount() {
|
|
6
|
-
const
|
|
6
|
+
const config = useConfig();
|
|
7
7
|
const [account, setAccount] = createSignal(getAccount(config));
|
|
8
8
|
|
|
9
9
|
// Watch account
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/solid-query";
|
|
2
|
+
import type {
|
|
3
|
+
Config,
|
|
4
|
+
GetBalanceErrorType,
|
|
5
|
+
ResolvedRegister,
|
|
6
|
+
} from "@wagmi/core";
|
|
7
|
+
import type { Compute } from "@wagmi/core/internal";
|
|
8
|
+
import {
|
|
9
|
+
getBalanceQueryOptions,
|
|
10
|
+
type GetBalanceData,
|
|
11
|
+
type GetBalanceOptions,
|
|
12
|
+
type GetBalanceQueryFnData,
|
|
13
|
+
type GetBalanceQueryKey,
|
|
14
|
+
} from "@wagmi/core/query";
|
|
15
|
+
import type { ConfigParameter, QueryParameter } from "../types/index.js";
|
|
16
|
+
import { useChainId } from "./useChainId.js";
|
|
17
|
+
import { useConfig } from "./useConfig.js";
|
|
18
|
+
|
|
19
|
+
export type UseBalanceParameters<
|
|
20
|
+
config extends Config = ResolvedRegister["config"],
|
|
21
|
+
selectData = GetBalanceData
|
|
22
|
+
> = Compute<
|
|
23
|
+
GetBalanceOptions<config> &
|
|
24
|
+
ConfigParameter<config> &
|
|
25
|
+
QueryParameter<
|
|
26
|
+
GetBalanceQueryFnData,
|
|
27
|
+
GetBalanceErrorType,
|
|
28
|
+
selectData,
|
|
29
|
+
GetBalanceQueryKey<config>
|
|
30
|
+
>
|
|
31
|
+
>;
|
|
32
|
+
export function useBalance(params: () => UseBalanceParameters) {
|
|
33
|
+
const config = useConfig(params);
|
|
34
|
+
const chain = useChainId();
|
|
35
|
+
|
|
36
|
+
const options = () =>
|
|
37
|
+
getBalanceQueryOptions(config, { chainId: chain().id, ...params() });
|
|
38
|
+
const enabled = () =>
|
|
39
|
+
Boolean(params().address && (params().query?.enabled ?? true));
|
|
40
|
+
|
|
41
|
+
return useQuery(() => ({
|
|
42
|
+
...options(),
|
|
43
|
+
enabled: enabled(),
|
|
44
|
+
}));
|
|
45
|
+
}
|
package/src/hooks/useChainId.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { extractChain } from "viem";
|
|
|
5
5
|
import { useConfig } from "./useConfig.js";
|
|
6
6
|
|
|
7
7
|
export function useChainId() {
|
|
8
|
-
const
|
|
8
|
+
const config = useConfig();
|
|
9
9
|
const [chainId, setChainID] = createSignal(getChainId(config));
|
|
10
10
|
|
|
11
11
|
// Watch chain id
|
package/src/hooks/useConfig.ts
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Config, ResolvedRegister } from "@wagmi/core";
|
|
2
|
+
import { useContext, type Accessor } from "solid-js";
|
|
2
3
|
import { WagmiContext } from "../context.js";
|
|
3
4
|
import { WagmiProviderNotFoundError } from "../errors/context.js";
|
|
5
|
+
import type { ConfigParameter } from "../types/index.js";
|
|
4
6
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
+
export type UseConfigParameters<config extends Config = Config> = Accessor<
|
|
8
|
+
ConfigParameter<config>
|
|
9
|
+
>;
|
|
10
|
+
|
|
11
|
+
export type UseConfigReturnType<config extends Config = Config> = config;
|
|
12
|
+
|
|
13
|
+
export function useConfig<config extends Config = ResolvedRegister["config"]>(
|
|
14
|
+
parameters?: UseConfigParameters<config>
|
|
15
|
+
): UseConfigReturnType<config> {
|
|
16
|
+
const config = parameters?.().config ?? useContext(WagmiContext);
|
|
7
17
|
|
|
8
18
|
if (!config) throw new WagmiProviderNotFoundError();
|
|
9
19
|
|
|
10
|
-
return config
|
|
20
|
+
return config as UseConfigReturnType<config>;
|
|
11
21
|
}
|
package/src/hooks/useConnect.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { createEffect, onCleanup } from "solid-js";
|
|
|
4
4
|
import { useConfig } from "./useConfig.js";
|
|
5
5
|
|
|
6
6
|
export function useConnect() {
|
|
7
|
-
const
|
|
7
|
+
const config = useConfig();
|
|
8
8
|
|
|
9
9
|
const mutationOptions = connectMutationOptions(config);
|
|
10
10
|
const { mutate, mutateAsync, ...result } = useMutation(() => ({
|
|
@@ -3,7 +3,7 @@ import { createSignal, onCleanup, onMount } from "solid-js";
|
|
|
3
3
|
import { useConfig } from "./useConfig.js";
|
|
4
4
|
|
|
5
5
|
export function useConnections() {
|
|
6
|
-
const
|
|
6
|
+
const config = useConfig();
|
|
7
7
|
const [connections, setConnections] = createSignal(getConnections(config));
|
|
8
8
|
|
|
9
9
|
let cleanup: VoidFunction | undefined;
|
|
@@ -5,7 +5,7 @@ import { useConfig } from "./useConfig.js";
|
|
|
5
5
|
import { useConnections } from "./useConnections.js";
|
|
6
6
|
|
|
7
7
|
export function useDisconnect() {
|
|
8
|
-
const
|
|
8
|
+
const config = useConfig();
|
|
9
9
|
|
|
10
10
|
const connections = useConnections();
|
|
11
11
|
const mutationOptions = disconnectMutationOptions(config);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/solid-query";
|
|
2
|
+
import type { Config, ResolvedRegister } from "@wagmi/core";
|
|
3
|
+
import {
|
|
4
|
+
readContractQueryOptions,
|
|
5
|
+
type ReadContractData,
|
|
6
|
+
type ReadContractOptions,
|
|
7
|
+
type ReadContractQueryFnData,
|
|
8
|
+
type ReadContractQueryKey,
|
|
9
|
+
} from "@wagmi/core/query";
|
|
10
|
+
|
|
11
|
+
import type { UnionCompute } from "@wagmi/core/internal";
|
|
12
|
+
import { type Accessor } from "solid-js";
|
|
13
|
+
import {
|
|
14
|
+
type Abi,
|
|
15
|
+
type ContractFunctionArgs,
|
|
16
|
+
type ContractFunctionName,
|
|
17
|
+
type ReadContractErrorType,
|
|
18
|
+
} from "viem";
|
|
19
|
+
import type {
|
|
20
|
+
ConfigParameter,
|
|
21
|
+
QueryParameter,
|
|
22
|
+
UseQueryReturnType,
|
|
23
|
+
} from "../types/index.js";
|
|
24
|
+
import { useConfig } from "./useConfig.js";
|
|
25
|
+
|
|
26
|
+
export type UseReadContractReturnType<
|
|
27
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
28
|
+
functionName extends ContractFunctionName<
|
|
29
|
+
abi,
|
|
30
|
+
"pure" | "view"
|
|
31
|
+
> = ContractFunctionName<abi, "pure" | "view">,
|
|
32
|
+
args extends ContractFunctionArgs<
|
|
33
|
+
abi,
|
|
34
|
+
"pure" | "view",
|
|
35
|
+
functionName
|
|
36
|
+
> = ContractFunctionArgs<abi, "pure" | "view", functionName>,
|
|
37
|
+
selectData = ReadContractData<abi, functionName, args>
|
|
38
|
+
> = UseQueryReturnType<selectData, ReadContractErrorType>;
|
|
39
|
+
|
|
40
|
+
export type UseReadContractParameters<
|
|
41
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
42
|
+
functionName extends ContractFunctionName<
|
|
43
|
+
abi,
|
|
44
|
+
"pure" | "view"
|
|
45
|
+
> = ContractFunctionName<abi, "pure" | "view">,
|
|
46
|
+
args extends ContractFunctionArgs<
|
|
47
|
+
abi,
|
|
48
|
+
"pure" | "view",
|
|
49
|
+
functionName
|
|
50
|
+
> = ContractFunctionArgs<abi, "pure" | "view", functionName>,
|
|
51
|
+
config extends Config = Config,
|
|
52
|
+
selectData = ReadContractData<abi, functionName, args>
|
|
53
|
+
> = UnionCompute<
|
|
54
|
+
ReadContractOptions<abi, functionName, args, config> &
|
|
55
|
+
ConfigParameter<config> &
|
|
56
|
+
QueryParameter<
|
|
57
|
+
ReadContractQueryFnData<abi, functionName, args>,
|
|
58
|
+
ReadContractErrorType,
|
|
59
|
+
selectData,
|
|
60
|
+
ReadContractQueryKey<abi, functionName, args, config>
|
|
61
|
+
>
|
|
62
|
+
>;
|
|
63
|
+
|
|
64
|
+
export function useReadContract<
|
|
65
|
+
const abi extends Abi | readonly unknown[],
|
|
66
|
+
functionName extends ContractFunctionName<abi, "pure" | "view">,
|
|
67
|
+
const args extends ContractFunctionArgs<abi, "pure" | "view", functionName>,
|
|
68
|
+
config extends Config = ResolvedRegister["config"],
|
|
69
|
+
selectData = ReadContractData<abi, functionName, args>
|
|
70
|
+
>(
|
|
71
|
+
params: Accessor<
|
|
72
|
+
UseReadContractParameters<abi, functionName, args, config, selectData>
|
|
73
|
+
>
|
|
74
|
+
): UseReadContractReturnType<abi, functionName, args, selectData> {
|
|
75
|
+
const config = useConfig(params);
|
|
76
|
+
|
|
77
|
+
return useQuery(() => {
|
|
78
|
+
const { address, abi, functionName, query = {} } = params();
|
|
79
|
+
const { initialData, ...queryLeftovers } = query;
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
const code = params().code as Hex | undefined;
|
|
82
|
+
|
|
83
|
+
const options = readContractQueryOptions<config, abi, functionName, args>(
|
|
84
|
+
config,
|
|
85
|
+
params()
|
|
86
|
+
);
|
|
87
|
+
const enabled = Boolean(
|
|
88
|
+
(address || code) && abi && functionName && (query?.enabled ?? true)
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
return {
|
|
92
|
+
...options,
|
|
93
|
+
...queryLeftovers,
|
|
94
|
+
|
|
95
|
+
// Initial Data type gets messed up when wrapped in function
|
|
96
|
+
initiData:
|
|
97
|
+
initialData instanceof Function ? initialData()! : initialData!,
|
|
98
|
+
enabled,
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/solid-query";
|
|
2
|
+
import type {
|
|
3
|
+
Config,
|
|
4
|
+
ReadContractsErrorType,
|
|
5
|
+
ResolvedRegister,
|
|
6
|
+
} from "@wagmi/core";
|
|
7
|
+
import {
|
|
8
|
+
readContractsQueryOptions,
|
|
9
|
+
type ReadContractsData,
|
|
10
|
+
type ReadContractsOptions,
|
|
11
|
+
type ReadContractsQueryFnData,
|
|
12
|
+
type ReadContractsQueryKey,
|
|
13
|
+
} from "@wagmi/core/query";
|
|
14
|
+
|
|
15
|
+
import type { Compute } from "@wagmi/core/internal";
|
|
16
|
+
import { createMemo, type Accessor } from "solid-js";
|
|
17
|
+
import { type ContractFunctionParameters } from "viem";
|
|
18
|
+
import type {
|
|
19
|
+
ConfigParameter,
|
|
20
|
+
QueryParameter,
|
|
21
|
+
UseQueryReturnType,
|
|
22
|
+
} from "../types/index.js";
|
|
23
|
+
import { useChainId } from "./useChainId.js";
|
|
24
|
+
import { useConfig } from "./useConfig.js";
|
|
25
|
+
|
|
26
|
+
export type UseReadContractsReturnType<
|
|
27
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
28
|
+
allowFailure extends boolean = true,
|
|
29
|
+
selectData = ReadContractsData<contracts, allowFailure>
|
|
30
|
+
> = UseQueryReturnType<selectData, ReadContractsErrorType>;
|
|
31
|
+
|
|
32
|
+
export type UseReadContractsParameters<
|
|
33
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
34
|
+
allowFailure extends boolean = true,
|
|
35
|
+
config extends Config = Config,
|
|
36
|
+
selectData = ReadContractsData<contracts, allowFailure>
|
|
37
|
+
> = Compute<
|
|
38
|
+
ReadContractsOptions<contracts, allowFailure, config> &
|
|
39
|
+
ConfigParameter<config> &
|
|
40
|
+
QueryParameter<
|
|
41
|
+
ReadContractsQueryFnData<contracts, allowFailure>,
|
|
42
|
+
ReadContractsErrorType,
|
|
43
|
+
selectData,
|
|
44
|
+
ReadContractsQueryKey<contracts, allowFailure, config>
|
|
45
|
+
>
|
|
46
|
+
>;
|
|
47
|
+
|
|
48
|
+
export function useReadContracts<
|
|
49
|
+
const contracts extends readonly unknown[],
|
|
50
|
+
allowFailure extends boolean = true,
|
|
51
|
+
config extends Config = ResolvedRegister["config"],
|
|
52
|
+
selectData = ReadContractsData<contracts, allowFailure>
|
|
53
|
+
>(
|
|
54
|
+
params: Accessor<
|
|
55
|
+
UseReadContractsParameters<contracts, allowFailure, config, selectData>
|
|
56
|
+
>
|
|
57
|
+
) {
|
|
58
|
+
const contracts = createMemo(() => params().contracts ?? []);
|
|
59
|
+
const config = useConfig(params);
|
|
60
|
+
const chainId = useChainId();
|
|
61
|
+
|
|
62
|
+
const contractsChainId = createMemo(() => {
|
|
63
|
+
const firstChainId = (contracts()[0] as { chainId?: number } | undefined)
|
|
64
|
+
?.chainId;
|
|
65
|
+
if (
|
|
66
|
+
(contracts() as { chainId?: number }[]).every(
|
|
67
|
+
(contract) => contract.chainId === firstChainId
|
|
68
|
+
)
|
|
69
|
+
)
|
|
70
|
+
return firstChainId;
|
|
71
|
+
return undefined;
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
const enabled = createMemo(() => {
|
|
75
|
+
let isContractsValid = false;
|
|
76
|
+
for (const contract of contracts()) {
|
|
77
|
+
const { abi, address, functionName } =
|
|
78
|
+
contract as ContractFunctionParameters;
|
|
79
|
+
if (!abi || !address || !functionName) {
|
|
80
|
+
isContractsValid = false;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
isContractsValid = true;
|
|
84
|
+
}
|
|
85
|
+
return Boolean(isContractsValid && (params().query?.enabled ?? true));
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
return useQuery(() => {
|
|
89
|
+
const { query = {} } = params();
|
|
90
|
+
// @ts-ignore
|
|
91
|
+
const code = params().code as Hex | undefined;
|
|
92
|
+
|
|
93
|
+
const options = readContractsQueryOptions<Config, contracts, allowFailure>(
|
|
94
|
+
config,
|
|
95
|
+
{ ...params(), chainId: contractsChainId() ?? chainId().id }
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
...query,
|
|
100
|
+
...options,
|
|
101
|
+
enabled,
|
|
102
|
+
} as any;
|
|
103
|
+
}) as UseReadContractsReturnType<contracts, allowFailure, selectData>;
|
|
104
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { useMutation } from "@tanstack/solid-query";
|
|
2
|
+
import type { Config, WriteContractErrorType } from "@wagmi/core";
|
|
3
|
+
import {
|
|
4
|
+
writeContractMutationOptions,
|
|
5
|
+
type WriteContractData,
|
|
6
|
+
type WriteContractMutate,
|
|
7
|
+
type WriteContractMutateAsync,
|
|
8
|
+
type WriteContractVariables,
|
|
9
|
+
} from "@wagmi/core/query";
|
|
10
|
+
|
|
11
|
+
import type { Abi } from "viem";
|
|
12
|
+
import type {
|
|
13
|
+
ConfigParameter,
|
|
14
|
+
UseMutationParameters,
|
|
15
|
+
UseMutationReturnType,
|
|
16
|
+
} from "../types/index.js";
|
|
17
|
+
import { useConfig } from "./useConfig.js";
|
|
18
|
+
|
|
19
|
+
export type UseWriteContractParameters<
|
|
20
|
+
config extends Config = Config,
|
|
21
|
+
context = unknown
|
|
22
|
+
> = ConfigParameter<config> & {
|
|
23
|
+
mutation?:
|
|
24
|
+
| UseMutationParameters<
|
|
25
|
+
WriteContractData,
|
|
26
|
+
WriteContractErrorType,
|
|
27
|
+
WriteContractVariables<
|
|
28
|
+
Abi,
|
|
29
|
+
string,
|
|
30
|
+
readonly unknown[],
|
|
31
|
+
config,
|
|
32
|
+
config["chains"][number]["id"]
|
|
33
|
+
>,
|
|
34
|
+
context
|
|
35
|
+
>
|
|
36
|
+
| undefined;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export type UseWriteContractReturnType<
|
|
40
|
+
config extends Config = Config,
|
|
41
|
+
context = unknown
|
|
42
|
+
> = UseMutationReturnType<
|
|
43
|
+
WriteContractData,
|
|
44
|
+
WriteContractErrorType,
|
|
45
|
+
WriteContractVariables<
|
|
46
|
+
Abi,
|
|
47
|
+
string,
|
|
48
|
+
readonly unknown[],
|
|
49
|
+
config,
|
|
50
|
+
config["chains"][number]["id"]
|
|
51
|
+
>,
|
|
52
|
+
context
|
|
53
|
+
> & {
|
|
54
|
+
writeContract: WriteContractMutate<config, context>;
|
|
55
|
+
writeContractAsync: WriteContractMutateAsync<config, context>;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export function useWriteContract<
|
|
59
|
+
config extends Config = Config,
|
|
60
|
+
context = unknown
|
|
61
|
+
>(
|
|
62
|
+
params?: () => UseWriteContractParameters<config, context>
|
|
63
|
+
): UseWriteContractReturnType<config, context> {
|
|
64
|
+
const config = useConfig();
|
|
65
|
+
|
|
66
|
+
const mutationOptions = writeContractMutationOptions(config);
|
|
67
|
+
const { mutate, mutateAsync, ...result } = useMutation(() => ({
|
|
68
|
+
...(params?.().mutation ?? {}),
|
|
69
|
+
...mutationOptions,
|
|
70
|
+
}));
|
|
71
|
+
|
|
72
|
+
type Return = UseWriteContractReturnType<config, context>;
|
|
73
|
+
return {
|
|
74
|
+
...(result as Return),
|
|
75
|
+
writeContract: mutate as Return["writeContract"],
|
|
76
|
+
writeContractAsync: mutateAsync as Return["writeContractAsync"],
|
|
77
|
+
};
|
|
78
|
+
}
|