Add Converting Ledger feature with example and tests
This is a continuation of https://github.com/MinaProtocol/mina/pull/16853
- Adds a
Converting_merkle_treemodule which muxes write requests to aprimary_ledgerto aconverting_ledger, allowing you to apply a pure functionconvert: primary_ledger.t -> converting_ledger.tbefore writing to this secondary ledger. - Adds a basic configuration type and create method for creating this kind of ledger
- Adds tests to make sure it is working
NOTE: I created this Account.Unstable.t as an example of how to use this, my understanding is that the actual migrated account type will have similarly trivial changes. Before merging this, we need to specify and implement that.
In a followup PR, we will publicly expose this new Converting_ledger and manage the configration/toggling through the runtime config
After Improving and fixing reformat issues has been merged, make reformat works again as before. Running on my machine after merging compatible shows that the formatting is not good, can you rebase on top of/merge compatible?
Hey @cjjdespres should we close this?
Yes, this was all added in https://github.com/MinaProtocol/mina/pull/16853 and https://github.com/MinaProtocol/mina/pull/17428