This makes absolutely no sense, but maybe someone has a good suggestion.
We wrote our own client implementation to send extrinsics to a Substrate chain and it has been working fine, until just today, when I changed a string to be longer in the pallet call parameters.
The extrinsic started failing with error code 1010
BadProof (invalid signature) all of a sudden.
I managed to validate all the data again, against the Polkadot UI and the payload is fine. But, once the string gets long enough that it makes the signed payload longer than 256 bytes, the error shows up again.
Under the hood, we use the
schnorrkel Rust package to sign, but looking at the code I saw nothing about size limits.