rust deps: bump crypto/encoding
What
Upgrade the kernel_sdk, and all dependents to the latest version of tezos_crypto_rs/tezos_data_encoding.
Other places in the monorepo that do not depend on the SDK are unaffected (e.g. contrib/mir, which will be upgraded separately).
Fixes RV-13
Why
There are a number of updates in those two crates, including:
- bringing signatures into alignment with how they are performed in
tezos_crypto(e.g. inputs are hashed prior to signing/verifying) - removing possible errors from some b58check/hashing functions
- ensuring that hashes are always the correct length by construction.
See the full v0.6.0 CHANGELOG for more details
Upgrading the usage of these dependencies in tezos/tezos paves the way to move those two crates (plus tezos_data_encoding_derive into the monorepo), which will allow tighter integration/improvements/synergy between those crates, and places such as the rollup SDK.
How
The MR is split into several commits, so that various teams/groups may review parts relevant to them.
Kernel SDK
Everyone reviewing this MR should review this commit. NB this is a 'minimal' effort - ie bringing existing code up to date. Other possibilities (such as adding an impl NomReader for InboxMessage are left to the future).
RiscV/RustDeps
Only needs to be reviewed by the riscv crew.
Etherlink
To be reviewed by the Etherlink crew - the main things to watch out for are:
- no longer hashing messages signed by the sequencer, as this has been moved into the
verify_signaturefunctions - the replacement of
SignaturebyUnknownSignature, which is functionally equivalent.Signaturewould now refer to the aggregate signature type (which more closely aligns withtezos_crypto).
Kernel/Examples
Feel free to review, this brings the various 'example' kernels used in CI up to date - e.g. tx_kernel/dal_echo etc
Jstz
This is bumped to refer to a branch that itself contains the updates. That branch circularly refers to this one, and vice versa. Once this MR is merged - the jstz branch can be merged, referring to tezos/tezo master, and finally there will be a small MR back here to point back to jstz main. The relevant diff can be found here, and may be instructive reviewing for the riscv crew
Manually testing the MR
CI.