Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software.
OTHER License
Bot releases are hidden (Show)
Published by fvictorio almost 4 years ago
This release makes console.sol
work with solc 0.8.x
, but this comes with a small breaking change: the console.logByte
function doesn't exist anymore, since the byte
type was removed. If you run into this issue, you just need to replace all your calls to logByte
with logBytes1
.
Besides that, this release adds support for hardhat-shorthand
, a new tool we just released. It's an NPM package that installs a globally accessible binary called hh
that runs the project's locally installed hardhat and supports shell autocompletion for tasks. Check the guide to learn more.
Published by fvictorio almost 4 years ago
This PR includes several improvements to Hardhat Network (PRs: #1083, #1086, #1100).
Most of these changes are internal and backward compatible. The exception is #1083, which changes the chainId
used by the forked Hardhat Network. Before this version, when you forked the mainnet the chain id used was 1. Now it will use the default chain id (31337). You can change this via the Hardhat Network config.
Besides that, the names of the build info files are now deterministic (#1090).
Published by fvictorio almost 4 years ago
This release fixes a couple of issues in Hardhat Network (#1048, #1088) and improves the error messages that are shown when an out of gas error causes a transaction to revert.
Published by fvictorio almost 4 years ago
This release includes a frequently requested feature for this plugin: to minimize the number of source files that are sent to Etherscan for verification.
Now hardhat-etherscan
will do its best to only send the file of the contract and its dependencies. It is possible (but unlikely) that this produces a different bytecode than when the whole project is compiled; if that happens, the plugin will detect it and all the files in the project will be used.
Thanks to @kartojal for doing the first steps towards this!
Published by fvictorio almost 4 years ago
This release fixes a couple of issues (#1020, #1061) related to some missing chai matchers in our waffle plugin. Notice that this also bumps the peer dependency on ethereum-waffle
to at least 3.2.0
.
Thanks to @dahifi for working on this!
Published by fvictorio almost 4 years ago
This release fixes some issues in the @nomiclabs/hardhat-ethers
plugin:
hardhat_reset
is used (#1015)getContractAt
method and linked contracts was fixed (#950)Published by fvictorio almost 4 years ago
This release changes the cache strategy used by Hardhat: instead of using the modification time, the hash of the content of the involved files is used (PR #1006). This should let you do things like taking advantage of your CI's cache (let us know if you do and if it works!)
Besides that, this release:
mixhash
field to returned blocks (issue #1011).Published by fvictorio almost 4 years ago
This release fixes an issue (https://github.com/nomiclabs/hardhat/issues/941) that caused an out of memory error when verifying contracts in big projects.
Published by fvictorio almost 4 years ago
This release fixes several bugs:
blockhash
function (PR: https://github.com/nomiclabs/hardhat/pull/986)eth_getStorageAt
is formatted (PR: https://github.com/nomiclabs/hardhat/pull/996)Published by alcuadrado almost 4 years ago
This release includes two changes:
BuildInfo
s now have an id
field. (https://github.com/nomiclabs/hardhat/pull/953)Published by alcuadrado almost 4 years ago
This version of Hardhat includes a fix that prevents the telemetry consent prompt from showing in CI servers (https://github.com/nomiclabs/hardhat/pull/943).
Thanks @fubhy for reporting and fixing this problem.
Published by alcuadrado almost 4 years ago
We are pleased to announce the release of Hardhat, the new and evolved version of Buidler. This release is a special one for two reasons. Naturally, the first is due to the rebrand. The second reason this release is special is that this new release packs a lot of new functionality.
You can learn more about this release in our announcement. Check out our Migrating from Buidler guide to learn how to start using it in your existing projects, or the Getting started guide to try it out in a fresh project.
This is the complete list of changes introduced in Hardhat.
console.log
and stack traces for Solidity, is now called Hardhat Network.@nomiclabs/buidler
package is now hardhat
.@nomiclabs/buidler-<plugin>
are now named @nomiclabs/hardhat-<plugin>
.2.0.0
. The only exceptions are @nomiclabs/hardhat-ethers
and @nomiclabs/hardhat-waffle
.
2.0.0
version if you want to use ethers.js
v5.1.0.0
version if you want to use ethers.js
v4.Hardhat Network can now fork from Mainnet and other live networks, replicating their state without having to sync an entire blockchain. Read the guide to learn how to use it.
Hardhat has a new Solidity compilation pipeline. This includes lots of improvements:
solc
whenever possible, relying on solcjs
only as a fallback.solc
, not just the optimizer.Hardhat comes with better support from ethers.js:
@nomiclabs/hardhat-ethers
now offers a native way of linking libraries.ethers.getSigners()
have an address
property now. No more await signer.getAddress()
everywhere.
Both versions of the plugin have received the same improvements. Please, refer to their documentation to learn more.
Setting up TypeScript in Hardhat is now simpler. All you need to do is install typescript
, ts-node
and have a hardhat.config.ts
that import
s your plugins.
There's no need to have a tsconfig.json
with special settings. Check our TypeScript guide to learn more.
usePlugin
doesn't exist anymore. Plugins are automatically loaded when imported/required.artifacts
directory stores artifacts in a nested structure, and it has new files (link).readArtifact
and readArtifactSync
functions from hardhat/plugins
don't exist anymore. Instead, the hre
has an artifacts
object to interact with artifacts (link).internalTask
is deprecated. Users should use subtask
now.0.7.3
.0x
prefixed when appropriate.type-extensions.d.ts
and plugin entries in tsconfig.json#files
are no longer neededhardhat/types
. You shouldn't use deeper modules like hardhat/types/config
, unless you are extending an interface.cache
directory.package.json
and (optionally) installs the needed dependencies.subtask
supports complex types, no need to use stringified objects anymore.hre
global variable is now present when running scripts, tests, and tasks.node_modules
using relative paths.solidity-files-cache.json
file in the cache. This file is considered internal and shouldn't be depended upon nor modified.--network
isn't used, the value of args.network
is undefined instead of having the value of the default network.tsconfig
is now a reserved param (not used at the moment)hardhat_impersonateAccount
, hardhat_stopImpersonatingAccount
and hardhat_reset
.web3_clientVersion
method is now a Hardhat-specific value.eth_getStorageAt
method now always returns 32 bytes.flatten
task can receive a list of files to be flattened.--quiet
flag.compile
task were significantly changed. This can affect you if you were overriding some of them.solc
returns an internal compiler error.clean
task has a --global
flag, which deletes the Solidity compilers and other global caches.hardhat node
is 0.0.0.0 when executed inside a docker container.hardhat-ethers
: contract factories for abstract contracts cannot be created anymore. Use getContractAt
if you want to use an abstract interface to interact with a deployed contract.Published by alcuadrado about 4 years ago
This is a small version that improves the flatten
task. It now supports multi-line imports.
Published by alcuadrado about 4 years ago
This version includes a hotfix to an issue that prevented ethers from working with Buidler.
This version temporarily changed how buidler-ethers
manages the gas
setting in your networks, by substracting 1M from it. If this brings you any problem, you can increase it by 1M, making sure that it won't go beyond the block gas limit. In the case of the buidlerevm
network, you can increase the block gas limit.
For more information about these settings, please go to: https://buidler.dev/config/#networks-configuration
Published by alcuadrado about 4 years ago
This version was deprecated in favor of @nomiclabs/[email protected]
Published by alcuadrado about 4 years ago
This version updates the docker images used for fetching the Vyper compiler.
Published by alcuadrado about 4 years ago
This new version of Buidler extends Buidler EVM's functionality, making it compatible with other tools like Tenderly and The Graph.
It's now possible to run RPC methods using any block number as blockTag
. For more info, take a look at #778.
This release will also decrease the number of error messages when using buidler node
with MetaMask.
Published by alcuadrado about 4 years ago
This version of Buidler fixes a bug that prevented Buidler EVM to be properly initialised, and uses a global directory to store solc compilers.
Published by fvictorio about 4 years ago
This version adds support for verifying libraries and improves some error messages.
Published by fvictorio about 4 years ago
This version adds better support for monorepos and yarn workspaces (issues #468 and #570) and fixes a bug related to having multiple config files (#737).