@nomiclabs/hardhat-waffle
npm i @nomiclabs/hardhat-waffle

@nomiclabs/hardhat-waffle

Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. Get Solidity stack traces & console.log.

by NomicFoundation

2.0.3 (see all)License:MITTypeScript:Built-InCategories:Vanilla JavaScript Ethereum Smart Contract, Vanilla JavaScript Ethereum API
npm i @nomiclabs/hardhat-waffle
Readme

npm hardhat

hardhat-waffle

Hardhat plugin for integration with Waffle.

What

You can use this plugin to build smart contract tests using Waffle in Hardhat, taking advantage of both.

This plugin adds a Hardhat-ready version of Waffle to the Hardhat Runtime Environment, and automatically initializes the Waffle Chai matchers.

Installation

npm install --save-dev @nomiclabs/hardhat-waffle 'ethereum-waffle@^3.0.0' @nomiclabs/hardhat-ethers 'ethers@^5.0.0'

And add the following statement to your hardhat.config.js:

require("@nomiclabs/hardhat-waffle");

Or, if you are using TypeScript, add this to your hardhat.config.ts:

import "@nomiclabs/hardhat-waffle";

Tasks

This plugin creates no additional tasks.

Environment extensions

This plugin adds a waffle object to the Hardhat Runtime Environment. This object has all the Waffle functionality, already adapted to work with Hardhat.

The waffle object has these properties:

  • provider
  • deployContract
  • solidity
  • link
  • deployMockContract
  • createFixtureLoader
  • loadFixture

This plugin depends on @nomiclabs/hardhat-ethers, so it also injects an ethers object into the HRE, which is documented here.

Usage

Once installed, you can build your tests almost like in Waffle.

Instead of importing things from ethereum-waffle, you access them from the waffle property of the Hardhat Runtime Environment.

For example, instead of doing

const { deployContract } = require("ethereum-waffle");

you should do

const { waffle } = require("hardhat");
const { deployContract } = waffle;

Also, you don't need to call chai.use in order to use Waffle's Chai matchers.

Note that by default, Hardhat saves its compilation output into artifacts/ instead of build/. You can either use that directory in your tests, or customize your Hardhat config.

Downloads/wk

76.6K

GitHub Stars

2.6K

LAST COMMIT

NaNyrs ago

MAINTAINERS

4

CONTRIBUTORS

0

OPEN ISSUES

389

OPEN PRs

51
VersionTagPublished
2.0.3
latest
4mos ago
2.0.0-rc.1
rc
2yrs ago
No tutorials found
Add a tutorial