Akihito Nakano
4b213032b2
Tiny improvement: lifetime parameters ( #1354 )
...
## Issue Addressed
This PR improves lifetime parameters that can be elided. :octocat:
2020-07-14 22:26:39 +00:00
pscott
e164371083
Set Graffiti via CLI ( #1320 )
...
## Issue Addressed
Closes #1319
## Proposed Changes
This issue:
1. Allows users to edit their Graffiti via the cli option `--graffiti`. If the graffiti is too long, lighthouse will not start and throw an error message. Otherwise, it will set the Graffiti to be the one provided by the user, right-padded with 0s.
2. Create a new `Graffiti` type and unify the code around it. With this type, everything is enforced at compile-time, and the code can be (I think...) panic-free! :)
## Additional info
Currently, only `&str` are supported, as this is the returned type by `.arg("graffiti")`.
Since this is user-input, I tried being as careful as I could. This is also why I created the `Graffiti` type, to make sure I could check as much as possible at compile time.
2020-07-14 08:05:02 +00:00
Age Manning
e6a8635b38
Discovery update ( #1349 )
...
* Improve logging
* Discovery update
2020-07-11 12:35:59 +10:00
Akihito Nakano
9ae218bfac
Remove outdated comments ( #1336 )
2020-07-11 10:33:11 +10:00
Pawan Dhananjay
275148a152
Fix query expiry computation ( #1346 )
2020-07-09 11:43:48 +10:00
Age Manning
025b262e01
Peer scoring updates ( #1342 )
...
* Prevent banned peers from interacting with the behaviour
* Update smallvec
* Add logs
* Correct log update
2020-07-07 20:08:05 +10:00
Age Manning
f500b24242
Update smallvec ( #1339 )
2020-07-07 16:57:27 +10:00
Michael Sproul
20a48df80a
Fix race condition in VC block proposal service ( #1282 )
...
Closes #918
Closes #923
2020-07-07 14:03:21 +10:00
Age Manning
5bc8fea2e0
Activate peer scoring ( #1284 )
...
* Initial score structure
* Peer manager update
* Updates to dialing
* Correct tests
* Correct typos and remove unused function
* Integrate scoring into the network crate
* Clean warnings
* Formatting
* Shift core functionality into the behaviour
* Temp commit
* Shift disconnections into the behaviour
* Temp commit
* Update libp2p and gossipsub
* Remove gossipsub lru cache
* Correct merge conflicts
* Modify handler and correct tests
* Update enr network globals on socket update
* Apply clippy lints
* Add new prysm fingerprint
* More clippy fixes
2020-07-07 10:13:16 +10:00
Age Manning
5977c00edb
Update libp2p and gossipsub ( #1324 )
...
* Update libp2p and gossipsub
* Remove gossipsub lru cache
2020-07-06 20:34:40 +10:00
Paul Hauner
e429c3eefe
Remove old block processing shim ( #1327 )
...
* Remove old block processing shim
* Run rustfmt
* Fix log formatting
* Swap peer ids over to display
2020-07-06 16:28:00 +10:00
Paul Hauner
25cd91ce26
Update deps ( #1322 )
...
* Run cargo update
* Upgrade prometheus
* Update hex
* Upgrade parking-lot
* Upgrade num-bigint
* Upgrade sha2
* Update dockerfile Rust version
* Run cargo update
2020-07-06 11:55:56 +10:00
Adam Szkoda
c7f47af9fb
Harden the freezing procedure against failures ( #1323 )
...
* Enable logging in tests
* Migrate states to the freezer atomically
2020-07-03 09:47:31 +10:00
Adam Szkoda
536728b975
Write new blocks and states to the database atomically ( #1285 )
...
* Mostly atomic put_state()
* Reduce number of vec allocations
* Make crucial db operations atomic
* Save restore points
* Remove StateBatch
* Merge two HotColdDB impls
* Further reduce allocations
* Review feedback
* Silence clippy warning
2020-07-01 12:45:57 +10:00
Akihito Nakano
a7a79ce4b7
Fix a retry limit condition ( #1306 )
2020-06-29 21:16:12 +10:00
Pawan Dhananjay
d4dd9fae07
Fix BlocksByRootRequest min/max bounds calculation ( #1312 )
2020-06-29 21:03:14 +10:00
Age Manning
fc0b8adcd7
Temporary noise fix ( #1311 )
...
* Add workaround to noise and add back secio fallback
* Hardcoded size hack
* prioritise secio
2020-06-29 20:25:42 +10:00
ethDreamer
721323f045
get_active_validator_indices() now has bound check ( #1300 )
2020-06-29 18:21:51 +10:00
Mark Mackey
d90bd648d8
Fixed 1 line bug
2020-06-28 21:12:03 -04:00
Paul Hauner
9f6ee212ff
Merge pull request #1294 from gakonst/fix/self-instead-of-service
...
fix(eth1/service): use self instead of Service
2020-06-29 10:18:36 +10:00
Age Manning
9fc290a344
Add waker to attestation service ( #1305 )
...
* Add waker to attestation service
* Formatting
2020-06-28 22:29:27 +10:00
Paul Hauner
6e7d5c6a7c
Add metrics for validator subscriptions ( #1302 )
2020-06-28 10:47:03 +10:00
Michael Sproul
7688b5f1dd
Merge remote-tracking branch 'origin/master' into spec-v0.12
2020-06-26 12:57:56 +10:00
Paul Hauner
e0e41fc8e5
Cache deposit signature verification ( #1298 )
...
* Bake in Altona testnet (without genesis state)
* Add sig verification, without optimization
* Start integration with genesis service
* Update config.yml
* Fix eth2_testnet_config test
* Stop using default spec in genesis
* Fix lcli compile error
* Update min genesis time
* Fix typo
2020-06-26 11:43:06 +10:00
pscott
02174e21d8
Fix clippy's performance lints ( #1286 )
...
* Fix clippy perf lints
* Cargo fmt
* Add and to lint rule in Makefile
* Fix some leftover clippy lints
2020-06-26 00:04:08 +10:00
Georgios Konstantopoulos
4ddfc032e2
test(eth1/service): make tests use references
2020-06-25 08:57:26 +03:00
Georgios Konstantopoulos
81a89fb773
fix(eth1/service): use self instead of Service
2020-06-25 00:50:16 +03:00
divma
259502829e
fix wrong draining of queued requests on handler shutdown ( #1288 )
2020-06-24 17:44:28 +10:00
Age Manning
da6ab85e99
Optional Discovery ( #1280 )
...
* Remove beacon-chain config file
* Makes discovery optional
* Remove unused dep
2020-06-23 13:45:40 +10:00
Age Manning
ea76faeeee
Remove beacon-chain config file ( #1279 )
...
* Remove beacon-chain config file
* Remove unused dep
2020-06-23 13:45:27 +10:00
Paul Hauner
6d507ef863
Replace unreachable expect with tidier solution ( #1278 )
2020-06-23 12:08:52 +10:00
Paul Hauner
07a091ad95
Remove noise test
2020-06-22 08:58:48 +10:00
Paul Hauner
decea48c78
Merge branch 'master' into spec-v0.12
2020-06-21 10:33:02 +10:00
Age Manning
710409c2ba
Userland clean up ( #1277 )
...
* Improve logging, remove unused CLI and move discovery
* Correct tests
* Handle flag correctly
2020-06-20 09:34:28 +10:00
Age Manning
f3d05c15d1
Lighthouse bootnode ( #1265 )
...
* Initial bootnode structure
* Add boot_node subcommand
* Add bootnode subcommand
* fmt corrections
* Extend help message
* Move boot_node crate
* Update discv5 dep
* Improve logging and boot-node logging
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-06-19 16:30:07 +10:00
Age Manning
f3380c00b8
Discovery metrics ( #1276 )
...
* Silky smooth squash
* Add discovery metrics
* Fix gauge metric, increase discv5 sessions
* Formatting
2020-06-19 15:36:03 +10:00
Age Manning
e379ad0f4e
Silky smooth discovery ( #1274 )
...
* Initial structural re-write
* Improving discovery update and correcting attestation service logic
* Rework discovery.mod
* Handling lifetimes of query futures
* Discovery update first draft
* format fixes
* Stabalise discv5 update
* Formatting corrections
* Limit FindPeers queries and bug correction
* Update to stable release discv5
* Remove unnecessary pin
* formatting
2020-06-19 14:13:23 +10:00
Michael Sproul
305724770d
Bump all spec tags to v0.12.1 ( #1275 )
2020-06-19 11:18:27 +10:00
Michael Sproul
9450a0f30d
Merge remote-tracking branch 'origin/master' into spec-v0.12
2020-06-18 21:59:59 +10:00
Michael Sproul
bcb6afa0aa
Process exits and slashings off the network ( #1253 )
...
* Process exits and slashings off the network
* Fix rest_api tests
* Add op verification tests
* Add tests for pruning of slashings in the op pool
* Address Paul's review comments
2020-06-18 21:06:34 +10:00
Pawan Dhananjay
3199b1a6f2
Use all attestation subnets ( #1257 )
...
* Update `milagro_bls` to new release (#1183 )
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update v0.12.0 to v0.12.1
* Add compute_subnet_for_attestation
* Replace CommitteeIndex topic with Attestation
* Fix warnings
* Fix attestation service tests
* fmt
* Appease clippy
* return error from validator_subscriptions
* move state out of loop
* Fix early break on error
* Get state from slot clock
* Fix beacon state in attestation tests
* Add failing test for lookahead > 1
* Minor change
* Address some review comments
* Add subnet verification to beacon chain
* Move subnet verification to processor
* Pass committee_count_at_slot to ValidatorDuty and ValidatorSubscription
* Pass subnet id for publishing attestations
* Fix attestation service tests
* Fix more tests
* Fix fork choice test
* Remove unused code
* Remove more unused and expensive code
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Age Manning <Age@AgeManning.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2020-06-18 19:11:03 +10:00
pscott
06a72614cb
Make all features explicit ( #1251 )
...
* Make all features explicit
* Remove default feature and add missing newline to cargo.toml
* Fix compilation for --feature libp2p-websocket
Signed-off-by: pscott <scottpiriou@gmail.com>
* Remove 'with-arbitrary'
2020-06-18 17:42:42 +10:00
divma
065251b701
Add DC/Shutdown capabilities to the behaviour handler ( #1233 )
...
* Remove ban event from the PM
* Fix dispatching of responses to peer's requests
* Disconnection logic
2020-06-18 11:53:08 +10:00
Michael Sproul
81c9fe3817
Apply store refactor to new fork choice
2020-06-17 15:20:44 +10:00
Michael Sproul
e6f97bf466
Merge remote-tracking branch 'origin/master' into spec-v0.12
2020-06-17 12:34:11 +10:00
Paul Hauner
764cb2d32a
v0.12 fork choice update ( #1229 )
...
* Incomplete scraps
* Add progress on new fork choice impl
* Further progress
* First complete compiling version
* Remove chain reference
* Add new lmd_ghost crate
* Start integrating into beacon chain
* Update `milagro_bls` to new release (#1183 )
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Rough beacon chain impl working
* Remove fork_choice_2
* Remove checkpoint manager
* Half finished ssz impl
* Add missed file
* Add persistence
* Tidy, fix some compile errors
* Remove RwLock from ProtoArrayForkChoice
* Fix store-based compile errors
* Add comments, tidy
* Move function out of ForkChoice struct
* Start testing
* More testing
* Fix compile error
* Tidy beacon_chain::fork_choice
* Queue attestations from the current slot
* Allow fork choice to handle prior-to-genesis start
* Improve error granularity
* Test attestation dequeuing
* Process attestations during block
* Store target root in fork choice
* Move fork choice verification into new crate
* Update tests
* Consensus updates for v0.12 (#1228 )
* Update state processing for v0.12
* Fix EF test runners for v0.12
* Fix some tests
* Fix broken attestation verification test
* More test fixes
* Fix typo found in review
* Add `Block` struct to ProtoArray
* Start fixing get_ancestor
* Add rough progress on testing
* Get fork choice tests working
* Progress with testing
* Fix partialeq impl
* Move slot clock from fc_store
* Improve testing
* Add testing for best justified
* Add clone back to SystemTimeSlotClock
* Add balances test
* Start adding balances cache again
* Wire-in balances cache
* Improve tests
* Remove commented-out tests
* Remove beacon_chain::ForkChoice
* Rename crates
* Update wider codebase to new fork_choice layout
* Move advance_slot in test harness
* Tidy ForkChoice::update_time
* Fix verification tests
* Fix compile error with iter::once
* Fix fork choice tests
* Ensure block attestations are processed
* Fix failing beacon_chain tests
* Add first invalid block check
* Add finalized block check
* Progress with testing, new store builder
* Add fixes to get_ancestor
* Fix old genesis justification test
* Fix remaining fork choice tests
* Change root iteration method
* Move on_verified_block
* Remove unused method
* Start adding attestation verification tests
* Add invalid ffg target test
* Add target epoch test
* Add queued attestation test
* Remove old fork choice verification tests
* Tidy, add test
* Move fork choice lock drop
* Rename BeaconForkChoiceStore
* Add comments, tidy BeaconForkChoiceStore
* Update metrics, rename fork_choice_store.rs
* Remove genesis_block_root from ForkChoice
* Tidy
* Update fork_choice comments
* Tidy, add comments
* Tidy, simplify ForkChoice, fix compile issue
* Tidy, removed dead file
* Increase http request timeout
* Fix failing rest_api test
* Set HTTP timeout back to 5s
* Apply fix to get_ancestor
* Address Michael's comments
* Fix typo
* Revert "Fix broken attestation verification test"
This reverts commit 722cdc903b12611de27916a57eeecfa3224f2279.
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2020-06-17 11:10:22 +10:00
Adam Szkoda
9db0c28051
Make key value storage abstractions more accurate ( #1267 )
...
* Layer do_atomically() abstractions properly
* Reduce allocs and DRY get_key_for_col()
* Parameterize HotColdDB with hot and cold item stores
* -impl Store for MemoryStore
* Replace Store uses with HotColdDB
* Ditch Store trait
* cargo fmt
* Style fix
* Readd missing dep that broke the build
2020-06-16 11:34:04 +10:00
Paul Hauner
6b8c96662f
Avoid pruning when there are no forks ( #1268 )
2020-06-15 19:04:27 +10:00
Michael Sproul
7818447fd2
Check for unused deps in CI ( #1262 )
...
* Check for unused deps in CI
* Bump slashing protection parking_lot version
2020-06-14 10:59:50 +10:00
Pawan Dhananjay
1a4de898bc
Add explicit bounds for ssz decoding in rpc ( #1250 )
...
* Update `milagro_bls` to new release (#1183 )
* Update milagro_bls to new release
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Tidy up fake cryptos
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* move SecretHash to bls and put plaintext back
Signed-off-by: Kirk Baird <baird.k@outlook.com>
* Update v0.12.0 to v0.12.1
* Use ssz types for Request and error types
* Fix errors
* Constrain BlocksByRangeRequest count to MAX_REQUEST_BLOCKS
* Fix issues after rebasing
* Compute bounds for variable ssz containers
* Check ssz bounds before decoding
* Add clarifying comment; fix BlocksByRootRequest min/max
Co-authored-by: Kirk Baird <baird.k@outlook.com>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Co-authored-by: Age Manning <Age@AgeManning.com>
2020-06-12 20:38:30 +10:00