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
If the change list has duplicated outputs, meaning 2 entries saying that output index X is a change, we will break the output confirming UI.
For instance, if we have 3 outputs and 2 entries on the change list saying that output index 0 is change we will show to the user to confirm outputs:
Output 1/1
Output 2/1
This can be specially bad if we had 2 outputs, since it actually shows Output 1/0, it can also show Output 1/-1 depending on how we manipulate this.
Solution
When parsing the change list we need to check for duplicates and fail the transaction if any are found.
Since we do not have data on the transaction yet we can parse the change list and when we parse the number of outputs on the transaction we also need to check that the highest change index is on the transaction (since we do not have duplicates this also checks that the number of change outputs is lower than the number of outputs).
The text was updated successfully, but these errors were encountered:
Description
If the change list has duplicated outputs, meaning 2 entries saying that output index X is a change, we will break the output confirming UI.
For instance, if we have 3 outputs and 2 entries on the change list saying that output index 0 is change we will show to the user to confirm outputs:
Output 1/1
Output 2/1
This can be specially bad if we had 2 outputs, since it actually shows
Output 1/0
, it can also showOutput 1/-1
depending on how we manipulate this.Solution
When parsing the change list we need to check for duplicates and fail the transaction if any are found.
Since we do not have data on the transaction yet we can parse the change list and when we parse the number of outputs on the transaction we also need to check that the highest change index is on the transaction (since we do not have duplicates this also checks that the number of change outputs is lower than the number of outputs).
The text was updated successfully, but these errors were encountered: