Commit Graph

16230 Commits

Author SHA1 Message Date
Shawn Tabrizi d5ecec3775 Patch practical usability issues with Society (#4651)
* Add `max_members` to `found`, add society genesis for Substrate node

* Update test

* Use `Option<bool>` rather than `Option<()>`

* Update from feedback
2020-01-17 15:43:09 +01:00
Nikolay Volf ba1d446b48 add missing bits (#4660) 2020-01-17 17:22:00 +03:00
André Silva 1470b55ec7 grandpa: bump finality-grandpa crate to v0.10.3 (#4659) 2020-01-17 14:06:29 +00:00
Max Inden d9837d7dda client/finality-grandpa: Reintegrate periodic neighbor packet worker (#4631)
The `NeighborPacketWorker` within `client/finality-grandpa` does two
things:

1. It receives neighbor packets from components within
`client/finality-grandpa`, sends them down to the `GossipEngine` in
order for neighboring nodes to receive.

2. It periodically sends out the most recent neighbor packet to the
`GossipEngine`.

In order to send out packets it had a clone to a `GossipEgine` within
an atomic reference counter and a mutex. The `NeighborPacketWorker` was
then spawned onto its own asynchronous task.

Instead of running in its own task, this patch reintegrates the
`NeighborPacketWorker` into the main `client/finality-grandpa` task not
requiring the `NeighborPacketWorker` to own a clone of the
`GossipEngine`.

The greater picture

This is a tiny change within a greater refactoring. The overall goal is
to **simplify** how finality-grandpa interacts with the network and to
**reduce** the amount of **unbounded channels** within the logic.

Why no unbounded channels: Bounding channels is needed for backpressure
and proper scheduling. With unbounded channels there is no way of
telling the producer side to slow down for the consumer side to catch
up.  Rephrased, there is no way for the scheduler to know when to favour
the consumer task over the producer task on a crowded channel and the
other way round for an empty channel.

Reducing the amount of shared ownership simplifies the logic and enables
one to use async-await syntax-suggar, given that one does not need to
hold a lock across poll invocations. Using async-await enables one to
use bounded channels without complex logic.
2020-01-17 13:58:25 +01:00
Xiliang Chen b9cc23a6e0 remove unused dependency (#775) 2020-01-17 12:40:31 +00:00
Wei Tang 59140c5932 CODEOWNERS: Add myself to pow and EVM module (#4653) 2020-01-17 11:30:00 +00:00
Nikolay Volf 26a53ac0a4 add debug logs (#4657) 2020-01-17 11:18:38 +01:00
Robert Habermeier 3e17fcfb3d Validation service refactoring (#773)
* add some more docs about statement import

* instantiate environment async

* move attestation service into subfolder

* refactor validation service architecture somewhat

* remove dependence on validation service in proposer

* fix a bunch of warnings

* improve docs

* introduce a builder for the validation service

* extract block production to its own file

* integrate new API into service

* address review grumbles
2020-01-17 10:28:19 +01:00
Stanislav Tkach 482ca522cc Add typedefs for storage types (#4654)
* Add typedefs for storage types

* Fix after merge
2020-01-17 09:20:20 +01:00
Xiliang Chen 20ce6c120c remove unused safe-mix dependency (#4656) 2020-01-17 09:16:20 +01:00
s3krit fb30862d23 Fix release drafting and pending release alerts (#770)
* Fix gitlab release drafting script

Don't scan commit body for PR-like commit messages. Fix warnings from linter,
and take object URL for signing verification from /git/ref/tags rather than hard-coding

* Temporarily Disable GPG verification in pending...

...release alerts. GPG verification of objects is also done before creating the
draft release so this isn't as bad as it sounds

* Temporarily Disable GPG verification in pending...

...release alerts. GPG verification of objects is also done before creating the
draft release so this isn't as bad as it sounds

* Remove accidental GH token leakage 😅
2020-01-16 19:38:10 +01:00
Svyatoslav Nikolsky febf29390a Allow updating configuration of changes tries (#3201)
* DigestItem::ChangesTrieSignal

* introduce changes_trie::State

* introduce config activation block

* ChangesTrieSignal::as_new_configuration

* moved well_known_cache_keys to client

* extracted DbChangesTrieStorage to separate file

* change meaning of none in blockchain cache

* changes trie config (FULL) cache draft

* eliminating const ChangesTrieConfiguration

* delay pruning

* continue elimination

* do not prune CT config from cache

* removed redundant code

* fix some TODOs

* introduce ConfigurationRange

* use Configuration range in build

* build skewed digest

* remove debug print

* extracted surface iterator

* key_changes works with skewed digests

* fix client build

* add test for NeverPrune

* fix TODO

* fixed some TODOs

* more tests

* fixing TODOs

* fixed compilation

* update runtime version

* git rid of large tuple

* too long lines

* config_activation_block -> zero

* obsolete TODO

* removed unjustified expect

* update TODOs with issue number

* new CT pruning algorithm

fixed cache + multiple blocks finalization

track CT configuraiton on light clients

support CT configuration change revert

revert CT config test

new CT pruning algorithm

fixed cache + multiple blocks finalization

track CT configuraiton on light clients

support CT configuration change revert

revert CT config test

* BlockIdOrHeader isn't really required

* removed debug leftovers + some docs

* more docs

* more post-merge fixes

* more post-merge fixes

* revertes some unnecessary changes

* reverted unnecessary changes

* fix compilation + unnecessary changes

* (restart CI)

* fix cache update when finalizing multiple blocks

* fixed tests

* collect_extrinsics -> set_collect_extrinsics

* restore lost test

* do not calculate block number twice

* Update primitives/blockchain/src/error.rs

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* map_err -> unwrap_or

* document get_at Result

* delete abandoned file

* added weight for set_changes_trie_config

* prefer_configs -> fail_if_disabled

* Update client/api/src/backend.rs

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* Update client/db/src/changes_tries_storage.rs

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* CommitOperation+merge -> CommitOperations

* fixed test compilation

* merged two different CTRange structs

* lost file

* uggrade db from v0 to v1 (init CT cache + add column)

* fix after merge

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
Co-authored-by: Gavin Wood <github@gavwood.com>
2020-01-16 17:38:24 +01:00
Ashley b827f3355e asyncify the big collator future (#40)
* Rewrite collator future

* Add future to tests
2020-01-16 17:28:58 +01:00
Bastian Köcher 73bcef09ab Update Substrate & Polkadot (#41) 2020-01-16 17:26:49 +01:00
Robert Habermeier a5d9645bf4 Instantiate environment with asynchronous API (#768)
* point to in-progress Substrate branch

* instantiate environment async

* Fix futures

* Bump runtime

* Fix collation tests

* point to polkadot-master again

* point to polkadot-master again

* update deps

Co-authored-by: Ashley <ashley.ruglys@gmail.com>
2020-01-16 16:09:06 +01:00
Pierre Krieger 45fbf09dac Make the sync_cycle_from_offline_to_syncing_to_offline test non flaky (#4644) 2020-01-16 15:41:26 +01: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
Bastian Köcher afc3318f21 Implement runtime version checks in set_code (#4548)
* Implement runtime version checks in `set_code`

Check that the new runtime code given to `set_code` fullfills some
requirements:

- `spec_name` matches
- `spec_version` does not decreases
- `impl_version` does not decreases
- Either `spec_version` and `impl_version` increase

* Make tests almost work

* Some fixes after master merge

* Fix tests

* Add missed file

* Make depedency check happy?

* Remove leftover `sc-executor`

* AHHHHH

* Reset debug stuff

* Remove some 'static

* More 'static

* Some docs

* Update `Cargo.lock`
2020-01-16 13:58:37 +01:00
Tomasz Drwięga 437772be9e Rename basic-authority to basic-authorship (#4640)
* Rename basic-authority to basic-authorship

* Revert weird tab.

* Fix rename.
2020-01-16 13:57:41 +01:00
Cecile Tonglet 60feeb7ad6 Getting configuration from commands (#4643)
* Expose a method that allows converting RunCmd to Configuration

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP
2020-01-16 13:57:19 +01:00
Nikolay Volf 058e98ef34 use default in-memory for commands that don't use keystore (#4634) 2020-01-16 10:08:05 +01:00
Xiliang Chen 9c59e8a271 fix storage name for crowdfund module (#772) 2020-01-16 09:01:29 +01:00
Bastian Köcher 9f7d5c1ea4 Merge pull request #39 from paritytech/bkchr-safety-violation
Don't finalize the same block multiple times
2020-01-16 08:43:53 +01:00
thiolliere 28fada7daf remove old test (#4637) 2020-01-16 08:00:01 +01:00
Robert Habermeier c7069de044 Make Proposer instantiation potentially async. (#4630)
* Make Proposer instantiation potentially async.

* fix node-service test

* fix basic-authority doc-test

* only block once on futures in test

* use async/await
2020-01-15 21:09:27 +01:00
Gavin Wood d209d0c719 Fix overflow in crowdfunding module (#771)
* Fix overflow in crowdfunding module

* Bump impl version
2020-01-15 20:20:32 +01:00
Weiliang Li ab1be250bc fix some discrepancies in generic-asset (#4221)
* fix generic-asset

* Update lib.rs

* Update lib.rs

* Update lib.rs

* Update lib.rs
2020-01-15 18:54:34 +01:00
Robert Habermeier 69e0cf7fe2 reset a couple of versions down from v2.0 (#4572)
* reset a couple of versions down from v0.2.0

* Unstablise browser-utils (very new) and grafana-data-source (going to be replaced with prometheus sometime)

* unmark a bunch more client crates for stabilization

* fix versions in Cargo.tomls

* Downgrade network-test

* Set frame-metadata version to `10.0.0`

* Hide and documented storage generator as internal api

* Downgrade `sp-externalities`

* Downgrade `sc-cli`

* Downgrade sc-executor et al to 0.8.0

* Downgrade sp-state-machine to 0.8.0

* Downgrade pallet-contracts et al to 0.8.0

* Downgrade sp-sandbox to 0.8.0

* downgrade pallet-evm to 0.8.0

* Downgrade pallet-staking to 0.8.0

2.0 should be implementation of lazy payout alongside all the fixes of
current module

* Downgrade node-transaction-factory to 0.8.0

* frame pallets are 2.0.0

Co-authored-by: Ashley <ashley.ruglys@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Sergei Pepyakin <s.pepyakin@gmail.com>
Co-authored-by: Wei Tang <accounts@that.world>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Marcio Diaz <marcio@parity.io>
2020-01-15 18:35:27 +01:00
Bastian Köcher 14fc05171e Don't finalize the same block multiple times
This fixes the `Safety violation:...` logging.
2020-01-15 16:59:23 +01:00
Shawn Tabrizi 04789bcd35 Return early when fees/balances/values are zero (#4628)
* Return early when fees/balances/values are zero

* Add docs about no-op
2020-01-15 16:37:07 +01:00
Arkadiy Paronyan 95afc7c2fd Remote execution with additional logging (#767) 2020-01-15 16:18:59 +01:00
Bastian Köcher 9ec65c94d7 Some fixes required for Cumulus (#766)
* Add some more bounds

* More bounds

* More fixes

* More fixes
2020-01-15 14:17:55 +01:00
Bastian Köcher 79f91892f9 Merge pull request #33 from paritytech/bkchr-make-it-work-again
Make everything compile and fix tests
2020-01-15 12:22:37 +01:00
Pierre Krieger b2ad4de5c4 Add more logging to the network (#4621) 2020-01-15 11:48:46 +01:00
André Silva 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
Bastian Köcher c412fe876e Overwrite more storage functions 2020-01-15 11:39:27 +01:00
Tomasz Drwięga e58fafc3ef Make offchain worker calls more future proof. (#4618)
* Add warning if offchain workers version is not supported.

* Support only v2.

* Make it a warning.
2020-01-14 22:35:35 +01:00
Bastian Köcher 828447d49c Make everything compile and fix tests 2020-01-14 22:23:16 +01:00
Bastian Köcher c5c73abc05 Add pallet-society and pallet-recovery to substrate node (#4622)
* Add `pallet-society` and `pallet-recovery` to substrate node

* Add `OnReapAccount`

* Fixes and replaces nicks with identity
2020-01-14 20:11:42 +01:00
Robert Habermeier 16043df46f rough draft of parachains roadmap (#740)
* rough draft of parachains roadmap

* flesh out first 2 phases

* Fix typo

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Fix typos and add clarifications

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* remove extra space

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* add XCMP work items

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-01-14 19:14:20 +01:00
Gavin Wood 148909ee98 Update Substrate, introduce Society/Recovery (#757)
* Bump Substrate

* Bump RT version

* Bump substrate, add new modules

* Fix

* Bump Substrate

* Bump impl version

* Address grumbles
2020-01-14 17:49:40 +01:00
Svyatoslav Nikolsky afba48aeba fixed panic on empty remote read request (#4619) 2020-01-14 18:49:46 +03:00
Ashley 3219be2508 Update the service to std futures (#4447)
* Switch service to futures03

* Fix tests

* Fix service test and cli

* Re-add Executor trait to SpawnTaskHandle

* Fix node-service

* Update babe

* Fix browser node

* Update aura

* Revert back to tokio-executor to fix runtime panic

* Add todo item

* Fix service tests again

* Timeout test futures

* Fix tests

* nits

* Fix service test

* Remove zstd patch

* Re-add futures01 to aura and babe tests as a dev-dep

* Change failing test to tee

* Fix node

* Upgrade tokio

* fix society

* Start switching grandpa to stable futures

* Revert "Start switching grandpa to stable futures"

This reverts commit 9c1976346237637effc07c13f7d0403daf5e71cf.

* Fix utils

* Revert substrate service test

* Revert gitlab

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2020-01-14 15:43:45 +01:00
Gavin Wood 972be34e38 Add trivial EnsureFounder verifier to society (#4615)
* Add trivial EnsureFounder verifier to society

* Fix potential panic

* Keep founder account around.

* Cleanups

* Fix.

* Fix tests

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-01-14 15:07:47 +01:00
Bastian Köcher ee5e8050c3 Take genesis_storage by ref (#4617)
Instead of having these weird implementation of `BuildStorage for
&ChainSpec` we should just take the `genesis_storage` by ref. The
`BuildStorage` trait changed some time ago to take a self ref anyway,
instead of a self value.

Also fixes warnings in frame-staking
2020-01-14 11:18:56 +01:00
Kian Paimani 4a353f1e81 custom weight function wrapper (#4158)
* custom weight function wrapper

* dox

* Better tests.

* remove u8 encoding

* Update frame/support/src/weights.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* fix pays fee

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2020-01-14 08:41:18 +01:00
Shawn Tabrizi 5c0bdd339f Additional zero bid logic for Society pallet (#4604)
* Select only one zero bid, better ordering of new bids

* Select zero bid as head

* Update comment

* Update frame/society/src/tests.rs

* Add new test, logic not updated yet

* Implement `put_bid` to order same value bids

Note that this extra logic currently does not do anything per the implementation of `binary_search` in Rust.
2020-01-13 19:00:04 +01:00
Shawn Tabrizi d16d57884a A Social Account Recovery Pallet (#4531)
* Initial sketch of social recovery pallet

* Fix compilation issues

* Use a single total delay, rename stuff

* Check possible overflow

* Copyright bump

* Add mock for tests

* Add basic end to end test

* Add `create_recovery` tests

* Add malicious recovery lifecycle test

* Make clear we check for sorted and unique friends

* Work on some tests, clean up imports

* Change `if let Some(_)` to `ok_or()`

* More tests

* Finish tests, except issue with `on_free_balance_zero`

* Fix `on_free_balance_zero`

* Pallet docs

* Add function/weight docs

* Fix merge master

* OnReapAccount for System too

* Update weight docs

* Allow passthrough to support fee-less extrinsics
2020-01-13 17:52:04 +01:00
Kian Paimani 0cd8d2c2cf Remove wrong assertion from phragmen (#4515)
* remove assertion
2020-01-13 16:48:00 +01:00
Gavin Wood d51c0d589c Bump Substrate (#756)
* Bump Substrate

* Bump RT version
2020-01-13 13:35:04 +01:00