Commit Graph

27 Commits

Author SHA1 Message Date
Jim McDonald 945c85fb30
Add sync committee contribution strategy. 2021-08-15 00:00:02 +01:00
Jim McDonald 34d6df9312
Work for Altair. 2021-08-02 19:53:47 +01:00
Jim McDonald c10f060848
Use process-concurrency for Dirk accountmanager.
The Dirk accountmanager was using a local scatter/gather concurrency
method to obtain wallets, however this uses the parallelism of the Vouch
server rather than the Dirk server.  This chnages the Dirk
accountmanager to use a configuration value to select the concurrency
level.

This also standardizes the use of process concurency to allow for
hierarchical definition of the value.
2021-07-22 22:35:09 +01:00
Jim McDonald 41afb240c2
Remove spec import alias.
Specification imports for phase0 were aliased as 'spec'.  Due to the
mechanism decided upon to manage structs that vary beteween hard forks
this is no longer useful, so this removes the alias in preparation for
the Altair hard fork.
2021-07-18 07:34:43 +01:00
Jim McDonald f24671e4fb
Reduce log level of debug message. 2021-05-19 15:34:15 +01:00
Jim McDonald b825ba40b7
Add metrics to track strategy operations. 2021-05-19 15:29:23 +01:00
Jim McDonald 443ca18d4e
Handle chain reorganisations.
When a chain reorganisation occurs it is possible that this impacts
Vouch's attestations and proposals for the current and next epoch.  This
patch listens to the Ethereum 2 events stream for reorganisation
notifications.  If it finds one it cancels existing and creates new
duties, as required.
2021-01-31 13:49:15 +00:00
Jim McDonald fcab5aa757
Add aggregate attestation strategy.
The "best" aggregate attestation strategy obtains aggregate attestations
from all listed nodes, scores them according to their attestation
coverage, and signs and broadcasts the one with the highest coverage.

The "first" aggregate attestation strategy signs and broadcasts the
first aggregate attestation returned from all listed nodes.
2020-12-24 08:53:54 +00:00
Jim McDonald 3a8098981c
Avoid crash on nil beacon block.
Situation reported where a node returns nil for a beacon block when
scoring attestation data.  Although this should not happen (the provider
told us about the block via the attestation, it should know it) this
patch covers the situation where the returned block is empty or
malformed.

Fixes #9
2020-12-14 09:29:34 +00:00
Jim McDonald 6a28a2ce86
Include source and target epochs when scoring attestation data.
Fixes #8
2020-11-29 10:21:51 +00:00
Jim McDonald 0b4d840beb
Enable scoring for attestation data 2020-11-26 20:29:34 +00:00
Jim McDonald 581938ef45
Merge branch 'attestation-strategy' 2020-11-17 13:16:25 +00:00
Jim McDonald faa23bfaa8
Tidy-ups 2020-11-17 12:07:24 +00:00
Jim McDonald ebd1003871
Fix up tests. 2020-11-14 13:15:10 +00:00
Jim McDonald 9087add881
Merge branch 'proposal-slot-scaling' 2020-11-14 12:26:53 +00:00
Jim McDonald b8d26c7470
Merge branch 'eth2client' 2020-11-14 08:38:12 +00:00
Jim McDonald 4e5fbf18ba
Initial work on support of standard API 2020-11-14 08:36:49 +00:00
Jim McDonald a14870fa3f
Add calculations for slot scaling 2020-10-29 08:18:32 +00:00
Jim McDonald 13f5d5eeaf
Set default process concurrency 2020-10-28 19:36:17 +00:00
Jim McDonald 64a6e671c0
Add framework for best attestation 2020-10-28 19:29:37 +00:00
Jim McDonald 4484ea0b5e
Fix race condition in first strategy. 2020-10-28 16:48:49 +00:00
Jim McDonald b08baf16d4
Add 'first' attestation data strategy 2020-10-28 16:44:42 +00:00
Jim McDonald eb5c919344
Ensure duplicated attestations are only counted as 1 in block proposal. 2020-10-04 12:28:44 +01:00
Jim McDonald e6e14d9971
Tidy-ups 2020-09-30 13:29:26 +01:00
Jim McDonald 75576b1303
Break out beacon block proposal functions 2020-09-29 15:57:49 +01:00
Jim McDonald 6d3657da5d
Block proposal calculation counts slashed indices rather than slashing entries 2020-09-29 11:52:00 +01:00
Jim McDonald bee97962e7
Initial release 2020-09-28 07:46:00 +01:00