joshstevens19 / simple-uniswap-sdk

Uniswap SDK which handles the routes automatically for you, changes in trade quotes reactive subscriptions, exposure to formatted easy to understand information, bringing back the best trade quotes automatically, generating transactions for you and much more.
MIT License
188 stars 95 forks source link

Disable multicall for debug proposes #27

Closed dec0dOS closed 2 years ago

dec0dOS commented 2 years ago

Hello!

The L2 solution that I'm currently using does not support the multicall v2 contract, so I've disabled the tryAggregate option (it would be useful if it could be set without forking the repo). So I have deployed the multicall v1 version. There is another problem with the library output. The errors are confusing and it would be useful to add the debug toggle to provide more info for debugging. The main question is that is it possible to disable multicall? With the following errors, it is almost impossible to determine what is going wrong.

 [error] call revert exception (method="aggregate((address,bytes)[])", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.5.0)

 [error] Error: call revert exception (method="aggregate((address,bytes)[])", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.5.0)
    at Logger.makeError (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/logger/lib/index.js:199:21)
    at Logger.throwError (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/logger/lib/index.js:208:20)
    at Interface.decodeFunctionResult (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/abi/lib/interface.js:384:23)
    at Object.<anonymous> (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/contracts/lib/index.js:390:56)
    at step (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/contracts/lib/index.js:48:23)
    at Object.next (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/contracts/lib/index.js:29:53)
    at fulfilled (/project/node_modules/ethereum-multicall/node_modules/@ethersproject/contracts/lib/index.js:20:58)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

By the way, thanks again for your awesome project!