./packages/hardhat-plugin/README.md
Package detail
@nomicfoundation/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 deployment and execution, Hardhat Ignit
readme
changelog
Changelog
0.15.11
Patch Changes
- 23280b8: Resolve all dependencies when using submodules in
after
0.15.10
Patch Changes
- d96c003: Fix for bug when we fail to save transaction hash
0.15.9 - 2024-12-18
Added
- Standard Ignition UI can now be enabled when deploying via Hardhat scripts by setting
displayUi: true
in thedeploy
function options, @zoeyTM (#843) - Ignition modules can now be set as a dependency in the
after
option of futures, @zoeyTM (#828) - The
ignition transactions
command output will now include a link to view each transaction on the configured block explorer, @zoeyTM (#849) - Module parameters can now be directly imported from a JSON file when deploying via Hardhat scripts by passing an absolute path to the file to the
parameters
option, @zoeyTM (#850)
Fixed
- Properly handle errors when verifying deployments that use external artifacts, @zoeyTM (#848)
- Fix issue with
ignition status
command not working with deployments that use external artifacts, @zoeyTM (#846)
0.15.8 - 2024-11-22
Fixed
transactions
command now properly serializesbigint
values, @zoeyTM (#837)- Additional validations added for global parameters, @kanej (#832)
0.15.7 - 2024-10-24
Added
- New CLI command
ignition transactions
to list all transactions sent for a given deployment ID, @zoeyTM (#821) - Module parameters can now be set at the global level using
$global
, @zoeyTM (#819)
Fixed
- Gas fields are now properly set for Optimistic BNB, @zoeyTM (#826)
- Corrected resolution of artifacts when using fully qualified names in deployment modules, @kanej (#822)
0.15.6 - 2024-09-25
Added
- Updates to the visualization UI, including the ability to zoom and pan the mermaid diagram (#810)
gasPrice
anddisableFeeBumping
config fields added as part of our L2 gas logic update (#808)- Debug logging for communication errors with Hardhat Ledger (#792)
- JSON5 support for module parameters, thanks @erhant (#800)
- Add
writeLocalhostDeployment
flag to allow saving deployment artifacts when deploying to the ephemeral Hardhat network, thanks @SebastienGllmt (#816)
Fixed
- Replace
this
with the class itself inViemIgnitionHelper
, thanks @iosh (#796)
0.15.5 - 2024-06-17
Added
- New function
m.encodeFunctionCall
(#761)
Fixed
- Adjusted regex to allow calling overloaded functions with array parameters (#774)
- Handle anvil response for
hardhat_setBalance
when deploying with create2 (#773) - Properly resolve
verify
logic when dealing with circular or very deeply nested imports (#772) - Exclude BNB Test Chain from zero fee configuration in gas fee logic, thanks @MukulKolpe (#768)
0.15.4 - 2024-05-14
Fixed
- Reconcile address parameters with mismatched casings (#748)
- Display better error messages for insufficient funds (#754)
0.15.3 - 2024-05-09
Fixed
- Exclude BNB Chain from zero fee configuration in gas fee logic, thanks @magicsih (#755)
0.15.2 - 2024-05-02
Added
- Improved support for deploying via a Ledger Hardware wallet, see our guide for details (#720)
- Support
maxPriorityFeePerGas
as a configuration parameter (#728) - Use RPC call
eth_maxPriorityFeePerGas
in gas fee calculations when available (#743) - Support zero gas fee chains (like private Besu chains), thanks @jimthematrix (#730)
Fixed
- Use pre-EIP-1559 transactions for Polygon to avoid dropped transactions (#735)
0.15.1 - 2024-04-04
Added
- Add a configurable upper limit for the maxFeePerGas (#685)
- Support writing and reading from deployments folder within tests and scripts (#704)
- Add
ignition deployments
task to list all the current deployments (#646)
Changed
- Deploying to a cleared local hardhat node ignores previous deployment (#650)
Fixed
- More resilent automine check (#721)
getCode
usage brought in line with Ethereum RPC standard (#715)- Fixed unexpected next nonce on revert (#676)
- Reduce sources being passed to etherscan for verification (#706)
0.15.0 - 2024-03-13
Added
- Support
create2
through strategies, for more details see ourcreate2
guide. (#629)
0.14.0 - 2024-02-21
Added
- Support BigInt values in Module Parameter files by encoding them as strings with the format /d+n/ (#663)
0.13.2 - 2024-01-25
Fixed
- Add memory pool lookup retry to reduce errors from slow propogation (#667)
Added
- Improve Module API typescript doc comments to enhance intellisense experience (#642)
- Support module parameters taking accounts as the default value (673)
0.13.1 - 2023-12-19
Added
- New flag
--reset
forignition deploy
to wipe the existing deployment state before running (#649)
Fixed
- Fix bug with
process.stdout
being used in a non-tty context (#644)
0.13.0 - 2023-12-13
Added
- Add support for setting the default sender account from tests and scripts (#639)
- Add support for setting the default sender from the cli (#620)
Changed
- Split out
ethers
support from@nomicfoundation/hardhat-plugin
, to allow opting for either ethers or Viem in tests and scripts. If you were usinghre.ignition.deploy(...)
in tests or scripts you will need to install, and require in your Hardhat config, the@nomicfoundation/hardhat-plugin-ethers
package. For more details on our Viem support see our guide. (#612)
0.12.0 - 2023-12-05
Added
- Add support for verification, see our verification guide for more information (#630)
Changed
- Improved the error for fee exceeding block gas limit (#594)
0.11.2 - 2023-11-06
Added
- Support account values in send
to
in Module API (#618) - Validation check for duplicate module ids (#608)
Fixed
- Fix
ContractAt
s being recorded todeployed_addresses.json
(#607)
0.11.1 - 2023-10-30
Added
- Give visual indication that there was a gas bump in
deploy
task (#587)
Changed
- When displaying an Ethereum Address at the cli, show in checksum format (#600)
- Show a better message when no futures were executed during a rerun (#586)
- Less confusing message for no modules folder error (#602)
0.11.0 - 2023-10-23
First public launch 🚀
Added
- Display batching information in the visualize report (#494)
- Update styling of visualize report (#493)
- Expand Module API so value and from support staticCall/readEventArg as values (#455)
- Support fully qualified contract names (#563)
Changed
- More compact command-line UI (#495)
- Ignition tasks are now scoped e.g.
npx hardhat ignition deploy
(#442) - The
ignition-info
task has been renamed tostatus
, and now shows the status of the current deployment not just the successes (#496) - Modules now have to be inside a
modules
subfolder within the./ignition
folder (#511) - Import of
buildModule
now from@nomicfoundation/hardhat-ignition/modules
(#540) - A warning is displayed if you are running against an in-process hardhat network (#553)
- The default deployment id is now
chain-<CHAINID>
(#551) - The
contractAt
signature overload for artifact has been changed to match other artifact overload signatures (#557)
Fixed
- Improve loading times for other non-ignition hh tasks, when Ignition is included (#13)
- Only open visualization report if supported (#504)
- Fixed nonce check failure on rerun (#506)
- Ensure future's senders meet nonce sync checks (#411)
- Show all deployed contracts at the end of a deployment (#480)
- Rerun blocked by sent transactions message IGN403 (#574)
- Rerun over multiple batches trigger error IGN405 (#576)
0.4.0 - 2023-09-15
Added
Changed
- Changed npm package name to
@nomicfoundation/hardhat-ignition
- rename the
plan
task tovisualize
(#471) - Constrain module ids and action ids to better support storing deployments on windows (#466)
- Rename
use-verbose
flag ondeploy
task tosimple-text-ui
(#444)
Fixed
- Fix batch completion on non-automining chains (#467)
0.3.0 - 2023-08-30
Added
- Support eip-1559 style transactions (#8)
- Automatic gas bumping of transactions (#294)
- Improve validation based on artifacts (#390)
Changed
- Switch peer dependency from ethers v5 to ethers v6 (#338)
- Deprecate support for node 14, and add support for node 20 (#370)
0.2.0 - 2023-08-16
Added
- The execution config is now exposed through deploy and wired into the
hardhat-ignition
plugin config.
Fixed
- Switch default deploy configurations depending on whether the current network is automined.
0.1.2 - 2023-07-31
Fixed
- Fix validation error when using the result of a
staticCall
as the address of acontractAt
/contractAtFromArtifact
(#354) - Fix bug in
staticCall
execution logic preventing successful execution
0.1.1 - 2023-07-30
Fixed
- Fix validation error when using the result of a
readEventArgument
as the address of acontractAt
/contractAtFromArtifact
(#354)
0.1.0 - 2023-07-27
Added
- Rerunning now uses a reconciliation phase to allow more leeway in changing a module between runs
- Deployments against real networks are recorded to
./ignition/deployments/<deploy-id>
, including recording the deployed addresses and the artifacts (i.e. abi, build-info etc) used for each contract deploy
Changed
- The Module API has went through considerable restructuring, including breaking changes, please see the
./docs
for more details - The plan task has been enhanced to give a module centric view rather than the lower level execution that was previously shown
- The ui during a deployment has been reduced to showing the results, the full UI will be brought back in a coming release
0.0.13 - 2023-04-18
Added
- Support static calls in the Module API (#85)
- Add command,
ignition-info
, to list previously deployed contracts (#111)
0.0.12 - 2023-04-04
Fixed
- Support recursive types in
m.call
args (#186)
0.0.11 - 2023-03-29
Changed
- Replace
m.getBytesForArtifact("Foo")
withm.getArtifact("Foo")
in the module api (#155)
Fixed
- Fix libraries in plan (#131)
0.0.10 - 2023-03-14
Added
- Make Hardhat network accounts available within modules (#166)
Changed
- Show file/line/column against validation errors, so that module problems can more easily be traced back to the source code (#160)
0.0.9 - 2023-03-02
Added
- Support defining modules in typescript (#101)
- Allow rerunning deployment while ignoring journal history through a
--force
flag (#132)
Changed
- Do not ask for confirmation when deploying to a hardhat node (#134)
0.0.8 - 2023-02-16
Added
- Allow file paths to ignition modules on cli to support cli completions for file discovery (#102)
Changed
- Rename config option
gasIncrementPerRetry
togasPriceIncrementPerRetry
for clarity (#143)
Fixed
- Improve error messages display during module validation (#141)
- Ban passing async functions to
buildModule
(#138)
0.0.7 - 2023-01-31
Fixed
- Resolve parameter args for deployed contracts during execution (#125)
0.0.6 - 2023-01-20
Added
- Support rerunning deployments that errored or went to on-hold on a previous run (#70)
- Support sending
ETH
to a contract without having to make a call/deploy (#79) - Confirm dialog on deploys to non-hardhat networks (#95)
Changed
- Rename the
awaitEvent
action in the api toevent
(#108)
0.0.5 - 2022-12-20
Added
- Add params section to deploy display in cli (#74)
- Expose config for pollingInterval (#75)
- Support
getBytesForArtifact
in deployment api (#76) - Support use of emitted event args as futures for later deployment api calls (#77)
- Support event params futures in
contractAt
(#78)
Fixed
- Fix for planning on modules with deploys from artifacts (#73)
0.0.4 - 2022-11-22
Added
- Support setting module params from JSON file (#64)
0.0.3 - 2022-11-09
Added
Changed
- Dependening on returned module contract equivalent to depending on the module (#55)
0.0.2 - 2022-10-26
Added
- Add
deploy
task to hardhat via the plugin - Add
plan
task to hardhat via the plugin