[input-output-hk/cardano-sl] [WIP] [CBR-305] SafeCopy instances for InDb types (#3381)

Some things to keep in mind:

* Round-trip QuickCheck tests are missing.

* The basic approach to defining instances for types wrapped in `InDb` is described in the code:

> — Notice that when serializing and deserializing, a type like `InDb foo` will
> — distribute `InDb` among the non-primitive types that make up `foo`. This
> — choice doesn’t show up in the types.

* There are a lot of redundant type signatures. This is deliberate, so that changing the definition of a datatype in the future triggers a type-checker error if possible.
You can view, comment on, or merge this pull request online at:

https://github.com/input-output-hk/cardano-sl/pull/3381

— Commit Summary —

* [CBR-305] SafeCopy instances for InDb types

— File Changes —

M wallet-new/cardano-sl-wallet-new.cabal (2)
M wallet-new/src/Cardano/Wallet/Kernel/DB/AcidState.hs (4)
M wallet-new/src/Cardano/Wallet/Kernel/DB/BlockMeta.hs (12)
M wallet-new/src/Cardano/Wallet/Kernel/DB/InDb.hs (390)

— Patch Links —

https://github.com/input-output-hk/cardano-sl/pull/3381.patch
https://github.com/input-output-hk/cardano-sl/pull/3381.diff

Добавить комментарий