Commit Graph
100 Commits
Author SHA1 Message Date
André Silva e86fedba81 primitives: add missing cargo metadata to sp-arithmetic-fuzzer (#5402)
* primitives: add missing cargo metadata to sp-arithmetic-fuzzer

* ci: add sp-arithmetic-fuzzer to unleash skip list
2020-03-25 19:42:25 +01:00
André Silva 3a136bdcf9 Internal version dependencies cleanup (#5401)
* always depend on latest alpha version

* integrate arithmetic fuzzer into root workspace
2020-03-25 15:02:39 +01:00
André Silva 459557aadc grandpa: allow noting same set in gossip with different authorities (#5323)
* grandpa: allow noting same set in gossip with different authorities

* grandpa: add test for note_set behavior
2020-03-20 19:07:10 +01:00
André Silva 2edc7f13b0 Release version v0.7.27 (#916)
* bump version to v0.7.27

* update to latest substrate polkadot-master

* bump runtime impl_version
2020-03-19 16:24:32 +00:00
André Silva f1dad04d9a hardfork the GRANDPA authority set in kusama to fix migration issue (#913)
* hardfork the GRANDPA authority set in kusama to fix migration issue

* move grandpa integration code

* remove unnecessary grandpa hard fork

* update to latest substrate polkadot-master
2020-03-19 12:37:32 +00:00
André Silva 04d3ab56b2 grandpa: bump dependency version to 0.11.2 (#5312) 2020-03-19 11:44:18 +00:00
André Silva c7a23d836d grandpa: support for hard forking any pending standard changes (#5306)
* grandpa: support for hard forking any pending standard changes

* grandpa: expose authority_set_hard_forks in block import constructor

* grandpa: don't break the public api
2020-03-19 10:37:29 +00:00
André Silva 194e8441e5 remove hardcoded scheduled GRANDPA pause (#911) 2020-03-18 12:38:41 +01:00
André Silva b9de1c0244 grandpa: add voting rule to pause new votes for a period (#904)
* grandpa: add voting rule to pause new votes for a period

* grandpa: increase delay

* grandpa: parse custom pause delay from cli

* grandpa: log scheduled pause on startup

* grandpa: rename parameter to grandpa_pause

* grandpa: make pause voting rule generic on block

* grandpa: add test for pause voting rule

* grandpa: add hardcoded pause

* collator: fix test compilation
2020-03-17 14:26:09 +00:00
André Silva cfd6824e57 grandpa: improve handling of global gossip messages (#5133)
* grandpa: only gossip commits to peers on the same set

* grandpa: track commits uniquely by round and set

* grandpa: fix communication test

* grandpa: add tests for commit gossip handling

* grandpa: add missing docs
2020-03-09 16:46:03 -07:00
André Silva 1290ae3e92 node: reset flaming fir testnet (#5176) 2020-03-06 22:20:57 +00:00
André SilvaandBastian Köcher 9eaa972c21 client: fix notification sinks leak during initial sync (#5161)
* client: fix notification sinks leak during initial sync

* client: add test for notification sink cleanup

* Make it compile

* Further cleanup

* client: fix test for notification sinks cleanup

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-03-06 18:32:50 +01:00
André Silva 3a792a55cd client: don't log on 0 gossip messages (#5173) 2020-03-06 18:31:35 +01:00
André Silva c498f246ec aura: remove unused tx pool (#5046)
* aura: remove unused transaction pool parameter

* node-template: remove transaction pool from aura

* aura: fix tests
2020-02-25 15:49:06 +01:00
André Silva f0043055cc node, node-template: disable GRANDPA observer (#5011)
* node-template: disable grandpa observer

* node: disable grandpa observer

* node: add doc about grandpa-voter infallible task

* grandpa: remove grandpa observer from public API

* grandpa: ignore observer_enabled field in config
2020-02-21 10:50:42 +01:00
André Silva b642c4b197 cli: fix version info in config (#855) 2020-02-19 18:04:12 +00:00
André Silva 9cc650d91c sync: process empty response for justification requests (#4957)
* sync: process empty response for justification request

* sync: add test for justification request empty response

* network: remove deprecated comment
2020-02-18 15:11:44 +01:00
André Silva db4c8c03bb node: disable grandpa automatic finality fallback (#4835)
* node: disable grandpa automatic finality fallback

* node: bump spec_version
2020-02-06 00:10:35 +01:00
André Silva d53bb5ec50 grandpa: bump version to v0.11.1 (#4813) 2020-02-05 21:47:11 +01:00
André Silva c1750c5c28 grandpa: filter some telemetry events on larger voter sets (#4700) 2020-01-21 22:14:44 +01:00
André Silva b7a63e3b77 grandpa: reduce allocations when verifying multiple messages (#4693) 2020-01-21 11:45:36 +00:00
André Silva 3a49649a51 grandpa: increase gossip duration to 1s (#781) 2020-01-19 23:24:21 +01:00
André Silva 2b081f9edd v0.17.18: Update latest substrate (#776)
* update latest substrate polkadot-master

* fix test compilation

* bump version to 0.7.18

* bump impl_version

* update substrate

* Revert "Instantiate environment with asynchronous API (#768)"

This reverts commit a5d9645bf4.

* update substrate

* remove unused parameter type

* bump trie-db version for tests

* fix collator test

* update substrate

* remove unnecessary service changes
2020-01-17 18:37:55 +00:00
André Silva 1470b55ec7 grandpa: bump finality-grandpa crate to v0.10.3 (#4659) 2020-01-17 14:06:29 +00:00
André Silva d18fbd7940 grandpa: generic voting rule for backing off from best block (#4635)
* grandpa: generic voting rule for backing off from best block

* grandpa: fix tests
2020-01-16 14:53:45 +01:00
André SilvaandSvyatoslav Nikolsky 270c2a8a0c network: add logging for extra requests (#4625)
* network: add logging for extra requests

* fixed tests compilation

Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
2020-01-15 11:48:33 +01:00
André Silva f1ef0a1bae fork tree: rebalance fork tree by max fork depth (#4605)
* fork-tree: rebalance fork tree by maximum branch height

* fork-tree: add docs for tree rebalancing

* fork-tree: add test

* babe: rebalance epoch changes tree on deserialization

* fork-tree: fix doc

* fork-tree: fix test
2020-01-13 08:51:48 +01:00
André Silva bd58ddb6e4 remove kusama fixes (#738) 2020-01-08 00:02:46 +01:00
André Silva 660c882cd3 grandpa: guarantee that vote limit is never lower than vote base (#4563) 2020-01-07 23:34:54 +01:00
André Silva a869258fc5 polkadot v0.7.13 (#730)
* bump substrate version

* bump version to 0.7.13
2020-01-07 00:12:17 +00:00
André SilvaandGavin Wood 30a8eec44f service: reset grandpa into a future round (not past) (#726)
* service: reset grandpa into a future round (not past)

* update substrate version

* service: create grandpa reset round variable

* service: fine grained grandpa reset on startup

Co-authored-by: Gavin Wood <github@gavwood.com>
2020-01-06 23:39:12 +00:00
André Silva a89d87d708 client: add a block blacklist extension (#4544)
* client: add a block blacklist extension

* test-utils: fix client construction

* client: fix rustdoc test
2020-01-06 18:03:44 +00:00
André Silva c4e20af74d client: allow reverting finalized blocks (#4535)
* client: allow reverting blocks past finality

* client: fix leaves reversion

* client: extend docs on revert

* client: add comment on leaves revert
2020-01-06 14:58:43 +00:00
André Silva 4fa4dfb77b client: helper to create standalone client without service (#4536) 2020-01-06 14:52:14 +00:00
André Silva ec0a7604a0 service: support setting fork blocks in config (#719) 2020-01-06 13:51:41 +01:00
André Silva c72619ed71 client: hack around fork blocks deserialization issue (#4539) 2020-01-06 13:43:25 +01:00
André Silva dfe87ec61e babe: remove unused slot_duration variable (#4461) 2019-12-19 17:38:01 +00:00
André Silva 1e550b3dac grandpa: fix slow gossip test (#4440) 2019-12-18 14:32:09 +01:00
André Silva 1fc3060feb grandpa: log everything under afg target (#4443) 2019-12-18 14:18:29 +01:00
André Silva 16ad04e847 grandpa: increase timeout for catch up requests (#4149) 2019-11-20 11:01:53 -05:00
André Silva 364df30970 grandpa: voting rules shouldn't restrict past round base (#4150) 2019-11-20 09:50:36 +01:00
André Silva e2e2eb7b32 docs: fix CODEOWNERS paths (#4138)
* docs: fix CODEOWNERS paths

* Apply suggestions from code review
2019-11-19 11:30:39 +01:00
André Silva 9194b2a3c0 gossip: replace LRU cache (#4137)
* peerset: remove unused dependencies

* gossip: replace lru cache

* header-metadata: replace lru cache
2019-11-19 10:58:06 +01:00
André Silva 40f1d22cd8 cli: fix node shutdown (#568) 2019-11-11 16:35:47 +01:00
André Silva f4c1c83667 srml-timestamp: define max timestamp drift in millis (#4077)
* srml-timestamp: define max timestamp drift in millis

* srml-timestamp: suffix MAX_TIMESTAMP_DRIFT with unit
2019-11-10 19:49:55 +01:00
André Silva 94a5fcd9a6 grandpa: remove the periodic block announcer (#4062)
* grandpa: remove the periodic block announcer

* grandpa: remove periodic block announcer test
2019-11-09 09:11:24 +01:00
André Silva a8ce80b72d grandpa: progressively increase target gossip peers (#4050)
* grandpa: stricter gossip message filtering

* gossip: remove filtered message on send_message

* gossip: add test for tracking of broadcast attempts

* grandpa: only restrict gossip if we're connected to more than 5 authorities

* grandpa: add test for progressive gossip

* grandpa: add test for gossip filtering on local non-authority node

* grandpa: fix doc

* gossip, grandpa: tabify

* grandpa: relax filtering logic for global messages
2019-11-08 20:08:14 +01:00
André Silva 3cbc28ab59 im-online: account for block authorship (#3973)
* im-online: account for block authorship

* im-online: add test for block authorship onlineness

* im-online: cleanup

* im-online: fix test
2019-10-31 11:11:11 +01:00
André Silva b16bd4de8d bump version to 0.6.6 (#516) 2019-10-30 10:48:45 +01:00
André Silva 9ec5ba46f3 cli: fix display_role helper (#3961) 2019-10-29 20:07:11 +00:00
André Silva c92eda9809 node: add sentry mode flag (#3959)
* node: add sentry mode flag

* cli: extend docs on validator and sentry modes

* service: add missing field in test Configuration

* node: Display instead of Debug when printing node role
2019-10-29 19:58:34 +01:00
André Silva dc14809804 grandpa: fix handling of catch-up requests (#3956)
* grandpa: fix handling of catch-up requests

* grandpa: fix tests

* grandpa: add test for catch-up handling when observer disabled

* grandpa: extend doc comment

* grandpa: rename existing catch up test
2019-10-29 19:15:49 +01:00
André Silva 981c3a57f9 grandpa: always try to import available block justifcation (#3928)
* grandpa: always try to import justifications in blocks

* grandpa: export useful types

* grandpa: add test for justification import on regular blocks

* grandpa: expand comment in test
2019-10-27 12:54:08 +01:00
André SilvaandGavin Wood 6d71392500 service: don't use the grandpa observer (#494) (#498)
* service: don't use the grandpa observer

* service: remove unnecessary boxing

* service: fix indentation

* service: remove unnecessary on_exit

tasks spawned with `spawn_task`/`spawn_essential_task` are already
guarded by `on_exit`.

* Update service/src/lib.rs

Co-Authored-By: Gavin Wood <gavin@parity.io>
2019-10-25 12:47:42 +02:00
André Silva a84a5f472c Update to latest substrate polkadot-master (#496)
* update to latest substrate polkadot-master

* Bump to 0.6.3
2019-10-25 12:12:41 +02:00
André Silva d51cdff423 service: cleanup task spawning (#495) 2019-10-25 11:09:54 +01:00
André Silva 022126f906 node-template: remove unnecessary on_exit guard (#3903) 2019-10-24 14:29:09 +02:00
André Silva 62a238a81b node: spawn grandpa voter as essential task (#3899)
* node: spawn grandpa voter as essential task

* node: stop babe authoring task on exit

* node: remove unnecessary future boxing

* Apply suggestions from code review
2019-10-24 10:14:32 +02:00
André Silva dd2b43cd10 Update to latest substrate master (#491)
* update to latest substrate master

* Fix compilation
2019-10-23 17:17:49 +02:00
André Silva d70ab136e4 cli: disable pruning on validators (#3835) 2019-10-22 15:51:59 +02:00
André Silva 356015e450 grandpa: pluggable voting rules (#3673)
* grandpa: support pluggable custom voting rules

* grandpa: add docs to grandpa voting rule

* grandpa: make voting rule mandatory

* grandpa: add test for voting rule

* node: add GRANDPA voting rule

* grandpa: pass backend to VotingRule

* core: fix docs in SelectChain::finality_target

* grandpa: implement 3/4 of unfinalized chain restriction as voting rule

* grandpa: rename AlwaysBehindBestBlock voting rule

* grandpa: fix tests

* grandpa: remove useless test

* grandpa: extend environemnt voting rule test

* grandpa: add proofs to unreachable statements

* grandpa: fix typo

* grandpa: fix docs
2019-10-18 13:07:41 -04:00
André Silva 5b9952ef1c grandpa: don't expire next round messages (#3845)
* grandpa: don't expire next round messages

* grandpa: fix test

* grandpa: first round in set is 1

* grandpa: fix test

* grandpa: update doc
2019-10-17 19:25:18 -04:00
André Silva 6c0e9fb107 chain spec builder: add generate mode for authority keys (#3811)
* core: use trait object for genesis constructor

* chain-spec-builder: use structopt

* chain-spec-builder: add new command to generate authority keys

* chain-spec-builder: use ? in main

* chain-spec-builder: fix stored and printed suri from seed

* chain-spec-builder: add comment about created keystore folders

* chain-spec-builder: simplify file write
2019-10-15 15:07:56 +01:00
André Silva ed449bf415 grandpa: fix until imported logging arg order (#3818) 2019-10-14 20:19:01 -04:00
André Silva 6e5fe1a557 deps: update clap and structopt (#3809) 2019-10-12 18:31:49 +01:00
André Silva ea3b9bf393 node: re-use testnet genesis spec for staging testnet (#3802) 2019-10-12 17:12:03 +02:00
André Silva 984c6ac839 babe: verify slots are strictly increasing (#3785)
* babe: re-use code to propose and import test block

* babe: add failing test for slot validation

* babe: verify slot numbers are strictly increasing
2019-10-08 21:56:22 +02:00
André Silva 9c7845b824 Update latest substrate master (#462)
* update substrate to latest polkadot-master

* fix test runtime
2019-10-08 08:44:29 +02:00
André Silva 7ecd8496a7 client: fix comparison of CachedHeaderMetadata in tree_route (#3776)
* client: fix comparison of CachedHeaderMetadata in tree_route

* client: add regression test for tree_route
2019-10-07 15:28:28 +02:00
André Silva b181951bcc babe: prune the epoch tree on startup (#3768) 2019-10-05 10:44:07 +02:00
André Silva f1cdaae6de babe: small compilation fix (#3764)
* babe: fix type on find_pre_digest call

* fork-tree: optimize prune

* babe: fix test compilation
2019-10-04 19:55:03 +01:00
André Silva 49fb11a1ea babe: ancient epoch tree pruning (#3746)
* babe: prune epoch tree when importing a new epoch change

* fork-tree: fix tree pruning

* babe: actually prune epoch change fork tree

* Fix typos

* babe: add test for epoch tree pruning

* fork-tree: fix pruning of stale forks
2019-10-04 19:51:08 +02:00
André Silva 83d4764d46 grandpa: add identifier to UntilImported logging message (#3735)
* grandpa: add identifier to UntilImported logging

* grandpa: fix tests
2019-10-01 11:42:11 -04:00
André Silva facf31f77e srml: system: add kill_prefix (#3729)
* srml: system: add kill_prefix

* node: bump spec_version
2019-10-01 08:44:33 +02:00
André Silva 656a3d3303 srml: im-online: fix received heartbeats pruning (#3724)
* srml: im-online: fix pruning of received heartbeats

* srml: im-online: add test for received heartbeats pruning

* srml: im-online: remove unused variables from test

* node: bump spec_version
2019-09-30 18:03:40 +02:00
André Silva c555b9bf88 peerset: fix reserved nodes (#3706)
* peerset: fix handling of reserved only peering mode

* core: add cli parameter to enable reserved nodes only

* peerset: fix tests

* peerset: add test for priority only mode

* core: fix reserved only cli flag description

* peerset: extend docs on set_priority_only
2019-09-29 01:04:46 +08:00
André Silva 26889679f3 cli: clean up flag descriptions (#3715) 2019-09-28 19:14:08 +08:00
André Silva 0330f3bac6 grandpa: send authority id to telemetry when starting new voter (#3705) 2019-09-26 19:23:01 +02:00
André Silva 1bf44278d3 node: update flaming fir (#3681)
* node: reduce grandpa justification period to 512 blocks

* node: update flaming fir chainspec
2019-09-24 19:47:06 +02:00
André Silva ec828175d8 grandpa: set justification period to 512 blocks (#445) 2019-09-24 17:29:47 +02:00
André Silva 821a59ca8d add authority discovery module (#444) 2019-09-24 15:31:27 +02:00
André Silva fd924c07ed grandpa: reannounce voted blocks periodically (#3602)
* grandpa: reannounce latest voted blocks periodically

* grandpa: add test for background block announcement

* grandpa: configurable delay for background block announcer

* grandpa: nits
2019-09-12 17:12:04 +02:00
André Silva 32335cc5e4 grandpa: fix race condition (#3542)
* grandpa: ignore result of voter command send

* grandpa: avoid race condition on environment::finalize_block
2019-09-12 00:03:10 +01:00
André Silva 433d752831 grandpa: use periodic neighbor packet sender (#3594) 2019-09-11 18:08:15 +02:00
André Silva ae8bc414ab grandpa: don't require justification of consensus changes on full node (#3540)
* grandpa: don't request justification for consensus changes on full node

* sync: finalize justification/finality proof requests in-order

* sync: ignore result of try_finalize_root on justification import
2019-09-09 07:28:35 +02:00
André Silva 397855c611 client: only report block import to telemetry if new best (#3548)
* client: only report block import to telemetry if new best

* grandpa: fix tests

* consensus: derive Default for ImportedAux

* network: fix test
2019-09-04 17:14:42 +01:00
André Silva cc903a126c readme: update working flaming fir node commit hash (#3509) 2019-08-28 20:15:22 +01:00
André Silva 523c7f681e node: update flaming fir (#3508)
* node: reduce block time to 3s and add primary probability constant

* node: update flaming fir chain spec

* node: fix integration test
2019-08-28 18:03:54 +01:00
André Silva cc62ee60fe node: spawn babe epoch pruning in light client (#3505)
* node: use plain vec for tasks_to_spawn

* node: spawn background tasks in light client setup
2019-08-28 18:10:19 +02:00
André Silva da60b58025 grandpa: only send catch-up requests to authorities (#3499)
* grandpa: only send catch-up requests to authorities

* grandpa: fix gossip tests

* grandpa: test sending catch-up requests only to authorities

* grandpa: fix catch-up test

* grandpa: apply suggestions from code review
2019-08-28 14:37:23 +01:00
André Silva 574f68fd7e im-online: use generic crypto (#3500)
* im-online: support using ed25519 and sr25519 crypto

* app-crypto: add trait bounds to RuntimePublic::Signature

* im-online: add missing type annotations

* authority-discovery: depend on im-online module and use its crypto

* node: set i'm online crypto to sr25519

* node: bump spec_version

* rpc: don't generate i'm online pubkey in insert_key method

* im-online: fix docs

* im-online: move app crypto packages

* aura: move app crypto packages
2019-08-28 14:46:52 +02:00
André Silva 725aa0aec8 grandpa: observer doesn't send catch up messages (#3460)
* grandpa: don't send catch up requests when running GRANDPA observer

* grandpa: fix tests

* grandpa: add tests for catch up requests
2019-08-23 15:13:01 +02:00
André Silva 5359206aae grandpa: validate honest out of scope catch ups are for the previous set (#3453) 2019-08-22 10:35:45 +02:00
André Silva 895c872a09 aura: keystore is required for authoring (#3449) 2019-08-21 16:42:04 +02:00
André Silva 6876c50af8 sync: don't return on fork tree revert (#3444) 2019-08-20 20:32:26 +02:00
André Silva ac672a7881 runtime: disable grandpa offline fallback (#390) 2019-08-20 14:14:28 +02:00
André Silva 5ff10aece8 grandpa: don't recreate SharedVoterSetState (#3441) 2019-08-20 13:01:24 +02:00
André Silva 68fd94028f grandpa: fix finalization race condition (#3437)
* network: handle safe fork_tree::revert errors

* grandpa: deal with race conditions on finality

* network: return on fork_tree revert
2019-08-19 13:40:36 +02:00
André Silva 8eacdb54de client: refuse to import blocks that revert finality (#3432)
* client: don't import blocks that revert finality

* client: test import of blocks that revert finality

* client: replace tempdir with tempfile in test
2019-08-18 18:05:16 +02:00
André Silva 99f3f07690 node: update flaming fir (#3424)
* node: update staging testnet authorities

* node: update flaming fir chain spec
2019-08-16 19:09:18 +02:00