Commit Graph

4187 Commits

Author SHA1 Message Date
André Silva acdcab05f9 node: decrease block production backoff max interval on rococo (#2614) 2021-03-12 12:58:47 +01:00
Bastian Köcher 1778c3ed5f Adds deregister_validators call for propose-parachain (#2615) 2021-03-12 11:35:03 +00:00
Andronik Ordian a543b1d6c3 availability distribution: don't early return on runtime errors (#2606)
* availability distribution: don't early return on runtime errors

* log error

* extract runtime api error from Error

* uh

* oh
2021-03-11 12:47:56 -06:00
Robert Habermeier bd2f5b27dd some more metrics for approval voting (#2612)
* some more metrics for approval voting

* fix tests

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-03-11 17:58:53 +00:00
Robert Habermeier b105d9acc0 more tracing for av-store (#2604)
* more tracing for av-store

* Update node/core/av-store/src/lib.rs

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

* Update node/core/av-store/src/lib.rs

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

* Update node/core/av-store/src/lib.rs

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

* Update tracing everywhere

* Fix build

* More fixes

* Push cargo.lock

* Update

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-03-11 13:12:34 +01:00
Cecile Tonglet 7dfb666ea5 Polkadot companion for #8143 (#2535)
Companion for https://github.com/paritytech/substrate/pull/8143
2021-03-11 12:11:04 +01:00
Robert Habermeier 0fac590b84 avoid reshuffling active validators (#2605) 2021-03-10 17:19:53 -06:00
Robert Habermeier 40a584bebc Better error handling in approval-voting (#2603)
* make approval voting resilient to dropped requests

* some more

* skip whole chain if encountering spurious error
2021-03-10 14:53:12 -06:00
André Silva b360360544 runtime: use babe as randomness source (#2504)
* runtime: use babe as randomness source

* runtime: fix randomness api

* bridges: fix random_seed

* parachains: use mock TestRandomness from frame_support_test

* parachains: use mock TestRandomness from frame_support_test

* runtime: update randomness source in test-runtime

* runtime: remove unused import

* parachains: add todo to audit usage of randomness api

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-10 17:22:59 +00:00
Robert Habermeier 9331e06eda remove statement::invalid (#2597) 2021-03-10 10:31:17 -06:00
Tomasz Drwięga 639dcc2e75 Companion for #8137 (MMR Custom RPC) (#2463)
* Switch branch

* Fix compilation.

* Revert "Switch branch"

This reverts commit a3bd3621772ae98618c46102d03501856b7950ba.

* Update Cargo.lock.

* Add telemetry span back.

* Fix telemetry_span issues.

* Update substrate.
2021-03-10 16:20:30 +00:00
Andronik Ordian baa691deb1 prefix parachain log targets with parachain:: (#2600)
* prefix parachain log targets with parachain::

* even more consistent
2021-03-10 17:07:56 +01:00
Ashley 956be35dd4 Companion PR for substrate PR 8072 - Add a config field to babe epochs (#2467)
* Add a config field to babe epochs

* Fix test

* Add BABE_GENESIS_EPOCH_CONFIG consts

* Use PrimaryAndSecondaryVRFSlots and remove newlines

* Make epoch_configs Some

* Fix tests

* Fix test service tests

* Add a BabeEpochConfigMigrations OnRuntimeUpgrade

* Apply suggestions

* Use PrimaryAndSecondaryPlainSlots in kusama

* Remove migration from test runtime and rococo

* Add HasPalletPrefix

* Rename to BabePalletPrefix and change BabeApi -> Babe

* "Update Substrate"

* Update substrate

* Resolve parantheses errors

Co-authored-by: parity-processbot <>
2021-03-10 09:39:08 +00:00
Andronik Ordian 287604cf7e approval-voting metrics (#2483)
* approval-voting metrics

* metric: approvals produced
2021-03-09 15:32:31 -06:00
Bastian Köcher b3dec9017b Substrate companion #8280 (#2578)
* Substrate companion #8280

https://github.com/paritytech/substrate/pull/8280

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-09 19:43:31 +00:00
Robert Habermeier 8b4f46d2df Configurable maximum validators (#2586)
* guide: max_validators

* guide: new approach

* restrict validators based on configurable max

* add some tests

* fix wasm build (Vec)

* clean up warnings

* add logging

* set validator indices in tests as well

* fix common tests

* Update runtime/parachains/src/util.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-03-09 18:38:55 +00:00
Robert Habermeier 30e4a67f0c Add some magic to signed statements and approval votes (#2585)
* add a magic number to backing statements encoded

* fix fallout in statement table

* fix some fallout in backing

* add magic to approval votes

* remove last references to Candidate variant

* update size-hint
2021-03-09 17:17:30 +00:00
Shaun Wang d859734ed9 Replace XCM Error::Undefined usage (#2580)
* Replace undefined error in currency adapter.

* Update tranact asset errors.

* Update TransactAsset trait documentations.

* Update currency adapter error documentation.
2021-03-09 15:46:30 +01:00
Pierre Krieger 2e34eed312 Make Substrate deps uniform (#2589) 2021-03-09 11:31:33 +00:00
Robert Klotzner b6a78d2976 Mostly, let guide reflect #2579 (#2583)
* Statement distribution is now validator only.

* Avoid Arc creation where it is not necessarily needed.
2021-03-09 01:46:24 +01:00
Amar Singh 5b3fa6f7f6 add accountkey20 conversion impls (#2576) 2021-03-07 17:54:30 -04:00
Bastian Köcher 1251a7187c Substrate companion #8275 (#2575)
* Substrate companion #8275

https://github.com/paritytech/substrate/pull/8275

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-06 14:08:22 +00:00
Pierre Krieger 13f60fee2f Make warning nicer (#2569) 2021-03-05 12:44:18 +00:00
Pierre Krieger 3d54a759fe Print an error if a collator connects to a node without real-overseer (#2563)
* Print an error if a collator connects to a node without real-overseer

* Update node/service/src/lib.rs

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-03-05 12:41:35 +01:00
Xiliang Chen b604ecdce1 add log message when real-overseer is enabled (#2565) 2021-03-05 08:11:47 +01:00
Robert Klotzner c0347f026a Jaeger spans for availability distribution (#2559)
* Logging functionality for spans.

* Jaeger spans for availability distribution.

* Fix instrumentation to use log target properly.

* Add some tracing instrumentation macros.

* Use int_tags instead of logs.

* Add span per iteration.

* Remove span::log functionality.

* Fix instrumentation log target for real.

* Add jaeger span to responding side as well.

* Revert "Fix instrumentation log target for real."

This reverts commit e1c2a2e6ff6f257e702f07d8a77c2668af92b0ef.

* Revert "Fix instrumentation to use log target properly."

This reverts commit 7caa0bd1acc6fe9727bb3a91851560d756c40ab8.

* target -> subsystem in instrumentatio macro

target is not correct either, and the correct way of using a top level
target = LOG_TARGET does not work, as the macro expects a string literal
and gets confused by the constant `LOG_TARGET`.

* Use kebab-case for spa names.

Co-authored-by: Andronik Ordian <write@reusable.software>

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-03-04 17:03:24 +00:00
Robert Klotzner 95f1b09b65 Fix links in docs. (#2556) 2021-03-04 13:58:56 +00:00
Andronik Ordian 1bec8cfed9 bump spec versions in kusama, polkadot and westend again (#2557) 2021-03-04 14:28:14 +01:00
Robert Klotzner 8206a77164 Guide update for availability distribution. (#2554)
* Guide update for availability distribution.

* Link fix.

* Hopefully fixed implementers guide build.
2021-03-03 09:54:27 -06:00
Robert Klotzner 78ac4b7add Whole subsystem test for new availability-distribution (#2552)
* WIP: Whole subsystem test.

* New tests compile.

* Avoid needless runtime queries for no validator nodes.

* Make tx and rx publicly accessible in virtual overseer.

This simplifies mocking in some cases, as tx can be cloned, but rx can
not.

* Whole subsystem test working.

* Update node/network/availability-distribution/src/session_cache.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* Update node/network/availability-distribution/src/session_cache.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* Document better what `None` return value means.

* Get rid of BitVec dependency.

* Update Cargo.lock

* Hopefully fixed implementers guide build.

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-03-03 16:23:15 +01:00
Bastian Köcher ae3ee5ed7f Companion for ExecuteBlock changes in Substrate (#2548)
* Companion for `ExecuteBlock` changes in Substrate

https://github.com/paritytech/substrate/pull/8244

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-03 09:13:56 +00:00
Bastian Köcher b55e63272d Initialize telemetry earlier (#2549)
This fixes a bug in block import not reporting to the telemetry.
2021-03-02 18:51:16 +00:00
Andronik Ordian 4c1de66d5d subsystem for issuing background connection requests (#2538)
* initial subsystem for issuing connection requests

* finish the initial impl

* integrate with the overseer

* rename to gossip-support

* fix renamings leftover

* remove run_inner

* fix compilation

* random subset of sqrt
2021-03-02 10:40:06 +00:00
Tomasz Drwięga 5169155f94 Adding Bridges code as git subtree. (#2515)
* Add instructions.

* Squashed 'bridges/' content from commit 345e84a21

git-subtree-dir: bridges
git-subtree-split: 345e84a2146b56628e9888c9f5e129cb40e868a9

* Remove bridges workspace file to avoid confusing Cargo.

* Add some bridges primitives to Polkadot workspace.

* Improve docs.
2021-03-01 22:33:16 +01:00
Bastian Köcher 7a2c7aa3fe Companion for init the RuntimeLogger automatically (#2522)
* Lol

* Add the features

* Remove some more runtime logger init calls

* Make companion check work

* Revert "Make companion check work"

This reverts commit a255c798076466c0fa20a4db713fc712772c2b4d.

* Update Substrate
2021-03-01 16:15:34 +01:00
Shaun Wang 135cce9055 Add Xcm sender. (#2489)
* Add Xcm sender.

* Rename XCM sender and add description.

* Update copyright header.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-03-01 14:25:55 +01:00
Gavin Wood c4b89e11da Companion for Substrate #8120 (#2541)
* add remark_with_event

* Bump Substrate

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

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

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

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

Co-authored-by: Bryan Chen <xlchen1291@gmail.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-02-28 11:13:49 -04:00
Shaun Wang 77549ca910 Add events for hrmp pallet. (#2532)
* Add events for hrmp pallet.

* Apply review suggestions.
2021-02-27 02:04:14 +00:00
Shaun Wang 44bba9531d Fix links in CONTRIBUTING.md (#2539) 2021-02-26 22:03:07 -04:00
Andronik Ordian 7530a0c432 validator_discovery: some logs to help identify authority discovery issues (#2533) 2021-02-26 12:06:23 -06:00
Robert Klotzner 48409e5548 Request based availability distribution (#2423)
* WIP

* availability distribution, still very wip.

Work on the requesting side of things.

* Some docs on what I intend to do.

* Checkpoint of session cache implementation

as I will likely replace it with something smarter.

* More work, mostly on cache

and getting things to type check.

* Only derive MallocSizeOf and Debug for std.

* availability-distribution: Cache feature complete.

* Sketch out logic in `FetchTask` for actual fetching.

- Compile fixes.
- Cleanup.

* Format cleanup.

* More format fixes.

* Almost feature complete `fetch_task`.

Missing:

- Check for cancel
- Actual querying of peer ids.

* Finish FetchTask so far.

* Directly use AuthorityDiscoveryId in protocol and cache.

* Resolve `AuthorityDiscoveryId` on sending requests.

* Rework fetch_task

- also make it impossible to check the wrong chunk index.
- Export needed function in validator_discovery.

* From<u32> implementation for `ValidatorIndex`.

* Fixes and more integration work.

* Make session cache proper lru cache.

* Use proper lru cache.

* Requester finished.

* ProtocolState -> Requester

Also make sure to not fetch our own chunk.

* Cleanup + fixes.

* Remove unused functions

- FetchTask::is_finished
- SessionCache::fetch_session_info

* availability-distribution responding side.

* Cleanup + Fixes.

* More fixes.

* More fixes.

adder-collator is running!

* Some docs.

* Docs.

* Fix reporting of bad guys.

* Fix tests

* Make all tests compile.

* Fix test.

* Cleanup + get rid of some warnings.

* state -> requester

* Mostly doc fixes.

* Fix test suite.

* Get rid of now redundant message types.

* WIP

* Rob's review remarks.

* Fix test suite.

* core.relay_parent -> leaf for session request.

* Style fix.

* Decrease request timeout.

* Cleanup obsolete errors.

* Metrics + don't fail on non fatal errors.

* requester.rs -> requester/mod.rs

* Panic on invalid BadValidator report.

* Fix indentation.

* Use typed default timeout constant.

* Make channel size 0, as each sender gets one slot anyways.

* Fix incorrect metrics initialization.

* Fix build after merge.

* More fixes.

* Hopefully valid metrics names.

* Better metrics names.

* Some tests that already work.

* Slightly better docs.

* Some more tests.

* Fix network bridge test.
2021-02-26 11:58:07 -06:00
Andronik Ordian 241b1f12a7 make runtime_api non blocking task again (#2531) 2021-02-26 12:04:58 +01:00
Bernhard Schuster 05f74c2171 do not expect on unbounded send (#2530) 2021-02-26 10:46:16 +01:00
Bernhard Schuster 31327eb0c7 test: add unit test to catch missing distribution to subsystems faster (#2495)
* test: add unit test to catch missing distribution to subsystems faster

* add a simple count

* introduce proc macro to generate dispatch type

* refactor

* refactor

* chore: add license

* fixup unit test

* fixup merge

* better errors

* better fmt

* fix error spans

* better docs

* better error messages

* ui test foo

* Update node/subsystem/dispatch-gen/src/lib.rs

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

* Update node/network/bridge/src/lib.rs

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

* Update node/subsystem/Cargo.toml

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

* Update node/subsystem/dispatch-gen/src/lib.rs

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

* Update node/subsystem/dispatch-gen/src/lib.rs

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

* Update node/network/bridge/src/lib.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* fix compilation

* use find_map

* drop the silly 2, use _inner instead

* Update node/network/bridge/src/lib.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* Update node/subsystem/dispatch-gen/src/lib.rs

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

* nail deps down

* more into()

* flatten

* missing use statement

* fix messages order

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Andronik Ordian <write@reusable.software>
2021-02-26 08:10:41 +00:00
Xiliang Chen 69734bb8ed Add an optional verifier to crowdloan (#2248)
* Add an optional verifier to crowdloan

* add tests

* verify signatures

* benchmark with signatures

* update crowdloan benchmark

* try to get keystore working in test

* rewrite to avoid traits

* Use MultiSignature and MultiSigner

* refactor and update benchmarks

* optimize check order

* fix no_std build

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-02-26 08:26:54 +01:00
Robert Habermeier 49705026e0 some initial spans for approval voting (#2525)
* some initial spans for approval voting

* add stage earlier
2021-02-25 17:56:50 +00:00
Andronik Ordian 4e3dba91be small cleanup after #2518 (#2527) 2021-02-25 14:00:20 +01:00
André Silva 2f6cadf359 Companion for Substrate #8148 (#2523)
* Pass shared_authority_set to request_response_config_for_chain

* "Update Substrate"

Co-authored-by: Ashley Ruglys <ashley.ruglys@gmail.com>
Co-authored-by: parity-processbot <>
2021-02-25 09:16:59 +00:00
Robert Habermeier ae218bb608 make runtime API and chain API subsystems blocking too (#2526) 2021-02-25 07:26:49 +00:00
Bastian Köcher 327a203dc7 Companion for Substrate #8185 (#2507)
* Companion for Substrate #8185

https://github.com/paritytech/substrate/pull/8185

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-02-24 22:31:54 +01:00