Skip to content

Change output list should be verified to avoid breaking the UI #69

@r4mmer

Description

@r4mmer

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 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).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions