Sign a bitcoin transaction given the private key and the source address of the funds. Constraints: All the inputs are referencing outpoints that are owned by `src_address`. `src_address` is a P2PKH address.
(
mut transaction: Transaction,
private_key: PrivateKey,
src_address: Address,
)