trufflesuite / ganache

:warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.
https://consensys.io/blog/consensys-announces-the-sunset-of-truffle-and-ganache-and-new-hardhat?utm_source=github&utm_medium=referral&utm_campaign=2023_Sep_truffle-sunset-2023_announcement_
MIT License
2.62k stars 676 forks source link

Forking mainnet results in erroneous revert on ganache-cli 6.12.0+ #797

Open mrice32 opened 3 years ago

mrice32 commented 3 years ago

Opening a new issue because https://github.com/trufflesuite/ganache-core/issues/571 is closed.

We've had a very similar re-entrancy guard issue with ganache forking. This update fixed our issue in ganache-cli release 6.10.2. But after trying different versions, we noticed a regression in ganache-cli versions 6.12.0+.

You can repro the issue in this repo: https://github.com/UMAprotocol/launch-emp. We have a two simple scripts -- one runs a ganache fork and the other runs a node script against that fork.

There are two branches, the only difference between the two being the ganache version.

Working branch: https://github.com/UMAprotocol/launch-emp/tree/ganache_working. Broken branch: https://github.com/UMAprotocol/launch-emp/tree/ganache_broken.

After checking out each branch run the following in separate shells.

Shell 1:

yarn
# Thin yarn script to run ganache-cli
yarn ganache-fork

Shell 2:

node index.js --gasprice 100
0xTimepunk commented 3 years ago

I am having this issue too with the latest ganache version. Comented here as well because the other issue is closed.

@davidmurdoch

https://github.com/compound-finance/ganache-core/pull/5

mikeseese commented 3 years ago

While I'm no longer with the Truffle team, @davidmurdoch would likely ask for the same thing; @0xTimepunk, could you provide reproduction steps? The error y'all are seeing is a generic symptom caused by several different issues, so it's possible that a fix for @mrice32 would not be a fix for you @0xTimepunk. Reproduction steps can help whoever ends up looking into this more

mzatroch commented 3 years ago

The same issue calling liquidateBorrow(address,CToken) from cEther compound contract -> revert re-entered error returned

mikeseese commented 3 years ago

Hey @mzatroch, please open a new issue. It helps if you provide detailed reproduction steps since the error is a common symptom for several different causes. Thanks!

ajb413 commented 3 years ago

Can't seem to run Compound cToken exchangeRateCurrent (this) without hitting revert re-entered when forking mainnet. Using Node.js 12.14.1. MacBook Pro (15-inch, 2019) on macOS Big Sur 11.3. Made an example here https://github.com/ajb413/ganache-bug-example. Instructions for running it are in the readme.

edit: I was able to resolve my fork issues by switching to hardhat