This is a backport of core#20833 [11 / 13]
https://github.com/bitcoin/bitcoin/pull/20833/commits/c4259f4b7ee23ef6e0ec82c5d5b9dfa9cadd5bed
Notes:
- I used the FromHex and ToHex helper functions when serializing / deserializing transactions
- all occurences of CTransaction.rehash() have been changed into CTransaction.get_id(), as there was no point in recomputing the txid without change to the transaction
- test_rbf has been deleted for obvious reasons
- in test_independant, one of the tests differs from the source material because we do not test the missing inputs first in all transactions and abort early without checking any signature, we need to check the signatures for all transactions until we find an invalid transaction, so we can validate all previous transactions until the first bad tx is met in the package (see D12123).
- in test_multiple_children I had to fix a call to self.chain_transaction in which the source material mistakenly passed the child_value instead of the parent value when building Child A.
Depends on D12125