hardhat icon indicating copy to clipboard operation
hardhat copied to clipboard

Ignition improvements

Open kanej opened this issue 10 months ago • 0 comments

Ignition has been ported to Hardhat 3. There is significant follow up work from that process:

TODO

ignition-core

  • [ ] Re-enable integration tests (deal with Hardhat project fixtures)
  • [x] Port Ignition Errors to Hardhat 3
  • [ ] Update codebase so no eslint rules are disabled
  • [ ] Port lodash calls to hardhat-utils
  • [ ] Port address related calls to hardhat-utils
  • [ ] Port ethers calls to hardhat-utils
  • [ ] Update imports of ./src/index.js to be more specific (we should avoid relying on index.js files)
  • [ ] Re-enable npm scripts comparison check in CI (we need to wait until Node Test Runner move is complete).
  • [x] Look again at chai and chai types versions, I tried bumping up the version to match Ignition and ended up moving it down to match hardhat-chai-matchers

ignition-ui

  • [ ] Remove eslint opt outs and make it work
  • [x] Fix display of mermaid graph details in visualizer

hardhat-ignition

  • [ ] Rewire the ledger checks to work with user interruptions
  • [ ] Hook in verify on Ignition
  • [ ] Review config setup
  • [ ] Revisit test fixture setup - can we improve on performance with precompiled artifacts
  • [ ] Deal with task default values like deploymentId where currently we are using "" to represent no option given by user
  • [ ] Convert tests to Node Test Runner
  • [x] Get rid of hardhat_setLedgerOutputEnabled - Method not supported message on the node
  • [ ] Re-enable all eslint rules
  • [ ] Add an integration test to ensure that if the user sets the ignition path, that is coming through in the config
  • [ ] Revisit the visualization test - it requires a vite build of the ui which significantly slows down the dev flow of testing
  • [ ] Revisit the odd default network connection usage in transactions
  • [ ] We will revisit the type exports after the initial public alpha
  • [ ] We should change the network name check, to a check on network type - EDR networks are ephemeral

hardhat-ignition-viem

  • [ ] Remove exemptions from eslint rules
  • [ ] Look again at type checks in tests - can this be made more comprehensible in terms of build steps
  • [ ] Remove npm scripts comparison exemption
  • [ ] Consider using a config validation rule rather than the other plugin check directly in the network connection hook

hardhat-ignition-ethers

  • [ ] Add typechain support
  • [x] Convert tests to Node Test Runner
  • [ ] Remove npm scripts comparison exemption
  • [ ] Switch to dynamic imports for plugin dependencies in ./src/index.ts

kanej avatar Feb 14 '25 19:02 kanej