aave / protocol-v2

Aave Protocol V2
https://aave.com
Other
668 stars 754 forks source link

getReservesData reverts after dev deployment in rinkeby #311

Open capit0 opened 2 years ago

capit0 commented 2 years ago

I added the rinkeby network and then deployed the contracts through the following command:

npm run hardhat:rinkeby aave:dev

The deployment + initializing process was successful, but then when I tried out the functions on a local fork I stumbled on an error when calling the getReservesData function. This is the error that I get:


await poolProvider.getReservesData("0xfB506bb8400aF24cDBbc7F0925E24Fa44266Cc72");

Uncaught:
Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={"name":"ProviderError","code":-32000,"_isProviderError":true}, method="call", transaction={"from":"0xBce875021E09d7Aa773a3F437310079B5cb2c967","to":"0xe3bEA87A04E056349002e7f394d3c4e733DAA8cA","data":"0xec489c21000000000000000000000000fb506bb8400af24cdbbc7f0925e24fa44266cc72","accessList":null}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.1.2)
    at step (/src/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)
    at EthersProviderWrapper.<anonymous> (/src/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:512:20)
    at checkError (/src/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:76:16)
    at Logger.throwError (/src/node_modules/@ethersproject/logger/src.ts/index.ts:217:20)
    at Logger.makeError (/src/node_modules/@ethersproject/logger/src.ts/index.ts:205:28) {
  reason: 'cannot estimate gas; transaction may fail or may require manual gas limit',
  code: 'UNPREDICTABLE_GAS_LIMIT',
  error: ProviderError: execution reverted
      at HttpProvider.request (/src/node_modules/hardhat/src/internal/core/providers/http.ts:46:19)
      at LocalAccountsProvider.request (/src/node_modules/hardhat/src/internal/core/providers/accounts.ts:142:34)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
      at EthersProviderWrapper.send (/src/node_modules/@nomiclabs/hardhat-ethers/src/internal/ethers-provider-wrapper.ts:13:20),
  method: 'call',
  transaction: {
    from: '0xBce875021E09d7Aa773a3F437310079B5cb2c967',
    to: '0xe3bEA87A04E056349002e7f394d3c4e733DAA8cA',
    data: '0xec489c21000000000000000000000000fb506bb8400af24cdbbc7f0925e24fa44266cc72',
    accessList: null
  }
}

This is the addressProvider contract:

https://rinkeby.etherscan.io/address/0xfB506bb8400aF24cDBbc7F0925E24Fa44266Cc72

And this is the poolData contract which is being called:

https://rinkeby.etherscan.io/address/0xe3bea87a04e056349002e7f394d3c4e733daa8ca

What might be causing this error?

defispartan commented 2 years ago

Using https://tenderly.co to debug, I can see that the call is failing when fetching data for this reserve: 0xe0c5a3a0cc93e67d39d4acf894a83cbd583e084c.

This contract is not verified though so I can't determine what the issue is. Perhaps there is a missing oracle or interest rate configuration for this asset?

capit0 commented 2 years ago

This actually is the oracle:

0xe0c5a3a0cc93e67d39d4acf894a83cbd583e084c

So when it is called for one of the assets it reverts. I need to find out which asset though, but verifying is not possible because I do not know which arguments exactly went inside the constructor since I launched it through 1 of the complex scripts.