Commit Graph

1608 Commits

Author SHA1 Message Date
Paul Hauner
89cc92572a Add test_harness tests for attestation count 2019-03-30 13:03:05 +11:00
Paul Hauner
cd9494181c Push RwLock down into OperationPool
There used to be one massive lock on `BeaconChain.op_pool`, however that
would cause unnecessary blocking.
2019-03-30 12:26:25 +11:00
Paul Hauner
1840248af8 Remove old queues from BeaconChain 2019-03-30 12:00:31 +11:00
Paul Hauner
8bf7a83f37 Rename op processing methods on BeaconChain 2019-03-29 19:09:01 +11:00
Paul Hauner
2b53851062 Pass errors back from block ops processing 2019-03-29 18:54:01 +11:00
Paul Hauner
8b1a91e9ee Add process_attestation to BeaconChain 2019-03-29 18:40:50 +11:00
Paul Hauner
46a978a5a9 Implement op pool for all ops execpt attestations 2019-03-29 18:30:03 +11:00
Luke Anderson
be592c86d1 Started migrating FreeAttestation to Attestation in the harnesses - doesn't compile yet. 2019-03-29 10:39:37 +11:00
Luke Anderson
87acaac8a0 Ran cargo fmt. 2019-03-28 21:01:47 +11:00
Luke Anderson
ba71e8adca Merged age-validator-client into luke's changes on validator_client, and fixed all the merge conflicts. 2019-03-28 20:55:07 +11:00
Luke Anderson
c9e8fe53bc 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.
2019-03-28 15:50:57 +11:00
Age Manning
6f0c0e47c3 Update Validator RPC and cache building 2019-03-28 14:32:02 +11:00
Luke Anderson
c9a7977d69 Renamed some functions, trying to get beaconnode attestation stuff to work. 2019-03-27 14:30:09 +11:00
Paul Hauner
b006586d19 Add slot timer to beacon node 2019-03-27 10:36:20 +11:00
Paul Hauner
c82bad7602 Add cache builds when advancing chain slot 2019-03-27 10:34:52 +11:00
Paul Hauner
c27fdbe37f Try to load keys from file when starting client 2019-03-27 10:28:27 +11:00
Luke Anderson
1584469b7c 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. 2019-03-26 17:41:43 +11:00
Paul Hauner
00b546e6b8 Update slot clock to use genesis slot 2019-03-26 15:44:28 +11:00
Paul Hauner
ca1eaf0b53 Merge branch 'paul-gossip-test' of github.com:sigp/lighthouse into paul-gossip-test 2019-03-26 09:47:38 +11:00
Paul Hauner
a145824c51 Set BeaconChainHarness to return block
This is useful if you want to inspect the block.
2019-03-26 09:46:26 +11:00
Age Manning
214fb5b8ff Merge RPC branch 2019-03-25 21:31:49 +11:00
Luke Anderson
4cdeb6abe5 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).
2019-03-25 18:32:27 +11:00
Paul Hauner
708d9b5674 Add basic Gossip sync handlers 2019-03-25 14:27:20 +11:00
Paul Hauner
3dc5595a6f Fix last errors stopping full chain sync 2019-03-24 16:35:07 +11:00
Paul Hauner
5f4f67f46f Swap ImportQueue from a Map to a Vec
There's an edge case where different blocks can have the same block
body.
2019-03-24 14:22:12 +11:00
Paul Hauner
3eae7b3fc5 Add skip slot support to BeaconChain fns 2019-03-24 12:49:59 +11:00
Paul Hauner
a57a7c2394 Implement block imports for sync 2019-03-23 18:48:09 +11:00
Paul Hauner
4b5b5851a6 Allow sync to to request block bodies. 2019-03-23 13:23:44 +11:00
Paul Hauner
96ba1c8f77 Implement get_block_roots for syncing 2019-03-22 14:20:49 +11:00
Paul Hauner
4fc6e435d2 Add type alias to test_harness 2019-03-22 11:38:57 +11:00
Paul Hauner
7a75ee3d19 Merge branch 'master' into paul-sync 2019-03-22 07:11:04 +11:00
Paul Hauner
430702b38d Clean println's out of state processing 2019-03-21 18:21:26 +11:00
Paul Hauner
ca18d4390a Add first changes to syncing logic
- Adds testing framework
- Breaks out new `NetworkContext` object
2019-03-21 17:17:01 +11:00
Age Manning
4310f35b73 Merge branch 'master' into network-server 2019-03-20 14:31:35 +11:00
Paul Hauner
84f373fcc2 Fix clippy lints 2019-03-20 10:51:53 +11:00
Age Manning
41abdb7599 Remove sync crate, move into network crate 2019-03-19 00:05:06 +11:00
Age Manning
66f09e1b8e Updates network branch to v0.5.0 2019-03-18 18:17:37 +11:00
Paul Hauner
71d95ee9db Add new field to test_harness YAML, remove prints 2019-03-18 18:08:53 +11:00
Age Manning
2d52d2954d Modify testnet spec to have few validators 2019-03-18 17:45:40 +11:00
Age Manning
6b5debe654 Organize beacon_chain typing
- Implements ClientTypes
- New network BeaconChain type for the networking service
2019-03-18 17:38:23 +11:00
Paul Hauner
edeace9e75 Fix issues with building on genesis block 2019-03-18 16:53:59 +11:00
Age Manning
bbad4bfa19 Starts initialisation of beacon chain in the client 2019-03-18 16:16:54 +11:00
Paul Hauner
446ff0c27e Ensure test_harness crate compiles under v0.5.0 2019-03-17 19:19:52 +11:00
Paul Hauner
6df5eee7f4 Update beacon_chain crate with v0.5.0 updates 2019-03-17 18:10:20 +11:00
Paul Hauner
8cc89b9820 Fix clippy warnings 2019-03-14 18:08:21 +11:00
Paul Hauner
2bfc8ed4da Fix failing doc test 2019-03-14 18:08:09 +11:00
Paul Hauner
6c4e457c8a Fix test_harness tests
They were broken by changes to TestingBeaconStateBuilder and where the
keypairs file is stored.
2019-03-13 11:25:17 +11:00
Paul Hauner
2d2ba6576b Remove old, superseded benches 2019-03-13 11:24:46 +11:00
Paul Hauner
f949919b9b Add comments to epoch_processing 2019-03-12 18:02:53 +11:00
Paul Hauner
dc221f3220 Make attester/proposer slashing builders test-only
They didn't do anything useful or safe for production.
2019-03-12 17:30:00 +11:00