vacuumlabs/trezor-firmware

Decouple address parameters validation from address derivation

Closed this issue · 0 comments

In general we try to follow the pattern of first validating incoming data and then doing the actual work with them. When it comes to address derivation from address parameters we do the validation as part of derive_address_bytes. E.g. in sign_tx._validate_outputs we use derive_address_bytes to validate the outputs' address parameters instead of having a separate function for validation.

This became apparent when catalyst registration seemed to be lacking address validation, because it's hidden in derive_address_bytes - #57 (comment)

Actionables:

  1. investigate whether address parameters valdiation can be nicely separated overall
  2. separate address parameters validation from address derivation