lighthouse/eth2/utils
Paul Hauner f30271ee9e
EIP-2335: Keystore (#1071)
* Add test to understand flow of key storage

* First commit

* Committing to save trait stuff

* Working naive design

* Add keystore struct

* Move keystore files into their own module

* Add serde (de)serialize_with magic

* Add keystore test

* Fix tests

* Add comments and minor fixes

* Pass optional params to `to_keystore` function

* Add `path` field to keystore

* Add function to read Keystore from file

* Add test vectors and fix Version serialization

* Checksum params is empty object

* Add public key to Keystore

* Add function for saving keystore into file

* Deleted account_manager main.rs

* Move keystore module to validator_client

* Add save_keystore method to validator_directory

* Add load_keystore function. Minor refactorings

* Fixed dependencies

* Address some review comments

* Add Password newtype; derive Zeroize

* Fix test

* Move keystore into own crate

* Remove padding

* Add error enum, zeroize more things

* Fix comment

* Add keystore builder

* Remove keystore stuff from val client

* Add more tests, comments

* Add more comments, test vectors

* Progress on improving JSON validation

* More JSON verification

* Start moving JSON into own mod

* Remove old code

* Add more tests, reader/writers

* Tidy

* Move keystore into own file

* Move more logic into keystore file

* Tidy

* Tidy

* Allow for odd-character hex

* Add more json missing field checks

* Use scrypt by default

* Tidy, address comments

* Test path and uuid in vectors

* Fix comment

* Add checks for kdf params

* Enforce empty kdf message

* Expose json_keystore mod

* Split out encrypt/decrypt

* Replace some password usage with slice

* Expose PlainText struct

* Expose consts, remove Password

* Expose SALT_SIZE

* Move dbg assert statement

* Fix dodgy json test

* Protect against n == 1

* Return error if n is not power of 2

* Add dklen checks

* Add note about panics

Co-authored-by: pawan <pawandhananjay@gmail.com>
2020-05-11 17:45:06 +10:00
..
bls Fix parallelism bug in exit processing (#1110) 2020-05-09 09:37:21 +10:00
cached_tree_hash Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
clap_utils Add more detail to bad hardcoded dir warning (#1069) 2020-04-30 16:19:15 +10:00
compare_fields Initial work towards v0.2.0 (#924) 2020-03-17 17:24:44 +11:00
compare_fields_derive Initial work towards v0.2.0 (#924) 2020-03-17 17:24:44 +11:00
deposit_contract Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
eth2_config Fix issues with testnet dir, update docs (#992) 2020-04-17 17:49:29 +10:00
eth2_hashing Refactor tree hashing (#861) 2020-03-05 08:07:27 +11:00
eth2_interop_keypairs Update SecretKey to 32 bytes (#1072) 2020-04-28 18:27:33 +10:00
eth2_keystore EIP-2335: Keystore (#1071) 2020-05-11 17:45:06 +10:00
eth2_testnet_config Use schlesi as default testnet (#1108) 2020-05-06 15:24:25 +10:00
hashmap_delay v0.11.1 Network update (#989) 2020-04-08 01:08:05 +10:00
int_to_bytes Merge latest master in v0.2.0 2020-04-08 16:46:37 +10:00
lighthouse_bootstrap Fix issues with testnet dir, update docs (#992) 2020-04-17 17:49:29 +10:00
lighthouse_metrics Initial work towards v0.2.0 (#924) 2020-03-17 17:24:44 +11:00
logging Initial work towards v0.2.0 (#924) 2020-03-17 17:24:44 +11:00
merkle_proof Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
remote_beacon_node Sync sim mini update (#1018) 2020-04-21 23:33:12 +10:00
rest_types Global Sync access (#994) 2020-04-14 18:17:35 +10:00
safe_arith Use checked arithmetic in types and state proc (#1009) 2020-04-20 12:35:11 +10:00
serde_hex Merge latest master 2020-04-22 01:05:46 +10:00
slot_clock Enr fork (#967) 2020-04-01 17:54:48 +11:00
ssz Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
ssz_derive Use checked arithmetic in types and state proc (#1009) 2020-04-20 12:35:11 +10:00
ssz_types Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
swap_or_not_shuffle Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
test_random_derive Initial work towards v0.2.0 (#924) 2020-03-17 17:24:44 +11:00
tree_hash Arbitrary trait for eth2/types (#1040) 2020-05-06 09:12:28 +10:00
tree_hash_derive Refactor tree hashing (#861) 2020-03-05 08:07:27 +11:00