wagmi 2.0.0 → 2.0.1
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 +13 -0
- package/actions/package.json +5 -0
- package/chains/package.json +5 -0
- package/codegen/package.json +5 -0
- package/connectors/package.json +5 -0
- package/dist/esm/context.js +6 -11
- package/dist/esm/context.js.map +1 -1
- package/dist/esm/errors/base.js +1 -1
- package/dist/esm/errors/base.js.map +1 -1
- package/dist/esm/errors/context.js +3 -1
- package/dist/esm/errors/context.js.map +1 -1
- package/dist/esm/exports/actions.js +2 -1
- package/dist/esm/exports/actions.js.map +1 -1
- package/dist/esm/exports/chains.js +1 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/codegen.js +12 -0
- package/dist/esm/exports/codegen.js.map +1 -0
- package/dist/esm/exports/connectors.js +1 -0
- package/dist/esm/exports/connectors.js.map +1 -1
- package/dist/esm/exports/index.js +43 -15
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/query.js +1 -0
- package/dist/esm/exports/query.js.map +1 -1
- package/dist/esm/hooks/codegen/createUseReadContract.js +33 -0
- package/dist/esm/hooks/codegen/createUseReadContract.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseSimulateContract.js +33 -0
- package/dist/esm/hooks/codegen/createUseSimulateContract.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseWatchContractEvent.js +32 -0
- package/dist/esm/hooks/codegen/createUseWatchContractEvent.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseWriteContract.js +95 -0
- package/dist/esm/hooks/codegen/createUseWriteContract.js.map +1 -0
- package/dist/esm/hooks/useAccount.js +1 -1
- package/dist/esm/hooks/useAccount.js.map +1 -1
- package/dist/esm/hooks/useAccountEffect.js +10 -3
- package/dist/esm/hooks/useAccountEffect.js.map +1 -1
- package/dist/esm/hooks/useBalance.js +4 -4
- package/dist/esm/hooks/useBalance.js.map +1 -1
- package/dist/esm/hooks/useBlock.js +36 -0
- package/dist/esm/hooks/useBlock.js.map +1 -0
- package/dist/esm/hooks/useBlockNumber.js +6 -8
- package/dist/esm/hooks/useBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useBlockTransactionCount.js +20 -0
- package/dist/esm/hooks/useBlockTransactionCount.js.map +1 -0
- package/dist/esm/hooks/useChainId.js +2 -2
- package/dist/esm/hooks/useChainId.js.map +1 -1
- package/dist/esm/hooks/useClient.js +1 -1
- package/dist/esm/hooks/useClient.js.map +1 -1
- package/dist/esm/hooks/useConfig.js +1 -1
- package/dist/esm/hooks/useConfig.js.map +1 -1
- package/dist/esm/hooks/useConnect.js +12 -2
- package/dist/esm/hooks/useConnect.js.map +1 -1
- package/dist/esm/hooks/useConnections.js +2 -2
- package/dist/esm/hooks/useConnections.js.map +1 -1
- package/dist/esm/hooks/useConnectorClient.js +2 -3
- package/dist/esm/hooks/useConnectorClient.js.map +1 -1
- package/dist/esm/hooks/useConnectors.js +10 -0
- package/dist/esm/hooks/useConnectors.js.map +1 -0
- package/dist/esm/hooks/useDisconnect.js +1 -1
- package/dist/esm/hooks/useDisconnect.js.map +1 -1
- package/dist/esm/hooks/useEnsAddress.js +4 -4
- package/dist/esm/hooks/useEnsAddress.js.map +1 -1
- package/dist/esm/hooks/useEnsAvatar.js +4 -4
- package/dist/esm/hooks/useEnsAvatar.js.map +1 -1
- package/dist/esm/hooks/useEnsName.js +4 -4
- package/dist/esm/hooks/useEnsName.js.map +1 -1
- package/dist/esm/hooks/useEnsResolver.js +4 -4
- package/dist/esm/hooks/useEnsResolver.js.map +1 -1
- package/dist/esm/hooks/useEstimateFeesPerGas.js +4 -4
- package/dist/esm/hooks/useEstimateFeesPerGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateGas.js +3 -3
- package/dist/esm/hooks/useEstimateGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js +19 -0
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js.map +1 -0
- package/dist/esm/hooks/useFeeHistory.js +20 -0
- package/dist/esm/hooks/useFeeHistory.js.map +1 -0
- package/dist/esm/hooks/useGasPrice.js +20 -0
- package/dist/esm/hooks/useGasPrice.js.map +1 -0
- package/dist/esm/hooks/useInfiniteReadContracts.js +24 -0
- package/dist/esm/hooks/useInfiniteReadContracts.js.map +1 -0
- package/dist/esm/hooks/usePublicClient.js +1 -1
- package/dist/esm/hooks/usePublicClient.js.map +1 -1
- package/dist/esm/hooks/{useContractRead.js → useReadContract.js} +5 -8
- package/dist/esm/hooks/useReadContract.js.map +1 -0
- package/dist/esm/hooks/{useContractReads.js → useReadContracts.js} +7 -9
- package/dist/esm/hooks/useReadContracts.js.map +1 -0
- package/dist/esm/hooks/useReconnect.js +1 -1
- package/dist/esm/hooks/useReconnect.js.map +1 -1
- package/dist/esm/hooks/useSendTransaction.js +1 -1
- package/dist/esm/hooks/useSendTransaction.js.map +1 -1
- package/dist/esm/hooks/useSignMessage.js +1 -1
- package/dist/esm/hooks/useSignMessage.js.map +1 -1
- package/dist/esm/hooks/useSignTypedData.js +1 -1
- package/dist/esm/hooks/useSignTypedData.js.map +1 -1
- package/dist/esm/hooks/{useContractSimulate.js → useSimulateContract.js} +6 -6
- package/dist/esm/hooks/useSimulateContract.js.map +1 -0
- package/dist/esm/hooks/useSwitchAccount.js +1 -1
- package/dist/esm/hooks/useSwitchAccount.js.map +1 -1
- package/dist/esm/hooks/useSwitchChain.js +1 -1
- package/dist/esm/hooks/useSwitchChain.js.map +1 -1
- package/dist/esm/hooks/useToken.js +8 -4
- package/dist/esm/hooks/useToken.js.map +1 -1
- package/dist/esm/hooks/useTransaction.js +8 -4
- package/dist/esm/hooks/useTransaction.js.map +1 -1
- package/dist/esm/hooks/useTransactionCount.js +19 -0
- package/dist/esm/hooks/useTransactionCount.js.map +1 -0
- package/dist/esm/hooks/useVerifyMessage.js +19 -0
- package/dist/esm/hooks/useVerifyMessage.js.map +1 -0
- package/dist/esm/hooks/useVerifyTypedData.js +25 -0
- package/dist/esm/hooks/useVerifyTypedData.js.map +1 -0
- package/dist/esm/hooks/useWaitForTransactionReceipt.js +9 -5
- package/dist/esm/hooks/useWaitForTransactionReceipt.js.map +1 -1
- package/dist/esm/hooks/useWalletClient.js +2 -3
- package/dist/esm/hooks/useWalletClient.js.map +1 -1
- package/dist/esm/hooks/useWatchBlockNumber.js +1 -1
- package/dist/esm/hooks/useWatchBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useWatchBlocks.js +25 -0
- package/dist/esm/hooks/useWatchBlocks.js.map +1 -0
- package/dist/esm/hooks/useWatchContractEvent.js +1 -1
- package/dist/esm/hooks/useWatchContractEvent.js.map +1 -1
- package/dist/esm/hooks/useWatchPendingTransactions.js +1 -1
- package/dist/esm/hooks/useWatchPendingTransactions.js.map +1 -1
- package/dist/esm/hooks/{useContractWrite.js → useWriteContract.js} +5 -5
- package/dist/esm/hooks/useWriteContract.js.map +1 -0
- package/dist/esm/hydrate.js +28 -0
- package/dist/esm/hydrate.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/types/properties.js +3 -1
- package/dist/esm/types/properties.js.map +1 -1
- package/dist/esm/utils/query.js +10 -1
- package/dist/esm/utils/query.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/context.d.ts +6 -7
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/errors/base.d.ts +3 -0
- package/dist/types/errors/base.d.ts.map +1 -1
- package/dist/types/errors/context.d.ts +3 -0
- package/dist/types/errors/context.d.ts.map +1 -1
- package/dist/types/exports/actions.d.ts.map +1 -1
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/codegen.d.ts +6 -0
- package/dist/types/exports/codegen.d.ts.map +1 -0
- package/dist/types/exports/connectors.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +33 -10
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/exports/query.d.ts.map +1 -1
- package/dist/types/hooks/codegen/createUseReadContract.d.ts +18 -0
- package/dist/types/hooks/codegen/createUseReadContract.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseSimulateContract.d.ts +21 -0
- package/dist/types/hooks/codegen/createUseSimulateContract.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseWatchContractEvent.d.ts +14 -0
- package/dist/types/hooks/codegen/createUseWatchContractEvent.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseWriteContract.d.ts +27 -0
- package/dist/types/hooks/codegen/createUseWriteContract.d.ts.map +1 -0
- package/dist/types/hooks/useAccount.d.ts +1 -1
- package/dist/types/hooks/useAccount.d.ts.map +1 -1
- package/dist/types/hooks/useAccountEffect.d.ts +2 -2
- package/dist/types/hooks/useAccountEffect.d.ts.map +1 -1
- package/dist/types/hooks/useBalance.d.ts +6 -8
- package/dist/types/hooks/useBalance.d.ts.map +1 -1
- package/dist/types/hooks/useBlock.d.ts +14 -0
- package/dist/types/hooks/useBlock.d.ts.map +1 -0
- package/dist/types/hooks/useBlockNumber.d.ts +8 -9
- package/dist/types/hooks/useBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useBlockTransactionCount.d.ts +10 -0
- package/dist/types/hooks/useBlockTransactionCount.d.ts.map +1 -0
- package/dist/types/hooks/useChainId.d.ts +1 -1
- package/dist/types/hooks/useChainId.d.ts.map +1 -1
- package/dist/types/hooks/useClient.d.ts +1 -1
- package/dist/types/hooks/useClient.d.ts.map +1 -1
- package/dist/types/hooks/useConfig.d.ts +1 -1
- package/dist/types/hooks/useConfig.d.ts.map +1 -1
- package/dist/types/hooks/useConnect.d.ts +5 -5
- package/dist/types/hooks/useConnect.d.ts.map +1 -1
- package/dist/types/hooks/useConnections.d.ts +1 -1
- package/dist/types/hooks/useConnections.d.ts.map +1 -1
- package/dist/types/hooks/useConnectorClient.d.ts +4 -4
- package/dist/types/hooks/useConnectorClient.d.ts.map +1 -1
- package/dist/types/hooks/useConnectors.d.ts +7 -0
- package/dist/types/hooks/useConnectors.d.ts.map +1 -0
- package/dist/types/hooks/useDisconnect.d.ts +4 -4
- package/dist/types/hooks/useDisconnect.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAddress.d.ts +6 -8
- package/dist/types/hooks/useEnsAddress.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAvatar.d.ts +6 -8
- package/dist/types/hooks/useEnsAvatar.d.ts.map +1 -1
- package/dist/types/hooks/useEnsName.d.ts +6 -8
- package/dist/types/hooks/useEnsName.d.ts.map +1 -1
- package/dist/types/hooks/useEnsResolver.d.ts +6 -8
- package/dist/types/hooks/useEnsResolver.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateFeesPerGas.d.ts +6 -8
- package/dist/types/hooks/useEstimateFeesPerGas.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateGas.d.ts +6 -8
- package/dist/types/hooks/useEstimateGas.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateMaxPriorityFeePerGas.d.ts +10 -0
- package/dist/types/hooks/useEstimateMaxPriorityFeePerGas.d.ts.map +1 -0
- package/dist/types/hooks/useFeeHistory.d.ts +10 -0
- package/dist/types/hooks/useFeeHistory.d.ts.map +1 -0
- package/dist/types/hooks/useGasPrice.d.ts +10 -0
- package/dist/types/hooks/useGasPrice.d.ts.map +1 -0
- package/dist/types/hooks/useInfiniteReadContracts.d.ts +11 -0
- package/dist/types/hooks/useInfiniteReadContracts.d.ts.map +1 -0
- package/dist/types/hooks/usePublicClient.d.ts +1 -1
- package/dist/types/hooks/usePublicClient.d.ts.map +1 -1
- package/dist/types/hooks/{useContractRead.d.ts → useReadContract.d.ts} +8 -10
- package/dist/types/hooks/useReadContract.d.ts.map +1 -0
- package/dist/types/hooks/useReadContracts.d.ts +11 -0
- package/dist/types/hooks/useReadContracts.d.ts.map +1 -0
- package/dist/types/hooks/useReconnect.d.ts +4 -4
- package/dist/types/hooks/useReconnect.d.ts.map +1 -1
- package/dist/types/hooks/useSendTransaction.d.ts +4 -4
- package/dist/types/hooks/useSendTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useSignMessage.d.ts +4 -4
- package/dist/types/hooks/useSignMessage.d.ts.map +1 -1
- package/dist/types/hooks/useSignTypedData.d.ts +4 -4
- package/dist/types/hooks/useSignTypedData.d.ts.map +1 -1
- package/dist/types/hooks/{useContractSimulate.d.ts → useSimulateContract.d.ts} +8 -10
- package/dist/types/hooks/useSimulateContract.d.ts.map +1 -0
- package/dist/types/hooks/useSwitchAccount.d.ts +4 -4
- package/dist/types/hooks/useSwitchAccount.d.ts.map +1 -1
- package/dist/types/hooks/useSwitchChain.d.ts +4 -4
- package/dist/types/hooks/useSwitchChain.d.ts.map +1 -1
- package/dist/types/hooks/useToken.d.ts +10 -8
- package/dist/types/hooks/useToken.d.ts.map +1 -1
- package/dist/types/hooks/useTransaction.d.ts +6 -8
- package/dist/types/hooks/useTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useTransactionCount.d.ts +11 -0
- package/dist/types/hooks/useTransactionCount.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyMessage.d.ts +11 -0
- package/dist/types/hooks/useVerifyMessage.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts +11 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts.map +1 -0
- package/dist/types/hooks/useWaitForTransactionReceipt.d.ts +6 -8
- package/dist/types/hooks/useWaitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/hooks/useWalletClient.d.ts +4 -4
- package/dist/types/hooks/useWalletClient.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlockNumber.d.ts +1 -1
- package/dist/types/hooks/useWatchBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlocks.d.ts +9 -0
- package/dist/types/hooks/useWatchBlocks.d.ts.map +1 -0
- package/dist/types/hooks/useWatchContractEvent.d.ts +1 -1
- package/dist/types/hooks/useWatchContractEvent.d.ts.map +1 -1
- package/dist/types/hooks/useWatchPendingTransactions.d.ts +1 -1
- package/dist/types/hooks/useWatchPendingTransactions.d.ts.map +1 -1
- package/dist/types/hooks/useWriteContract.d.ts +15 -0
- package/dist/types/hooks/useWriteContract.d.ts.map +1 -0
- package/dist/types/hydrate.d.ts +9 -0
- package/dist/types/hydrate.d.ts.map +1 -0
- package/dist/types/types/properties.d.ts +10 -1
- package/dist/types/types/properties.d.ts.map +1 -1
- package/dist/types/utils/query.d.ts +12 -3
- package/dist/types/utils/query.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +26 -34
- package/query/package.json +5 -0
- package/src/context.ts +15 -14
- package/src/errors/base.ts +2 -1
- package/src/errors/context.ts +6 -1
- package/src/exports/actions.ts +2 -1
- package/src/exports/chains.ts +1 -0
- package/src/exports/codegen.ts +17 -0
- package/src/exports/connectors.ts +1 -0
- package/src/exports/index.ts +135 -37
- package/src/exports/query.ts +1 -0
- package/src/hooks/codegen/createUseReadContract.ts +128 -0
- package/src/hooks/codegen/createUseSimulateContract.ts +121 -0
- package/src/hooks/codegen/createUseWatchContractEvent.ts +98 -0
- package/src/hooks/codegen/createUseWriteContract.ts +290 -0
- package/src/hooks/useAccount.ts +1 -1
- package/src/hooks/useAccountEffect.ts +11 -4
- package/src/hooks/useBalance.ts +14 -21
- package/src/hooks/useBlock.ts +129 -0
- package/src/hooks/useBlockNumber.ts +30 -32
- package/src/hooks/useBlockTransactionCount.ts +65 -0
- package/src/hooks/useChainId.ts +2 -1
- package/src/hooks/useClient.ts +1 -1
- package/src/hooks/useConfig.ts +1 -1
- package/src/hooks/useConnect.ts +21 -6
- package/src/hooks/useConnections.ts +2 -1
- package/src/hooks/useConnectorClient.ts +9 -7
- package/src/hooks/useConnectors.ts +28 -0
- package/src/hooks/useDisconnect.ts +4 -4
- package/src/hooks/useEnsAddress.ts +18 -21
- package/src/hooks/useEnsAvatar.ts +18 -19
- package/src/hooks/useEnsName.ts +14 -21
- package/src/hooks/useEnsResolver.ts +18 -21
- package/src/hooks/useEstimateFeesPerGas.ts +14 -21
- package/src/hooks/useEstimateGas.ts +19 -22
- package/src/hooks/useEstimateMaxPriorityFeePerGas.ts +61 -0
- package/src/hooks/useFeeHistory.ts +62 -0
- package/src/hooks/useGasPrice.ts +60 -0
- package/src/hooks/useInfiniteReadContracts.ts +89 -0
- package/src/hooks/usePublicClient.ts +1 -1
- package/src/hooks/{useContractRead.ts → useReadContract.ts} +22 -25
- package/src/hooks/{useContractReads.ts → useReadContracts.ts} +27 -28
- package/src/hooks/useReconnect.ts +4 -4
- package/src/hooks/useSendTransaction.ts +4 -4
- package/src/hooks/useSignMessage.ts +4 -4
- package/src/hooks/useSignTypedData.ts +4 -4
- package/src/hooks/{useContractSimulate.ts → useSimulateContract.ts} +26 -27
- package/src/hooks/useSwitchAccount.ts +4 -4
- package/src/hooks/useSwitchChain.ts +8 -4
- package/src/hooks/useToken.ts +18 -21
- package/src/hooks/useTransaction.ts +22 -21
- package/src/hooks/useTransactionCount.ts +59 -0
- package/src/hooks/useVerifyMessage.ts +59 -0
- package/src/hooks/useVerifyTypedData.ts +81 -0
- package/src/hooks/useWaitForTransactionReceipt.ts +19 -22
- package/src/hooks/useWalletClient.ts +25 -21
- package/src/hooks/useWatchBlockNumber.ts +1 -1
- package/src/hooks/useWatchBlocks.ts +61 -0
- package/src/hooks/useWatchContractEvent.ts +1 -1
- package/src/hooks/useWatchPendingTransactions.ts +1 -1
- package/src/hooks/{useContractWrite.ts → useWriteContract.ts} +18 -14
- package/src/hydrate.ts +36 -0
- package/src/types/properties.ts +43 -1
- package/src/utils/query.ts +66 -15
- package/src/version.ts +1 -1
- package/dist/esm/hooks/useContractRead.js.map +0 -1
- package/dist/esm/hooks/useContractReads.js.map +0 -1
- package/dist/esm/hooks/useContractSimulate.js.map +0 -1
- package/dist/esm/hooks/useContractWrite.js.map +0 -1
- package/dist/types/hooks/useContractRead.d.ts.map +0 -1
- package/dist/types/hooks/useContractReads.d.ts +0 -13
- package/dist/types/hooks/useContractReads.d.ts.map +0 -1
- package/dist/types/hooks/useContractSimulate.d.ts.map +0 -1
- package/dist/types/hooks/useContractWrite.d.ts +0 -15
- package/dist/types/hooks/useContractWrite.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wagmi",
|
|
3
3
|
"description": "React Hooks for Ethereum",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/
|
|
8
|
+
"url": "https://github.com/wevm/wagmi.git",
|
|
9
9
|
"directory": "packages/react"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
"!dist/**/*.tsbuildinfo",
|
|
14
14
|
"src/**/*.ts",
|
|
15
15
|
"!src/**/*.test.ts",
|
|
16
|
-
"!src/**/*.test-d.ts"
|
|
16
|
+
"!src/**/*.test-d.ts",
|
|
17
|
+
"/actions",
|
|
18
|
+
"/chains",
|
|
19
|
+
"/codegen",
|
|
20
|
+
"/connectors",
|
|
21
|
+
"/query"
|
|
17
22
|
],
|
|
18
23
|
"sideEffects": false,
|
|
19
24
|
"type": "module",
|
|
@@ -33,6 +38,10 @@
|
|
|
33
38
|
"types": "./dist/types/exports/chains.d.ts",
|
|
34
39
|
"default": "./dist/esm/exports/chains.js"
|
|
35
40
|
},
|
|
41
|
+
"./codegen": {
|
|
42
|
+
"types": "./dist/types/exports/codegen.d.ts",
|
|
43
|
+
"default": "./dist/esm/exports/codegen.js"
|
|
44
|
+
},
|
|
36
45
|
"./connectors": {
|
|
37
46
|
"types": "./dist/types/exports/connectors.d.ts",
|
|
38
47
|
"default": "./dist/esm/exports/connectors.js"
|
|
@@ -51,6 +60,9 @@
|
|
|
51
60
|
"chains": [
|
|
52
61
|
"./dist/types/exports/chains.d.ts"
|
|
53
62
|
],
|
|
63
|
+
"codegen": [
|
|
64
|
+
"./dist/types/exports/codegen.d.ts"
|
|
65
|
+
],
|
|
54
66
|
"connectors": [
|
|
55
67
|
"./dist/types/exports/connectors.d.ts"
|
|
56
68
|
],
|
|
@@ -60,10 +72,10 @@
|
|
|
60
72
|
}
|
|
61
73
|
},
|
|
62
74
|
"peerDependencies": {
|
|
63
|
-
"@tanstack/react-query": "5.0.0
|
|
75
|
+
"@tanstack/react-query": ">=5.0.0",
|
|
64
76
|
"react": ">=18",
|
|
65
|
-
"typescript": ">=5",
|
|
66
|
-
"viem": "
|
|
77
|
+
"typescript": ">=5.0.4",
|
|
78
|
+
"viem": "2.x"
|
|
67
79
|
},
|
|
68
80
|
"peerDependenciesMeta": {
|
|
69
81
|
"typescript": {
|
|
@@ -71,30 +83,17 @@
|
|
|
71
83
|
}
|
|
72
84
|
},
|
|
73
85
|
"dependencies": {
|
|
74
|
-
"use-sync-external-store": "
|
|
75
|
-
"@wagmi/connectors": "4.0.
|
|
76
|
-
"@wagmi/core": "2.0.
|
|
77
|
-
},
|
|
78
|
-
"devDependencies": {
|
|
79
|
-
"@tanstack/react-query": "5.0.0-beta.23",
|
|
80
|
-
"@testing-library/react": "^14.0.0",
|
|
81
|
-
"@types/react": "^18.2.21",
|
|
82
|
-
"@types/react-dom": "^18.2.7",
|
|
83
|
-
"@types/use-sync-external-store": "^0.0.3",
|
|
84
|
-
"react": "^18.2.0",
|
|
85
|
-
"react-dom": "^18.2.0"
|
|
86
|
+
"use-sync-external-store": "1.2.0",
|
|
87
|
+
"@wagmi/connectors": "4.0.1",
|
|
88
|
+
"@wagmi/core": "2.0.1"
|
|
86
89
|
},
|
|
87
90
|
"contributors": [
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
],
|
|
91
|
-
"funding": [
|
|
92
|
-
{
|
|
93
|
-
"type": "github",
|
|
94
|
-
"url": "https://github.com/sponsors/wagmi-dev"
|
|
95
|
-
}
|
|
91
|
+
"awkweb.eth <t@wevm.dev>",
|
|
92
|
+
"jxom.eth <j@wevm.dev>"
|
|
96
93
|
],
|
|
94
|
+
"funding": "https://github.com/sponsors/wevm",
|
|
97
95
|
"keywords": [
|
|
96
|
+
"wagmi",
|
|
98
97
|
"react",
|
|
99
98
|
"hooks",
|
|
100
99
|
"eth",
|
|
@@ -102,12 +101,5 @@
|
|
|
102
101
|
"dapps",
|
|
103
102
|
"wallet",
|
|
104
103
|
"web3"
|
|
105
|
-
]
|
|
106
|
-
"scripts": {
|
|
107
|
-
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
108
|
-
"build": "pnpm run clean && pnpm run build:esm+types",
|
|
109
|
-
"build:esm+types": "tsc --project tsconfig.build.json --module es2020 --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
|
|
110
|
-
"test:build": "publint --strict",
|
|
111
|
-
"typecheck": "tsc --noEmit"
|
|
112
|
-
}
|
|
104
|
+
]
|
|
113
105
|
}
|
package/src/context.ts
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import { type ResolvedRegister,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { type ResolvedRegister, type State } from '@wagmi/core'
|
|
4
|
+
import { createContext, createElement } from 'react'
|
|
5
|
+
import { Hydrate } from './hydrate.js'
|
|
6
6
|
|
|
7
7
|
export const WagmiContext = createContext<
|
|
8
8
|
ResolvedRegister['config'] | undefined
|
|
9
9
|
>(undefined)
|
|
10
10
|
|
|
11
|
-
export type WagmiProviderProps =
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export type WagmiProviderProps = {
|
|
12
|
+
config: ResolvedRegister['config']
|
|
13
|
+
initialState?: State | undefined
|
|
14
|
+
reconnectOnMount?: boolean | undefined
|
|
15
|
+
}
|
|
14
16
|
|
|
15
17
|
export function WagmiProvider(
|
|
16
18
|
parameters: React.PropsWithChildren<WagmiProviderProps>,
|
|
17
19
|
) {
|
|
18
|
-
const { children,
|
|
19
|
-
// biome-ignore lint/nursery/useExhaustiveDependencies: only run on mount
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (typeof window !== 'undefined' && value._internal.reconnectOnMount)
|
|
22
|
-
reconnect(value)
|
|
23
|
-
}, [])
|
|
20
|
+
const { children, config } = parameters
|
|
24
21
|
|
|
25
|
-
const props = { value }
|
|
26
|
-
return createElement(
|
|
22
|
+
const props = { value: config }
|
|
23
|
+
return createElement(
|
|
24
|
+
Hydrate,
|
|
25
|
+
parameters,
|
|
26
|
+
createElement(WagmiContext.Provider, props, children),
|
|
27
|
+
)
|
|
27
28
|
}
|
package/src/errors/base.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { BaseError as CoreError } from '@wagmi/core'
|
|
|
2
2
|
|
|
3
3
|
import { getVersion } from '../utils/getVersion.js'
|
|
4
4
|
|
|
5
|
+
export type BaseErrorType = BaseError & { name: 'WagmiError' }
|
|
5
6
|
export class BaseError extends CoreError {
|
|
6
7
|
override name = 'WagmiError'
|
|
7
8
|
override get docsBaseUrl() {
|
|
8
|
-
return 'https://
|
|
9
|
+
return 'https://wagmi.sh/react'
|
|
9
10
|
}
|
|
10
11
|
override get version() {
|
|
11
12
|
return getVersion()
|
package/src/errors/context.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { BaseError } from './base.js'
|
|
2
2
|
|
|
3
|
+
export type WagmiProviderNotFoundErrorType = WagmiProviderNotFoundError & {
|
|
4
|
+
name: 'WagmiProviderNotFoundError'
|
|
5
|
+
}
|
|
3
6
|
export class WagmiProviderNotFoundError extends BaseError {
|
|
4
7
|
override name = 'WagmiProviderNotFoundError'
|
|
5
8
|
constructor() {
|
|
6
|
-
super('`useConfig` must be used within `WagmiProvider`.'
|
|
9
|
+
super('`useConfig` must be used within `WagmiProvider`.', {
|
|
10
|
+
docsPath: 'https://wagmi.sh/react/api/WagmiProvider',
|
|
11
|
+
})
|
|
7
12
|
}
|
|
8
13
|
}
|
package/src/exports/actions.ts
CHANGED
package/src/exports/chains.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
// @wagmi/core/codegen
|
|
3
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
+
|
|
5
|
+
export * from '@wagmi/core/codegen'
|
|
6
|
+
|
|
7
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
8
|
+
// Hooks
|
|
9
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
10
|
+
|
|
11
|
+
export { createUseSimulateContract } from '../hooks/codegen/createUseSimulateContract.js'
|
|
12
|
+
|
|
13
|
+
export { createUseReadContract } from '../hooks/codegen/createUseReadContract.js'
|
|
14
|
+
|
|
15
|
+
export { createUseWatchContractEvent } from '../hooks/codegen/createUseWatchContractEvent.js'
|
|
16
|
+
|
|
17
|
+
export { createUseWriteContract } from '../hooks/codegen/createUseWriteContract.js'
|
package/src/exports/index.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
// Viem
|
|
3
|
-
|
|
4
|
-
// extremely commonly used viem exports
|
|
5
|
-
export {
|
|
6
|
-
custom,
|
|
7
|
-
fallback,
|
|
8
|
-
http,
|
|
9
|
-
webSocket,
|
|
10
|
-
} from 'viem'
|
|
11
|
-
|
|
12
1
|
////////////////////////////////////////////////////////////////////////////////
|
|
13
2
|
// Context
|
|
3
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
14
4
|
|
|
15
5
|
export {
|
|
16
6
|
type WagmiProviderProps,
|
|
@@ -24,13 +14,18 @@ export {
|
|
|
24
14
|
|
|
25
15
|
////////////////////////////////////////////////////////////////////////////////
|
|
26
16
|
// Errors
|
|
17
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
27
18
|
|
|
28
|
-
export { BaseError } from '../errors/base.js'
|
|
19
|
+
export { type BaseErrorType, BaseError } from '../errors/base.js'
|
|
29
20
|
|
|
30
|
-
export {
|
|
21
|
+
export {
|
|
22
|
+
type WagmiProviderNotFoundErrorType,
|
|
23
|
+
WagmiProviderNotFoundError,
|
|
24
|
+
} from '../errors/context.js'
|
|
31
25
|
|
|
32
26
|
////////////////////////////////////////////////////////////////////////////////
|
|
33
27
|
// Hooks
|
|
28
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
34
29
|
|
|
35
30
|
export {
|
|
36
31
|
type UseAccountParameters,
|
|
@@ -49,12 +44,24 @@ export {
|
|
|
49
44
|
useBalance,
|
|
50
45
|
} from '../hooks/useBalance.js'
|
|
51
46
|
|
|
47
|
+
export {
|
|
48
|
+
type UseBlockParameters,
|
|
49
|
+
type UseBlockReturnType,
|
|
50
|
+
useBlock,
|
|
51
|
+
} from '../hooks/useBlock.js'
|
|
52
|
+
|
|
52
53
|
export {
|
|
53
54
|
type UseBlockNumberParameters,
|
|
54
55
|
type UseBlockNumberReturnType,
|
|
55
56
|
useBlockNumber,
|
|
56
57
|
} from '../hooks/useBlockNumber.js'
|
|
57
58
|
|
|
59
|
+
export {
|
|
60
|
+
type UseBlockTransactionCountParameters,
|
|
61
|
+
type UseBlockTransactionCountReturnType,
|
|
62
|
+
useBlockTransactionCount,
|
|
63
|
+
} from '../hooks/useBlockTransactionCount.js'
|
|
64
|
+
|
|
58
65
|
export {
|
|
59
66
|
type UseChainIdParameters,
|
|
60
67
|
type UseChainIdReturnType,
|
|
@@ -85,30 +92,18 @@ export {
|
|
|
85
92
|
useConnections,
|
|
86
93
|
} from '../hooks/useConnections.js'
|
|
87
94
|
|
|
95
|
+
export {
|
|
96
|
+
type UseConnectorsParameters,
|
|
97
|
+
type UseConnectorsReturnType,
|
|
98
|
+
useConnectors,
|
|
99
|
+
} from '../hooks/useConnectors.js'
|
|
100
|
+
|
|
88
101
|
export {
|
|
89
102
|
type UseConnectorClientParameters,
|
|
90
103
|
type UseConnectorClientReturnType,
|
|
91
104
|
useConnectorClient,
|
|
92
105
|
} from '../hooks/useConnectorClient.js'
|
|
93
106
|
|
|
94
|
-
export {
|
|
95
|
-
type UseContractReadParameters,
|
|
96
|
-
type UseContractReadReturnType,
|
|
97
|
-
useContractRead,
|
|
98
|
-
} from '../hooks/useContractRead.js'
|
|
99
|
-
|
|
100
|
-
export {
|
|
101
|
-
type UseContractReadsParameters,
|
|
102
|
-
type UseContractReadsReturnType,
|
|
103
|
-
useContractReads,
|
|
104
|
-
} from '../hooks/useContractReads.js'
|
|
105
|
-
|
|
106
|
-
export {
|
|
107
|
-
type UseContractWriteParameters,
|
|
108
|
-
type UseContractWriteReturnType,
|
|
109
|
-
useContractWrite,
|
|
110
|
-
} from '../hooks/useContractWrite.js'
|
|
111
|
-
|
|
112
107
|
export {
|
|
113
108
|
type UseDisconnectParameters,
|
|
114
109
|
type UseDisconnectReturnType,
|
|
@@ -143,6 +138,8 @@ export {
|
|
|
143
138
|
type UseEstimateFeesPerGasParameters,
|
|
144
139
|
type UseEstimateFeesPerGasReturnType,
|
|
145
140
|
useEstimateFeesPerGas,
|
|
141
|
+
/** @deprecated Use `useEstimateFeesPerGas` instead */
|
|
142
|
+
useEstimateFeesPerGas as useFeeData,
|
|
146
143
|
} from '../hooks/useEstimateFeesPerGas.js'
|
|
147
144
|
|
|
148
145
|
export {
|
|
@@ -152,10 +149,30 @@ export {
|
|
|
152
149
|
} from '../hooks/useEstimateGas.js'
|
|
153
150
|
|
|
154
151
|
export {
|
|
155
|
-
type
|
|
156
|
-
type
|
|
157
|
-
|
|
158
|
-
} from '../hooks/
|
|
152
|
+
type UseEstimateMaxPriorityFeePerGasParameters,
|
|
153
|
+
type UseEstimateMaxPriorityFeePerGasReturnType,
|
|
154
|
+
useEstimateMaxPriorityFeePerGas,
|
|
155
|
+
} from '../hooks/useEstimateMaxPriorityFeePerGas.js'
|
|
156
|
+
|
|
157
|
+
export {
|
|
158
|
+
type UseFeeHistoryParameters,
|
|
159
|
+
type UseFeeHistoryReturnType,
|
|
160
|
+
useFeeHistory,
|
|
161
|
+
} from '../hooks/useFeeHistory.js'
|
|
162
|
+
|
|
163
|
+
export {
|
|
164
|
+
type UseGasPriceParameters,
|
|
165
|
+
type UseGasPriceReturnType,
|
|
166
|
+
useGasPrice,
|
|
167
|
+
} from '../hooks/useGasPrice.js'
|
|
168
|
+
|
|
169
|
+
export {
|
|
170
|
+
type UseInfiniteContractReadsParameters,
|
|
171
|
+
type UseInfiniteContractReadsReturnType,
|
|
172
|
+
useInfiniteReadContracts,
|
|
173
|
+
/** @deprecated Use `useInfiniteReadContracts` instead */
|
|
174
|
+
useInfiniteReadContracts as useContractInfiniteReads,
|
|
175
|
+
} from '../hooks/useInfiniteReadContracts.js'
|
|
159
176
|
|
|
160
177
|
export {
|
|
161
178
|
type UsePublicClientParameters,
|
|
@@ -163,6 +180,22 @@ export {
|
|
|
163
180
|
usePublicClient,
|
|
164
181
|
} from '../hooks/usePublicClient.js'
|
|
165
182
|
|
|
183
|
+
export {
|
|
184
|
+
type UseReadContractParameters,
|
|
185
|
+
type UseReadContractReturnType,
|
|
186
|
+
useReadContract,
|
|
187
|
+
/** @deprecated Use `useWriteContract` instead */
|
|
188
|
+
useReadContract as useContractRead,
|
|
189
|
+
} from '../hooks/useReadContract.js'
|
|
190
|
+
|
|
191
|
+
export {
|
|
192
|
+
type UseReadContractsParameters,
|
|
193
|
+
type UseReadContractsReturnType,
|
|
194
|
+
useReadContracts,
|
|
195
|
+
/** @deprecated Use `useWriteContract` instead */
|
|
196
|
+
useReadContracts as useContractReads,
|
|
197
|
+
} from '../hooks/useReadContracts.js'
|
|
198
|
+
|
|
166
199
|
export {
|
|
167
200
|
type UseReconnectParameters,
|
|
168
201
|
type UseReconnectReturnType,
|
|
@@ -187,6 +220,12 @@ export {
|
|
|
187
220
|
useSignTypedData,
|
|
188
221
|
} from '../hooks/useSignTypedData.js'
|
|
189
222
|
|
|
223
|
+
export {
|
|
224
|
+
type UseSimulateContractParameters,
|
|
225
|
+
type UseSimulateContractReturnType,
|
|
226
|
+
useSimulateContract,
|
|
227
|
+
} from '../hooks/useSimulateContract.js'
|
|
228
|
+
|
|
190
229
|
export {
|
|
191
230
|
type UseSwitchAccountParameters,
|
|
192
231
|
type UseSwitchAccountReturnType,
|
|
@@ -202,6 +241,7 @@ export {
|
|
|
202
241
|
export {
|
|
203
242
|
type UseTokenParameters,
|
|
204
243
|
type UseTokenReturnType,
|
|
244
|
+
/** @deprecated Use `useReadContracts` instead */
|
|
205
245
|
useToken,
|
|
206
246
|
} from '../hooks/useToken.js'
|
|
207
247
|
|
|
@@ -211,6 +251,24 @@ export {
|
|
|
211
251
|
useTransaction,
|
|
212
252
|
} from '../hooks/useTransaction.js'
|
|
213
253
|
|
|
254
|
+
export {
|
|
255
|
+
type UseTransactionCountParameters,
|
|
256
|
+
type UseTransactionCountReturnType,
|
|
257
|
+
useTransactionCount,
|
|
258
|
+
} from '../hooks/useTransactionCount.js'
|
|
259
|
+
|
|
260
|
+
export {
|
|
261
|
+
type UseVerifyMessageParameters,
|
|
262
|
+
type UseVerifyMessageReturnType,
|
|
263
|
+
useVerifyMessage,
|
|
264
|
+
} from '../hooks/useVerifyMessage.js'
|
|
265
|
+
|
|
266
|
+
export {
|
|
267
|
+
type UseVerifyTypedDataParameters,
|
|
268
|
+
type UseVerifyTypedDataReturnType,
|
|
269
|
+
useVerifyTypedData,
|
|
270
|
+
} from '../hooks/useVerifyTypedData.js'
|
|
271
|
+
|
|
214
272
|
export {
|
|
215
273
|
type UseWalletClientParameters,
|
|
216
274
|
type UseWalletClientReturnType,
|
|
@@ -223,6 +281,12 @@ export {
|
|
|
223
281
|
useWaitForTransactionReceipt,
|
|
224
282
|
} from '../hooks/useWaitForTransactionReceipt.js'
|
|
225
283
|
|
|
284
|
+
export {
|
|
285
|
+
type UseWatchBlocksParameters,
|
|
286
|
+
type UseWatchBlocksReturnType,
|
|
287
|
+
useWatchBlocks,
|
|
288
|
+
} from '../hooks/useWatchBlocks.js'
|
|
289
|
+
|
|
226
290
|
export {
|
|
227
291
|
type UseWatchBlockNumberParameters,
|
|
228
292
|
type UseWatchBlockNumberReturnType,
|
|
@@ -241,8 +305,26 @@ export {
|
|
|
241
305
|
useWatchPendingTransactions,
|
|
242
306
|
} from '../hooks/useWatchPendingTransactions.js'
|
|
243
307
|
|
|
308
|
+
export {
|
|
309
|
+
type UseWriteContractParameters,
|
|
310
|
+
type UseWriteContractReturnType,
|
|
311
|
+
useWriteContract,
|
|
312
|
+
/** @deprecated Use `useWriteContract` instead */
|
|
313
|
+
useWriteContract as useContractWrite,
|
|
314
|
+
} from '../hooks/useWriteContract.js'
|
|
315
|
+
|
|
316
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
317
|
+
// Hydrate
|
|
318
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
319
|
+
|
|
320
|
+
export {
|
|
321
|
+
type HydrateProps,
|
|
322
|
+
Hydrate,
|
|
323
|
+
} from '../hydrate.js'
|
|
324
|
+
|
|
244
325
|
////////////////////////////////////////////////////////////////////////////////
|
|
245
326
|
// @wagmi/core
|
|
327
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
246
328
|
|
|
247
329
|
export {
|
|
248
330
|
// Config
|
|
@@ -257,28 +339,44 @@ export {
|
|
|
257
339
|
type CreateConnectorFn,
|
|
258
340
|
createConnector,
|
|
259
341
|
// Errors
|
|
260
|
-
|
|
342
|
+
type ChainNotConfiguredErrorType,
|
|
261
343
|
ChainNotConfiguredError,
|
|
344
|
+
type ConnectorAlreadyConnectedErrorType,
|
|
262
345
|
ConnectorAlreadyConnectedError,
|
|
346
|
+
type ConnectorNotFoundErrorType,
|
|
263
347
|
ConnectorNotFoundError,
|
|
264
|
-
|
|
348
|
+
type ConnectorAccountNotFoundErrorType,
|
|
349
|
+
ConnectorAccountNotFoundError,
|
|
350
|
+
type ProviderNotFoundErrorType,
|
|
265
351
|
ProviderNotFoundError,
|
|
352
|
+
type SwitchChainNotSupportedErrorType,
|
|
266
353
|
SwitchChainNotSupportedError,
|
|
267
354
|
// Storage
|
|
268
355
|
type CreateStorageParameters,
|
|
269
356
|
type Storage,
|
|
270
357
|
createStorage,
|
|
271
358
|
noopStorage,
|
|
359
|
+
// Transports
|
|
360
|
+
custom,
|
|
361
|
+
fallback,
|
|
362
|
+
http,
|
|
363
|
+
webSocket,
|
|
364
|
+
unstable_connector,
|
|
272
365
|
// Types
|
|
273
366
|
type Register,
|
|
274
367
|
type ResolvedRegister,
|
|
275
368
|
// Utilities
|
|
369
|
+
cookieStorage,
|
|
370
|
+
cookieToInitialState,
|
|
371
|
+
deepEqual,
|
|
276
372
|
deserialize,
|
|
277
373
|
normalizeChainId,
|
|
374
|
+
parseCookie,
|
|
278
375
|
serialize,
|
|
279
376
|
} from '@wagmi/core'
|
|
280
377
|
|
|
281
378
|
////////////////////////////////////////////////////////////////////////////////
|
|
282
379
|
// Version
|
|
380
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
283
381
|
|
|
284
382
|
export { version } from '../version.js'
|
package/src/exports/query.ts
CHANGED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Config,
|
|
3
|
+
type ReadContractErrorType,
|
|
4
|
+
type ReadContractParameters,
|
|
5
|
+
type ResolvedRegister,
|
|
6
|
+
} from '@wagmi/core'
|
|
7
|
+
import {
|
|
8
|
+
type ScopeKeyParameter,
|
|
9
|
+
type UnionEvaluate,
|
|
10
|
+
type UnionOmit,
|
|
11
|
+
type UnionPartial,
|
|
12
|
+
} from '@wagmi/core/internal'
|
|
13
|
+
import {
|
|
14
|
+
type ReadContractData,
|
|
15
|
+
type ReadContractQueryFnData,
|
|
16
|
+
type ReadContractQueryKey,
|
|
17
|
+
} from '@wagmi/core/query'
|
|
18
|
+
import {
|
|
19
|
+
type Abi,
|
|
20
|
+
type Address,
|
|
21
|
+
type ContractFunctionArgs,
|
|
22
|
+
type ContractFunctionName,
|
|
23
|
+
} from 'viem'
|
|
24
|
+
|
|
25
|
+
import {
|
|
26
|
+
type ConfigParameter,
|
|
27
|
+
type QueryParameter,
|
|
28
|
+
} from '../../types/properties.js'
|
|
29
|
+
import { useAccount } from '../useAccount.js'
|
|
30
|
+
import { useChainId } from '../useChainId.js'
|
|
31
|
+
import {
|
|
32
|
+
type UseReadContractReturnType,
|
|
33
|
+
useReadContract,
|
|
34
|
+
} from '../useReadContract.js'
|
|
35
|
+
|
|
36
|
+
type stateMutability = 'pure' | 'view'
|
|
37
|
+
|
|
38
|
+
export type CreateUseReadContractParameters<
|
|
39
|
+
abi extends Abi | readonly unknown[],
|
|
40
|
+
address extends Address | Record<number, Address> | undefined = undefined,
|
|
41
|
+
functionName extends
|
|
42
|
+
| ContractFunctionName<abi, stateMutability>
|
|
43
|
+
| undefined = undefined,
|
|
44
|
+
> = {
|
|
45
|
+
abi: abi | Abi | readonly unknown[]
|
|
46
|
+
address?: address | Address | Record<number, Address> | undefined
|
|
47
|
+
functionName?:
|
|
48
|
+
| functionName
|
|
49
|
+
| ContractFunctionName<abi, stateMutability>
|
|
50
|
+
| undefined
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export type CreateUseReadContractReturnType<
|
|
54
|
+
abi extends Abi | readonly unknown[],
|
|
55
|
+
address extends Address | Record<number, Address> | undefined,
|
|
56
|
+
functionName extends ContractFunctionName<abi, stateMutability> | undefined,
|
|
57
|
+
///
|
|
58
|
+
omittedProperties extends 'abi' | 'address' | 'chainId' | 'functionName' =
|
|
59
|
+
| 'abi'
|
|
60
|
+
| (address extends undefined ? never : 'address')
|
|
61
|
+
| (address extends Record<number, Address> ? 'chainId' : never)
|
|
62
|
+
| (functionName extends undefined ? never : 'functionName'),
|
|
63
|
+
> = <
|
|
64
|
+
name extends functionName extends ContractFunctionName<abi, stateMutability>
|
|
65
|
+
? functionName
|
|
66
|
+
: ContractFunctionName<abi, stateMutability>,
|
|
67
|
+
args extends ContractFunctionArgs<abi, stateMutability, name>,
|
|
68
|
+
config extends Config = ResolvedRegister['config'],
|
|
69
|
+
selectData = ReadContractData<abi, name, args>,
|
|
70
|
+
>(
|
|
71
|
+
parameters?: UnionEvaluate<
|
|
72
|
+
UnionPartial<
|
|
73
|
+
UnionOmit<
|
|
74
|
+
ReadContractParameters<abi, name, args, config>,
|
|
75
|
+
omittedProperties
|
|
76
|
+
>
|
|
77
|
+
> &
|
|
78
|
+
ScopeKeyParameter &
|
|
79
|
+
ConfigParameter<config> &
|
|
80
|
+
QueryParameter<
|
|
81
|
+
ReadContractQueryFnData<abi, name, args>,
|
|
82
|
+
ReadContractErrorType,
|
|
83
|
+
selectData,
|
|
84
|
+
ReadContractQueryKey<abi, name, args, config>
|
|
85
|
+
>
|
|
86
|
+
> &
|
|
87
|
+
(address extends Record<number, Address>
|
|
88
|
+
? { chainId?: keyof address | undefined }
|
|
89
|
+
: unknown),
|
|
90
|
+
) => UseReadContractReturnType<abi, name, args, selectData>
|
|
91
|
+
|
|
92
|
+
export function createUseReadContract<
|
|
93
|
+
const abi extends Abi | readonly unknown[],
|
|
94
|
+
const address extends
|
|
95
|
+
| Address
|
|
96
|
+
| Record<number, Address>
|
|
97
|
+
| undefined = undefined,
|
|
98
|
+
functionName extends
|
|
99
|
+
| ContractFunctionName<abi, stateMutability>
|
|
100
|
+
| undefined = undefined,
|
|
101
|
+
>(
|
|
102
|
+
config: CreateUseReadContractParameters<abi, address, functionName>,
|
|
103
|
+
): CreateUseReadContractReturnType<abi, address, functionName> {
|
|
104
|
+
if (config.address !== undefined && typeof config.address === 'object')
|
|
105
|
+
return (parameters) => {
|
|
106
|
+
const configChainId = useChainId()
|
|
107
|
+
const account = useAccount()
|
|
108
|
+
const chainId =
|
|
109
|
+
(parameters as { chainId?: number })?.chainId ??
|
|
110
|
+
account.chainId ??
|
|
111
|
+
configChainId
|
|
112
|
+
return useReadContract({
|
|
113
|
+
...(parameters as any),
|
|
114
|
+
...(config.functionName ? { functionName: config.functionName } : {}),
|
|
115
|
+
address: config.address?.[chainId],
|
|
116
|
+
abi: config.abi,
|
|
117
|
+
})
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return (parameters) => {
|
|
121
|
+
return useReadContract({
|
|
122
|
+
...(parameters as any),
|
|
123
|
+
...(config.address ? { address: config.address } : {}),
|
|
124
|
+
...(config.functionName ? { functionName: config.functionName } : {}),
|
|
125
|
+
abi: config.abi,
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
}
|