Signature module versioning
Context
This MR versions the module Signature
of lib_crypto
. This is necessary for the introduction of BLS as a first class signature scheme at the protocol level (without breaking previous protocol implementations). It is a prerequisite of !5444 (merged).
This MR moves the current Signature
module to Signature.V0
, and creates Signature.V1
which is a simple copy of Signature.V0
for the moment (but without equality contraints on the types). This paves the way for the introduction of an incompatible V1
interface (in !5444 (merged)), to be used by environment V7, and proto alpha.
V_latest
points to the latest available signature implementation and is the one that should be used throughout the shell in Octez. It is "included" by the versioned module so the interface for someone developing in the shell should not change. When one wants to use a different version n
, Vn
should be opened to shadow the versioned modules.
This MR depends on both !6287 (merged) and !6295 (merged).
Manually testing the MR
There shouldn't be any change in the CI output.