TxBuilder: extract ExtractSignatures to free function
TxBuilder: re-order to avoid mutation in case of failure