@wagmi/core 2.5.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/getClient.js +6 -1
- package/dist/esm/actions/getClient.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/getPublicClient.js +3 -2
- package/dist/esm/actions/getPublicClient.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 +3 -1
- package/dist/esm/actions/getTransactionConfirmations.js.map +1 -1
- 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 +3 -1
- package/dist/esm/actions/prepareTransactionRequest.js.map +1 -1
- 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/connectors/injected.js +6 -4
- package/dist/esm/connectors/injected.js.map +1 -1
- package/dist/esm/connectors/mock.js +4 -2
- package/dist/esm/connectors/mock.js.map +1 -1
- package/dist/esm/createConfig.js +9 -15
- package/dist/esm/createConfig.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/getClient.d.ts +6 -6
- package/dist/types/actions/getClient.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/getPublicClient.d.ts +6 -6
- package/dist/types/actions/getPublicClient.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.map +1 -1
- 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.map +1 -1
- 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/connectors/injected.d.ts +1 -1
- package/dist/types/connectors/injected.d.ts.map +1 -1
- package/dist/types/connectors/mock.d.ts.map +1 -1
- package/dist/types/createConfig.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/getClient.ts +33 -11
- 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/getPublicClient.ts +30 -12
- package/src/actions/getStorageAt.ts +3 -1
- package/src/actions/getTransaction.ts +3 -1
- package/src/actions/getTransactionConfirmations.ts +5 -2
- 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 +6 -1
- 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/connectors/injected.ts +9 -4
- package/src/connectors/mock.ts +5 -2
- package/src/createConfig.ts +9 -15
- package/src/utils/getAction.ts +38 -0
- package/src/version.ts +1 -1
package/src/actions/call.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { call as viem_call } from 'viem/actions'
|
|
|
7
7
|
|
|
8
8
|
import { type Config } from '../createConfig.js'
|
|
9
9
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
10
|
+
import { getAction } from '../utils/getAction.js'
|
|
10
11
|
|
|
11
12
|
export type CallParameters<config extends Config = Config> =
|
|
12
13
|
viem_CallParameters & ChainIdParameter<config>
|
|
@@ -21,5 +22,6 @@ export async function call<config extends Config,>(
|
|
|
21
22
|
): Promise<CallReturnType> {
|
|
22
23
|
const { chainId, ...rest } = parameters
|
|
23
24
|
const client = config.getClient({ chainId })
|
|
24
|
-
|
|
25
|
+
const action = getAction(client, viem_call, 'call')
|
|
26
|
+
return action(rest)
|
|
25
27
|
}
|
|
@@ -17,6 +17,7 @@ import { type ChainIdParameter } from '../types/properties.js'
|
|
|
17
17
|
import { type Unit } from '../types/unit.js'
|
|
18
18
|
import { type Evaluate } from '../types/utils.js'
|
|
19
19
|
import type { UnionEvaluate, UnionLooseOmit } from '../types/utils.js'
|
|
20
|
+
import { getAction } from '../utils/getAction.js'
|
|
20
21
|
import { getUnit } from '../utils/getUnit.js'
|
|
21
22
|
|
|
22
23
|
export type EstimateFeesPerGasParameters<
|
|
@@ -57,9 +58,16 @@ export async function estimateFeesPerGas<
|
|
|
57
58
|
const { chainId, formatUnits: units = 'gwei', ...rest } = parameters
|
|
58
59
|
|
|
59
60
|
const client = config.getClient({ chainId })
|
|
61
|
+
const action = getAction(
|
|
62
|
+
client,
|
|
63
|
+
viem_estimateFeesPerGas,
|
|
64
|
+
'estimateFeesPerGas',
|
|
65
|
+
)
|
|
60
66
|
|
|
61
|
-
const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } =
|
|
62
|
-
|
|
67
|
+
const { gasPrice, maxFeePerGas, maxPriorityFeePerGas } = await action({
|
|
68
|
+
...rest,
|
|
69
|
+
chain: client.chain,
|
|
70
|
+
})
|
|
63
71
|
|
|
64
72
|
const unit = getUnit(units)
|
|
65
73
|
const formatted = {
|
|
@@ -14,6 +14,7 @@ import type {
|
|
|
14
14
|
ConnectorParameter,
|
|
15
15
|
} from '../types/properties.js'
|
|
16
16
|
import { type UnionEvaluate, type UnionLooseOmit } from '../types/utils.js'
|
|
17
|
+
import { getAction } from '../utils/getAction.js'
|
|
17
18
|
import {
|
|
18
19
|
type GetConnectorClientErrorType,
|
|
19
20
|
getConnectorClient,
|
|
@@ -67,8 +68,6 @@ export async function estimateGas<
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
const client = config.getClient({ chainId })
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
account,
|
|
73
|
-
})
|
|
71
|
+
const action = getAction(client, viem_estimateGas, 'estimateGas')
|
|
72
|
+
return action({ ...(rest as viem_EstimateGasParameters), account })
|
|
74
73
|
}
|
|
@@ -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, type UnionLooseOmit } from '../types/utils.js'
|
|
12
|
+
import { getAction } from '../utils/getAction.js'
|
|
12
13
|
|
|
13
14
|
export type EstimateMaxPriorityFeePerGasParameters<
|
|
14
15
|
config extends Config = Config,
|
|
@@ -37,5 +38,10 @@ export async function estimateMaxPriorityFeePerGas<
|
|
|
37
38
|
): Promise<EstimateMaxPriorityFeePerGasReturnType> {
|
|
38
39
|
const { chainId } = parameters
|
|
39
40
|
const client = config.getClient({ chainId })
|
|
40
|
-
|
|
41
|
+
const action = getAction(
|
|
42
|
+
client,
|
|
43
|
+
viem_estimateMaxPriorityFeePerGas,
|
|
44
|
+
'estimateMaxPriorityFeePerGas',
|
|
45
|
+
)
|
|
46
|
+
return action({ chain: client.chain })
|
|
41
47
|
}
|
|
@@ -16,6 +16,7 @@ import { type Config } from '../createConfig.js'
|
|
|
16
16
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
17
17
|
import { type Unit } from '../types/unit.js'
|
|
18
18
|
import { type Evaluate } from '../types/utils.js'
|
|
19
|
+
import { getAction } from '../utils/getAction.js'
|
|
19
20
|
import { getUnit } from '../utils/getUnit.js'
|
|
20
21
|
import { readContracts } from './readContracts.js'
|
|
21
22
|
|
|
@@ -82,8 +83,8 @@ export async function getBalance<config extends Config>(
|
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
const client = config.getClient({ chainId })
|
|
85
|
-
const
|
|
86
|
-
|
|
86
|
+
const action = getAction(client, viem_getBalance, 'getBalance')
|
|
87
|
+
const value = await action(
|
|
87
88
|
blockNumber ? { address, blockNumber } : { address, blockTag },
|
|
88
89
|
)
|
|
89
90
|
const chain = config.chains.find((x) => x.id === chainId) ?? client.chain!
|
package/src/actions/getBlock.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { type Config } from '../createConfig.js'
|
|
|
10
10
|
import type { SelectChains } from '../types/chain.js'
|
|
11
11
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
12
12
|
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
13
|
+
import { getAction } from '../utils/getAction.js'
|
|
13
14
|
|
|
14
15
|
export type GetBlockParameters<
|
|
15
16
|
includeTransactions extends boolean = false,
|
|
@@ -58,7 +59,8 @@ export async function getBlock<
|
|
|
58
59
|
): Promise<GetBlockReturnType<includeTransactions, blockTag, config, chainId>> {
|
|
59
60
|
const { chainId, ...rest } = parameters
|
|
60
61
|
const client = config.getClient({ chainId })
|
|
61
|
-
const
|
|
62
|
+
const action = getAction(client, viem_getBlock, 'getBlock')
|
|
63
|
+
const block = await action(rest)
|
|
62
64
|
return {
|
|
63
65
|
...(block as GetBlockReturnType<
|
|
64
66
|
includeTransactions,
|
|
@@ -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 GetBlockNumberParameters<
|
|
13
14
|
config extends Config = Config,
|
|
@@ -28,5 +29,6 @@ export function getBlockNumber<
|
|
|
28
29
|
): Promise<GetBlockNumberReturnType> {
|
|
29
30
|
const { chainId, ...rest } = parameters
|
|
30
31
|
const client = config.getClient({ chainId })
|
|
31
|
-
|
|
32
|
+
const action = getAction(client, viem_getBlockNumber, 'getBlockNumber')
|
|
33
|
+
return action(rest)
|
|
32
34
|
}
|
|
@@ -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 UnionEvaluate } from '../types/utils.js'
|
|
11
|
+
import { getAction } from '../utils/getAction.js'
|
|
11
12
|
|
|
12
13
|
export type GetBlockTransactionCountParameters<
|
|
13
14
|
config extends Config = Config,
|
|
@@ -32,5 +33,10 @@ export function getBlockTransactionCount<
|
|
|
32
33
|
): Promise<GetBlockTransactionCountReturnType> {
|
|
33
34
|
const { chainId, ...rest } = parameters
|
|
34
35
|
const client = config.getClient({ chainId })
|
|
35
|
-
|
|
36
|
+
const action = getAction(
|
|
37
|
+
client,
|
|
38
|
+
viem_getBlockTransactionCount,
|
|
39
|
+
'getBlockTransactionCount',
|
|
40
|
+
)
|
|
41
|
+
return action(rest)
|
|
36
42
|
}
|
|
@@ -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 GetBytecodeParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetBytecodeParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export async function getBytecode<config extends Config>(
|
|
|
24
25
|
): Promise<GetBytecodeReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getBytecode, 'getBytecode')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
package/src/actions/getClient.ts
CHANGED
|
@@ -2,29 +2,51 @@ import { type Client } from 'viem'
|
|
|
2
2
|
|
|
3
3
|
import { type Config } from '../createConfig.js'
|
|
4
4
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
5
|
-
import { type Evaluate } from '../types/utils.js'
|
|
5
|
+
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
6
6
|
|
|
7
7
|
export type GetClientParameters<
|
|
8
8
|
config extends Config = Config,
|
|
9
|
-
chainId extends
|
|
9
|
+
chainId extends
|
|
10
|
+
| config['chains'][number]['id']
|
|
11
|
+
| number
|
|
12
|
+
| undefined = config['chains'][number]['id'],
|
|
10
13
|
> = ChainIdParameter<config, chainId>
|
|
11
14
|
|
|
12
15
|
export type GetClientReturnType<
|
|
13
16
|
config extends Config = Config,
|
|
14
|
-
chainId extends
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
chainId extends
|
|
18
|
+
| config['chains'][number]['id']
|
|
19
|
+
| undefined = config['chains'][number]['id'],
|
|
20
|
+
///
|
|
21
|
+
resolvedChainId extends
|
|
22
|
+
| config['chains'][number]['id']
|
|
23
|
+
| undefined = IsNarrowable<
|
|
24
|
+
config['chains'][number]['id'],
|
|
25
|
+
number
|
|
26
|
+
> extends true
|
|
27
|
+
? IsNarrowable<chainId, number> extends true
|
|
28
|
+
? chainId
|
|
29
|
+
: config['chains'][number]['id']
|
|
30
|
+
: config['chains'][number]['id'] | undefined,
|
|
31
|
+
> = resolvedChainId extends config['chains'][number]['id']
|
|
32
|
+
? Evaluate<
|
|
33
|
+
Client<
|
|
34
|
+
config['_internal']['transports'][resolvedChainId],
|
|
35
|
+
Extract<config['chains'][number], { id: resolvedChainId }>
|
|
36
|
+
>
|
|
37
|
+
>
|
|
38
|
+
: undefined
|
|
21
39
|
|
|
22
40
|
export function getClient<
|
|
23
41
|
config extends Config,
|
|
24
|
-
chainId extends config['chains'][number]['id'],
|
|
42
|
+
chainId extends config['chains'][number]['id'] | number | undefined,
|
|
25
43
|
>(
|
|
26
44
|
config: config,
|
|
27
45
|
parameters: GetClientParameters<config, chainId> = {},
|
|
28
46
|
): GetClientReturnType<config, chainId> {
|
|
29
|
-
|
|
47
|
+
let client = undefined
|
|
48
|
+
try {
|
|
49
|
+
client = config.getClient(parameters)
|
|
50
|
+
} catch {}
|
|
51
|
+
return client as GetClientReturnType<config, chainId>
|
|
30
52
|
}
|
|
@@ -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 GetEnsAddressParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetEnsAddressParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export function getEnsAddress<config extends Config>(
|
|
|
24
25
|
): Promise<GetEnsAddressReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getEnsAddress, 'getEnsAddress')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -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 GetEnsAvatarParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetEnsAvatarParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export function getEnsAvatar<config extends Config>(
|
|
|
24
25
|
): Promise<GetEnsAvatarReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getEnsAvatar, 'getEnsAvatar')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -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 GetEnsNameParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetEnsNameParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export function getEnsName<config extends Config>(
|
|
|
24
25
|
): Promise<GetEnsNameReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getEnsName, 'getEnsName')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -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 GetEnsResolverParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetEnsResolverParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export function getEnsResolver<config extends Config>(
|
|
|
24
25
|
): Promise<GetEnsResolverReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getEnsResolver, 'getEnsResolver')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -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 GetEnsTextParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetEnsTextParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export function getEnsText<config extends Config>(
|
|
|
24
25
|
): Promise<GetEnsTextReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getEnsText, 'getEnsText')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -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 GetFeeHistoryParameters<
|
|
13
14
|
config extends Config = Config,
|
|
@@ -28,5 +29,6 @@ export function getFeeHistory<
|
|
|
28
29
|
): Promise<GetFeeHistoryReturnType> {
|
|
29
30
|
const { chainId, ...rest } = parameters
|
|
30
31
|
const client = config.getClient({ chainId })
|
|
31
|
-
|
|
32
|
+
const action = getAction(client, viem_getFeeHistory, 'getFeeHistory')
|
|
33
|
+
return action(rest)
|
|
32
34
|
}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
import { type Config } from '../createConfig.js'
|
|
8
8
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
9
9
|
import { type Evaluate } from '../types/utils.js'
|
|
10
|
+
import { getAction } from '../utils/getAction.js'
|
|
10
11
|
|
|
11
12
|
export type GetGasPriceParameters<
|
|
12
13
|
config extends Config = Config,
|
|
@@ -27,5 +28,6 @@ export function getGasPrice<
|
|
|
27
28
|
): Promise<GetGasPriceReturnType> {
|
|
28
29
|
const { chainId } = parameters
|
|
29
30
|
const client = config.getClient({ chainId })
|
|
30
|
-
|
|
31
|
+
const action = getAction(client, viem_getGasPrice, 'getGasPrice')
|
|
32
|
+
return action({})
|
|
31
33
|
}
|
package/src/actions/getProof.ts
CHANGED
|
@@ -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 GetProofParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetProofParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export async function getProof<config extends Config>(
|
|
|
24
25
|
): Promise<GetProofReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getProof, 'getProof')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -2,32 +2,50 @@ import { type PublicClient, publicActions } from 'viem'
|
|
|
2
2
|
|
|
3
3
|
import { type Config } from '../createConfig.js'
|
|
4
4
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
5
|
-
import { type Evaluate } from '../types/utils.js'
|
|
5
|
+
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
6
|
+
import { getClient } from './getClient.js'
|
|
6
7
|
|
|
7
8
|
export type GetPublicClientParameters<
|
|
8
9
|
config extends Config = Config,
|
|
9
|
-
chainId extends
|
|
10
|
+
chainId extends
|
|
11
|
+
| config['chains'][number]['id']
|
|
12
|
+
| undefined = config['chains'][number]['id'],
|
|
10
13
|
> = ChainIdParameter<config, chainId>
|
|
11
14
|
|
|
12
15
|
export type GetPublicClientReturnType<
|
|
13
16
|
config extends Config = Config,
|
|
14
|
-
chainId extends
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
chainId extends
|
|
18
|
+
| config['chains'][number]['id']
|
|
19
|
+
| undefined = config['chains'][number]['id'],
|
|
20
|
+
///
|
|
21
|
+
resolvedChainId extends
|
|
22
|
+
| config['chains'][number]['id']
|
|
23
|
+
| undefined = IsNarrowable<
|
|
24
|
+
config['chains'][number]['id'],
|
|
25
|
+
number
|
|
26
|
+
> extends true
|
|
27
|
+
? IsNarrowable<chainId, number> extends true
|
|
28
|
+
? chainId
|
|
29
|
+
: config['chains'][number]['id']
|
|
30
|
+
: config['chains'][number]['id'] | undefined,
|
|
31
|
+
> = resolvedChainId extends config['chains'][number]['id']
|
|
32
|
+
? Evaluate<
|
|
33
|
+
PublicClient<
|
|
34
|
+
config['_internal']['transports'][resolvedChainId],
|
|
35
|
+
Extract<config['chains'][number], { id: resolvedChainId }>
|
|
36
|
+
>
|
|
37
|
+
>
|
|
38
|
+
: undefined
|
|
21
39
|
|
|
22
40
|
export function getPublicClient<
|
|
23
41
|
config extends Config,
|
|
24
|
-
chainId extends config['chains'][number]['id'],
|
|
42
|
+
chainId extends config['chains'][number]['id'] | number | undefined,
|
|
25
43
|
>(
|
|
26
44
|
config: config,
|
|
27
45
|
parameters: GetPublicClientParameters<config, chainId> = {},
|
|
28
46
|
): GetPublicClientReturnType<config, chainId> {
|
|
29
|
-
const client =
|
|
30
|
-
return client
|
|
47
|
+
const client = getClient(config, parameters)
|
|
48
|
+
return client?.extend(publicActions) as GetPublicClientReturnType<
|
|
31
49
|
config,
|
|
32
50
|
chainId
|
|
33
51
|
>
|
|
@@ -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 GetStorageAtParameters<config extends Config = Config> = Evaluate<
|
|
13
14
|
viem_GetStorageAtParameters & ChainIdParameter<config>
|
|
@@ -24,5 +25,6 @@ export async function getStorageAt<config extends Config>(
|
|
|
24
25
|
): Promise<GetStorageAtReturnType> {
|
|
25
26
|
const { chainId, ...rest } = parameters
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(client, viem_getStorageAt, 'getStorageAt')
|
|
29
|
+
return action(rest)
|
|
28
30
|
}
|
|
@@ -10,6 +10,7 @@ import { type Config } from '../createConfig.js'
|
|
|
10
10
|
import type { SelectChains } from '../types/chain.js'
|
|
11
11
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
12
12
|
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
13
|
+
import { getAction } from '../utils/getAction.js'
|
|
13
14
|
|
|
14
15
|
export type GetTransactionParameters<
|
|
15
16
|
config extends Config = Config,
|
|
@@ -41,7 +42,8 @@ export function getTransaction<
|
|
|
41
42
|
): Promise<GetTransactionReturnType<config, chainId>> {
|
|
42
43
|
const { chainId, ...rest } = parameters
|
|
43
44
|
const client = config.getClient({ chainId })
|
|
44
|
-
|
|
45
|
+
const action = getAction(client, viem_getTransaction, 'getTransaction')
|
|
46
|
+
return action(rest) as unknown as Promise<
|
|
45
47
|
GetTransactionReturnType<config, chainId>
|
|
46
48
|
>
|
|
47
49
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
import { type Config } from '../createConfig.js'
|
|
10
10
|
import { type SelectChains } from '../types/chain.js'
|
|
11
11
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
12
|
+
import { getAction } from '../utils/getAction.js'
|
|
12
13
|
|
|
13
14
|
export type GetTransactionConfirmationsParameters<
|
|
14
15
|
config extends Config = Config,
|
|
@@ -42,8 +43,10 @@ export function getTransactionConfirmations<
|
|
|
42
43
|
): Promise<GetTransactionConfirmationsReturnType> {
|
|
43
44
|
const { chainId, ...rest } = parameters
|
|
44
45
|
const client = config.getClient({ chainId })
|
|
45
|
-
|
|
46
|
+
const action = getAction(
|
|
46
47
|
client,
|
|
47
|
-
|
|
48
|
+
viem_getTransactionConfirmations,
|
|
49
|
+
'getTransactionConfirmations',
|
|
48
50
|
)
|
|
51
|
+
return action(rest as viem_GetTransactionConfirmationsParameters)
|
|
49
52
|
}
|
|
@@ -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 GetTransactionCountParameters<config extends Config = Config> =
|
|
13
14
|
Evaluate<ChainIdParameter<config> & viem_GetTransactionCountParameters>
|
|
@@ -24,8 +25,10 @@ export async function getTransactionCount<config extends Config>(
|
|
|
24
25
|
const { address, blockNumber, blockTag, chainId } = parameters
|
|
25
26
|
|
|
26
27
|
const client = config.getClient({ chainId })
|
|
27
|
-
|
|
28
|
+
const action = getAction(
|
|
28
29
|
client,
|
|
29
|
-
|
|
30
|
+
viem_getTransactionCount,
|
|
31
|
+
'getTransactionCount',
|
|
30
32
|
)
|
|
33
|
+
return action(blockNumber ? { address, blockNumber } : { address, blockTag })
|
|
31
34
|
}
|
|
@@ -10,6 +10,7 @@ import { type Config } from '../createConfig.js'
|
|
|
10
10
|
import { type SelectChains } from '../types/chain.js'
|
|
11
11
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
12
12
|
import { type Evaluate, type IsNarrowable } from '../types/utils.js'
|
|
13
|
+
import { getAction } from '../utils/getAction.js'
|
|
13
14
|
|
|
14
15
|
export type GetTransactionReceiptParameters<
|
|
15
16
|
config extends Config = Config,
|
|
@@ -43,5 +44,10 @@ export async function getTransactionReceipt<
|
|
|
43
44
|
): Promise<GetTransactionReceiptReturnType<config, chainId>> {
|
|
44
45
|
const { chainId, ...rest } = parameters
|
|
45
46
|
const client = config.getClient({ chainId })
|
|
46
|
-
|
|
47
|
+
const action = getAction(
|
|
48
|
+
client,
|
|
49
|
+
viem_getTransactionReceipt,
|
|
50
|
+
'getTransactionReceipt',
|
|
51
|
+
)
|
|
52
|
+
return action(rest)
|
|
47
53
|
}
|
package/src/actions/multicall.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { multicall as viem_multicall } from 'viem/actions'
|
|
|
8
8
|
|
|
9
9
|
import { type Config } from '../createConfig.js'
|
|
10
10
|
import { type ChainIdParameter } from '../types/properties.js'
|
|
11
|
+
import { getAction } from '../utils/getAction.js'
|
|
11
12
|
|
|
12
13
|
export type MulticallParameters<
|
|
13
14
|
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
@@ -32,7 +33,8 @@ export async function multicall<
|
|
|
32
33
|
): Promise<MulticallReturnType<contracts, allowFailure>> {
|
|
33
34
|
const { allowFailure = true, chainId, contracts, ...rest } = parameters
|
|
34
35
|
const client = config.getClient({ chainId })
|
|
35
|
-
|
|
36
|
+
const action = getAction(client, viem_multicall, 'multicall')
|
|
37
|
+
return action({
|
|
36
38
|
allowFailure,
|
|
37
39
|
contracts,
|
|
38
40
|
...rest,
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
type UnionEvaluate,
|
|
22
22
|
type UnionOmit,
|
|
23
23
|
} from '../types/utils.js'
|
|
24
|
+
import { getAction } from '../utils/getAction.js'
|
|
24
25
|
import { getConnectorClient } from './getConnectorClient.js'
|
|
25
26
|
|
|
26
27
|
export type PrepareTransactionRequestParameters<
|
|
@@ -97,8 +98,12 @@ export async function prepareTransactionRequest<
|
|
|
97
98
|
chainId,
|
|
98
99
|
connector,
|
|
99
100
|
})
|
|
100
|
-
|
|
101
|
+
const action = getAction(
|
|
101
102
|
client,
|
|
103
|
+
viem_prepareTransactionRequest,
|
|
104
|
+
'prepareTransactionRequest',
|
|
105
|
+
)
|
|
106
|
+
return action(
|
|
102
107
|
rest as unknown as viem_PrepareTransactionRequestParameters,
|
|
103
108
|
) as unknown as Promise<
|
|
104
109
|
PrepareTransactionRequestReturnType<parameterType, config, chainId>
|
|
@@ -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
|
}
|