@nomicfoundation/hardhat-viem 2.0.4 → 2.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../src/internal/clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAIvB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAevB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAMzB;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAkBzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAMvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,cAAc,EACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAarB"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../src/internal/clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACb,MAAM,UAAU,CAAC;AAsBlB;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAIvB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAMzB;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAMvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,cAAc,EACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAerB"}
@@ -24,6 +24,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.innerGetTestClient = exports.getTestClient = exports.getWalletClient = exports.innerGetWalletClients = exports.getWalletClients = exports.innerGetPublicClient = exports.getPublicClient = void 0;
27
+ async function getParameters(chain, config) {
28
+ const { isDevelopmentNetwork } = await Promise.resolve().then(() => __importStar(require("./chains")));
29
+ const defaultParameters = isDevelopmentNetwork(chain.id)
30
+ ? { pollingInterval: 50, cacheTime: 0 }
31
+ : {};
32
+ const transportParameters = isDevelopmentNetwork(chain.id)
33
+ ? { retryCount: 0 }
34
+ : {};
35
+ return {
36
+ clientParameters: { ...defaultParameters, ...config },
37
+ transportParameters,
38
+ };
39
+ }
27
40
  /**
28
41
  * Get a PublicClient instance. This is a read-only client that can be used to
29
42
  * query the blockchain.
@@ -40,15 +53,11 @@ async function getPublicClient(provider, publicClientConfig) {
40
53
  exports.getPublicClient = getPublicClient;
41
54
  async function innerGetPublicClient(provider, chain, publicClientConfig) {
42
55
  const viem = await Promise.resolve().then(() => __importStar(require("viem")));
43
- const { isDevelopmentNetwork } = await Promise.resolve().then(() => __importStar(require("./chains")));
44
- const defaultParameters = isDevelopmentNetwork(chain.id)
45
- ? { pollingInterval: 50, cacheTime: 0 }
46
- : {};
47
- const parameters = { ...defaultParameters, ...publicClientConfig };
56
+ const { clientParameters, transportParameters } = await getParameters(chain, publicClientConfig);
48
57
  const publicClient = viem.createPublicClient({
49
58
  chain,
50
- transport: viem.custom(provider),
51
- ...parameters,
59
+ transport: viem.custom(provider, transportParameters),
60
+ ...clientParameters,
52
61
  });
53
62
  return publicClient;
54
63
  }
@@ -72,16 +81,12 @@ async function getWalletClients(provider, walletClientConfig) {
72
81
  exports.getWalletClients = getWalletClients;
73
82
  async function innerGetWalletClients(provider, chain, accounts, walletClientConfig) {
74
83
  const viem = await Promise.resolve().then(() => __importStar(require("viem")));
75
- const { isDevelopmentNetwork } = await Promise.resolve().then(() => __importStar(require("./chains")));
76
- const defaultParameters = isDevelopmentNetwork(chain.id)
77
- ? { pollingInterval: 50, cacheTime: 0 }
78
- : {};
79
- const parameters = { ...defaultParameters, ...walletClientConfig };
84
+ const { clientParameters, transportParameters } = await getParameters(chain, walletClientConfig);
80
85
  const walletClients = accounts.map((account) => viem.createWalletClient({
81
86
  chain,
82
87
  account,
83
- transport: viem.custom(provider),
84
- ...parameters,
88
+ transport: viem.custom(provider, transportParameters),
89
+ ...clientParameters,
85
90
  }));
86
91
  return walletClients;
87
92
  }
@@ -118,13 +123,12 @@ async function getTestClient(provider, testClientConfig) {
118
123
  exports.getTestClient = getTestClient;
119
124
  async function innerGetTestClient(provider, chain, mode, testClientConfig) {
120
125
  const viem = await Promise.resolve().then(() => __importStar(require("viem")));
121
- const defaultParameters = { pollingInterval: 50, cacheTime: 0 };
122
- const parameters = { ...defaultParameters, ...testClientConfig };
126
+ const { clientParameters, transportParameters } = await getParameters(chain, testClientConfig);
123
127
  const testClient = viem.createTestClient({
124
128
  mode,
125
129
  chain,
126
- transport: viem.custom(provider),
127
- ...parameters,
130
+ transport: viem.custom(provider, transportParameters),
131
+ ...clientParameters,
128
132
  });
129
133
  return testClient;
130
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clients.js","sourceRoot":"","sources":["../src/internal/clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../src/internal/clients.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,16 @@
1
- import type { Address, PublicClientConfig, WalletClientConfig, TestClientConfig } from "viem";
2
- import type { PublicClient, TestClient, WalletClient, deployContract, sendDeploymentTransaction, getContractAt } from "../types";
1
+ import type { HardhatViemHelpers } from "../types";
3
2
  import "hardhat/types/runtime";
4
3
  import "hardhat/types/artifacts";
5
4
  declare module "hardhat/types/runtime" {
6
5
  interface HardhatRuntimeEnvironment {
7
- viem: {
8
- getPublicClient(publicClientConfig?: Partial<PublicClientConfig>): Promise<PublicClient>;
9
- getWalletClients(walletClientConfig?: Partial<WalletClientConfig>): Promise<WalletClient[]>;
10
- getWalletClient(address: Address, walletClientConfig?: Partial<WalletClientConfig>): Promise<WalletClient>;
11
- getTestClient(testClientConfig?: Partial<TestClientConfig>): Promise<TestClient>;
12
- deployContract: typeof deployContract;
13
- sendDeploymentTransaction: typeof sendDeploymentTransaction;
14
- getContractAt: typeof getContractAt;
15
- };
6
+ viem: HardhatViemHelpers;
16
7
  }
17
8
  }
18
9
  declare module "hardhat/types/artifacts" {
19
10
  interface ArtifactsMap {
20
11
  }
12
+ interface ContractTypesMap {
13
+ }
21
14
  interface Artifacts {
22
15
  readArtifact<ArgT extends keyof ArtifactsMap>(contractNameOrFullyQualifiedName: ArgT): Promise<ArtifactsMap[ArgT]>;
23
16
  readArtifactSync<ArgT extends keyof ArtifactsMap>(contractNameOrFullyQualifiedName: ArgT): ArtifactsMap[ArgT];
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../src/internal/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AAEjC,OAAO,QAAQ,uBAAuB,CAAC;IACrC,UAAU,yBAAyB;QACjC,IAAI,EAAE;YACJ,eAAe,CACb,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAAC;YACzB,gBAAgB,CACd,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3B,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,CAAC;YACzB,aAAa,CACX,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAAC;YACvB,cAAc,EAAE,OAAO,cAAc,CAAC;YACtC,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;YAC5D,aAAa,EAAE,OAAO,aAAa,CAAC;SACrC,CAAC;KACH;CACF;AAED,OAAO,QAAQ,yBAAyB,CAAC;IAEvC,UAAU,YAAY;KAAG;IAEzB,UAAU,SAAS;QACjB,YAAY,CAAC,IAAI,SAAS,MAAM,YAAY,EAC1C,gCAAgC,EAAE,IAAI,GACrC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/B,gBAAgB,CAAC,IAAI,SAAS,MAAM,YAAY,EAC9C,gCAAgC,EAAE,IAAI,GACrC,YAAY,CAAC,IAAI,CAAC,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../src/internal/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AAEjC,OAAO,QAAQ,uBAAuB,CAAC;IACrC,UAAU,yBAAyB;QACjC,IAAI,EAAE,kBAAkB,CAAC;KAC1B;CACF;AAED,OAAO,QAAQ,yBAAyB,CAAC;IAEvC,UAAU,YAAY;KAAG;IAGzB,UAAU,gBAAgB;KAAG;IAE7B,UAAU,SAAS;QACjB,YAAY,CAAC,IAAI,SAAS,MAAM,YAAY,EAC1C,gCAAgC,EAAE,IAAI,GACrC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/B,gBAAgB,CAAC,IAAI,SAAS,MAAM,YAAY,EAC9C,gCAAgC,EAAE,IAAI,GACrC,YAAY,CAAC,IAAI,CAAC,CAAC;KACvB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.js","sourceRoot":"","sources":["../src/internal/type-extensions.ts"],"names":[],"mappings":";;AAcA,iCAA+B;AAC/B,mCAAiC"}
1
+ {"version":3,"file":"type-extensions.js","sourceRoot":"","sources":["../src/internal/type-extensions.ts"],"names":[],"mappings":";;AACA,iCAA+B;AAC/B,mCAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomicfoundation/hardhat-viem",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Hardhat plugin for viem",
5
5
  "homepage": "https://github.com/nomicfoundation/hardhat/tree/main/packages/hardhat-viem",
6
6
  "repository": "github:nomicfoundation/hardhat",
@@ -57,7 +57,6 @@
57
57
  },
58
58
  "peerDependencies": {
59
59
  "hardhat": "^2.17.0",
60
- "typescript": "~5.0.0",
61
60
  "viem": "^2.7.6"
62
61
  },
63
62
  "dependencies": {
@@ -13,6 +13,26 @@ import type {
13
13
  WalletClient,
14
14
  } from "../types";
15
15
 
16
+ async function getParameters<TConfig extends {} | undefined>(
17
+ chain: Chain,
18
+ config: TConfig
19
+ ) {
20
+ const { isDevelopmentNetwork } = await import("./chains");
21
+
22
+ const defaultParameters = isDevelopmentNetwork(chain.id)
23
+ ? { pollingInterval: 50, cacheTime: 0 }
24
+ : {};
25
+
26
+ const transportParameters = isDevelopmentNetwork(chain.id)
27
+ ? { retryCount: 0 }
28
+ : {};
29
+
30
+ return {
31
+ clientParameters: { ...defaultParameters, ...config },
32
+ transportParameters,
33
+ };
34
+ }
35
+
16
36
  /**
17
37
  * Get a PublicClient instance. This is a read-only client that can be used to
18
38
  * query the blockchain.
@@ -36,16 +56,15 @@ export async function innerGetPublicClient(
36
56
  publicClientConfig?: Partial<PublicClientConfig>
37
57
  ): Promise<PublicClient> {
38
58
  const viem = await import("viem");
39
- const { isDevelopmentNetwork } = await import("./chains");
40
- const defaultParameters = isDevelopmentNetwork(chain.id)
41
- ? { pollingInterval: 50, cacheTime: 0 }
42
- : {};
43
- const parameters = { ...defaultParameters, ...publicClientConfig };
59
+ const { clientParameters, transportParameters } = await getParameters(
60
+ chain,
61
+ publicClientConfig
62
+ );
44
63
 
45
64
  const publicClient = viem.createPublicClient({
46
65
  chain,
47
- transport: viem.custom(provider),
48
- ...parameters,
66
+ transport: viem.custom(provider, transportParameters),
67
+ ...clientParameters,
49
68
  });
50
69
 
51
70
  return publicClient;
@@ -78,18 +97,17 @@ export async function innerGetWalletClients(
78
97
  walletClientConfig?: Partial<WalletClientConfig>
79
98
  ): Promise<WalletClient[]> {
80
99
  const viem = await import("viem");
81
- const { isDevelopmentNetwork } = await import("./chains");
82
- const defaultParameters = isDevelopmentNetwork(chain.id)
83
- ? { pollingInterval: 50, cacheTime: 0 }
84
- : {};
85
- const parameters = { ...defaultParameters, ...walletClientConfig };
100
+ const { clientParameters, transportParameters } = await getParameters(
101
+ chain,
102
+ walletClientConfig
103
+ );
86
104
 
87
105
  const walletClients = accounts.map((account) =>
88
106
  viem.createWalletClient({
89
107
  chain,
90
108
  account,
91
- transport: viem.custom(provider),
92
- ...parameters,
109
+ transport: viem.custom(provider, transportParameters),
110
+ ...clientParameters,
93
111
  })
94
112
  );
95
113
 
@@ -142,14 +160,16 @@ export async function innerGetTestClient(
142
160
  testClientConfig?: Partial<TestClientConfig>
143
161
  ): Promise<TestClient> {
144
162
  const viem = await import("viem");
145
- const defaultParameters = { pollingInterval: 50, cacheTime: 0 };
146
- const parameters = { ...defaultParameters, ...testClientConfig };
163
+ const { clientParameters, transportParameters } = await getParameters(
164
+ chain,
165
+ testClientConfig
166
+ );
147
167
 
148
168
  const testClient = viem.createTestClient({
149
169
  mode,
150
170
  chain,
151
- transport: viem.custom(provider),
152
- ...parameters,
171
+ transport: viem.custom(provider, transportParameters),
172
+ ...clientParameters,
153
173
  });
154
174
 
155
175
  return testClient;
@@ -1,40 +1,10 @@
1
- import type {
2
- Address,
3
- PublicClientConfig,
4
- WalletClientConfig,
5
- TestClientConfig,
6
- } from "viem";
7
- import type {
8
- PublicClient,
9
- TestClient,
10
- WalletClient,
11
- deployContract,
12
- sendDeploymentTransaction,
13
- getContractAt,
14
- } from "../types";
1
+ import type { HardhatViemHelpers } from "../types";
15
2
  import "hardhat/types/runtime";
16
3
  import "hardhat/types/artifacts";
17
4
 
18
5
  declare module "hardhat/types/runtime" {
19
6
  interface HardhatRuntimeEnvironment {
20
- viem: {
21
- getPublicClient(
22
- publicClientConfig?: Partial<PublicClientConfig>
23
- ): Promise<PublicClient>;
24
- getWalletClients(
25
- walletClientConfig?: Partial<WalletClientConfig>
26
- ): Promise<WalletClient[]>;
27
- getWalletClient(
28
- address: Address,
29
- walletClientConfig?: Partial<WalletClientConfig>
30
- ): Promise<WalletClient>;
31
- getTestClient(
32
- testClientConfig?: Partial<TestClientConfig>
33
- ): Promise<TestClient>;
34
- deployContract: typeof deployContract;
35
- sendDeploymentTransaction: typeof sendDeploymentTransaction;
36
- getContractAt: typeof getContractAt;
37
- };
7
+ viem: HardhatViemHelpers;
38
8
  }
39
9
  }
40
10
 
@@ -42,6 +12,9 @@ declare module "hardhat/types/artifacts" {
42
12
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
43
13
  interface ArtifactsMap {}
44
14
 
15
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
16
+ interface ContractTypesMap {}
17
+
45
18
  interface Artifacts {
46
19
  readArtifact<ArgT extends keyof ArtifactsMap>(
47
20
  contractNameOrFullyQualifiedName: ArgT
package/src/types.ts CHANGED
@@ -83,4 +83,23 @@ export declare function getContractAt<CN extends string>(
83
83
  config?: GetContractAtConfig
84
84
  ): Promise<GetContractReturnType>;
85
85
 
86
+ export interface HardhatViemHelpers {
87
+ getPublicClient(
88
+ publicClientConfig?: Partial<viemT.PublicClientConfig>
89
+ ): Promise<PublicClient>;
90
+ getWalletClients(
91
+ walletClientConfig?: Partial<viemT.WalletClientConfig>
92
+ ): Promise<WalletClient[]>;
93
+ getWalletClient(
94
+ address: viemT.Address,
95
+ walletClientConfig?: Partial<viemT.WalletClientConfig>
96
+ ): Promise<WalletClient>;
97
+ getTestClient(
98
+ testClientConfig?: Partial<viemT.TestClientConfig>
99
+ ): Promise<TestClient>;
100
+ deployContract: typeof deployContract;
101
+ sendDeploymentTransaction: typeof sendDeploymentTransaction;
102
+ getContractAt: typeof getContractAt;
103
+ }
104
+
86
105
  export type { AbiParameterToPrimitiveType } from "abitype";
package/types.d.ts CHANGED
@@ -39,5 +39,14 @@ export declare function sendDeploymentTransaction<CN extends string>(contractNam
39
39
  deploymentTransaction: GetTransactionReturnType;
40
40
  }>;
41
41
  export declare function getContractAt<CN extends string>(contractName: ContractName<CN>, address: viemT.Address, config?: GetContractAtConfig): Promise<GetContractReturnType>;
42
+ export interface HardhatViemHelpers {
43
+ getPublicClient(publicClientConfig?: Partial<viemT.PublicClientConfig>): Promise<PublicClient>;
44
+ getWalletClients(walletClientConfig?: Partial<viemT.WalletClientConfig>): Promise<WalletClient[]>;
45
+ getWalletClient(address: viemT.Address, walletClientConfig?: Partial<viemT.WalletClientConfig>): Promise<WalletClient>;
46
+ getTestClient(testClientConfig?: Partial<viemT.TestClientConfig>): Promise<TestClient>;
47
+ deployContract: typeof deployContract;
48
+ sendDeploymentTransaction: typeof sendDeploymentTransaction;
49
+ getContractAt: typeof getContractAt;
50
+ }
42
51
  export type { AbiParameterToPrimitiveType } from "abitype";
43
52
  //# sourceMappingURL=types.d.ts.map
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"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"}