Skip to content

Signature module versioning

Alain Mebsout requested to merge alain@functori@signature-versioning into master

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.

Edited by Alain Mebsout

Merge request reports