lighthouse/crypto/eth2_key_derivation/src/lib.rs
Paul Hauner b73c497be2 Support multiple BLS implementations (#1335)
## Issue Addressed

NA

## Proposed Changes

- Refactor the `bls` crate to support multiple BLS "backends" (e.g., milagro, blst, etc).
- Removes some duplicate, unused code in `common/rest_types/src/validator.rs`.
- Removes the old "upgrade legacy keypairs" functionality (these were unencrypted keys that haven't been supported for a few testnets, no one should be using them anymore).

## Additional Info

Most of the files changed are just inconsequential changes to function names.

## TODO

- [x] Optimization levels
- [x] Infinity point: https://github.com/supranational/blst/issues/11
- [x] Ensure milagro *and* blst are tested via CI
- [x] What to do with unsafe code?
- [x] Test infinity point in signature sets
2020-07-25 02:03:18 +00:00

12 lines
297 B
Rust

//! Provides path-based hierarchical BLS key derivation, as specified by
//! [EIP-2333](https://eips.ethereum.org/EIPS/eip-2333).
mod derived_key;
mod lamport_secret_key;
mod plain_text;
mod secret_bytes;
pub use bls::ZeroizeHash;
pub use derived_key::DerivedKey;
pub use plain_text::PlainText;