@wagmi/core 2.3.1 → 2.6.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/dist/esm/actions/call.js +3 -1
- package/dist/esm/actions/call.js.map +1 -1
- package/dist/esm/actions/estimateFeesPerGas.js +6 -1
- package/dist/esm/actions/estimateFeesPerGas.js.map +1 -1
- package/dist/esm/actions/estimateGas.js +3 -4
- package/dist/esm/actions/estimateGas.js.map +1 -1
- package/dist/esm/actions/estimateMaxPriorityFeePerGas.js +3 -1
- package/dist/esm/actions/estimateMaxPriorityFeePerGas.js.map +1 -1
- package/dist/esm/actions/getBalance.js +3 -1
- package/dist/esm/actions/getBalance.js.map +1 -1
- package/dist/esm/actions/getBlock.js +3 -1
- package/dist/esm/actions/getBlock.js.map +1 -1
- package/dist/esm/actions/getBlockNumber.js +3 -1
- package/dist/esm/actions/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/getBlockTransactionCount.js +3 -1
- package/dist/esm/actions/getBlockTransactionCount.js.map +1 -1
- package/dist/esm/actions/getBytecode.js +3 -1
- package/dist/esm/actions/getBytecode.js.map +1 -1
- package/dist/esm/actions/getEnsAddress.js +3 -1
- package/dist/esm/actions/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/getEnsAvatar.js +3 -1
- package/dist/esm/actions/getEnsAvatar.js.map +1 -1
- package/dist/esm/actions/getEnsName.js +3 -1
- package/dist/esm/actions/getEnsName.js.map +1 -1
- package/dist/esm/actions/getEnsResolver.js +3 -1
- package/dist/esm/actions/getEnsResolver.js.map +1 -1
- package/dist/esm/actions/getEnsText.js +3 -1
- package/dist/esm/actions/getEnsText.js.map +1 -1
- package/dist/esm/actions/getFeeHistory.js +3 -1
- package/dist/esm/actions/getFeeHistory.js.map +1 -1
- package/dist/esm/actions/getGasPrice.js +3 -1
- package/dist/esm/actions/getGasPrice.js.map +1 -1
- package/dist/esm/actions/getProof.js +3 -1
- package/dist/esm/actions/getProof.js.map +1 -1
- package/dist/esm/actions/getStorageAt.js +3 -1
- package/dist/esm/actions/getStorageAt.js.map +1 -1
- package/dist/esm/actions/getTransaction.js +3 -1
- package/dist/esm/actions/getTransaction.js.map +1 -1
- package/dist/esm/actions/getTransactionConfirmations.js +14 -0
- package/dist/esm/actions/getTransactionConfirmations.js.map +1 -0
- package/dist/esm/actions/getTransactionCount.js +3 -1
- package/dist/esm/actions/getTransactionCount.js.map +1 -1
- package/dist/esm/actions/getTransactionReceipt.js +3 -1
- package/dist/esm/actions/getTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/multicall.js +3 -1
- package/dist/esm/actions/multicall.js.map +1 -1
- package/dist/esm/actions/prepareTransactionRequest.js +20 -0
- package/dist/esm/actions/prepareTransactionRequest.js.map +1 -0
- package/dist/esm/actions/readContract.js +3 -1
- package/dist/esm/actions/readContract.js.map +1 -1
- package/dist/esm/actions/sendTransaction.js +7 -3
- package/dist/esm/actions/sendTransaction.js.map +1 -1
- package/dist/esm/actions/signMessage.js +3 -1
- package/dist/esm/actions/signMessage.js.map +1 -1
- package/dist/esm/actions/signTypedData.js +3 -1
- package/dist/esm/actions/signTypedData.js.map +1 -1
- package/dist/esm/actions/simulateContract.js +3 -5
- package/dist/esm/actions/simulateContract.js.map +1 -1
- package/dist/esm/actions/verifyMessage.js +3 -1
- package/dist/esm/actions/verifyMessage.js.map +1 -1
- package/dist/esm/actions/verifyTypedData.js +3 -1
- package/dist/esm/actions/verifyTypedData.js.map +1 -1
- package/dist/esm/actions/waitForTransactionReceipt.js +10 -10
- package/dist/esm/actions/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/watchBlockNumber.js +3 -1
- package/dist/esm/actions/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/watchBlocks.js +3 -1
- package/dist/esm/actions/watchBlocks.js.map +1 -1
- package/dist/esm/actions/watchContractEvent.js +3 -1
- package/dist/esm/actions/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/watchPendingTransactions.js +3 -1
- package/dist/esm/actions/watchPendingTransactions.js.map +1 -1
- package/dist/esm/actions/writeContract.js +3 -1
- package/dist/esm/actions/writeContract.js.map +1 -1
- package/dist/esm/exports/actions.js +2 -0
- package/dist/esm/exports/actions.js.map +1 -1
- package/dist/esm/exports/index.js +2 -0
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/query.js +2 -0
- package/dist/esm/exports/query.js.map +1 -1
- package/dist/esm/query/getTransactionConfirmations.js +26 -0
- package/dist/esm/query/getTransactionConfirmations.js.map +1 -0
- package/dist/esm/query/prepareTransactionRequest.js +26 -0
- package/dist/esm/query/prepareTransactionRequest.js.map +1 -0
- package/dist/esm/query/simulateContract.js +1 -0
- package/dist/esm/query/simulateContract.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/utils/getAction.js +18 -0
- package/dist/esm/utils/getAction.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/actions/call.d.ts.map +1 -1
- package/dist/types/actions/estimateFeesPerGas.d.ts.map +1 -1
- package/dist/types/actions/estimateGas.d.ts.map +1 -1
- package/dist/types/actions/estimateMaxPriorityFeePerGas.d.ts.map +1 -1
- package/dist/types/actions/getBalance.d.ts.map +1 -1
- package/dist/types/actions/getBlock.d.ts.map +1 -1
- package/dist/types/actions/getBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/getBlockTransactionCount.d.ts.map +1 -1
- package/dist/types/actions/getBytecode.d.ts.map +1 -1
- package/dist/types/actions/getEnsAddress.d.ts.map +1 -1
- package/dist/types/actions/getEnsAvatar.d.ts.map +1 -1
- package/dist/types/actions/getEnsName.d.ts.map +1 -1
- package/dist/types/actions/getEnsResolver.d.ts.map +1 -1
- package/dist/types/actions/getEnsText.d.ts.map +1 -1
- package/dist/types/actions/getFeeHistory.d.ts.map +1 -1
- package/dist/types/actions/getGasPrice.d.ts.map +1 -1
- package/dist/types/actions/getProof.d.ts.map +1 -1
- package/dist/types/actions/getStorageAt.d.ts.map +1 -1
- package/dist/types/actions/getTransaction.d.ts.map +1 -1
- package/dist/types/actions/getTransactionConfirmations.d.ts +13 -0
- package/dist/types/actions/getTransactionConfirmations.d.ts.map +1 -0
- package/dist/types/actions/getTransactionCount.d.ts.map +1 -1
- package/dist/types/actions/getTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/multicall.d.ts.map +1 -1
- package/dist/types/actions/prepareTransactionRequest.d.ts +19 -0
- package/dist/types/actions/prepareTransactionRequest.d.ts.map +1 -0
- package/dist/types/actions/readContract.d.ts.map +1 -1
- package/dist/types/actions/sendTransaction.d.ts.map +1 -1
- package/dist/types/actions/signMessage.d.ts.map +1 -1
- package/dist/types/actions/signTypedData.d.ts.map +1 -1
- package/dist/types/actions/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/verifyMessage.d.ts.map +1 -1
- package/dist/types/actions/verifyTypedData.d.ts.map +1 -1
- package/dist/types/actions/waitForTransactionReceipt.d.ts +2 -2
- package/dist/types/actions/waitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/watchBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/watchBlocks.d.ts.map +1 -1
- package/dist/types/actions/watchContractEvent.d.ts.map +1 -1
- package/dist/types/actions/watchPendingTransactions.d.ts.map +1 -1
- package/dist/types/actions/writeContract.d.ts.map +1 -1
- package/dist/types/exports/actions.d.ts +2 -0
- package/dist/types/exports/actions.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +2 -0
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/exports/query.d.ts +2 -0
- package/dist/types/exports/query.d.ts.map +1 -1
- package/dist/types/query/getTransactionConfirmations.d.ts +18 -0
- package/dist/types/query/getTransactionConfirmations.d.ts.map +1 -0
- package/dist/types/query/prepareTransactionRequest.d.ts +19 -0
- package/dist/types/query/prepareTransactionRequest.d.ts.map +1 -0
- package/dist/types/query/simulateContract.d.ts +1 -1
- package/dist/types/query/simulateContract.d.ts.map +1 -1
- package/dist/types/utils/getAction.d.ts +12 -0
- package/dist/types/utils/getAction.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/actions/call.ts +3 -1
- package/src/actions/estimateFeesPerGas.ts +10 -2
- package/src/actions/estimateGas.ts +3 -4
- package/src/actions/estimateMaxPriorityFeePerGas.ts +7 -1
- package/src/actions/getBalance.ts +3 -2
- package/src/actions/getBlock.ts +3 -1
- package/src/actions/getBlockNumber.ts +3 -1
- package/src/actions/getBlockTransactionCount.ts +7 -1
- package/src/actions/getBytecode.ts +3 -1
- package/src/actions/getEnsAddress.ts +3 -1
- package/src/actions/getEnsAvatar.ts +3 -1
- package/src/actions/getEnsName.ts +3 -1
- package/src/actions/getEnsResolver.ts +3 -1
- package/src/actions/getEnsText.ts +3 -1
- package/src/actions/getFeeHistory.ts +3 -1
- package/src/actions/getGasPrice.ts +3 -1
- package/src/actions/getProof.ts +3 -1
- package/src/actions/getStorageAt.ts +3 -1
- package/src/actions/getTransaction.ts +3 -1
- package/src/actions/getTransactionConfirmations.ts +52 -0
- package/src/actions/getTransactionCount.ts +5 -2
- package/src/actions/getTransactionReceipt.ts +7 -1
- package/src/actions/multicall.ts +3 -1
- package/src/actions/prepareTransactionRequest.ts +111 -0
- package/src/actions/readContract.ts +3 -1
- package/src/actions/sendTransaction.ts +7 -3
- package/src/actions/signMessage.ts +3 -1
- package/src/actions/signTypedData.ts +3 -4
- package/src/actions/simulateContract.ts +3 -5
- package/src/actions/verifyMessage.ts +3 -1
- package/src/actions/verifyTypedData.ts +3 -1
- package/src/actions/waitForTransactionReceipt.ts +19 -16
- package/src/actions/watchBlockNumber.ts +3 -4
- package/src/actions/watchBlocks.ts +3 -1
- package/src/actions/watchContractEvent.ts +5 -2
- package/src/actions/watchPendingTransactions.ts +5 -2
- package/src/actions/writeContract.ts +3 -1
- package/src/exports/actions.ts +14 -0
- package/src/exports/index.ts +14 -0
- package/src/exports/query.ts +18 -0
- package/src/query/getTransactionConfirmations.ts +78 -0
- package/src/query/prepareTransactionRequest.ts +83 -0
- package/src/query/simulateContract.ts +5 -1
- package/src/utils/getAction.ts +38 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Account,
|
|
3
|
+
type Address,
|
|
4
|
+
type Chain,
|
|
5
|
+
type PrepareTransactionRequestErrorType as viem_PrepareTransactionRequestErrorType,
|
|
6
|
+
type PrepareTransactionRequestParameterType as viem_PrepareTransactionRequestParameterType,
|
|
7
|
+
type PrepareTransactionRequestParameters as viem_PrepareTransactionRequestParameters,
|
|
8
|
+
type PrepareTransactionRequestReturnType as viem_PrepareTransactionRequestReturnType,
|
|
9
|
+
} from 'viem'
|
|
10
|
+
import { prepareTransactionRequest as viem_prepareTransactionRequest } from 'viem/actions'
|
|
11
|
+
|
|
12
|
+
import { type Config } from '../createConfig.js'
|
|
13
|
+
import { type SelectChains } from '../types/chain.js'
|
|
14
|
+
import {
|
|
15
|
+
type ChainIdParameter,
|
|
16
|
+
type ConnectorParameter,
|
|
17
|
+
} from '../types/properties.js'
|
|
18
|
+
import {
|
|
19
|
+
type Evaluate,
|
|
20
|
+
type IsNarrowable,
|
|
21
|
+
type UnionEvaluate,
|
|
22
|
+
type UnionOmit,
|
|
23
|
+
} from '../types/utils.js'
|
|
24
|
+
import { getAction } from '../utils/getAction.js'
|
|
25
|
+
import { getConnectorClient } from './getConnectorClient.js'
|
|
26
|
+
|
|
27
|
+
export type PrepareTransactionRequestParameters<
|
|
28
|
+
parameterType extends viem_PrepareTransactionRequestParameterType = viem_PrepareTransactionRequestParameterType,
|
|
29
|
+
config extends Config = Config,
|
|
30
|
+
chainId extends
|
|
31
|
+
| config['chains'][number]['id']
|
|
32
|
+
| undefined = config['chains'][number]['id'],
|
|
33
|
+
///
|
|
34
|
+
chains extends readonly Chain[] = SelectChains<config, chainId>,
|
|
35
|
+
> = {
|
|
36
|
+
[key in keyof chains]: UnionEvaluate<
|
|
37
|
+
UnionOmit<
|
|
38
|
+
viem_PrepareTransactionRequestParameters<
|
|
39
|
+
chains[key],
|
|
40
|
+
Account,
|
|
41
|
+
chains[key],
|
|
42
|
+
Account | Address,
|
|
43
|
+
parameterType
|
|
44
|
+
>,
|
|
45
|
+
'chain'
|
|
46
|
+
> &
|
|
47
|
+
ChainIdParameter<config, chainId> &
|
|
48
|
+
ConnectorParameter & {
|
|
49
|
+
to: Address
|
|
50
|
+
}
|
|
51
|
+
>
|
|
52
|
+
}[number]
|
|
53
|
+
|
|
54
|
+
export type PrepareTransactionRequestReturnType<
|
|
55
|
+
parameterType extends viem_PrepareTransactionRequestParameterType = viem_PrepareTransactionRequestParameterType,
|
|
56
|
+
config extends Config = Config,
|
|
57
|
+
chainId extends
|
|
58
|
+
| config['chains'][number]['id']
|
|
59
|
+
| undefined = config['chains'][number]['id'],
|
|
60
|
+
///
|
|
61
|
+
chains extends readonly Chain[] = SelectChains<config, chainId>,
|
|
62
|
+
> = {
|
|
63
|
+
[key in keyof chains]: Evaluate<
|
|
64
|
+
viem_PrepareTransactionRequestReturnType<
|
|
65
|
+
IsNarrowable<chains[key], Chain> extends true ? chains[key] : undefined,
|
|
66
|
+
Account,
|
|
67
|
+
chains[key],
|
|
68
|
+
Account,
|
|
69
|
+
parameterType
|
|
70
|
+
>
|
|
71
|
+
> &
|
|
72
|
+
ConnectorParameter & {
|
|
73
|
+
chainId: chains[key]['id']
|
|
74
|
+
}
|
|
75
|
+
}[number]
|
|
76
|
+
|
|
77
|
+
export type PrepareTransactionRequestErrorType =
|
|
78
|
+
viem_PrepareTransactionRequestErrorType
|
|
79
|
+
|
|
80
|
+
/** https://wagmi.sh/core/api/actions/prepareTransactionRequest */
|
|
81
|
+
export async function prepareTransactionRequest<
|
|
82
|
+
config extends Config,
|
|
83
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
84
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
85
|
+
>(
|
|
86
|
+
config: config,
|
|
87
|
+
parameters: PrepareTransactionRequestParameters<
|
|
88
|
+
parameterType,
|
|
89
|
+
config,
|
|
90
|
+
chainId
|
|
91
|
+
>,
|
|
92
|
+
): Promise<
|
|
93
|
+
PrepareTransactionRequestReturnType<parameterType, config, chainId>
|
|
94
|
+
> {
|
|
95
|
+
const { account, chainId, connector, ...rest } = parameters
|
|
96
|
+
const client = await getConnectorClient(config, {
|
|
97
|
+
account,
|
|
98
|
+
chainId,
|
|
99
|
+
connector,
|
|
100
|
+
})
|
|
101
|
+
const action = getAction(
|
|
102
|
+
client,
|
|
103
|
+
viem_prepareTransactionRequest,
|
|
104
|
+
'prepareTransactionRequest',
|
|
105
|
+
)
|
|
106
|
+
return action(
|
|
107
|
+
rest as unknown as viem_PrepareTransactionRequestParameters,
|
|
108
|
+
) as unknown as Promise<
|
|
109
|
+
PrepareTransactionRequestReturnType<parameterType, config, chainId>
|
|
110
|
+
>
|
|
111
|
+
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
|
|
10
10
|
import { type Config } from '../createConfig.js'
|
|
11
11
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
12
|
+
import { getAction } from '../utils/getAction.js'
|
|
12
13
|
|
|
13
14
|
export type ReadContractParameters<
|
|
14
15
|
abi extends Abi | readonly unknown[] = Abi,
|
|
@@ -52,5 +53,6 @@ export function readContract<
|
|
|
52
53
|
): Promise<ReadContractReturnType<abi, functionName, args>> {
|
|
53
54
|
const { chainId, ...rest } = parameters
|
|
54
55
|
const client = config.getClient({ chainId })
|
|
55
|
-
|
|
56
|
+
const action = getAction(client, viem_readContract, 'readContract')
|
|
57
|
+
return action(rest as any)
|
|
56
58
|
}
|
|
@@ -20,6 +20,7 @@ import type {
|
|
|
20
20
|
ConnectorParameter,
|
|
21
21
|
} from '../types/properties.js'
|
|
22
22
|
import { type Evaluate } from '../types/utils.js'
|
|
23
|
+
import { getAction } from '../utils/getAction.js'
|
|
23
24
|
import {
|
|
24
25
|
type GetConnectorClientErrorType,
|
|
25
26
|
getConnectorClient,
|
|
@@ -78,17 +79,20 @@ export async function sendTransaction<
|
|
|
78
79
|
if (gas_ === null) return undefined
|
|
79
80
|
|
|
80
81
|
// Run gas estimation if no value is provided.
|
|
81
|
-
if (gas_ === undefined)
|
|
82
|
-
|
|
82
|
+
if (gas_ === undefined) {
|
|
83
|
+
const action = getAction(client, viem_estimateGas, 'estimateGas')
|
|
84
|
+
return action({
|
|
83
85
|
...(rest as any),
|
|
84
86
|
chain: chainId ? { id: chainId } : null,
|
|
85
87
|
})
|
|
88
|
+
}
|
|
86
89
|
|
|
87
90
|
// Use provided gas value.
|
|
88
91
|
return gas_
|
|
89
92
|
})()
|
|
90
93
|
|
|
91
|
-
const
|
|
94
|
+
const action = getAction(client, viem_sendTransaction, 'sendTransaction')
|
|
95
|
+
const hash = await action({
|
|
92
96
|
...(rest as any),
|
|
93
97
|
gas,
|
|
94
98
|
chain: chainId ? { id: chainId } : null,
|
|
@@ -10,6 +10,7 @@ import { type Config } from '../createConfig.js'
|
|
|
10
10
|
import type { BaseErrorType, ErrorType } from '../errors/base.js'
|
|
11
11
|
import type { ConnectorParameter } from '../types/properties.js'
|
|
12
12
|
import { type Evaluate } from '../types/utils.js'
|
|
13
|
+
import { getAction } from '../utils/getAction.js'
|
|
13
14
|
import {
|
|
14
15
|
type GetConnectorClientErrorType,
|
|
15
16
|
getConnectorClient,
|
|
@@ -37,5 +38,6 @@ export async function signMessage(
|
|
|
37
38
|
): Promise<SignMessageReturnType> {
|
|
38
39
|
const { account, connector, ...rest } = parameters
|
|
39
40
|
const client = await getConnectorClient(config, { account, connector })
|
|
40
|
-
|
|
41
|
+
const action = getAction(client, viem_signMessage, 'signMessage')
|
|
42
|
+
return action(rest as viem_SignMessageParameters<Account>)
|
|
41
43
|
}
|
|
@@ -10,6 +10,7 @@ import { type Config } from '../createConfig.js'
|
|
|
10
10
|
import type { BaseErrorType, ErrorType } from '../errors/base.js'
|
|
11
11
|
import type { ConnectorParameter } from '../types/properties.js'
|
|
12
12
|
import type { UnionEvaluate } from '../types/utils.js'
|
|
13
|
+
import { getAction } from '../utils/getAction.js'
|
|
13
14
|
import {
|
|
14
15
|
type GetConnectorClientErrorType,
|
|
15
16
|
getConnectorClient,
|
|
@@ -46,8 +47,6 @@ export async function signTypedData<
|
|
|
46
47
|
): Promise<SignTypedDataReturnType> {
|
|
47
48
|
const { account, connector, ...rest } = parameters
|
|
48
49
|
const client = await getConnectorClient(config, { account, connector })
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
rest as unknown as viem_SignTypedDataParameters,
|
|
52
|
-
)
|
|
50
|
+
const action = getAction(client, viem_signTypedData, 'signTypedData')
|
|
51
|
+
return action(rest as unknown as viem_SignTypedDataParameters)
|
|
53
52
|
}
|
|
@@ -26,6 +26,7 @@ import type {
|
|
|
26
26
|
UnionEvaluate,
|
|
27
27
|
UnionOmit,
|
|
28
28
|
} from '../types/utils.js'
|
|
29
|
+
import { getAction } from '../utils/getAction.js'
|
|
29
30
|
import {
|
|
30
31
|
type GetConnectorClientErrorType,
|
|
31
32
|
getConnectorClient,
|
|
@@ -148,11 +149,8 @@ export async function simulateContract<
|
|
|
148
149
|
}
|
|
149
150
|
|
|
150
151
|
const client = config.getClient({ chainId })
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
abi,
|
|
154
|
-
account,
|
|
155
|
-
})
|
|
152
|
+
const action = getAction(client, viem_simulateContract, 'simulateContract')
|
|
153
|
+
const { result, request } = await action({ ...rest, abi, account })
|
|
156
154
|
|
|
157
155
|
return {
|
|
158
156
|
chainId: client.chain.id,
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
import { type Config } from '../createConfig.js'
|
|
9
9
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
10
10
|
import { type Evaluate } from '../types/utils.js'
|
|
11
|
+
import { getAction } from '../utils/getAction.js'
|
|
11
12
|
|
|
12
13
|
export type VerifyMessageParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_VerifyMessageParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export async function verifyMessage<config extends Config>(
|
|
|
24
25
|
): Promise<VerifyMessageReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_verifyMessage, 'verifyMessage')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
import { type Config } from '../createConfig.js'
|
|
10
10
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
11
11
|
import { type Evaluate } from '../types/utils.js'
|
|
12
|
+
import { getAction } from '../utils/getAction.js'
|
|
12
13
|
|
|
13
14
|
export type VerifyTypedDataParameters<
|
|
14
15
|
typedData extends TypedData | Record<string, unknown> = TypedData,
|
|
@@ -34,5 +35,6 @@ export async function verifyTypedData<
|
|
|
34
35
|
): Promise<VerifyTypedDataReturnType> {
|
|
35
36
|
const { chainId, ...rest } = parameters
|
|
36
37
|
const client = config.getClient({ chainId })
|
|
37
|
-
|
|
38
|
+
const action = getAction(client, viem_verifyTypedData, 'verifyTypedData')
|
|
39
|
+
return action(rest as viem_VerifyTypedDataParameters)
|
|
38
40
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Chain } from 'viem'
|
|
2
2
|
import { hexToString } from 'viem'
|
|
3
3
|
import {
|
|
4
4
|
type WaitForTransactionReceiptErrorType as viem_WaitForTransactionReceiptErrorType,
|
|
@@ -10,9 +10,10 @@ import {
|
|
|
10
10
|
} from 'viem/actions'
|
|
11
11
|
|
|
12
12
|
import { type Config } from '../createConfig.js'
|
|
13
|
-
import type
|
|
13
|
+
import { type SelectChains } from '../types/chain.js'
|
|
14
14
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
15
15
|
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
16
|
+
import { getAction } from '../utils/getAction.js'
|
|
16
17
|
|
|
17
18
|
export type WaitForTransactionReceiptParameters<
|
|
18
19
|
config extends Config = Config,
|
|
@@ -47,29 +48,31 @@ export async function waitForTransactionReceipt<
|
|
|
47
48
|
const { chainId, timeout = 0, ...rest } = parameters
|
|
48
49
|
|
|
49
50
|
const client = config.getClient({ chainId })
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
const action = getAction(
|
|
52
|
+
client,
|
|
53
|
+
viem_waitForTransactionReceipt,
|
|
54
|
+
'waitForTransactionReceipt',
|
|
55
|
+
)
|
|
56
|
+
const receipt = await action({ ...rest, timeout })
|
|
54
57
|
|
|
55
58
|
if (receipt.status === 'reverted') {
|
|
56
|
-
const
|
|
57
|
-
|
|
59
|
+
const action_getTransaction = getAction(
|
|
60
|
+
client,
|
|
61
|
+
getTransaction,
|
|
62
|
+
'getTransaction',
|
|
63
|
+
)
|
|
64
|
+
const txn = await action_getTransaction({ hash: receipt.transactionHash })
|
|
65
|
+
const action_call = getAction(client, call, 'call')
|
|
66
|
+
const code = (await action_call({
|
|
58
67
|
...txn,
|
|
59
68
|
gasPrice: txn.type !== 'eip1559' ? txn.gasPrice : undefined,
|
|
60
69
|
maxFeePerGas: txn.type === 'eip1559' ? txn.maxFeePerGas : undefined,
|
|
61
70
|
maxPriorityFeePerGas:
|
|
62
71
|
txn.type === 'eip1559' ? txn.maxPriorityFeePerGas : undefined,
|
|
63
|
-
}
|
|
72
|
+
})) as unknown as string
|
|
64
73
|
const reason = hexToString(`0x${code.substring(138)}`)
|
|
65
74
|
throw new Error(reason)
|
|
66
75
|
}
|
|
67
76
|
|
|
68
|
-
return {
|
|
69
|
-
...(receipt as unknown as WaitForTransactionReceiptReturnType<
|
|
70
|
-
config,
|
|
71
|
-
chainId
|
|
72
|
-
>),
|
|
73
|
-
chainId: client.chain.id,
|
|
74
|
-
}
|
|
77
|
+
return { ...receipt, chainId: client.chain.id }
|
|
75
78
|
}
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
SyncConnectedChainParameter,
|
|
13
13
|
} from '../types/properties.js'
|
|
14
14
|
import type { UnionEvaluate } from '../types/utils.js'
|
|
15
|
+
import { getAction } from '../utils/getAction.js'
|
|
15
16
|
|
|
16
17
|
export type WatchBlockNumberParameters<
|
|
17
18
|
config extends Config = Config,
|
|
@@ -51,10 +52,8 @@ export function watchBlockNumber<
|
|
|
51
52
|
if (unwatch) unwatch()
|
|
52
53
|
|
|
53
54
|
const client = config.getClient({ chainId })
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
rest as viem_WatchBlockNumberParameters,
|
|
57
|
-
)
|
|
55
|
+
const action = getAction(client, viem_watchBlockNumber, 'watchBlockNumber')
|
|
56
|
+
unwatch = action(rest as viem_WatchBlockNumberParameters)
|
|
58
57
|
return unwatch
|
|
59
58
|
}
|
|
60
59
|
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
SyncConnectedChainParameter,
|
|
13
13
|
} from '../types/properties.js'
|
|
14
14
|
import type { IsNarrowable, UnionEvaluate } from '../types/utils.js'
|
|
15
|
+
import { getAction } from '../utils/getAction.js'
|
|
15
16
|
|
|
16
17
|
export type WatchBlocksParameters<
|
|
17
18
|
includeTransactions extends boolean = false,
|
|
@@ -63,7 +64,8 @@ export function watchBlocks<
|
|
|
63
64
|
if (unwatch) unwatch()
|
|
64
65
|
|
|
65
66
|
const client = config.getClient({ chainId })
|
|
66
|
-
|
|
67
|
+
const action = getAction(client, viem_watchBlocks, 'watchBlocks')
|
|
68
|
+
unwatch = action(rest as viem_WatchBlocksParameters)
|
|
67
69
|
return unwatch
|
|
68
70
|
}
|
|
69
71
|
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
type SyncConnectedChainParameter,
|
|
19
19
|
} from '../types/properties.js'
|
|
20
20
|
import { type UnionEvaluate } from '../types/utils.js'
|
|
21
|
+
import { getAction } from '../utils/getAction.js'
|
|
21
22
|
|
|
22
23
|
export type WatchContractEventParameters<
|
|
23
24
|
abi extends Abi | readonly unknown[] = Abi,
|
|
@@ -72,10 +73,12 @@ export function watchContractEvent<
|
|
|
72
73
|
if (unwatch) unwatch()
|
|
73
74
|
|
|
74
75
|
const client = config.getClient({ chainId })
|
|
75
|
-
|
|
76
|
+
const action = getAction(
|
|
76
77
|
client,
|
|
77
|
-
|
|
78
|
+
viem_watchContractEvent,
|
|
79
|
+
'watchContractEvent',
|
|
78
80
|
)
|
|
81
|
+
unwatch = action(rest as unknown as viem_WatchContractEventParameters)
|
|
79
82
|
return unwatch
|
|
80
83
|
}
|
|
81
84
|
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
SyncConnectedChainParameter,
|
|
13
13
|
} from '../types/properties.js'
|
|
14
14
|
import type { UnionEvaluate } from '../types/utils.js'
|
|
15
|
+
import { getAction } from '../utils/getAction.js'
|
|
15
16
|
|
|
16
17
|
export type WatchPendingTransactionsParameters<
|
|
17
18
|
config extends Config = Config,
|
|
@@ -52,10 +53,12 @@ export function watchPendingTransactions<
|
|
|
52
53
|
if (unwatch) unwatch()
|
|
53
54
|
|
|
54
55
|
const client = config.getClient({ chainId })
|
|
55
|
-
|
|
56
|
+
const action = getAction(
|
|
56
57
|
client,
|
|
57
|
-
|
|
58
|
+
viem_watchPendingTransactions,
|
|
59
|
+
'watchPendingTransactions',
|
|
58
60
|
)
|
|
61
|
+
unwatch = action(rest as viem_WatchPendingTransactionsParameters)
|
|
59
62
|
return unwatch
|
|
60
63
|
}
|
|
61
64
|
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
type ConnectorParameter,
|
|
21
21
|
} from '../types/properties.js'
|
|
22
22
|
import type { Evaluate, UnionEvaluate, UnionOmit } from '../types/utils.js'
|
|
23
|
+
import { getAction } from '../utils/getAction.js'
|
|
23
24
|
import {
|
|
24
25
|
type GetConnectorClientErrorType,
|
|
25
26
|
getConnectorClient,
|
|
@@ -110,7 +111,8 @@ export async function writeContract<
|
|
|
110
111
|
request = simulateRequest
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
const
|
|
114
|
+
const action = getAction(client, viem_writeContract, 'writeContract')
|
|
115
|
+
const hash = await action({
|
|
114
116
|
...(request as any),
|
|
115
117
|
chain: chainId ? { id: chainId } : null,
|
|
116
118
|
})
|
package/src/exports/actions.ts
CHANGED
|
@@ -211,6 +211,13 @@ export {
|
|
|
211
211
|
getTransaction as fetchTransaction,
|
|
212
212
|
} from '../actions/getTransaction.js'
|
|
213
213
|
|
|
214
|
+
export {
|
|
215
|
+
type GetTransactionConfirmationsErrorType,
|
|
216
|
+
type GetTransactionConfirmationsParameters,
|
|
217
|
+
type GetTransactionConfirmationsReturnType,
|
|
218
|
+
getTransactionConfirmations,
|
|
219
|
+
} from '../actions/getTransactionConfirmations.js'
|
|
220
|
+
|
|
214
221
|
export {
|
|
215
222
|
type GetTransactionCountErrorType,
|
|
216
223
|
type GetTransactionCountParameters,
|
|
@@ -238,6 +245,13 @@ export {
|
|
|
238
245
|
multicall,
|
|
239
246
|
} from '../actions/multicall.js'
|
|
240
247
|
|
|
248
|
+
export {
|
|
249
|
+
type PrepareTransactionRequestParameters,
|
|
250
|
+
type PrepareTransactionRequestReturnType,
|
|
251
|
+
type PrepareTransactionRequestErrorType,
|
|
252
|
+
prepareTransactionRequest,
|
|
253
|
+
} from '../actions/prepareTransactionRequest.js'
|
|
254
|
+
|
|
241
255
|
export {
|
|
242
256
|
type ReadContractParameters,
|
|
243
257
|
type ReadContractReturnType,
|
package/src/exports/index.ts
CHANGED
|
@@ -211,6 +211,13 @@ export {
|
|
|
211
211
|
getTransaction as fetchTransaction,
|
|
212
212
|
} from '../actions/getTransaction.js'
|
|
213
213
|
|
|
214
|
+
export {
|
|
215
|
+
type GetTransactionConfirmationsErrorType,
|
|
216
|
+
type GetTransactionConfirmationsParameters,
|
|
217
|
+
type GetTransactionConfirmationsReturnType,
|
|
218
|
+
getTransactionConfirmations,
|
|
219
|
+
} from '../actions/getTransactionConfirmations.js'
|
|
220
|
+
|
|
214
221
|
export {
|
|
215
222
|
type GetTransactionCountErrorType,
|
|
216
223
|
type GetTransactionCountParameters,
|
|
@@ -238,6 +245,13 @@ export {
|
|
|
238
245
|
multicall,
|
|
239
246
|
} from '../actions/multicall.js'
|
|
240
247
|
|
|
248
|
+
export {
|
|
249
|
+
type PrepareTransactionRequestErrorType,
|
|
250
|
+
type PrepareTransactionRequestParameters,
|
|
251
|
+
type PrepareTransactionRequestReturnType,
|
|
252
|
+
prepareTransactionRequest,
|
|
253
|
+
} from '../actions/prepareTransactionRequest.js'
|
|
254
|
+
|
|
241
255
|
export {
|
|
242
256
|
type ReadContractParameters,
|
|
243
257
|
type ReadContractReturnType,
|
package/src/exports/query.ts
CHANGED
|
@@ -207,6 +207,15 @@ export {
|
|
|
207
207
|
getTransactionQueryOptions,
|
|
208
208
|
} from '../query/getTransaction.js'
|
|
209
209
|
|
|
210
|
+
export {
|
|
211
|
+
type GetTransactionConfirmationsData,
|
|
212
|
+
type GetTransactionConfirmationsOptions,
|
|
213
|
+
type GetTransactionConfirmationsQueryFnData,
|
|
214
|
+
type GetTransactionConfirmationsQueryKey,
|
|
215
|
+
getTransactionConfirmationsQueryKey,
|
|
216
|
+
getTransactionConfirmationsQueryOptions,
|
|
217
|
+
} from '../query/getTransactionConfirmations.js'
|
|
218
|
+
|
|
210
219
|
export {
|
|
211
220
|
type GetTransactionCountData,
|
|
212
221
|
type GetTransactionCountOptions,
|
|
@@ -243,6 +252,15 @@ export {
|
|
|
243
252
|
infiniteReadContractsQueryOptions,
|
|
244
253
|
} from '../query/infiniteReadContracts.js'
|
|
245
254
|
|
|
255
|
+
export {
|
|
256
|
+
type PrepareTransactionRequestData,
|
|
257
|
+
type PrepareTransactionRequestOptions,
|
|
258
|
+
type PrepareTransactionRequestQueryFnData,
|
|
259
|
+
type PrepareTransactionRequestQueryKey,
|
|
260
|
+
prepareTransactionRequestQueryKey,
|
|
261
|
+
prepareTransactionRequestQueryOptions,
|
|
262
|
+
} from '../query/prepareTransactionRequest.js'
|
|
263
|
+
|
|
246
264
|
export {
|
|
247
265
|
type ReadContractData,
|
|
248
266
|
type ReadContractOptions,
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type QueryOptions } from '@tanstack/query-core'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type GetTransactionConfirmationsErrorType,
|
|
5
|
+
type GetTransactionConfirmationsParameters,
|
|
6
|
+
type GetTransactionConfirmationsReturnType,
|
|
7
|
+
getTransactionConfirmations,
|
|
8
|
+
} from '../actions/getTransactionConfirmations.js'
|
|
9
|
+
import { type Config } from '../createConfig.js'
|
|
10
|
+
import { type ScopeKeyParameter } from '../types/properties.js'
|
|
11
|
+
import { type UnionPartial } from '../types/utils.js'
|
|
12
|
+
import { filterQueryOptions } from './utils.js'
|
|
13
|
+
|
|
14
|
+
export type GetTransactionConfirmationsOptions<
|
|
15
|
+
config extends Config,
|
|
16
|
+
chainId extends
|
|
17
|
+
| config['chains'][number]['id']
|
|
18
|
+
| undefined = config['chains'][number]['id'],
|
|
19
|
+
> = UnionPartial<GetTransactionConfirmationsParameters<config, chainId>> &
|
|
20
|
+
ScopeKeyParameter
|
|
21
|
+
|
|
22
|
+
export function getTransactionConfirmationsQueryOptions<
|
|
23
|
+
config extends Config,
|
|
24
|
+
chainId extends
|
|
25
|
+
| config['chains'][number]['id']
|
|
26
|
+
| undefined = config['chains'][number]['id'],
|
|
27
|
+
>(
|
|
28
|
+
config: config,
|
|
29
|
+
options: GetTransactionConfirmationsOptions<config, chainId> = {} as any,
|
|
30
|
+
) {
|
|
31
|
+
return {
|
|
32
|
+
async queryFn({ queryKey }) {
|
|
33
|
+
const {
|
|
34
|
+
hash,
|
|
35
|
+
transactionReceipt,
|
|
36
|
+
scopeKey: _,
|
|
37
|
+
...parameters
|
|
38
|
+
} = queryKey[1]
|
|
39
|
+
if (!hash && !transactionReceipt)
|
|
40
|
+
throw new Error('hash or transactionReceipt is required')
|
|
41
|
+
|
|
42
|
+
const confirmations = await getTransactionConfirmations(config, {
|
|
43
|
+
hash,
|
|
44
|
+
transactionReceipt,
|
|
45
|
+
...(parameters as any),
|
|
46
|
+
})
|
|
47
|
+
return confirmations ?? null
|
|
48
|
+
},
|
|
49
|
+
queryKey: getTransactionConfirmationsQueryKey(options),
|
|
50
|
+
} as const satisfies QueryOptions<
|
|
51
|
+
GetTransactionConfirmationsQueryFnData,
|
|
52
|
+
GetTransactionConfirmationsErrorType,
|
|
53
|
+
GetTransactionConfirmationsData,
|
|
54
|
+
GetTransactionConfirmationsQueryKey<config, chainId>
|
|
55
|
+
>
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export type GetTransactionConfirmationsQueryFnData =
|
|
59
|
+
GetTransactionConfirmationsReturnType
|
|
60
|
+
|
|
61
|
+
export type GetTransactionConfirmationsData =
|
|
62
|
+
GetTransactionConfirmationsQueryFnData
|
|
63
|
+
|
|
64
|
+
export function getTransactionConfirmationsQueryKey<
|
|
65
|
+
config extends Config,
|
|
66
|
+
chainId extends
|
|
67
|
+
| config['chains'][number]['id']
|
|
68
|
+
| undefined = config['chains'][number]['id'],
|
|
69
|
+
>(options: GetTransactionConfirmationsOptions<config, chainId> = {} as any) {
|
|
70
|
+
return ['transactionConfirmations', filterQueryOptions(options)] as const
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type GetTransactionConfirmationsQueryKey<
|
|
74
|
+
config extends Config,
|
|
75
|
+
chainId extends
|
|
76
|
+
| config['chains'][number]['id']
|
|
77
|
+
| undefined = config['chains'][number]['id'],
|
|
78
|
+
> = ReturnType<typeof getTransactionConfirmationsQueryKey<config, chainId>>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type QueryOptions } from '@tanstack/query-core'
|
|
2
|
+
|
|
3
|
+
import { type PrepareTransactionRequestParameterType as viem_PrepareTransactionRequestParameterType } from 'viem'
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
type PrepareTransactionRequestErrorType,
|
|
7
|
+
type PrepareTransactionRequestParameters,
|
|
8
|
+
type PrepareTransactionRequestReturnType,
|
|
9
|
+
prepareTransactionRequest,
|
|
10
|
+
} from '../actions/prepareTransactionRequest.js'
|
|
11
|
+
import { type Config } from '../createConfig.js'
|
|
12
|
+
import { type ScopeKeyParameter } from '../types/properties.js'
|
|
13
|
+
import { type UnionPartial } from '../types/utils.js'
|
|
14
|
+
import { filterQueryOptions } from './utils.js'
|
|
15
|
+
|
|
16
|
+
export type PrepareTransactionRequestOptions<
|
|
17
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
18
|
+
config extends Config,
|
|
19
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
20
|
+
> = UnionPartial<
|
|
21
|
+
PrepareTransactionRequestParameters<parameterType, config, chainId>
|
|
22
|
+
> &
|
|
23
|
+
ScopeKeyParameter
|
|
24
|
+
|
|
25
|
+
export function prepareTransactionRequestQueryOptions<
|
|
26
|
+
config extends Config,
|
|
27
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
28
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
29
|
+
>(
|
|
30
|
+
config: config,
|
|
31
|
+
options: PrepareTransactionRequestOptions<
|
|
32
|
+
parameterType,
|
|
33
|
+
config,
|
|
34
|
+
chainId
|
|
35
|
+
> = {} as any,
|
|
36
|
+
) {
|
|
37
|
+
return {
|
|
38
|
+
queryFn({ queryKey }) {
|
|
39
|
+
const { scopeKey: _, to, ...parameters } = queryKey[1]
|
|
40
|
+
if (!to) throw new Error('to is required')
|
|
41
|
+
return prepareTransactionRequest(config, {
|
|
42
|
+
to,
|
|
43
|
+
...(parameters as any),
|
|
44
|
+
}) as unknown as Promise<
|
|
45
|
+
PrepareTransactionRequestQueryFnData<parameterType, config, chainId>
|
|
46
|
+
>
|
|
47
|
+
},
|
|
48
|
+
queryKey: prepareTransactionRequestQueryKey(options),
|
|
49
|
+
} as const satisfies QueryOptions<
|
|
50
|
+
PrepareTransactionRequestQueryFnData<parameterType, config, chainId>,
|
|
51
|
+
PrepareTransactionRequestErrorType,
|
|
52
|
+
PrepareTransactionRequestData<parameterType, config, chainId>,
|
|
53
|
+
PrepareTransactionRequestQueryKey<parameterType, config, chainId>
|
|
54
|
+
>
|
|
55
|
+
}
|
|
56
|
+
export type PrepareTransactionRequestQueryFnData<
|
|
57
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
58
|
+
config extends Config,
|
|
59
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
60
|
+
> = PrepareTransactionRequestReturnType<parameterType, config, chainId>
|
|
61
|
+
|
|
62
|
+
export type PrepareTransactionRequestData<
|
|
63
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
64
|
+
config extends Config,
|
|
65
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
66
|
+
> = PrepareTransactionRequestQueryFnData<parameterType, config, chainId>
|
|
67
|
+
|
|
68
|
+
export function prepareTransactionRequestQueryKey<
|
|
69
|
+
config extends Config,
|
|
70
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
71
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
72
|
+
>(options: PrepareTransactionRequestOptions<parameterType, config, chainId>) {
|
|
73
|
+
const { connector: _c, ...rest } = options
|
|
74
|
+
return ['prepareTransactionRequest', filterQueryOptions(rest)] as const
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export type PrepareTransactionRequestQueryKey<
|
|
78
|
+
parameterType extends viem_PrepareTransactionRequestParameterType,
|
|
79
|
+
config extends Config,
|
|
80
|
+
chainId extends config['chains'][number]['id'] | undefined,
|
|
81
|
+
> = ReturnType<
|
|
82
|
+
typeof prepareTransactionRequestQueryKey<config, parameterType, chainId>
|
|
83
|
+
>
|