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
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
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é Silva and Bastian 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
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
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é Silva and Svyatoslav 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
660c882cd3
grandpa: guarantee that vote limit is never lower than vote base ( #4563 )
2020-01-07 23:34:54 +01: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
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
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
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é 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
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
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
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
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
André Silva
fc392896dc
node: update flaming fir chain spec ( #3423 )
2019-08-16 16:23:46 +02:00
André Silva and joe petrowski
cb7527d2b2
babe: Introduce secondary slots (Aurababeous) ( #3380 )
...
* babe: initial implementation of secondary slots
* babe: validate secondary slot author
* babe: implement weight based fork choice
* babe: remove unused
* aura: cleanup unused imports
* babe: pass in parent weight when authoring and verifying
* babe: use epoch randomness for picking secondary slot authors
* babe: fix tests
* babe: fix wasm build
* babe: node-side code for disabling secondary slots
* babe: allow enabling/disabling secondary slots from runtime
* babe: fix test
* babe: use blake2_256 for secondary slot assignment
* babe: run block initialization in should_end_session
* node: increase slot duration to 6s
* babe: add docs
* node: bump spec_version
* Apply suggestions from code review
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* babe: simplify secondary slot assignment calculation
* babe: remove unnecessary comment
* node: bump spec_version
* babe: fix bad merge
2019-08-16 15:47:53 +02:00
André Silva
d1dde7e087
session: add handler for genesis session ( #3413 )
...
* session: add handler for genesis session
* node: bump spec version
* aura: handle on_genesis_session
* srml: make sure we don't re-initialize genesis authorities
* session: fix mock
* node: remove genesis authorities from chain spec
* staking: fix mock
* srml: don't initialize genesis authorities twice
* aura: don't reinitialize genesis authorities
* aura: fix runtime_io dependency
* Bump runtime
2019-08-16 11:24:06 +03:00
André Silva
3590c9c33f
im-online: use new session keys (not upcoming session) ( #3414 )
...
* im-online: use new session keys (not upcoming session)
* node: bump spec_version
* im-online: rename on_new_session queued validator set parameter
2019-08-16 09:58:38 +02:00
André Silva
6bc72cea62
sync: fix peer common number on block announce ( #3410 )
2019-08-15 20:47:09 +02:00
André Silva
6058207935
consensus: refactor aura and babe proposer ( #3377 )
2019-08-15 08:20:39 +02:00
André Silva
70d716dc48
node: exit on GRANDPA voter or BABE authoring error ( #3353 )
...
* node: exit on GRANDPA voter or BABE authoring error
* node: exit process with non-zero return code when service fails
* service: rename infallible task to essential task
* service: revert field name changes
* core: fix service testnet
2019-08-12 15:54:30 +02:00
André Silva
59c88cb2f3
node: setup disabled grandpa properly ( #3356 )
2019-08-09 16:53:44 +02:00
André Silva
98d502466d
node: re-introduce validator flag ( #3351 )
2019-08-09 15:17:52 +02:00
André Silva
44515ed5f9
grandpa: fix catch up test ( #3347 )
2019-08-09 13:46:54 +02:00
André Silva
8f3a68db25
grandpa: fix --no-grandpa flag breaking block production ( #3350 )
2019-08-09 00:53:54 +01:00
André Silva
6565e1f8aa
grandpa: track multiple live rounds in voter set state ( #3298 )
...
* grandpa: track multiple live rounds in voter set state
* grandpa: don't assume rounds are completed in-order
* grandpa: fix tests
* grandpa: don't assume round is being tracked on Environment::completed
* grandpa: fix missing import in test
2019-08-08 09:56:49 +02:00
André Silva
a7c6950f1b
node: fix integration test transaction format ( #3306 )
2019-08-05 21:56:26 +02:00
André Silva
aa86185648
node: use BABE predigest data to find authorship ( #3293 )
...
* node: use BABE predigest data to find authorship
* node: bump spec_version
* babe: use u32 for authority index
2019-08-02 19:52:36 +02:00
André Silva
0aa3bbf202
extend flaming fir version details on README ( #3279 )
2019-08-01 09:42:37 +02:00
André Silva
c1640ef5da
node: update flaming fir chain spec ( #3258 )
...
* node: update BABE authority ids in staging testnet config
* node: update flaming fir chain spec
2019-07-30 22:44:02 +01:00
André Silva
bd052d8da4
babe: Disable unused median calculation ( #3251 )
...
* babe: don't execute median algorithm
* babe: checked sub in median calculation
* node: bump impl_version to make ci happy
* babe: remove forbid dead_code
2019-07-30 22:08:20 +01:00
André Silva
483ad60379
srml: babe: add expected block time and epoch duration constants ( #3241 )
...
* srml: babe: add expected block time constant
* srml: babe: expose epoch duration constant
* node: bump spec_version
* core: don't use moment type in test-runtime
* babe: add docs regarding c parameter
2019-07-30 13:39:33 +08:00
André Silva
2b021ba4f1
node: Update BABE protocol parameters ( #3211 )
...
* node: update babe parameters to target 6 second block time
* node: add comment on MILLISECS_PER_BLOCK constant
2019-07-26 08:19:04 -04:00
André Silva and Kian Peymani
a5efdd05d7
Use milliseconds for timestamp resolution ( #3210 )
...
* node: tabify constants file
* node: define minimum period and slot duration in milliseconds
* core: srml: use milliseconds for timestamp resolution
* core: update slot_duration to millis in tests
* node: bump spec_version
* node: fix integration test
* node: fix executor test
* Update node/runtime/src/lib.rs
Co-Authored-By: Kian Peymani <Kianenigma@users.noreply.github.com >
* node: fix docs on timestamp resolution
* node: add docs on u64 for millis
2019-07-26 08:40:15 +08:00
André Silva
b633f93b00
srml: staking: track session index of current era start ( #3203 )
...
* srml: staking: track session index of current era start
* node: bump spec_version
2019-07-25 14:22:46 +02:00