-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate hardhat ignition to hardhat monorepo #6066
Conversation
Display a warning message in the `deploy` task. It indicates that deployment is against an ephemeral network. The implementation is to add extra information to the start run event, specifically the `deploymentDir`, which then allows the UI event handler to determine if the deployment is ephemeral. This means injecting that information down throught the `deploy`/`deployer` barrier. This is not ideal, but I think it is legitimate to assume the UI should have access to all the passed in config. Resolves #553.
Switch the `artifact` version of `contractAt` to: ```js m.contractAt(name, artifact, address) ``` This brings it into line with other artifact based signatures. Resolves #557.
* update the status text for success * update text of timed out futures * update the failed text * update status text for started futures * don't expose strategy level information This also updates the identifiers in the tests.
[WIP] Review error messages (PR 1)
Define call ids based on the entire id of the contract being called, not just its name (PR 2)
…messages Better validation error messages
Support fully qualified contract names (PR 3)
It splits the errors into two cases, with different messages: - An autogenerated id is duplicated. - An id provided by the user is duplicated. It also changes the wording, so that we use the full id ("Module#autoId") only in the autogenerated case, and just the id ("userProvidedId") when the user provides it. This change is because the user may not recognize that "Module#userProvidedId" refers to the string they provided, as it has been changed. Moves the `add future id to the builder` (used for checking duplicates across modules and submodules) out from the assertion method and into each api action. When a future is added to the module, we consider it safe to add the future id to the list of previously seen future ids. --------- Co-authored-by: John Kane <[email protected]>
Our display of the deployment starting panel is dependent on the `RUN_START` event. This event was being triggered only once for a deployment, on initialization of the deployment state, on the very first run of the deployment. The panel was not being displayed on subsequent runs. Several moves have been made to fix this: 1. The original run start has been renamed to `DEPLOYMENT_INITIALIZE` and only has responsibility for setting the `chainId`. It is only ever run as the first message in a new deployment. 2. The execution engine is no longer invoked if there are no batches to run (i.e. no uncompleted futures). 3. A new `RUN_START` that is UI only has been added to the deployer. If there is a batch to execute, and the execution engine is being invoked, we trigger the new `RUN_START`. 4. The deployment initialize event in the state reducer only sets the `chainId` (rather than clearing executionStates as well). The UI for displaying the execution panel has been shifted to the new run start event. These changes gives us the correct UI combinations: - Show Deploying panel on fresh deploy - Only show complete on rerun with no new futures - Show Deploying panel on rerun with new futures Fixes #566.
Add the reconciliation warnings to the deploying panel. Refactor the test format utility used in display tests as well. Fixes #567
Misc polishing changes
Move the deployment start event to after the state initialization where the chainId check is. This works, but I suspect we should consider dealing with unknown exceptions occuring during UI processing. The chainId check now throws an Ignition error from a new `DEPLOY` range of errors. This error has been added to the whitelist (we don't need to see the stack trace). Fixes #571.
The future senders update the account to nonce+transactions list in such away that existing pending transactions for the account are untouched. No test has been added, but the case has been covered by enhancing the example module to include an unexecuted future in the module. Fixes #574.
Update the nonce storage to record based on sender. Fixes #576
Update the packages versions and changelogs for the `0.15.9 - 2024-12-18` release.
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
bc80f1e
to
a37b251
Compare
Closing in favor of #6151 |
This is the initial migration of the https://github.com/NomicFoundation/hardhat-ignition repo into the hardhat monorepo. The commit history should be preserved from the original ignition repo, and the entire project should now live in this repo within
packages/hardhat-ignition
.The ignition project is not yet functional within this repo, that will come in a follow-up PR. This PR is simply the merge of the commit histories.