The key that signs for signData also signs the wallet's unshielded spends,
over a transaction's signature data. signData signed the dApp's bytes as
given, so a dApp could send a transaction's signature data as its message
and get back a valid spend signature. It now signs
"midnight_signed_message:<byte length>:" followed by the data, as the
connector spec requires a prefix.
BREAKING CHANGE: verifiers must check signData signatures over the
prefixed message.
Claude-Session: https://claude.ai/code/session_01XQWkwdzqCkXVWeFrvJZ8RQ