ProxeusApp / proxeus-core

Create blockchain-ready document workflows, own your data.
https://proxeus.org
GNU General Public License v3.0
14 stars 13 forks source link

Transactions accelerated manually in Metamask are not picked up #184

Open 1bce2 opened 4 years ago

1bce2 commented 4 years ago

Subject of the issue

Accelerated transactions are not recognized by the system - the document cannot be finalized

Your environment

Chrome OS 78.0.3904.108 / Metamask plugin

Steps to reproduce

After a document is purchased, sign transaction in Metamask pop-up, then open Metamask extension tab and choose "accelerate" and speed

Expected behaviour

System should recognize accelerated transactions like regular transactions

Actual behaviour

Transaction is not recognized - warning message ("do not quit this page") stays open, document is not finalized

loleg commented 3 years ago

@1bce2 thanks for raising the issue. We are transferring support responsibilities and will look into it.

loleg commented 1 year ago

There is no longer an "accelerate" option. When using a higher gas rate, the transaction succeeds more quickly. Therefore closing as we can no longer reproduce.

tafonina commented 5 months ago

The problem is still actual - it is related to the fact that when you speed up transaction - in fact the 2nd transaction is created with the same nonce but with higher gas price value. Since the hash is calculated based on all of the parameters, it will differ from the first transaction, because the gas is different. Unfortunately, any wallets including MetaMask do not expose such APIs at the moment, so there is no way to catch this information in-app, from Metamask. That's why user is not able to see real time update on his page now. In order to approach this problem properly - we have to delegate transaction listening to BE

https://betterprogramming.pub/how-to-listen-for-speed-up-and-canceled-transactions-on-ethereum-b2e850796e1c

The problem solution has high complexity and low priority, it doesn't lead to any bug or inconsistency - since when user jumps to the age with documents - he will see the confirmed document after successful transaction acceleration. The simple work around we can do also - adding some check - is transaction is pending for > x seconds (lets assume 60 or 120) - refresh the page

loleg commented 5 months ago

That's a great explanation of what is going on. Thanks for linking to the article - very technical, but it boils down to this picture:

I think right now this is not a priority for the project. We can add a note to the troubleshooting / FAQ, and encourage users who need a solution to fund it's development.