- Notifications
You must be signed in to change notification settings - Fork388
Description
Describe the bug
close_position not executing the "Burn" function on Polygon network.
web3.exceptions.ContractLogicError ! execution reverted: Not cleared
The “Decrease Liquidity” and “Collect” parts of the function call execute fine, but the “Burn” call fails.
After running the close_position() a second time returns
web3.exceptions.ContractLogicError ! execution reverted
To Reproduce
I am unfortunately unable to reproduce this on demand. It seems to sometimes happens. I anecdotally suspect this happens when polygon network is overloaded but have no proof that it is the case.
Network: Polygon Mainnet
LP pool = 0x86f1d8390222A3691C28938eC7404A1661E618e0
token0 = 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270
token1 = 0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619
Route: I don't have any custom route setup
Here is the relevant code
`
w3 = Web3(Web3.HTTPProvider(HTTPprovider))
w3.middleware_onion.inject(geth_poa_middleware, layer = 0)
w3.middleware_onion.add(construct_sign_and_send_raw_middleware(private_key))
version = 3
uniswap = Uniswap(address = address, private_key = private_key, version = version, provider = HTTPprovider, web3 = w3)
def close_position(token_ID):
close_position = uniswap.close_position(token_ID)
close_position(token_ID)
`
Expected behavior
If the function close_position fails to execute all 3 steps (Decrease liquidity, Collect and Burn) at a time, then upon calling it again it should finish the process. ("Burn" in my case, because "Decrease liquidity" and "Collect" work fine)
Additional context