@nomicfoundation/hardhat-viem 2.0.6 → 3.0.0-next.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +4 -16
  3. package/README.md +35 -247
  4. package/dist/src/index.d.ts +5 -0
  5. package/dist/src/index.d.ts.map +1 -0
  6. package/dist/src/index.js +10 -0
  7. package/dist/src/index.js.map +1 -0
  8. package/dist/src/internal/accounts.d.ts +4 -0
  9. package/dist/src/internal/accounts.d.ts.map +1 -0
  10. package/dist/src/internal/accounts.js +15 -0
  11. package/dist/src/internal/accounts.js.map +1 -0
  12. package/dist/src/internal/chains.d.ts +11 -0
  13. package/dist/src/internal/chains.d.ts.map +1 -0
  14. package/dist/src/internal/chains.js +116 -0
  15. package/dist/src/internal/chains.js.map +1 -0
  16. package/dist/src/internal/clients.d.ts +10 -0
  17. package/dist/src/internal/clients.d.ts.map +1 -0
  18. package/dist/src/internal/clients.js +91 -0
  19. package/dist/src/internal/clients.js.map +1 -0
  20. package/dist/src/internal/contracts.d.ts +11 -0
  21. package/dist/src/internal/contracts.d.ts.map +1 -0
  22. package/dist/src/internal/contracts.js +141 -0
  23. package/dist/src/internal/contracts.js.map +1 -0
  24. package/dist/src/internal/hook-handlers/network.d.ts +4 -0
  25. package/dist/src/internal/hook-handlers/network.d.ts.map +1 -0
  26. package/dist/src/internal/hook-handlers/network.js +12 -0
  27. package/dist/src/internal/hook-handlers/network.js.map +1 -0
  28. package/dist/src/internal/initialization.d.ts +6 -0
  29. package/dist/src/internal/initialization.d.ts.map +1 -0
  30. package/dist/src/internal/initialization.js +14 -0
  31. package/dist/src/internal/initialization.js.map +1 -0
  32. package/dist/src/type-extensions.d.ts +8 -0
  33. package/dist/src/type-extensions.d.ts.map +1 -0
  34. package/dist/src/type-extensions.js +2 -0
  35. package/dist/src/type-extensions.js.map +1 -0
  36. package/dist/src/types.d.ts +166 -0
  37. package/dist/src/types.d.ts.map +1 -0
  38. package/dist/src/types.js +2 -0
  39. package/dist/src/types.js.map +1 -0
  40. package/package.json +46 -51
  41. package/src/index.ts +10 -39
  42. package/src/internal/accounts.ts +20 -7
  43. package/src/internal/chains.ts +122 -62
  44. package/src/internal/clients.ts +135 -141
  45. package/src/internal/contracts.ts +126 -150
  46. package/src/internal/hook-handlers/network.ts +27 -0
  47. package/src/internal/initialization.ts +67 -0
  48. package/src/type-extensions.ts +10 -0
  49. package/src/types.ts +237 -72
  50. package/.eslintrc.js +0 -24
  51. package/index.d.ts +0 -3
  52. package/index.d.ts.map +0 -1
  53. package/index.js +0 -20
  54. package/index.js.map +0 -1
  55. package/internal/accounts.d.ts +0 -5
  56. package/internal/accounts.d.ts.map +0 -1
  57. package/internal/accounts.js +0 -9
  58. package/internal/accounts.js.map +0 -1
  59. package/internal/bytecode.d.ts +0 -13
  60. package/internal/bytecode.d.ts.map +0 -1
  61. package/internal/bytecode.js +0 -94
  62. package/internal/bytecode.js.map +0 -1
  63. package/internal/chains.d.ts +0 -7
  64. package/internal/chains.d.ts.map +0 -1
  65. package/internal/chains.js +0 -80
  66. package/internal/chains.js.map +0 -1
  67. package/internal/clients.d.ts +0 -45
  68. package/internal/clients.d.ts.map +0 -1
  69. package/internal/clients.js +0 -136
  70. package/internal/clients.js.map +0 -1
  71. package/internal/contracts.d.ts +0 -11
  72. package/internal/contracts.d.ts.map +0 -1
  73. package/internal/contracts.js +0 -164
  74. package/internal/contracts.js.map +0 -1
  75. package/internal/errors.d.ts +0 -36
  76. package/internal/errors.d.ts.map +0 -1
  77. package/internal/errors.js +0 -102
  78. package/internal/errors.js.map +0 -1
  79. package/internal/tasks.d.ts +0 -2
  80. package/internal/tasks.d.ts.map +0 -1
  81. package/internal/tasks.js +0 -240
  82. package/internal/tasks.js.map +0 -1
  83. package/internal/type-extensions.d.ts +0 -19
  84. package/internal/type-extensions.d.ts.map +0 -1
  85. package/internal/type-extensions.js +0 -5
  86. package/internal/type-extensions.js.map +0 -1
  87. package/src/internal/bytecode.ts +0 -138
  88. package/src/internal/errors.ts +0 -125
  89. package/src/internal/tasks.ts +0 -341
  90. package/src/internal/type-extensions.ts +0 -27
  91. package/src/tsconfig.json +0 -15
  92. package/types.d.ts +0 -52
  93. package/types.d.ts.map +0 -1
  94. package/types.js +0 -3
  95. package/types.js.map +0 -1
