-
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
Add contract types map to hardhat-viem #5398
Add contract types map to hardhat-viem #5398
Conversation
Add `ContractTypesMap` that returns `GetContractReturnType<${ctd.typeName}["abi"]>` to the `generateArtifactsDefinition()` and `generateDuplicateArtifactsDefinition()`.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
🦋 Changeset detectedLatest commit: 890bdee The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Tested in a sample project by importing the map and verifying that the types for the Lock
contract match what is returned from deployContract
and getContractAt
.
Congrats, your important contribution to this open-source project has earned you a GitPOAP! GitPOAP: 2024 Hardhat Contributor: Head to gitpoap.io & connect your GitHub account to mint! Learn more about GitPOAPs here. |
Adding a
ContractTypesMap
that returnsGetContractReturnType<${ctd.typeName}["abi"]>
toartifacts.d.ts
by modifyinggenerateArtifactsDefinition()
andgenerateDuplicateArtifactsDefinition()
can improve UX. Users will only need to doimport { ContractTypesMap } from "hardhat/types";
and the contract type can be used like thisconst contract: ContractTypesMap["ContractName"];
This PR was previously discussed here.