wagmi 0.10.0 → 0.10.2-cjs

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.
@@ -0,0 +1,11 @@
1
+ // are you seeing an error that a default export doesn't exist but your source file has a default export?
2
+ // you should run `yarn` or `yarn preconstruct dev` if preconstruct dev isn't in your postinstall hook
3
+
4
+ // curious why you need to?
5
+ // this file exists so that you can import from the entrypoint normally
6
+ // except that it points to your source file and you don't need to run build constantly
7
+ // which means we need to re-export all of the modules from your source file
8
+ // and since export * doesn't include default exports, we need to read your source file
9
+ // to check for a default export and re-export it if it exists
10
+ // it's not ideal, but it works pretty well ¯\_(ツ)_/¯
11
+ export * from "../../src/actions";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // this file might look strange and you might be wondering what it's for
3
+ // it's lets you import your source files by importing this entrypoint
4
+ // as you would import it if it was built with preconstruct build
5
+ // this file is slightly different to some others though
6
+ // it has a require hook which compiles your code with Babel
7
+ // this means that you don't have to set up @babel/register or anything like that
8
+ // but you can still require this module and it'll be compiled
9
+
10
+ // this bit of code imports the require hook and registers it
11
+ let unregister = require("../../../../node_modules/.pnpm/@preconstruct+hook@0.4.0/node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../../..", "../..");
12
+
13
+ // this re-exports the source file
14
+ module.exports = require("../../src/actions.ts");
15
+
16
+ unregister();
package/dist/actions.js CHANGED
@@ -1,83 +1,83 @@
1
- // src/actions.ts
2
- import {
3
- connect,
4
- disconnect,
5
- fetchBalance,
6
- fetchBlockNumber,
7
- fetchEnsAddress,
8
- fetchEnsAvatar,
9
- fetchEnsName,
10
- fetchEnsResolver,
11
- fetchFeeData,
12
- fetchSigner,
13
- fetchToken,
14
- fetchTransaction,
15
- getAccount,
16
- getContract,
17
- getNetwork,
18
- getProvider,
19
- getWebSocketProvider,
20
- multicall,
21
- prepareSendTransaction,
22
- prepareWriteContract,
23
- readContract,
24
- readContracts,
25
- sendTransaction,
26
- signMessage,
27
- signTypedData,
28
- switchNetwork,
29
- waitForTransaction,
30
- watchAccount,
31
- watchBlockNumber,
32
- watchContractEvent,
33
- watchMulticall,
34
- watchNetwork,
35
- watchPendingTransactions,
36
- watchProvider,
37
- watchReadContract,
38
- watchReadContracts,
39
- watchSigner,
40
- watchWebSocketProvider,
41
- writeContract
42
- } from "@wagmi/core";
43
- export {
44
- connect,
45
- disconnect,
46
- fetchBalance,
47
- fetchBlockNumber,
48
- fetchEnsAddress,
49
- fetchEnsAvatar,
50
- fetchEnsName,
51
- fetchEnsResolver,
52
- fetchFeeData,
53
- fetchSigner,
54
- fetchToken,
55
- fetchTransaction,
56
- getAccount,
57
- getContract,
58
- getNetwork,
59
- getProvider,
60
- getWebSocketProvider,
61
- multicall,
62
- prepareSendTransaction,
63
- prepareWriteContract,
64
- readContract,
65
- readContracts,
66
- sendTransaction,
67
- signMessage,
68
- signTypedData,
69
- switchNetwork,
70
- waitForTransaction,
71
- watchAccount,
72
- watchBlockNumber,
73
- watchContractEvent,
74
- watchMulticall,
75
- watchNetwork,
76
- watchPendingTransactions,
77
- watchProvider,
78
- watchReadContract,
79
- watchReadContracts,
80
- watchSigner,
81
- watchWebSocketProvider,
82
- writeContract
83
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/actions.ts
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+ var _core = require('@wagmi/core');
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+ exports.connect = _core.connect; exports.disconnect = _core.disconnect; exports.fetchBalance = _core.fetchBalance; exports.fetchBlockNumber = _core.fetchBlockNumber; exports.fetchEnsAddress = _core.fetchEnsAddress; exports.fetchEnsAvatar = _core.fetchEnsAvatar; exports.fetchEnsName = _core.fetchEnsName; exports.fetchEnsResolver = _core.fetchEnsResolver; exports.fetchFeeData = _core.fetchFeeData; exports.fetchSigner = _core.fetchSigner; exports.fetchToken = _core.fetchToken; exports.fetchTransaction = _core.fetchTransaction; exports.getAccount = _core.getAccount; exports.getContract = _core.getContract; exports.getNetwork = _core.getNetwork; exports.getProvider = _core.getProvider; exports.getWebSocketProvider = _core.getWebSocketProvider; exports.multicall = _core.multicall; exports.prepareSendTransaction = _core.prepareSendTransaction; exports.prepareWriteContract = _core.prepareWriteContract; exports.readContract = _core.readContract; exports.readContracts = _core.readContracts; exports.sendTransaction = _core.sendTransaction; exports.signMessage = _core.signMessage; exports.signTypedData = _core.signTypedData; exports.switchNetwork = _core.switchNetwork; exports.waitForTransaction = _core.waitForTransaction; exports.watchAccount = _core.watchAccount; exports.watchBlockNumber = _core.watchBlockNumber; exports.watchContractEvent = _core.watchContractEvent; exports.watchMulticall = _core.watchMulticall; exports.watchNetwork = _core.watchNetwork; exports.watchPendingTransactions = _core.watchPendingTransactions; exports.watchProvider = _core.watchProvider; exports.watchReadContract = _core.watchReadContract; exports.watchReadContracts = _core.watchReadContracts; exports.watchSigner = _core.watchSigner; exports.watchWebSocketProvider = _core.watchWebSocketProvider; exports.writeContract = _core.writeContract;
package/dist/chains.js CHANGED
@@ -1,59 +1,59 @@
1
- // src/chains.ts
2
- import {
3
- arbitrum,
4
- arbitrumGoerli,
5
- avalanche,
6
- avalancheFuji,
7
- bsc,
8
- bscTestnet,
9
- evmos,
10
- evmosTestnet,
11
- fantom,
12
- fantomTestnet,
13
- foundry,
14
- goerli,
15
- gnosis,
16
- hardhat,
17
- iotex,
18
- iotexTestnet,
19
- localhost,
20
- mainnet,
21
- optimism,
22
- optimismGoerli,
23
- polygon,
24
- polygonMumbai,
25
- sepolia,
26
- taraxa,
27
- taraxaTestnet,
28
- zkSync,
29
- zkSyncTestnet
30
- } from "@wagmi/core/chains";
31
- export {
32
- arbitrum,
33
- arbitrumGoerli,
34
- avalanche,
35
- avalancheFuji,
36
- bsc,
37
- bscTestnet,
38
- evmos,
39
- evmosTestnet,
40
- fantom,
41
- fantomTestnet,
42
- foundry,
43
- gnosis,
44
- goerli,
45
- hardhat,
46
- iotex,
47
- iotexTestnet,
48
- localhost,
49
- mainnet,
50
- optimism,
51
- optimismGoerli,
52
- polygon,
53
- polygonMumbai,
54
- sepolia,
55
- taraxa,
56
- taraxaTestnet,
57
- zkSync,
58
- zkSyncTestnet
59
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/chains.ts
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+ var _chains = require('@wagmi/core/chains');
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+ exports.arbitrum = _chains.arbitrum; exports.arbitrumGoerli = _chains.arbitrumGoerli; exports.avalanche = _chains.avalanche; exports.avalancheFuji = _chains.avalancheFuji; exports.bsc = _chains.bsc; exports.bscTestnet = _chains.bscTestnet; exports.evmos = _chains.evmos; exports.evmosTestnet = _chains.evmosTestnet; exports.fantom = _chains.fantom; exports.fantomTestnet = _chains.fantomTestnet; exports.foundry = _chains.foundry; exports.gnosis = _chains.gnosis; exports.goerli = _chains.goerli; exports.hardhat = _chains.hardhat; exports.iotex = _chains.iotex; exports.iotexTestnet = _chains.iotexTestnet; exports.localhost = _chains.localhost; exports.mainnet = _chains.mainnet; exports.optimism = _chains.optimism; exports.optimismGoerli = _chains.optimismGoerli; exports.polygon = _chains.polygon; exports.polygonMumbai = _chains.polygonMumbai; exports.sepolia = _chains.sepolia; exports.taraxa = _chains.taraxa; exports.taraxaTestnet = _chains.taraxaTestnet; exports.zkSync = _chains.zkSync; exports.zkSyncTestnet = _chains.zkSyncTestnet;
@@ -1,5 +1,5 @@
1
- // src/connectors/coinbaseWallet.ts
2
- import { CoinbaseWalletConnector } from "@wagmi/core/connectors/coinbaseWallet";
3
- export {
4
- CoinbaseWalletConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/coinbaseWallet.ts
2
+ var _coinbaseWallet = require('@wagmi/core/connectors/coinbaseWallet');
3
+
4
+
5
+ exports.CoinbaseWalletConnector = _coinbaseWallet.CoinbaseWalletConnector;
@@ -1,5 +1,5 @@
1
- // src/connectors/index.ts
2
- import { Connector } from "@wagmi/core/connectors";
3
- export {
4
- Connector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/index.ts
2
+ var _connectors = require('@wagmi/core/connectors');
3
+
4
+
5
+ exports.Connector = _connectors.Connector;
@@ -1,5 +1,5 @@
1
- // src/connectors/injected.ts
2
- import { InjectedConnector } from "@wagmi/core";
3
- export {
4
- InjectedConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/injected.ts
2
+ var _core = require('@wagmi/core');
3
+
4
+
5
+ exports.InjectedConnector = _core.InjectedConnector;
@@ -1,5 +1,5 @@
1
- // src/connectors/ledger.ts
2
- import { LedgerConnector } from "@wagmi/core/connectors/ledger";
3
- export {
4
- LedgerConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/ledger.ts
2
+ var _ledger = require('@wagmi/core/connectors/ledger');
3
+
4
+
5
+ exports.LedgerConnector = _ledger.LedgerConnector;
@@ -1,5 +1,5 @@
1
- // src/connectors/metaMask.ts
2
- import { MetaMaskConnector } from "@wagmi/core/connectors/metaMask";
3
- export {
4
- MetaMaskConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/metaMask.ts
2
+ var _metaMask = require('@wagmi/core/connectors/metaMask');
3
+
4
+
5
+ exports.MetaMaskConnector = _metaMask.MetaMaskConnector;
@@ -1,5 +1,5 @@
1
- // src/connectors/mock.ts
2
- import { MockConnector } from "@wagmi/core/connectors/mock";
3
- export {
4
- MockConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/mock.ts
2
+ var _mock = require('@wagmi/core/connectors/mock');
3
+
4
+
5
+ exports.MockConnector = _mock.MockConnector;
@@ -1,5 +1,5 @@
1
- // src/connectors/walletConnect.ts
2
- import { WalletConnectConnector } from "@wagmi/core/connectors/walletConnect";
3
- export {
4
- WalletConnectConnector
5
- };
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/connectors/walletConnect.ts
2
+ var _walletConnect = require('@wagmi/core/connectors/walletConnect');
3
+
4
+
5
+ exports.WalletConnectConnector = _walletConnect.WalletConnectConnector;
package/dist/index.d.ts CHANGED
@@ -2,13 +2,14 @@ import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { QueryClient, QueryKey, UseInfiniteQueryOptions, QueryFunction, InfiniteQueryObserverResult, UseMutationOptions, UseMutationResult, MutationFunction, MutationKey, UseQueryOptions, QueryObserverResult } from '@tanstack/react-query';
3
3
  import { Persister } from '@tanstack/react-query-persist-client';
4
4
  import * as _wagmi_core from '@wagmi/core';
5
- import { Provider, WebSocketProvider, ClientConfig, Client as Client$1, GetAccountResult, FetchBalanceResult, FetchBalanceArgs, ConnectArgs, ConnectResult, Signer, FetchSignerResult, FetchSignerArgs, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, GetContractResult, GetContractArgs, ReadContractsResult, ReadContractsConfig, ReadContractResult, ReadContractConfig, WriteContractArgs, WriteContractResult, PrepareWriteContractResult, PrepareWriteContractConfig, FetchTokenResult, FetchTokenArgs, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchFeeDataResult, FetchFeeDataArgs, GetProviderArgs, GetWebSocketProviderArgs, PrepareSendTransactionResult, PrepareSendTransactionArgs, SendTransactionResult, SendTransactionArgs, SendTransactionPreparedRequest, SendTransactionUnpreparedRequest, FetchTransactionArgs, FetchTransactionResult, WaitForTransactionArgs, WaitForTransactionResult } from '@wagmi/core';
5
+ import { Provider, WebSocketProvider, ClientConfig, Client as Client$1, GetAccountResult, FetchBalanceResult, FetchBalanceArgs, ConnectArgs, ConnectResult, Signer, FetchSignerResult, FetchSignerArgs, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, GetContractResult, GetContractArgs, WatchContractEventConfig, ReadContractsResult, ReadContractsConfig, ReadContractResult, ReadContractConfig, WriteContractMode, WriteContractPreparedArgs, WriteContractUnpreparedArgs, WriteContractResult, WriteContractArgs, PrepareWriteContractResult, PrepareWriteContractConfig, FetchTokenResult, FetchTokenArgs, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchFeeDataResult, FetchFeeDataArgs, GetProviderArgs, GetWebSocketProviderArgs, PrepareSendTransactionResult, PrepareSendTransactionArgs, SendTransactionResult, SendTransactionArgs, SendTransactionPreparedRequest, SendTransactionUnpreparedRequest, FetchTransactionArgs, FetchTransactionResult, WaitForTransactionArgs, WaitForTransactionResult } from '@wagmi/core';
6
6
  export { AddChainError, Chain, ChainDoesNotSupportMulticallError, ChainMismatchError, ChainNotConfiguredError, ChainProviderFn, Connector, ConnectorAlreadyConnectedError, ConnectorData, ConnectorEvents, ConnectorNotFoundError, ContractMethodDoesNotExistError, ContractMethodNoResultError, ContractMethodRevertedError, ContractResultDecodeError, ProviderChainsNotFound, ProviderRpcError, ResourceUnavailableError, RpcError, Storage, SwitchChainError, SwitchChainNotSupportedError, Unit, UserRejectedRequestError, configureChains, createStorage, deepEqual, deserialize, erc20ABI, erc4626ABI, erc721ABI, goerli, mainnet, readContracts, serialize } from '@wagmi/core';
7
7
  import * as React from 'react';
8
- import { Address, TypedData, TypedDataToPrimitiveTypes, TypedDataDomain, ResolvedConfig, Abi, ExtractAbiEventNames, ExtractAbiEvent, AbiEvent, Narrow, AbiParametersToPrimitiveTypes } from 'abitype';
8
+ import * as abitype from 'abitype';
9
+ import { Address, TypedData, TypedDataToPrimitiveTypes, TypedDataDomain, ResolvedConfig, Abi, AbiEvent, ExtractAbiEvent, AbiParametersToPrimitiveTypes } from 'abitype';
9
10
  export { Address } from 'abitype';
10
11
  import { BigNumber, Transaction } from 'ethers';
11
- import { Optional, IsNever, Or, NotEqual, Event, ContractsConfig } from '@wagmi/core/internal';
12
+ import { Contract, ContractsConfig } from '@wagmi/core/internal';
12
13
  import * as _ethersproject_providers from '@ethersproject/providers';
13
14
 
14
15
  type CreateClientConfig<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider> = ClientConfig<TProvider, TWebSocketProvider> & {
@@ -97,6 +98,13 @@ declare module 'ethers/lib/utils.js' {
97
98
  v?: number;
98
99
  } | ResolvedConfig['BytesType'] | string): string;
99
100
  }
101
+ /**
102
+ * Makes {@link TKeys} optional in {@link TType} while preserving type inference.
103
+ */
104
+ type PartialBy<TType, TKeys extends keyof TType> = Partial<Pick<TType, TKeys>> & Omit<TType, TKeys>;
105
+ type DeepPartial<T, MaxDepth extends number, Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MaxDepth ? T : T extends object ? {
106
+ [P in keyof T]?: DeepPartial<T[P], MaxDepth, [...Depth, 1]>;
107
+ } : T;
100
108
  type QueryConfig<TData, TError, TSelectData = TData> = Pick<UseQueryOptions<TData, TError, TSelectData>, 'cacheTime' | 'enabled' | 'isDataEqual' | 'keepPreviousData' | 'select' | 'staleTime' | 'structuralSharing' | 'suspense' | 'onError' | 'onSettled' | 'onSuccess'> & {
101
109
  /** Scope the cache to a given context. */
102
110
  scopeKey?: string;
@@ -190,8 +198,12 @@ declare function useSignMessage({ message, onError, onMutate, onSettled, onSucce
190
198
  variables: SignMessageArgs | undefined;
191
199
  };
192
200
 
193
- type UseSignTypedDataArgs<TTypedData = unknown> = Optional<SignTypedDataArgs<TTypedData>, 'domain' | 'types' | 'value'>;
194
- type UseSignTypedDataConfig<TTypedData = unknown> = MutationConfig<SignTypedDataResult, Error, SignTypedDataArgs<TTypedData>> & UseSignTypedDataArgs<TTypedData>;
201
+ type UseSignTypedDataArgs<TTypedData extends TypedData | {
202
+ [key: string]: unknown;
203
+ } = TypedData> = PartialBy<SignTypedDataArgs<TTypedData>, 'domain' | 'types' | 'value'>;
204
+ type UseSignTypedDataConfig<TTypedData extends TypedData | {
205
+ [key: string]: unknown;
206
+ } = TypedData> = MutationConfig<SignTypedDataResult, Error, SignTypedDataArgs<TTypedData>> & UseSignTypedDataArgs<TTypedData>;
195
207
  declare function useSignTypedData<TTypedData extends TypedData>({ domain, types, value, onError, onMutate, onSettled, onSuccess, }?: UseSignTypedDataConfig<TTypedData>): {
196
208
  data: string | undefined;
197
209
  error: Error | null;
@@ -203,7 +215,13 @@ declare function useSignTypedData<TTypedData extends TypedData>({ domain, types,
203
215
  signTypedData: <TTypedDataMutate extends TypedData = TTypedData>(args?: UseSignTypedDataArgs<TTypedDataMutate> | undefined) => void;
204
216
  signTypedDataAsync: <TTypedDataMutate_1 extends TypedData = TTypedData>(args?: UseSignTypedDataArgs<TTypedDataMutate_1> | undefined) => Promise<string>;
205
217
  status: "error" | "success" | "loading" | "idle";
206
- variables: SignTypedDataArgs<TTypedData> | undefined;
218
+ variables: SignTypedDataArgs<TTypedData, TTypedData extends TypedData ? abitype.TypedDataToPrimitiveTypes<TTypedData> : {
219
+ [key: string]: any;
220
+ }, (TTypedData extends TypedData ? abitype.TypedDataToPrimitiveTypes<TTypedData> : {
221
+ [key: string]: any;
222
+ })[keyof (TTypedData extends TypedData ? abitype.TypedDataToPrimitiveTypes<TTypedData> : {
223
+ [key: string]: any;
224
+ })]> | undefined;
207
225
  };
208
226
 
209
227
  type UseSwitchNetworkArgs = Partial<SwitchNetworkArgs>;
@@ -232,43 +250,20 @@ type UseContractConfig<TAbi extends Abi | readonly unknown[] = Abi> = Partial<Pi
232
250
  };
233
251
  declare function useContract<TAbi extends Abi | readonly unknown[]>({ address, abi, signerOrProvider, }?: UseContractConfig<TAbi>): GetContractResult<TAbi> | null;
234
252
 
235
- type GetListener<TAbiEvent extends AbiEvent, TAbi = unknown> = AbiParametersToPrimitiveTypes<TAbiEvent['inputs']> extends infer TArgs extends readonly unknown[] ? Or<IsNever<TArgs>, NotEqual<TAbi, Abi>> extends true ? {
253
+ type UseContractEventConfig<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = string> = PartialBy<WatchContractEventConfig<TAbi, TEventName> & GetListener<TAbi, TEventName>, 'abi' | 'address' | 'eventName'>;
254
+ declare function useContractEvent<TAbi extends Abi | readonly unknown[], TEventName extends string>({ address, chainId, abi, listener, eventName, once, }?: UseContractEventConfig<TAbi, TEventName>): void;
255
+ type GetListener<TAbi extends Abi | readonly unknown[], TEventName extends string, TAbiEvent extends AbiEvent = TAbi extends Abi ? ExtractAbiEvent<TAbi, TEventName> : AbiEvent, TArgs = AbiParametersToPrimitiveTypes<TAbiEvent['inputs']>, FailedToParseArgs = ([TArgs] extends [never] ? true : false) | (readonly unknown[] extends TArgs ? true : false)> = true extends FailedToParseArgs ? {
236
256
  /**
237
257
  * Callback when event is emitted
238
258
  *
239
259
  * Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link abi} for type inference.
240
260
  */
241
- listener: (...args: any) => void;
261
+ listener: (...args: unknown[]) => void;
242
262
  } : {
243
- /** Callback when event is emitted */
244
- listener: (...args: [...args: TArgs, event: Event<TAbiEvent>]) => void;
245
- } : never;
246
- type ContractEventConfig<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = string, TEvent extends AbiEvent = TAbi extends Abi ? ExtractAbiEvent<TAbi, TEventName> : never> = {
247
- /** Contract address */
248
- address?: string;
249
- /** Contract ABI */
250
- abi?: Narrow<TAbi>;
251
- /** Chain id to use for provider */
252
- chainId?: number;
253
- /** Event to listen for */
254
- eventName?: IsNever<TEventName> extends true ? string : TEventName;
255
- /** Receive only a single event */
256
- once?: boolean;
257
- } & GetListener<TEvent, TAbi>;
258
- type GetConfig<T> = T extends {
259
- abi: infer TAbi extends Abi;
260
- eventName: infer TEventName extends string;
261
- } ? ContractEventConfig<TAbi, ExtractAbiEventNames<TAbi>, ExtractAbiEvent<TAbi, TEventName>> : T extends {
262
- abi: infer TAbi extends readonly unknown[];
263
- eventName: infer TEventName extends string;
264
- } ? ContractEventConfig<TAbi, TEventName> : ContractEventConfig;
265
- type UseContractEventConfig<TAbi = Abi, TEventName = string> = GetConfig<{
266
- abi: TAbi;
267
- eventName: TEventName;
268
- }>;
269
- declare function useContractEvent<TAbi extends Abi | readonly unknown[], TEventName extends string>({ address, chainId, abi, listener, eventName, once, }?: UseContractEventConfig<TAbi, TEventName>): void;
263
+ /** Callback when event is emitted */ listener: (...args: TArgs extends readonly unknown[] ? TArgs : unknown[]) => void;
264
+ };
270
265
 
271
- type UseContractInfiniteReadsConfig<TContracts extends unknown[] = unknown[], TPageParam = unknown, TSelectData = ReadContractsResult<TContracts>> = Pick<ReadContractsConfig<TContracts>, 'allowFailure' | 'overrides'> & {
266
+ type UseContractInfiniteReadsConfig<TContracts extends Contract[] = Contract[], TPageParam = unknown, TSelectData = ReadContractsResult<TContracts>> = Pick<ReadContractsConfig<TContracts>, 'allowFailure' | 'overrides'> & {
272
267
  cacheKey: string;
273
268
  contracts(pageParam: TPageParam): readonly [
274
269
  ...ContractsConfig<TContracts, {
@@ -293,12 +288,7 @@ declare function paginatedIndexesConfig<TAbi extends Abi | readonly unknown[], T
293
288
  getNextPageParam: InfiniteQueryConfig<unknown[], Error, TSelectData>['getNextPageParam'];
294
289
  };
295
290
 
296
- type UseContractReadConfig<TAbi = Abi, TFunctionName = string, TSelectData = ReadContractResult<TAbi, TFunctionName>> = ReadContractConfig<TAbi, TFunctionName, {
297
- isAbiOptional: true;
298
- isAddressOptional: true;
299
- isArgsOptional: true;
300
- isFunctionNameOptional: true;
301
- }> & QueryConfig<ReadContractResult<TAbi, TFunctionName>, Error, TSelectData> & {
291
+ type UseContractReadConfig<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string, TSelectData = ReadContractResult<TAbi, TFunctionName>> = PartialBy<ReadContractConfig<TAbi, TFunctionName>, 'abi' | 'address' | 'args' | 'functionName'> & QueryConfig<ReadContractResult<TAbi, TFunctionName>, Error, TSelectData> & {
302
292
  /** If set to `true`, the cache will depend on the block number */
303
293
  cacheOnBlock?: boolean;
304
294
  /** Subscribe to changes */
@@ -306,13 +296,9 @@ type UseContractReadConfig<TAbi = Abi, TFunctionName = string, TSelectData = Rea
306
296
  };
307
297
  declare function useContractRead<TAbi extends Abi | readonly unknown[], TFunctionName extends string, TSelectData = ReadContractResult<TAbi, TFunctionName>>({ abi, address, args, cacheOnBlock, cacheTime, chainId: chainId_, enabled: enabled_, functionName, isDataEqual, onError, onSettled, onSuccess, overrides, scopeKey, select, staleTime, structuralSharing, suspense, watch, }?: UseContractReadConfig<TAbi, TFunctionName, TSelectData>): UseQueryResult<TSelectData, Error>;
308
298
 
309
- type UseContractReadsConfig<TContracts extends unknown[], TSelectData = ReadContractsResult<TContracts>> = ReadContractsConfig<TContracts, {
310
- isAbiOptional: true;
311
- isAddressOptional: true;
312
- isArgsOptional: true;
313
- isContractsOptional: true;
314
- isFunctionNameOptional: true;
315
- }> & QueryConfig<ReadContractsResult<TContracts>, Error, TSelectData> & {
299
+ type UseContractReadsConfig<TContracts extends Contract[], TSelectData = ReadContractsResult<TContracts>, Config = ReadContractsConfig<TContracts>> = {
300
+ [K in keyof Config]?: K extends 'contracts' ? DeepPartial<Config[K], 2> : Config[K];
301
+ } & QueryConfig<ReadContractsResult<TContracts>, Error, TSelectData> & {
316
302
  /** If set to `true`, the cache will depend on the block number */
317
303
  cacheOnBlock?: boolean;
318
304
  /** Subscribe to changes */
@@ -323,14 +309,10 @@ declare function useContractReads<TAbi extends Abi | readonly unknown[], TFuncti
323
309
  functionName: TFunctionName;
324
310
  }[], TSelectData = ReadContractsResult<TContracts>>({ allowFailure, cacheOnBlock, cacheTime, contracts, enabled: enabled_, isDataEqual, keepPreviousData, onError, onSettled, onSuccess, overrides, scopeKey, select, staleTime, structuralSharing, suspense, watch, }?: UseContractReadsConfig<TContracts, TSelectData>): UseQueryResult<TSelectData, Error>;
325
311
 
326
- type UseContractWriteArgs<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = WriteContractArgs<TAbi, TFunctionName, {
327
- isAbiOptional: true;
328
- isAddressOptional: true;
329
- isArgsOptional: true;
330
- isFunctionNameOptional: true;
331
- isRequestOptional: true;
332
- }>;
333
- type UseContractWriteConfig<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = MutationConfig<WriteContractResult, Error, UseContractWriteArgs> & UseContractWriteArgs<TAbi, TFunctionName>;
312
+ type UseContractWriteArgs<TMode extends WriteContractMode = WriteContractMode, TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = {
313
+ mode: TMode;
314
+ } & (TMode extends 'prepared' ? PartialBy<WriteContractPreparedArgs<TAbi, TFunctionName>, 'abi' | 'address' | 'functionName' | 'request'> : PartialBy<WriteContractUnpreparedArgs<TAbi, TFunctionName>, 'abi' | 'address' | 'args' | 'functionName'>);
315
+ type UseContractWriteConfig<TMode extends WriteContractMode = WriteContractMode, TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = MutationConfig<WriteContractResult, Error, UseContractWriteArgs<TMode, TAbi, TFunctionName>> & UseContractWriteArgs<TMode, TAbi, TFunctionName>;
334
316
  type UseContractWriteMutationArgs<Mode extends 'prepared' | 'recklesslyUnprepared', TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = Mode extends 'prepared' ? undefined : {
335
317
  /**
336
318
  * Recklessly pass through unprepared config. Note: This has
@@ -359,7 +341,7 @@ type UseContractWriteMutationArgs<Mode extends 'prepared' | 'recklesslyUnprepare
359
341
  * const { data, isLoading, isSuccess, write } = useContractWrite(config)
360
342
  *
361
343
  */
362
- declare function useContractWrite<TAbi extends Abi | readonly unknown[], TFunctionName extends string>({ address, args, chainId, abi, functionName, mode, overrides, request, onError, onMutate, onSettled, onSuccess, }?: UseContractWriteConfig<TAbi, TFunctionName>): {
344
+ declare function useContractWrite<TMode extends WriteContractMode, TAbi extends Abi | readonly unknown[], TFunctionName extends string>({ address, args, chainId, abi, functionName, mode, overrides, request, onError, onMutate, onSettled, onSuccess, }?: UseContractWriteConfig<TMode, TAbi, TFunctionName>): {
363
345
  data: _wagmi_core.SendTransactionResult | undefined;
364
346
  error: Error | null;
365
347
  isError: boolean;
@@ -368,17 +350,12 @@ declare function useContractWrite<TAbi extends Abi | readonly unknown[], TFuncti
368
350
  isSuccess: boolean;
369
351
  reset: () => void;
370
352
  status: "error" | "success" | "loading" | "idle";
371
- variables: UseContractWriteArgs<Abi, string> | undefined;
372
- write: ((overrideConfig?: UseContractWriteMutationArgs<typeof mode, TAbi, TFunctionName>) => void) | undefined;
373
- writeAsync: ((overrideConfig?: UseContractWriteMutationArgs<typeof mode, TAbi, TFunctionName>) => Promise<_wagmi_core.SendTransactionResult>) | undefined;
353
+ variables: UseContractWriteArgs<WriteContractMode, Abi, string> | undefined;
354
+ write: ((overrideConfig?: UseContractWriteMutationArgs<TMode & WriteContractPreparedArgs<TAbi, TFunctionName>["mode"], TAbi, TFunctionName> | UseContractWriteMutationArgs<TMode & WriteContractUnpreparedArgs<TAbi, TFunctionName>["mode"], TAbi, TFunctionName> | undefined) => void) | undefined;
355
+ writeAsync: ((overrideConfig?: UseContractWriteMutationArgs<TMode & WriteContractPreparedArgs<TAbi, TFunctionName>["mode"], TAbi, TFunctionName> | UseContractWriteMutationArgs<TMode & WriteContractUnpreparedArgs<TAbi, TFunctionName>["mode"], TAbi, TFunctionName> | undefined) => Promise<_wagmi_core.SendTransactionResult>) | undefined;
374
356
  };
375
357
 
376
- type UsePrepareContractWriteConfig<TAbi = Abi, TFunctionName extends string = string, TSigner extends Signer = Signer> = PrepareWriteContractConfig<TAbi, TFunctionName, TSigner, {
377
- isAbiOptional: true;
378
- isAddressOptional: true;
379
- isArgsOptional: true;
380
- isFunctionNameOptional: true;
381
- }> & QueryConfig<PrepareWriteContractResult<TAbi, TFunctionName>, Error>;
358
+ type UsePrepareContractWriteConfig<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string, TSigner extends Signer = Signer> = PartialBy<PrepareWriteContractConfig<TAbi, TFunctionName, TSigner>, 'abi' | 'address' | 'args' | 'functionName'> & QueryConfig<PrepareWriteContractResult<TAbi, TFunctionName>, Error>;
382
359
  /**
383
360
  * @description Hook for preparing a contract write to be sent via [`useContractWrite`](/docs/hooks/useContractWrite).
384
361
  *