@@ -1,45 +0,0 @@
1
- import type { EthereumProvider } from "hardhat/types";
2
- import type { Address, Chain, PublicClientConfig, WalletClientConfig, TestClientConfig } from "viem";
3
- import type { PublicClient, TestClient, TestClientMode, WalletClient } from "../types";
4
- /**
5
- * Get a PublicClient instance. This is a read-only client that can be used to
6
- * query the blockchain.
7
- *
8
- * @param provider The Ethereum provider used to connect to the blockchain.
9
- * @param publicClientConfig Optional configuration for the PublicClient instance. See the viem documentation for more information.
10
- * @returns A PublicClient instance.
11
- */
12
- export declare function getPublicClient(provider: EthereumProvider, publicClientConfig?: Partial<PublicClientConfig>): Promise<PublicClient>;
13
- export declare function innerGetPublicClient(provider: EthereumProvider, chain: Chain, publicClientConfig?: Partial<PublicClientConfig>): Promise<PublicClient>;
14
- /**
15
- * Get a list of WalletClient instances. These are read-write clients that can
16
- * be used to send transactions to the blockchain. Each client is associated
17
- * with an account obtained from the provider using `eth_accounts`.
18
- *
19
- * @param provider The Ethereum provider used to connect to the blockchain.
20
- * @param walletClientConfig Optional configuration for the WalletClient instances. See the viem documentation for more information.
21
- * @returns A list of WalletClient instances.
22
- */
23
- export declare function getWalletClients(provider: EthereumProvider, walletClientConfig?: Partial<WalletClientConfig>): Promise<WalletClient[]>;
24
- export declare function innerGetWalletClients(provider: EthereumProvider, chain: Chain, accounts: Address[], walletClientConfig?: Partial<WalletClientConfig>): Promise<WalletClient[]>;
25
- /**
26
- * Get a WalletClient instance for a specific address. This is a read-write
27
- * client that can be used to send transactions to the blockchain.
28
- *
29
- * @param provider The Ethereum provider used to connect to the blockchain.
30
- * @param address The public address of the account to use.
31
- * @param walletClientConfig Optional configuration for the WalletClient instance. See the viem documentation for more information.
32
- * @returns A WalletClient instance.
33
- */
34
- export declare function getWalletClient(provider: EthereumProvider, address: Address, walletClientConfig?: Partial<WalletClientConfig>): Promise<WalletClient>;
35
- /**
36
- * Get a TestClient instance. This is a read-write client that can be used to
37
- * perform actions only available on test nodes such as hardhat or anvil.
38
- *
39
- * @param provider The Ethereum provider used to connect to the blockchain.
40
- * @param testClientConfig Optional configuration for the TestClient instance. See the viem documentation for more information.
41
- * @returns A TestClient instance.
42
- */
43
- export declare function getTestClient(provider: EthereumProvider, testClientConfig?: Partial<TestClientConfig>): Promise<TestClient>;
44
- export declare function innerGetTestClient(provider: EthereumProvider, chain: Chain, mode: TestClientMode, testClientConfig?: Partial<TestClientConfig>): Promise<TestClient>;
45
- //# sourceMappingURL=clients.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
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
- }
40
- /**
41
- * Get a PublicClient instance. This is a read-only client that can be used to
42
- * query the blockchain.
43
- *
44
- * @param provider The Ethereum provider used to connect to the blockchain.
45
- * @param publicClientConfig Optional configuration for the PublicClient instance. See the viem documentation for more information.
46
- * @returns A PublicClient instance.
47
- */
48
- async function getPublicClient(provider, publicClientConfig) {
49
- const { getChain } = await Promise.resolve().then(() => __importStar(require("./chains")));
50
- const chain = publicClientConfig?.chain ?? (await getChain(provider));
51
- return innerGetPublicClient(provider, chain, publicClientConfig);
52
- }
53
- exports.getPublicClient = getPublicClient;
54
- async function innerGetPublicClient(provider, chain, publicClientConfig) {
55
- const viem = await Promise.resolve().then(() => __importStar(require("viem")));
56
- const { clientParameters, transportParameters } = await getParameters(chain, publicClientConfig);
57
- const publicClient = viem.createPublicClient({
58
- chain,
59
- transport: viem.custom(provider, transportParameters),
60
- ...clientParameters,
61
- });
62
- return publicClient;
63
- }
64
- exports.innerGetPublicClient = innerGetPublicClient;
65
- /**
66
- * Get a list of WalletClient instances. These are read-write clients that can
67
- * be used to send transactions to the blockchain. Each client is associated
68
- * with an account obtained from the provider using `eth_accounts`.
69
- *
70
- * @param provider The Ethereum provider used to connect to the blockchain.
71
- * @param walletClientConfig Optional configuration for the WalletClient instances. See the viem documentation for more information.
72
- * @returns A list of WalletClient instances.
73
- */
74
- async function getWalletClients(provider, walletClientConfig) {
75
- const { getAccounts } = await Promise.resolve().then(() => __importStar(require("./accounts")));
76
- const { getChain } = await Promise.resolve().then(() => __importStar(require("./chains")));
77
- const chain = walletClientConfig?.chain ?? (await getChain(provider));
78
- const accounts = await getAccounts(provider);
79
- return innerGetWalletClients(provider, chain, accounts, walletClientConfig);
80
- }
81
- exports.getWalletClients = getWalletClients;
82
- async function innerGetWalletClients(provider, chain, accounts, walletClientConfig) {
83
- const viem = await Promise.resolve().then(() => __importStar(require("viem")));
84
- const { clientParameters, transportParameters } = await getParameters(chain, walletClientConfig);
85
- const walletClients = accounts.map((account) => viem.createWalletClient({
86
- chain,
87
- account,
88
- transport: viem.custom(provider, transportParameters),
89
- ...clientParameters,
90
- }));
91
- return walletClients;
92
- }
93
- exports.innerGetWalletClients = innerGetWalletClients;
94
- /**
95
- * Get a WalletClient instance for a specific address. This is a read-write
96
- * client that can be used to send transactions to the blockchain.
97
- *
98
- * @param provider The Ethereum provider used to connect to the blockchain.
99
- * @param address The public address of the account to use.
100
- * @param walletClientConfig Optional configuration for the WalletClient instance. See the viem documentation for more information.
101
- * @returns A WalletClient instance.
102
- */
103
- async function getWalletClient(provider, address, walletClientConfig) {
104
- const { getChain } = await Promise.resolve().then(() => __importStar(require("./chains")));
105
- const chain = walletClientConfig?.chain ?? (await getChain(provider));
106
- return (await innerGetWalletClients(provider, chain, [address], walletClientConfig))[0];
107
- }
108
- exports.getWalletClient = getWalletClient;
109
- /**
110
- * Get a TestClient instance. This is a read-write client that can be used to
111
- * perform actions only available on test nodes such as hardhat or anvil.
112
- *
113
- * @param provider The Ethereum provider used to connect to the blockchain.
114
- * @param testClientConfig Optional configuration for the TestClient instance. See the viem documentation for more information.
115
- * @returns A TestClient instance.
116
- */
117
- async function getTestClient(provider, testClientConfig) {
118
- const { getChain, getMode } = await Promise.resolve().then(() => __importStar(require("./chains")));
119
- const chain = testClientConfig?.chain ?? (await getChain(provider));
120
- const mode = await getMode(provider);
121
- return innerGetTestClient(provider, chain, mode, testClientConfig);
122
- }
123
- exports.getTestClient = getTestClient;
124
- async function innerGetTestClient(provider, chain, mode, testClientConfig) {
125
- const viem = await Promise.resolve().then(() => __importStar(require("viem")));
126
- const { clientParameters, transportParameters } = await getParameters(chain, testClientConfig);
127
- const testClient = viem.createTestClient({
128
- mode,
129
- chain,
130
- transport: viem.custom(provider, transportParameters),
131
- ...clientParameters,
132
- });
133
- return testClient;
134
- }
135
- exports.innerGetTestClient = innerGetTestClient;
136
- //# sourceMappingURL=clients.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clients.js","sourceRoot":"","sources":["../src/internal/clients.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { HardhatRuntimeEnvironment } from "hardhat/types";
2
- import type { Abi, Address, Hex } from "viem";
3
- import type { DeployContractConfig, GetContractAtConfig, GetContractReturnType, GetTransactionReturnType, PublicClient, SendDeploymentTransactionConfig, WalletClient } from "../types";
4
- export declare function deployContract({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, constructorArgs?: any[], config?: DeployContractConfig): Promise<GetContractReturnType>;
5
- export declare function innerDeployContract(publicClient: PublicClient, walletClient: WalletClient, contractAbi: Abi, contractBytecode: Hex, constructorArgs: any[], deployContractParameters?: DeployContractConfig, confirmations?: number): Promise<GetContractReturnType>;
6
- export declare function sendDeploymentTransaction({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, constructorArgs?: any[], config?: SendDeploymentTransactionConfig): Promise<{
7
- contract: GetContractReturnType;
8
- deploymentTransaction: GetTransactionReturnType;
9
- }>;
10
- export declare function getContractAt({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, address: Address, config?: GetContractAtConfig): Promise<GetContractReturnType>;
11
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,+BAA+B,EAC/B,YAAY,EACb,MAAM,UAAU,CAAC;AA4BlB,wBAAsB,cAAc,CAClC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,GAAG,EAAO,EAC3B,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,GAAG,EAChB,gBAAgB,EAAE,GAAG,EACrB,eAAe,EAAE,GAAG,EAAE,EACtB,wBAAwB,GAAE,oBAAyB,EACnD,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAkDhC;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,GAAG,EAAO,EAC3B,MAAM,GAAE,+BAAoC,GAC3C,OAAO,CAAC;IACT,QAAQ,EAAE,qBAAqB,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,CAAC;CACjD,CAAC,CAgBD;AAuDD,wBAAsB,aAAa,CACjC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,EACjD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getContractAt = exports.sendDeploymentTransaction = exports.innerDeployContract = exports.deployContract = void 0;
27
- const bytecode_1 = require("./bytecode");
28
- const clients_1 = require("./clients");
29
- const errors_1 = require("./errors");
30
- async function getContractAbiAndBytecode(artifacts, contractName, libraries) {
31
- const artifact = await artifacts.readArtifact(contractName);
32
- const bytecode = await (0, bytecode_1.resolveBytecodeWithLinkedLibraries)(artifact, libraries);
33
- return {
34
- abi: artifact.abi,
35
- bytecode,
36
- };
37
- }
38
- async function deployContract({ artifacts, network }, contractName, constructorArgs = [], config = {}) {
39
- const { client, confirmations, libraries = {}, ...deployContractParameters } = config;
40
- const [publicClient, walletClient, { abi, bytecode }] = await Promise.all([
41
- client?.public ?? (0, clients_1.getPublicClient)(network.provider),
42
- client?.wallet ?? getDefaultWalletClient(network.provider, network.name),
43
- getContractAbiAndBytecode(artifacts, contractName, libraries),
44
- ]);
45
- return innerDeployContract(publicClient, walletClient, abi, bytecode, constructorArgs, deployContractParameters, confirmations);
46
- }
47
- exports.deployContract = deployContract;
48
- async function innerDeployContract(publicClient, walletClient, contractAbi, contractBytecode, constructorArgs, deployContractParameters = {}, confirmations = 1) {
49
- let deploymentTxHash;
50
- // If gasPrice is defined, then maxFeePerGas and maxPriorityFeePerGas
51
- // must be undefined because it's a legaxy tx.
52
- if (deployContractParameters.gasPrice !== undefined) {
53
- deploymentTxHash = await walletClient.deployContract({
54
- abi: contractAbi,
55
- bytecode: contractBytecode,
56
- args: constructorArgs,
57
- ...deployContractParameters,
58
- maxFeePerGas: undefined,
59
- maxPriorityFeePerGas: undefined,
60
- });
61
- }
62
- else {
63
- deploymentTxHash = await walletClient.deployContract({
64
- abi: contractAbi,
65
- bytecode: contractBytecode,
66
- args: constructorArgs,
67
- ...deployContractParameters,
68
- gasPrice: undefined,
69
- });
70
- }
71
- if (confirmations < 0) {
72
- throw new errors_1.HardhatViemError("Confirmations must be greater than 0.");
73
- }
74
- if (confirmations === 0) {
75
- throw new errors_1.InvalidConfirmationsError();
76
- }
77
- const { contractAddress } = await publicClient.waitForTransactionReceipt({
78
- hash: deploymentTxHash,
79
- confirmations,
80
- });
81
- if (contractAddress === null || contractAddress === undefined) {
82
- const transaction = await publicClient.getTransaction({
83
- hash: deploymentTxHash,
84
- });
85
- throw new errors_1.DeployContractError(deploymentTxHash, transaction.blockNumber);
86
- }
87
- const contract = await innerGetContractAt(publicClient, walletClient, contractAbi, contractAddress);
88
- return contract;
89
- }
90
- exports.innerDeployContract = innerDeployContract;
91
- async function sendDeploymentTransaction({ artifacts, network }, contractName, constructorArgs = [], config = {}) {
92
- const { client, libraries = {}, ...deployContractParameters } = config;
93
- const [publicClient, walletClient, { abi, bytecode }] = await Promise.all([
94
- client?.public ?? (0, clients_1.getPublicClient)(network.provider),
95
- client?.wallet ?? getDefaultWalletClient(network.provider, network.name),
96
- getContractAbiAndBytecode(artifacts, contractName, libraries),
97
- ]);
98
- return innerSendDeploymentTransaction(publicClient, walletClient, abi, bytecode, constructorArgs, deployContractParameters);
99
- }
100
- exports.sendDeploymentTransaction = sendDeploymentTransaction;
101
- async function innerSendDeploymentTransaction(publicClient, walletClient, contractAbi, contractBytecode, constructorArgs, deployContractParameters = {}) {
102
- let deploymentTxHash;
103
- // If gasPrice is defined, then maxFeePerGas and maxPriorityFeePerGas
104
- // must be undefined because it's a legaxy tx.
105
- if (deployContractParameters.gasPrice !== undefined) {
106
- deploymentTxHash = await walletClient.deployContract({
107
- abi: contractAbi,
108
- bytecode: contractBytecode,
109
- args: constructorArgs,
110
- ...deployContractParameters,
111
- maxFeePerGas: undefined,
112
- maxPriorityFeePerGas: undefined,
113
- });
114
- }
115
- else {
116
- deploymentTxHash = await walletClient.deployContract({
117
- abi: contractAbi,
118
- bytecode: contractBytecode,
119
- args: constructorArgs,
120
- ...deployContractParameters,
121
- gasPrice: undefined,
122
- });
123
- }
124
- const deploymentTx = await publicClient.getTransaction({
125
- hash: deploymentTxHash,
126
- });
127
- const { getContractAddress } = await Promise.resolve().then(() => __importStar(require("viem")));
128
- const contractAddress = getContractAddress({
129
- from: walletClient.account.address,
130
- nonce: BigInt(deploymentTx.nonce),
131
- });
132
- const contract = await innerGetContractAt(publicClient, walletClient, contractAbi, contractAddress);
133
- return { contract, deploymentTransaction: deploymentTx };
134
- }
135
- async function getContractAt({ artifacts, network }, contractName, address, config = {}) {
136
- const [publicClient, walletClient, contractArtifact] = await Promise.all([
137
- config.client?.public ?? (0, clients_1.getPublicClient)(network.provider),
138
- config.client?.wallet ??
139
- getDefaultWalletClient(network.provider, network.name),
140
- artifacts.readArtifact(contractName),
141
- ]);
142
- return innerGetContractAt(publicClient, walletClient, contractArtifact.abi, address);
143
- }
144
- exports.getContractAt = getContractAt;
145
- async function innerGetContractAt(publicClient, walletClient, contractAbi, address) {
146
- const viem = await Promise.resolve().then(() => __importStar(require("viem")));
147
- const contract = viem.getContract({
148
- address,
149
- client: {
150
- public: publicClient,
151
- wallet: walletClient,
152
- },
153
- abi: contractAbi,
154
- });
155
- return contract;
156
- }
157
- async function getDefaultWalletClient(provider, networkName) {
158
- const [defaultWalletClient] = await (0, clients_1.getWalletClients)(provider);
159
- if (defaultWalletClient === undefined) {
160
- throw new errors_1.DefaultWalletClientNotFoundError(networkName);
161
- }
162
- return defaultWalletClient;
163
- }
164
- //# sourceMappingURL=contracts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/internal/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { Link } from "./bytecode";
2
- import { NomicLabsHardhatPluginError } from "hardhat/plugins";
3
- export declare class HardhatViemError extends NomicLabsHardhatPluginError {
4
- constructor(message: string, parent?: Error);
5
- }
6
- export declare class UnknownDevelopmentNetworkError extends HardhatViemError {
7
- constructor();
8
- }
9
- export declare class NetworkNotFoundError extends HardhatViemError {
10
- constructor(chainId: number);
11
- }
12
- export declare class MultipleMatchingNetworksError extends HardhatViemError {
13
- constructor(chainId: number);
14
- }
15
- export declare class DefaultWalletClientNotFoundError extends HardhatViemError {
16
- constructor(networkName: string);
17
- }
18
- export declare class InvalidConfirmationsError extends HardhatViemError {
19
- constructor();
20
- }
21
- export declare class DeployContractError extends HardhatViemError {
22
- constructor(txHash: string, blockNumber: bigint);
23
- }
24
- export declare class AmbigousLibraryNameError extends HardhatViemError {
25
- constructor(contractName: string, libraryName: string, matchingLibraries: string[]);
26
- }
27
- export declare class OverlappingLibraryNamesError extends HardhatViemError {
28
- constructor(sourceName: string, libraryName: string);
29
- }
30
- export declare class UnnecessaryLibraryLinkError extends HardhatViemError {
31
- constructor(contractName: string, libraryName: string);
32
- }
33
- export declare class MissingLibraryAddressError extends HardhatViemError {
34
- constructor(contractName: string, missingLibraries: Array<Pick<Link, "sourceName" | "libraryName">>);
35
- }
36
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/internal/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,qBAAa,gBAAiB,SAAQ,2BAA2B;gBACnD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;CAG5C;AAED,qBAAa,8BAA+B,SAAQ,gBAAgB;;CAKnE;AAED,qBAAa,oBAAqB,SAAQ,gBAAgB;gBAC5C,OAAO,EAAE,MAAM;CAa5B;AAED,qBAAa,6BAA8B,SAAQ,gBAAgB;gBACrD,OAAO,EAAE,MAAM;CAa5B;AAED,qBAAa,gCAAiC,SAAQ,gBAAgB;gBACxD,WAAW,EAAE,MAAM;CAWhC;AAED,qBAAa,yBAA0B,SAAQ,gBAAgB;;CAM9D;AAED,qBAAa,mBAAoB,SAAQ,gBAAgB;gBAC3C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKhD;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;gBAE1D,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EAAE;CAU9B;AAED,qBAAa,4BAA6B,SAAQ,gBAAgB;gBACpD,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKpD;AAED,qBAAa,2BAA4B,SAAQ,gBAAgB;gBACnD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKtD;AAED,qBAAa,0BAA2B,SAAQ,gBAAgB;gBAE5D,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC;CAUpE"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MissingLibraryAddressError = exports.UnnecessaryLibraryLinkError = exports.OverlappingLibraryNamesError = exports.AmbigousLibraryNameError = exports.DeployContractError = exports.InvalidConfirmationsError = exports.DefaultWalletClientNotFoundError = exports.MultipleMatchingNetworksError = exports.NetworkNotFoundError = exports.UnknownDevelopmentNetworkError = exports.HardhatViemError = void 0;
4
- const plugins_1 = require("hardhat/plugins");
5
- class HardhatViemError extends plugins_1.NomicLabsHardhatPluginError {
6
- constructor(message, parent) {
7
- super("@nomicfoundation/hardhat-viem", message, parent);
8
- }
9
- }
10
- exports.HardhatViemError = HardhatViemError;
11
- class UnknownDevelopmentNetworkError extends HardhatViemError {
12
- constructor() {
13
- super(`The chain id corresponds to a development network but we couldn't detect which one.
14
- Please report this issue if you're using Hardhat or Foundry.`);
15
- }
16
- }
17
- exports.UnknownDevelopmentNetworkError = UnknownDevelopmentNetworkError;
18
- class NetworkNotFoundError extends HardhatViemError {
19
- constructor(chainId) {
20
- super(`No network with chain id ${chainId} found. You can override the chain by passing it as a parameter to the client getter:
21
-
22
- import { someChain } from "viem/chains";
23
- const client = await hre.viem.getPublicClient({
24
- chain: someChain,
25
- ...
26
- });
27
-
28
- You can find a list of supported networks here: https://github.com/wevm/viem/blob/main/src/chains/index.ts`);
29
- }
30
- }
31
- exports.NetworkNotFoundError = NetworkNotFoundError;
32
- class MultipleMatchingNetworksError extends HardhatViemError {
33
- constructor(chainId) {
34
- super(`Multiple networks with chain id ${chainId} found. You can override the chain by passing it as a parameter to the client getter:
35
-
36
- import { someChain } from "viem/chains";
37
- const client = await hre.viem.getPublicClient({
38
- chain: someChain,
39
- ...
40
- });
41
-
42
- You can find a list of supported networks here: https://github.com/wevm/viem/blob/main/src/chains/index.ts`);
43
- }
44
- }
45
- exports.MultipleMatchingNetworksError = MultipleMatchingNetworksError;
46
- class DefaultWalletClientNotFoundError extends HardhatViemError {
47
- constructor(networkName) {
48
- super(`Default wallet client not found. This can happen if no accounts were configured for this network (network: '${networkName}').
49
-
50
- Alternatively, you can set a custom wallet client by passing it as a parameter in the deployContract function:
51
-
52
- const walletClient = await hre.viem.getWalletClient(address);
53
- const contractA = await hre.viem.deployContract("A", [], { walletClient });
54
- const contractB = await hre.viem.getContractAt("B", address, { walletClient });`);
55
- }
56
- }
57
- exports.DefaultWalletClientNotFoundError = DefaultWalletClientNotFoundError;
58
- class InvalidConfirmationsError extends HardhatViemError {
59
- constructor() {
60
- super("deployContract does not support 0 confirmations. Use sendDeploymentTransaction if you want to handle the deployment transaction yourself.");
61
- }
62
- }
63
- exports.InvalidConfirmationsError = InvalidConfirmationsError;
64
- class DeployContractError extends HardhatViemError {
65
- constructor(txHash, blockNumber) {
66
- super(`The deployment transaction '${txHash}' was mined in block '${blockNumber}' but its receipt doesn't contain a contract address`);
67
- }
68
- }
69
- exports.DeployContractError = DeployContractError;
70
- class AmbigousLibraryNameError extends HardhatViemError {
71
- constructor(contractName, libraryName, matchingLibraries) {
72
- super(`The library name "${libraryName}" is ambiguous for the contract "${contractName}".
73
- It may resolve to one of the following libraries:
74
- ${matchingLibraries.map((fqn) => `\n\t* ${fqn}`).join(",")}
75
-
76
- To fix this, choose one of these fully qualified library names and replace where appropriate.`);
77
- }
78
- }
79
- exports.AmbigousLibraryNameError = AmbigousLibraryNameError;
80
- class OverlappingLibraryNamesError extends HardhatViemError {
81
- constructor(sourceName, libraryName) {
82
- super(`The library name "${libraryName}" and "${sourceName}:${libraryName}" are both linking to the same library. Please use one of them, or If they are not the same library, use fully qualified names instead.`);
83
- }
84
- }
85
- exports.OverlappingLibraryNamesError = OverlappingLibraryNamesError;
86
- class UnnecessaryLibraryLinkError extends HardhatViemError {
87
- constructor(contractName, libraryName) {
88
- super(`The library name "${libraryName}" was linked but it's not referenced by the "${contractName}" contract.`);
89
- }
90
- }
91
- exports.UnnecessaryLibraryLinkError = UnnecessaryLibraryLinkError;
92
- class MissingLibraryAddressError extends HardhatViemError {
93
- constructor(contractName, missingLibraries) {
94
- super(`The libraries needed are:
95
- ${missingLibraries
96
- .map(({ sourceName, libraryName }) => `\t* "${sourceName}:${libraryName}"`)
97
- .join(",\n")}
98
- Please deploy them first and link them while deploying "${contractName}"`);
99
- }
100
- }
101
- exports.MissingLibraryAddressError = MissingLibraryAddressError;
102
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/internal/errors.ts"],"names":[],"mappings":";;;AAEA,6CAA8D;AAE9D,MAAa,gBAAiB,SAAQ,qCAA2B;IAC/D,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,+BAA+B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,8BAA+B,SAAQ,gBAAgB;IAClE;QACE,KAAK,CAAC;6DACmD,CAAC,CAAC;IAC7D,CAAC;CACF;AALD,wEAKC;AAED,MAAa,oBAAqB,SAAQ,gBAAgB;IACxD,YAAY,OAAe;QACzB,KAAK,CACH,4BAA4B,OAAO;;;;;;;;2GAQkE,CACtG,CAAC;IACJ,CAAC;CACF;AAdD,oDAcC;AAED,MAAa,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAe;QACzB,KAAK,CACH,mCAAmC,OAAO;;;;;;;;2GAQ2D,CACtG,CAAC;IACJ,CAAC;CACF;AAdD,sEAcC;AAED,MAAa,gCAAiC,SAAQ,gBAAgB;IACpE,YAAY,WAAmB;QAC7B,KAAK,CACH,+GAA+G,WAAW;;;;;;gFAMhD,CAC3E,CAAC;IACJ,CAAC;CACF;AAZD,4EAYC;AAED,MAAa,yBAA0B,SAAQ,gBAAgB;IAC7D;QACE,KAAK,CACH,2IAA2I,CAC5I,CAAC;IACJ,CAAC;CACF;AAND,8DAMC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,MAAc,EAAE,WAAmB;QAC7C,KAAK,CACH,+BAA+B,MAAM,yBAAyB,WAAW,sDAAsD,CAChI,CAAC;IACJ,CAAC;CACF;AAND,kDAMC;AAED,MAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,YACE,YAAoB,EACpB,WAAmB,EACnB,iBAA2B;QAE3B,KAAK,CACH,qBAAqB,WAAW,oCAAoC,YAAY;;EAEpF,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;8FAEoC,CACzF,CAAC;IACJ,CAAC;CACF;AAdD,4DAcC;AAED,MAAa,4BAA6B,SAAQ,gBAAgB;IAChE,YAAY,UAAkB,EAAE,WAAmB;QACjD,KAAK,CACH,qBAAqB,WAAW,UAAU,UAAU,IAAI,WAAW,yIAAyI,CAC7M,CAAC;IACJ,CAAC;CACF;AAND,oEAMC;AAED,MAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,YAAY,YAAoB,EAAE,WAAmB;QACnD,KAAK,CACH,qBAAqB,WAAW,gDAAgD,YAAY,aAAa,CAC1G,CAAC;IACJ,CAAC;CACF;AAND,kEAMC;AAED,MAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,YACE,YAAoB,EACpB,gBAAiE;QAEjE,KAAK,CACH;EACJ,gBAAgB;aACf,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,UAAU,IAAI,WAAW,GAAG,CAAC;aAC1E,IAAI,CAAC,KAAK,CAAC;0DAC4C,YAAY,GAAG,CACpE,CAAC;IACJ,CAAC;CACF;AAbD,gEAaC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tasks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/internal/tasks.ts"],"names":[],"mappings":""}