Paul Hauner
49d066015b
Make genesis beacon state return a beacon state
2019-04-17 10:33:31 +10:00
Paul Hauner
f69b56ad60
Add new tree_hash
crate project wide.
2019-04-16 14:25:43 +10:00
Paul Hauner
b8c4c3308a
Update types
to new tree_hash crate
2019-04-16 14:14:38 +10:00
Paul Hauner
3eaa06d758
Remove tree hashing from ssz crate
2019-04-16 12:29:39 +10:00
Age Manning
b71cc32311
Merge pull request #349 from sigp/faster-travis
...
Move some long-running tests to release-only
2019-04-16 11:25:40 +10:00
Paul Hauner
024b9e315a
Add signed_root to tree_hash crate
2019-04-16 11:14:28 +10:00
Paul Hauner
d840d6e2d4
Merge branch 'master' into simple-cached-tree-hash
2019-04-16 10:55:27 +10:00
Paul Hauner
8a1bde3e2f
Update naming for tree_hash fns/structs/traits
2019-04-16 10:48:33 +10:00
Paul Hauner
d311b48a9f
Unify tree hash methods
2019-04-16 09:34:23 +10:00
Paul Hauner
93f3fc858d
Add uncached tree hashing
2019-04-16 09:14:33 +10:00
Sean Yu
8cb6368fe6
Adding a #[signed_root(skip_hashing)] macro
...
Lets the user annotate fields of a struct to skip for signed root
hashing.
Also added tests in a `eth2/utils/tests` crate, so that we can test
whether these derived macros work as intended.
2019-04-15 09:40:45 -07:00
Paul Hauner
2be05a466f
Add tree_hash_derive crate
2019-04-15 15:45:05 +10:00
Paul Hauner
354f823c16
Tidy tree hash cache, add new trait
2019-04-15 15:13:02 +10:00
Paul Hauner
8e5b79452a
Further tidy cached tree hash
2019-04-15 12:01:12 +10:00
Paul Hauner
c18cdf2abf
Remove num_bytes method
2019-04-15 11:55:56 +10:00
Paul Hauner
cb9b59b93d
Remove panics from packed_encoding
2019-04-15 11:49:50 +10:00
Paul Hauner
e6c33e1b60
Remove child_nodes method from CachedTreeHash
2019-04-15 11:44:44 +10:00
Paul Hauner
c87a0fc588
Tidy CachedTreeHash trait
2019-04-15 11:37:29 +10:00
Paul Hauner
0b5c10212d
Move tree_hash from ssz into own crate
2019-04-15 11:14:30 +10:00
Darren Langley
d76246e600
invalid block signature test
2019-04-15 10:38:13 +10:00
Paul Hauner
89bc15f77e
Move some long-running tests to release-only
2019-04-15 09:59:35 +10:00
Paul Hauner
7132ee59c0
Rename OffsetHandler -> BTreeOverlay
2019-04-15 09:06:19 +10:00
Paul Hauner
ab78a15313
Add mix-in-len to cached tree hash
2019-04-14 21:39:36 +10:00
Paul Hauner
0632a00a48
Fix failing test for shrinking vec of structs
2019-04-14 18:50:12 +10:00
Paul Hauner
da74c4ce74
Add tree shrinking for u64 vec
2019-04-14 16:50:00 +10:00
Paul Hauner
9bc0519092
Add tree shrink fn
2019-04-14 16:31:47 +10:00
Paul Hauner
582f465ffd
Add test for growing vec of structs
2019-04-14 14:20:33 +10:00
Paul Hauner
737e6b9a86
Fix failing tree hash test
2019-04-14 13:54:04 +10:00
Paul Hauner
e038bd18b5
Add failing test for grow merkle tree
2019-04-14 10:34:54 +10:00
Paul Hauner
1ce1fce03c
Fix failing grow tree test
2019-04-13 17:28:27 +10:00
Paul Hauner
42d6a39832
Refactor TreeHashCache splice method
2019-04-13 13:18:18 +10:00
Paul Hauner
0420607ff1
Tidy, remove debug prints
2019-04-13 13:02:41 +10:00
Paul Hauner
0b186f772f
Refactor resize functions for clarity
2019-04-13 12:12:56 +10:00
Paul Hauner
75177837d0
Add first pass of grow cache algo
2019-04-13 09:42:43 +10:00
Paul Hauner
a124042e30
Start implementing grow merkle fn
2019-04-13 09:11:19 +10:00
Paul Hauner
d79616fee6
Fix failing struct vec vectors
2019-04-12 16:52:11 +10:00
Paul Hauner
48cf75e394
Add failing test for extending struct list
2019-04-12 15:05:26 +10:00
Paul Hauner
55ee8e20ae
Add more passing tests for vec hash caching
2019-04-11 17:40:11 +10:00
Paul Hauner
0bdd61e564
Fix failing vec hashing test
2019-04-11 17:21:57 +10:00
Paul Hauner
0c0eebd774
Add progress on variable list hashing
2019-04-11 12:57:36 +10:00
Darren Langley
bb0500f11d
process_block_header tests
2019-04-10 21:58:27 +10:00
Darren Langley
f9c1800c00
process_block_header tests
2019-04-10 21:56:31 +10:00
Darren Langley
8366352aaa
mapped out invalid states... 59
2019-04-10 21:07:56 +10:00
Darren Langley
e1c08b1d02
mapped out invalid states... 59
2019-04-10 21:06:25 +10:00
Paul Hauner
e5783d43a9
First passing vec modified cache test
2019-04-10 16:59:14 +10:00
Paul Hauner
56fe15625b
Allow for building cached vec
2019-04-10 15:47:42 +10:00
Darren Langley
3e030c78a8
copied builder and setup tests
2019-04-10 14:42:31 +10:00
Paul Hauner
19465268ec
Merge branch 'master' into simple-cached-tree-hash
2019-04-08 19:50:55 +10:00
Luke Anderson
3ad40dac9b
Fixed *all* cargo fmt
2019-04-08 15:39:26 +10:00
Luke Anderson
177a351462
Added deterministic keypair generation.
...
- The Account Manager has a new subcommand, allowing generation of deterministic keys given a particular validator index.
- Split functionality in generate_deterministic_keypair function
- Fixed up READMEs to reflect new functionality & correct naming.
2019-04-08 15:02:11 +10:00
Paul Hauner
914e0cf1fc
Skip long-running tests in debug
2019-04-03 17:27:32 +11:00
Paul Hauner
1913be0c6f
Fix clippy lints
2019-04-03 16:23:09 +11:00
Paul Hauner
1d34e2b2a5
Fix bug in bitfield.
2019-04-02 15:34:18 +11:00
Paul Hauner
f61db9cac8
Fix merge conflict in bls
...
Issue came about from Michael and Kirk doing simultaneous work.
2019-04-02 15:33:38 +11:00
Paul Hauner
3a42d7fa6e
Disable some blop pool tests during debug
2019-04-02 15:33:18 +11:00
Paul Hauner
38f2cb9555
Run rustfmt
2019-04-02 14:30:32 +11:00
Paul Hauner
3fe7dd80e2
Merge branch 'validator-enhancements' into testnet-client
2019-04-02 14:29:43 +11:00
Paul Hauner
e53e23175a
Merge pull request #330 from sigp/state-transition-tests
...
[WIP] State transition tests
2019-04-02 14:01:23 +11:00
Paul Hauner
206f651895
Merge pull request #293 from michaelsproul/operation-pool
...
Implement Operation Pool
2019-04-02 13:53:22 +11:00
Age Manning
3f160d3b99
Correct bootnodes cli parameter
2019-04-01 16:29:11 +11:00
Michael Sproul
ddd9654f70
op-pool: fix bug in attestation_score
...
The attestation scoring function was looking only at the previous epoch, but
should really look at whichever epoch is appropriate for a given attestation.
We also avoid including attestations that don't pay us any reward, as they
simply bloat the chain.
2019-04-01 13:50:09 +11:00
Paul Hauner
9a0ebac687
Merge branch 'validator-enhancements' into paul-gossip-test
2019-03-31 17:47:35 +11:00
Paul Hauner
a93f898946
Improve gossipsub block processing
2019-03-31 17:27:04 +11:00
Age Manning
e0b5e74e7c
Removes further unneccessary debug output
2019-03-31 15:48:11 +11:00
Age Manning
b5ae39dda0
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-03-31 15:36:39 +11:00
Paul Hauner
bd860eb3e1
Fixes bug in epoch processing.
...
- Was using the wrong slot to determine relative epoch.
- Added a non-related test I build during the search
2019-03-31 15:30:09 +11:00
Age Manning
33473892f2
Validator client fixes. Hack fix for genesis start time
2019-03-31 14:26:58 +11:00
Age Manning
b4c21ccca3
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-03-31 13:58:38 +11:00
Paul Hauner
b26f1f8e1c
Add build_all_caches
method to BeaconState
...
Also adds a few more cache builds in BeaconChain.
2019-03-31 13:42:49 +11:00
Age Manning
77fb738c78
Merge latest gossip branch
2019-03-31 11:02:57 +11:00
Paul Hauner
d2b5cf5a32
Improve queueing in SimpleSync
2019-03-31 09:44:58 +11:00
Age Manning
4fb95d06d1
Correct cache race condition
2019-03-31 00:08:55 +11:00
Age Manning
fc5142c09a
Registers the attester service to the beacon node RPC client
2019-03-30 19:32:32 +11:00
Paul Hauner
c2b6f949c0
Restrict blop pool from re-including attestations
2019-03-30 18:25:32 +11:00
Age Manning
a952acb86f
Add committee_len to attestation data
2019-03-30 17:20:33 +11:00
Paul Hauner
ed6d0b46d0
Add committee len to AttesterDuties
2019-03-30 17:16:04 +11:00
Age Manning
bb8938c564
Use AttestationDuty in epoch duties
2019-03-30 17:14:38 +11:00
Paul Hauner
dbcc88ad67
Ensure BitVec is initialized using a multiple of 8
...
I found it was panic-ing when supplied a non-power-of-zero len.
2019-03-30 17:13:23 +11:00
Age Manning
bc305cacc2
Merge branch 'blop-pool' into validator-enhancements
2019-03-30 16:16:30 +11:00
Paul Hauner
397e104f9b
Implement Attestation
building in test harness
2019-03-30 16:02:09 +11:00
Age Manning
6e254551af
Implement produce beacon block on gRPC beacon node server
2019-03-30 15:58:31 +11:00
Age Manning
d3a6d73153
Implements Signer generic for validator client and epoch duties
2019-03-30 14:27:37 +11:00
Age Manning
ba771282fa
Merges in validator client branch
2019-03-30 13:17:24 +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
46a978a5a9
Implement op pool for all ops execpt attestations
2019-03-29 18:30:03 +11:00
Paul Hauner
dd2351020c
Impl add_aggregate
for FakeAggSig
2019-03-29 17:58:02 +11:00
Paul Hauner
b5f176a152
Merge branch 'master' into blop-pool
2019-03-29 17:49:33 +11:00
Paul Hauner
fc17d5fea4
Fix failing tree hash tests
2019-03-29 14:37:27 +11:00
Paul Hauner
e0104e6199
Move offset_handler construction into self
2019-03-29 13:04:01 +11:00
Kirk Baird
c1d7e26cac
Merge branch 'yaml-test-downloads' into state-transition-tests
2019-03-29 11:48:26 +11:00
Kirk Baird
023b4e8c92
Merge master and remove ssz length encoding from FakeBLS
2019-03-29 11:47:22 +11:00
Paul Hauner
267c978abb
Tidy cache hash API
2019-03-29 02:36:34 +11:00
Age Manning
68b33620c2
Implement Display and clean validator output
2019-03-29 02:23:03 +11:00
Paul Hauner
7b05c506df
Add new build method for cached hashes
2019-03-29 00:47:42 +11:00
Age Manning
1e760d6719
Add Display for PublicKey
2019-03-29 00:43:53 +11:00
Paul Hauner
40bfd5a6c7
Add offset manager method to cache hash trait
2019-03-28 23:58:27 +11:00
Paul Hauner
2dcf1c857c
Fix failing cache hashing test
2019-03-28 23:21:24 +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
Paul Hauner
ca0849edc5
Fix cargo fmt error
...
It's a rookie mistake and you hate to see it
2019-03-28 19:02:33 +11:00
Paul Hauner
49639c40ee
Implement failing cache hash test
2019-03-28 19:01:31 +11:00
Age Manning
2a2660ce62
Cleanup debug issues, corrects RPC server logic
2019-03-28 17:24:49 +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
Paul Hauner
f21409fee1
Build breaking recursion tests for cache hashing
2019-03-28 14:44:10 +11:00
Age Manning
6f0c0e47c3
Update Validator RPC and cache building
2019-03-28 14:32:02 +11:00
Paul Hauner
0d8d3385be
Pass tree hash caching tests
2019-03-28 14:17:25 +11:00
Paul Hauner
224a967cce
Implement basic vec tree hash cache
2019-03-28 13:05:24 +11:00
Paul Hauner
7af6eecb44
Merge branch 'yaml-test-downloads' into cached-tree-hash
2019-03-28 11:24:15 +11:00
Paul Hauner
31e9853463
Merge branch 'little-endian-ssz' into cached-tree-hash
2019-03-28 11:13:11 +11:00
Paul Hauner
1285f1e9f8
Restructure cached tree hash files, breaks tests
2019-03-28 11:11:20 +11:00
Paul Hauner
3c7e18bdf3
Sanitize for odd leaf count
2019-03-28 10:56:20 +11:00
Luke Anderson
bda381a264
More progress towards getting the attester working.
2019-03-28 09:38:39 +11:00
Paul Hauner
b05787207f
Refactor CachedTreeHash into owned bytes
...
Instead of slices
2019-03-28 09:33:44 +11:00
Paul Hauner
acb1dd47cd
Make tree hash pass tests
2019-03-27 19:31:02 +11:00
Luke Anderson
16706d322f
Merge remote-tracking branch 'origin/master' into validator_client-luke_wip
2019-03-27 19:10:36 +11:00
Paul Hauner
e33d1d0ebb
First passing tree hash test
2019-03-27 18:55:39 +11:00
Paul Hauner
839ff3ea3b
Implement (failing) cached tree hash tests
2019-03-27 18:34:10 +11:00
Paul Hauner
ad4000cbdf
Remove unused code
2019-03-27 17:46:12 +11:00
Paul Hauner
35ceb92f2e
Refactor with TreeHashCache struct
2019-03-27 17:45:27 +11:00
Paul Hauner
e28e97d3c7
Add initial work on tree hash caching
2019-03-27 15:59:27 +11:00
Paul Hauner
0c4306cd18
Move genesis time forward
2019-03-27 11:57:38 +11:00
Paul Hauner
c52da489cb
Merge branch 'master' into paul-gossip-test
2019-03-27 11:26:06 +11:00
Paul Hauner
8733740f8b
Move genesis time closer to now
2019-03-27 10:36:37 +11:00
Paul Hauner
b006586d19
Add slot timer to beacon node
2019-03-27 10:36:20 +11:00
Paul Hauner
b887509607
Fix double advance-cache calls bug
2019-03-27 10:35:46 +11:00
Michael Sproul
e5a3b3dd06
op-pool: attestation tests
2019-03-26 18:29:02 +11:00
Kirk Baird
033ae1b747
WIP begin testing
2019-03-26 18:28:29 +11:00
Michael Sproul
99dbed86f1
types: PendingAttestation::from_attestation
2019-03-26 18:20:01 +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
Age Manning
96ccd58414
Merge branch 'libp2p-patch'
2019-03-26 16:49:43 +11:00
Kirk Baird
e12ce2bd5c
Merge branch 'master' into yaml-test-downloads
2019-03-26 16:47:24 +11:00
Kirk Baird
fd2f9d0d15
Remove ssz encoding of length from; Signature, AggregateSiganture, PublicKey, SecretKey
2019-03-26 16:45:25 +11:00
Age Manning
507c8efbfb
Update to latest gossipsub
2019-03-26 16:38:50 +11:00
Paul Hauner
7cba9f4126
Merge branch 'master' into paul-gossip-test
2019-03-26 16:09:47 +11:00
Paul Hauner
9224558e06
Set genesis time for testing state builder
2019-03-26 15:53:49 +11:00
Kirk Baird
336b3a8a59
Consolidate branches
2019-03-26 15:47:16 +11:00
Paul Hauner
00b546e6b8
Update slot clock to use genesis slot
2019-03-26 15:44:28 +11:00
Kirk Baird
864ef137ef
Merge ssz little endian branch
2019-03-26 15:44:01 +11:00
Kirk Baird
299dfe43aa
Add .gitignore to make .../yaml_utils/specs a valid directory again
2019-03-26 15:16:55 +11:00
Age Manning
6955330f6c
Merge branch 'libp2p-patch'
2019-03-26 15:14:29 +11:00
Age Manning
b2ae54043c
Fix libp2p version to specific commit
2019-03-26 15:06:41 +11:00
Kirk Baird
116d995960
Merge current master and fix ssz-fuzzing
2019-03-26 14:53:50 +11:00
Age Manning
52b31b2009
Implement initial pubsub message handling
2019-03-25 23:02:51 +11:00
Age Manning
214fb5b8ff
Merge RPC branch
2019-03-25 21:31:49 +11:00
Kirk Baird
9d65ee130d
Include yaml-utils/specs folder
2019-03-25 18:42:41 +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
Kirk Baird
2f11b0ff71
Merge branch 'master' into v0.5.0-state-transition-tests
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-25 18:21:12 +11:00
Kirk Baird
df7c04fe16
Merge branch 'master' into v0.5.0-state-transition-tests
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-25 18:04:35 +11:00
Kirk Baird
d76baa1cc1
Allow downloading of large tests from EF github and fix issues with serde
2019-03-25 18:02:37 +11:00
Luke Anderson
2f49289c28
Merged master and fixed merge conflicts with Config updates.
2019-03-25 17:03:17 +11:00
Michael Sproul
518359e898
op-pool: implement attester slashings
2019-03-25 16:58:20 +11:00
Age Manning
209614e373
Merge pull request #295 from sigp/validator-updates
...
Persisting (random) Validator Keys
2019-03-25 14:40:11 +11:00
Michael Sproul
bde7ab79c8
types: aggregate signatures in attestations
2019-03-25 13:53:24 +11:00
Michael Sproul
0bf8cb953e
BLS: wrap AggregateSignature::add_aggregate
2019-03-25 12:44:30 +11:00
Michael Sproul
22a90a0224
op-pool: check previous epoch in get_attestations
2019-03-25 11:56:30 +11:00
Michael Sproul
e512f7c0e1
op-pool: validate_attestation_time_independent_only
2019-03-25 11:29:03 +11:00
Michael Sproul
3396f2f08e
op-pool: propagate errors, sort by transfer fee
2019-03-25 11:29:03 +11:00
Michael Sproul
95ed402228
op-pool: rename to verify_*_time_independent_only
2019-03-25 11:29:03 +11:00
Michael Sproul
b2fe14e12c
Operation pool: refactor verify_deposit/exit
2019-03-25 11:29:03 +11:00
Michael Sproul
03c01c8a8d
Operation pool: HashMap instead of BTreeMap
2019-03-25 11:29:03 +11:00
Michael Sproul
05dd936a97
Operation pool: deposit pruning tests
2019-03-25 11:29:03 +11:00
Michael Sproul
9c2dfba843
Operation pool: prune attestations
2019-03-25 11:29:03 +11:00
Michael Sproul
a8224aa4ec
Operation pool: add prune_all
2019-03-25 11:29:03 +11:00
Michael Sproul
8a7c51271e
Bitfield: use BitOr instead of BitAnd for union
...
Closes #314
2019-03-25 11:29:03 +11:00
Michael Sproul
18a7bd243c
Bitfield: implement union/intersection/difference
2019-03-25 11:29:03 +11:00
Michael Sproul
1fca8a063c
Operation pool: add attestation support
2019-03-25 11:29:03 +11:00
Michael Sproul
c2e5d3c45a
BLS: fix description of AggregatePublicKey
2019-03-25 11:29:03 +11:00
Michael Sproul
8f4a2fbde1
Implement transaction pool basics
2019-03-25 11:29:03 +11:00
Paul Hauner
f918f42b28
Merge branch 'master' into paul-sync
2019-03-24 16:36:18 +11:00
Paul Hauner
a57a7c2394
Implement block imports for sync
2019-03-23 18:48:09 +11:00
Kirk Baird
8fd2e47e99
Modifications to serde
2019-03-22 16:10:43 +11:00
Kirk Baird
5204fc81ff
cargo fmt
2019-03-22 14:52:37 +11:00
Kirk Baird
4324097904
Allow for conversion to/from empty_signature
2019-03-22 14:51:49 +11:00
Age Manning
844fdc0fb9
Rename network_id to chain_id
2019-03-22 12:39:45 +11:00
Paul Hauner
dba972c748
Merge branch 'debug-no-crypto' into paul-sync
2019-03-22 10:20:41 +11:00
Paul Hauner
7cbee46227
Add FakeSignature and FakeAggregateSignature
...
They replace Signature and FakeAggregateSignature when compling with
debug. Compiling with release uses the real structs.
2019-03-22 10:08:40 +11:00
Kirk Baird
192a49a23d
Merge branch 'master' of github.com:sigp/lighthouse into v0.5.0-state-transition-tests
2019-03-22 09:23:56 +11:00
Paul Hauner
7a75ee3d19
Merge branch 'master' into paul-sync
2019-03-22 07:11:04 +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
4b57d32b60
Apply clippy suggestions
2019-03-19 23:20:39 +11:00
Paul Hauner
8f23aefb29
Adds comments to new epoch cache fns.
2019-03-19 19:55:17 +11:00
Paul Hauner
baca2c90ab
Add last of 0.5.0 upgrades. Woo!
2019-03-19 19:43:31 +11:00
Paul Hauner
35b90728c7
Push more epoch processing fns to 0.5.0
2019-03-19 19:27:10 +11:00
Kirk Baird
26f8694161
Begin updating serde such that it can read the yaml test files
2019-03-19 18:05:05 +11:00
Paul Hauner
61f6fe25e7
Tidy reward processing
2019-03-19 17:26:20 +11:00
Paul Hauner
d20fb93f0c
Update rewards processing to v0.5.0
2019-03-19 17:16:51 +11:00
Kirk Baird
1bdd737a11
Add ssz test vectors
2019-03-19 11:34:31 +11:00
Paul Hauner
37b8e9f39a
Move get_active_validator_indices
to state
2019-03-19 09:09:57 +11:00
Age Manning
be712f5b05
Add network id to chainspec
2019-03-18 23:04:17 +11:00
Paul Hauner
1028acf3f1
Move state trans fns into state_processing
2019-03-18 21:34:42 +11:00
Age Manning
66f09e1b8e
Updates network branch to v0.5.0
2019-03-18 18:17:37 +11:00
Kirk Baird
9cef6a5814
Finish implementing Darrens migrate-ssz-little-endian and add wrapper to check for ssz underflow
2019-03-18 18:11:46 +11:00
Paul Hauner
7503f31ddc
Fix bug with per-block processing
2019-03-18 18:09:31 +11:00
Age Manning
2d52d2954d
Modify testnet spec to have few validators
2019-03-18 17:45:40 +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
Kirk Baird
10efc9a934
Merge branch 'master' into kirk-migrate-ssz-to-little-endian
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-18 11:40:39 +11:00
Kirk Baird
2c95d531ea
Merge branch 'master' into 215-migrate-ssz-little-endian
2019-03-18 10:47:40 +11:00
Paul Hauner
191761f356
Allow epoch cache with zero validators.
2019-03-17 23:32:27 +11:00
Paul Hauner
979353f136
Make separate errors for epoch cache.
...
Helps with troubleshooting.
2019-03-17 23:23:45 +11:00
Paul Hauner
816c2c651b
Modify genesis processing process.
...
- Removed BeaconStateBuilder
- Added genesis code to `state_processing`.
2019-03-17 23:11:07 +11:00
Paul Hauner
8677b9e9cc
Fix bug with epoch caches, add tests
2019-03-17 21:07:19 +11:00
Paul Hauner
446ff0c27e
Ensure test_harness crate compiles under v0.5.0
2019-03-17 19:19:52 +11:00
Paul Hauner
df3f8df7bd
Ensure fork_choice tests pass under v0.5.0
2019-03-17 18:56:05 +11:00
Paul Hauner
d94540c85c
Remove readers from fork choice crate.
2019-03-17 17:59:29 +11:00
Paul Hauner
6b3cdc34dd
Update block proposer to v0.5.0
2019-03-17 17:50:22 +11:00
Paul Hauner
3a384d93f8
Allow state processing to compile under v0.5.0
2019-03-17 17:47:12 +11:00
Paul Hauner
3b8c1df5da
Fix bug in per block processing.
2019-03-17 12:49:55 +11:00
Paul Hauner
6bd2055a0a
Update block processing to v0.5.0
2019-03-17 12:25:37 +11:00
Age Manning
a59fc2c24d
Merge pull request #306 from sigp/sigs-v0.6.1
...
Update signature-scheme to v0.6.1
2019-03-17 12:17:24 +11:00
Age Manning
71f65ee0cd
Merge pull request #301 from sigp/new-pubkey-format
...
Add pubkey cache
2019-03-17 12:17:06 +11:00
Paul Hauner
7f4af20212
Refactor shuffling generation
2019-03-16 19:14:49 +11:00
Paul Hauner
d6456a9486
Remove old types structs.
...
They've been outdated be v0.5.0 or prior
2019-03-16 14:35:45 +11:00
Paul Hauner
c648491c45
Add TestRandom default
field attr to BeaconState
2019-03-16 14:32:23 +11:00
Paul Hauner
33783d4baa
Fix borrow issue in BeaconBlock
2019-03-16 14:32:07 +11:00
Paul Hauner
6ae5d34d0f
Update testing builders as per state 0.5.0 update
2019-03-16 14:31:43 +11:00
Paul Hauner
01bfd38637
Add default
attribute to TestRandom
derive.
...
Allows for generating the item from default instead of randomizing it.
2019-03-16 14:30:21 +11:00
Paul Hauner
f739bb5551
Add serde default field attr
...
I accidentally deleted it in the last commit.
2019-03-15 18:38:58 +11:00
Paul Hauner
49d3f3d1d6
Partially update BeaconState to v0.5.0
...
- Uses new ssz attributes to remove manual impl of ssz.
- Updates struct def to v0.5.0
- Does not update all methods
2019-03-15 18:36:55 +11:00
Paul Hauner
b37cf3a269
Add TreeHash derives for cache objects.
...
This allows us to avoid a verbose manual impl for BeaconState
2019-03-15 18:36:16 +11:00
Paul Hauner
7660cbd419
Update ChainSpec to v0.5.0
2019-03-15 18:35:27 +11:00
Paul Hauner
57c4389f9c
Add further BeaconBlock v0.5.0 updates
2019-03-15 18:34:54 +11:00
Paul Hauner
dffc26a466
Add field idents support to ssz_derive.
...
- Adds idents to skip ser, deser and tree hashing
2019-03-15 18:33:32 +11:00
Paul Hauner
563304c8d7
Update "block" family types to 0.5.0
...
- Removes Proposal
- Removes "readers" as they aren't actually being used anywhere.
2019-03-15 16:30:05 +11:00
Paul Hauner
a51de99d40
Fast-forward unchanged exit to v0.5.0
2019-03-15 16:06:02 +11:00
Paul Hauner
a1ee1a4523
Update Transfer to v0.5.0
2019-03-15 16:05:53 +11:00
Paul Hauner
db26b8fde7
Update Deposit to v0.5.0
2019-03-15 16:02:47 +11:00
Paul Hauner
77db79900e
Fast-forward some unchanged types to v0.5.0
2019-03-15 16:02:23 +11:00
Paul Hauner
dc2755c4ea
Update ProposerSlashing to v0.5.0
2019-03-15 15:59:04 +11:00
Paul Hauner
15c3e5eab5
Add HistoricalBatch type
2019-03-15 15:52:17 +11:00
Paul Hauner
142aaae8ce
Fast-forward PendingAttestation to v0.5.0
2019-03-15 15:51:57 +11:00
Paul Hauner
4ffdfbc993
Update Validator
to 0.5.0, add tests
2019-03-15 15:48:33 +11:00
Paul Hauner
d84850b892
Add BeaconBlockHeader
type.
2019-03-15 15:40:28 +11:00
Paul Hauner
2295322e3c
Update DepositInput to spec v0.5.0
...
Also modifies the API for creating a proof of possession and adds a test
2019-03-15 15:40:19 +11:00
Paul Hauner
20a439101e
Update "attestation" family of structs in types
...
Also adds/splits up some testing builders.
2019-03-15 15:20:33 +11:00
Paul Hauner
8050ed7a26
Fast-forward unchanged 0.4.0 structs to 0.5.0
2019-03-15 14:33:40 +11:00
Paul Hauner
f9964ebd8b
Update Fork struct to v0.5.0
2019-03-15 13:33:45 +11:00
Paul Hauner
ef86948259
Add bones of YAML state test parsing.
...
Is incomplete, need to update all our types to v0.5.0 first
2019-03-15 13:32:23 +11:00
Paul Hauner
236b97476a
Marge fixes to test_harness, add serdehex crate
2019-03-15 13:31:30 +11:00
Paul Hauner
902b80a579
Optimise epoch building
2019-03-14 22:16:21 +11:00
Paul Hauner
8154397114
Set map initial cacacity in epoch cache builder
...
This should help reduce reallocations
2019-03-14 20:54:44 +11:00
Paul Hauner
96d96ba9ba
Remove assertion in benches
2019-03-14 20:54:30 +11:00
Paul Hauner
5337fce433
Merge branch 'sigs-v0.6.1' into sane-case
2019-03-14 18:18:59 +11:00
Paul Hauner
65e3b388a0
Update signature-scheme to v0.6.1
2019-03-14 18:17:32 +11:00
Paul Hauner
d99a92d147
Merge branch 'new-pubkey-format' into sane-case
2019-03-14 17:53:47 +11:00
Paul Hauner
3dfdfc95ac
Fix test_utils macro definition
...
It needed to be defined before it was used in an module.
2019-03-14 17:53:13 +11:00
Paul Hauner
4fd8551e8b
Update loglevel, comments in benches
2019-03-14 17:49:39 +11:00
Paul Hauner
9e7d495dca
Merge branch 'master' into new-pubkey-format
2019-03-14 19:02:10 +13:00
Age Manning
1134ce1d8b
Merge pull request #304 from sigp/faster-rewards
...
Improve rewards processing time
2019-03-14 17:01:58 +11:00
Paul Hauner
2535f47f13
Add builder for benches
...
Also adds a "sane" case for block processing
2019-03-14 16:44:56 +11:00
Paul Hauner
e44f2fca8c
Merge pull request #305 from sigp/fork-choice-correction
...
Correct all fork choice rules for children with no votes.
2019-03-14 18:29:03 +13:00
Paul Hauner
ed49023b87
Merge branch 'faster-rewards' into sane-case
2019-03-14 16:11:41 +11:00
Paul Hauner
fc0cdb8226
Start building non-worst case benches
2019-03-14 18:10:36 +13:00
Paul Hauner
31c276822d
Merge pull request #300 from sigp/dupl-ssz-tests
...
Re-re-apply removal of duplicated ssz_tests
2019-03-14 18:07:42 +13:00
Paul Hauner
1c1c15a122
Tidy per epoch processing
...
- Add comments to ValidatorStatuses
- Add some checks to guard against a bad statuses list
- Remove unused attester_sets.rs file.
2019-03-14 16:00:22 +11:00
Age Manning
086e9574d2
Correct all fork choice rules for children with no votes.
2019-03-14 15:22:45 +11:00
Paul Hauner
f4959fc03c
Add TestingBeaconStateBuilder fn for cloned kps
...
Allows for faster test setups.
Implemented method for fork choice tests.
2019-03-14 15:10:20 +11:00
Paul Hauner
10aee6214c
Tidy per_epoch_processing
...
Mainly renaming variables and files for readability.
2019-03-14 14:59:30 +11:00
Age Manning
ac6dc81ebf
Merge pull request #302 from pawanjay176/lmd_ghost_tests
...
Adds additional tests for lmd ghost fork choice rules
2019-03-14 14:09:31 +11:00
Age Manning
8435a5b2ca
Merge pull request #297 from pawanjay176/optimized_ghost
...
[WIP] Add OptimizedLMDGhost fork choice rule and tests
2019-03-14 14:08:16 +11:00
Paul Hauner
95599ddc66
Update Attesters struct
...
- Renames variables
- Moves total balance calculation into struct
2019-03-14 12:49:48 +11:00
Paul Hauner
a319144835
Improve crosslink reward processing
2019-03-14 12:17:43 +11:00
Paul Hauner
6f919e6f7d
Add first iteration on faster rewards processing.
2019-03-14 11:53:50 +11:00
pawanjay176
804da3c3ff
Adds additional tests for lmd ghost fork choice rules
2019-03-14 00:58:15 +05:30
pawanjay176
4c45b90df5
Formatted changes using rustfmt
2019-03-13 14:34:00 +05:30
pawanjay176
181aeb3d71
Refactored to use max_by
2019-03-13 14:31:40 +05:30
Paul Hauner
b2fb2afb28
Revert "Move PublicKey
to store uncomp. bytes."
...
This reverts commit bfa2e71b46
.
2019-03-13 16:51:37 +11:00
Paul Hauner
587be831b5
Add method for dropping pubkey cache. Add bench.
2019-03-13 16:49:32 +11:00
Paul Hauner
6cd3c4bd1a
Add a cache for public keys to BeaconState
...
This allows for a fast lookup of "is this public key already in the
validator registry".
2019-03-13 16:40:28 +11:00
Age Manning
23a8fbfc74
Add default topics and initial topic subscription
2019-03-13 15:39:32 +11:00
Age Manning
8ee3523abd
Transition to secp256k1 default peer id
2019-03-13 14:43:24 +11:00
Paul Hauner
bfa2e71b46
Move PublicKey
to store uncompressed bytes.
...
This is an optimisation that allows for faster hashing of a public key,
however it adds a penalty to SSZ encoding because we need to go
decompressed -> PublicKey -> compressed.
The spec presently uses compressed bytes to store public keys, however
I'm hoping it will change.
2019-03-13 14:41:43 +11:00
Age Manning
af7128062a
Merge pull request #298 from sigp/optimise-slasher-builder
...
Optimize TestingAttesterSlashingBuilder
2019-03-13 13:18:06 +11:00
Paul Hauner
f68f52e206
Fix issues with previous cherry pick
2019-03-13 12:22:15 +11:00
Michael Sproul
6101036c8e
Re-apply removal of duplicated ssz_tests
...
Also, re-apply: "use cfg(test) for test macros"
2019-03-13 12:18:27 +11:00
Paul Hauner
243ef2db80
Merge pull request #258 from sigp/ssz-fuzzing
...
Basic Fuzz Tests
2019-03-13 14:05:41 +13:00
Paul Hauner
123650efbb
Merge pull request #290 from mjkeating/tree_hash_spec_update
...
Updated TreeHash logic as per revised spec
2019-03-13 14:04:42 +13:00
Paul Hauner
6f5593ef2b
Optimize TestingAttesterSlashingBuilder
2019-03-13 10:24:02 +11:00
pawanjay176
2b7aa269c3
Add OptimizedLMDGhost fork choice rule and tests
2019-03-13 00:22:15 +05:30
Luke Anderson
e942d7533b
A first go at persisting validator keys and handling configuration. Addresses issue #253 .
...
- Creates a keystore directory in the config
- Fetches serialized keys from the keystore directory
- If no keys, generates keys randomly, saves serialized keys to keystore dir.
2019-03-12 21:56:45 +11:00
Paul Hauner
2be0373f01
Add comments to new functions/structs.
2019-03-12 18:26:41 +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
Paul Hauner
9057b436f3
Run rustfmt
2019-03-12 17:19:35 +11:00
Paul Hauner
fbfa233d36
Add debug messages to TestingBeaconStateBuilder
2019-03-12 17:16:12 +11:00
Paul Hauner
1b252c3f82
Implement new uncompressed bytes for PublicKey
2019-03-12 17:15:45 +11:00
Kirk Baird
c92f867cd8
Upgrade to signature scheme 0.6.0
2019-03-12 16:01:09 +11:00
Paul Hauner
efd56ebe37
Ignore file-exists error.
2019-03-12 14:42:31 +11:00
Paul Hauner
cce88c9923
Improve DX for loading validator keys from file
2019-03-12 14:39:16 +11:00
Paul Hauner
f34ae86cde
Add support for loading keypairs from file
2019-03-12 12:46:44 +11:00
Paul Hauner
9de6a0c733
Rename benching files
2019-03-12 09:57:00 +11:00
Paul Hauner
e81f1c31c9
Fix proof-of-possession issues.
...
These were introduced in an earlier commit
2019-03-11 19:47:33 +11:00
Paul Hauner
292991810d
Move state processing benches around
2019-03-11 19:46:22 +11:00
Paul Hauner
85e7dd8b5a
Merge branch 'timing-report' of github.com:sigp/lighthouse into timing-report
2019-03-11 19:03:22 +11:00
Paul Hauner
7e79a2b3d3
Improve PublicKey Hash impl efficiency
...
Instead of SSZ-encoding, we just use the AMCL tobytes method.
2019-03-11 19:01:44 +11:00
Paul Hauner
5e5cfb782e
Add concurrency to TestBeaconStateBuilder
...
Specifically to generating the initial validator objects.
2019-03-11 18:58:49 +11:00
Kirk Baird
25b08f0096
Run cargo fmt
2019-03-11 15:22:15 +11:00
Kirk Baird
2b991854ab
Merge branch 'timing-report' of github.com:sigp/lighthouse into timing-report
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-11 15:19:09 +11:00
Kirk Baird
191759dad0
Modify create_proof_of_possession, and verifying proof_of_possession in process_deposits
2019-03-11 15:18:45 +11:00
Paul Hauner
36085f63e9
Rename state trans benches
2019-03-11 14:52:21 +11:00
Kirk Baird
9c225936b6
Merge branch 'timing-report' of github.com:sigp/lighthouse into timing-report
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-11 11:55:41 +11:00
Kirk Baird
df52669888
Add changes of create_proof_of_possession to pull
2019-03-11 11:55:09 +11:00
Paul Hauner
41844841c6
Update project tests to use new genesis structure
2019-03-11 11:52:16 +11:00
Paul Hauner
827365cfb0
Update fork_choice tests to use new state builder.
2019-03-11 11:33:35 +11:00
Paul Hauner
0b7082e2b9
Move benching_utils
structs into types
2019-03-11 11:17:27 +11:00
Paul Hauner
6ae99a1462
Ensure drop times aren't included in benchmarks
...
Also moves to the new `iter_batched` method on criterion (instead of
`iter_with_setup`.
2019-03-11 10:56:31 +11:00
Paul Hauner
a44d80006a
Improve allocation in get_attestation_participants
2019-03-10 21:07:09 +11:00
Paul Hauner
53456a6c79
Remove last inclusion_slot(..) call
2019-03-10 21:06:40 +11:00
Paul Hauner
21d75ef0bd
Add tree hash benches
2019-03-10 18:31:14 +11:00
Paul Hauner
f27b62d410
Add optimisation for epoch processing
2019-03-10 17:49:06 +11:00
Paul Hauner
9cc8e2598f
Organise epoch benching file
2019-03-10 17:48:26 +11:00
Paul Hauner
89fc386264
Add extra checks for epoch benches finalization
2019-03-10 13:38:57 +11:00
Paul Hauner
e99da31da8
Tidy BeaconStateBuilder struct
2019-03-10 12:56:57 +11:00
Paul Hauner
c33e299176
Ensure epoch processing benches get new eth1 data
2019-03-10 12:56:37 +11:00
Paul Hauner
3f98849362
Optimise attester slashing processing.
2019-03-10 08:55:45 +11:00
Paul Hauner
e7fba3a473
Process transfers in parallel.
2019-03-10 08:36:49 +11:00
Paul Hauner
1ca99b8c4c
Optimise deposits processing.
2019-03-10 08:33:17 +11:00
Paul Hauner
5f3da0732f
Fix attestations bug in block builder.
...
It was previously producing too many attestations in some scenarios.
2019-03-10 08:31:40 +11:00
Paul Hauner
90d00773cb
Add slashings back into per-block processing.
...
I thought they would invalidate the attestations but I was wrong.
2019-03-10 08:30:36 +11:00
Paul Hauner
c1e386a0b1
Add deposits, transfers and exits to benches
2019-03-09 22:10:47 +11:00
Paul Hauner
6250c81bb9
Fix bug in attestation verification
...
We were ensuring that a validator was present on the aggregation
bitfield before adding their signature to the agg pub
2019-03-09 20:09:17 +11:00
Paul Hauner
62ab782ee2
Add TestingAttestationBuilder
2019-03-09 20:09:02 +11:00
Paul Hauner
4bf2490163
Re-organise types::test_utils dir
2019-03-09 18:59:32 +11:00
Paul Hauner
f8ec1e0cfa
Add slashings and attestations to per block benching
2019-03-09 18:56:01 +11:00
Paul Hauner
73ebb4bc2e
Add incomplete per-block processing benchmarks
...
Still needs to fill block with operations
2019-03-09 14:11:49 +11:00
mjkeating
7db2b51876
ran cargo fmt
2019-03-08 16:37:01 -08:00
Paul Hauner
ca5d9658ce
Move epoch processing benches into separate file
2019-03-09 10:45:28 +11:00
Paul Hauner
63743a962c
Add per-epoch benchmarks, optimise function.
2019-03-09 10:38:53 +11:00
mjkeating
d4f3bab68d
Updated TreeHash logic as per revised spec
2019-03-08 15:24:07 -08:00
Paul Hauner
ddac7540bc
Allow test_harness to load validators from file.
2019-03-08 16:10:21 +11:00
Paul Hauner
4b21252ce4
Refactor BeaconChain and BeaconState genesis
...
Now it more easily supports using pre-build validator registries.
2019-03-08 15:33:45 +11:00
Paul Hauner
5c1458ba46
Add bls serde_vistors file
2019-03-08 13:19:37 +11:00
Paul Hauner
2f484db82c
Expose Signature
in types
crate
2019-03-08 13:16:33 +11:00
Paul Hauner
7ddbdc15bb
Impl serde deser for types::Deposit
2019-03-08 13:16:18 +11:00
Paul Hauner
3b6431b4b4
Impl serde ser and deser for bls keypairs
2019-03-08 13:15:41 +11:00
Age Manning
21032334ac
Adds bootnodes to chainspec. Handles type correctly
2019-03-08 12:15:57 +11:00
Age Manning
c5a7c62d5d
Updates to latest master.
2019-03-08 11:15:38 +11:00
Paul Hauner
f479beb87e
Implement deposit merkle root verification.
...
It is currently disabled, but it's there for later.
2019-03-08 09:26:03 +11:00
Kirk Baird
08b803b6e7
Modifications to fuzz tests
2019-03-07 17:50:00 +11:00
Paul Hauner
1ef2652cac
Add transfer processing to BeaconChain
2019-03-07 17:23:11 +11:00
Paul Hauner
15e4aabd8a
Add deposit processing, fix clippy lints
2019-03-07 16:15:38 +11:00
Paul Hauner
195cb16a41
Update test_harness
for spec v0.4.0
2019-03-07 14:29:21 +11:00
Paul Hauner
db3b6cba6d
Introduce Fork
struct to block_producer
...
It's a pretty crappy solution, IMO. It shouldn't really belong in
"duties" but this gets the job done for now.
2019-03-07 13:54:56 +11:00
Paul Hauner
20ac1bf1f0
Remove unused files
...
They were accidentally introduced by a merge
2019-03-07 13:53:17 +11:00
Paul Hauner
5a21e19a31
Fix all compile errors from v0.4.0 update
2019-03-07 12:53:15 +11:00
Paul Hauner
e448882102
Re-add canonical_root
methods to block & state
...
Turns out they were pretty useful
2019-03-07 12:25:00 +11:00
Paul Hauner
dad140a338
Fix attester and proposer compile issues
...
- Updated to use new signed roots (`SignedRoot`, `TreeHash`)
- Added a temporary domain value
Note: these changes are not a fully v0.4.0 upgrade.
2019-03-07 12:11:17 +11:00
Paul Hauner
93ce7b59e7
Merge branch 'master' into v0.4.0-types
2019-03-07 12:03:27 +11:00
Paul Hauner
e6526c9895
Refactor winning root logic
2019-03-07 11:32:53 +11:00
Paul Hauner
c8417ae009
Merge pull request #284 from michaelsproul/merkle-proofs
...
Implement library for verifying Merkle proofs
2019-03-07 12:30:04 +13:00
Paul Hauner
5a225d2983
Update per-slot processing to v0.4.0
2019-03-07 08:37:13 +11:00
Paul Hauner
8a25fd48cf
Fix per_epoch_processing so it compiles again
2019-03-06 18:57:41 +11:00
Paul Hauner
17210faf3a
Start reorg of per_epoch_processing
2019-03-06 17:14:54 +11:00
Paul Hauner
521d48d37c
Break per-block-processing into smaller fns
...
Will enable benchmarking of each individual fn
2019-03-06 17:03:18 +11:00
Michael Sproul
7bb5e1c151
Implement library for verifying Merkle proofs.
2019-03-06 16:59:36 +11:00
Paul Hauner
599948b26b
Add comments to block_processing code
2019-03-06 16:24:56 +11:00
Paul Hauner
40f74c9b26
First compiling version of per-block-proc refactor
2019-03-06 15:22:45 +11:00
Paul Hauner
a15ed0acd3
Start new Error structure in state_processing
2019-03-06 10:22:19 +11:00
Paul Hauner
0be8e57fd3
Further v0.4.0 updates to types
crate
2019-03-06 10:21:55 +11:00
Michael Sproul
6253167cac
Update ethereum-types to 0.5
2019-03-06 10:08:35 +11:00
Paul Hauner
96ec53c6a8
Update beacon_state.rs to spec v0.4.0
2019-03-05 18:22:37 +11:00
Paul Hauner
38a1b94f61
Fix compile issues in types
crate
2019-03-05 17:38:17 +11:00
Paul Hauner
e0ccde1ce3
Remove unused function from @agemanning
2019-03-05 17:37:09 +11:00
Michael Sproul
33a3161905
Remove SSZ round-trip test duplication
...
Closes #244
2019-03-05 17:29:08 +11:00
Michael Sproul
d519bc1388
Use cfg(test) for test macros
2019-03-05 17:29:08 +11:00
Paul Hauner
0f7d2c168c
Fix compile errors in beacon_state.rs
2019-03-05 17:19:36 +11:00
Paul Hauner
262e9cf0bc
Additional spec updates
2019-03-05 09:51:29 +11:00
Paul Hauner
663d39739f
Do project-wide s/epoch_length/slots_per_epoch/g
2019-03-04 17:51:54 +11:00
Paul Hauner
a1af65ce1a
Update ChainSpec to v0.4.0
2019-03-04 17:48:19 +11:00
Paul Hauner
7f10d41121
Remove old spec types
...
They have been made obsolete
2019-03-04 17:17:07 +11:00
Paul Hauner
9769ca4665
Update all struct definitions
...
Does not compile
2019-03-04 17:13:50 +11:00
Paul Hauner
94122a7334
Add SignedRoot methods
2019-03-04 15:47:48 +11:00
Paul Hauner
4a57aec472
Unfinished progress
2019-03-04 14:24:29 +11:00
Paul Hauner
5073ac7a98
Merge branch 'master' into test_harness_exits
2019-03-04 14:01:03 +11:00
Age Manning
0e1a14a628
Merge pull request #264 from sigp/yaml-chain-tests
...
YAML-defined test_harness routines
2019-03-04 13:19:25 +11:00
Paul Hauner
ef006bfb2c
Add Exit support to test_harness
2019-03-04 12:21:24 +11:00
Paul Hauner
ef549aa38b
Merge pull request #273 from mjkeating/tree_hash_container_fix
...
Brought algorithm in TreeHash macro up to spec
2019-03-03 20:01:47 +13:00
Paul Hauner
ec0e13b764
Add comments to new functions
2019-03-03 15:32:44 +11:00
Age Manning
60cfdf6e55
Convert bitwise ghost to use u64 block heights.
2019-03-03 13:35:15 +11:00
Paul Hauner
ede5685bc2
Fix warnings and clippy lints
2019-03-03 11:47:09 +11:00
Paul Hauner
76a0ba2d6c
Add attester slashing support to block processing
...
At spec v0.2.0
2019-03-03 11:18:12 +11:00
Paul Hauner
59128f842a
Add verify_slashable_attestation
spec method
...
As per v0.2.0 spec
2019-03-03 11:16:59 +11:00
Paul Hauner
3561d44cbe
Update per-block processing for new AggPub wrapper
...
AggregatePublicKey newtype was introduced in previous commit
2019-03-03 11:12:18 +11:00
Paul Hauner
35ae1b6745
Add agg_pub to bls, add agg_sig.verify_multiple
...
- Adds a new-type wrapper for `AggregatePublicKey`, just like all the
other types.
- Adds the `verify_multiple` method to the `AggregateSignature` newtype,
as was introduced in a recent version of signature-schemes.
2019-03-03 11:10:38 +11:00
mjkeating
8a768819b0
brought algorithm in TreeHash macro to spec
2019-03-02 09:59:01 -08:00
Paul Hauner
e2dd753f05
Merge branch 'master' into yaml-chain-tests
2019-03-02 20:18:09 +11:00
Paul Hauner
4db2f082e1
Add state-checks to test_harness YAML
...
Runs tests against a state at some slot
2019-03-02 20:17:14 +11:00
Paul Hauner
c975d49ead
Copy SlashableVote.. tests to SlashableAttestation
...
SlashableVoteData tests were just copied directly across
2019-03-02 18:39:52 +11:00
Paul Hauner
8e1380d7c4
Add ProposerSlashingBuilder
...
It is capable of producing double votes
2019-03-02 18:36:44 +11:00
Paul Hauner
bb4d392a98
Add AttestationSlashingBuilder
2019-03-02 16:05:45 +11:00
Michael Sproul
6795aa42b2
Fix log_int implementation, removing floats
...
The cast from f32::MAX to u32 was undefined behaviour, and the use of floating
point logarithms would yield incorrect results due to rounding and truncation,
e.g. for the integer 16777206
2019-03-02 15:52:33 +11:00
Paul Hauner
f3a3cfcc45
Add surround/dbl vote fns to SlashableAttestation
...
Copied from `SlashableVoteData`
2019-03-02 15:33:52 +11:00
Paul Hauner
22d59a70cc
Add debug message when validator is penalized
2019-03-02 11:27:12 +11:00
Paul Hauner
867dce34cd
Remove domain constants from block_processable
...
The information is gather from the `spec` object, not the constants.
2019-03-02 11:26:39 +11:00
Paul Hauner
1097c8089b
Add naive deposit-handling to BeaconChain
2019-03-01 16:56:27 +11:00
Paul Hauner
8671c5790c
Merge pull request #268 from sigp/fork-choice-corrections
...
Correct bitwise fork-choice rule.
2019-03-01 18:34:44 +13:00
Age Manning
c1f8ebeca1
Merge pull request #266 from sigp/faster-swap-or-not
...
Faster swap-or-not for full list shuffles.
2019-03-01 15:45:20 +11:00
Age Manning
13c957bef7
Correct bitwise fork-choice rule.
2019-03-01 14:38:07 +11:00
Paul Hauner
fe7c475207
Merge pull request #265 from sigp/more-readmes
...
Readme updates
2019-03-01 16:36:34 +13:00
Luke Anderson
3753782c40
Just some small gramatical improvements on READMEs
2019-03-01 13:10:50 +11:00
Paul Hauner
c3b2f802a7
Add fast full-list shuffle for swap-or-not
...
- Passes test vectors
- Implemented in beacon state
- Added more docs
2019-03-01 12:19:05 +11:00
Paul Hauner
8aa7f25bbc
Introduce faster swap-or-not whole-list shuffle
2019-03-01 01:47:40 +11:00
Paul Hauner
8842adb53b
Fix typos in READMEs
2019-03-01 00:25:11 +11:00
Paul Hauner
6fac35a7c5
Update main readme, add eth2/ readme
2019-03-01 00:18:53 +11:00
Paul Hauner
e0926dcd8d
Change log msgs in BeaconState
...
Make it louder when shuffling happens, also when deposits are being
processed.
2019-02-28 23:10:40 +11:00
Paul Hauner
7108d057fb
Set BeaconState
to process deposits in parallel
...
Provides a large speed improvement.
2019-02-28 23:09:21 +11:00
Paul Hauner
073be906da
Remove cache operations from epoch processing.
...
- Don't build the next cache at all.
- Call `advance_caches()` in per-slot processing.
2019-02-28 16:37:12 +11:00
Age Manning
19a64f906e
Initial beacon node setup.
...
- Add network crate.
- Add sync crate.
- Add version crate.
- Add lighthouse configuration.
- Add network configuration.
2019-02-28 10:29:28 +11:00
Age Manning
ed032dddea
Merge pull request #261 from sigp/epoch-benches
...
Move epoch benches to 16k validators
2019-02-27 12:39:31 +11:00
Age Manning
274458d41e
Merge pull request #260 from sigp/shuffle-bench
...
Add benchmarks to shuffling crates
2019-02-27 12:37:30 +11:00
Paul Hauner
04f179243e
Fix type in BeaconStateBuilder
comments
2019-02-26 22:35:51 +13:00
Paul Hauner
c2fb095759
Add docstrings to BeaconStateBuilder
2019-02-26 22:34:41 +13:00
Paul Hauner
3ff8f6ebb3
Update epoch trans. tests to us 16,384 validators
2019-02-26 22:25:29 +13:00
Paul Hauner
af17fb1d03
Update BeaconStateBuilder
API
2019-02-26 22:00:07 +13:00
Paul Hauner
5cfc9cb21d
Test state processing with and w/o caches
2019-02-26 20:18:59 +13:00
Paul Hauner
931da13545
Add drop_cache
fn to BeaconState
...
Permits clearing an epoch cache.
2019-02-26 20:18:20 +13:00
Paul Hauner
f82c4268e2
Split BeaconState::genesis
into two functions
...
This allows us to build a genesis state without inducting all the
validators. This will be a signigicant speed up for tests as we can
avoid generating keypairs and checking proof-of-possessions.
2019-02-26 20:16:14 +13:00
Paul Hauner
a8ebc0e19c
Add benchmarks for fisher_yates_shuffle
2019-02-26 19:32:32 +13:00
Paul Hauner
0fe3a81c9e
Add benches to swap_or_not_shuffle
2019-02-26 19:30:51 +13:00
Age Manning
d140563545
Merge pull request #259 from sigp/bench-epoch-trans
...
Add benching and test for epoch processing
2019-02-26 16:43:24 +11:00
Paul Hauner
65d303c500
Fix failing tests
2019-02-26 17:20:43 +13:00
Paul Hauner
e97b554485
Run rustfmt
2019-02-26 16:50:04 +13:00
Paul Hauner
9f846eda26
Fix clippy lint
2019-02-26 16:49:17 +13:00
Paul Hauner
906131f882
Add tests and benches for epoch processing
2019-02-26 16:27:42 +13:00
Paul Hauner
53663e54b5
Fix error with get_permutated_index.
...
Error types were modified. Error involved shuffling with the _value_of
active validator indicies, not an _index_.
2019-02-26 16:26:06 +13:00
Paul Hauner
59d6b1fdd0
Move BeaconStateBuilder
out of test mods
...
This allows it to be accessed by other crates/tests.
2019-02-26 16:25:08 +13:00
thojest
6e8fc1b6d0
resolved merge conflicts due to Treehash macro implementation (lighthouse-246)
2019-02-25 23:20:24 +01:00
mjkeating
c688e37693
merged master
2019-02-25 09:46:49 -08:00
mjkeating
d7184345b8
renamed the macro Hashtree to TreeHash
2019-02-25 09:17:17 -08:00
thojest
9a892bbdfd
removed TestRandom import in beacon_state (lighthouse-246)
2019-02-25 09:26:43 +01:00
thojest
cd4346962a
Merge branch 'master' into lighthouse-246
2019-02-25 09:24:47 +01:00
mjkeating
2ce316235f
merged master and resolved beacon_state conflict
2019-02-24 16:54:26 -08:00
Kirk Baird
3ae7d24d17
Merge branch 'master' into ssz-fuzzing
2019-02-25 10:49:51 +11:00
Kirk Baird
4c3b0a6575
Formatting
2019-02-25 10:38:04 +11:00
Kirk Baird
f72b45147a
Merge conflicts from master
2019-02-25 10:36:54 +11:00
Age Manning
27e7bbd72f
Fix typo in BeaconState
...
Co-Authored-By: paulhauner <paul@paulhauner.com>
2019-02-25 08:35:21 +13:00
Paul Hauner
5ca7c9929a
Merge branch 'master' into beacon-state-caching
2019-02-24 19:14:05 +13:00
Paul Hauner
ab10cbbdb5
Fix clippy lints, small typos
2019-02-24 18:52:12 +13:00
Paul Hauner
c49f425fe8
Tidy, add comments to BeaconState
2019-02-24 18:25:17 +13:00
Paul Hauner
779b6266a5
Ensure shuffling is cached between slot calcs
...
Previously it was being re-built for every slot, now it is being
generated once-per-epoch.
2019-02-23 18:45:32 +13:00
Darren Langley
2961edcbb4
merged upstream changes
2019-02-23 14:24:23 +10:00
Kirk Baird
a5cbda0b60
Merge branch 'master' into signature-scheme-update
2019-02-23 13:34:57 +11:00
mjkeating
f95a0134e6
now using the Hashtree macro for most struct types
2019-02-22 13:07:04 -08:00
thojest
66b5accdc2
replaced manual TestRandom implementation with macro when possible; fixed typo in TestRandom macro (lighthouse-246)
2019-02-22 17:10:26 +01:00
thojest
278b41c8ef
decided against moving test_utils (lighthouse-246)
2019-02-22 16:05:52 +01:00
thojest
7a382043e1
added test_random_derive implementation (lighthouse-246)
2019-02-22 15:54:18 +01:00
thojest
5f3ba42b97
added first draft for lib-crates for test_random and test_random_derive (lighthouse-246)
2019-02-22 12:16:11 +01:00
Kirk Baird
ab1dc7bfce
Add simple fuzz tests for hashing and boolean-bitfield
2019-02-22 16:50:14 +11:00
Paul Hauner
7a28893bab
Fix bug in Epoch.slot_iter()
...
It wasn't running the whole range, plus it could get into a loop when
used near the u64::max_value
2019-02-22 18:48:35 +13:00
Paul Hauner
89ab0f683e
Change "few_validators" spec to be 8 shards.
...
A bug arises when the number of shards is less than the slots in an
epoch.
2019-02-22 18:19:47 +13:00
Paul Hauner
a5de6a1915
Add caching to BeaconState.
...
Removes CachingBeaconState
2019-02-22 18:14:16 +13:00
Paul Hauner
cdc03f1749
Remove FastBeaconState
2019-02-22 17:55:36 +13:00
Kirk Baird
fdbd9d4410
Merge branch 'master' into ssz-fuzzing
2019-02-22 15:26:28 +11:00
Paul Hauner
c040ed7b11
Merge pull request #243 from sigp/fork-choice-tests
...
Fork choice tests
2019-02-22 13:34:58 +13:00
Paul Hauner
b211e39331
Add progress on FastBeaconState
2019-02-21 19:00:55 +13:00
Kirk Baird
68017b66fd
Fuzzing for Vec<u8>
2019-02-21 14:23:21 +11:00
Kirk Baird
274bdd491d
Fuzz for address and Hash256
2019-02-21 13:43:09 +11:00
Kirk Baird
00e5b57166
Fuzz test ssz_encode and ssz_decode for usize
2019-02-20 16:43:30 +11:00
Kirk Baird
b98db3773e
Fuzz test ssz_encode for u8 to u64
2019-02-20 16:15:30 +11:00
Kirk Baird
d5c4771f0a
Fuzz test decodes from u8 to u64
2019-02-20 15:34:15 +11:00
Kirk Baird
38abcc4a24
Fuzz test for u8 fails
2019-02-20 15:03:32 +11:00
Kirk Baird
52347d8e6d
Write a fuzz test
2019-02-20 14:46:25 +11:00
Kirk Baird
3517ef6513
Initialise fuzzing for ssz
2019-02-20 14:16:07 +11:00
Kirk Baird
673c8ea388
Merge current master
2019-02-20 13:59:11 +11:00
Age Manning
efa8aa19e7
Corrects small comments.
2019-02-20 12:52:03 +11:00
Age Manning
0f7167992b
Removes topic from logs.
2019-02-20 12:39:00 +11:00
Age Manning
2fbdc53147
Add asserts to ensure block heights are not too large.
2019-02-20 12:36:54 +11:00
Age Manning
d8584cbed2
Update to rust 2018 importing macros.
2019-02-20 12:15:41 +11:00
Age Manning
c7acde4fc2
Rename OptimisedLMDGhost to BitwiseLMDGhost.
2019-02-20 12:14:46 +11:00
Paul Hauner
59fd716286
Add extra comment to ssz_derive
2019-02-20 11:23:35 +13:00
Paul Hauner
586bb09e02
Set ssz_derive to import from ssz::
...
Previously it was expecting `Encodable`, `Decodable`, etc to be in
scope, now it uses `ssz::Encodable`.
2019-02-20 11:06:03 +13:00
Paul Hauner
abef6698b1
Fix failing doc examples in ssz_derive
2019-02-20 10:12:18 +13:00
Age Manning
6f74ffc7e6
Correct minor comment.
2019-02-19 23:20:45 +11:00
Age Manning
b8411e7126
Merge branch 'master' into fork-choice-tests
2019-02-19 23:09:31 +11:00
Age Manning
fd1edaf805
Add fork choice bug fixes.
...
- Further bug fixes from testing.
- Simplify the testing framework.
- Add tests for longest chain and GHOST vs bitwise GHOST.
2019-02-19 23:06:35 +11:00
Paul Hauner
a78256c778
Merge branch 'master' into ssz-derive
2019-02-19 20:46:47 +13:00
Paul Hauner
5e67ddd498
Add docs to ssz_derive
2019-02-19 20:43:09 +13:00
Paul Hauner
a1118e13ae
Merge pull request #238 from mjkeating/tree_hash_add_padding2
...
Updated TreeHash to spec - added padding
2019-02-19 16:54:36 +11:00
Paul Hauner
b6f3156b4e
Run rustfmt on ssz_derive
2019-02-19 18:04:29 +13:00
Paul Hauner
089127b347
Merge pull request #226 from thojest/lighthouse-150
...
add is_double_vote and is_surround_vote
2019-02-19 16:02:29 +11:00
Age Manning
2394f64329
Add longest chain tests and test vectors.
2019-02-19 15:22:35 +11:00
Age Manning
bd66a02cb3
Add slow LMD Ghost working tests.
2019-02-19 15:08:55 +11:00
Age Manning
846cbdd7f7
Generalise fork choice tests.
2019-02-19 14:37:17 +11:00
Paul Hauner
fc0bf578f8
Use SSZ enc/dec proc macros on most types
...
Some types were skipped as they have non-standard serialization.
2019-02-19 14:32:00 +11:00
Paul Hauner
345c527d33
Add SSZ encode/decode for bool
2019-02-19 14:31:09 +11:00
Paul Hauner
fdfaf18dbd
Add ssz_derive
crate.
...
It appears to be fully functional at this stage.
2019-02-19 13:54:39 +11:00
Age Manning
8baae0e02e
Updates optimised fork choice.
...
- Bug fixes in optimised fork choice.
- YAML tests functioning.
- Implement Clippy suggestions.
- Remove Copywrite notices.
2019-02-19 11:58:17 +11:00
mjkeating
cd676d5621
fixed a bug in TreeHash.rs/list_to_blob
2019-02-18 11:55:44 -08:00
mjkeating
0148abaa0b
Merge branch 'master' into tree_hash_add_padding2
2019-02-18 09:04:53 -08:00
Feng94
1bdce182a9
Rename block_producer crate to block_proposer and change references inside it to block_proposer
2019-02-19 00:03:35 +11:00
thojest
f88155625c
added comment to indicate highest spec version of implemented functions; added realistic test scenario for is_surround_vote (lighthouse-150)
2019-02-18 12:12:01 +01:00
thojest
ee13c6ee40
Merge branch 'master' into lighthouse-150
2019-02-18 11:49:37 +01:00
Age Manning
4eddb47fd0
Updates all fork-choices to use ChainSpec for consts.
2019-02-18 17:49:05 +11:00
Age Manning
6e6d451978
Updates optimised ghost to use chainspec for consts.
2019-02-18 17:42:07 +11:00
Age Manning
8b34bc490b
Add fork-choice yaml tests.
2019-02-18 17:32:13 +11:00
Kirk Baird
21d75f1853
Use verify_proof_of_possession
2019-02-18 12:06:47 +11:00
Kirk Baird
2c8aa17e0d
Merge branch 'master' into signature-scheme-update
2019-02-18 10:54:26 +11:00
Kirk Baird
9c4a1f1d1f
Update to signature-scheme 0.5.2
2019-02-18 10:50:40 +11:00
mjkeating
6fa141181b
Updated TreeHash to spec - added padding
2019-02-17 09:30:18 -08:00
Paul Hauner
c4bedc03a8
Fix file org. inconsistency in types
2019-02-17 20:21:13 +11:00
Paul Hauner
b2173c1a16
Merge branch 'master' into test-harness-fix
2019-02-16 15:10:48 +11:00
Paul Hauner
f83d02b394
Update previous epoch function
2019-02-16 15:09:43 +11:00
Paul Hauner
b79f0cdf68
Fix bug with reward quotient in epoch processing
2019-02-16 15:09:14 +11:00
Paul Hauner
c5158e2974
Fix bug with total_balance in epoch processing
2019-02-16 15:08:57 +11:00
Paul Hauner
b0513b1ec1
Add and update logs
2019-02-16 15:08:33 +11:00
Paul Hauner
5e6acb8f39
Break BeaconState
tests into separate file
2019-02-16 11:19:47 +11:00
Darren Langley
0da268ad5f
cargo fmt fixes
2019-02-16 06:52:10 +10:00
Darren Langley
d7a9fac6b5
fixed tests in broader project
2019-02-15 21:32:17 +10:00
thojest
203f3b37f2
adapted import due to renaming of crate slot_epoch_height -> slot_epoch (lighthouse-150)
2019-02-15 12:25:59 +01:00
thojest
94cb6a2a43
Merge branch 'master' into lighthouse-150
2019-02-15 12:16:39 +01:00
Darren Langley
c59bab58d2
big to little endian, some more tests
2019-02-15 20:46:06 +10:00
Paul Hauner
7c920cfb96
Add incomplete progress on fixing test harness
2019-02-15 19:23:22 +11:00
Paul Hauner
2affd305d9
Merge branch 'master' into implement-shuffle
2019-02-15 18:21:54 +11:00
Age Manning
0800091a43
Merge pull request #232 from sigp/tidy-beacon-state
...
Add beacon state test builder, tidy errors
2019-02-15 18:06:42 +11:00
Paul Hauner
b05f12cf6f
Merge branch 'tidy-beacon-state' into test-harness-fix
2019-02-15 17:10:11 +11:00
Paul Hauner
1c57eb47f9
Move BeaconStateTestBuilder
into test mod
2019-02-15 17:07:52 +11:00
Paul Hauner
054c1f9047
Swap over to v0.2.0 shuffling algo
2019-02-15 16:55:52 +11:00
Paul Hauner
2f8c4536a0
Merge branch 'int_to_bytes' into implement-shuffle
2019-02-15 16:40:32 +11:00
Paul Hauner
4ddbb3197c
Merge branch 'master' into tidy-beacon-state
2019-02-15 16:30:51 +11:00
Paul Hauner
ae5072d0f5
Merge branch 'master' into int_to_bytes
2019-02-15 16:13:40 +11:00
Paul Hauner
ec4a658fe7
Add beacon state test builder, tidy errors
2019-02-15 16:12:24 +11:00
Paul Hauner
b15ee17fed
Merge pull request #225 from sigp/permutated-index
...
Add get_permutated_index
2019-02-15 15:32:28 +11:00
Age Manning
e06c4796e4
Import Slot directly from types in fork-choice.
2019-02-15 14:21:33 +11:00
Age Manning
b16ac40fd5
Add tests to SlotHeight.
2019-02-15 14:16:45 +11:00
Kirk Baird
977f3edfb6
Add domain to all signature funcitons, modify validate_proof_of_possession()
2019-02-15 13:58:14 +11:00
Age Manning
5031ee5505
Remove comments from fork choice.
2019-02-15 13:32:37 +11:00
Age Manning
2cab2952a8
Removes duplication of macros in types.
2019-02-15 13:29:09 +11:00
Paul Hauner
af1d44e8b0
Add shuffling to fuzzer, fixing a bug
...
We were being to strict on list length, it can be 2**24 as all index's
will need to be less than that.
2019-02-15 12:58:14 +11:00
Paul Hauner
210ec89b0b
Replace ssz_encode
with int_to_bytes32
...
Only in the relevant places I can think of.. I might have missed some.
2019-02-15 12:21:19 +11:00
Paul Hauner
fc04286ae6
Use int_to_bytes
in swap or not.
...
I also fixed an error I found through strict typing.
2019-02-15 12:13:57 +11:00
Paul Hauner
73484f04a1
Rename eth2_bytes
to int_to_bytes
2019-02-15 11:19:25 +11:00
Paul Hauner
46673238b6
Add eth2_bytes
crate
...
Is passing test vectors
2019-02-15 11:13:56 +11:00
Paul Hauner
8c54e55d99
Updates to permutated_index
...
- Add comments.
- Add more `None` conditions.
- Add more tests.
2019-02-15 00:28:24 +11:00
Age Manning
91ba26a351
Add test dependencies for fork-choice.
2019-02-15 00:21:26 +11:00
Paul Hauner
c98a9fdf3e
Update test vectors, align to test vectors.
2019-02-14 23:55:48 +11:00
thojest
7434ff47ba
added is_double_vote and is_surround_vote (lighthouse-150)
2019-02-14 13:28:42 +01:00
Paul Hauner
18e85a3cf8
Add swap_or_not_shuffle and tests.
...
The implementation is not matching the EF implementation at this point.
2019-02-14 18:22:55 +11:00
Age Manning
fe13d98469
Updates longest chain to match new fork-choice structure.
2019-02-14 18:09:09 +11:00
Age Manning
7b39dad232
Removes protolambda as an option of fork-choice.
2019-02-14 16:56:12 +11:00
Age Manning
7a03ee79aa
Update SlowLMDGhost to use SlotHeight.
2019-02-14 16:53:53 +11:00
Age Manning
066f0090dd
Add slot_height type.
2019-02-14 16:46:33 +11:00
Paul Hauner
c41b743d2d
Rename vec_shuffle
to fisher_yates_shuffle
...
We're adding another shuffler so it's nice to be specific
2019-02-14 14:57:29 +11:00
Paul Hauner
35c914baa6
Revert "Merge pull request #200 from sigp/new-structure"
...
This reverts commit d7a3545be1
, reversing
changes made to 1da06c156c
.
2019-02-14 12:09:18 +11:00
Paul Hauner
1d5ff4359a
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
2019-02-13 14:15:53 +11:00
Paul Hauner
492d4749d7
Fix clippy lint
2019-02-13 10:32:56 +11:00
Paul Hauner
683147035b
Fix clippy lints in block and epoch processing
2019-02-13 10:28:57 +11:00
Paul Hauner
4824b43808
Fix various clippy lints
2019-02-13 07:46:59 +11:00
Paul Hauner
05ed778ccc
Remove unused var from block_producer
...
It was made redundant when `proposer_slots` was removed.
2019-02-13 07:39:00 +11:00
Paul Hauner
5c1d0dcea5
Fix various clippy lints
2019-02-13 07:32:31 +11:00
Paul Hauner
fef22c31be
Update block_producer to spec v0.2.0
2019-02-12 17:00:10 +11:00
Paul Hauner
5fefc79521
Update BeaconChain
for spec v0.2.0
2019-02-12 13:00:52 +11:00
Paul Hauner
36f441c968
Replace genesis
crate with on-type defs
...
The methods in the `gensis` crate have been moved to `genesis` methods
on `BeaconState` and `BeaconBlock`.
2019-02-12 13:00:35 +11:00
Paul Hauner
cb97870c15
Add genesis()
function to BeaconBlock
2019-02-12 11:57:34 +11:00
Paul Hauner
f27308e377
Tidy old comments
2019-02-12 11:57:20 +11:00
Paul Hauner
3b75e93122
Add genesis()
to BeaconState
2019-02-12 11:54:02 +11:00
Paul Hauner
f3e556bca3
Remove validator_induction crate
2019-02-12 09:02:26 +11:00
Paul Hauner
ff2025ec5c
Update epoch processing to v0.2.0
2019-02-12 08:58:20 +11:00
Paul Hauner
c1f8c85ce9
Add un-finished, uncompiling state_processing
2019-02-11 17:25:23 +11:00
Paul Hauner
03e84a63ec
Tidy BeaconState
2019-02-11 17:24:56 +11:00
Paul Hauner
75a9e0f3de
Add verify_signature()
to Attestation
2019-02-11 17:24:32 +11:00
Paul Hauner
25ae0f64c2
Tidy, fix & extend BeaconState
impls.
2019-02-11 16:32:55 +11:00
Paul Hauner
d7f8c60f93
Fix un-annotated test in types crate
2019-02-11 16:31:33 +11:00
Paul Hauner
a13dd0d871
Update types
defs, move processing out.
...
- Update `types` to v0.2.0 spec (not all functions upgraded too).
- Move slot/block/epoch processing out to a separate crate (not included
yet, it doesn't compile)
2019-02-11 14:02:59 +11:00
Paul Hauner
ba7137697c
Add impl_common
to slot_epoch.rs
2019-02-07 13:53:30 +11:00
Paul Hauner
7583599e65
Add tests for Slot/Epoch types
2019-02-07 13:44:48 +11:00
Paul Hauner
85450ec254
Fix all compile errors from new Slot/Epoch types
2019-02-07 11:22:48 +11:00
Paul Hauner
b865768d3b
Update validator_inductor to use Slot newtype
2019-02-07 09:54:45 +11:00
Paul Hauner
a98c221447
Add new
fn to Slot and Epoch
2019-02-07 09:53:53 +11:00
Paul Hauner
bd71304d73
Convert beacon_state
to Slot/Epoch newtypes
2019-02-06 13:17:10 +11:00
Paul Hauner
2aa7d80a5f
Update types
to use Slot
newtype
...
All dependant functions haven't yet been updated.
2019-02-05 19:27:12 +11:00
Paul Hauner
dbe9112848
Add first impl of Slot and Epoch newtypes
...
Not tested yet.
2019-02-05 19:15:26 +11:00
Paul Hauner
6c6ee4320d
Fix block_producer
naming to match attester
2019-02-05 16:47:59 +11:00
Paul Hauner
49dcb38c31
Fix naming consistency with attester
crate.
...
Adjusted naming of files to ensure they match the name of the struct.
Also change the name of some structs so they don't look like tests.
2019-02-05 16:41:18 +11:00
Paul Hauner
da1498fc45
Remove validator_shuffling crate.
...
It has been replaced by the `beacon_state.get_shuffling` function.
2019-02-05 12:48:07 +11:00
Paul Hauner
87a326d8a2
Complete canonical_root for attestation_data
2019-02-05 12:41:56 +11:00
Paul Hauner
cbb84c0d69
Move all attestation_data fns into same file
2019-02-05 12:40:03 +11:00
Paul Hauner
05b890860a
Move all attestaion fns into same file
2019-02-05 12:38:58 +11:00
Paul Hauner
b9dc8437c9
Move all beacon_block fns into the same file
2019-02-05 12:33:52 +11:00
Paul Hauner
ade2460377
Move all beacon_state fns into single file.
2019-02-05 12:25:42 +11:00
Paul Hauner
0120082f6b
Merge branch 'master' into add-chain-benchmarks
2019-02-05 05:49:45 +11:00
Paul Hauner
bd1cfeeba9
Change bls import method for validator
2019-02-05 03:52:34 +11:00
Paul Hauner
dcb507ca18
Remove unused errors from genesis crate
2019-02-05 03:51:24 +11:00
Paul Hauner
aad3b3dc7a
Merge spec
into types
crate.
...
Also remove some pre-2018 `extern crate` calls.
2019-02-01 19:05:39 +11:00
Paul Hauner
efc0902abb
Run cargo fmt
2019-02-01 18:20:42 +11:00
Paul Hauner
865919e398
Improve attester errors, move info -> helpers
...
- Ensured one can distingush between a committee error and an invalid
validator index when using `validator_attesation_slot_and_shard`.
- Renamed the `info.rs` file to `getters.rs`, for clarity.
2019-02-01 17:56:49 +11:00
Paul Hauner
20e45b3369
Refactor block_processing
...
- Add the rayon library for parallelization
- Move from std::sync::Rwlock to rayon::RwLock
- Add `state` field to BeaconChain
- Fix major bug in attestation validator where justified slot was
incorrectly looked up.
2019-02-01 14:48:09 +11:00
Paul Hauner
10fec4919b
Merge pull request #175 from sigp/tree_hash
...
Merkle hashing chunk size fix
2019-02-01 12:08:17 +11:00
Paul Hauner
02a962d35d
Ensure per_epoch trans. happens before per_slot.
2019-01-31 18:32:23 +11:00
Paul Hauner
c1b3d1b63e
Tidy up and add some logs
2019-01-31 18:32:01 +11:00
Paul Hauner
e1239a1ecc
Ensure attestation_participants is deduped
2019-01-31 18:31:20 +11:00
Paul Hauner
3f13c25c05
Fix issues with per_epoch block_root calls
...
They were being called with the wrong slot.
2019-01-31 18:28:54 +11:00
Paul Hauner
5c44f97fba
Fix bug with committee index for attester duties
...
It was returning the validator_index instead of the `committee_index`.
2019-01-31 16:42:53 +11:00
Paul Hauner
48801e4674
Re-enable signature checking for validations
2019-01-31 16:42:31 +11:00
Paul Hauner
a1cdc0402d
Tidy attestation_participants function.
...
It was using a map where it could use a find.
2019-01-31 16:41:54 +11:00
Paul Hauner
8073296f5d
Ensure per_epoch processing always runs.
...
Previously, it was running _after_ a state transition, not before it
with the slot processing.
2019-01-31 16:39:44 +11:00
Paul Hauner
ae39a24e71
Add committee_index to aggregator
...
Fixes a bug where the validator index bit was set on the bitfield,
instead of the committee index
2019-01-31 14:16:28 +11:00
Paul Hauner
5ec9d82e40
Minor bug fixes and formatting changes.
2019-01-31 10:04:40 +11:00
Paul Hauner
2fc6dbb02a
Fix bug with inclusion_distance
2019-01-31 08:49:50 +11:00