Follow-up from "Update transactionbuilder to support double-spend creation"
The following discussions from !3873 (merged) should be addressed:
Why did you change this? Seems to me like Calling marshal on something followed by an unmarshal should absolutely never fail. There is also no way to recover from it.
Ideally we wouldn't need to do all of that just to create a deep-copy anyway.
MarkWalletInputsseems odd to me. It doesn't take any inputs and I think calling it multiple times will append the same inputs over and over again.
Shouldn't the transaction builder always be aware of transactions that belong to the wallet? So wouldn't it be better to implicitly call it on