Sending the same valid transaction twice (such as may happen under poor networking conditions) will cause one transaction to succeed and the other to fail.
This is expected behavior but the problem is that the resulting DB state is that the transaction "failed" despite it being properly included in the blockchain.
Fix:
Since a transition from "successful" -> "failed" is not possible in our spec, we simply make it impossible for a "failed" transaction to change the DB status from "failed" -> "successful"
Linked issue
N/A
Type of change
[~] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
Description
Sending the same valid transaction twice (such as may happen under poor networking conditions) will cause one transaction to succeed and the other to fail. This is expected behavior but the problem is that the resulting DB state is that the transaction "failed" despite it being properly included in the blockchain.
Fix: Since a transition from "successful" -> "failed" is not possible in our spec, we simply make it impossible for a "failed" transaction to change the DB status from "failed" -> "successful"
Linked issue
N/A
Type of change