- Notifications
You must be signed in to change notification settings - Fork388
Open
Description
I am trying to use get_tvl_in_pool to get the best option between 0.3% and 1% pools on UniV3
When I use it for WETH/USDC pair 0.3% pair it gets reverted with "Provided tick is out of bounds: (-887220, 887220)" error.
My code:
from web3 import Web3from uniswap import Uniswapfrom config.config import get_provideraddress = None # or None if you're not going to make transactionsprivate_key = None # or None if you're not going to make transactionsversion = 3 # specify which version of Uniswap to useprovider = get_provider('ethereum')['rpc'] # can also be set through the environment variable `PROVIDER`uniswap = Uniswap(address=address, private_key=private_key, provider=provider, version=version)token_address_usdc = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'# token_address_ape = '0x4d224452801ACEd8B2F0aebE155379bb5D594381'weth_address = uniswap.get_weth_address()token_address = Web3.toChecksumAddress(token_address_usdc)pool_03 = uniswap.get_pool_instance(weth_address, token_address, 3000)tvl = uniswap.get_tvl_in_pool(pool_03)print(tvl)
Error
Traceback (most recent call last): File "/home/iurii/Desktop/blockchain/retrodrop/arbitrum/test.py", line 20, in <module> tvl = uniswap.get_tvl_in_pool(pool_03) File "/home/iurii/Desktop/blockchain/retrodrop/arbitrum/venv/lib/python3.8/site-packages/uniswap/uniswap.py", line 1342, in get_tvl_in_pool _min_tick = self.find_tick_from_bitmap( File "/home/iurii/Desktop/blockchain/retrodrop/arbitrum/venv/lib/python3.8/site-packages/uniswap/uniswap.py", line 1298, in find_tick_from_bitmap _min_tick = self.get_min_tick_from_wordpos( File "/home/iurii/Desktop/blockchain/retrodrop/arbitrum/venv/lib/python3.8/site-packages/uniswap/uniswap.py", line 1255, in get_min_tick_from_wordpos min_tick_in_word = nearest_tick(_tick, fee) File "/home/iurii/Desktop/blockchain/retrodrop/arbitrum/venv/lib/python3.8/site-packages/uniswap/util.py", line 111, in nearest_tick assert (AssertionError: Provided tick is out of bounds: (-887220, 887220)Process finished with exit code 1
However, for the WETH/APE pool it works just fine.
So this is probably some corner case that makes script fail. Not really sure how to fix it