Proto commits in sigp/lighthouse

These 37 commits are when the Protocol Buffers files have changed:

Commit:f61f0b6
Author:Daniel Knopik
Committer:Daniel Knopik

Squashed reset to unstable

This commit does not contain any .proto files.

Commit:f23f984
Author:João Oliveira
Committer:GitHub

switch to upstream gossipsub (#7057) We forked `gossipsub` into the lighthouse repo sometime ago so that we could iterate quicker on implementing back pressure and IDONTWANT. Meanwhile we have pushed all our changes upstream and we are now the main maintainers of `rust-libp2p` this allows us to use upstream `gossipsub` again. Nonetheless we still use our forked repo to give us freedom to experiment with features before submitting them upstream

This commit does not contain any .proto files.

Commit:ce2b347
Author:João Oliveira
Committer:João Oliveira

switch to upstream forked gossipsub

This commit does not contain any .proto files.

Commit:d46ac6c
Author:João Oliveira
Committer:GitHub

Implement gossipsub IDONTWANT (#5422) * move gossipsub into a separate crate * Merge branch 'unstable' of github.com:sigp/lighthouse into separate-gossipsub * update rpc.proto and generate rust bindings * gossipsub: implement IDONTWANT messages * address review * move GossipPromises out of PeerScore * impl PeerKind::is_gossipsub that returns true if peer speaks any version of gossipsub * address review 2 * Merge branch 'separate-gossipsub' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * Merge branch 'unstable' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * add metrics * add tests * make 1.2 beta before spec is merged * Merge branch 'unstable' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * cargo clippy * Collect decoded IDONTWANT messages * Use the beta tag in most places to simplify the transition * Fix failed test by using fresh message-ids * Gossipsub v1.2-beta * Merge latest unstable * Cargo update * Merge pull request #5 from ackintosh/impl-gossipsub-idontwant-ackintosh-fix-test Fix `test_ignore_too_many_messages_in_ihave` test * Merge branch 'unstable' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * update CHANGELOG.md * remove beta for 1.2 IDONTWANT spec has been merged * Merge branch 'unstable' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * Merge branch 'impl-gossipsub-idontwant' of github.com:jxs/lighthouse into impl-gossipsub-idontwant * Merge branch 'unstable' of github.com:sigp/lighthouse into impl-gossipsub-idontwant * improve comments wording * Merge branch 'impl-gossipsub-idontwant' of github.com:jxs/lighthouse into impl-gossipsub-idontwant

The documentation is generated from this commit.

Commit:59ef564
Author:João Oliveira
Committer:GitHub

Move gossipsub into a separate crate (#5401) * move gossipsub into a separate crate * Merge branch 'unstable' of github.com:sigp/lighthouse into separate-gossipsub * address review 2 * clippy beta * update logging to log gossipsub logs

Commit:4273004
Author:Age Manning
Committer:GitHub

Add gossipsub as a Lighthouse behaviour (#5066) * Move gossipsub as a lighthouse behaviour * Update dependencies, pin to corrected libp2p version * Merge latest unstable * Fix test * Remove unused dep * Fix cargo.lock * Re-order behaviour, pin upstream libp2p * Pin discv5 to latest version

Commit:78d82d9
Author:Paul Hauner
Committer:GitHub

Validator client refactor (#618) * Update to spec v0.9.0 * Update to v0.9.1 * Bump spec tags for v0.9.1 * Formatting, fix CI failures * Resolve accidental KeyPair merge conflict * Document new BeaconState functions * Add `validator` changes from `validator-to-rest` * Add initial (failing) REST api tests * Fix signature parsing * Add more tests * Refactor http router * Add working tests for publish beacon block * Add validator duties tests * Move account_manager under `lighthouse` binary * Unify logfile handling in `environment` crate. * Fix incorrect cache drops in `advance_caches` * Update fork choice for v0.9.1 * Add `deposit_contract` crate * Add progress on validator onboarding * Add unfinished attesation code * Update account manager CLI * Write eth1 data file as hex string * Integrate ValidatorDirectory with validator_client * Move ValidatorDirectory into validator_client * Clean up some FIXMEs * Add beacon_chain_sim * Fix a few docs/logs * Expand `beacon_chain_sim` * Fix spec for `beacon_chain_sim * More testing for api * Start work on attestation endpoint * Reject empty attestations * Allow attestations to genesis block * Add working tests for `rest_api` validator endpoint * Remove grpc from beacon_node * Start heavy refactor of validator client - Block production is working * Prune old validator client files * Start works on attestation service * Add attestation service to validator client * Use full pubkey for validator directories * Add validator duties post endpoint * Use par_iter for keypair generation * Use bulk duties request in validator client * Add version http endpoint tests * Add interop keys and startup wait * Ensure a prompt exit * Add duties pruning * Fix compile error in beacon node tests * Add github workflow * Modify rust.yaml * Modify gitlab actions * Add to CI file * Add sudo to CI npm install * Move cargo fmt to own job in tests * Fix cargo fmt in CI * Add rustup update before cargo fmt * Change name of CI job * Make other CI jobs require cargo fmt * Add CI badge * Remove gitlab and travis files * Add different http timeout for debug * Update docker file, use makefile in CI * Use make in the dockerfile, skip the test * Use the makefile for debug GI test * Update book * Tidy grpc and misc things * Apply discv5 fixes * Address other minor issues * Fix warnings * Attempt fix for addr parsing * Tidy validator config, CLIs * Tidy comments * Tidy signing, reduce ForkService duplication * Fail if skipping too many slots * Set default recent genesis time to 0 * Add custom http timeout to validator * Fix compile bug in node_test_rig * Remove old bootstrap flag from val CLI * Update docs * Tidy val client * Change val client log levels * Add comments, more validity checks * Fix compile error, add comments * Undo changes to eth2-libp2p/src * Reduce duplication of keypair generation * Add more logging for validator duties * Fix beacon_chain_sim, nitpicks * Fix compile error, minor nits * Address Michael's comments

This commit does not contain any .proto files.

Commit:468015f
Author:Age Manning
Committer:Paul Hauner

Initial Interop Updates (#492) * Add interop chain spec and rename chain_id * Add ability to connect to raw libp2p nodes * Adds Identify protocol, clean up RPC protocol name handling * Update to latest libp2p, gossipsub improvements * Updates to latest interop branch. - Shifts decoding of objects into message handler. - Updates to latest interop gossipsub. - Adds interop spec constant. * Configuration updates allow for verbosity CLI flag and spec constants * Update submodules to master * Correct minimal chainspec modifications * Duplication of validator polls are no longer fatal * Apply PR suggestions

Commit:40c0b70
Author:Age Manning
Committer:Age Manning

Add interop chain spec and rename chain_id

Commit:fec7168
Author:John Adler

Fix lots of typos.

Commit:ee693fb
Author:Age Manning

Add committe_len to gRPC parameters

Commit:d12ddae
Author:Age Manning

Builds attestation grpc implemention

Commit:ba77128
Author:Age Manning

Merges in validator client branch

Commit:eea772d
Author:Age Manning

Implement block producer for validator client

Commit:ba71e8a
Author:Luke Anderson

Merged age-validator-client into luke's changes on validator_client, and fixed all the merge conflicts.

Commit:c9e8fe5
Author:Luke Anderson

Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client. - Replaced most instances of PublicKey with KeyPair, since they need to be passed into each validator thread now. - Pulled out a bunch of FreeAttestations, and replaced with regular Attestations (as per Paul's suggestion) - Started generalising pubkeys to 'signers' (though they are still just Keypairs) - Added validator_index into a few structs where relevant - Removed the SlotClock and DutiesReader from the BlockProducer and Attester services, since this logic is now abstracted to the higher level process. - Added a Hash trait to the Keypair (rather than just pubkey) which assumes the Pubkey uniquely defines it.

Commit:d7289ab
Author:Age Manning

Add gossip-test branch

Commit:1f437a3
Author:Age Manning

Implements RPC Server side of epoch duties

Commit:4618140
Author:Age Manning

Epoch duties update

Commit:bc8ec51
Author:Age Manning

Update EpochDuty RPC and core functionality

Commit:c9a7977
Author:Luke Anderson

Renamed some functions, trying to get beaconnode attestation stuff to work.

Commit:1584469
Author:Luke Anderson

Renamed attestation -> attestation_data for fetch, but not publish, to acknowledge the difference in the spec. Also started implementing the gRPC get_attestation_data functionality in the BeaconNode.

Commit:7c31c05
Author:Age Manning

Temp commit - Re-building validator RPC API

Commit:00b546e
Author:Paul Hauner

Update slot clock to use genesis slot

Commit:3756d8d
Author:Paul Hauner

Rename proto NodeInfo -> NodeInfoResponse

Commit:d4fecd8
Author:Paul Hauner

Set GRPC block to be just SSZ

Commit:4cdeb6a
Author:Luke Anderson

Progress towards validator signing attestations. - Added a 'beacon_attester' RPC endpoint, so the BeaconNode can supply attestation data. - Renamed 'attestation_data' to just 'attestation' throughout (except where it is actually just the data structure).

Commit:17cd5bb
Author:Age Manning

Adds genesis time to node info. Closes #256

Commit:0a59a73
Author:Age Manning

Add BeaconNodeService to RPC

Commit:e758e71
Author:Age Manning

Tidy services.proto

Commit:2215aa4
Author:thojest

added protos specification for Attester and created first draft for attestation_grpc_client (lighthouse-255)

Commit:35c914b
Author:Paul Hauner

Revert "Merge pull request #200 from sigp/new-structure" This reverts commit d7a3545be1fc061064baae04b27efb9479ff2b2d, reversing changes made to 1da06c156ca8ede604da437bf824d2c8aef34207.

Commit:1d5ff43
Author:Paul Hauner

Strip out old code All of these files have been moved to either: - https://github.com/sigp/lighthouse-beacon - https://github.com/sigp/lighthouse-validator - https://github.com/sigp/lighthouse-common For rationale, see: https://github.com/sigp/lighthouse/issues/197

This commit does not contain any .proto files.

Commit:b8ba0cd
Author:Paul Hauner

Split out validator index gRPC call

Commit:158ffd7
Author:Paul Hauner

Separate validator fns into new proto service

Commit:d63d3c9
Author:Paul Hauner

Add validator duties proto service

Commit:40cf650
Author:Paul Hauner

Add validator_node, restructure binaries, gRPC. This is a massive commit which restructures the workspace, adds a very basic, untested, validator client and some very basic, non-functioning gRPC endpoints to the beacon-node.