Kirk Baird
611a0c7d19
Arbitrary trait for eth2/types ( #1040 )
...
* Add the arbitrary type to eth2/types and their deps
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Wrap arbitrary in a feature flag
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Fix feature for types
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Fix comment
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Patch versioning
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Allow expanded crate reference for arbitrary 0.4.3
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Add arbitrary to remaining types
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* use cmp::min
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Derive Arbitrary trait for ValidatorStatus, TotalBalances and InclusionInfo
* Add CI check for state processing arbitrary faetures
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Fix indentation
Signed-off-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Mehdi Zerouali <mehdi@sigmaprime.io>
2020-05-06 09:12:28 +10:00
Raw Pong Ghmoa
fcccf63d29
beacon/eth1: degrade log to debug level ( #1105 )
2020-05-06 08:54:37 +10:00
Justin
353e496bcb
Delete macros.rs ( #1099 )
...
The `macros.rs` file under `eth2/utils/ssz/src` is (almost) empty. Can it be deleted?
2020-05-04 10:04:28 +10:00
Paul Hauner
6c713d1e5f
Add note about building from testnet5 ( #1094 )
2020-05-04 08:04:24 +10:00
Paul Hauner
ebbc4e3630
Add skip-slots command ( #1095 )
2020-05-04 08:04:00 +10:00
Paul Hauner
90453181f8
Fix lcli arg typo ( #1097 )
2020-05-04 08:03:31 +10:00
Pawan Dhananjay
36f213c092
Dns discovery ( #1015 )
...
* Add cli flag and parse dns address
* Fail if enr udp port isn't set
* Improve docs and address parsing
* address review comments
* Remove debug statements
* Add requires condition for enr-address
* Return address in error
2020-05-03 23:18:19 +10:00
divma
b4a1a2e483
Better handling of RPC errors and RPC conn with the PeerManager ( #1047 )
2020-05-03 23:17:12 +10:00
Paul Hauner
b6c027b9ec
Follow distance fix ( #1082 )
...
* Ensure eth1 follow distance is respected
* Add more info! logs for eth1
* Improve builder log
* Fix timestamp
2020-04-30 17:14:57 +10:00
Age Manning
e0723dfc3b
Correctly notify delay queues ( #1087 )
2020-04-30 17:12:26 +10:00
Raw Pong Ghmoa
f4ac0422e2
beacon/notifier: display block information for current slot ( #1084 )
2020-04-30 16:20:54 +10:00
Paul Hauner
8bf0ef8d30
Add more detail to bad hardcoded dir warning ( #1069 )
2020-04-30 16:19:15 +10:00
realbigsean
dea01be00e
Improve aggregate validator logic ( #1020 )
...
* track whether we have aggregate validator subscriptions to exact subnets, so we know whether or not to drop incoming attestations
* fix is aggregator check
* fix CI
Co-authored-by: Age Manning <Age@AgeManning.com>
2020-04-30 15:39:10 +10:00
Age Manning
78a08ec1e6
Remove padding from gossipsub ids ( #1083 )
2020-04-30 15:33:53 +10:00
Michael Sproul
18ca94dc29
Fix duplicate proposer slashing bug ( #1086 )
...
Remove parallelism from proposer slashing verification.
Closes #1065
2020-04-30 15:21:43 +10:00
Paul Hauner
7f2121205a
Ensure genesis is not triggered too early ( #1052 )
2020-04-29 11:37:14 +10:00
Viktor Kirilov
37dc3d463d
[lcli] the fork version is now inferred from the spec and can also be… ( #1068 )
...
* [lcli] the fork version is now inferred from the spec and can also be overridden for the interop-genesis subcommand with a command line flag just like for the new-testnet subcommand
* fixed formatting
2020-04-29 09:25:54 +10:00
Justin
41208d79b1
Add missing TODO ( #1079 )
2020-04-28 21:58:21 +10:00
Kirk Baird
c102d9d1f9
Update SecretKey to 32 bytes ( #1072 )
...
* Update SecretKey to 32 bytes
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Stop test from padding to 48 bytes
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Fix keypair file secret key length
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2020-04-28 18:27:33 +10:00
Kirk Baird
1abb54dabd
Milagro BLS update ( #985 )
...
* Start updating types
* WIP
* Signature hacking
* Existing EF tests passing with fake_crypto
* Updates
* Delete outdated API spec
* The refactor continues
* It compiles
* WIP test fixes
* All release tests passing bar genesis state parsing
* Update and test YamlConfig
* Update to spec v0.10 compatible BLS
* Updates to BLS EF tests
* Add EF test for AggregateVerify
And delete unused hash2curve tests for uncompressed points
* Update EF tests to v0.10.1
* Use optional block root correctly in block proc
* Use genesis fork in deposit domain. All tests pass
* Cargo fmt
* Fast aggregate verify test
* Update REST API docs
* Cargo fmt
* Fix unused import
* Bump spec tags to v0.10.1
* Add `seconds_per_eth1_block` to chainspec
* Update to timestamp based eth1 voting scheme
* Return None from `get_votes_to_consider` if block cache is empty
* Handle overflows in `is_candidate_block`
* Revert to failing tests
* Fix eth1 data sets test
* Choose default vote according to spec
* Fix collect_valid_votes tests
* Fix `get_votes_to_consider` to choose all eligible blocks
* Uncomment winning_vote tests
* Add comments; remove unused code
* Reduce seconds_per_eth1_block for simulation
* Addressed review comments
* Add test for default vote case
* Fix logs
* Remove unused functions
* Meter default eth1 votes
* Fix comments
* Address review comments; remove unused dependency
* Add first attempt at attestation proc. re-write
* Add version 2 of attestation processing
* Minor fixes
* Add validator pubkey cache
* Make get_indexed_attestation take a committee
* Link signature processing into new attn verification
* First working version
* Ensure pubkey cache is updated
* Add more metrics, slight optimizations
* Clone committee cache during attestation processing
* Update shuffling cache during block processing
* Remove old commented-out code
* Fix shuffling cache insert bug
* Used indexed attestation in fork choice
* Restructure attn processing, add metrics
* Add more detailed metrics
* Tidy, fix failing tests
* Fix failing tests, tidy
* Disable/delete two outdated tests
* Add new Pubkeys struct to signature_sets
* Refactor with functional approach
* Update beacon chain
* Remove decompressed member from pubkey bytes
* Add hashmap for indices lookup
* Change `get_attesting_indices` to use Vec
* Fix failing test
* Tidy
* Add pubkey cache persistence file
* Add more comments
* Integrate persistence file into builder
* Add pubkey cache tests
* Add data_dir to beacon chain builder
* Remove Option in pubkey cache persistence file
* Ensure consistency between datadir/data_dir
* Fix failing network test
* Tidy
* Fix todos
* Improve tests
* Split up block processing metrics
* Tidy
* Refactor get_pubkey_from_state
* Remove commented-out code
* Add BeaconChain::validator_pubkey
* Update milagro_bls
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Cargo fmt
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Use Option::filter
* Remove Box
* Comment out tests that fail due to hard-coded
* Fix fake crypto
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Fix Cow::Borrowed
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Cargo fmt
Signed-off-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Michael Sproul <micsproul@gmail.com>
Co-authored-by: pawan <pawandhananjay@gmail.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-04-28 13:15:46 +10:00
Paul Hauner
15a3af8966
Update README.md ( #1062 )
2020-04-27 20:21:02 +10:00
Justin
d710da4a4a
typo (Etheruem -> Ethereum) ( #1063 )
2020-04-27 20:19:29 +10:00
Age Manning
500f6b53d1
Testnet corrections ( #1050 )
...
* Correct RPC ping request
* Add attestation verification
* Add discv5 bug fixes
* Reduce gossipsub heartbeat and update metadata
* Handle known chain of advanced peer
2020-04-27 14:18:30 +10:00
divma
fa8154e3da
Ensure batches align to epoch boundaries ( #1021 )
...
* Ensure batches align to epoch boundaries
* Clean up range_sync logs
2020-04-27 14:18:09 +10:00
Michael Sproul
a50ade3ffc
Fix mapping bug in YamlConfig ( #1048 )
2020-04-24 15:27:35 +10:00
Paul Hauner
30e8e8a337
Add feature flag for writing ssz pre/post to disk ( #1046 )
2020-04-24 11:57:39 +10:00
Age Manning
79cc9473c1
Sync and multi-client updates ( #1044 )
...
* Update finalized/head sync logic
* Correct sync logging
* Handle status during sync gracefully
2020-04-23 19:01:29 +10:00
Age Manning
6784a8b42a
Allow testnet command to overwrite files ( #1045 )
2020-04-23 19:01:16 +10:00
Age Manning
91648cc230
Merge pull request #979 from sigp/v0.2.0
...
Lighthouse v0.2.0
2020-04-23 00:53:41 +10:00
Age Manning
0b82e9f8a9
Update Syncing logic ( #1042 )
...
* Prevent duplicate parent block lookups
* Updates logic for handling re-status'd peers
* Allow block lookup if the block is close to head
* Correct ordering of sync logs
* Remove comments in block processer, clean up sim
2020-04-22 23:58:10 +10:00
Paul Hauner
aacec7a4a7
Skip an already finalized block in a segment ( #1041 )
2020-04-22 23:06:16 +10:00
divma
2469bde6b1
Add chain_id in range syncing to avoid wrong dispatching of batch results ( #1037 )
2020-04-22 21:17:56 +10:00
Paul Hauner
2b6b2354e4
Deposits wait ( #1036 )
...
* Address clippy arith lints
* Make account manager wait for eth1 to sync
* Fix bug with testnet parsing
* Tidy logs
2020-04-22 15:20:55 +10:00
Paul Hauner
018a666731
Address clippy arith lints ( #1038 )
2020-04-22 14:46:19 +10:00
Age Manning
ca538e887e
Cleanup v0.2.0
2020-04-22 01:31:07 +10:00
Age Manning
dfecca72ef
Updates the grafiti tag to v0.2.0
2020-04-22 01:07:38 +10:00
Age Manning
9e416a9bcd
Merge latest master
2020-04-22 01:05:46 +10:00
Age Manning
20b6baf11f
Sync corrections ( #1034 )
...
* Correct status re-request logic improve logging
* Prevent multiple dials of the same peer
* Discovery to obey max peers when connecting to new peers
2020-04-22 00:29:19 +10:00
divma
b88b3ffe40
Sync sim mini update ( #1018 )
...
* Include syncing status as a node fn
* Update sync sim to use de node/syncing endpoint
2020-04-21 23:33:12 +10:00
Age Manning
9e42a851e4
Adds peers and connected_peers to lighthouse http API ( #1030 )
2020-04-21 23:27:49 +10:00
divma
fa7147f7c5
Clean RPC names versions and encodings ( #1024 )
...
* cleanup RPC protocol names
* add rpc encodings
* Add RPC Versions as an enum
2020-04-20 23:15:08 +10:00
Age Manning
11209ae966
Discv5 patch ( #1029 )
2020-04-20 23:12:07 +10:00
Adam Szkoda
9c3f76a33b
Prune abandoned forks ( #916 )
...
* Address compiler warning
* Prune abandoned fork choice forks
* New approach to pruning
* Wrap some block hashes in a newtype pattern
For increased type safety.
* Add Graphviz chain dump emitter for debugging
* Fix broken test case
* Make prunes_abandoned_forks use real DiskStore
* Mark finalized blocks in the GraphViz output
* Refine debug stringification of Slot and Epoch
Before this commit: print!("{:?}", Slot(123)) == "Slot(\n123\n)".
After this commit: print!("{:?", Slot(123)) == "Slot(123)".
* Simplify build_block()
* Rewrite test case using more composable test primitives
* Working rewritten test case
* Tighten fork prunning test checks
* Add another pruning test case
* Bugfix: Finalized blocks weren't always properly detected
* Pruning: Add pruning_does_not_touch_blocks_prior_to_finalization test case
* Tighten pruning tests: check if heads are tracked properly
* Add a failing test case for a buggy scenario
* Change name of function to a more accurate one
* Fix failing test case
* Test case: Were skipped slots' states pruned?
* Style fix: Simplify dereferencing
* Tighten pruning tests: check if abandoned states are deleted
* Towards atomicity of db ops
* Correct typo
* Prune also skipped slots' states
* New logic for handling skipped states
* Make skipped slots test pass
* Post conflict resolution fixes
* Formatting fixes
* Tests passing
* Block hashes in Graphviz node labels
* Removed unused changes
* Fix bug with states having < SlotsPerHistoricalRoot roots
* Consolidate State/BlockRootsIterator for pruning
* Address review feedback
* Fix a bug in pruning tests
* Detach prune_abandoned_forks() from its object
* Move migrate.rs from store to beacon_chain
* Move forks pruning onto a background thread
* Bugfix: Heads weren't pruned when prune set contained only the head
* Rename: freeze_to_state() -> process_finalization()
* Eliminate redundant function parameter
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-04-20 19:59:56 +10:00
Age Manning
7acb136974
Correct parent lookup ( #1027 )
...
* Correct parent-lookup with block gossip verification
* Further update port conflicts in tests
2020-04-20 16:54:37 +10:00
Paul Hauner
2d3acadfb5
Add debug log when gossip block recieved ( #1026 )
...
* Add debug! log for processing gossip block
* Fix stray dbg! command
2020-04-20 16:16:42 +10:00
Age Manning
49c77fe74b
Shift gossip duplication into gossipsub ( #1025 )
...
* Remove hidden gossip source, improve logging
* Shift gossip cache into gossipsub
2020-04-20 15:58:07 +10:00
Paul Hauner
b374ead24b
Protect against OOB offset in variable list SSZ decoding ( #974 )
...
* Add "pretty-ssz" tool to lcli
* Protect against OOB SSZ offset
* Add more work on decoding
* Fix benches
* Add more decode fixes
* Rename fixed_ptr
* Add, fix tests
* Add extra test
* Increase SSZ decode error granularity
* Ripples new error types across ssz crate
* Add comment to `sanitize_offset`
* Introduce max_len to SSZ list decoding
* Restrict FixedVector, check for zero-len items
* Double check for empty list
* Address Michael's comment
2020-04-20 15:35:47 +10:00
Michael Sproul
32074f0d09
Use checked arithmetic in types and state proc ( #1009 )
2020-04-20 12:35:11 +10:00
Michael Sproul
50ef0d7fbf
Check attestation shuffling when producing blocks ( #900 )
...
Closes #845
2020-04-20 12:34:37 +10:00
Paul Hauner
2871253905
Do not override spec defaults via default flags ( #1022 )
2020-04-20 11:58:39 +10:00