-The witnesses and optional metadata must match those provided to the builder. The witnesses must sign the hash of the transaction body returned by `hash_transaction(body)`. In addition to the witnesses for inputs, withdrawals and some certificates require witnesses as well. For example, staking address registration does not require a witness while stake address de-registration requires one. For any questions or doubts about the rules governing fees, deposits, rewards, certificates or which witness types are required refer to the [shelley specs](https://docs.cardano.org/projects/cardano-ledger-specs/en/latest/), specifically the Shelley design specification for general design. The formal specification could be useful for specific details as well. The deisgn spec contains details about which certificates require which type of witnesses in the Certificates and Registrations section.
0 commit comments