Signer
Signs a HashIDPreimageXdr and returns the resulting Signature.
Typical implementation:
Encode the preimage to bytes and hash with SHA-256
Sign the 32-byte hash with Ed25519
Return the public key and signature
The same preimage hash is used for every node in a WITH_DELEGATES tree; callers signing delegate nodes receive the same preimage as the top-level signer.