openethereum/ethcore
André Silva dcaff6f4c8 Auto-updater improvements (#8078)
* updater: refactor updater flow into state machine

* updater: delay update randomly within max range

* updater: configurable update delay

* updater: split polling and updater state machine step

* updater: drop state to avoid deadlocking

* updater: fix fetch backoff

* updater: fix overflow in update delay calculation

* updater: configurable update check frequency

* updater: fix update policy frequency comparison

* updater: use lazy_static for platform and platform_id_hash

* updater: refactor operations contract calls into OperationsClient

* updater: make updater generic over operations and fetch client

* updater: fix compilation

* updater: add testing infrastructure and minimal test

* updater: fix minor grumbles

* updater: add test for successful updater flow

* updater: add test for update delay

* updater: add test for update check frequency

* updater: mock time and rng for deterministic tests

* updater: test backoff on failure

* updater: add test for backoff short-circuit on new release

* updater: refactor to increase readability

* updater: cap maximum backoff to one month

* updater: add test for detecting already downloaded update

* updater: add test for updater disable on fatal errors

* updater: add test for pending outdated fetch

* updater: test auto install of updates

* updater: add test for capability updates

* updater: fix capability update

* updater: use ethabi to create event topic filter

* updater: decrease maximum backoff to 1 day

* updater: cap maximum update delay with upcoming fork block number

* updater: receive state mutex guard in updater_step

* updater: overload execute_upgrade to take state mutex guard

* updater: remove unnecessary clone of latest operations info

* updater: remove latest operations info clone when triggering fetch
2018-04-03 16:49:23 +02:00
..
benches Fixes bench and removes rustc_serialize dependency (#5988) 2017-10-11 17:39:12 +07:00
evm Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
light Remove RefCell from Header (#8227) 2018-04-03 17:01:28 +09:00
migrations revert removing blooms (#8066) 2018-03-12 20:15:55 +00:00
node_filter Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
res Cleanup Ellaism bootnodes (#8276) 2018-04-03 21:58:24 +09:00
service ethcore-service (#8089) 2018-03-13 11:49:57 +01:00
src Auto-updater improvements (#8078) 2018-04-03 16:49:23 +02:00
transaction Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
types Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
vm Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
wasm Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00
Cargo.toml Bump ethabi & ethereum-types. (#8258) 2018-04-02 12:12:52 +01:00