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