Optional
proof: ZkProofSerializes the transaction data into a format suitable for transmission or storage. This function ensures that both the transaction bytes and the proof are properly serialized.
The serializer instance used to convert the transaction data into bytes.
A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.