Commit Graph

36 Commits

Author SHA1 Message Date
Jim McDonald 8bfe31a47b
Updates for release candidate 1. 2021-08-18 12:38:02 +01:00
Jim McDonald 945c85fb30
Add sync committee contribution strategy. 2021-08-15 00:00:02 +01:00
Jim McDonald 2a17229b39
Tidy ups for sync committee scheduling. 2021-08-02 19:53:56 +01:00
Jim McDonald 34d6df9312
Work for Altair. 2021-08-02 19:53:47 +01:00
Jim McDonald 01fb65a1ed
Decrypt local accounts in parallel.
This changes the wallet account manager to decrypt accounts in parallel,
to reduce the time taken to update accounts on startup and refresh.
2021-08-02 19:25:38 +01:00
Jim McDonald 3e1b529ec5
Add advanced scheduler.
The basic scheduler has shown weakness when handling high load, which
manifests with the occasional deadlock situation.  This introduces an
advanced scheduler, which contains additional features in an attempt to
ensure that regardless of the concurrent load no job is ever left in an
inconsistent state, explicitly with outstanding items to read on its
channels.
2021-07-27 16:28:50 +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 3b6e160fb8
Provide flag to enable chain reorganisations. 2021-02-24 22:05:11 +00:00
Jim McDonald 999b9520c2
Bump version. 2021-02-01 19:28:56 +00:00
Jim McDonald f56fa48655
Add `vouch_ready` and `vouch_release` metrics.
`vouch_ready` is a prometheus metric that is `0` if Vouch is not yet
ready to validate, and `1` if it is.

`vouch_release` has a labeled value `version` that contains the release
version of Vouch.
2021-02-01 19:27:06 +00: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 4e2aaf6c5c
Add `controller.max-attestation-delay`
This option allows users to control the maximum amount of time that
Vouch will wait for a block to arrive before starting its attestation
process.  Note that this is a spec value, so changes can have a highly
detrimental impact on Vouch's behaviour.
2020-12-30 23:12:05 +00:00
Jim McDonald d7dd5875ca
Update changelog 2020-12-28 08:32:33 +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 4071dabf9e
Re-implement accountmanager metrics.
This reintroduces prometheus metrics for the account manager module.
The metrics track the validating state of each account, and are found
under the `vouch_accountmanager_accounts_total` metric.  The metrics are
differentiated using the `state` label.
2020-12-16 13:46:00 +00:00
Jim McDonald fda79aa31a
Increment version. 2020-12-15 10:51:10 +00:00
Jim McDonald 57fcf15be1
Increment version 2020-11-29 16:07:58 +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 b22c451636
Version update 2020-11-27 15:55:57 +00:00
Jim McDonald 68fb49a21b
Add --version flag.
Fixes #2
2020-11-26 20:35:34 +00:00
Jim McDonald 925e69fb9a
Update dependencies 2020-11-26 20:32:04 +00:00
Jim McDonald fd48090007
Separate accountmanager. 2020-11-25 00:02:13 +00:00
Jim McDonald 2e05b68684
Bump version 2020-11-17 13:22:32 +00:00
Jim McDonald 9087add881
Merge branch 'proposal-slot-scaling' 2020-11-14 12:26:53 +00:00
Jim McDonald 4e5fbf18ba
Initial work on support of standard API 2020-11-14 08:36:49 +00:00
Jim McDonald 796cb6348f
Initial move to go-eth2-client 2020-10-28 15:09:51 +00:00
Jim McDonald fb95aadd11
Bump version 2020-10-20 07:57:36 +01:00
Jim McDonald fd5540086f
Error appropriately when misconfigured. 2020-10-17 21:50:50 +01:00
Jim McDonald cddc1419ca
Avoid crash if accountmanager not configured. 2020-10-13 17:25:29 +01:00
Jim McDonald 469e6a02a3
Add measurement of validator status fetching operations 2020-10-09 16:07:42 +01:00
Jim McDonald 1f1783ed95
Log selected module when there is a choice 2020-10-01 07:09:10 +01:00
Jim McDonald 9952769588
Bump version to 0.6.1 2020-09-30 09:57:36 +01:00
Jim McDonald 6142a292b5
Update documentation for accountmanager.
Add configuration for multinode submitter.
2020-09-30 09:56:44 +01:00
Jim McDonald eded06afeb
AggregateAttestationSubmitter->AggregateAttestationsSubmitter to match spec 2020-09-29 11:00:06 +01:00
Jim McDonald bee97962e7
Initial release 2020-09-28 07:46:00 +01:00
Jim McDonald 804389ddef
Init 2020-05-09 19:32:38 +01:00