You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it will throw TransactionNotFound if it hasn't been mined yet, and it seems we are handling few cases in the except clause.
I was wondering if these are exhaustive enough. i.e. could it be that some case is missing, and we can end up in an infinite loop here? Also does it make sense to have an upper limit of waiting here and maybe send a cancel for that transaction after that.
The text was updated successfully, but these errors were encountered:
I spent more time to figure out what is going on. (since I was being affected by this problem quite badly).
When we do contract.foo(...), essentially we call web3.eth.send_transaction and then in TransactionReceipt init function, we keep calling web3.eth.get_transaction (as shown above) in a tight loop. (I added print statements in the code to verify this).
So most likely this is outside the scope of brownie, and in the realm of web3.eth
I am curious if there is anything we can do about this though. Any function we can call to figure out what is going on? (check for packet drop or something). Being stuck in a script is painful.
Hello,
I noticed a weird thing in which sometimes (about ~1%) brownie says that it has sent a transaction, but then is just stuck. e.g.
I looked into the code a little bit, and noticed this
while True
loop.According to the documentation here:
https://web3py.readthedocs.io/en/stable/web3.eth.html#web3.eth.Eth.get_transaction
it will throw
TransactionNotFound
if it hasn't been mined yet, and it seems we are handling few cases in theexcept
clause.I was wondering if these are exhaustive enough. i.e. could it be that some case is missing, and we can end up in an infinite loop here? Also does it make sense to have an upper limit of waiting here and maybe send a
cancel
for that transaction after that.The text was updated successfully, but these errors were encountered: