Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
Upgraded wagmi, viem, rainbowkit to latest version.
Since wagmi/viem now by default removed the simulation of contract write we have to handle it now, check out wevm/wagmi#4516
Initially, I thought I would add simulation logic to
useTransactor
but it seems there is no simulation hook / util for normal transaction in wagmi/viem and its only available for contract interaction. So it made sense to add the logic inuseScaffoldWriteContract
itself.Also added a new option to
useScaffoldWriteContract
anddisbaleSimulate
if anyone wants to disable simulation.Please feel free to be nitpicky on naming / approach!
To test:
Replace this in `externalContracts.ts`
Replace `page.tsx` with
Updated
scaffold.config.ts
withchains.sepolia
.The deployed contract is basic
YourContract
from SE-2 with owner being my account. So ideally withdraw function will fail saying "Not Owner" and won't give wallet pop-up at all.In
main
branch if youcd packages/nextjs && yarn up wagmi viem
and try to withdraw from above branch it will give metamask pop up even when trascation will revert after sending.