formal-ledger-specifications icon indicating copy to clipboard operation
formal-ledger-specifications copied to clipboard

Implement `Convertible` instances for ledger types

Open WhatisRT opened this issue 1 year ago • 0 comments

We need to translate all ledger types to Haskell. The types for which we'll need Convertible instances are all those that appear in Computational instances. The root types of these are ChainState and Block, but there are also some others whose values are only temporarily constructed. In the end, we want to be able to write functions such as utxo-step (including the COMPILE pragma) for every Computational instance.

At the moment, it's fine to keep our own versions of the Haskell Ledger types and ask the Ledger team to translate to them once they want to use our code.

Here's a list of what needs to be covered:

  • [x] GOV
  • [ ] LEDGER
  • [ ] RATIFY and RATIFY'
  • [ ] ENACT
  • [ ] CERTS, CERT, CERTBASE
  • [ ] POOL
  • [ ] GOVCERT
  • [ ] DELEG
  • [ ] NEWEPOCH
  • [ ] CHAIN

WhatisRT avatar Oct 24 '23 16:10 WhatisRT