hardhat 3.10.0 → 3.11.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/CHANGELOG.md +23 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +11 -7
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/cli/init/init.d.ts +3 -8
- package/dist/src/internal/cli/init/init.d.ts.map +1 -1
- package/dist/src/internal/cli/init/init.js +9 -27
- package/dist/src/internal/cli/init/init.js.map +1 -1
- package/dist/src/internal/cli/init/prompt.d.ts +0 -1
- package/dist/src/internal/cli/init/prompt.d.ts.map +1 -1
- package/dist/src/internal/cli/init/prompt.js +0 -24
- package/dist/src/internal/cli/init/prompt.js.map +1 -1
- package/dist/src/internal/cli/init/template.d.ts +1 -1
- package/dist/src/internal/cli/init/template.d.ts.map +1 -1
- package/dist/src/internal/cli/init/template.js +2 -2
- package/dist/src/internal/cli/init/template.js.map +1 -1
- package/dist/src/internal/cli/main.js +1 -1
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.d.ts +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.js +2 -2
- package/dist/src/internal/cli/telemetry/analytics/analytics.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/types.d.ts +1 -1
- package/dist/src/internal/cli/telemetry/analytics/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +13 -6
- package/src/internal/cli/init/init.ts +4 -38
- package/src/internal/cli/init/prompt.ts +0 -31
- package/src/internal/cli/init/template.ts +2 -4
- package/src/internal/cli/main.ts +1 -1
- package/src/internal/cli/telemetry/analytics/analytics.ts +1 -2
- package/src/internal/cli/telemetry/analytics/types.ts +1 -1
- package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/package.json +1 -1
- package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/package.json +1 -1
- package/templates/{hardhat-3/03-minimal → 03-minimal}/package.json +1 -1
- package/templates/hardhat-2/01-mocha-ethers-js/README.md +0 -13
- package/templates/hardhat-2/01-mocha-ethers-js/contracts/Lock.sol +0 -34
- package/templates/hardhat-2/01-mocha-ethers-js/gitignore +0 -17
- package/templates/hardhat-2/01-mocha-ethers-js/hardhat.config.js +0 -6
- package/templates/hardhat-2/01-mocha-ethers-js/ignition/modules/Lock.js +0 -18
- package/templates/hardhat-2/01-mocha-ethers-js/package.json +0 -23
- package/templates/hardhat-2/01-mocha-ethers-js/test/Lock.js +0 -126
- package/templates/hardhat-2/02-mocha-ethers-js-esm/README.md +0 -13
- package/templates/hardhat-2/02-mocha-ethers-js-esm/contracts/Lock.sol +0 -34
- package/templates/hardhat-2/02-mocha-ethers-js-esm/gitignore +0 -17
- package/templates/hardhat-2/02-mocha-ethers-js-esm/hardhat.config.cjs +0 -6
- package/templates/hardhat-2/02-mocha-ethers-js-esm/ignition/modules/Lock.js +0 -18
- package/templates/hardhat-2/02-mocha-ethers-js-esm/package.json +0 -24
- package/templates/hardhat-2/02-mocha-ethers-js-esm/test/Lock.js +0 -128
- package/templates/hardhat-2/03-mocha-ethers-ts/README.md +0 -13
- package/templates/hardhat-2/03-mocha-ethers-ts/contracts/Lock.sol +0 -34
- package/templates/hardhat-2/03-mocha-ethers-ts/gitignore +0 -17
- package/templates/hardhat-2/03-mocha-ethers-ts/hardhat.config.ts +0 -8
- package/templates/hardhat-2/03-mocha-ethers-ts/ignition/modules/Lock.ts +0 -20
- package/templates/hardhat-2/03-mocha-ethers-ts/package.json +0 -28
- package/templates/hardhat-2/03-mocha-ethers-ts/test/Lock.ts +0 -127
- package/templates/hardhat-2/03-mocha-ethers-ts/tsconfig.json +0 -11
- package/templates/hardhat-2/04-mocha-viem-ts/README.md +0 -13
- package/templates/hardhat-2/04-mocha-viem-ts/contracts/Lock.sol +0 -34
- package/templates/hardhat-2/04-mocha-viem-ts/gitignore +0 -17
- package/templates/hardhat-2/04-mocha-viem-ts/hardhat.config.ts +0 -8
- package/templates/hardhat-2/04-mocha-viem-ts/ignition/modules/Lock.ts +0 -21
- package/templates/hardhat-2/04-mocha-viem-ts/package.json +0 -25
- package/templates/hardhat-2/04-mocha-viem-ts/test/Lock.ts +0 -134
- package/templates/hardhat-2/04-mocha-viem-ts/tsconfig.json +0 -11
- package/templates/hardhat-2/05-empty-hardhat-config-js/hardhat.config.js +0 -4
- package/templates/hardhat-2/05-empty-hardhat-config-js/package.json +0 -9
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/AGENTS.md +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/README.md +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/contracts/Counter.sol +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/contracts/Counter.t.sol +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/gitignore +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/hardhat.config.ts +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/ignition/modules/Counter.ts +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/scripts/send-op-tx.ts +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/test/Counter.ts +0 -0
- /package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/tsconfig.json +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/AGENTS.md +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/README.md +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/contracts/Counter.sol +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/contracts/Counter.t.sol +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/gitignore +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/hardhat.config.ts +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/ignition/modules/Counter.ts +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/scripts/send-op-tx.ts +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/test/Counter.ts +0 -0
- /package/templates/{hardhat-3/02-mocha-ethers → 02-mocha-ethers}/tsconfig.json +0 -0
- /package/templates/{hardhat-3/03-minimal → 03-minimal}/README.md +0 -0
- /package/templates/{hardhat-3/03-minimal → 03-minimal}/gitignore +0 -0
- /package/templates/{hardhat-3/03-minimal → 03-minimal}/hardhat.config.ts +0 -0
- /package/templates/{hardhat-3/03-minimal → 03-minimal}/tsconfig.json +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/internal/cli/main.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/internal/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function sendTelemetryConfigAnalytics(enabled: boolean): Promise<boolean>;
|
|
2
2
|
export declare function sendTaskAnalytics(taskId: string[], command: "hardhat" | "hhu"): Promise<boolean>;
|
|
3
|
-
export declare function sendProjectTypeAnalytics(
|
|
3
|
+
export declare function sendProjectTypeAnalytics(template: string): Promise<boolean>;
|
|
4
4
|
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAyBA,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,SAAS,GAAG,KAAK,GACzB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,wBAAwB,CAC5C,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAyBA,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,SAAS,GAAG,KAAK,GACzB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -40,11 +40,11 @@ export async function sendTaskAnalytics(taskId, command) {
|
|
|
40
40
|
};
|
|
41
41
|
return await sendAnalytics(taskAnalyticsEvent);
|
|
42
42
|
}
|
|
43
|
-
export async function sendProjectTypeAnalytics(
|
|
43
|
+
export async function sendProjectTypeAnalytics(template) {
|
|
44
44
|
const initAnalyticsEvent = {
|
|
45
45
|
name: "init",
|
|
46
46
|
params: {
|
|
47
|
-
hardhatVersion,
|
|
47
|
+
hardhatVersion: "hardhat-3",
|
|
48
48
|
template,
|
|
49
49
|
},
|
|
50
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,GAAG,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAEhE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC5C,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAgB;IAEhB,sEAAsE;IACtE,wFAAwF;IAExF,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,0BAA0B;QACnC,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE;oBACN,OAAO;iBACR;aACF;SACF;KACF,CAAC;IAEF,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAgB,EAChB,OAA0B;IAE1B,MAAM,kBAAkB,GAAmB;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,OAAO;SACR;KACF,CAAC;IAEF,OAAO,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE;YAKN,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QAGb,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC;KAC5B,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,cAAc,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE;YAKN,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QAGb,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC;KAC5B,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,cAAc,EAAE,WAAW,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEN,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,eAAe,EAAE;QACf,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,cAAc,EAAE;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,eAAe,EAAE;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE;YACN,oBAAoB,EAAE,MAAM,CAAC;YAC7B,UAAU,EAAE,MAAM,CAAC;SACpB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hardhat",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.1",
|
|
4
4
|
"description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
|
|
5
5
|
"homepage": "https://hardhat.org",
|
|
6
6
|
"repository": {
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
"@nomicfoundation/hardhat-test-utils": "^2.0.3"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@nomicfoundation/edr": "0.14.
|
|
80
|
+
"@nomicfoundation/edr": "0.14.2",
|
|
81
81
|
"@nomicfoundation/hardhat-errors": "^3.0.17",
|
|
82
|
-
"@nomicfoundation/hardhat-utils": "^4.1.
|
|
82
|
+
"@nomicfoundation/hardhat-utils": "^4.1.6",
|
|
83
83
|
"@nomicfoundation/hardhat-vendored": "^3.0.4",
|
|
84
84
|
"@nomicfoundation/hardhat-zod-utils": "^3.0.5",
|
|
85
85
|
"@nomicfoundation/solidity-analyzer": "^0.1.1",
|
|
@@ -153,19 +153,26 @@ export class SolidityBuildSystemImplementation implements SolidityBuildSystem {
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
public async getScope(fsPath: string): Promise<BuildScope> {
|
|
156
|
+
const isUnderSources = this.#options.soliditySourcesPaths.some(
|
|
157
|
+
(sourcesPath) => fsPath.startsWith(sourcesPath + path.sep),
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
// A `.sol` file under the tests path is a test, unless it is
|
|
161
|
+
// also registered as under a Solidity sources path. Sources takes
|
|
162
|
+
// precedence (e.g. `test/` is listed in `paths.sources.solidity` to access
|
|
163
|
+
// `./test/mocks`)
|
|
156
164
|
if (
|
|
165
|
+
!isUnderSources &&
|
|
157
166
|
fsPath.startsWith(this.#options.solidityTestsPath + path.sep) &&
|
|
158
167
|
fsPath.endsWith(".sol")
|
|
159
168
|
) {
|
|
160
169
|
return "tests";
|
|
161
170
|
}
|
|
162
171
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
}
|
|
172
|
+
// Foundry-style `.t.sol` files under a sources path are always tests, even
|
|
173
|
+
// when sources take precedence over the tests path.
|
|
174
|
+
if (fsPath.endsWith(".t.sol") && isUnderSources) {
|
|
175
|
+
return "tests";
|
|
169
176
|
}
|
|
170
177
|
|
|
171
178
|
return "contracts";
|
|
@@ -50,7 +50,6 @@ import {
|
|
|
50
50
|
promptForTemplate,
|
|
51
51
|
promptForUpdate,
|
|
52
52
|
promptForWorkspace,
|
|
53
|
-
promptForHardhatVersion,
|
|
54
53
|
} from "./prompt.js";
|
|
55
54
|
import { spawn } from "./subprocess.js";
|
|
56
55
|
import { getTemplates } from "./template.js";
|
|
@@ -60,7 +59,6 @@ export interface NonInteractiveInitHardhat3Options {
|
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
export interface InitHardhatOptions {
|
|
63
|
-
hardhatVersion?: "hardhat-2" | "hardhat-3";
|
|
64
62
|
workspace?: string;
|
|
65
63
|
migrateToEsm?: boolean;
|
|
66
64
|
template?: string;
|
|
@@ -74,7 +72,6 @@ export async function initHardhat3NonInteractive(
|
|
|
74
72
|
options: NonInteractiveInitHardhat3Options,
|
|
75
73
|
): Promise<void> {
|
|
76
74
|
const [template, projectTypeAnalyticsPromise] = await getTemplate(
|
|
77
|
-
"hardhat-3",
|
|
78
75
|
options.template,
|
|
79
76
|
true,
|
|
80
77
|
);
|
|
@@ -161,9 +158,6 @@ export async function initHardhat(options?: InitHardhatOptions): Promise<void> {
|
|
|
161
158
|
|
|
162
159
|
await printWelcomeMessage();
|
|
163
160
|
|
|
164
|
-
const hardhatVersion =
|
|
165
|
-
options?.hardhatVersion ?? (await promptForHardhatVersion());
|
|
166
|
-
|
|
167
161
|
// Ask the user for the workspace to initialize the project in
|
|
168
162
|
// if it was not provided, and validate that it is not already initialized
|
|
169
163
|
const workspace = await getWorkspace(options?.workspace);
|
|
@@ -171,7 +165,6 @@ export async function initHardhat(options?: InitHardhatOptions): Promise<void> {
|
|
|
171
165
|
// Ask the user for the template to use for the project initialization
|
|
172
166
|
// if it was not provided, and validate that it exists
|
|
173
167
|
const [template, projectTypeAnalyticsPromise] = await getTemplate(
|
|
174
|
-
hardhatVersion,
|
|
175
168
|
options?.template,
|
|
176
169
|
);
|
|
177
170
|
|
|
@@ -339,7 +332,6 @@ export async function getWorkspace(workspace?: string): Promise<string> {
|
|
|
339
332
|
*
|
|
340
333
|
* NOTE: This function is exported for testing purposes
|
|
341
334
|
*
|
|
342
|
-
* @param hardhatVersion The version of Hardhat whose templates should be considered.
|
|
343
335
|
* @param template The name of the template to use for the project initialization.
|
|
344
336
|
* @param includeAvailableTemplatesInErrors When true, a missing template throws
|
|
345
337
|
* `TEMPLATE_NOT_FOUND_WITH_LIST_OF_OPTIONS` (which lists the available
|
|
@@ -347,21 +339,17 @@ export async function getWorkspace(workspace?: string): Promise<string> {
|
|
|
347
339
|
* @returns A tuple with two elements: the template and a promise with the analytics hit.
|
|
348
340
|
*/
|
|
349
341
|
export async function getTemplate(
|
|
350
|
-
hardhatVersion: "hardhat-2" | "hardhat-3",
|
|
351
342
|
template?: string,
|
|
352
343
|
includeAvailableTemplatesInErrors = false,
|
|
353
344
|
): Promise<[Template, Promise<boolean>]> {
|
|
354
|
-
const templates = await getTemplates(
|
|
345
|
+
const templates = await getTemplates();
|
|
355
346
|
|
|
356
347
|
// Ask the user for the template to use for the project initialization if it was not provided
|
|
357
348
|
if (template === undefined) {
|
|
358
349
|
template = await promptForTemplate(templates);
|
|
359
350
|
}
|
|
360
351
|
|
|
361
|
-
const projectTypeAnalyticsPromise = sendProjectTypeAnalytics(
|
|
362
|
-
hardhatVersion,
|
|
363
|
-
template,
|
|
364
|
-
);
|
|
352
|
+
const projectTypeAnalyticsPromise = sendProjectTypeAnalytics(template);
|
|
365
353
|
|
|
366
354
|
// Validate that the template exists
|
|
367
355
|
for (const t of templates) {
|
|
@@ -393,16 +381,12 @@ export async function getTemplate(
|
|
|
393
381
|
}
|
|
394
382
|
|
|
395
383
|
/**
|
|
396
|
-
* Prints the list of available templates
|
|
397
|
-
*
|
|
398
|
-
* @param hardhatVersion The version of Hardhat whose templates should be
|
|
399
|
-
* printed.
|
|
384
|
+
* Prints the list of available templates.
|
|
400
385
|
*/
|
|
401
386
|
export async function printTemplatesList(
|
|
402
|
-
hardhatVersion: "hardhat-2" | "hardhat-3",
|
|
403
387
|
print: (message: string) => void = console.log,
|
|
404
388
|
): Promise<void> {
|
|
405
|
-
const templates = await getTemplates(
|
|
389
|
+
const templates = await getTemplates();
|
|
406
390
|
const lines = templates.map((t) => ` - ${t.name}`).join("\n");
|
|
407
391
|
print(`Available templates:\n${lines}`);
|
|
408
392
|
}
|
|
@@ -448,24 +432,6 @@ export async function validatePackageJson(
|
|
|
448
432
|
// package managers support `<package manager> pkg set type=module`.
|
|
449
433
|
const packageManagerToUse = packageManager === "pnpm" ? "pnpm" : "npm";
|
|
450
434
|
|
|
451
|
-
// We need to set the hardhat version in the package.json file
|
|
452
|
-
// to ensure that the template is compatible with the current Hardhat version.
|
|
453
|
-
// This is needed because we have hardhat-2 and hardhat-3 templates,
|
|
454
|
-
// and the user may install hardhat 3 first and then initialize a project
|
|
455
|
-
// with a hardhat-2 template.
|
|
456
|
-
const templateHardhatVersion = templatePkg.devDependencies?.hardhat ?? "";
|
|
457
|
-
if (templateHardhatVersion.startsWith("^2")) {
|
|
458
|
-
await spawn(
|
|
459
|
-
[packageManagerToUse, "pkg", "delete", "dependencies.hardhat"].join(" "),
|
|
460
|
-
[],
|
|
461
|
-
{
|
|
462
|
-
cwd: workspace,
|
|
463
|
-
shell: true,
|
|
464
|
-
stdio: "inherit",
|
|
465
|
-
},
|
|
466
|
-
);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
435
|
if (!shouldUseEsm) {
|
|
470
436
|
return;
|
|
471
437
|
}
|
|
@@ -6,37 +6,6 @@ import { HardhatError } from "@nomicfoundation/hardhat-errors";
|
|
|
6
6
|
import { shortenPath } from "@nomicfoundation/hardhat-utils/path";
|
|
7
7
|
import enquirer from "enquirer";
|
|
8
8
|
|
|
9
|
-
export async function promptForHardhatVersion(): Promise<
|
|
10
|
-
"hardhat-2" | "hardhat-3"
|
|
11
|
-
> {
|
|
12
|
-
ensureTTY();
|
|
13
|
-
|
|
14
|
-
const hardhatVersionResponse = await enquirer.prompt<{
|
|
15
|
-
hardhatVersion: "hardhat-2" | "hardhat-3";
|
|
16
|
-
}>([
|
|
17
|
-
{
|
|
18
|
-
name: "hardhatVersion",
|
|
19
|
-
type: "select",
|
|
20
|
-
message: "Which version of Hardhat would you like to use?",
|
|
21
|
-
initial: 0,
|
|
22
|
-
choices: [
|
|
23
|
-
{
|
|
24
|
-
name: "hardhat-3",
|
|
25
|
-
message: "Hardhat 3 (recommended for new projects)",
|
|
26
|
-
value: "hardhat-3",
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: "hardhat-2",
|
|
30
|
-
message: "Hardhat 2 (older version)",
|
|
31
|
-
value: "hardhat-2",
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
|
-
]);
|
|
36
|
-
|
|
37
|
-
return hardhatVersionResponse.hardhatVersion;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
9
|
export async function promptForWorkspace(): Promise<string> {
|
|
41
10
|
ensureTTY();
|
|
42
11
|
|
|
@@ -34,11 +34,9 @@ export interface Template {
|
|
|
34
34
|
*
|
|
35
35
|
* @returns The list of available templates.
|
|
36
36
|
*/
|
|
37
|
-
export async function getTemplates(
|
|
38
|
-
templatesDir: "hardhat-2" | "hardhat-3",
|
|
39
|
-
): Promise<Template[]> {
|
|
37
|
+
export async function getTemplates(): Promise<Template[]> {
|
|
40
38
|
const packageRoot = await findClosestPackageRoot(import.meta.url);
|
|
41
|
-
const pathToTemplates = path.join(packageRoot, "templates"
|
|
39
|
+
const pathToTemplates = path.join(packageRoot, "templates");
|
|
42
40
|
|
|
43
41
|
const pathsToTemplates = await readdirOrEmpty(pathToTemplates);
|
|
44
42
|
pathsToTemplates.sort();
|
package/src/internal/cli/main.ts
CHANGED
|
@@ -68,13 +68,12 @@ export async function sendTaskAnalytics(
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
export async function sendProjectTypeAnalytics(
|
|
71
|
-
hardhatVersion: "hardhat-2" | "hardhat-3",
|
|
72
71
|
template: string,
|
|
73
72
|
): Promise<boolean> {
|
|
74
73
|
const initAnalyticsEvent: AnalyticsEvent = {
|
|
75
74
|
name: "init",
|
|
76
75
|
params: {
|
|
77
|
-
hardhatVersion,
|
|
76
|
+
hardhatVersion: "hardhat-3",
|
|
78
77
|
template,
|
|
79
78
|
},
|
|
80
79
|
};
|
package/templates/{hardhat-3/01-node-test-runner-viem → 01-node-test-runner-viem}/package.json
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "A TypeScript Hardhat project using Node Test Runner and Viem",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"hardhat": "workspace:^3.
|
|
8
|
+
"hardhat": "workspace:^3.11.1",
|
|
9
9
|
"@nomicfoundation/hardhat-toolbox-viem": "workspace:^5.0.7",
|
|
10
10
|
"@nomicfoundation/hardhat-ignition": "workspace:^3.1.8",
|
|
11
11
|
"@types/node": "^22.8.5",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "A TypeScript Hardhat project using Mocha and Ethers.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"hardhat": "workspace:^3.
|
|
8
|
+
"hardhat": "workspace:^3.11.1",
|
|
9
9
|
"@nomicfoundation/hardhat-toolbox-mocha-ethers": "workspace:^3.0.7",
|
|
10
10
|
"@nomicfoundation/hardhat-ethers": "workspace:^4.0.15",
|
|
11
11
|
"@nomicfoundation/hardhat-ignition": "workspace:^3.1.8",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Sample Hardhat Project
|
|
2
|
-
|
|
3
|
-
This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a Hardhat Ignition module that deploys that contract.
|
|
4
|
-
|
|
5
|
-
Try running some of the following tasks:
|
|
6
|
-
|
|
7
|
-
```shell
|
|
8
|
-
npx hardhat help
|
|
9
|
-
npx hardhat test
|
|
10
|
-
REPORT_GAS=true npx hardhat test
|
|
11
|
-
npx hardhat node
|
|
12
|
-
npx hardhat ignition deploy ./ignition/modules/Lock.js
|
|
13
|
-
```
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: UNLICENSED
|
|
2
|
-
pragma solidity ^0.8.28;
|
|
3
|
-
|
|
4
|
-
// Uncomment this line to use console.log
|
|
5
|
-
// import "hardhat/console.sol";
|
|
6
|
-
|
|
7
|
-
contract Lock {
|
|
8
|
-
uint public unlockTime;
|
|
9
|
-
address payable public owner;
|
|
10
|
-
|
|
11
|
-
event Withdrawal(uint amount, uint when);
|
|
12
|
-
|
|
13
|
-
constructor(uint _unlockTime) payable {
|
|
14
|
-
require(
|
|
15
|
-
block.timestamp < _unlockTime,
|
|
16
|
-
"Unlock time should be in the future"
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
unlockTime = _unlockTime;
|
|
20
|
-
owner = payable(msg.sender);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function withdraw() public {
|
|
24
|
-
// Uncomment this line, and the import of "hardhat/console.sol", to print a log in your terminal
|
|
25
|
-
// console.log("Unlock time is %o and block timestamp is %o", unlockTime, block.timestamp);
|
|
26
|
-
|
|
27
|
-
require(block.timestamp >= unlockTime, "You can't withdraw yet");
|
|
28
|
-
require(msg.sender == owner, "You aren't the owner");
|
|
29
|
-
|
|
30
|
-
emit Withdrawal(address(this).balance, block.timestamp);
|
|
31
|
-
|
|
32
|
-
owner.transfer(address(this).balance);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
node_modules
|
|
2
|
-
.env
|
|
3
|
-
|
|
4
|
-
# Hardhat files
|
|
5
|
-
/cache
|
|
6
|
-
/artifacts
|
|
7
|
-
|
|
8
|
-
# TypeChain files
|
|
9
|
-
/typechain
|
|
10
|
-
/typechain-types
|
|
11
|
-
|
|
12
|
-
# solidity-coverage files
|
|
13
|
-
/coverage
|
|
14
|
-
/coverage.json
|
|
15
|
-
|
|
16
|
-
# Hardhat Ignition default folder for deployments against a local node
|
|
17
|
-
ignition/deployments/chain-31337
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// This setup uses Hardhat Ignition to manage smart contract deployments.
|
|
2
|
-
// Learn more about it at https://hardhat.org/ignition
|
|
3
|
-
|
|
4
|
-
const { buildModule } = require("@nomicfoundation/hardhat-ignition/modules");
|
|
5
|
-
|
|
6
|
-
const JAN_1ST_2030 = 1893456000;
|
|
7
|
-
const ONE_GWEI = 1_000_000_000n;
|
|
8
|
-
|
|
9
|
-
module.exports = buildModule("LockModule", (m) => {
|
|
10
|
-
const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030);
|
|
11
|
-
const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI);
|
|
12
|
-
|
|
13
|
-
const lock = m.contract("Lock", [unlockTime], {
|
|
14
|
-
value: lockedAmount,
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
return { lock };
|
|
18
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "template-v2-mocha-ethers-js",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "0.0.1",
|
|
5
|
-
"description": "A Javascript project using Mocha and Ethers.js",
|
|
6
|
-
"devDependencies": {
|
|
7
|
-
"@nomicfoundation/hardhat-chai-matchers": "^2.0.0",
|
|
8
|
-
"@nomicfoundation/hardhat-ethers": "^3.0.0",
|
|
9
|
-
"@nomicfoundation/hardhat-ignition": "^0.15.0",
|
|
10
|
-
"@nomicfoundation/hardhat-ignition-ethers": "^0.15.0",
|
|
11
|
-
"@nomicfoundation/hardhat-network-helpers": "^1.0.0",
|
|
12
|
-
"@nomicfoundation/hardhat-toolbox": "^6.0.0",
|
|
13
|
-
"@nomicfoundation/hardhat-verify": "^2.0.0",
|
|
14
|
-
"@typechain/ethers-v6": "^0.5.0",
|
|
15
|
-
"@typechain/hardhat": "^9.0.0",
|
|
16
|
-
"chai": "^4.2.0",
|
|
17
|
-
"ethers": "^6.4.0",
|
|
18
|
-
"hardhat": "^2.14.0",
|
|
19
|
-
"hardhat-gas-reporter": "^2.3.0",
|
|
20
|
-
"solidity-coverage": "^0.8.0",
|
|
21
|
-
"typechain": "^8.3.0"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
const {
|
|
2
|
-
time,
|
|
3
|
-
loadFixture,
|
|
4
|
-
} = require("@nomicfoundation/hardhat-toolbox/network-helpers");
|
|
5
|
-
const { anyValue } = require("@nomicfoundation/hardhat-chai-matchers/withArgs");
|
|
6
|
-
const { expect } = require("chai");
|
|
7
|
-
|
|
8
|
-
describe("Lock", function () {
|
|
9
|
-
// We define a fixture to reuse the same setup in every test.
|
|
10
|
-
// We use loadFixture to run this setup once, snapshot that state,
|
|
11
|
-
// and reset Hardhat Network to that snapshot in every test.
|
|
12
|
-
async function deployOneYearLockFixture() {
|
|
13
|
-
const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60;
|
|
14
|
-
const ONE_GWEI = 1_000_000_000;
|
|
15
|
-
|
|
16
|
-
const lockedAmount = ONE_GWEI;
|
|
17
|
-
const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS;
|
|
18
|
-
|
|
19
|
-
// Contracts are deployed using the first signer/account by default
|
|
20
|
-
const [owner, otherAccount] = await ethers.getSigners();
|
|
21
|
-
|
|
22
|
-
const Lock = await ethers.getContractFactory("Lock");
|
|
23
|
-
const lock = await Lock.deploy(unlockTime, { value: lockedAmount });
|
|
24
|
-
|
|
25
|
-
return { lock, unlockTime, lockedAmount, owner, otherAccount };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
describe("Deployment", function () {
|
|
29
|
-
it("Should set the right unlockTime", async function () {
|
|
30
|
-
const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture);
|
|
31
|
-
|
|
32
|
-
expect(await lock.unlockTime()).to.equal(unlockTime);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("Should set the right owner", async function () {
|
|
36
|
-
const { lock, owner } = await loadFixture(deployOneYearLockFixture);
|
|
37
|
-
|
|
38
|
-
expect(await lock.owner()).to.equal(owner.address);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("Should receive and store the funds to lock", async function () {
|
|
42
|
-
const { lock, lockedAmount } = await loadFixture(
|
|
43
|
-
deployOneYearLockFixture,
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
expect(await ethers.provider.getBalance(lock.target)).to.equal(
|
|
47
|
-
lockedAmount,
|
|
48
|
-
);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("Should fail if the unlockTime is not in the future", async function () {
|
|
52
|
-
// We don't use the fixture here because we want a different deployment
|
|
53
|
-
const latestTime = await time.latest();
|
|
54
|
-
const Lock = await ethers.getContractFactory("Lock");
|
|
55
|
-
await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith(
|
|
56
|
-
"Unlock time should be in the future",
|
|
57
|
-
);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
describe("Withdrawals", function () {
|
|
62
|
-
describe("Validations", function () {
|
|
63
|
-
it("Should revert with the right error if called too soon", async function () {
|
|
64
|
-
const { lock } = await loadFixture(deployOneYearLockFixture);
|
|
65
|
-
|
|
66
|
-
await expect(lock.withdraw()).to.be.revertedWith(
|
|
67
|
-
"You can't withdraw yet",
|
|
68
|
-
);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it("Should revert with the right error if called from another account", async function () {
|
|
72
|
-
const { lock, unlockTime, otherAccount } = await loadFixture(
|
|
73
|
-
deployOneYearLockFixture,
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
// We can increase the time in Hardhat Network
|
|
77
|
-
await time.increaseTo(unlockTime);
|
|
78
|
-
|
|
79
|
-
// We use lock.connect() to send a transaction from another account
|
|
80
|
-
await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith(
|
|
81
|
-
"You aren't the owner",
|
|
82
|
-
);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () {
|
|
86
|
-
const { lock, unlockTime } = await loadFixture(
|
|
87
|
-
deployOneYearLockFixture,
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
// Transactions are sent using the first signer by default
|
|
91
|
-
await time.increaseTo(unlockTime);
|
|
92
|
-
|
|
93
|
-
await expect(lock.withdraw()).not.to.be.reverted;
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
describe("Events", function () {
|
|
98
|
-
it("Should emit an event on withdrawals", async function () {
|
|
99
|
-
const { lock, unlockTime, lockedAmount } = await loadFixture(
|
|
100
|
-
deployOneYearLockFixture,
|
|
101
|
-
);
|
|
102
|
-
|
|
103
|
-
await time.increaseTo(unlockTime);
|
|
104
|
-
|
|
105
|
-
await expect(lock.withdraw())
|
|
106
|
-
.to.emit(lock, "Withdrawal")
|
|
107
|
-
.withArgs(lockedAmount, anyValue); // We accept any value as `when` arg
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
describe("Transfers", function () {
|
|
112
|
-
it("Should transfer the funds to the owner", async function () {
|
|
113
|
-
const { lock, unlockTime, lockedAmount, owner } = await loadFixture(
|
|
114
|
-
deployOneYearLockFixture,
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
await time.increaseTo(unlockTime);
|
|
118
|
-
|
|
119
|
-
await expect(lock.withdraw()).to.changeEtherBalances(
|
|
120
|
-
[owner, lock],
|
|
121
|
-
[lockedAmount, -lockedAmount],
|
|
122
|
-
);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
});
|