Commit Graph

14670 Commits

Author SHA1 Message Date
Zeke Mostov b9d03f25da try-runtime-cli: Add execute-block subcommand (#9077)
* Refactor remote_externalities::rpc_api

* try-runtime-cli: Adde `execute-block` subcommand

* Trivial

* Address some comments

* Use required_if & remove header-at usage

* Improve doc

* Update comment

* small tweaks

* add overwrite-code to shared params

* Update utils/frame/try-runtime/cli/src/lib.rs

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* make url a shared param

* add helper for block_at (#9153)

* add helper for block_at

* remove redundant bound

* doc for fn block_at

* Update error message

Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2021-06-22 20:36:12 +00:00
zjb0807 9a1e8af944 Fix CandidateRemoved event (#503) 2021-06-22 18:59:54 +02:00
JesseAbram 5aca3b54d8 min collator check (#498)
* min collator check

* change statemint/mine min candidates

* Ci pass

* Update pallets/collator-selection/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update pallets/collator-selection/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Apply suggestions from code review

* build fixes

* add error messages to errors

* added validator register check

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-22 18:59:14 +02:00
Pierre Krieger 1eca7767fe Add substrate-rpc-subscription to exceptions in alert (#9172) 2021-06-22 16:11:42 +00:00
Robert Klotzner d35d69a475 Add dummy Debug instance to authority discovery service. (#9156)
* Add dummy Debug instance to AuthorityDiscoveryService.

* Update client/authority-discovery/src/service.rs

More idiomatic print

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2021-06-22 13:24:33 +00:00
dependabot[bot] 7880190415 Bump paste from 1.0.4 to 1.0.5 (#3340)
Bumps [paste](https://github.com/dtolnay/paste) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/dtolnay/paste/releases)
- [Commits](https://github.com/dtolnay/paste/compare/1.0.4...1.0.5)

---
updated-dependencies:
- dependency-name: paste
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-22 11:34:40 +00:00
dependabot[bot] 23f1b8ee37 Bump rand_chacha from 0.3.0 to 0.3.1 (#3225)
Bumps [rand_chacha](https://github.com/rust-random/rand) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/rand_chacha-0.3.0...rand_chacha-0.3.1)

---
updated-dependencies:
- dependency-name: rand_chacha
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-22 13:21:56 +02:00
Tomasz Drwięga 8be60821bb Fix allocator waste assessment in docs (#9167)
* Fix allocator comment.

* Add explanations where this comes from.

* Clarify absolute values.
2021-06-22 13:20:29 +02:00
Arkadiy Paronyan 0225640d62 Fast sync companion PR (#3078)
* Fixed build

* Bumped trie-db

* update Substrate

* impl-guide: fix broken links

Co-authored-by: parity-processbot <>
Co-authored-by: Andronik Ordian <write@reusable.software>
2021-06-22 10:48:39 +00:00
Arkadiy Paronyan 77a4b980ae Fast sync (#8884)
* State sync

* Importing state fixes

* Bugfixes

* Sync with proof

* Status reporting

* Unsafe sync mode

* Sync test

* Cleanup

* Apply suggestions from code review

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* set_genesis_storage

* Extract keys from range proof

* Detect iter completion

* Download and import bodies with fast sync

* Replaced meta updates tuple with a struct

* Fixed reverting finalized state

* Reverted timeout

* Typo

* Doc

* Doc

* Fixed light client test

* Fixed error handling

* Tweaks

* More UpdateMeta changes

* Rename convert_transaction

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Code review suggestions

* Fixed count handling

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-06-22 09:32:43 +00:00
Andronik Ordian ffc6f7c731 make ctx.spawn blocking (#3337)
* make spawn sync

* improve error type
2021-06-21 20:43:40 -05:00
Bastian Köcher 9fa5d28e0b Only fetch one collation at a time per relay parent (#3333)
* Only fetch one collation at a time per relay parent

Before a validator would fetch all collations that were advertised to
him. This pr changes the behavior to always just fetch one collation at
a time. If fetching fails, the validator will start fetching one of the
other collations.

* Use enum to be more explicit

* Review comments
2021-06-21 19:51:31 +00:00
Bastian Köcher 3d2931ace5 Remove the streamunordered crate (#3339)
The functionality is now provided by the `futures` crate.
2021-06-21 19:48:33 +00:00
Robert Habermeier 74baed8b39 Chain Selection Subsystem Logic (#3277)
* crate skeleton and type definitions

* add ChainSelectionMessage

* add error type

* run loop

* fix overseer

* simplify determine_new_blocks API

* write an overlay struct and fetch new blocks

* add new function to overlay

* more flow

* add leaves to overlay and add a strong type around leaves-set

* add is_parent_viable

* implement block import, ignoring reversions

* add stagnant-at to overlay

* add stagnant

* add revert consensus log

* flow for reversions

* extract and import block reversions

* recursively update viability

* remove redundant parameter from WriteBlockEntry

* do some removal of viable leaves

* address grumbles

* refactor

* address grumbles

* add comment about non-monotonicity

* extract backend to submodule

* begin the hunt for viable leaves

* viability pivots for updating the active leaves

* remove LeafSearchFrontier

* partially -> explicitly viable and untwist some booleans

* extract tree to submodule

* implement block finality update

* Implement block approval routine

* implement stagnant detection

* ensure blocks pruned on finality are removed from the active leaves set

* write down some planned test cases

* floww

* leaf loading

* implement best_leaf_containing

* write down a few more tests to do

* remove dependence of tree on header

* guide: ChainApiMessage::BlockWeight

* node: BlockWeight ChainAPI

* fix compile issue

* note a few TODOs for the future

* fetch block weight using new BlockWeight ChainAPI

* implement unimplemented

* sort leaves by block number after weight

* remove warnings and add more TODOs

* create test module

* storage for test backend

* wrap inner in mutex

* add write waker query to test backend

* Add OverseerSignal -> FromOverseer conversion

* add test harnes

* add no-op test

* add some more test helpers

* the first test

* more progress on tests

* test two subtrees

* determine-new-blocks: cleaner genesis avoidance and tighter ancestry requests

* don't make ancestry requests when asking for one block

* add a couple more tests

* add to AllMessages in guide

* remove bad spaces from bridge

* compact iterator

* test import with gaps

* more reversion tests

* test finalization pruning subtrees

* fixups

* test clobbering and fix bug in overlay

* exhaustive backend state after finalizaiton tested

* more finality tests

* leaf tests

* test approval

* test ChainSelectionMessage::Leaves thoroughly

* remove TODO

* avoid Ordering::is_ne so CI can build

* comment algorithmic complexity

* Update node/core/chain-selection/src/lib.rs

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2021-06-21 17:39:43 +00:00
Shawn Tabrizi 6b1baba490 Use max_code_size and max_wasm_data_size from Parachains Configuration (#3329)
* use `configuration::config()` for max bytes

* Update integration_tests.rs

* Update paras_registrar.rs

* remove consts

* add asserts for non-zero

* more const clean up

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs

* add checks to `MAX_CODE_SIZE`

* re-pot MAX_POV_SIZE

* check pov limit in runtime

* POV_BOMB_LIMIT multiplier

* fix compile

* Update configuration.rs

* Update node/primitives/src/lib.rs

* fix test

Co-authored-by: Parity Bot <admin@parity.io>
2021-06-21 17:24:49 +00:00
Alexander Popiak 45ed52a273 Export fungibles_adapter Types (#3334)
* export fungibles_adapter types

* formatting
2021-06-21 17:09:54 +01:00
André Silva 5899eedc8c grandpa: don't use block_on in Environment::report_equivocation (#9154)
* grandpa: don't use block_on in Environment::report_equivocation

* grandpa: add issue number to todo
2021-06-21 16:02:08 +00:00
Peter Goodspeed-Niklaus 46ccf17e7c fix some failing ui tests (#9157)
* fix some failing ui tests

* Update frame/support/test/tests/pallet_ui/call_argument_invalid_bound_2.stderr

* Update frame/support/test/tests/pallet_ui/call_argument_invalid_bound_2.stderr

* fix ui test

* fix ui test

* TRYBUILD=overwrite cargo test --workspace -- ui

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2021-06-21 13:12:58 +00:00
Shawn Tabrizi e5831c3db3 New Weights for All Pallets (#9148)
* Create run_benchmarks.sh

* Update run_benchmarks.sh

* new weights

* Delete run_benchmarks.sh

* wrong folder

* remove grandpa weight

* Update weights.rs
2021-06-21 09:57:43 +00:00
Andronik Ordian e74181b16f disable approval-checking voting rule (#3321) 2021-06-20 20:46:04 +00:00
Andronik Ordian 20d9ed06d6 downgrade a warn log to debug (#3319)
* downgrade to debug

* another thick log

* bump spec versions in kusama, polkadot and westend again IV
2021-06-20 16:15:13 +00:00
André Silva fc7f6dbfd9 Companion for substrate#9128 (#3268)
* support async selectchain

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-20 11:39:20 +00:00
Shawn Tabrizi 69ca715506 fix rename (#502) 2021-06-20 13:38:03 +02:00
André Silva 8f733a6c2c use max_block_proposal_slot_portion (#499)
* use max_block_proposal_slot_portion

* remove patch now that Substrate PR is merged

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-06-20 11:05:08 +00:00
André Silva a26ec52450 make SelectChain async (#9128)
* make SelectChain async

* make JustificationImport async
2021-06-20 11:01:09 +00:00
dependabot[bot] 03813cdc10 Bump kvdb-rocksdb from 0.11.0 to 0.11.1 (#3315)
Bumps [kvdb-rocksdb](https://github.com/paritytech/parity-common) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/paritytech/parity-common/releases)
- [Commits](https://github.com/paritytech/parity-common/compare/kvdb-rocksdb-v0.11.0...kvdb-rocksdb-v0.11.1)

---
updated-dependencies:
- dependency-name: kvdb-rocksdb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-20 03:22:08 +02:00
Robert Habermeier 1225963dea Improvements to determine_new_blocks (#3313)
* determine-new-blocks: cleaner genesis avoidance and tighter ancestry requests

* don't make ancestry requests when asking for one block
2021-06-19 19:59:32 -05:00
André Silva 85936d2862 Companion for substrate#9138 (#3294)
* fix babe params

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-19 21:08:00 +00:00
dependabot[bot] a5c6d30ccd Bump env_logger from 0.8.2 to 0.8.4 (#3298)
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.2 to 0.8.4.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.2...v0.8.4)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-19 22:53:16 +02:00
André Silva 650fc2f9c9 slots: slot lenience must take into account block proposal portion (#9138)
* aura, babe: proposal slot lenience must take into account proposal portion

* slots: add support for max_block_proposal_slot_portion

* fix compilation

* slots: add tests

* aura: fix comment

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

* slots: log the actual proposing duration after lenience is applied

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-06-19 20:37:33 +00:00
Andronik Ordian 71c5017967 network-bridge: remove action_sink abstraction (#3308)
* network-bridge: remove action_sink abstraction

* another wtf

* filter out event stream

* Revert "filter out event stream"

This reverts commit 63bd8f5de5b44d415dcb205e1b9fad8145200e06.

* retain cleanup though
2021-06-19 21:08:15 +02:00
Robert Habermeier b70da7bff7 Block weight ChainAPI (#3301)
* guide: ChainApiMessage::BlockWeight

* node: BlockWeight ChainAPI

* fix compile issue

* implement ChainApi::BlockWeight

* add test for ChainApi::BlockWeight

* update substrate

Co-authored-by: André Silva <andrerfosilva@gmail.com>
2021-06-19 19:19:07 +02:00
Andreas Doerr be2d1ce01b Bump BEEFY (#3302) 2021-06-19 17:46:06 +02:00
Shawn Tabrizi 12a2b28541 Fix Max Block Weight (#501)
* fix max block weight

* fix milli per block too
2021-06-19 14:47:05 +02:00
André Silva 0417e4e37f babe: add comments to block weight and expose block_weight function (#9145)
* babe: add comments to block weight and expose block_weight function

* babe: expose function for block weight key
2021-06-19 12:40:53 +00:00
Shawn Tabrizi 039df45f00 New Weights for Polkadot / Kusama / Westend (#3305) 2021-06-19 07:08:05 +02:00
Lldenaurois 5c16c95bd5 Follow-up PR: Count no-shows (#3309)
* node/approval-voting: test for invalid validator index in assignments

This commit adds a unit test to show that, currently, validator indexes
greater than n_validators (or the length of the approvals bitvector) are
counted in n_assignments. In the subsequent commit we will correct this
behavior.

* node/approval-voting: ignore invalid validator indexes in n_assignments

This commit ignores any validator assignments whose index is beyond
n_validators. Without this check, an improperly crafted assignment would
be counted towards the approval.

It still remains that n_assignments and count_no_shows inspect the
number of validators and approvals, respectively. Ideally we would
add greater safety around ensuring these two values cannot differ.
2021-06-19 00:27:02 +00:00
André Silva 90d47870a9 grandpa: restrict grandpa gossip (#9131)
* grandpa: make gossip more conservative (and fair)

* grandpa: make round commit timer dependent on gossip_duration

* grandpa: add gossip tests

* grandpa: reduce variance in tests
2021-06-18 19:31:00 +00:00
Andronik Ordian ad9c02886d improved gossip topology (#3270)
* gossip-support: gossip topology

* some fixes

* handle view update for newly added gossip peers

* fix neighbors calculation

* fix test

* resolve TODOs

* typo

* guide updates

* spaces in the guide

* sneaky spaces

* hash randomness

* address some review nits

* use unbounded in bridge for subsystem msg
2021-06-18 14:30:35 -05:00
cheme 0027f5e248 ensure early drop of proof memory. (#500) 2021-06-18 19:29:42 +02:00
Kian Paimani ae5b355754 Set new staking limits (#3299)
* Set staking limits

* Set westend limits as well

* Update runtime/kusama/src/lib.rs

Co-authored-by: Gavin Wood <gavin@parity.io>

Co-authored-by: Gavin Wood <gavin@parity.io>
2021-06-18 13:16:26 +01:00
dependabot[bot] dc286de7af Bump derive_more from 0.99.11 to 0.99.14 (#3248)
Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.11 to 0.99.14.
- [Release notes](https://github.com/JelteF/derive_more/releases)
- [Changelog](https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JelteF/derive_more/compare/v0.99.11...v0.99.14)

---
updated-dependencies:
- dependency-name: derive_more
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-18 07:28:26 +02:00
Robert Habermeier 7dbf971054 add revert consensus log (#3275) 2021-06-17 16:35:56 -05:00
Hernando Castano 9887b49e8c Add bridge team as codeowners of bridges Subtree (#3291) 2021-06-17 17:13:40 -04:00
Lldenaurois f8ed46f455 Extract and test count_no_shows method for approval voting (#3264)
* node/approval-voting: extract and test count_no_shows method

This commit extracts no_show computation into a pure function so that it can be
extensively unit tested.

* node/approval-voting: ignore invalid validator indexes in count_no_show

Previously indexes that were past the length of the approvals bitvector
would contribute to the no_show count or the next_no_show value. This
commit changes the behavior to ignore garbage values.

* node/approval-voting: add comment for next_no_show adding clock_drift
2021-06-17 21:05:18 +00:00
Andronik Ordian 325cc888b1 cleanup more tests and spaces (#3288)
* cleanup more tests and spaces

* oops
2021-06-17 17:28:10 +00:00
Kian Paimani 50b9c35037 double the allocator limit (#9102)
* double the allocator limit

* 32 MiB should be enough for everybody.

* Update doc

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-06-17 16:01:27 +00:00
Zeke Mostov 6f8c8ec387 Companion #9019 (max rpc payload override) (#3276)
* Companion #9019 (max rpc payload override)

* update Substrate

Co-authored-by: parity-processbot <>
2021-06-17 15:14:06 +00:00
Robert Habermeier 9c7a346e4c Implementers' Guide: Chain Selection (#3262)
* high-level discussion of fork-choice and chain selection

* notes on chain-selection subsystem

* send `Approve` messages from approval-voting

* remove references to candidate-selection

* adjust grandpa voting rule docs

* Update roadmap/implementers-guide/src/node/grandpa-voting-rule.md

Co-authored-by: Lldenaurois <ljdenaurois@gmail.com>

* Update roadmap/implementers-guide/src/protocol-chain-selection.md

Co-authored-by: Lldenaurois <ljdenaurois@gmail.com>

* Update roadmap/implementers-guide/src/protocol-chain-selection.md

Co-authored-by: Lldenaurois <ljdenaurois@gmail.com>

Co-authored-by: Lldenaurois <ljdenaurois@gmail.com>
2021-06-17 15:10:23 +00:00
Bastian Köcher 4c6dc182b2 CLI: Add missing feature checking and check if someone passes a file (#3283) 2021-06-17 16:52:36 +02:00