Skip to content

Commit 840c15f

Browse files
committed
Add public client from config to sendDeploymentTransaction and deployContract functions
1 parent fbb2730 commit 840c15f

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

packages/hardhat-viem/src/internal/contracts.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ export async function deployContract(
2929
): Promise<GetContractReturnType> {
3030
const {
3131
walletClient: configWalletClient,
32+
publicClient: configPublicClient,
3233
confirmations,
3334
...deployContractParameters
3435
} = config;
3536
const [publicClient, walletClient, contractArtifact] = await Promise.all([
36-
getPublicClient(network.provider),
37+
configPublicClient ?? getPublicClient(network.provider),
3738
configWalletClient ??
3839
getDefaultWalletClient(network.provider, network.name),
3940
artifacts.readArtifact(contractName),
@@ -119,10 +120,14 @@ export async function sendDeploymentTransaction(
119120
contract: GetContractReturnType;
120121
deploymentTransaction: GetTransactionReturnType;
121122
}> {
122-
const { walletClient: configWalletClient, ...deployContractParameters } =
123+
const {
124+
walletClient: configWalletClient,
125+
publicClient: configPublicClient,
126+
...deployContractParameters
127+
} =
123128
config;
124129
const [publicClient, walletClient, contractArtifact] = await Promise.all([
125-
getPublicClient(network.provider),
130+
configPublicClient ?? getPublicClient(network.provider),
126131
configWalletClient ??
127132
getDefaultWalletClient(network.provider, network.name),
128133
artifacts.readArtifact(contractName),

packages/hardhat-viem/src/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export type TestClientMode = Parameters<
1919

2020
export interface SendTransactionConfig {
2121
walletClient?: WalletClient;
22+
publicClient?: PublicClient;
2223
gas?: bigint;
2324
gasPrice?: bigint;
2425
maxFeePerGas?: bigint;

0 commit comments

Comments
 (0)