- Declare 'localhost' network in hardhat.config.ts pointing to
http://127.0.0.1:8545 (chainId 31337) so deploy scripts work
against an external Anvil/Hardhat node.
- Make MNEMONIC and ALCHEMY_API_KEY optional: fall back to the
Hardhat/Anvil deterministic mnemonic when MNEMONIC is missing,
and only require ALCHEMY_API_KEY when targeting public networks.
- Reset deploys/localhost.json to a starter state (signers populated,
contract addresses empty) so the frontend e2e setup writes fresh
addresses on every run.
Typescript updated to v5.
Notably all calls to p2pix.callStatic.getStr() were replaced by viem.stringToHex() due to bug in ethers (https://github.com/ethers-io/ethers.js/issues/4965)
Full migration to viem might not be possible currently due to hard-chai-matchers incompatibility:
> The hardhat-chai-matchers plugin is designed to work with hardhat-ethers. Attempting to use it in conjunction with hardhat-viem results in compatibility issues.
https://hardhat.org/hardhat-chai-matchers/docs/overview