Commit Graph

1139 Commits

Author SHA1 Message Date
Paul Hauner
88c6d15c32
Padding efficent merkle root algo (#436)
* Add initial work on padding efficent merkle roots

* Improve merklize_padded

* Improve tree_hash crate -- fix bugs, docs

* Update codebase for tree_hash API change

* Remove dbg statements, fix import error

* Fix clippy lints, doc error

* Tidy tree hash comments

* Increase tree_hash max tree height

* Fix PR review comments

* Fix typos

* Fix cache access off-by-one in tree hash

* Set max tree depth to 48 (from 64)
2019-07-16 14:40:56 +10:00
Paul Hauner
fcd3da81bf
Merge pull request #426 from sigp/ssz-types
Add ssz_types crate
2019-07-11 16:53:32 +10:00
Paul Hauner
561cec0bf6
Move many bitfield Options to Results 2019-07-11 13:19:38 +10:00
Paul Hauner
61406b34bc
Resolve issues raised from @michaelsproul review 2019-07-11 12:45:34 +10:00
Paul Hauner
2c1afcc2d6
Rename marker structs for Bitfield 2019-07-11 12:40:37 +10:00
Paul Hauner
08868a6e7a
Merge pull request #425 from sigp/ssz-v0.8
Changes for publishing ssz to crates.io
2019-07-11 09:22:07 +10:00
Paul Hauner
5e1a2ebf25
Uncomment broken tree hash impl for variable list 2019-07-09 20:30:29 +10:00
Paul Hauner
bb3b3fd8b9
Fix bug around single-byte for 0-bits 2019-07-09 20:29:10 +10:00
Paul Hauner
daa8916e6b
Add comments after self-review 2019-07-09 20:28:19 +10:00
Paul Hauner
090133b088
Add more comments to bitfield 2019-07-09 17:31:34 +10:00
Paul Hauner
734aa3b8bd
Satisfy clippy lint in SSZ 2019-07-09 17:01:37 +10:00
Paul Hauner
7283fdff15
Fix clippy lints in ssz_types 2019-07-09 16:58:53 +10:00
Paul Hauner
57cc946018
Add bitvector tests 2019-07-09 16:37:09 +10:00
Paul Hauner
000d941e2e
Add tests for BitList 2019-07-09 16:03:02 +10:00
Paul Hauner
e4ef0fc9d4
Add crate-level docs to ssz_types 2019-07-09 11:00:40 +10:00
Paul Hauner
94265272b4
Tidy bitfield docs 2019-07-09 09:28:22 +10:00
Paul Hauner
5a7c44ed37
Add failing doc tests 2019-07-08 18:53:25 +10:00
Paul Hauner
1484773cd1
Refactor to use Bitfield struct with type variants 2019-07-08 18:41:43 +10:00
Paul Hauner
93cd38da55
Progress further on Bitfield struct 2019-07-08 16:27:08 +10:00
Paul Hauner
bbcc58dca3
Start building new bitfield struct 2019-07-08 16:07:40 +10:00
Paul Hauner
636ebb0d4e
Add progress on bitfields 2019-07-08 11:54:47 +10:00
Paul Hauner
ecb0bf11c7
Move bitlist and bitvector into own files 2019-07-08 09:36:52 +10:00
Paul Hauner
c8c5c8ff16
Collect errors into a single error 2019-07-06 15:57:11 +10:00
Paul Hauner
2b7d5560ad
Refactor SSZ types bitfield
Removes superfulous `Bitfield` struct
2019-07-06 15:51:15 +10:00
Paul Hauner
5943e176cf
Add ssz_types crate 2019-07-05 17:33:20 +10:00
Age Manning
af28d5e20c
Add persistent network identification 2019-07-04 14:14:27 +10:00
Age Manning
6ee2b4df34
Complete merging of network addition branch 2019-07-04 14:14:26 +10:00
Age Manning
c7e17c8641
Updates for latest master 2019-07-04 14:14:26 +10:00
Age Manning
64abd0bc5b
Removes network parameters from chain spec 2019-07-04 14:07:26 +10:00
Age Manning
4e24c8e651
Add topics to chain id 2019-07-04 14:07:26 +10:00
Paul Hauner
4dc274858e
Update SSZ for publishing to crates.io 2019-07-04 13:34:54 +10:00
Paul Hauner
54bda210e2
Update ssz_derive for publishing to crates.io 2019-07-04 13:22:33 +10:00
Paul Hauner
027f0a539d
Prepare ssz for publishing on crates.io 2019-07-03 16:06:20 +10:00
Michael Sproul
a04b1f981e
op_pool: remove SszPair 2019-07-01 16:25:57 +10:00
Michael Sproul
44ed3228b9
ssz: implement Encode and Decode for tuples 2019-07-01 14:54:34 +10:00
Michael Sproul
73c4171b52
op_pool: finish persistence support 2019-07-01 10:55:55 +10:00
Michael Sproul
7fe458af45
op_pool: re-jig deposit handling (needs more work) 2019-07-01 10:55:55 +10:00
Michael Sproul
604fe2d97f
op_pool: partial persistence support 2019-07-01 10:55:55 +10:00
Michael Sproul
38d2d03e3a
op_pool: use max cover algorithm, refactor 2019-07-01 10:55:54 +10:00
Paul Hauner
9a356a00c2
Merge pull request #405 from c-o-l-o-r/wasm-ssz
Make SSZ compatible with `wasm32` targets
2019-06-27 13:31:18 +10:00
Matt Garnett
e93fb94e7a calculate MAX_LENGTH_VALUE for 32-bit and 64-bit targets 2019-06-25 10:12:49 -04:00
Matt Garnett
db9dd3dffe fix encoding impl for usize on 32-bit architectures 2019-06-25 09:59:50 -04:00
Paul Hauner
8afe8b3569
Implement fixes from PR review 2019-06-24 15:31:36 +10:00
Paul Hauner
3a196f3fdc
Tidy, fix clippy lints 2019-06-24 09:34:56 +10:00
Paul Hauner
075c989375
Remove old fork_choice crate 2019-06-24 09:34:56 +10:00
Paul Hauner
77fba0b98e
Fix bugs in fork choice, add more tests 2019-06-24 09:34:56 +10:00
Paul Hauner
7a4c3e26ac
Fix bug in reduced tree fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
0b2ad4d0a1
Mark reduced_tree fork choice as incomplete 2019-06-24 09:34:54 +10:00
Paul Hauner
d0037f49d8
Add progress on debugging fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
5a8cde0598
Change "canonical_root" of block to be signed root 2019-06-24 09:34:54 +10:00
Paul Hauner
e485f3ee75
Fix bug in reduced tree fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
85b23f9f1b
Add incomplete progress on fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
5a98502ad6
Fix bug in epoch trans. finalization 2019-06-24 09:34:53 +10:00
Paul Hauner
55196dff64
Remove iter mod from beacon chain
Now the iter mod in store is the only implementation
2019-06-24 09:34:53 +10:00
Paul Hauner
952e08ba38
Add state roots iter to store 2019-06-24 09:34:53 +10:00
Paul Hauner
2b5c70711d
Cover edge case in reduced tree 2019-06-24 09:34:53 +10:00
Paul Hauner
fd384e54f4
Add weightless blocks to reduced tree, fix bugs 2019-06-24 09:34:53 +10:00
Paul Hauner
9c2bbb6c05
Add stubbed-out block processing to fork choice 2019-06-24 09:34:52 +10:00
Paul Hauner
8fb6ffffe2
Add new beacon chain test harness 2019-06-24 09:34:52 +10:00
Paul Hauner
f4621a9f1a
Improve reduced tree fork choice 2019-06-24 09:34:52 +10:00
Paul Hauner
7756a658a7
Update fork choice find head fn 2019-06-24 09:34:51 +10:00
Paul Hauner
2ee71aa808
Add new fork choice struct to beacon chain 2019-06-24 09:34:51 +10:00
Paul Hauner
c43bbfe183
Rename fork_choice_2 to lmd_ghost 2019-06-24 09:34:51 +10:00
Paul Hauner
8f44402691
Add RwLock to reduced tree 2019-06-24 09:34:51 +10:00
Paul Hauner
a62c571133
Fix compile errors in reduced tree 2019-06-24 09:34:51 +10:00
Paul Hauner
4a3d54761a
Add progress on reduced tree fork choice 2019-06-24 09:34:51 +10:00
Paul Hauner
4b4c9a98df
Copy-paste reduced-tree code 2019-06-24 09:34:50 +10:00
Paul Hauner
e6747094c8
Merge pull request #386 from vlopes11/ssz-ambiguous
`ssz` is ambiguous (name vs any other name during import resolution)
2019-06-24 07:56:50 +10:00
Matt Garnett
87e681c617 make ssz crate wasm compatible 2019-06-22 14:37:07 -04:00
Matt Garnett
2a50550b87 make hashing crate wasm compatible 2019-06-22 14:36:59 -04:00
Paul Hauner
25e93f60fd
Tidy comments 2019-06-17 10:01:23 -04:00
Michael Sproul
9cec5dc073
process slashings: fix subtraction overflow 2019-06-17 17:22:48 +10:00
Michael Sproul
03c50354f4
v0.6: update all spec version comments 2019-06-17 17:22:48 +10:00
Michael Sproul
1823378bfa
v0.6: remove some FIXMEs 2019-06-17 17:22:48 +10:00
Paul Hauner
28b89f3fdd
Run rustfmt with updated cargo 2019-06-17 15:24:13 +10:00
Michael Sproul
660a35991f
update minimal spec, fix all tests 2019-06-17 15:21:03 +10:00
Paul Hauner
a71f05066b
Merge branch 'docker-env' into v0.6.1 2019-06-13 10:37:35 -04:00
Michael Sproul
4686542e10
bls: fix unused import warning 2019-06-12 16:56:57 +10:00
Michael Sproul
0da63a0e65
shuffling: delete old yaml test 2019-06-12 16:56:33 +10:00
Michael Sproul
ea43515eb0
committee cache: fix a test for shard delta changes 2019-06-12 16:55:59 +10:00
Michael Sproul
9e51a04139
Delete unused fished_yates_shuffle crate 2019-06-12 16:55:01 +10:00
Michael Sproul
88790e6abe
bls: debugging utils and fake sig fix
There was a discrepancy between the is_empty fields of fake signatures during testing, so I've added
a small hack to set the is_empty field of a fake signature based on the byte content.
Alternatively, we could just make it so that any fake signature is defined to be equal to any other.
2019-06-12 15:44:23 +10:00
Michael Sproul
64dca6fba7
committee cache: avoid spurious recomputes
Check that the committeee cache matches the absolute epoch for the relative epoch, rather than
always checking the previous epoch.
2019-06-12 15:41:20 +10:00
Michael Sproul
44bccda4b3
epoch proc: set correct active index root 2019-06-12 15:39:48 +10:00
Michael Sproul
6bf6ba337d
bls: as_hex_string for aggregate signatures/pubkeys 2019-06-11 18:00:05 +10:00
Michael Sproul
0eea6fd367
bls: fix imports for fake_crypto 2019-06-11 17:58:03 +10:00
Paul Hauner
e550c0218f
Add various fixes to clippy lints
Thou shalt appease clippy
2019-06-10 11:01:25 -04:00
Paul Hauner
a662c3a940
Fix various compile errors and warnings 2019-06-09 06:26:34 -04:00
Paul Hauner
ab12787610
Update account manager config parsing 2019-06-09 04:34:56 -04:00
Paul Hauner
3487b16ce5
Add eth2_config crate, integrate into val client 2019-06-08 20:21:50 -04:00
Paul Hauner
d8fc5f31d8
Add Eth2Config to runtime 2019-06-08 13:17:03 -04:00
Paul Hauner
749f2fcb5f
Unify EthSpecs in Mainnet and Minimal 2019-06-08 08:49:04 -04:00
Paul Hauner
caddeba81b
Remove genesis_epoch from ChainSpec 2019-06-08 08:17:42 -04:00
Paul Hauner
e74d49fc8a
Remove dupe info between ChainSpec and EthSpec 2019-06-08 07:57:25 -04:00
Paul Hauner
39ec96ad82
Run rustfmt 2019-06-07 02:55:43 -04:00
Paul Hauner
719dd72de6
Fix recently introduced sync bugs 2019-06-07 02:55:16 -04:00
Michael Sproul
b9f0348930
epoch processing: fix inclusion info proposer idx 2019-06-04 17:10:18 +10:00
Michael Sproul
c151e5861e
epoch processing: fix shard delta calculation 2019-06-04 17:10:11 +10:00
Michael Sproul
49e19e2b7d
state_proc: verify sig in process_block_header 2019-06-04 16:37:36 +10:00
Paul Hauner
47128ea834
Fix bug in proposer rewards 2019-06-04 15:00:52 +10:00
Paul Hauner
50dd963fdd
Fix bug in epoch_processing 2019-06-04 14:16:45 +10:00
Paul Hauner
67fdb4a7fb
Store beacon state committee cache in DB 2019-06-04 13:13:58 +10:00
Paul Hauner
45fb11b208
Impl ssz enc/dec for NonZeroUsize 2019-06-04 12:24:13 +10:00
Paul Hauner
7a2ab2e9aa
Add support for SSZ union type via Option 2019-06-04 12:03:54 +10:00
Michael Sproul
10884359af
spec v0.6: check custody bitfield length 2019-06-04 11:04:53 +10:00
Paul Hauner
7005234fd1
Run rust fmt 2019-06-04 09:38:13 +10:00
Paul Hauner
39cb63e01e
Merge branch 'v0.6.1' into docker-env 2019-06-04 09:25:00 +10:00
Paul Hauner
c25ede42eb
Add benches, examples to fork_choice 2019-06-03 17:26:40 +10:00
Michael Sproul
a3a941efdf
Merge remote-tracking branch 'origin/master' into v0.6.1 2019-06-03 16:31:34 +10:00
Michael Sproul
6bde64bd6a
spec v0.6: update beacon_node, validator_client 2019-06-03 16:13:51 +10:00
Michael Sproul
7fbcdd54d7
op_pool: update for v0.6.x 2019-06-03 15:25:06 +10:00
Paul Hauner
10a7936c37
Update BLS library 2019-06-03 13:26:22 +10:00
Paul Hauner
4287891026
Update fork_choice for v0.6.1 2019-06-02 14:14:30 +10:00
Paul Hauner
e310bdd904
Merge branch 'master' into v0.6.1 2019-06-02 13:49:24 +10:00
Michael Sproul
83456c6894
fixup: remove some unused variables 2019-05-29 16:36:50 +10:00
Michael Sproul
beacf42aaf
v0.6.2: update test infrastructure 2019-05-29 15:31:34 +10:00
Michael Sproul
37c67117d3
state_processing: remove spurious withdrawal credentials check 2019-05-29 10:56:21 +10:00
Victor Lopez
f5bf4a861e
Fmt fix
Signed-off-by: Victor Lopez <vhrlopes@gmail.com>
2019-05-28 01:58:16 +00:00
Paul Hauner
21ecaddac1
Fix various clippy lints 2019-05-28 10:56:05 +10:00
Paul Hauner
6e5e1721f7
Fix lints introduced in Rust 1.35 2019-05-28 10:46:01 +10:00
Paul Hauner
d72400cc9d
Run rustfmt 2019-05-28 10:30:20 +10:00
Paul Hauner
9e6503c326
Fix fork_choice tests 2019-05-27 17:58:16 +10:00
Paul Hauner
76602a65fc
Add new fns to ForkChoice and SlotClock 2019-05-27 17:58:15 +10:00
Michael Sproul
01039546cb
state_processing: sort attester slashing indices
This will be "to spec" if eth2.0-specs#1126 is merged
2019-05-27 17:46:05 +10:00
Paul Hauner
f9d48dee68
Use hex encoding for Debug fmt of PublicKey 2019-05-24 14:08:20 +10:00
Paul Hauner
a92c209787
Rename file in state_processing 2019-05-24 14:08:19 +10:00
Paul Hauner
686963bd34
Update ef_tests for new compare_fields API 2019-05-24 14:08:19 +10:00
Paul Hauner
99ae734638
Add saturating sub to slash_validator 2019-05-24 14:08:19 +10:00
Paul Hauner
e43d27f3e4
Add extra level of comparisons to CompareFields 2019-05-24 14:08:19 +10:00
Paul Hauner
55ef75a44e
Fix underflow in verify_indexed_attestation 2019-05-24 14:08:19 +10:00
Paul Hauner
31a7a0614e
Remove bytes dependency from shuffling 2019-05-24 14:08:19 +10:00
Kirk Baird
514ac23724
Update signature schemes release 2019-05-24 11:01:56 +10:00
Paul Hauner
cc916e25fd
Fix erroneous change related to max_transfers 2019-05-23 23:28:03 +10:00
Paul Hauner
ffcd1e6409
Clarify order-of-operations in shuffling 2019-05-23 23:22:11 +10:00
Paul Hauner
7bf83a97cf
Update shuffling to use new(ish) to_le_bytes fn 2019-05-23 23:21:53 +10:00
Paul Hauner
92610b4fd3
Improve error messages for ef_tests 2019-05-23 16:55:50 +10:00
Paul Hauner
d0ab1a0576
Add basic tests for get_beacon_proposer 2019-05-23 16:55:31 +10:00
Paul Hauner
b8e25a3e4c
Fix bug in beacon state randao getter 2019-05-23 16:53:18 +10:00
Paul Hauner
c214bec344
Add ability to get shuffling from BeaconState 2019-05-23 16:52:51 +10:00
Paul Hauner
29792c56d5
Fix bug with checking for dust in transfers 2019-05-23 16:52:20 +10:00
Paul Hauner
4db6a8a058
Add transfer ef tests 2019-05-23 08:48:09 +10:00
Victor Lopez
ce106caa88
ssz is ambiguous (name vs any other name during import resolution) 2019-05-22 14:23:19 -03:00
Paul Hauner
e760afbc1a
Tidy presentation of errors for ef_tests 2019-05-22 18:55:00 +10:00
Paul Hauner
892d891977
Fix bugs in deposit processing 2019-05-22 18:54:26 +10:00
Paul Hauner
b2666d700c
Implemented detailed state eqs in ef_tests 2019-05-22 18:00:21 +10:00
Paul Hauner
7a99654f89
Add new CompareFields trait and derive 2019-05-22 17:22:12 +10:00
Paul Hauner
2cffca7b1a
Enable merkle branch verification for deposits 2019-05-22 16:46:27 +10:00
Paul Hauner
07b94b30ba
Add serde deser to AttestationDataAndCustodyBit 2019-05-22 14:49:14 +10:00
Paul Hauner
1eeaaaa92b
Merge branch 'ef-tests' into v0.6.1 2019-05-22 14:46:10 +10:00
Paul Hauner
d9b103d0ce
Fix a subset of compile errors in op-pool 2019-05-22 14:41:35 +10:00