cardano-base
cardano-base copied to clipboard
Code used throughout the Cardano eco-system
For DSIGN algorithms that are available in both monadic mlocked (`class DSIGNM`) and pure (`class DSIGN`) flavors, add tests that make sure both implementations produce the same results. Specifically, we...
Currently, KES signing keys do not contain the period to which they are evolved. This means there is no way to know in which evolution a key is at. This...
The KES interface (https://github.com/input-output-hk/cardano-base/blob/master/cardano-crypto-class/src/Cardano/Crypto/KES/Class.hs) should be improved: * It needs documentation * The two different use cases of `Natural` in the mock implementation should be `newtype`d * Most importantly, `updateKES`...
## What Implement a more efficient representation of KES signatures. ## Why Current implementation is not the most efficient, and we can get a ~30% reduction in KES signatures size....
## What Cardano crypto libraries are separated into `cardano-crypto`, used by the wallet and until recently by plutus, and `cardano-base`, used by the node. It would be of interest to...
## What Implement a KES agent that handles key persistence securely. This task is the first part of the full Secure KES forgetting effort (preceded by the KES secure forgetting)....
As observed [here](https://github.com/input-output-hk/cardano-base/pull/289#discussion_r923916441), this function has some severe issues with referential transparency, and is thus generally not safe. While [this PR](https://github.com/input-output-hk/cardano-base/pull/289) deprecates both `psbFromBytes` (and `psbZero`) using a `DEPRECATED` pragma,...
There is a way to implement a total function that does this conversion because we know statically both of their sizes. This came up in #289
Add [doctest](https://hackage.haskell.org/package/doctest) functionality to all libraries in this repo. This will entail: * Making sure doctests are executed in CI. * All examples that can be converted to doctest style...
`protolude >= 0.3.1` has a more polymorphic ```hs readEither :: (Read a, StringConv String e, StringConv e String) => e -> Either e a ``` which leads to various errors:...