-
Notifications
You must be signed in to change notification settings - Fork 363
fix: remove redundant PENDING_FAILED
status
#3360
Conversation
CLA Assistant Lite All Contributors have signed the CLA. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
ESLint Summary View Full Report
Report generated by eslint-plus-action |
E2E Tests Failed Failed tests:
|
Hola caballeros! Unfortunately I've been able to reproduce the issue on a safe with 2 owners by doing what Franco shows in the gif:
Edit: Tx is shown as send tx because I only have this asset in the safe :) Cheers! |
@JagoFigueroa, this issue should now be address. I am putting this into review now but would appreciate your insight on it again once it has passed. |
Working like a charm now after the fix, thank you @iamacook I have still a few scenarios left to check tomorrow but it is looking good ;) |
PENDING_FAILED
status
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Key comment: use a set or a hash map for pending txns. Easier to lookup and delete items.
I am aware of the merge conflict. I'll hold off on merging dev here until after review to avoid having lots of file changes polluting the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looketh Goode!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ well done!
Jago gave it the thumbs up and I also check it for a bit too check that nothing obvious pops up. Looks good to me as well. |
What it solves
Resolves #3352
How this PR fixes it
The
PENDING_FAILED
status was seemingly added as a placeholder and was causing the issue that it was setonError
, irregardless of whether the transaction was a signature or execution. It has now been removed and the 'local statuses' converted to a 'pending transactions' array that stores and array ofsafeTxHash
es instead.The coniditons of performing an off-chain signature now first take into account whether off-chain signing is possible:
!isFinalization && canSignOffChain
.The choice to rename
isExecution
toisFinalization
is included here as it is more declarative.How to test it
The
PENDING
status should be shown when a signature is requested/the transaction is executed. The button text should also represent whether the transaction needs to be confirmed or executed.The
PENDING
statuses should be broadcast across windows/tabs. If you open two tabs/windows of the queue list and execute the transaction in one, it should show the updated status in the other.This logic affects a lot of cases across all transactions. This has been tested locally across all of the following, but it is best to check them again:
On a 1/? Safe:
On a 2/? Safe:
Creating and executing rejection transactions on the above should also be tested.