@wagmi/core 0.4.9 → 0.5.0-prepare-hooks.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 +4 -4
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +26 -24
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +26 -24
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +3 -1
- package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.d.ts +1 -0
- package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.dev.js +200 -0
- package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.js +7 -0
- package/connectors/injected/dist/wagmi-core-connectors-injected.cjs.prod.js +200 -0
- package/connectors/injected/dist/wagmi-core-connectors-injected.esm.js +196 -0
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +21 -22
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +21 -22
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +4 -5
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +30 -28
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +30 -28
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +3 -1
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +22 -23
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +22 -23
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +3 -4
- package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.d.ts +11 -0
- package/connectors/walletLink/dist/wagmi-core-connectors-walletLink.cjs.js +16 -0
- package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -3
- package/dist/declarations/src/actions/contracts/index.d.ts +2 -1
- package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +37 -0
- package/dist/declarations/src/actions/contracts/writeContract.d.ts +44 -8
- package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +2 -1
- package/dist/declarations/src/actions/index.d.ts +2 -2
- package/dist/declarations/src/actions/transactions/index.d.ts +2 -1
- package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +36 -0
- package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +43 -8
- package/dist/declarations/src/client.d.ts +2 -2
- package/dist/declarations/src/connectors/base.d.ts +1 -2
- package/dist/declarations/src/connectors/coinbaseWallet.d.ts +1 -1
- package/dist/declarations/src/connectors/injected.d.ts +1 -1
- package/dist/declarations/src/connectors/mock/connector.d.ts +1 -1
- package/dist/declarations/src/connectors/mock/provider.d.ts +3 -3
- package/dist/declarations/src/connectors/walletConnect.d.ts +2 -1
- package/dist/declarations/src/errors.d.ts +10 -3
- package/dist/declarations/src/index.d.ts +4 -4
- package/dist/declarations/src/providers/alchemy.d.ts +1 -2
- package/dist/declarations/src/providers/infura.d.ts +1 -2
- package/dist/declarations/src/providers/jsonRpc.d.ts +1 -2
- package/dist/declarations/src/providers/public.d.ts +2 -4
- package/dist/declarations/src/types/index.d.ts +3 -1
- package/dist/declarations/src/utils/configureChains.d.ts +3 -1
- package/dist/{client-fbdcbdb2.esm.js → getProvider-048a69c4.esm.js} +365 -2
- package/dist/{client-4983a639.cjs.dev.js → getProvider-27edfd38.cjs.prod.js} +432 -44
- package/dist/{client-dfad744f.cjs.prod.js → getProvider-ec251513.cjs.dev.js} +432 -44
- package/dist/wagmi-core.cjs.dev.js +439 -278
- package/dist/wagmi-core.cjs.prod.js +439 -278
- package/dist/wagmi-core.esm.js +353 -196
- package/package.json +2 -2
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +0 -2
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +0 -2
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +0 -2
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +0 -2
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +0 -2
- package/providers/infura/dist/wagmi-core-providers-infura.esm.js +0 -2
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -2
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -2
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -2
- package/dist/base-337e6424.cjs.prod.js +0 -343
- package/dist/base-bd337280.cjs.dev.js +0 -343
- package/dist/base-f1bbf263.esm.js +0 -316
|
@@ -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/connectors/walletLink";
|
|
@@ -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/connectors/walletLink.ts");
|
|
15
|
+
|
|
16
|
+
unregister();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Signer } from '
|
|
2
|
-
export declare type FetchSignerResult = Signer | null;
|
|
3
|
-
export declare function fetchSigner(): Promise<FetchSignerResult
|
|
1
|
+
import { Signer } from '../../types';
|
|
2
|
+
export declare type FetchSignerResult<TSigner extends Signer = Signer> = TSigner | null;
|
|
3
|
+
export declare function fetchSigner<TSigner extends Signer = Signer>(): Promise<FetchSignerResult<TSigner>>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
export { prepareWriteContract, type PrepareWriteContractConfig, type PrepareWriteContractResult, } from './prepareWriteContract';
|
|
1
2
|
export { getContract, type GetContractArgs } from './getContract';
|
|
2
3
|
export { readContract, type ReadContractConfig, type ReadContractResult, } from './readContract';
|
|
3
4
|
export { readContracts, type ReadContractsConfig, type ReadContractsResult, } from './readContracts';
|
|
4
5
|
export { watchContractEvent } from './watchContractEvent';
|
|
5
6
|
export { watchReadContract, type WatchReadContractConfig, type WatchReadContractResult, } from './watchReadContract';
|
|
6
7
|
export { watchReadContracts, type WatchReadContractsConfig, type WatchReadContractsResult, } from './watchReadContracts';
|
|
7
|
-
export { writeContract, type
|
|
8
|
+
export { writeContract, type WriteContractArgs, type WriteContractPreparedArgs, type WriteContractResult, type WriteContractUnpreparedArgs, } from './writeContract';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CallOverrides, Contract, PopulatedTransaction } from 'ethers/lib/ethers';
|
|
2
|
+
import { Address, Signer } from '../../types';
|
|
3
|
+
import { GetContractArgs } from './getContract';
|
|
4
|
+
export declare type PrepareWriteContractConfig<TSigner extends Signer = Signer> = Omit<GetContractArgs, 'signerOrProvider'> & {
|
|
5
|
+
/** Chain ID used to validate if the signer is connected to the target chain */
|
|
6
|
+
chainId?: number;
|
|
7
|
+
/** Method to call on contract */
|
|
8
|
+
functionName: string;
|
|
9
|
+
/** Arguments to pass contract method */
|
|
10
|
+
args?: any | any[];
|
|
11
|
+
overrides?: CallOverrides;
|
|
12
|
+
signer?: TSigner | null;
|
|
13
|
+
};
|
|
14
|
+
export declare type PrepareWriteContractResult<TSigner extends Signer = Signer> = PrepareWriteContractConfig<TSigner> & {
|
|
15
|
+
chainId?: number;
|
|
16
|
+
request: PopulatedTransaction & {
|
|
17
|
+
to: Address;
|
|
18
|
+
gasLimit: NonNullable<PopulatedTransaction['gasLimit']>;
|
|
19
|
+
};
|
|
20
|
+
mode: 'prepared';
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @description Prepares the parameters required for a contract write transaction.
|
|
24
|
+
*
|
|
25
|
+
* Returns config to be passed through to `writeContract`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* import { prepareWriteContract, writeContract } from '@wagmi/core'
|
|
29
|
+
*
|
|
30
|
+
* const config = await prepareWriteContract({
|
|
31
|
+
* addressOrName: '0x...',
|
|
32
|
+
* contractInterface: wagmiAbi,
|
|
33
|
+
* functionName: 'mint',
|
|
34
|
+
* })
|
|
35
|
+
* const result = await writeContract(config)
|
|
36
|
+
*/
|
|
37
|
+
export declare function prepareWriteContract<TContract extends Contract = Contract, TSigner extends Signer = Signer>({ addressOrName, args, chainId, contractInterface, functionName, overrides, signer: signer_, }: PrepareWriteContractConfig): Promise<PrepareWriteContractResult<TSigner>>;
|
|
@@ -1,16 +1,52 @@
|
|
|
1
|
-
import { CallOverrides,
|
|
1
|
+
import { CallOverrides, PopulatedTransaction } from 'ethers';
|
|
2
|
+
import { Address } from '../../types';
|
|
3
|
+
import { SendTransactionResult } from '../transactions';
|
|
2
4
|
import { GetContractArgs } from './getContract';
|
|
3
|
-
export declare type
|
|
5
|
+
export declare type WriteContractPreparedArgs = {
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
7
|
+
* `dangerouslyUnprepared`: Allow to pass through unprepared config. Note: This has
|
|
8
|
+
* [UX pitfalls](https://wagmi.sh/docs/prepare-hooks/intro#ux-pitfalls-without-prepare-hooks),
|
|
9
|
+
* it is highly recommended to not use this and instead prepare the request upfront
|
|
10
|
+
* using the {@link prepareWriteContract} function.
|
|
11
|
+
*
|
|
12
|
+
* `prepared`: The request has been prepared with parameters required for sending a transaction
|
|
13
|
+
* via the {@link prepareWriteContract} function
|
|
14
|
+
* */
|
|
15
|
+
mode: 'prepared';
|
|
16
|
+
/** The prepared request. */
|
|
17
|
+
request: PopulatedTransaction & {
|
|
18
|
+
to: Address;
|
|
19
|
+
gasLimit: NonNullable<PopulatedTransaction['gasLimit']>;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare type WriteContractUnpreparedArgs = {
|
|
23
|
+
mode: 'dangerouslyUnprepared';
|
|
24
|
+
request?: undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare type WriteContractArgs = Omit<GetContractArgs, 'signerOrProvider'> & {
|
|
27
|
+
/** Chain ID used to validate if the signer is connected to the target chain */
|
|
8
28
|
chainId?: number;
|
|
9
29
|
/** Method to call on contract */
|
|
10
30
|
functionName: string;
|
|
11
31
|
/** Arguments to pass contract method */
|
|
12
32
|
args?: any | any[];
|
|
13
33
|
overrides?: CallOverrides;
|
|
14
|
-
};
|
|
15
|
-
export declare type WriteContractResult =
|
|
16
|
-
|
|
34
|
+
} & (WriteContractUnpreparedArgs | WriteContractPreparedArgs);
|
|
35
|
+
export declare type WriteContractResult = SendTransactionResult;
|
|
36
|
+
/**
|
|
37
|
+
* @description Function to call a contract write method.
|
|
38
|
+
*
|
|
39
|
+
* It is recommended to pair this with the {@link prepareWriteContract} function
|
|
40
|
+
* to avoid [UX pitfalls](https://wagmi.sh/docs/prepare-hooks/intro#ux-pitfalls-without-prepare-hooks).
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* import { prepareWriteContract, writeContract } from '@wagmi/core'
|
|
44
|
+
*
|
|
45
|
+
* const config = await prepareWriteContract({
|
|
46
|
+
* addressOrName: '0x...',
|
|
47
|
+
* contractInterface: wagmiAbi,
|
|
48
|
+
* functionName: 'mint',
|
|
49
|
+
* })
|
|
50
|
+
* const result = await writeContract(config)
|
|
51
|
+
*/
|
|
52
|
+
export declare function writeContract({ addressOrName, args, chainId, contractInterface, functionName, mode, overrides, request: request_, }: WriteContractArgs): Promise<WriteContractResult>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { Address } from '../../types';
|
|
1
2
|
export declare type FetchEnsAddressArgs = {
|
|
2
3
|
/** Chain id to use for provider */
|
|
3
4
|
chainId?: number;
|
|
4
5
|
/** ENS name to resolve */
|
|
5
6
|
name: string;
|
|
6
7
|
};
|
|
7
|
-
export declare type FetchEnsAddressResult =
|
|
8
|
+
export declare type FetchEnsAddressResult = Address | null;
|
|
8
9
|
export declare function fetchEnsAddress({ chainId, name, }: FetchEnsAddressArgs): Promise<FetchEnsAddressResult>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { connect, disconnect, fetchBalance, fetchSigner, getAccount, getNetwork, signMessage, signTypedData, switchNetwork, watchAccount, watchNetwork, watchSigner, type ConnectArgs, type ConnectResult, type FetchBalanceArgs, type FetchBalanceResult, type FetchSignerResult, type GetAccountResult, type GetNetworkResult, type SignMessageArgs, type SignMessageResult, type SignTypedDataArgs, type SignTypedDataResult, type SwitchNetworkArgs, type SwitchNetworkResult, type WatchAccountCallback, type WatchNetworkCallback, type WatchSignerCallback, } from './accounts';
|
|
2
|
-
export { getContract, readContract, readContracts, watchContractEvent, watchReadContract, watchReadContracts, writeContract, type GetContractArgs, type ReadContractConfig, type ReadContractResult, type ReadContractsConfig, type ReadContractsResult, type WatchReadContractConfig, type WatchReadContractResult, type WatchReadContractsConfig, type WatchReadContractsResult, type
|
|
2
|
+
export { getContract, prepareWriteContract, readContract, readContracts, watchContractEvent, watchReadContract, watchReadContracts, writeContract, type GetContractArgs, type PrepareWriteContractConfig, type PrepareWriteContractResult, type ReadContractConfig, type ReadContractResult, type ReadContractsConfig, type ReadContractsResult, type WatchReadContractConfig, type WatchReadContractResult, type WatchReadContractsConfig, type WatchReadContractsResult, type WriteContractArgs, type WriteContractPreparedArgs, type WriteContractResult, type WriteContractUnpreparedArgs, } from './contracts';
|
|
3
3
|
export { fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, type FetchEnsAddressArgs, type FetchEnsAddressResult, type FetchEnsAvatarArgs, type FetchEnsAvatarResult, type FetchEnsNameArgs, type FetchEnsNameResult, type FetchEnsResolverArgs, type FetchEnsResolverResult, } from './ens';
|
|
4
4
|
export { fetchBlockNumber, fetchFeeData, watchBlockNumber, type FetchBlockNumberArgs, type FetchBlockNumberResult, type FetchFeeDataArgs, type FetchFeeDataResult, type WatchBlockNumberArgs, type WatchBlockNumberCallback, } from './network-status';
|
|
5
5
|
export { getProvider, getWebSocketProvider, watchProvider, watchWebSocketProvider, type GetProviderArgs, type GetProviderResult, type GetWebSocketProviderArgs, type GetWebSocketProviderResult, type WatchProviderCallback, type WatchWebSocketProviderCallback, } from './providers';
|
|
6
6
|
export { fetchToken, type FetchTokenArgs, type FetchTokenResult, } from './tokens';
|
|
7
|
-
export { sendTransaction, waitForTransaction, type SendTransactionArgs, type SendTransactionResult, type WaitForTransactionArgs, type WaitForTransactionResult, } from './transactions';
|
|
7
|
+
export { prepareSendTransaction, sendTransaction, waitForTransaction, type PrepareSendTransactionArgs, type PrepareSendTransactionResult, type SendTransactionArgs, type SendTransactionPreparedRequest, type SendTransactionResult, type SendTransactionUnpreparedRequest, type WaitForTransactionArgs, type WaitForTransactionResult, } from './transactions';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { prepareSendTransaction, type PrepareSendTransactionArgs, type PrepareSendTransactionResult, } from './prepareSendTransaction';
|
|
2
|
+
export { sendTransaction, type SendTransactionArgs, type SendTransactionPreparedRequest, type SendTransactionResult, type SendTransactionUnpreparedRequest, } from './sendTransaction';
|
|
2
3
|
export { waitForTransaction, type WaitForTransactionArgs, type WaitForTransactionResult, } from './waitForTransaction';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { Address } from '../../types';
|
|
3
|
+
export declare type PrepareSendTransactionArgs = {
|
|
4
|
+
/** Chain ID used to validate if the signer is connected to the target chain */
|
|
5
|
+
chainId?: number;
|
|
6
|
+
/** Request data to prepare the transaction */
|
|
7
|
+
request: providers.TransactionRequest & {
|
|
8
|
+
to: NonNullable<providers.TransactionRequest['to']>;
|
|
9
|
+
};
|
|
10
|
+
signerOrProvider?: providers.JsonRpcSigner | providers.Provider;
|
|
11
|
+
};
|
|
12
|
+
export declare type PrepareSendTransactionResult = {
|
|
13
|
+
chainId?: number;
|
|
14
|
+
request: providers.TransactionRequest & {
|
|
15
|
+
to: Address;
|
|
16
|
+
gasLimit: NonNullable<providers.TransactionRequest['gasLimit']>;
|
|
17
|
+
};
|
|
18
|
+
mode: 'prepared';
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @description Prepares the parameters required for sending a transaction.
|
|
22
|
+
*
|
|
23
|
+
* Returns config to be passed through to `sendTransaction`.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* import { prepareSendTransaction, sendTransaction } from '@wagmi/core'
|
|
27
|
+
*
|
|
28
|
+
* const config = await prepareSendTransaction({
|
|
29
|
+
* request: {
|
|
30
|
+
* to: 'moxey.eth',
|
|
31
|
+
* value: parseEther('1'),
|
|
32
|
+
* }
|
|
33
|
+
* })
|
|
34
|
+
* const result = await sendTransaction(config)
|
|
35
|
+
*/
|
|
36
|
+
export declare function prepareSendTransaction({ chainId, request, signerOrProvider, }: PrepareSendTransactionArgs): Promise<PrepareSendTransactionResult>;
|
|
@@ -1,12 +1,47 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
|
-
|
|
2
|
+
import { Address } from '../../types';
|
|
3
|
+
export declare type SendTransactionPreparedRequest = {
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
* `dangerouslyUnprepared`: Allow to pass through an unprepared `request`. Note: This has
|
|
6
|
+
* [UX pitfalls](/docs/prepare-hooks/intro#ux-pitfalls-without-prepare-hooks), it is highly recommended
|
|
7
|
+
* to not use this and instead prepare the request upfront using the `prepareSendTransaction` function.
|
|
8
|
+
*
|
|
9
|
+
* `prepared`: The request has been prepared with parameters required for sending a transaction
|
|
10
|
+
* via the `prepareSendTransaction` function
|
|
11
|
+
* */
|
|
12
|
+
mode: 'prepared';
|
|
13
|
+
/** The prepared request for sending a transaction. */
|
|
14
|
+
request: providers.TransactionRequest & {
|
|
15
|
+
to: Address;
|
|
16
|
+
gasLimit: NonNullable<providers.TransactionRequest['gasLimit']>;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export declare type SendTransactionUnpreparedRequest = {
|
|
20
|
+
mode: 'dangerouslyUnprepared';
|
|
21
|
+
/** The unprepared request for sending a transaction. */
|
|
9
22
|
request: providers.TransactionRequest;
|
|
10
23
|
};
|
|
11
|
-
export declare type
|
|
12
|
-
|
|
24
|
+
export declare type SendTransactionArgs = {
|
|
25
|
+
/** Chain ID used to validate if the signer is connected to the target chain */
|
|
26
|
+
chainId?: number;
|
|
27
|
+
} & (SendTransactionPreparedRequest | SendTransactionUnpreparedRequest);
|
|
28
|
+
export declare type SendTransactionResult = {
|
|
29
|
+
hash: providers.TransactionResponse['hash'];
|
|
30
|
+
wait: providers.TransactionResponse['wait'];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* @description Function to send a transaction.
|
|
34
|
+
*
|
|
35
|
+
* It is recommended to pair this with the `prepareSendTransaction` function to avoid
|
|
36
|
+
* [UX pitfalls](https://wagmi.sh/docs/prepare-hooks/intro#ux-pitfalls-without-prepare-hooks).
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* import { prepareSendTransaction, sendTransaction } from '@wagmi/core'
|
|
40
|
+
*
|
|
41
|
+
* const config = await prepareSendTransaction({
|
|
42
|
+
* to: 'moxey.eth',
|
|
43
|
+
* value: parseEther('1'),
|
|
44
|
+
* })
|
|
45
|
+
* const result = await sendTransaction(config)
|
|
46
|
+
*/
|
|
47
|
+
export declare function sendTransaction({ chainId, mode, request, }: SendTransactionArgs): Promise<SendTransactionResult>;
|
|
@@ -51,8 +51,8 @@ export declare class Client<TProvider extends Provider = Provider, TWebSocketPro
|
|
|
51
51
|
]>;
|
|
52
52
|
constructor({ autoConnect, connectors, provider, storage, webSocketProvider, }: ClientConfig<TProvider, TWebSocketProvider>);
|
|
53
53
|
get chains(): import("./types").Chain[] | undefined;
|
|
54
|
-
get connectors(): Connector<any, any>[];
|
|
55
|
-
get connector(): Connector<any, any> | undefined;
|
|
54
|
+
get connectors(): Connector<any, any, any>[];
|
|
55
|
+
get connector(): Connector<any, any, any> | undefined;
|
|
56
56
|
get data(): Data<TProvider> | undefined;
|
|
57
57
|
get error(): Error | undefined;
|
|
58
58
|
get lastUsedChainId(): number | undefined;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { default as EventEmitter } from 'eventemitter3';
|
|
2
|
-
import { Signer } from 'ethers/lib/ethers';
|
|
3
2
|
import { Chain } from '../types';
|
|
4
3
|
export declare type ConnectorData<Provider = any> = {
|
|
5
4
|
account?: string;
|
|
@@ -19,7 +18,7 @@ export interface ConnectorEvents<Provider = any> {
|
|
|
19
18
|
disconnect(): void;
|
|
20
19
|
error(error: Error): void;
|
|
21
20
|
}
|
|
22
|
-
export declare abstract class Connector<Provider = any, Options = any> extends EventEmitter<ConnectorEvents<Provider>> {
|
|
21
|
+
export declare abstract class Connector<Provider = any, Options = any, Signer = any> extends EventEmitter<ConnectorEvents<Provider>> {
|
|
23
22
|
/** Unique connector id */
|
|
24
23
|
abstract readonly id: string;
|
|
25
24
|
/** Connector name */
|
|
@@ -15,7 +15,7 @@ declare type Options = CoinbaseWalletSDKOptions & {
|
|
|
15
15
|
*/
|
|
16
16
|
chainId?: number;
|
|
17
17
|
};
|
|
18
|
-
export declare class CoinbaseWalletConnector extends Connector<CoinbaseWalletProvider, Options> {
|
|
18
|
+
export declare class CoinbaseWalletConnector extends Connector<CoinbaseWalletProvider, Options, providers.JsonRpcSigner> {
|
|
19
19
|
#private;
|
|
20
20
|
readonly id = "coinbaseWallet";
|
|
21
21
|
readonly name = "Coinbase Wallet";
|
|
@@ -18,7 +18,7 @@ export declare type InjectedConnectorOptions = {
|
|
|
18
18
|
*/
|
|
19
19
|
shimDisconnect?: boolean;
|
|
20
20
|
};
|
|
21
|
-
export declare class InjectedConnector extends Connector<Window['ethereum'], InjectedConnectorOptions | undefined> {
|
|
21
|
+
export declare class InjectedConnector extends Connector<Window['ethereum'], InjectedConnectorOptions | undefined, providers.JsonRpcSigner> {
|
|
22
22
|
#private;
|
|
23
23
|
readonly id: string;
|
|
24
24
|
readonly name: string;
|
|
@@ -19,7 +19,7 @@ export declare class MockConnector extends Connector<MockProvider, MockProviderO
|
|
|
19
19
|
getProvider({ chainId }?: {
|
|
20
20
|
chainId?: number;
|
|
21
21
|
}): Promise<MockProvider>;
|
|
22
|
-
getSigner(): Promise<import("
|
|
22
|
+
getSigner(): Promise<import("@ethersproject/providers").JsonRpcSigner>;
|
|
23
23
|
isAuthorized(): Promise<boolean>;
|
|
24
24
|
watchAsset(asset: {
|
|
25
25
|
address: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as EventEmitter } from 'eventemitter3';
|
|
2
|
-
import {
|
|
2
|
+
import { providers } from 'ethers';
|
|
3
3
|
export declare type MockProviderOptions = {
|
|
4
4
|
chainId?: number;
|
|
5
5
|
flags?: {
|
|
@@ -8,7 +8,7 @@ export declare type MockProviderOptions = {
|
|
|
8
8
|
failSwitchChain?: boolean;
|
|
9
9
|
noSwitchChain?: boolean;
|
|
10
10
|
};
|
|
11
|
-
signer:
|
|
11
|
+
signer: providers.JsonRpcSigner;
|
|
12
12
|
};
|
|
13
13
|
declare type Events = {
|
|
14
14
|
accountsChanged(accounts: string[]): void;
|
|
@@ -23,7 +23,7 @@ export declare class MockProvider extends providers.BaseProvider {
|
|
|
23
23
|
enable(): Promise<string[]>;
|
|
24
24
|
disconnect(): Promise<void>;
|
|
25
25
|
getAccounts(): Promise<string[]>;
|
|
26
|
-
getSigner():
|
|
26
|
+
getSigner(): providers.JsonRpcSigner;
|
|
27
27
|
switchChain(chainId: number): Promise<void>;
|
|
28
28
|
watchAsset(_asset: {
|
|
29
29
|
address: string;
|
|
@@ -3,7 +3,8 @@ import type WalletConnectProvider from '@walletconnect/ethereum-provider';
|
|
|
3
3
|
import { Chain } from '../types';
|
|
4
4
|
import { Connector } from './base';
|
|
5
5
|
declare type WalletConnectOptions = ConstructorParameters<typeof WalletConnectProvider>[0];
|
|
6
|
-
|
|
6
|
+
declare type WalletConnectSigner = providers.JsonRpcSigner;
|
|
7
|
+
export declare class WalletConnectConnector extends Connector<WalletConnectProvider, WalletConnectOptions, WalletConnectSigner> {
|
|
7
8
|
#private;
|
|
8
9
|
readonly id = "walletConnect";
|
|
9
10
|
readonly name = "WalletConnect";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Connector } from './connectors';
|
|
2
|
-
import { BlockExplorer } from './constants';
|
|
3
2
|
import { Chain } from './types';
|
|
4
3
|
/**
|
|
5
4
|
* Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
|
|
@@ -71,11 +70,19 @@ export declare class ConnectorNotFoundError extends Error {
|
|
|
71
70
|
name: string;
|
|
72
71
|
message: string;
|
|
73
72
|
}
|
|
73
|
+
export declare class ContractMethodDoesNotExistError extends Error {
|
|
74
|
+
name: string;
|
|
75
|
+
constructor({ addressOrName, chainId, functionName, }: {
|
|
76
|
+
addressOrName: string;
|
|
77
|
+
chainId?: number;
|
|
78
|
+
functionName: string;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
74
81
|
export declare class ContractMethodNoResultError extends Error {
|
|
75
82
|
name: string;
|
|
76
|
-
constructor({ addressOrName,
|
|
83
|
+
constructor({ addressOrName, chainId, functionName, }: {
|
|
77
84
|
addressOrName: string;
|
|
78
|
-
|
|
85
|
+
chainId?: number;
|
|
79
86
|
functionName: string;
|
|
80
87
|
});
|
|
81
88
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { connect, disconnect, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract, } from './actions';
|
|
2
|
-
export type { ConnectArgs, ConnectResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, GetAccountResult, GetContractArgs, GetNetworkResult, GetProviderArgs, GetProviderResult, GetWebSocketProviderArgs, GetWebSocketProviderResult, ReadContractConfig, ReadContractResult, ReadContractsConfig, ReadContractsResult, SendTransactionArgs, SendTransactionResult, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchNetworkCallback, WatchReadContractConfig, WatchReadContractResult, WatchProviderCallback, WatchSignerCallback, WatchWebSocketProviderCallback,
|
|
1
|
+
export { connect, disconnect, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, prepareWriteContract, prepareSendTransaction, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract, } from './actions';
|
|
2
|
+
export type { ConnectArgs, ConnectResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, GetAccountResult, GetContractArgs, GetNetworkResult, GetProviderArgs, GetProviderResult, GetWebSocketProviderArgs, GetWebSocketProviderResult, PrepareWriteContractConfig, PrepareWriteContractResult, PrepareSendTransactionArgs, PrepareSendTransactionResult, ReadContractConfig, ReadContractResult, ReadContractsConfig, ReadContractsResult, SendTransactionArgs, SendTransactionPreparedRequest, SendTransactionResult, SendTransactionUnpreparedRequest, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchNetworkCallback, WatchReadContractConfig, WatchReadContractResult, WatchProviderCallback, WatchSignerCallback, WatchWebSocketProviderCallback, WriteContractArgs, WriteContractPreparedArgs, WriteContractResult, WriteContractUnpreparedArgs, } from './actions';
|
|
3
3
|
export { createClient, Client } from './client';
|
|
4
4
|
export type { ClientConfig } from './client';
|
|
5
5
|
export { Connector, InjectedConnector } from './connectors';
|
|
6
6
|
export type { ConnectorData, ConnectorEvents, InjectedConnectorOptions, } from './connectors';
|
|
7
7
|
export { alchemyRpcUrls, allChains, chain, chainId, defaultChains, defaultL2Chains, erc20ABI, erc721ABI, etherscanBlockExplorers, infuraRpcUrls, publicRpcUrls, units, } from './constants';
|
|
8
|
-
export { AddChainError, ChainDoesNotSupportMulticallError, ChainMismatchError, ChainNotConfiguredError, ConnectorAlreadyConnectedError, ConnectorNotFoundError, ContractMethodNoResultError, ProviderChainsNotFound, ProviderRpcError, ResourceUnavailableError, RpcError, SwitchChainError, SwitchChainNotSupportedError, UserRejectedRequestError, } from './errors';
|
|
8
|
+
export { AddChainError, ChainDoesNotSupportMulticallError, ChainMismatchError, ChainNotConfiguredError, ConnectorAlreadyConnectedError, ConnectorNotFoundError, ContractMethodDoesNotExistError, ContractMethodNoResultError, ProviderChainsNotFound, ProviderRpcError, ResourceUnavailableError, RpcError, SwitchChainError, SwitchChainNotSupportedError, UserRejectedRequestError, } from './errors';
|
|
9
9
|
export { createStorage, noopStorage } from './storage';
|
|
10
10
|
export type { ClientStorage as Storage } from './storage';
|
|
11
|
-
export type { Chain, ChainProviderFn, Ethereum, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Unit, WebSocketProvider, } from './types';
|
|
11
|
+
export type { Chain, ChainProviderFn, Ethereum, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Signer, Unit, WebSocketProvider, } from './types';
|
|
12
12
|
export { configureChains, deepEqual, normalizeChainId, parseContractResult, } from './utils';
|
|
13
13
|
export type { ConfigureChainsConfig } from './utils';
|
|
@@ -2,6 +2,5 @@ import { providers } from 'ethers';
|
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type AlchemyProviderConfig = FallbackProviderConfig & {
|
|
4
4
|
alchemyId?: string;
|
|
5
|
-
pollingInterval?: number;
|
|
6
5
|
};
|
|
7
|
-
export declare function alchemyProvider({ alchemyId,
|
|
6
|
+
export declare function alchemyProvider({ alchemyId, priority, stallTimeout, weight, }?: AlchemyProviderConfig): ChainProviderFn<providers.AlchemyProvider, providers.AlchemyWebSocketProvider>;
|
|
@@ -2,6 +2,5 @@ import { providers } from 'ethers';
|
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type InfuraProviderConfig = FallbackProviderConfig & {
|
|
4
4
|
infuraId?: string;
|
|
5
|
-
pollingInterval?: number;
|
|
6
5
|
};
|
|
7
|
-
export declare function infuraProvider({ infuraId,
|
|
6
|
+
export declare function infuraProvider({ infuraId, priority, stallTimeout, weight, }?: InfuraProviderConfig): ChainProviderFn<providers.InfuraProvider, providers.InfuraWebSocketProvider>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Chain, ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type JsonRpcProviderConfig = FallbackProviderConfig & {
|
|
4
|
-
pollingInterval?: number;
|
|
5
4
|
rpc: (chain: Chain) => {
|
|
6
5
|
http: string;
|
|
7
6
|
webSocket?: string;
|
|
8
7
|
} | null;
|
|
9
8
|
static?: boolean;
|
|
10
9
|
};
|
|
11
|
-
export declare function jsonRpcProvider({
|
|
10
|
+
export declare function jsonRpcProvider({ priority, rpc, stallTimeout, static: static_, weight, }: JsonRpcProviderConfig): ChainProviderFn<providers.JsonRpcProvider, providers.WebSocketProvider>;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
|
-
export declare type PublicProviderConfig = FallbackProviderConfig
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export declare function publicProvider({ pollingInterval, priority, stallTimeout, weight, }?: PublicProviderConfig): ChainProviderFn<providers.StaticJsonRpcProvider>;
|
|
3
|
+
export declare type PublicProviderConfig = FallbackProviderConfig;
|
|
4
|
+
export declare function publicProvider({ priority, stallTimeout, weight, }?: PublicProviderConfig): ChainProviderFn<providers.StaticJsonRpcProvider>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { providers } from 'ethers';
|
|
1
|
+
import { Signer as BaseSigner, providers } from 'ethers';
|
|
2
2
|
import { BlockExplorer, BlockExplorerName, RpcProviderName, units } from '../constants';
|
|
3
|
+
export declare type Address = `0x${string}`;
|
|
3
4
|
export declare type Chain = {
|
|
4
5
|
/** ID in number form */
|
|
5
6
|
id: number;
|
|
@@ -48,6 +49,7 @@ export declare type Provider = providers.BaseProvider & {
|
|
|
48
49
|
export declare type WebSocketProvider = providers.WebSocketProvider & {
|
|
49
50
|
chains?: Chain[];
|
|
50
51
|
};
|
|
52
|
+
export declare type Signer = BaseSigner;
|
|
51
53
|
export declare type Unit = typeof units[number];
|
|
52
54
|
declare type AddEthereumChainParameter = {
|
|
53
55
|
/** A 0x-prefixed hexadecimal string */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Chain, ChainProviderFn, Provider, WebSocketProvider } from '../types';
|
|
3
3
|
export declare type ConfigureChainsConfig = {
|
|
4
|
+
pollingInterval?: number;
|
|
4
5
|
stallTimeout?: number;
|
|
5
6
|
} & ({
|
|
6
7
|
targetQuorum?: number;
|
|
@@ -9,7 +10,7 @@ export declare type ConfigureChainsConfig = {
|
|
|
9
10
|
targetQuorum: number;
|
|
10
11
|
minQuorum?: number;
|
|
11
12
|
});
|
|
12
|
-
export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain>(defaultChains: TChain[], providers: ChainProviderFn<TProvider, TWebSocketProvider, TChain>[], { minQuorum, targetQuorum, stallTimeout }?: ConfigureChainsConfig): {
|
|
13
|
+
export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain>(defaultChains: TChain[], providers: ChainProviderFn<TProvider, TWebSocketProvider, TChain>[], { minQuorum, pollingInterval, targetQuorum, stallTimeout, }?: ConfigureChainsConfig): {
|
|
13
14
|
readonly chains: TChain[];
|
|
14
15
|
readonly provider: ({ chainId }: {
|
|
15
16
|
chainId?: number | undefined;
|
|
@@ -17,6 +18,7 @@ export declare function configureChains<TProvider extends Provider = Provider, T
|
|
|
17
18
|
chains: TChain[];
|
|
18
19
|
}) | (providers.FallbackProvider & {
|
|
19
20
|
chains: TChain[];
|
|
21
|
+
pollingInterval: number;
|
|
20
22
|
});
|
|
21
23
|
readonly webSocketProvider: ({ chainId }: {
|
|
22
24
|
chainId?: number | undefined;
|