nbougalis requested changes on this pull request.
**VETO**: this is a huge **breaking** change.
There is a huge, incompatible change in the way proposals are signed, even if `secp256k1` keys are used.
Previously we signed the result of `RCLCxPeerPos` using `signDigest`. Now, we sign the result of `proposalSigningData`.
The problem is that the two hash entirely different data, which means that two servers, both of which are using `secp256k1` keys, one with the old code and one with the new code won’t be able to verify each other’s validations.
The problem is that `proposalsSigningData` serializes the data, differently than `sha512Half` does. Consider:
«`std::uint32_t u = 0x12345678;
// what the old code does:
auto const x = sha512Half(u);
// what the new code does:
auto const y = sha512Half(s.getData());