| # Hardhat + viem project | ||
| ## Project layout | ||
| ``` | ||
| contracts/ Solidity source files (*.sol) and unit tests (*.t.sol) | ||
| test/ TypeScript integration tests and Solidity unit tests (*.sol) | ||
| ignition/ Hardhat Ignition deployment modules | ||
| scripts/ Standalone scripts run with `hardhat run` | ||
| hardhat.config.ts | ||
| ``` | ||
| ## Working in this project | ||
| When writing or modifying tests, configuring `hardhat.config.ts`, or interacting with the network from TypeScript, invoke the **`hardhat`** skill. It covers Solidity and TypeScript testing, how to choose between them, `forge-std` cheatcodes, the `network.create()` API, `networkHelpers`, and the compile-then-typecheck workflow. The skill itself points to the matching `hardhat-toolbox-*` skill for toolbox-specific guidance (clients, contract interaction, assertions). | ||
| ## Docs | ||
| - Hardhat 3 — https://hardhat.org/llms.txt | ||
| - viem — https://viem.sh/llms.txt |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import hardhatToolboxViemPlugin from "@nomicfoundation/hardhat-toolbox-viem"; | ||
| import { configVariable, defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| plugins: [hardhatToolboxViemPlugin], | ||
| solidity: { | ||
| profiles: { | ||
| default: { | ||
| version: "0.8.28", | ||
| }, | ||
| production: { | ||
| version: "0.8.28", | ||
| settings: { | ||
| optimizer: { | ||
| enabled: true, | ||
| runs: 200, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| networks: { | ||
| hardhatMainnet: { | ||
| type: "edr-simulated", | ||
| chainType: "l1", | ||
| }, | ||
| hardhatOp: { | ||
| type: "edr-simulated", | ||
| chainType: "op", | ||
| }, | ||
| sepolia: { | ||
| type: "http", | ||
| chainType: "l1", | ||
| url: configVariable("SEPOLIA_RPC_URL"), | ||
| accounts: [configVariable("SEPOLIA_PRIVATE_KEY")], | ||
| }, | ||
| }, | ||
| }); |
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| export default buildModule("CounterModule", (m) => { | ||
| const counter = m.contract("Counter"); | ||
| m.call(counter, "incBy", [5n]); | ||
| return { counter }; | ||
| }); |
| { | ||
| "name": "template-node-test-runner-viem", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A TypeScript Hardhat project using Node Test Runner and Viem", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.1", | ||
| "@nomicfoundation/hardhat-toolbox-viem": "workspace:^5.0.7", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@types/node": "^22.8.5", | ||
| "forge-std": "foundry-rs/forge-std#v1.9.4", | ||
| "typescript": "~6.0.3", | ||
| "viem": "^2.47.6" | ||
| }, | ||
| "peerDependencies": { | ||
| "@nomicfoundation/hardhat-ignition-viem": "workspace:^3.1.6", | ||
| "@nomicfoundation/hardhat-keystore": "workspace:^3.0.12", | ||
| "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-node-test-runner": "workspace:^3.0.17", | ||
| "@nomicfoundation/hardhat-viem": "workspace:^3.0.9", | ||
| "@nomicfoundation/hardhat-viem-assertions": "workspace:^3.1.2", | ||
| "@nomicfoundation/hardhat-verify": "workspace:^3.0.21", | ||
| "@nomicfoundation/ignition-core": "workspace:^3.1.8" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (`node:test` and `viem`) | ||
| This project showcases a Hardhat 3 project using the native Node.js test runner (`node:test`) and the `viem` library for Ethereum interactions. | ||
| To learn more about Hardhat 3, please visit the [Getting Started guide](https://hardhat.org/docs/getting-started#getting-started-with-hardhat-3). To share your feedback, join our [Hardhat 3](https://hardhat.org/hardhat3-telegram-group) Telegram group or [open an issue](https://github.com/NomicFoundation/hardhat/issues/new) in our GitHub issue tracker. | ||
| ## Project Overview | ||
| This example project includes: | ||
| - A simple Hardhat configuration file. | ||
| - Foundry-compatible Solidity unit tests. | ||
| - TypeScript integration tests using [`node:test`](nodejs.org/api/test.html), the new Node.js native test runner, and [`viem`](https://viem.sh/). | ||
| - Examples demonstrating how to connect to different types of networks, including locally simulating OP mainnet. | ||
| ## Usage | ||
| ### Running Tests | ||
| To run all the tests in the project, execute the following command: | ||
| ```shell | ||
| npx hardhat test | ||
| ``` | ||
| You can also selectively run the Solidity or `node:test` tests: | ||
| ```shell | ||
| npx hardhat test solidity | ||
| npx hardhat test nodejs | ||
| ``` | ||
| ### Make a deployment to Sepolia | ||
| This project includes an example Ignition module to deploy the contract. You can deploy this module to a locally simulated chain or to Sepolia. | ||
| To run the deployment to a local chain: | ||
| ```shell | ||
| npx hardhat ignition deploy ignition/modules/Counter.ts | ||
| ``` | ||
| To run the deployment to Sepolia, you need an account with funds to send the transaction. The provided Hardhat configuration includes a Configuration Variable called `SEPOLIA_PRIVATE_KEY`, which you can use to set the private key of the account you want to use. | ||
| You can set the `SEPOLIA_PRIVATE_KEY` variable using the `hardhat-keystore` plugin or by setting it as an environment variable. | ||
| To set the `SEPOLIA_PRIVATE_KEY` config variable using `hardhat-keystore`: | ||
| ```shell | ||
| npx hardhat keystore set SEPOLIA_PRIVATE_KEY | ||
| ``` | ||
| After setting the variable, you can run the deployment with the Sepolia network: | ||
| ```shell | ||
| npx hardhat ignition deploy --network sepolia ignition/modules/Counter.ts | ||
| ``` |
| import { network } from "hardhat"; | ||
| const { viem } = await network.create({ | ||
| network: "hardhatOp", | ||
| chainType: "op", | ||
| }); | ||
| console.log("Sending transaction using the OP chain type"); | ||
| const publicClient = await viem.getPublicClient(); | ||
| const [senderClient] = await viem.getWalletClients(); | ||
| console.log("Sending 1 wei from", senderClient.account.address, "to itself"); | ||
| const l1Gas = await publicClient.estimateL1Gas({ | ||
| account: senderClient.account.address, | ||
| to: senderClient.account.address, | ||
| value: 1n, | ||
| }); | ||
| console.log("Estimated L1 gas:", l1Gas); | ||
| console.log("Sending L2 transaction"); | ||
| const tx = await senderClient.sendTransaction({ | ||
| to: senderClient.account.address, | ||
| value: 1n, | ||
| }); | ||
| await publicClient.waitForTransactionReceipt({ hash: tx }); | ||
| console.log("Transaction sent successfully"); |
| import assert from "node:assert/strict"; | ||
| import { describe, it } from "node:test"; | ||
| import { network } from "hardhat"; | ||
| describe("Counter", async function () { | ||
| const { viem } = await network.create(); | ||
| const publicClient = await viem.getPublicClient(); | ||
| it("Should emit the Increment event when calling the inc() function", async function () { | ||
| const counter = await viem.deployContract("Counter"); | ||
| await viem.assertions.emitWithArgs( | ||
| counter.write.inc(), | ||
| counter, | ||
| "Increment", | ||
| [1n], | ||
| ); | ||
| }); | ||
| it("The sum of the Increment events should match the current value", async function () { | ||
| const counter = await viem.deployContract("Counter"); | ||
| const deploymentBlockNumber = await publicClient.getBlockNumber(); | ||
| // run a series of increments | ||
| for (let i = 1n; i <= 10n; i++) { | ||
| await counter.write.incBy([i]); | ||
| } | ||
| const events = await publicClient.getContractEvents({ | ||
| address: counter.address, | ||
| abi: counter.abi, | ||
| eventName: "Increment", | ||
| fromBlock: deploymentBlockNumber, | ||
| strict: true, | ||
| }); | ||
| // check that the aggregated events match the current value | ||
| let total = 0n; | ||
| for (const event of events) { | ||
| total += event.args.by; | ||
| } | ||
| assert.equal(total, await counter.read.x()); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
| # Hardhat + ethers project | ||
| ## Project layout | ||
| ``` | ||
| contracts/ Solidity source files (*.sol) and unit tests (*.t.sol) | ||
| test/ TypeScript integration tests and Solidity unit tests (*.sol) | ||
| ignition/ Hardhat Ignition deployment modules | ||
| scripts/ Standalone scripts run with `hardhat run` | ||
| hardhat.config.ts | ||
| ``` | ||
| ## Working in this project | ||
| When writing or modifying tests, configuring `hardhat.config.ts`, or interacting with the network from TypeScript, invoke the **`hardhat`** skill. It covers Solidity and TypeScript testing, how to choose between them, `forge-std` cheatcodes, the `network.create()` API, `networkHelpers`, and the compile-then-typecheck workflow. The skill itself points to the matching `hardhat-toolbox-*` skill for toolbox-specific guidance (signers, contract interaction, assertions). | ||
| ## Docs | ||
| - Hardhat 3 — https://hardhat.org/llms.txt | ||
| - ethers.js — https://docs.ethers.org/v6/ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import hardhatToolboxMochaEthersPlugin from "@nomicfoundation/hardhat-toolbox-mocha-ethers"; | ||
| import { configVariable, defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| plugins: [hardhatToolboxMochaEthersPlugin], | ||
| solidity: { | ||
| profiles: { | ||
| default: { | ||
| version: "0.8.28", | ||
| }, | ||
| production: { | ||
| version: "0.8.28", | ||
| settings: { | ||
| optimizer: { | ||
| enabled: true, | ||
| runs: 200, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| networks: { | ||
| hardhatMainnet: { | ||
| type: "edr-simulated", | ||
| chainType: "l1", | ||
| }, | ||
| hardhatOp: { | ||
| type: "edr-simulated", | ||
| chainType: "op", | ||
| }, | ||
| sepolia: { | ||
| type: "http", | ||
| chainType: "l1", | ||
| url: configVariable("SEPOLIA_RPC_URL"), | ||
| accounts: [configVariable("SEPOLIA_PRIVATE_KEY")], | ||
| }, | ||
| }, | ||
| }); |
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| export default buildModule("CounterModule", (m) => { | ||
| const counter = m.contract("Counter"); | ||
| m.call(counter, "incBy", [5n]); | ||
| return { counter }; | ||
| }); |
| { | ||
| "name": "template-mocha-ethers", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A TypeScript Hardhat project using Mocha and Ethers.js", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.1", | ||
| "@nomicfoundation/hardhat-toolbox-mocha-ethers": "workspace:^3.0.7", | ||
| "@nomicfoundation/hardhat-ethers": "workspace:^4.0.15", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@types/chai": "^5.2.3", | ||
| "@types/chai-as-promised": "^8.0.1", | ||
| "@types/mocha": ">=10.0.10", | ||
| "@types/node": "^22.8.5", | ||
| "chai": "^6.2.2", | ||
| "ethers": "^6.14.0", | ||
| "forge-std": "foundry-rs/forge-std#v1.9.4", | ||
| "mocha": "^11.0.0", | ||
| "typescript": "~6.0.3" | ||
| }, | ||
| "peerDependencies": { | ||
| "@nomicfoundation/hardhat-ethers": "workspace:^4.0.15", | ||
| "@nomicfoundation/hardhat-ethers-chai-matchers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@nomicfoundation/hardhat-ignition-ethers": "workspace:^3.1.6", | ||
| "@nomicfoundation/hardhat-keystore": "workspace:^3.0.12", | ||
| "@nomicfoundation/hardhat-mocha": "workspace:^3.0.21", | ||
| "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-typechain": "workspace:^3.1.1", | ||
| "@nomicfoundation/hardhat-verify": "workspace:^3.0.21", | ||
| "@nomicfoundation/ignition-core": "workspace:^3.1.8" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (`mocha` and `ethers`) | ||
| This project showcases a Hardhat 3 project using `mocha` for tests and the `ethers` library for Ethereum interactions. | ||
| To learn more about Hardhat 3, please visit the [Getting Started guide](https://hardhat.org/docs/getting-started#getting-started-with-hardhat-3). To share your feedback, join our [Hardhat 3](https://hardhat.org/hardhat3-telegram-group) Telegram group or [open an issue](https://github.com/NomicFoundation/hardhat/issues/new) in our GitHub issue tracker. | ||
| ## Project Overview | ||
| This example project includes: | ||
| - A simple Hardhat configuration file. | ||
| - Foundry-compatible Solidity unit tests. | ||
| - TypeScript integration tests using `mocha` and ethers.js | ||
| - Examples demonstrating how to connect to different types of networks, including locally simulating OP mainnet. | ||
| ## Usage | ||
| ### Running Tests | ||
| To run all the tests in the project, execute the following command: | ||
| ```shell | ||
| npx hardhat test | ||
| ``` | ||
| You can also selectively run the Solidity or `mocha` tests: | ||
| ```shell | ||
| npx hardhat test solidity | ||
| npx hardhat test mocha | ||
| ``` | ||
| ### Make a deployment to Sepolia | ||
| This project includes an example Ignition module to deploy the contract. You can deploy this module to a locally simulated chain or to Sepolia. | ||
| To run the deployment to a local chain: | ||
| ```shell | ||
| npx hardhat ignition deploy ignition/modules/Counter.ts | ||
| ``` | ||
| To run the deployment to Sepolia, you need an account with funds to send the transaction. The provided Hardhat configuration includes a Configuration Variable called `SEPOLIA_PRIVATE_KEY`, which you can use to set the private key of the account you want to use. | ||
| You can set the `SEPOLIA_PRIVATE_KEY` variable using the `hardhat-keystore` plugin or by setting it as an environment variable. | ||
| To set the `SEPOLIA_PRIVATE_KEY` config variable using `hardhat-keystore`: | ||
| ```shell | ||
| npx hardhat keystore set SEPOLIA_PRIVATE_KEY | ||
| ``` | ||
| After setting the variable, you can run the deployment with the Sepolia network: | ||
| ```shell | ||
| npx hardhat ignition deploy --network sepolia ignition/modules/Counter.ts | ||
| ``` |
| import { network } from "hardhat"; | ||
| const { ethers } = await network.create({ | ||
| network: "hardhatOp", | ||
| chainType: "op", | ||
| }); | ||
| console.log("Sending transaction using the OP chain type"); | ||
| const [sender] = await ethers.getSigners(); | ||
| console.log("Sending 1 wei from", sender.address, "to itself"); | ||
| console.log("Sending L2 transaction"); | ||
| const tx = await sender.sendTransaction({ | ||
| to: sender.address, | ||
| value: 1n, | ||
| }); | ||
| await tx.wait(); | ||
| console.log("Transaction sent successfully"); |
| import { expect } from "chai"; | ||
| import { network } from "hardhat"; | ||
| const { ethers } = await network.create(); | ||
| describe("Counter", function () { | ||
| it("Should emit the Increment event when calling the inc() function", async function () { | ||
| const counter = await ethers.deployContract("Counter"); | ||
| await expect(counter.inc()).to.emit(counter, "Increment").withArgs(1n); | ||
| }); | ||
| it("The sum of the Increment events should match the current value", async function () { | ||
| const counter = await ethers.deployContract("Counter"); | ||
| const deploymentBlockNumber = await ethers.provider.getBlockNumber(); | ||
| // run a series of increments | ||
| for (let i = 1; i <= 10; i++) { | ||
| await counter.incBy(i); | ||
| } | ||
| const events = await counter.queryFilter( | ||
| counter.filters.Increment(), | ||
| deploymentBlockNumber, | ||
| "latest", | ||
| ); | ||
| // check that the aggregated events match the current value | ||
| let total = 0n; | ||
| for (const event of events) { | ||
| total += event.args.by; | ||
| } | ||
| expect(await counter.x()).to.equal(total); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node", "mocha"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
| import { defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| solidity: { | ||
| version: "0.8.28", | ||
| }, | ||
| }); |
| { | ||
| "name": "template-minimal", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A minimal Hardhat project", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.1", | ||
| "@types/node": "^22.8.5", | ||
| "typescript": "~6.0.3" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (minimal) | ||
| This project has a minimal setup of Hardhat 3, without any plugins. | ||
| ## What's included? | ||
| The project includes native support for TypeScript, Hardhat scripts, tasks, and support for Solidity compilation and tests. |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"} |
@@ -63,12 +63,16 @@ import os from "node:os"; | ||
| async getScope(fsPath) { | ||
| if (fsPath.startsWith(this.#options.solidityTestsPath + path.sep) && | ||
| const isUnderSources = this.#options.soliditySourcesPaths.some((sourcesPath) => fsPath.startsWith(sourcesPath + path.sep)); | ||
| // A `.sol` file under the tests path is a test, unless it is | ||
| // also registered as under a Solidity sources path. Sources takes | ||
| // precedence (e.g. `test/` is listed in `paths.sources.solidity` to access | ||
| // `./test/mocks`) | ||
| if (!isUnderSources && | ||
| fsPath.startsWith(this.#options.solidityTestsPath + path.sep) && | ||
| fsPath.endsWith(".sol")) { | ||
| return "tests"; | ||
| } | ||
| if (fsPath.endsWith(".t.sol")) { | ||
| for (const sourcesPath of this.#options.soliditySourcesPaths) { | ||
| if (fsPath.startsWith(sourcesPath + path.sep)) { | ||
| return "tests"; | ||
| } | ||
| } | ||
| // Foundry-style `.t.sol` files under a sources path are always tests, even | ||
| // when sources take precedence over the tests path. | ||
| if (fsPath.endsWith(".t.sol") && isUnderSources) { | ||
| return "tests"; | ||
| } | ||
@@ -75,0 +79,0 @@ return "contracts"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"} |
@@ -7,3 +7,2 @@ import type { Template } from "./template.js"; | ||
| export interface InitHardhatOptions { | ||
| hardhatVersion?: "hardhat-2" | "hardhat-3"; | ||
| workspace?: string; | ||
@@ -68,3 +67,2 @@ migrateToEsm?: boolean; | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be considered. | ||
| * @param template The name of the template to use for the project initialization. | ||
@@ -76,10 +74,7 @@ * @param includeAvailableTemplatesInErrors When true, a missing template throws | ||
| */ | ||
| export declare function getTemplate(hardhatVersion: "hardhat-2" | "hardhat-3", template?: string, includeAvailableTemplatesInErrors?: boolean): Promise<[Template, Promise<boolean>]>; | ||
| export declare function getTemplate(template?: string, includeAvailableTemplatesInErrors?: boolean): Promise<[Template, Promise<boolean>]>; | ||
| /** | ||
| * Prints the list of available templates for the specified Hardhat version. | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be | ||
| * printed. | ||
| * Prints the list of available templates. | ||
| */ | ||
| export declare function printTemplatesList(hardhatVersion: "hardhat-2" | "hardhat-3", print?: (message: string) => void): Promise<void>; | ||
| export declare function printTemplatesList(print?: (message: string) => void): Promise<void>; | ||
| /** | ||
@@ -86,0 +81,0 @@ * validatePackageJson creates the package.json file if it does not exist |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAuD1E,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD7E;AA0BD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCzD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CtE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,CAAC,EAAE,MAAM,EACjB,iCAAiC,UAAQ,GACxC,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAqCvC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAkB,GAC7C,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpE;AACD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CA+Df;AAGD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAGD,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AA6HD;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,EACN,oBAA2B,GAC5B,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+IhB;AAgBD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAyBT"} |
@@ -17,3 +17,3 @@ import path from "node:path"; | ||
| import { getDevDependenciesInstallationCommand, getPackageManager, getVersion, installsPeerDependenciesByDefault, } from "./package-manager.js"; | ||
| import { promptForMigrateToEsm, promptForForce, promptForInstall, promptForTemplate, promptForUpdate, promptForWorkspace, promptForHardhatVersion, } from "./prompt.js"; | ||
| import { promptForMigrateToEsm, promptForForce, promptForInstall, promptForTemplate, promptForUpdate, promptForWorkspace, } from "./prompt.js"; | ||
| import { spawn } from "./subprocess.js"; | ||
@@ -23,3 +23,3 @@ import { getTemplates } from "./template.js"; | ||
| export async function initHardhat3NonInteractive(options) { | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate("hardhat-3", options.template, true); | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate(options.template, true); | ||
| const workspace = process.cwd(); | ||
@@ -88,3 +88,2 @@ try { | ||
| await printWelcomeMessage(); | ||
| const hardhatVersion = options?.hardhatVersion ?? (await promptForHardhatVersion()); | ||
| // Ask the user for the workspace to initialize the project in | ||
@@ -95,3 +94,3 @@ // if it was not provided, and validate that it is not already initialized | ||
| // if it was not provided, and validate that it exists | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate(hardhatVersion, options?.template); | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate(options?.template); | ||
| // Create the package.json file if it does not exist | ||
@@ -222,3 +221,2 @@ // and validate that it is an esm package | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be considered. | ||
| * @param template The name of the template to use for the project initialization. | ||
@@ -230,4 +228,4 @@ * @param includeAvailableTemplatesInErrors When true, a missing template throws | ||
| */ | ||
| export async function getTemplate(hardhatVersion, template, includeAvailableTemplatesInErrors = false) { | ||
| const templates = await getTemplates(hardhatVersion); | ||
| export async function getTemplate(template, includeAvailableTemplatesInErrors = false) { | ||
| const templates = await getTemplates(); | ||
| // Ask the user for the template to use for the project initialization if it was not provided | ||
@@ -237,3 +235,3 @@ if (template === undefined) { | ||
| } | ||
| const projectTypeAnalyticsPromise = sendProjectTypeAnalytics(hardhatVersion, template); | ||
| const projectTypeAnalyticsPromise = sendProjectTypeAnalytics(template); | ||
| // Validate that the template exists | ||
@@ -259,9 +257,6 @@ for (const t of templates) { | ||
| /** | ||
| * Prints the list of available templates for the specified Hardhat version. | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be | ||
| * printed. | ||
| * Prints the list of available templates. | ||
| */ | ||
| export async function printTemplatesList(hardhatVersion, print = console.log) { | ||
| const templates = await getTemplates(hardhatVersion); | ||
| export async function printTemplatesList(print = console.log) { | ||
| const templates = await getTemplates(); | ||
| const lines = templates.map((t) => ` - ${t.name}`).join("\n"); | ||
@@ -301,15 +296,2 @@ print(`Available templates:\n${lines}`); | ||
| const packageManagerToUse = packageManager === "pnpm" ? "pnpm" : "npm"; | ||
| // We need to set the hardhat version in the package.json file | ||
| // to ensure that the template is compatible with the current Hardhat version. | ||
| // This is needed because we have hardhat-2 and hardhat-3 templates, | ||
| // and the user may install hardhat 3 first and then initialize a project | ||
| // with a hardhat-2 template. | ||
| const templateHardhatVersion = templatePkg.devDependencies?.hardhat ?? ""; | ||
| if (templateHardhatVersion.startsWith("^2")) { | ||
| await spawn([packageManagerToUse, "pkg", "delete", "dependencies.hardhat"].join(" "), [], { | ||
| cwd: workspace, | ||
| shell: true, | ||
| stdio: "inherit", | ||
| }); | ||
| } | ||
| if (!shouldUseEsm) { | ||
@@ -316,0 +298,0 @@ return; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/init.ts"],"names":[],"mappings":"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"} |
| import type { Template } from "./template.js"; | ||
| export declare function promptForHardhatVersion(): Promise<"hardhat-2" | "hardhat-3">; | ||
| export declare function promptForWorkspace(): Promise<string>; | ||
@@ -4,0 +3,0 @@ export declare function promptForMigrateToEsm(absolutePathToPackageJson: string): Promise<boolean>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ9C,wBAAsB,uBAAuB,IAAI,OAAO,CACtD,WAAW,GAAG,WAAW,CAC1B,CA2BA;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAa1D;AAED,wBAAsB,qBAAqB,CACzC,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAatE;AAED,wBAAsB,gBAAgB,CACpC,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,wBAAsB,eAAe,CACnC,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB"} | ||
| {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ9C,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAa1D;AAED,wBAAsB,qBAAqB,CACzC,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAatE;AAED,wBAAsB,gBAAgB,CACpC,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,wBAAsB,eAAe,CACnC,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB"} |
@@ -5,26 +5,2 @@ import { styleText } from "node:util"; | ||
| import enquirer from "enquirer"; | ||
| export async function promptForHardhatVersion() { | ||
| ensureTTY(); | ||
| const hardhatVersionResponse = await enquirer.prompt([ | ||
| { | ||
| name: "hardhatVersion", | ||
| type: "select", | ||
| message: "Which version of Hardhat would you like to use?", | ||
| initial: 0, | ||
| choices: [ | ||
| { | ||
| name: "hardhat-3", | ||
| message: "Hardhat 3 (recommended for new projects)", | ||
| value: "hardhat-3", | ||
| }, | ||
| { | ||
| name: "hardhat-2", | ||
| message: "Hardhat 2 (older version)", | ||
| value: "hardhat-2", | ||
| }, | ||
| ], | ||
| }, | ||
| ]); | ||
| return hardhatVersionResponse.hardhatVersion; | ||
| } | ||
| export async function promptForWorkspace() { | ||
@@ -31,0 +7,0 @@ ensureTTY(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/prompt.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/prompt.ts"],"names":[],"mappings":"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"} |
@@ -22,3 +22,3 @@ import { type PackageJson } from "@nomicfoundation/hardhat-utils/package"; | ||
| */ | ||
| export declare function getTemplates(templatesDir: "hardhat-2" | "hardhat-3"): Promise<Template[]>; | ||
| export declare function getTemplates(): Promise<Template[]>; | ||
| //# sourceMappingURL=template.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/template.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,WAAW,GAAG,WAAW,GACtC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwDrB"} | ||
| {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../src/internal/cli/init/template.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwDxD"} |
@@ -11,5 +11,5 @@ import path from "node:path"; | ||
| */ | ||
| export async function getTemplates(templatesDir) { | ||
| export async function getTemplates() { | ||
| const packageRoot = await findClosestPackageRoot(import.meta.url); | ||
| const pathToTemplates = path.join(packageRoot, "templates", templatesDir); | ||
| const pathToTemplates = path.join(packageRoot, "templates"); | ||
| const pathsToTemplates = await readdirOrEmpty(pathToTemplates); | ||
@@ -16,0 +16,0 @@ pathsToTemplates.sort(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/template.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;AAiBhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,YAAuC;IAEvC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/D,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,sBAAsB,CACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAC/B,6BAA6B,IAAI,aAAa,CAC/C,CAAC;QAEF,MAAM,WAAW,GACf,MAAM,YAAY,CAAc,iBAAiB,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,cAAc,EACd,CAAC,CAAC,EAAE,EAAE;YACJ,gEAAgE;YAChE,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,wEAAwE;YACxE,oGAAoG;YACpG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,cAAc,CAC/C,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO;YACL,IAAI;YACJ,WAAW;YACX,IAAI,EAAE,cAAc;YACpB,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAClD,CAAC"} | ||
| {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/internal/cli/init/template.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;AAiBhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5D,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/D,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,sBAAsB,CACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAC/B,6BAA6B,IAAI,aAAa,CAC/C,CAAC;QAEF,MAAM,WAAW,GACf,MAAM,YAAY,CAAc,iBAAiB,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,cAAc,EACd,CAAC,CAAC,EAAE,EAAE;YACJ,gEAAgE;YAChE,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,wEAAwE;YACxE,oGAAoG;YACpG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,cAAc,CAC/C,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO;YACL,IAAI;YACJ,WAAW;YACX,IAAI,EAAE,cAAc;YACpB,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAClD,CAAC"} |
@@ -80,3 +80,3 @@ import { fileURLToPath } from "node:url"; | ||
| if (listTemplates) { | ||
| return await printTemplatesList("hardhat-3", print); | ||
| return await printTemplatesList(print); | ||
| } | ||
@@ -83,0 +83,0 @@ if (templateName !== undefined) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/internal/cli/main.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/internal/cli/main.ts"],"names":[],"mappings":"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"} |
| export declare function sendTelemetryConfigAnalytics(enabled: boolean): Promise<boolean>; | ||
| export declare function sendTaskAnalytics(taskId: string[], command: "hardhat" | "hhu"): Promise<boolean>; | ||
| export declare function sendProjectTypeAnalytics(hardhatVersion: "hardhat-2" | "hardhat-3", template: string): Promise<boolean>; | ||
| export declare function sendProjectTypeAnalytics(template: string): Promise<boolean>; | ||
| //# sourceMappingURL=analytics.d.ts.map |
@@ -1,1 +0,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,cAAc,EAAE,WAAW,GAAG,WAAW,EACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAUlB"} | ||
| {"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"} |
@@ -43,7 +43,7 @@ import os from "node:os"; | ||
| } | ||
| export async function sendProjectTypeAnalytics(hardhatVersion, template) { | ||
| export async function sendProjectTypeAnalytics(template) { | ||
| const initAnalyticsEvent = { | ||
| name: "init", | ||
| params: { | ||
| hardhatVersion, | ||
| hardhatVersion: "hardhat-3", | ||
| template, | ||
@@ -50,0 +50,0 @@ }, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"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"} |
@@ -36,3 +36,3 @@ export interface AnalyticsFile { | ||
| params: { | ||
| hardhatVersion: "hardhat-2" | "hardhat-3"; | ||
| hardhatVersion: "hardhat-3"; | ||
| template: string; | ||
@@ -39,0 +39,0 @@ }; |
@@ -1,1 +0,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,GAAG,WAAW,CAAC;QAC1C,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"} | ||
| {"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"} |
+2
-2
| { | ||
| "name": "hardhat", | ||
| "version": "3.11.0", | ||
| "version": "3.11.1", | ||
| "description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.", | ||
@@ -82,3 +82,3 @@ "homepage": "https://hardhat.org", | ||
| "@nomicfoundation/hardhat-errors": "^3.0.17", | ||
| "@nomicfoundation/hardhat-utils": "^4.1.5", | ||
| "@nomicfoundation/hardhat-utils": "^4.1.6", | ||
| "@nomicfoundation/hardhat-vendored": "^3.0.4", | ||
@@ -85,0 +85,0 @@ "@nomicfoundation/hardhat-zod-utils": "^3.0.5", |
@@ -156,3 +156,12 @@ import type { CompileCache } from "./cache.js"; | ||
| public async getScope(fsPath: string): Promise<BuildScope> { | ||
| const isUnderSources = this.#options.soliditySourcesPaths.some( | ||
| (sourcesPath) => fsPath.startsWith(sourcesPath + path.sep), | ||
| ); | ||
| // A `.sol` file under the tests path is a test, unless it is | ||
| // also registered as under a Solidity sources path. Sources takes | ||
| // precedence (e.g. `test/` is listed in `paths.sources.solidity` to access | ||
| // `./test/mocks`) | ||
| if ( | ||
| !isUnderSources && | ||
| fsPath.startsWith(this.#options.solidityTestsPath + path.sep) && | ||
@@ -164,8 +173,6 @@ fsPath.endsWith(".sol") | ||
| if (fsPath.endsWith(".t.sol")) { | ||
| for (const sourcesPath of this.#options.soliditySourcesPaths) { | ||
| if (fsPath.startsWith(sourcesPath + path.sep)) { | ||
| return "tests"; | ||
| } | ||
| } | ||
| // Foundry-style `.t.sol` files under a sources path are always tests, even | ||
| // when sources take precedence over the tests path. | ||
| if (fsPath.endsWith(".t.sol") && isUnderSources) { | ||
| return "tests"; | ||
| } | ||
@@ -172,0 +179,0 @@ |
@@ -53,3 +53,2 @@ import type { Template } from "./template.js"; | ||
| promptForWorkspace, | ||
| promptForHardhatVersion, | ||
| } from "./prompt.js"; | ||
@@ -64,3 +63,2 @@ import { spawn } from "./subprocess.js"; | ||
| export interface InitHardhatOptions { | ||
| hardhatVersion?: "hardhat-2" | "hardhat-3"; | ||
| workspace?: string; | ||
@@ -79,3 +77,2 @@ migrateToEsm?: boolean; | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate( | ||
| "hardhat-3", | ||
| options.template, | ||
@@ -167,5 +164,2 @@ true, | ||
| const hardhatVersion = | ||
| options?.hardhatVersion ?? (await promptForHardhatVersion()); | ||
| // Ask the user for the workspace to initialize the project in | ||
@@ -178,3 +172,2 @@ // if it was not provided, and validate that it is not already initialized | ||
| const [template, projectTypeAnalyticsPromise] = await getTemplate( | ||
| hardhatVersion, | ||
| options?.template, | ||
@@ -347,3 +340,2 @@ ); | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be considered. | ||
| * @param template The name of the template to use for the project initialization. | ||
@@ -356,7 +348,6 @@ * @param includeAvailableTemplatesInErrors When true, a missing template throws | ||
| export async function getTemplate( | ||
| hardhatVersion: "hardhat-2" | "hardhat-3", | ||
| template?: string, | ||
| includeAvailableTemplatesInErrors = false, | ||
| ): Promise<[Template, Promise<boolean>]> { | ||
| const templates = await getTemplates(hardhatVersion); | ||
| const templates = await getTemplates(); | ||
@@ -368,6 +359,3 @@ // Ask the user for the template to use for the project initialization if it was not provided | ||
| const projectTypeAnalyticsPromise = sendProjectTypeAnalytics( | ||
| hardhatVersion, | ||
| template, | ||
| ); | ||
| const projectTypeAnalyticsPromise = sendProjectTypeAnalytics(template); | ||
@@ -404,12 +392,8 @@ // Validate that the template exists | ||
| /** | ||
| * Prints the list of available templates for the specified Hardhat version. | ||
| * | ||
| * @param hardhatVersion The version of Hardhat whose templates should be | ||
| * printed. | ||
| * Prints the list of available templates. | ||
| */ | ||
| export async function printTemplatesList( | ||
| hardhatVersion: "hardhat-2" | "hardhat-3", | ||
| print: (message: string) => void = console.log, | ||
| ): Promise<void> { | ||
| const templates = await getTemplates(hardhatVersion); | ||
| const templates = await getTemplates(); | ||
| const lines = templates.map((t) => ` - ${t.name}`).join("\n"); | ||
@@ -460,20 +444,2 @@ print(`Available templates:\n${lines}`); | ||
| // We need to set the hardhat version in the package.json file | ||
| // to ensure that the template is compatible with the current Hardhat version. | ||
| // This is needed because we have hardhat-2 and hardhat-3 templates, | ||
| // and the user may install hardhat 3 first and then initialize a project | ||
| // with a hardhat-2 template. | ||
| const templateHardhatVersion = templatePkg.devDependencies?.hardhat ?? ""; | ||
| if (templateHardhatVersion.startsWith("^2")) { | ||
| await spawn( | ||
| [packageManagerToUse, "pkg", "delete", "dependencies.hardhat"].join(" "), | ||
| [], | ||
| { | ||
| cwd: workspace, | ||
| shell: true, | ||
| stdio: "inherit", | ||
| }, | ||
| ); | ||
| } | ||
| if (!shouldUseEsm) { | ||
@@ -480,0 +446,0 @@ return; |
@@ -9,33 +9,2 @@ import type { Template } from "./template.js"; | ||
| export async function promptForHardhatVersion(): Promise< | ||
| "hardhat-2" | "hardhat-3" | ||
| > { | ||
| ensureTTY(); | ||
| const hardhatVersionResponse = await enquirer.prompt<{ | ||
| hardhatVersion: "hardhat-2" | "hardhat-3"; | ||
| }>([ | ||
| { | ||
| name: "hardhatVersion", | ||
| type: "select", | ||
| message: "Which version of Hardhat would you like to use?", | ||
| initial: 0, | ||
| choices: [ | ||
| { | ||
| name: "hardhat-3", | ||
| message: "Hardhat 3 (recommended for new projects)", | ||
| value: "hardhat-3", | ||
| }, | ||
| { | ||
| name: "hardhat-2", | ||
| message: "Hardhat 2 (older version)", | ||
| value: "hardhat-2", | ||
| }, | ||
| ], | ||
| }, | ||
| ]); | ||
| return hardhatVersionResponse.hardhatVersion; | ||
| } | ||
| export async function promptForWorkspace(): Promise<string> { | ||
@@ -42,0 +11,0 @@ ensureTTY(); |
@@ -37,7 +37,5 @@ import path from "node:path"; | ||
| */ | ||
| export async function getTemplates( | ||
| templatesDir: "hardhat-2" | "hardhat-3", | ||
| ): Promise<Template[]> { | ||
| export async function getTemplates(): Promise<Template[]> { | ||
| const packageRoot = await findClosestPackageRoot(import.meta.url); | ||
| const pathToTemplates = path.join(packageRoot, "templates", templatesDir); | ||
| const pathToTemplates = path.join(packageRoot, "templates"); | ||
@@ -44,0 +42,0 @@ const pathsToTemplates = await readdirOrEmpty(pathToTemplates); |
@@ -149,3 +149,3 @@ import type { DebugLogger } from "@nomicfoundation/hardhat-utils/debug"; | ||
| if (listTemplates) { | ||
| return await printTemplatesList("hardhat-3", print); | ||
| return await printTemplatesList(print); | ||
| } | ||
@@ -152,0 +152,0 @@ |
@@ -71,3 +71,2 @@ import type { | ||
| export async function sendProjectTypeAnalytics( | ||
| hardhatVersion: "hardhat-2" | "hardhat-3", | ||
| template: string, | ||
@@ -78,3 +77,3 @@ ): Promise<boolean> { | ||
| params: { | ||
| hardhatVersion, | ||
| hardhatVersion: "hardhat-3", | ||
| template, | ||
@@ -81,0 +80,0 @@ }, |
@@ -48,3 +48,3 @@ export interface AnalyticsFile { | ||
| params: { | ||
| hardhatVersion: "hardhat-2" | "hardhat-3"; | ||
| hardhatVersion: "hardhat-3"; | ||
| template: string; | ||
@@ -51,0 +51,0 @@ }; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| require("@nomicfoundation/hardhat-toolbox"); | ||
| /** @type import('hardhat/config').HardhatUserConfig */ | ||
| module.exports = { | ||
| solidity: "0.8.28", | ||
| }; |
| // This setup uses Hardhat Ignition to manage smart contract deployments. | ||
| // Learn more about it at https://hardhat.org/ignition | ||
| const { buildModule } = require("@nomicfoundation/hardhat-ignition/modules"); | ||
| const JAN_1ST_2030 = 1893456000; | ||
| const ONE_GWEI = 1_000_000_000n; | ||
| module.exports = buildModule("LockModule", (m) => { | ||
| const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030); | ||
| const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); | ||
| const lock = m.contract("Lock", [unlockTime], { | ||
| value: lockedAmount, | ||
| }); | ||
| return { lock }; | ||
| }); |
| { | ||
| "name": "template-v2-mocha-ethers-js", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A Javascript project using Mocha and Ethers.js", | ||
| "devDependencies": { | ||
| "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", | ||
| "@nomicfoundation/hardhat-ethers": "^3.0.0", | ||
| "@nomicfoundation/hardhat-ignition": "^0.15.0", | ||
| "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", | ||
| "@nomicfoundation/hardhat-network-helpers": "^1.0.0", | ||
| "@nomicfoundation/hardhat-toolbox": "^6.0.0", | ||
| "@nomicfoundation/hardhat-verify": "^2.0.0", | ||
| "@typechain/ethers-v6": "^0.5.0", | ||
| "@typechain/hardhat": "^9.0.0", | ||
| "chai": "^4.2.0", | ||
| "ethers": "^6.4.0", | ||
| "hardhat": "^2.14.0", | ||
| "hardhat-gas-reporter": "^2.3.0", | ||
| "solidity-coverage": "^0.8.0", | ||
| "typechain": "^8.3.0" | ||
| } | ||
| } |
| # Sample Hardhat Project | ||
| 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. | ||
| Try running some of the following tasks: | ||
| ```shell | ||
| npx hardhat help | ||
| npx hardhat test | ||
| REPORT_GAS=true npx hardhat test | ||
| npx hardhat node | ||
| npx hardhat ignition deploy ./ignition/modules/Lock.js | ||
| ``` |
| const { | ||
| time, | ||
| loadFixture, | ||
| } = require("@nomicfoundation/hardhat-toolbox/network-helpers"); | ||
| const { anyValue } = require("@nomicfoundation/hardhat-chai-matchers/withArgs"); | ||
| const { expect } = require("chai"); | ||
| describe("Lock", function () { | ||
| // We define a fixture to reuse the same setup in every test. | ||
| // We use loadFixture to run this setup once, snapshot that state, | ||
| // and reset Hardhat Network to that snapshot in every test. | ||
| async function deployOneYearLockFixture() { | ||
| const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; | ||
| const ONE_GWEI = 1_000_000_000; | ||
| const lockedAmount = ONE_GWEI; | ||
| const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; | ||
| // Contracts are deployed using the first signer/account by default | ||
| const [owner, otherAccount] = await ethers.getSigners(); | ||
| const Lock = await ethers.getContractFactory("Lock"); | ||
| const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); | ||
| return { lock, unlockTime, lockedAmount, owner, otherAccount }; | ||
| } | ||
| describe("Deployment", function () { | ||
| it("Should set the right unlockTime", async function () { | ||
| const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.unlockTime()).to.equal(unlockTime); | ||
| }); | ||
| it("Should set the right owner", async function () { | ||
| const { lock, owner } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.owner()).to.equal(owner.address); | ||
| }); | ||
| it("Should receive and store the funds to lock", async function () { | ||
| const { lock, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| expect(await ethers.provider.getBalance(lock.target)).to.equal( | ||
| lockedAmount, | ||
| ); | ||
| }); | ||
| it("Should fail if the unlockTime is not in the future", async function () { | ||
| // We don't use the fixture here because we want a different deployment | ||
| const latestTime = await time.latest(); | ||
| const Lock = await ethers.getContractFactory("Lock"); | ||
| await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith( | ||
| "Unlock time should be in the future", | ||
| ); | ||
| }); | ||
| }); | ||
| describe("Withdrawals", function () { | ||
| describe("Validations", function () { | ||
| it("Should revert with the right error if called too soon", async function () { | ||
| const { lock } = await loadFixture(deployOneYearLockFixture); | ||
| await expect(lock.withdraw()).to.be.revertedWith( | ||
| "You can't withdraw yet", | ||
| ); | ||
| }); | ||
| it("Should revert with the right error if called from another account", async function () { | ||
| const { lock, unlockTime, otherAccount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // We can increase the time in Hardhat Network | ||
| await time.increaseTo(unlockTime); | ||
| // We use lock.connect() to send a transaction from another account | ||
| await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith( | ||
| "You aren't the owner", | ||
| ); | ||
| }); | ||
| it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { | ||
| const { lock, unlockTime } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // Transactions are sent using the first signer by default | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).not.to.be.reverted; | ||
| }); | ||
| }); | ||
| describe("Events", function () { | ||
| it("Should emit an event on withdrawals", async function () { | ||
| const { lock, unlockTime, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()) | ||
| .to.emit(lock, "Withdrawal") | ||
| .withArgs(lockedAmount, anyValue); // We accept any value as `when` arg | ||
| }); | ||
| }); | ||
| describe("Transfers", function () { | ||
| it("Should transfer the funds to the owner", async function () { | ||
| const { lock, unlockTime, lockedAmount, owner } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).to.changeEtherBalances( | ||
| [owner, lock], | ||
| [lockedAmount, -lockedAmount], | ||
| ); | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| require("@nomicfoundation/hardhat-toolbox"); | ||
| /** @type import('hardhat/config').HardhatUserConfig */ | ||
| module.exports = { | ||
| solidity: "0.8.28", | ||
| }; |
| // This setup uses Hardhat Ignition to manage smart contract deployments. | ||
| // Learn more about it at https://hardhat.org/ignition | ||
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| const JAN_1ST_2030 = 1893456000; | ||
| const ONE_GWEI = 1_000_000_000n; | ||
| export default buildModule("LockModule", (m) => { | ||
| const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030); | ||
| const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); | ||
| const lock = m.contract("Lock", [unlockTime], { | ||
| value: lockedAmount, | ||
| }); | ||
| return { lock }; | ||
| }); |
| { | ||
| "name": "template-v2-mocha-ethers-js-esm", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A Javascript project using Mocha and Ethers.js (ESM)", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", | ||
| "@nomicfoundation/hardhat-ethers": "^3.0.0", | ||
| "@nomicfoundation/hardhat-ignition": "^0.15.0", | ||
| "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", | ||
| "@nomicfoundation/hardhat-network-helpers": "^1.0.0", | ||
| "@nomicfoundation/hardhat-toolbox": "^6.0.0", | ||
| "@nomicfoundation/hardhat-verify": "^2.0.0", | ||
| "@typechain/ethers-v6": "^0.5.0", | ||
| "@typechain/hardhat": "^9.0.0", | ||
| "chai": "^4.2.0", | ||
| "ethers": "^6.4.0", | ||
| "hardhat": "^2.14.0", | ||
| "hardhat-gas-reporter": "^2.3.0", | ||
| "solidity-coverage": "^0.8.0", | ||
| "typechain": "^8.3.0" | ||
| } | ||
| } |
| # Sample Hardhat Project | ||
| 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. | ||
| Try running some of the following tasks: | ||
| ```shell | ||
| npx hardhat help | ||
| npx hardhat test | ||
| REPORT_GAS=true npx hardhat test | ||
| npx hardhat node | ||
| npx hardhat ignition deploy ./ignition/modules/Lock.js | ||
| ``` |
| import { | ||
| time, | ||
| loadFixture, | ||
| } from "@nomicfoundation/hardhat-toolbox/network-helpers.js"; | ||
| import { anyValue } from "@nomicfoundation/hardhat-chai-matchers/withArgs.js"; | ||
| import chai from "chai"; | ||
| const { expect } = chai; | ||
| describe("Lock", function () { | ||
| // We define a fixture to reuse the same setup in every test. | ||
| // We use loadFixture to run this setup once, snapshot that state, | ||
| // and reset Hardhat Network to that snapshot in every test. | ||
| async function deployOneYearLockFixture() { | ||
| const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; | ||
| const ONE_GWEI = 1_000_000_000; | ||
| const lockedAmount = ONE_GWEI; | ||
| const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; | ||
| // Contracts are deployed using the first signer/account by default | ||
| const [owner, otherAccount] = await ethers.getSigners(); | ||
| const Lock = await ethers.getContractFactory("Lock"); | ||
| const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); | ||
| return { lock, unlockTime, lockedAmount, owner, otherAccount }; | ||
| } | ||
| describe("Deployment", function () { | ||
| it("Should set the right unlockTime", async function () { | ||
| const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.unlockTime()).to.equal(unlockTime); | ||
| }); | ||
| it("Should set the right owner", async function () { | ||
| const { lock, owner } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.owner()).to.equal(owner.address); | ||
| }); | ||
| it("Should receive and store the funds to lock", async function () { | ||
| const { lock, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| expect(await ethers.provider.getBalance(lock.target)).to.equal( | ||
| lockedAmount, | ||
| ); | ||
| }); | ||
| it("Should fail if the unlockTime is not in the future", async function () { | ||
| // We don't use the fixture here because we want a different deployment | ||
| const latestTime = await time.latest(); | ||
| const Lock = await ethers.getContractFactory("Lock"); | ||
| await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith( | ||
| "Unlock time should be in the future", | ||
| ); | ||
| }); | ||
| }); | ||
| describe("Withdrawals", function () { | ||
| describe("Validations", function () { | ||
| it("Should revert with the right error if called too soon", async function () { | ||
| const { lock } = await loadFixture(deployOneYearLockFixture); | ||
| await expect(lock.withdraw()).to.be.revertedWith( | ||
| "You can't withdraw yet", | ||
| ); | ||
| }); | ||
| it("Should revert with the right error if called from another account", async function () { | ||
| const { lock, unlockTime, otherAccount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // We can increase the time in Hardhat Network | ||
| await time.increaseTo(unlockTime); | ||
| // We use lock.connect() to send a transaction from another account | ||
| await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith( | ||
| "You aren't the owner", | ||
| ); | ||
| }); | ||
| it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { | ||
| const { lock, unlockTime } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // Transactions are sent using the first signer by default | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).not.to.be.reverted; | ||
| }); | ||
| }); | ||
| describe("Events", function () { | ||
| it("Should emit an event on withdrawals", async function () { | ||
| const { lock, unlockTime, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()) | ||
| .to.emit(lock, "Withdrawal") | ||
| .withArgs(lockedAmount, anyValue); // We accept any value as `when` arg | ||
| }); | ||
| }); | ||
| describe("Transfers", function () { | ||
| it("Should transfer the funds to the owner", async function () { | ||
| const { lock, unlockTime, lockedAmount, owner } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).to.changeEtherBalances( | ||
| [owner, lock], | ||
| [lockedAmount, -lockedAmount], | ||
| ); | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import type { HardhatUserConfig } from "hardhat/config"; | ||
| import "@nomicfoundation/hardhat-toolbox"; | ||
| const config: HardhatUserConfig = { | ||
| solidity: "0.8.28", | ||
| }; | ||
| export default config; |
| // This setup uses Hardhat Ignition to manage smart contract deployments. | ||
| // Learn more about it at https://hardhat.org/ignition | ||
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| const JAN_1ST_2030 = 1893456000; | ||
| const ONE_GWEI: bigint = 1_000_000_000n; | ||
| const LockModule = buildModule("LockModule", (m) => { | ||
| const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030); | ||
| const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); | ||
| const lock = m.contract("Lock", [unlockTime], { | ||
| value: lockedAmount, | ||
| }); | ||
| return { lock }; | ||
| }); | ||
| export default LockModule; |
| { | ||
| "name": "template-v2-mocha-ethers-ts", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A Typescript project using Mocha and Ethers.js", | ||
| "devDependencies": { | ||
| "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", | ||
| "@nomicfoundation/hardhat-ethers": "^3.0.0", | ||
| "@nomicfoundation/hardhat-ignition": "^0.15.0", | ||
| "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", | ||
| "@nomicfoundation/hardhat-network-helpers": "^1.0.0", | ||
| "@nomicfoundation/hardhat-toolbox": "^6.0.0", | ||
| "@nomicfoundation/hardhat-verify": "^2.0.0", | ||
| "@typechain/ethers-v6": "^0.5.0", | ||
| "@typechain/hardhat": "^9.0.0", | ||
| "@types/chai": "^4.2.0", | ||
| "@types/mocha": ">=9.1.0", | ||
| "@types/node": ">=22.0.0", | ||
| "chai": "^4.2.0", | ||
| "ethers": "^6.4.0", | ||
| "hardhat": "^2.14.0", | ||
| "hardhat-gas-reporter": "^2.3.0", | ||
| "solidity-coverage": "^0.8.0", | ||
| "ts-node": ">=8.0.0", | ||
| "typechain": "^8.3.0", | ||
| "typescript": ">=4.5.0" | ||
| } | ||
| } |
| # Sample Hardhat Project | ||
| 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. | ||
| Try running some of the following tasks: | ||
| ```shell | ||
| npx hardhat help | ||
| npx hardhat test | ||
| REPORT_GAS=true npx hardhat test | ||
| npx hardhat node | ||
| npx hardhat ignition deploy ./ignition/modules/Lock.ts | ||
| ``` |
| import { anyValue } from "@nomicfoundation/hardhat-chai-matchers/withArgs"; | ||
| import { | ||
| time, | ||
| loadFixture, | ||
| } from "@nomicfoundation/hardhat-toolbox/network-helpers"; | ||
| import { expect } from "chai"; | ||
| import hre from "hardhat"; | ||
| describe("Lock", function () { | ||
| // We define a fixture to reuse the same setup in every test. | ||
| // We use loadFixture to run this setup once, snapshot that state, | ||
| // and reset Hardhat Network to that snapshot in every test. | ||
| async function deployOneYearLockFixture() { | ||
| const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; | ||
| const ONE_GWEI = 1_000_000_000; | ||
| const lockedAmount = ONE_GWEI; | ||
| const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; | ||
| // Contracts are deployed using the first signer/account by default | ||
| const [owner, otherAccount] = await hre.ethers.getSigners(); | ||
| const Lock = await hre.ethers.getContractFactory("Lock"); | ||
| const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); | ||
| return { lock, unlockTime, lockedAmount, owner, otherAccount }; | ||
| } | ||
| describe("Deployment", function () { | ||
| it("Should set the right unlockTime", async function () { | ||
| const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.unlockTime()).to.equal(unlockTime); | ||
| }); | ||
| it("Should set the right owner", async function () { | ||
| const { lock, owner } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.owner()).to.equal(owner.address); | ||
| }); | ||
| it("Should receive and store the funds to lock", async function () { | ||
| const { lock, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| expect(await hre.ethers.provider.getBalance(lock.target)).to.equal( | ||
| lockedAmount, | ||
| ); | ||
| }); | ||
| it("Should fail if the unlockTime is not in the future", async function () { | ||
| // We don't use the fixture here because we want a different deployment | ||
| const latestTime = await time.latest(); | ||
| const Lock = await hre.ethers.getContractFactory("Lock"); | ||
| await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith( | ||
| "Unlock time should be in the future", | ||
| ); | ||
| }); | ||
| }); | ||
| describe("Withdrawals", function () { | ||
| describe("Validations", function () { | ||
| it("Should revert with the right error if called too soon", async function () { | ||
| const { lock } = await loadFixture(deployOneYearLockFixture); | ||
| await expect(lock.withdraw()).to.be.revertedWith( | ||
| "You can't withdraw yet", | ||
| ); | ||
| }); | ||
| it("Should revert with the right error if called from another account", async function () { | ||
| const { lock, unlockTime, otherAccount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // We can increase the time in Hardhat Network | ||
| await time.increaseTo(unlockTime); | ||
| // We use lock.connect() to send a transaction from another account | ||
| await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith( | ||
| "You aren't the owner", | ||
| ); | ||
| }); | ||
| it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { | ||
| const { lock, unlockTime } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // Transactions are sent using the first signer by default | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).not.to.be.reverted; | ||
| }); | ||
| }); | ||
| describe("Events", function () { | ||
| it("Should emit an event on withdrawals", async function () { | ||
| const { lock, unlockTime, lockedAmount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()) | ||
| .to.emit(lock, "Withdrawal") | ||
| .withArgs(lockedAmount, anyValue); // We accept any value as `when` arg | ||
| }); | ||
| }); | ||
| describe("Transfers", function () { | ||
| it("Should transfer the funds to the owner", async function () { | ||
| const { lock, unlockTime, lockedAmount, owner } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.withdraw()).to.changeEtherBalances( | ||
| [owner, lock], | ||
| [lockedAmount, -lockedAmount], | ||
| ); | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "target": "es2020", | ||
| "module": "commonjs", | ||
| "esModuleInterop": true, | ||
| "forceConsistentCasingInFileNames": true, | ||
| "strict": true, | ||
| "skipLibCheck": true, | ||
| "resolveJsonModule": true | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import type { HardhatUserConfig } from "hardhat/config"; | ||
| import "@nomicfoundation/hardhat-toolbox-viem"; | ||
| const config: HardhatUserConfig = { | ||
| solidity: "0.8.28", | ||
| }; | ||
| export default config; |
| // This setup uses Hardhat Ignition to manage smart contract deployments. | ||
| // Learn more about it at https://hardhat.org/ignition | ||
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| import { parseEther } from "viem"; | ||
| const JAN_1ST_2030 = 1893456000; | ||
| const ONE_GWEI: bigint = parseEther("0.001"); | ||
| const LockModule = buildModule("LockModule", (m) => { | ||
| const unlockTime = m.getParameter("unlockTime", JAN_1ST_2030); | ||
| const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); | ||
| const lock = m.contract("Lock", [unlockTime], { | ||
| value: lockedAmount, | ||
| }); | ||
| return { lock }; | ||
| }); | ||
| export default LockModule; |
| { | ||
| "name": "template-v2-mocha-viem-ts", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A Typescript project using Mocha and Viem", | ||
| "devDependencies": { | ||
| "@nomicfoundation/hardhat-ignition": "^0.15.0", | ||
| "@nomicfoundation/hardhat-ignition-viem": "^0.15.0", | ||
| "@nomicfoundation/hardhat-network-helpers": "^1.0.0", | ||
| "@nomicfoundation/hardhat-toolbox-viem": "^4.1.0", | ||
| "@nomicfoundation/hardhat-verify": "^2.0.0", | ||
| "@nomicfoundation/hardhat-viem": "^2.0.0", | ||
| "@types/chai": "^4.2.0", | ||
| "@types/chai-as-promised": "^7.1.6", | ||
| "@types/mocha": ">=9.1.0", | ||
| "@types/node": ">=22.0.0", | ||
| "chai": "^4.2.0", | ||
| "hardhat": "^2.14.0", | ||
| "hardhat-gas-reporter": "^2.3.0", | ||
| "solidity-coverage": "^0.8.0", | ||
| "ts-node": ">=8.0.0", | ||
| "typescript": "~5.0.4", | ||
| "viem": "^2.47.6" | ||
| } | ||
| } |
| # Sample Hardhat Project | ||
| 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. | ||
| Try running some of the following tasks: | ||
| ```shell | ||
| npx hardhat help | ||
| npx hardhat test | ||
| REPORT_GAS=true npx hardhat test | ||
| npx hardhat node | ||
| npx hardhat ignition deploy ./ignition/modules/Lock.ts | ||
| ``` |
| import { | ||
| time, | ||
| loadFixture, | ||
| } from "@nomicfoundation/hardhat-toolbox-viem/network-helpers"; | ||
| import { expect } from "chai"; | ||
| import hre from "hardhat"; | ||
| import { getAddress, parseGwei } from "viem"; | ||
| describe("Lock", function () { | ||
| // We define a fixture to reuse the same setup in every test. | ||
| // We use loadFixture to run this setup once, snapshot that state, | ||
| // and reset Hardhat Network to that snapshot in every test. | ||
| async function deployOneYearLockFixture() { | ||
| const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; | ||
| const lockedAmount = parseGwei("1"); | ||
| const unlockTime = BigInt((await time.latest()) + ONE_YEAR_IN_SECS); | ||
| // Contracts are deployed using the first signer/account by default | ||
| const [owner, otherAccount] = await hre.viem.getWalletClients(); | ||
| const lock = await hre.viem.deployContract("Lock", [unlockTime], { | ||
| value: lockedAmount, | ||
| }); | ||
| const publicClient = await hre.viem.getPublicClient(); | ||
| return { | ||
| lock, | ||
| unlockTime, | ||
| lockedAmount, | ||
| owner, | ||
| otherAccount, | ||
| publicClient, | ||
| }; | ||
| } | ||
| describe("Deployment", function () { | ||
| it("Should set the right unlockTime", async function () { | ||
| const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.read.unlockTime()).to.equal(unlockTime); | ||
| }); | ||
| it("Should set the right owner", async function () { | ||
| const { lock, owner } = await loadFixture(deployOneYearLockFixture); | ||
| expect(await lock.read.owner()).to.equal( | ||
| getAddress(owner.account.address), | ||
| ); | ||
| }); | ||
| it("Should receive and store the funds to lock", async function () { | ||
| const { lock, lockedAmount, publicClient } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| expect( | ||
| await publicClient.getBalance({ | ||
| address: lock.address, | ||
| }), | ||
| ).to.equal(lockedAmount); | ||
| }); | ||
| it("Should fail if the unlockTime is not in the future", async function () { | ||
| // We don't use the fixture here because we want a different deployment | ||
| const latestTime = BigInt(await time.latest()); | ||
| await expect( | ||
| hre.viem.deployContract("Lock", [latestTime], { | ||
| value: 1n, | ||
| }), | ||
| ).to.be.rejectedWith("Unlock time should be in the future"); | ||
| }); | ||
| }); | ||
| describe("Withdrawals", function () { | ||
| describe("Validations", function () { | ||
| it("Should revert with the right error if called too soon", async function () { | ||
| const { lock } = await loadFixture(deployOneYearLockFixture); | ||
| await expect(lock.write.withdraw()).to.be.rejectedWith( | ||
| "You can't withdraw yet", | ||
| ); | ||
| }); | ||
| it("Should revert with the right error if called from another account", async function () { | ||
| const { lock, unlockTime, otherAccount } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // We can increase the time in Hardhat Network | ||
| await time.increaseTo(unlockTime); | ||
| // We retrieve the contract with a different account to send a transaction | ||
| const lockAsOtherAccount = await hre.viem.getContractAt( | ||
| "Lock", | ||
| lock.address, | ||
| { client: { wallet: otherAccount } }, | ||
| ); | ||
| await expect(lockAsOtherAccount.write.withdraw()).to.be.rejectedWith( | ||
| "You aren't the owner", | ||
| ); | ||
| }); | ||
| it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { | ||
| const { lock, unlockTime } = await loadFixture( | ||
| deployOneYearLockFixture, | ||
| ); | ||
| // Transactions are sent using the first signer by default | ||
| await time.increaseTo(unlockTime); | ||
| await expect(lock.write.withdraw()).to.be.fulfilled; | ||
| }); | ||
| }); | ||
| describe("Events", function () { | ||
| it("Should emit an event on withdrawals", async function () { | ||
| const { lock, unlockTime, lockedAmount, publicClient } = | ||
| await loadFixture(deployOneYearLockFixture); | ||
| await time.increaseTo(unlockTime); | ||
| const hash = await lock.write.withdraw(); | ||
| await publicClient.waitForTransactionReceipt({ hash }); | ||
| // get the withdrawal events in the latest block | ||
| const withdrawalEvents = await lock.getEvents.Withdrawal(); | ||
| expect(withdrawalEvents).to.have.lengthOf(1); | ||
| expect(withdrawalEvents[0].args.amount).to.equal(lockedAmount); | ||
| }); | ||
| }); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "target": "es2020", | ||
| "module": "commonjs", | ||
| "esModuleInterop": true, | ||
| "forceConsistentCasingInFileNames": true, | ||
| "strict": true, | ||
| "skipLibCheck": true, | ||
| "resolveJsonModule": true | ||
| } | ||
| } |
| /** @type import('hardhat/config').HardhatUserConfig */ | ||
| module.exports = { | ||
| solidity: "0.8.28", | ||
| }; |
| { | ||
| "name": "template-v2-empty-hardhat-config-js", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "An empty config file (hardhat.config.js)", | ||
| "devDependencies": { | ||
| "hardhat": "^2.14.0" | ||
| } | ||
| } |
| # Hardhat + viem project | ||
| ## Project layout | ||
| ``` | ||
| contracts/ Solidity source files (*.sol) and unit tests (*.t.sol) | ||
| test/ TypeScript integration tests and Solidity unit tests (*.sol) | ||
| ignition/ Hardhat Ignition deployment modules | ||
| scripts/ Standalone scripts run with `hardhat run` | ||
| hardhat.config.ts | ||
| ``` | ||
| ## Working in this project | ||
| When writing or modifying tests, configuring `hardhat.config.ts`, or interacting with the network from TypeScript, invoke the **`hardhat`** skill. It covers Solidity and TypeScript testing, how to choose between them, `forge-std` cheatcodes, the `network.create()` API, `networkHelpers`, and the compile-then-typecheck workflow. The skill itself points to the matching `hardhat-toolbox-*` skill for toolbox-specific guidance (clients, contract interaction, assertions). | ||
| ## Docs | ||
| - Hardhat 3 — https://hardhat.org/llms.txt | ||
| - viem — https://viem.sh/llms.txt |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import hardhatToolboxViemPlugin from "@nomicfoundation/hardhat-toolbox-viem"; | ||
| import { configVariable, defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| plugins: [hardhatToolboxViemPlugin], | ||
| solidity: { | ||
| profiles: { | ||
| default: { | ||
| version: "0.8.28", | ||
| }, | ||
| production: { | ||
| version: "0.8.28", | ||
| settings: { | ||
| optimizer: { | ||
| enabled: true, | ||
| runs: 200, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| networks: { | ||
| hardhatMainnet: { | ||
| type: "edr-simulated", | ||
| chainType: "l1", | ||
| }, | ||
| hardhatOp: { | ||
| type: "edr-simulated", | ||
| chainType: "op", | ||
| }, | ||
| sepolia: { | ||
| type: "http", | ||
| chainType: "l1", | ||
| url: configVariable("SEPOLIA_RPC_URL"), | ||
| accounts: [configVariable("SEPOLIA_PRIVATE_KEY")], | ||
| }, | ||
| }, | ||
| }); |
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| export default buildModule("CounterModule", (m) => { | ||
| const counter = m.contract("Counter"); | ||
| m.call(counter, "incBy", [5n]); | ||
| return { counter }; | ||
| }); |
| { | ||
| "name": "template-node-test-runner-viem", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A TypeScript Hardhat project using Node Test Runner and Viem", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.0", | ||
| "@nomicfoundation/hardhat-toolbox-viem": "workspace:^5.0.7", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@types/node": "^22.8.5", | ||
| "forge-std": "foundry-rs/forge-std#v1.9.4", | ||
| "typescript": "~6.0.3", | ||
| "viem": "^2.47.6" | ||
| }, | ||
| "peerDependencies": { | ||
| "@nomicfoundation/hardhat-ignition-viem": "workspace:^3.1.6", | ||
| "@nomicfoundation/hardhat-keystore": "workspace:^3.0.12", | ||
| "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-node-test-runner": "workspace:^3.0.17", | ||
| "@nomicfoundation/hardhat-viem": "workspace:^3.0.9", | ||
| "@nomicfoundation/hardhat-viem-assertions": "workspace:^3.1.2", | ||
| "@nomicfoundation/hardhat-verify": "workspace:^3.0.21", | ||
| "@nomicfoundation/ignition-core": "workspace:^3.1.8" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (`node:test` and `viem`) | ||
| This project showcases a Hardhat 3 project using the native Node.js test runner (`node:test`) and the `viem` library for Ethereum interactions. | ||
| To learn more about Hardhat 3, please visit the [Getting Started guide](https://hardhat.org/docs/getting-started#getting-started-with-hardhat-3). To share your feedback, join our [Hardhat 3](https://hardhat.org/hardhat3-telegram-group) Telegram group or [open an issue](https://github.com/NomicFoundation/hardhat/issues/new) in our GitHub issue tracker. | ||
| ## Project Overview | ||
| This example project includes: | ||
| - A simple Hardhat configuration file. | ||
| - Foundry-compatible Solidity unit tests. | ||
| - TypeScript integration tests using [`node:test`](nodejs.org/api/test.html), the new Node.js native test runner, and [`viem`](https://viem.sh/). | ||
| - Examples demonstrating how to connect to different types of networks, including locally simulating OP mainnet. | ||
| ## Usage | ||
| ### Running Tests | ||
| To run all the tests in the project, execute the following command: | ||
| ```shell | ||
| npx hardhat test | ||
| ``` | ||
| You can also selectively run the Solidity or `node:test` tests: | ||
| ```shell | ||
| npx hardhat test solidity | ||
| npx hardhat test nodejs | ||
| ``` | ||
| ### Make a deployment to Sepolia | ||
| This project includes an example Ignition module to deploy the contract. You can deploy this module to a locally simulated chain or to Sepolia. | ||
| To run the deployment to a local chain: | ||
| ```shell | ||
| npx hardhat ignition deploy ignition/modules/Counter.ts | ||
| ``` | ||
| To run the deployment to Sepolia, you need an account with funds to send the transaction. The provided Hardhat configuration includes a Configuration Variable called `SEPOLIA_PRIVATE_KEY`, which you can use to set the private key of the account you want to use. | ||
| You can set the `SEPOLIA_PRIVATE_KEY` variable using the `hardhat-keystore` plugin or by setting it as an environment variable. | ||
| To set the `SEPOLIA_PRIVATE_KEY` config variable using `hardhat-keystore`: | ||
| ```shell | ||
| npx hardhat keystore set SEPOLIA_PRIVATE_KEY | ||
| ``` | ||
| After setting the variable, you can run the deployment with the Sepolia network: | ||
| ```shell | ||
| npx hardhat ignition deploy --network sepolia ignition/modules/Counter.ts | ||
| ``` |
| import { network } from "hardhat"; | ||
| const { viem } = await network.create({ | ||
| network: "hardhatOp", | ||
| chainType: "op", | ||
| }); | ||
| console.log("Sending transaction using the OP chain type"); | ||
| const publicClient = await viem.getPublicClient(); | ||
| const [senderClient] = await viem.getWalletClients(); | ||
| console.log("Sending 1 wei from", senderClient.account.address, "to itself"); | ||
| const l1Gas = await publicClient.estimateL1Gas({ | ||
| account: senderClient.account.address, | ||
| to: senderClient.account.address, | ||
| value: 1n, | ||
| }); | ||
| console.log("Estimated L1 gas:", l1Gas); | ||
| console.log("Sending L2 transaction"); | ||
| const tx = await senderClient.sendTransaction({ | ||
| to: senderClient.account.address, | ||
| value: 1n, | ||
| }); | ||
| await publicClient.waitForTransactionReceipt({ hash: tx }); | ||
| console.log("Transaction sent successfully"); |
| import assert from "node:assert/strict"; | ||
| import { describe, it } from "node:test"; | ||
| import { network } from "hardhat"; | ||
| describe("Counter", async function () { | ||
| const { viem } = await network.create(); | ||
| const publicClient = await viem.getPublicClient(); | ||
| it("Should emit the Increment event when calling the inc() function", async function () { | ||
| const counter = await viem.deployContract("Counter"); | ||
| await viem.assertions.emitWithArgs( | ||
| counter.write.inc(), | ||
| counter, | ||
| "Increment", | ||
| [1n], | ||
| ); | ||
| }); | ||
| it("The sum of the Increment events should match the current value", async function () { | ||
| const counter = await viem.deployContract("Counter"); | ||
| const deploymentBlockNumber = await publicClient.getBlockNumber(); | ||
| // run a series of increments | ||
| for (let i = 1n; i <= 10n; i++) { | ||
| await counter.write.incBy([i]); | ||
| } | ||
| const events = await publicClient.getContractEvents({ | ||
| address: counter.address, | ||
| abi: counter.abi, | ||
| eventName: "Increment", | ||
| fromBlock: deploymentBlockNumber, | ||
| strict: true, | ||
| }); | ||
| // check that the aggregated events match the current value | ||
| let total = 0n; | ||
| for (const event of events) { | ||
| total += event.args.by; | ||
| } | ||
| assert.equal(total, await counter.read.x()); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
| # Hardhat + ethers project | ||
| ## Project layout | ||
| ``` | ||
| contracts/ Solidity source files (*.sol) and unit tests (*.t.sol) | ||
| test/ TypeScript integration tests and Solidity unit tests (*.sol) | ||
| ignition/ Hardhat Ignition deployment modules | ||
| scripts/ Standalone scripts run with `hardhat run` | ||
| hardhat.config.ts | ||
| ``` | ||
| ## Working in this project | ||
| When writing or modifying tests, configuring `hardhat.config.ts`, or interacting with the network from TypeScript, invoke the **`hardhat`** skill. It covers Solidity and TypeScript testing, how to choose between them, `forge-std` cheatcodes, the `network.create()` API, `networkHelpers`, and the compile-then-typecheck workflow. The skill itself points to the matching `hardhat-toolbox-*` skill for toolbox-specific guidance (signers, contract interaction, assertions). | ||
| ## Docs | ||
| - Hardhat 3 — https://hardhat.org/llms.txt | ||
| - ethers.js — https://docs.ethers.org/v6/ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| import hardhatToolboxMochaEthersPlugin from "@nomicfoundation/hardhat-toolbox-mocha-ethers"; | ||
| import { configVariable, defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| plugins: [hardhatToolboxMochaEthersPlugin], | ||
| solidity: { | ||
| profiles: { | ||
| default: { | ||
| version: "0.8.28", | ||
| }, | ||
| production: { | ||
| version: "0.8.28", | ||
| settings: { | ||
| optimizer: { | ||
| enabled: true, | ||
| runs: 200, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| }, | ||
| networks: { | ||
| hardhatMainnet: { | ||
| type: "edr-simulated", | ||
| chainType: "l1", | ||
| }, | ||
| hardhatOp: { | ||
| type: "edr-simulated", | ||
| chainType: "op", | ||
| }, | ||
| sepolia: { | ||
| type: "http", | ||
| chainType: "l1", | ||
| url: configVariable("SEPOLIA_RPC_URL"), | ||
| accounts: [configVariable("SEPOLIA_PRIVATE_KEY")], | ||
| }, | ||
| }, | ||
| }); |
| import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; | ||
| export default buildModule("CounterModule", (m) => { | ||
| const counter = m.contract("Counter"); | ||
| m.call(counter, "incBy", [5n]); | ||
| return { counter }; | ||
| }); |
| { | ||
| "name": "template-mocha-ethers", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A TypeScript Hardhat project using Mocha and Ethers.js", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.0", | ||
| "@nomicfoundation/hardhat-toolbox-mocha-ethers": "workspace:^3.0.7", | ||
| "@nomicfoundation/hardhat-ethers": "workspace:^4.0.15", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@types/chai": "^5.2.3", | ||
| "@types/chai-as-promised": "^8.0.1", | ||
| "@types/mocha": ">=10.0.10", | ||
| "@types/node": "^22.8.5", | ||
| "chai": "^6.2.2", | ||
| "ethers": "^6.14.0", | ||
| "forge-std": "foundry-rs/forge-std#v1.9.4", | ||
| "mocha": "^11.0.0", | ||
| "typescript": "~6.0.3" | ||
| }, | ||
| "peerDependencies": { | ||
| "@nomicfoundation/hardhat-ethers": "workspace:^4.0.15", | ||
| "@nomicfoundation/hardhat-ethers-chai-matchers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-ignition": "workspace:^3.1.8", | ||
| "@nomicfoundation/hardhat-ignition-ethers": "workspace:^3.1.6", | ||
| "@nomicfoundation/hardhat-keystore": "workspace:^3.0.12", | ||
| "@nomicfoundation/hardhat-mocha": "workspace:^3.0.21", | ||
| "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.11", | ||
| "@nomicfoundation/hardhat-typechain": "workspace:^3.1.1", | ||
| "@nomicfoundation/hardhat-verify": "workspace:^3.0.21", | ||
| "@nomicfoundation/ignition-core": "workspace:^3.1.8" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (`mocha` and `ethers`) | ||
| This project showcases a Hardhat 3 project using `mocha` for tests and the `ethers` library for Ethereum interactions. | ||
| To learn more about Hardhat 3, please visit the [Getting Started guide](https://hardhat.org/docs/getting-started#getting-started-with-hardhat-3). To share your feedback, join our [Hardhat 3](https://hardhat.org/hardhat3-telegram-group) Telegram group or [open an issue](https://github.com/NomicFoundation/hardhat/issues/new) in our GitHub issue tracker. | ||
| ## Project Overview | ||
| This example project includes: | ||
| - A simple Hardhat configuration file. | ||
| - Foundry-compatible Solidity unit tests. | ||
| - TypeScript integration tests using `mocha` and ethers.js | ||
| - Examples demonstrating how to connect to different types of networks, including locally simulating OP mainnet. | ||
| ## Usage | ||
| ### Running Tests | ||
| To run all the tests in the project, execute the following command: | ||
| ```shell | ||
| npx hardhat test | ||
| ``` | ||
| You can also selectively run the Solidity or `mocha` tests: | ||
| ```shell | ||
| npx hardhat test solidity | ||
| npx hardhat test mocha | ||
| ``` | ||
| ### Make a deployment to Sepolia | ||
| This project includes an example Ignition module to deploy the contract. You can deploy this module to a locally simulated chain or to Sepolia. | ||
| To run the deployment to a local chain: | ||
| ```shell | ||
| npx hardhat ignition deploy ignition/modules/Counter.ts | ||
| ``` | ||
| To run the deployment to Sepolia, you need an account with funds to send the transaction. The provided Hardhat configuration includes a Configuration Variable called `SEPOLIA_PRIVATE_KEY`, which you can use to set the private key of the account you want to use. | ||
| You can set the `SEPOLIA_PRIVATE_KEY` variable using the `hardhat-keystore` plugin or by setting it as an environment variable. | ||
| To set the `SEPOLIA_PRIVATE_KEY` config variable using `hardhat-keystore`: | ||
| ```shell | ||
| npx hardhat keystore set SEPOLIA_PRIVATE_KEY | ||
| ``` | ||
| After setting the variable, you can run the deployment with the Sepolia network: | ||
| ```shell | ||
| npx hardhat ignition deploy --network sepolia ignition/modules/Counter.ts | ||
| ``` |
| import { network } from "hardhat"; | ||
| const { ethers } = await network.create({ | ||
| network: "hardhatOp", | ||
| chainType: "op", | ||
| }); | ||
| console.log("Sending transaction using the OP chain type"); | ||
| const [sender] = await ethers.getSigners(); | ||
| console.log("Sending 1 wei from", sender.address, "to itself"); | ||
| console.log("Sending L2 transaction"); | ||
| const tx = await sender.sendTransaction({ | ||
| to: sender.address, | ||
| value: 1n, | ||
| }); | ||
| await tx.wait(); | ||
| console.log("Transaction sent successfully"); |
| import { expect } from "chai"; | ||
| import { network } from "hardhat"; | ||
| const { ethers } = await network.create(); | ||
| describe("Counter", function () { | ||
| it("Should emit the Increment event when calling the inc() function", async function () { | ||
| const counter = await ethers.deployContract("Counter"); | ||
| await expect(counter.inc()).to.emit(counter, "Increment").withArgs(1n); | ||
| }); | ||
| it("The sum of the Increment events should match the current value", async function () { | ||
| const counter = await ethers.deployContract("Counter"); | ||
| const deploymentBlockNumber = await ethers.provider.getBlockNumber(); | ||
| // run a series of increments | ||
| for (let i = 1; i <= 10; i++) { | ||
| await counter.incBy(i); | ||
| } | ||
| const events = await counter.queryFilter( | ||
| counter.filters.Increment(), | ||
| deploymentBlockNumber, | ||
| "latest", | ||
| ); | ||
| // check that the aggregated events match the current value | ||
| let total = 0n; | ||
| for (const event of events) { | ||
| total += event.args.by; | ||
| } | ||
| expect(await counter.x()).to.equal(total); | ||
| }); | ||
| }); |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node", "mocha"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
| import { defineConfig } from "hardhat/config"; | ||
| export default defineConfig({ | ||
| solidity: { | ||
| version: "0.8.28", | ||
| }, | ||
| }); |
| { | ||
| "name": "template-minimal", | ||
| "private": true, | ||
| "version": "0.0.1", | ||
| "description": "A minimal Hardhat project", | ||
| "type": "module", | ||
| "devDependencies": { | ||
| "hardhat": "workspace:^3.11.0", | ||
| "@types/node": "^22.8.5", | ||
| "typescript": "~6.0.3" | ||
| } | ||
| } |
| # Sample Hardhat 3 Project (minimal) | ||
| This project has a minimal setup of Hardhat 3, without any plugins. | ||
| ## What's included? | ||
| The project includes native support for TypeScript, Hardhat scripts, tasks, and support for Solidity compilation and tests. |
| { | ||
| "compilerOptions": { | ||
| "lib": ["es2023"], | ||
| "module": "node20", | ||
| "target": "es2023", | ||
| "skipLibCheck": true, | ||
| "outDir": "dist", | ||
| "types": ["node"], | ||
| "verbatimModuleSyntax": true | ||
| } | ||
| } |
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
4116337
-0.85%1457
-2.15%72309
-0.84%