open-index/open-npm huggingface dataset:
npm package: @nomic-ai/gridantt
Description: A CSS-grid based Gantt chart component for Svelte
Author: Ben Schmidt, Nomic AI
Latest version: 0.1.0

# Gridantt

Sometimes you want to see how some events line up with each other in time.

Gridantt is a pure-css approach to displaying interactive nested rectangles.

At Nomic we use this for displaying events parsed from our logs to identify issues in our build system.
npm package: @nomicfoundation/coc-solidity
Description: Solidity and Hardhat support for coc.nvim
Author: Nomic Foundation
Latest version: 0.8.25

# coc-solidity

Solidity language server extension for coc.nvim, leveraging the language server used in the [Solidity by Nomic Foundation](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity) VS Code extension.

Built by the [Nomic Foundation](https://nomic.foundation/) for the Ethereum community.

Join our [Hardhat Support Discord server](https://hardhat.org/discord) to stay up to date on new releases, plugins and tutorials.

## Install

In your vim/neovim, run this command:

```sh
:CocInstall @nomicfoundation/coc-solidity
```

## Configure

In your coc-settings.json, the following settings are supported:

- `"@nomicfoundation/coc-solidity.telemetry": true|false`
- `"@nomicfoundation/coc-solidity.formatter": "prettier"|"forge"|"none"`

[include '../docs/features.md']

## Format document

Running `:call CocActionAsync('format')` will trigger document formatting.

## Language server logs

If you encounter an issue with the plugin, you can inspect the server logs by running `:CocCommand workspace.showOutput`. This can help troubleshooting the problem.

## Restarting the server

Sometimes, e.g. when installing node dependencies or switching branches, the language server may not pick up all the file system changes. If you are facing an issue, try running `:CocRestart`, which will in turn restart the solidity language server.

## Contributing

Contributions are always welcome! Feel free to [open any issue](https://github.com/NomicFoundation/hardhat-vscode/issues) or send a pull request.

Go to [CONTRIBUTING.md](https://github.com/nomicfoundation/hardhat-vscode/blob/main/CONTRIBUTING.md) to learn about how to set up a development environment.

## Feedback, help and news

[Hardhat Support Discord server](https://hardhat.org/discord): for questions and feedback.

[Follow Hardhat on Twitter.](https://twitter.com/HardhatHQ)
npm package: @nomicfoundation/hardhat-chai-matchers
Description: Hardhat utils for testing
Author: Nomic Foundation
Latest version: 3.0.0

# Hardhat Chai Matchers

This plugin adds Ethereum-specific capabilities to the [Chai](https://chaijs.com/) assertion library, making your smart contract tests easy to write and read.

**Version compatibility warning:** This version of the package does not work with Hardhat 2 nor 3. Please read below to migrate to Hardhat 3 or install a version compatible with Hardhat 2.

### Installation

#### Hardhat 3

To learn how to migrate to Hardhat 3, please read the [migration guide](https://hardhat.org/migrate-from-hardhat2).

#### Hardhat 2

To use this package with Hardhat 2, please install the `hh2` tag with npm or your package manager of choice:

```bash
npm install --save-dev "@nomicfoundation/hardhat-chai-matchers@hh2"
```
npm package: @nomicfoundation/hardhat-errors
Description: The different errors that Hardhat can throw
Author: Nomic Foundation
Latest version: 3.0.10

# hardhat-errors

> ⚠️ This package is an internal Hardhat component and it's not meant to be used directly.

This packages has the definition of the error classes used by Hardhat, and the list of possible errors.

This module exports:

1. The error class `HardhatError`, which has a static field `ERRORS`, with the different `ErrorDescriptors` that it accepts.
2. The error class `HardhatPluginError`, which is the recommended way to handle errors in Hardhat plugins. For convenience, it is re-exported from `@nomicfoundation/hardhat/plugins`. Plugin developers should import it from this path.
3. The interface `ErrorDescriptor`.
4. The assertion helper `assertHardhatInvariant`.
npm package: @nomicfoundation/hardhat-foundry
Description: Hardhat plugin that provides compatibility with Foundry-based projects remappings.
Author: Nomic Foundation
Latest version: 3.0.0

# Hardhat Foundry Plugin

This plugin provides compatibility between Hardhat and Foundry-based projects by automatically loading Solidity remappings generated by `forge`, including those installed with npm.

## When to use this plugin

This plugin is intended to be used when your project or your dependencies depend on remappings generated by Foundry, instead of declaring them in a `remappings.txt` file.

## Installation

First, you need to make sure you have installed Foundry by following the [Foundry installation guide](https://getfoundry.sh/introduction/installation/).

Then, install the plugin by running the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-foundry
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```typescript
import { defineConfig } from "hardhat/config";
import hardhatFoundry from "@nomicfoundation/hardhat-foundry";

export default defineConfig({
  plugins: [hardhatFoundry],
});
```

## Usage

You only need to install the plugin and Hardhat will be able to resolve Solidity remappings for Foundry-based packages, including those installed with npm.
npm package: @nomicfoundation/hardhat-ignition
Description: Hardhat Ignition is a declarative system for deploying smart contracts on Ethereum. It enables you to define smart contract instances you want to deploy, and any operation you want to run on them. By taking over the deployment and execution, Hardhat Ignit
Author: Nomic Foundation
Latest version: 3.1.1

# hardhat-ignition

This plugin integrates [Hardhat Ignition](https://hardhat.org/ignition) into Hardhat.

## Installation

> This plugin is part of [Viem Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-viem) and [Ethers+Mocha Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-mocha-ethers). If you are using any of those toolboxes, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-ignition
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```typescript
import { defineConfig } from "hardhat/config";
import hardhatIgnition from "@nomicfoundation/hardhat-ignition";

export default defineConfig({
  plugins: [hardhatIgnition],
});
```

## Usage

To learn more about how to use Hardhat Ignition, check out the [Hardhat Ignition documentation](https://hardhat.org/ignition).
npm package: @nomicfoundation/hardhat-ignition-ethers
Description: The Ethers extension to Hardhat Ignition. Hardhat Ignition is a declarative system for deploying smart contracts on Ethereum. It enables you to define smart contract instances you want to deploy, and any operation you want to run on them. By taking over t
Author: Nomic Foundation
Latest version: 3.1.1

# hardhat-ignition-ethers

This plugin integrates [Hardhat Ignition](https://hardhat.org/ignition) with [ethers.js](https://ethers.org/).

## Installation

> This plugin is part of the [Ethers+Mocha Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-mocha-ethers). If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-ignition-ethers
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatIgnitionEthers from "@nomicfoundation/hardhat-ignition-ethers";

export default defineConfig({
  plugins: [hardhatIgnitionEthers],
});
```

## Usage

This plugin adds an `ignition` property to each network connection:

```ts
import { network } from "hardhat";
import Counter from "../ignition/modules/Counter.js";

const { ignition } = await network.connect();
const { counter } = await ignition.deploy(Counter);

await counter.inc();
console.log(await counter.x());
```

The `ignition` object has a `deploy` method that can be used to deploy Ignition modules. This returns an ethers contract instance for each contract returned by the module.
npm package: @nomicfoundation/hardhat-ignition-viem
Description: The Viem extension to Hardhat Ignition. Hardhat Ignition is a declarative system for deploying smart contracts on Ethereum. It enables you to define smart contract instances you want to deploy, and any operation you want to run on them. By taking over the
Author: Nomic Foundation
Latest version: 3.1.1

# hardhat-ignition-viem

This plugin integrates [Hardhat Ignition](https://hardhat.org/ignition) with [viem](https://viem.sh).

## Installation

> This plugin is part of the [Viem Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-viem). If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-ignition-viem
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatIgnitionViem from "@nomicfoundation/hardhat-ignition-viem";

export default defineConfig({
  plugins: [hardhatIgnitionViem],
});
```

## Usage

This plugin adds an `ignition` property to each network connection:

```ts
import { network } from "hardhat";
import Counter from "../ignition/modules/Counter.js";

const { ignition } = await network.connect();
const { counter } = await ignition.deploy(Counter);

await counter.write.inc();
console.log(await counter.read.x());
```

The `ignition` object has a `deploy` method that can be used to deploy Ignition modules. This returns a **type-safe** viem contract instance for each contract returned by the module.
npm package: @nomicfoundation/hardhat-keystore
Description: A module for managing keystore files that store a map from IDs to encrypted string values.
Author: Nomic Foundation
Latest version: 3.0.5

# hardhat-keystore

This plugin adds an encrypted keystore to Hardhat, to handle secret values (e.g. API keys and private keys) in your config securely.

## Installation

> This plugin is part of [Viem Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-viem) and [Ethers+Mocha Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-mocha-ethers). If you are using any of those toolboxes, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-keystore
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatKeystore from "@nomicfoundation/hardhat-keystore";

export default defineConfig({
  plugins: [hardhatKeystore],
});
```

## Usage

Check [our guide to configuration variables](https://hardhat.org/docs/learn-more/configuration-variables) to learn how to use the keystore in your Hardhat configuration.
npm package: @nomicfoundation/hardhat-mocha
Description: A mocha test runner
Author: Nomic Foundation
Latest version: 3.0.15

# hardhat-mocha

This plugin integrates [Mocha](https://mochajs.org/) into Hardhat.

## Installation

> This plugin is part of the [Ethers+Mocha Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-mocha-ethers). If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-mocha
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatMocha from "@nomicfoundation/hardhat-mocha";

export default defineConfig({
  plugins: [hardhatMocha],
});
```

## Usage

This plugin defines a new task called `test mocha` that runs your tests using Mocha. This task gets executed automatically when running `npx hardhat test`.

### Configuration

You can use the `test.mocha` entry in the Hardhat configuration to customize the Mocha options. For example:

```ts
import { defineConfig } from "hardhat/config";

export default defineConfig({
  test: {
    mocha: {
      timeout: 20_000, // set the timeout for tests to 20 seconds
    },
  },
});
```
npm package: @nomicfoundation/hardhat-node-test-runner
Description: A node:test runner
Author: Nomic Foundation
Latest version: 3.0.12

# hardhat-node-test-runner

This plugin integrates the native Node.js Test Runner (or [`node:test`](https://nodejs.org/docs/latest/api/test.html)) into Hardhat.

## Installation

> This plugin is part of the [Viem Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-viem). If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-node-test-runner
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatNodeTestRunner from "@nomicfoundation/hardhat-node-test-runner";

export default defineConfig({
  plugins: [hardhatNodeTestRunner],
});
```

## Usage

This plugin defines a new task called `test nodejs` that runs your tests using `node:test`. This task gets executed automatically when running `npx hardhat test`.
npm package: @nomicfoundation/hardhat-toolbox
Description: Nomic Foundation's recommended bundle of Hardhat plugins (ethers based)
Author: Nomic Foundation
Latest version: 7.0.0

# Hardhat Toolbox

The `@nomicfoundation/hardhat-toolbox` plugin bundles all the commonly used packages and Hardhat plugins we recommend to start developing with Hardhat.

**Version compatibility warning:** This version of the package does not work with Hardhat 2 nor 3. Please read below to migrate to Hardhat 3 or install a version compatible with Hardhat 2.

### Installation

#### Hardhat 3

To learn how to migrate to Hardhat 3, please read the [migration guide](https://hardhat.org/migrate-from-hardhat2).

#### Hardhat 2

To use this package with Hardhat 2, please install the `hh2` tag with npm or your package manager of choice:

```bash
npm install --save-dev "@nomicfoundation/hardhat-toolbox@hh2"
```
npm package: @nomicfoundation/hardhat-typechain
Description: Hardhat plugin to support typechain
Author: Nomic Foundation
Latest version: 3.0.5

# hardhat-typechain

This plugin integrates [TypeChain](https://github.com/dethcrypto/TypeChain) into Hardhat, automatically generating TypeScript bindings for your smart contracts.

## Installation

> This plugin is part of the [Ethers+Mocha Hardhat Toolbox](https://hardhat.org/plugins/nomicfoundation-hardhat-toolbox-mocha-ethers). If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

```bash
npm install --save-dev @nomicfoundation/hardhat-typechain
```

In your `hardhat.config.ts` file, import the plugin and add it to the `plugins` array:

```ts
import { defineConfig } from "hardhat/config";
import hardhatTypechain from "@nomicfoundation/hardhat-typechain";

export default defineConfig({
  plugins: [hardhatTypechain],
});
```

## Usage

No extra steps are required to use this plugin. It will be run automatically by Hardhat when building your contracts.
npm package: @nomicfoundation/hardhat-vendored
Description: Internal dependencies used by Hardhat that have been vendored to prevent bloating the main package
Author: Nomic Foundation
Latest version: 3.0.1

# hardhat-vendored

> ⚠️ This package is an internal Hardhat component and it's not meant to be used directly.

This package contains vendored code used by Hardhat 3 and its plugins. To see the vendored packages, please check the `VENDORED.md` file.
npm package: @nomicfoundation/hardhat-web3-v4
Description: Hardhat plugin for using Web3 4.x
Author: Nomic Foundation
Latest version: 2.0.0

# hardhat-web3-v4

Integrate [Web3.js](https://github.com/ethereum/web3.js) `4.x` into [Hardhat](https://hardhat.org).

**Version compatibility warning:** This version of the package does not work with Hardhat 2 nor 3. Please read below to migrate to Hardhat 3 or install a version compatible with Hardhat 2.

### Installation

#### Hardhat 3

To learn how to migrate to Hardhat 3, please read the [migration guide](https://hardhat.org/migrate-from-hardhat2).

#### Hardhat 2

To use this package with Hardhat 2, please install the `hh2` tag with npm or your package manager of choice:

```bash
npm install --save-dev "@nomicfoundation/hardhat-web3-v4@hh2"
```
npm package: @nomicfoundation/hardhat-zod-utils
Description: Utilities to use Zod to validate Hardhat plugins' config
Author: Nomic Foundation
Latest version: 3.0.3

# hardhat-zod-utils

> ⚠️ This package is an internal Hardhat component and it's not meant to be used directly.

This package contains zod utilities to validate Hardhat 3 configurations. It's used by Hardhat and its plugins.
npm package: @nomicfoundation/ignition-core
Description: Hardhat Ignition is a declarative system for deploying smart contracts on Ethereum. It enables you to define smart contract instances you want to deploy, and any operation you want to run on them. By taking over the deployment and execution, Hardhat Ignit
Author: Nomic Foundation
Latest version: 3.1.1

# hardhat-ignition-core

This package contains the core logic of [Hardhat Ignition](https://hardhat.org/ignition). It's not meant to be used directly. Check [hardhat-ignition](https://github.com/NomicFoundation/hardhat/tree/v-next/v-next/hardhat-ignition) instead.