Commit Graph

79 Commits

Author SHA1 Message Date
Bastian Köcher 035f7cee9f pov-recovery: Enable pov-recovery as well on full nodes (#927)
* pov-recovery: Enable pov-recovery as well on full nodes

Pov recovery was before only enabled for collators. The reason behind this was prevention of spam of
the relay chain for block recovery. However, recent events has shown that this wasn't a good idea.
So, this pr enables pov-recover for normal full nodes as well, but with a much higher delay before
trying to recover a block. This means that full nodes will wait in minimum 2.5 minutes and in
maximum 5 minutes before recovering a block. This should give collators in "normal mode" enough time
to recover a block (they wait in maximum 6 seconds after they have seen a new candidate in the relay
chain) before recovering a block. So, we should hopefully not spam the relay chain.

* FMT

* Fixes

* Fix documentation
2022-01-21 20:16:11 +01:00
sandreim 599da09a40 Companion for #4639 (Remove sleep from tests ) (#890)
* fix tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update lockfile for polkadot

Co-authored-by: parity-processbot <>
2022-01-10 11:33:10 +00:00
Adrian Catangiu 76fdc9d11a Cumulus companion for substrate #10463 (#870)
* Companion for substrate #10463

* update lockfile for substrate

* update lockfile for polkadot

Co-authored-by: parity-processbot <>
2022-01-05 20:33:23 +00:00
Bastian Köcher 75db7f7f7e Fix transaction benchmark (#886)
We need to give the accounts more coins!!
2022-01-04 23:59:58 +01:00
Bastian Köcher 7fb70d7530 Fix solo to para custom header return (#882)
* Adds an integration test for testing the migration

* Fix the custom validation header use case
2022-01-03 20:14:14 +01:00
cheme 0256fe73c0 Companion for substrate#9732 (#678)
* state-update4 branch

* new ref

* Update to latest.

* update deps

* switch to host state version

* update

* fmt

* up

* remove trie patch

* remove patch

* fmt

* update

* set state_versions in runtimes

* state version from storage

* state version from storage

* seedling compat

* restore lock

* update lockfile for substrate

* update lockfile for polkadot

Co-authored-by: parity-processbot <>
2021-12-24 11:28:43 +00:00
Sebastian Kunert 876e594f59 Introduce interface for relay chain interaction (#835) 2021-12-22 19:02:11 +01:00
Keith Yeung d78ea860ec Update serde to 1.0.132 (#871) 2021-12-21 09:15:50 +01:00
Gavin Wood 0f10bb0aea Companion for #10403: Remove Default for AccountId (#842)
* author is Some

* Bump

* Lockfile

* Fixes

* Fixes

* Fixes

* Fixes

* Bump

* Update Cargo.lock

* bump substrate and polkadot

* fmt

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-12-14 09:07:51 +00:00
Bastian Köcher f68c46ef2e Test-runtime: Support changing the ParaId. (#858)
Adds support for changing the para id relative easily. While this is currently not needed, we may
need it at some later point.
2021-12-13 14:46:40 +01:00
Bastian Köcher f175a25793 Fix benchmarks and ensure CI tests them (#854)
* Fix benchmarks and ensure CI tests them

* FMT
2021-12-12 23:17:15 +01:00
Keith Yeung 308cb3e76b Update serde to 1.0.131 (#853) 2021-12-11 14:10:51 +01:00
Bastian Köcher 6c6802b67c Update to latest Polkadot & Substrate (#850)
* Update to latest Polkadot & Substrate

* More fixes
2021-12-10 12:08:41 +01:00
Keith Yeung 9e9ff9e5d0 Add CheckNonZeroSender to runtime configs (#847)
* Add CheckNonZeroSender to runtime configs

* cargo update -p polkadot-primitives

* Fixes

* Fixes
2021-12-09 14:53:51 +01:00
Bastian Köcher 32a86d8ef4 Adds support for returning a custom header from validate_block (#825)
* Adds support for returning a custom header from `validate_block`

This adds support for returning a custom header from `validate_block`. Before this, we always
returned the header of the block that was validated (and still do it by default). However, after
this pr it is possible to set a custom header or better custom head data that will be returned
instead from `validate_block`. This can be for example when a chain wants to fork.

* FMT
2021-12-03 12:49:13 +01:00
Bastian Köcher 801c1bef0a Update Substrate & Polkadot (#770)
* Update Substrate & Polkadot

* Disable tests without debug assertions
2021-11-19 23:46:14 +01:00
Dan Shields 70923da617 move to rust 2021 (#759)
* move to rust 2021

* fix formatting, more moves
2021-11-16 15:12:06 +01:00
Arkadiy Paronyan b2d9102b0d Update for latests substrate & polkadot (#756)
* Update for latests substrate & polkadot

* fmt
2021-11-12 16:45:09 +01:00
sandreim 5f5190625d Companion to substrate #10196 - Add group name in task metrics (#732)
* Use blank task group name

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* cargo fmt

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Update

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update Cargo.lock and switch from 0.9.12 to master

* format with LATEST nightly

Co-authored-by: Andronik Ordian <write@reusable.software>
2021-11-11 19:41:36 +00:00
Dan Shields 3284976a1b Tweaks from template downstream review #80 (#705)
* tweaks from template downstream review #80

* more tweaks

* Update parachain-template/node/src/command.rs

* tweaks to template and other chainspecs

* fmt

* update more tweaks from downstream

* fix build
2021-11-11 19:20:39 +00:00
Sebastian Kunert 2691e1928e Port transaction pool benchmark (#738)
Adds a benchmark to measure transaction throughput.
2021-11-11 10:30:54 +01:00
Bastian Köcher ae12a80b35 Rework the runtime upgrade test (#727)
* Rework the runtime upgrade test

* Update test/service/tests/runtime_upgrade.rs

* Update test/service/tests/runtime_upgrade.rs

* Update Cargo.lock

* FMT

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-11-09 15:02:34 +01:00
Andronik Ordian ce1a110574 update polkadot (#664) 2021-10-15 10:03:31 +02:00
Bastian Köcher abe7ce3028 Update Substrate & Polkadot (#660) 2021-10-14 11:03:36 +02:00
Keith Yeung eeca16388c Use DecodeLimit for decoding XCM messages (#605)
* Use DecodeLimit for decoding XCM messages

* Use decode_all_with_depth_limit in appropriate places

* Use decode_all while decoding byte vector

* cargo fmt
2021-09-19 15:29:34 +03:00
Chevdor 6b20f7a2c5 ci: add quick-check with rustfmt (#615)
* ci: add quick-check with clippy and rustfmt

* chore: rustfmt round

* chore: set the same rustfmt config than substrate

* chore: fix formatting

* cI: remove clippy

* ci: switch to nightly for the checks

* ci: fix toolchains and naming

* ci: Limit the check to formatting

* chore: fix formatting

* Update .rustfmt.toml

* Update .rustfmt.toml

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-09-16 16:57:52 +02:00
Andrew Jones e3eb3a0a12 Metadata v14 (companion to #3336) (#564)
* Remove event pallet::metadata attributes

* Add scale-info deps, TypeInfo derives, update call variants

* Update metadata runtime APIs

* Add missing scale_info dependency, update rococo runtime API

* Add missing scale_info dependency

* Remove pushed diener patches

* Cargo.lock

* Add missing scale-info dependencies

* Fixes

* Statemint runtime fixes

* Call struct variant empty matches

* Add missing scale-info dependency

* Fixes

* scale-info 1.0

* cargo update -p xcm

* update lock

* Update Cargo.lock

* update to latest polkadot

* remove rpc_http_threads

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

* replace task executor with tokio handler

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

* fix test compilation?

* Update Cargo.lock

* cargo update

* remove unused

* Update substrate and polkadot

* Update test/client/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-09-16 12:11:05 +02:00
Bastian Köcher 7364a773ef Upgrade Substrate & Polkadot (#612) 2021-09-16 06:57:29 +02:00
Squirrel 127b2608ec less deps (#606) 2021-09-12 23:22:14 +02:00
Gavin Wood e3e6855490 Bump Tokio to 1.10 (#592)
* Bump Tokio to 1.10

* Missed one
2021-08-28 14:33:56 +00:00
Bastian Köcher 2a3fa819eb Upgrade Substrate & Polkadot (#583) 2021-08-22 21:22:36 +02:00
Keith Yeung da5634a712 Use new MultiLocation syntax everywhere (#570)
* Use new MultiLocation syntax everywhere

* Make tests compile
2021-08-12 11:26:49 +02:00
Bastian Köcher 1866657e2c Disable integration tests outside of CI (#565) 2021-08-07 23:03:12 +02:00
Bastian Köcher 9a0cfd9117 Update Substrate & Polkadot (#563) 2021-08-05 20:53:32 +02:00
Bastian Köcher 6c0abc6f7d Update Substrate & Polkadot (#557)
* Update Substrate & Polkadot

* Format

* Update again
2021-08-03 11:59:37 +02:00
Bastian Köcher 9b85b5117e Bring back runtime upgrade test (#525)
This brings back the runtime upgrade test and also updates Substrate &
Polkadot.
2021-07-06 16:21:19 +02:00
Bastian Köcher a6bd34545e Update Substrate & Polkadot (#523) 2021-07-05 23:35:28 +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
Sergei Shulepov 1f3458a0e3 WIP: Update Substrate & Polkadot (#496)
* WIP: Update Substrate

* Update Substrate & Polkadot

* fixes

* more fixes

* few missing origins

* use spawn_essential_handle

* bump polkadot dep

* remove newlines

* fix test

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-17 09:37:03 +02:00
Bastian Köcher d6f06bf5d9 Adds support for checking the timestamp inherent while validating a block (#494)
* Adds support for checking the timestamp inherent while validating a block

This adds support for checking the timestamp inherent while validating a
block. This will use the relay chain slot number * relay chain slot
duration to calculate a timestamp. This timestamp is used to check the
timestamp in the timestamp inherent.

* Update polkadot-parachains/rococo-runtime/src/lib.rs

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

* Update polkadot-parachains/statemine-runtime/src/lib.rs

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

* Update primitives/timestamp/src/lib.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Fix warnings

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-06-16 10:53:47 +02:00
Guillaume Thiolliere b36e4dbca5 update substrate/polkadot with construct_runtime changes (#485)
* update substrate/polkadot with construct_runtime changes

* fix update

* Fixes

* More fixes

* fix test, but might be wrong fix

Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-10 17:50:09 +02:00
Bastian Köcher acb2bc4f00 Do not include :code in the storage proof if not required (#480)
This is basically a hack that prevents the inclusion of `:code` in the
storage proof. A proper fix requires some changes to the trie crate to
not include nodes that aren't read.
2021-06-07 16:17:19 +02:00
Bastian Köcher ba81b0b56c Do not require the collator key to be passed (#459) 2021-06-02 11:43:45 +02:00
Bastian Köcher 5b2bc585de Update Substrate & Polkadot (#454) 2021-05-31 07:54:31 +02:00
Bastian Köcher 07b3c44be8 Pov recovery for parachains (#445)
* Start with a failing integration test & some refactorings

* More work

* Make it "work"

* Add `NullConsensus` for the test

* More refactorings

* Move stuff over to its own crate

* Refactorings

* Integrate it into `service` and make the test working

* Docs and some exit condition

* Use the real import queue

* Fix tests

* Update client/pov-recovery/src/active_candidate_recovery.rs

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

* Fetch slot duration from the relay chain

* Docs

* Fixes

Co-authored-by: Bernhard Schuster <bernhard@ahoi.io>
2021-05-26 15:02:42 +02:00
Bastian Köcher d458d2622b Introduce CollectCollationInfo runtime api (#443)
* Introduce `CollectCollationInfo` runtime api

Instead of using well known keys to communicate information about a
collation between the runtime and the collator, we now use a runtime api
for this.

* Fixes bug

* Apply suggestions from code review

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* Doc update

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-05-17 16:33:33 +02:00
Bastian Köcher 8accc88e76 Aura consensus for parachains (#371)
* Update polkadot

* Migrate all uses of MQC heads to merkle proofs

* Mass rename `relay_parent_storage_root`

* Restore parachain-system tests

* Update polkadot and libp2p swarm for testing

* Collapse match into an if let

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

* Start with something

* Update Substrate & Polkadot

* Start to make it compile

* Make it compile

* Begin with something

* Yep

* I'm a hacker

* Bring back the builder

* Make it work in some way

* Compile

* Parachains use their own "slot"

* Adds cumulus-pallet-aura

* Wrap AuRa import queue to disable equivocation checking by default

* Pass slot duration

* Check the seal when validating a block

* Adds missing file

* Try to make the seal working

* Fix it

* Some fixes

* Bring in the latest features to cleanup the code

* Update and make it compile

* Improve the import

* Start fixing

* More work

* Fix fix fix

* Make everything compile

* Small cleanups

* Rename and more docs

* Docs

* Fixes fixes fixes

* Update rococo-parachains/src/chain_spec.rs

* Update client/consensus/aura/src/lib.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update client/consensus/aura/src/lib.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update primitives/parachain-inherent/Cargo.toml

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update primitives/parachain-inherent/Cargo.toml

* Update primitives/parachain-inherent/Cargo.toml

* Update primitives/parachain-inherent/Cargo.toml

Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-05-10 14:43:00 +02:00
Bastian Köcher 530c95d2df Update Substrate & Polkadot (#427)
* Update Substrate & Polkadot

* Fixes
2021-05-04 09:48:41 +02:00
Cecile Tonglet 0831f74fe3 Runtime upgrade test (#364) 2021-04-16 09:48:13 +02:00
Gavin Wood 86f9a99184 XCM revamp & Ping pallet (#391)
* Add spambot

* Fixes

* Add some extra functions to spambot, bump version

* Lock..

* Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.

* Fix tests, bump Polkadot.

* Fix HMP tests

* Rename Hrmp -> Xcmp for handler/sender

* Use master branch

* Test Xcm message passing & rename away from HMP

* Docs

* Introduce fee payment mechanics into XCM.

* Rename spambot -> ping

* Lock

* XCMP message dispatch system reimagining

- Moved most of the logic into xcm-handler pallet
- Altered the outgoing XCMP API from push to pull
- Changed underlying outgoing queue data structures to avoid multi-page read/writes
- Introduced queuing for incoming messages
- Introduced signal messages as a flow-control sub-stream
- Introduced flow-control with basic threshold back-pressure
- Introduced overall weight limitation on messages executed
- Additonal alterations to XCM APIs for the new system

* Should process any remaining XCM messages when we're not doing anything else.

* Update API usage and preparation for the big build.

* Some build fixes

* Build fixes

* xcm-handler builds

* Fix warnings

* Docs

* Parachains system builds

* Parachain runtime building

* Fix build

* Introduce transfer_asset specialisation.

* Fixes

* Two-stage upgrade for parachains.

* Fixes

* Fixes

* Updates for message sending.

* Repotting/renaming. Add primitives/utility.

* Remove real-overseer and bump refs

* Configure & document Rococo XCM runtime.

* Add shell runtime, some companion changes for #8589

* Bumps & fixes

* Fix test

* Build fix

* Update pallets/xcmp-queue/src/lib.rs

Co-authored-by: Amar Singh <asinghchrony@protonmail.com>

* Make tests compile

* Apply suggestions from code review

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

* remove unused

* remove unused event stuff

* Adds proper validation-worker to make integration tests work

* 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>

* import saturating

* remove panic test

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-04-14 09:36:59 +02:00