Commit Graph

1188 Commits

Author SHA1 Message Date
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
Paul Hauner
fabb42a162
Update various v0.5.1 tags, delete old file 2019-05-22 13:03:51 +10:00
Paul Hauner
9790968378
Remove old inclusion_distance file 2019-05-22 12:19:13 +10:00
Paul Hauner
987afb6595
Update some Spec v.. comments & minor logic fix 2019-05-22 12:17:56 +10:00
Paul Hauner
ea36c5ad35
Remove update_registry_and_shuffling_data 2019-05-22 12:17:00 +10:00
Paul Hauner
350dc1ad80
Add type hint to hashset AND. 2019-05-22 11:45:05 +10:00
Paul Hauner
04791dfc58
Update verify_exit to spec v0.6.1 2019-05-22 11:45:01 +10:00
Paul Hauner
bb7ee642d8
Update verify_transfer to spec v0.6.1 2019-05-22 11:28:29 +10:00
Paul Hauner
3bcf5ba706
Rename db crate to store 2019-05-21 18:20:23 +10:00
Michael Sproul
545fb10005
spec v0.6.1: deposit processing (WIP) 2019-05-21 18:02:31 +10:00
Paul Hauner
29427cf0e6
Merge branch 'master' into disk-db 2019-05-21 17:57:55 +10:00
Paul Hauner
b62f4477e1
More project-wide fixes for new DB 2019-05-21 17:45:35 +10:00
Michael Sproul
468dc2ceb0
per-block processing: minor fixups 2019-05-21 16:43:55 +10:00
Michael Sproul
0b2aa26f2d
spec v0.6.1: attestation processing/verif 2019-05-21 16:43:55 +10:00
Michael Sproul
f8d4e742ad
types: safe accessors for current crosslinks 2019-05-21 16:43:54 +10:00
Michael Sproul
9a21e41017
fixed_len_vec: Deref to slice 2019-05-21 16:43:54 +10:00
Michael Sproul
56424d94c6
spec v0.6.1: update per-epoch processing 2019-05-21 16:43:54 +10:00
Michael Sproul
d3d2900a6a
state_processing: get_attesting_indices in common 2019-05-21 16:43:54 +10:00
Paul Hauner
2128d411bc
Migrate fork_choice over to new DB 2019-05-21 12:58:51 +10:00
Kirk Baird
7a96ad130e
Finalise bls spec tests 2019-05-21 12:46:22 +10:00
Kirk Baird
6bab62e629 Modifly bls library to reflect recent changes 2019-05-21 10:35:06 +10:00
Kirk Baird
4f6447a62b
Begin working on bls test 2019-05-21 10:32:14 +10:00
Paul Hauner
182135b832
Remove old DB crates, start fixing fork_choice 2019-05-20 18:01:51 +10:00
Paul Hauner
39c3526884
Run cargo fmt --all 2019-05-20 16:47:44 +10:00
Paul Hauner
048f342e1d
Fix off-by-one error in CommitteeCache 2019-05-20 16:46:44 +10:00
Paul Hauner
21de9c1cb8
Re-work CommitteeCache to use less memory
Now it just stores a reverse mapping of the shuffling (validator index
-> position in shuffling) instead of all the `AttestationDuty`.
2019-05-20 16:21:26 +10:00
Kirk Baird
c991f4631d
Update to bls version 0.7.0 2019-05-20 15:38:14 +10:00
Michael Sproul
857c4ed2db
spec v0.6.1: process proposer/attester slashings 2019-05-20 15:12:24 +10:00
Michael Sproul
dab11c1eed
spec v0.6.1: verify attester slashing 2019-05-20 15:12:24 +10:00
Michael Sproul
58481c7119
spec v0.6.1: verify proposer slashing 2019-05-20 15:12:23 +10:00
Michael Sproul
366f0ffd87
spec v0.6.1: get_genesis_beacon_state 2019-05-20 15:12:23 +10:00
Michael Sproul
55537078a1
block processing: v0.6.1 headers, randao, eth1 data 2019-05-20 15:12:23 +10:00
Paul Hauner
aa01808a00
Tidy, add comments to CommitteeCache 2019-05-20 15:10:56 +10:00
Paul Hauner
6660311b2b
Rename EpochCache to CommitteeCache 2019-05-20 14:36:54 +10:00
Paul Hauner
cb74187cfc
Re-add old cache tests 2019-05-20 14:25:38 +10:00
Paul Hauner
89df2b173e
Add more epoch_cache tests 2019-05-20 14:04:02 +10:00
Paul Hauner
2fd45e093c
Remove shard_count from ChainSpec 2019-05-20 14:00:47 +10:00
Paul Hauner
7ea1c4bb12
Ensure BeaconState epoch tests use distinct seed 2019-05-20 11:02:18 +10:00
Paul Hauner
d868d82124
Add more EpochCache tests 2019-05-19 19:08:10 +10:00
Paul Hauner
399ad6e2bd
Add a "minimum_validator_count" to EthSpec 2019-05-19 19:07:53 +10:00
Paul Hauner
1565096008
Move committee tests to beacon state tests
They used to be in epoch_cache tests but they were really testing
BeaconState interfaces.
2019-05-19 18:15:32 +10:00
Paul Hauner
05b38cbb7b
Tidy epoch processing, improve testing 2019-05-19 18:07:18 +10:00
Paul Hauner
94a39c3cb6
Implement state.get_crosslink_committees_at_slot 2019-05-19 17:21:24 +10:00
Paul Hauner
9264ec1aa9
Remove state.get_crosslink_committee fn
Replaced by state.get_crosslink_committee_for_shard
2019-05-19 17:08:09 +10:00
Paul Hauner
ea96d24420
Make #stateprocessingcompileagain 2019-05-19 16:56:39 +10:00
Paul Hauner
29a3e0c868
Move beacon state fns to be RelativeEpoch native 2019-05-19 16:03:54 +10:00
Paul Hauner
03849de319
Fix some BeaconState API changes in state proc. 2019-05-19 15:56:24 +10:00
Paul Hauner
9eb8c7411f
Make EpochCache store shuffling and less maps 2019-05-19 15:41:22 +10:00
Paul Hauner
089febb944
Fix epoch cache, add tests 2019-05-17 16:40:33 +10:00
Darren Langley
b9ab3b2523 fake sig back, merge, and fixed up yml checkin issue 2019-05-16 23:06:41 +10:00
Darren Langley
7b937ce901 merged master 2019-05-16 22:45:32 +10:00
Paul Hauner
86c3dad3e7
Add progress on epoch cache testing 2019-05-16 17:54:45 +10:00