Commit Graph

308 Commits

Author SHA1 Message Date
JesseAbram a7b44a9eff Add session weight (#477)
* session weight

* decouple session benchmarking and collator selection

* removed mock

* licensing

* benchmarking script

* set benchmarking into runtime

* Update scripts/benchmarks.sh

* real weights

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-08 13:24:19 +02:00
cheme d935b81e70 Compact proof. (#295)
* compact, need to be made optional and look into/compress child trie
roots/state.

* proto with child trie support

* Missing set_offchain_storage overload.

* right name

* Ignore offchain indexing in validation function.

* patch trie-db

* decompress from iter

* use compressed proof

* remove wasm blob from proof (no inject plugged yet)

* change lock

* update trie

* change in toml

* Revert "change in toml"

This reverts commit aa5c56850ef461ce3cb774213a92af4b1dd6cee5.

* use patch to branches

* i

* i:wq

* switch branch

* ii

* ok, needed to patch the runtime by putting substrate patch in polkadot
project.

* test passing with this conf

* actual lazy code fetch

* patch issue

* Code reorg

* restore commented tests.

* update deps.

* remove polka patch

* fixes

* remove patch

* revert cargo.lock

* cargo update -p sp-trie polkadot-service

* fix collator test (using parent state root).

* Update pallets/parachain-system/src/validate_block/implementation.rs

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

* Remove encode_witness test function.

* Update pallets/parachain-system/src/validate_block/implementation.rs

* Fix compilation

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-08 11:51:32 +02:00
Bastian Köcher 794bc23de4 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
Xiliang Chen 33908c1414 update substrate & polkadot (#472)
* update substrate

* try again
2021-06-04 16:43:29 +02:00
e.g. magical unicorn e9a9d6bfd0 Add raw chainspecs for Westmint and Statemine (#470)
* add raw chainspecs

* rename chain specs

* add statemine to accepted --chain values

* fix up westmint chainspec

* fix up westmint chainspec

* add token symbol and decimals to statemine chain spec

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
westmint-v1.0.0 statemine-v1.0.0
2021-06-04 15:12:06 +02:00
Bastian Köcher 5eeb06c583 Update Substrate & Polkadot (#469) 2021-06-03 19:50:18 +02:00
Chevdor 18fa1f5e00 Add srtool + subwasm workflow (#462)
Add github workflow to build the westmint and statemine runtimes with srtool and subwasm

Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
2021-06-03 14:46:43 +02:00
Bastian Köcher d5ea8699f4 Decrease log levels (#464)
It doesn't make sense to log them as a warning, especially when it could
happen that a parachain id could be reused over the lifetime of a relay
chain.
2021-06-03 12:48:28 +02:00
Alexander Popiak 5950432048 Statemine Release Prep (#460)
* set default para id to 1000

* add genesis value generation script

* add statemine chain spec and genesis values

* add westmint chain spec and genesis values

* rename chain specs to _genesis to indicate that they are not usable for syncing the chain

* adjust chain names to reduce confusion

* add westmint chain spec

* set chain id to shell

* comment out statemine chain spec

* fix build

Co-authored-by: joepetrowski <joe@parity.io>
2021-06-02 16:27:46 +02:00
Bastian Köcher b1e5e7dbd1 Do not require the collator key to be passed (#459) 2021-06-02 11:43:45 +02:00
Gavin Wood 64678585ee Bump XCM weight to something more conservative (#458) 2021-06-02 09:22:49 +02:00
Gavin Wood 53b81482d0 Add NFTs to Statemine (#456)
* Add NFTs to Statemine

* Update NFT deposits

* add_benchmark

* add feature flag

* std feature too

* add weights

* add `transfer_ownership` to `NonTransfer` blacklist

* fix merge

* add `approve_transfer` to `NonTransfer` blacklist

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-02 09:00:18 +02:00
joe petrowski ce9dfdff8b add transfer_ownership to NonTransfer blacklist (#457) 2021-06-02 07:29:29 +02:00
Gavin Wood 9d9ed1bc84 Add Statemint (#452)
* Add Statemint

* Versioning.

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Benchmarking

* kick patch (paritytech/statemin#88)

* Westmint Chain Spec (paritytech/statemint#90)

* Tidy the common .toml

* Update weights

* add westmint sudo key comment

* Port consensus stuff

* fix typo

* fix typo ... again

* Recognise Westmint

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-01 21:31:03 +02:00
Bastian Köcher 540e74d33c Update Substrate & Polkadot (#454) 2021-05-31 07:54:31 +02:00
Bastian Köcher 16b7b72271 Check that we have set the validation data inherent (#451) 2021-05-28 23:35:26 +02:00
Bastian Köcher 7ffb205b0d 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
Shawn Tabrizi 36c6da180a rococo-collator -> polkadot-collator (#449) 2021-05-24 11:14:12 +02:00
Bastian Köcher 6565a95343 Some changes for Statemint (#448)
* Make Aura and relay chain verifier buildable

* AHHH

* Ahhh2

* Ahhh3

* Move `ParachainBlockImport`

* Updates because of Substrate

* Revert "AHHH"

This reverts commit 3f7c84327e1036ed71a8e2bd30f6416d32bae5a2.

* Fix warning
2021-05-23 13:29:43 +02:00
Sergei Shulepov 70afaae2cf Slap runtime_version macro everywhere (#444)
* Slap runtime_version macro everywhere

* Update Substrate

This includes the fix of compilation for macOS platforms.
2021-05-19 12:34:02 +02:00
Bastian Köcher 6674430f6e 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 5245525bb2 Fix chain spec handling (#438)
Before when loading a chain spec from a file it was always using the
rococo parachains runtime genesis config. This leaded to problems when
trying to convert a shell chain spec json file to a raw chain spec.
2021-05-13 23:35:15 +02:00
Gavin Wood c515f165e9 Companion for #3010 (Reserve Xfer extrinsic) (#434)
* Companion for #3010 (Reserve Xfer extrinsic)

* cargo update -p xcm

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-05-13 08:07:39 +02:00
Gavin Wood 84bd37817a Companion for #3007 (Track teleported assets) (#436)
* Companion for #3007: Track teleported assets

* Bump

* Try fix the breakage

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-05-12 22:51:28 +02:00
Bastian Köcher eb23023c45 Rename rococo-collator to polkadot-collator (#435)
* Rename `rococo-collator` to `polkadot-collator`

Also contains some other small changes.

* Test fixes and some further search&replace
2021-05-12 17:53:22 +02:00
Gavin Wood 63231bc3eb Companion #2995: Dispatchable for teleporting assets (#431)
* Companion #2995: Dispatchable for teleporting assets

* Fixes

* Fixes

* Fixes

* Fixes

* Bump Substrate

* Bump Polkadot

* Fixes
2021-05-11 15:41:52 +02:00
Bastian Köcher d01bc247cb 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
Keith Yeung 78ad174b15 Upgrade pallets to FRAMEv2 (#404)
* Upgrade parachain info pallet to FRAMEv2

* Upgrade parachain system pallet to FRAMEv2

* Use Pallet<T> instead of Module<T>

* Upgrade XCMP queue pallet to FRAMEv2

* Correctly specify the metadata for events in xcmp-queue pallet

* Apply suggestions from code review

* Update pallets/parachain-system/src/tests.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-05-08 22:18:01 +02:00
Joshy Orndorff af28a85afc Make --collator reusable and imply --validator (#380)
* Reusable RunCmd struct

* wire new run command through service

* Fill in the rest of the methods

* attempt normalization

* Settle on the borrowing approach

* add the normalize call

* bump substrate

* Update client/cli/src/lib.rs

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

* Update docs

* Update client/cli/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-05-06 14:38:25 +00:00
Bastian Köcher b9056fed59 Update Substrate & Polkadot (#428) 2021-05-04 22:32:06 +02:00
Bastian Köcher 6364eeeef1 Update Substrate & Polkadot (#427)
* Update Substrate & Polkadot

* Fixes
2021-05-04 09:48:41 +02:00
Gavin Wood 3f687171c2 DMP Queue pallet (#416)
* Introduce the converter into the hub

* Parachain recognises Rococo governance body as admin

* Whitespace

* Use UsingComponents for fee payment in XCM

* Fixes

* Fixes for XCM permissions

* Remove encode_call test

* Fixes

* Rococo Collator supports Shell runtime

* Fixes

* Fixes

* Initial draft of DMP Queue pallet

* DMP Queue builds.

* Companion for Polkadot gav-allow-xcm-exec

* Bump

* Fix std

* Fixes

* fix and improve docs

* fix compile errors in tests

* add test for try_service_message

* update cargo.lock

* Fixes

* Make test name read well

* Fixes

* Add a couple of simple tests

* Tests

* Tests

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

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

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Chain ID and ParaID don't collide

* Fixes

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

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

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

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

* Fixes

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-05-02 16:11:58 +02:00
Gavin Wood 315c5d1c15 Chain ID and ParaID don't collide (#425) 2021-04-30 17:52:42 +02:00
Gavin Wood 42c18b8cb5 Fix condition (#424)
Closes #419
2021-04-30 15:17:21 +02:00
Gavin Wood 7d315cf9ab Strip down Shell to bare minimum (#421)
* Strip down shell

* Fixes

* Fixes

* Fixes

* Fixes
2021-04-29 18:21:48 +02:00
Gavin Wood 5edcffbcc8 Companion for #2953 (#418)
* Companion for #2953

* Fixes

* Fixes
2021-04-29 00:24:03 +02:00
Sergei Shulepov 3fa1ccc5ef Panic instead of ensure (#413)
Instead of `ensure` with dedicated errors use `panic` or `assert`. See
for details #410

Closes #410

Co-authored-by: Gavin Wood <gavin@parity.io>
2021-04-28 22:22:09 +02:00
Gavin Wood 4f56cc7fb5 Integrate Shell runtime into collator (#414)
* Introduce the converter into the hub

* Parachain recognises Rococo governance body as admin

* Whitespace

* Use UsingComponents for fee payment in XCM

* Fixes

* Fixes for XCM permissions

* Remove encode_call test

* Fixes

* Rococo Collator supports Shell runtime

* Fixes

* Fixes
2021-04-28 18:35:55 +02:00
Gavin Wood 0ab15b2e05 Integrate a governance XCM origin (#407)
* Introduce the converter into the hub

* Parachain recognises Rococo governance body as admin

* Whitespace

* Use UsingComponents for fee payment in XCM

* Fixes

* Fixes for XCM permissions

* Remove encode_call test

* Fixes

* Fixes

* Fixes
2021-04-28 14:41:18 +02:00
Guillaume Thiolliere 859524f2f1 Bump polkadot + fix parachain unnamed field (#412)
* parachain unnamed field

* bump polkadot: cargo udpate -p xcm

* Update lock

* Fixes

* Fixes

Co-authored-by: Gav Wood <gavin@parity.io>
2021-04-27 18:56:08 +02:00
Shawn Tabrizi 2180cf4820 Bump polkadot and substrate deps (#408) 2021-04-25 22:11:33 +02:00
Gavin Wood 689cb16660 Two-stage upgrade for parachains (#392)
* Authorised upgrade doesn't pay fee

* Origin not needed

* Fixes
2021-04-16 12:45:55 +02:00
Cecile Tonglet 8c37b0d450 Runtime upgrade test (#364) 2021-04-16 09:48:13 +02:00
Bastian Köcher 51577808eb Update Substrate & Polkadot (#405) 2021-04-14 22:13:37 +02:00
Gavin Wood 18c9e4e13a Docs (#401) 2021-04-14 10:54:35 +02:00
Gavin Wood 5fe32eb0d4 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
Joshy Orndorff a70ab40cdc Make set_validation_data public (#399) 2021-04-13 21:20:10 +02:00
Bastian Köcher 498595a5b7 Remove pov hash comparison when waiting on a block to announce (#396)
* Remove pov hash comparison when waiting on a block to announce

Internally we get notified on the channel for our candidate anyway.
Besides that polkadot will compress the pov which leads to a different
pov hash and thus, would lead to a failing check on the `pov_hash`.

* Fix

* Fix tests
2021-04-12 19:26:55 +02:00
Bastian Köcher 959f5852ed Approve block announcements of backed blocks (#394)
* Approve block announcements of backed blocks

If we receive a block announcement without a statement attached that
matches the latest backed block, it is valid and we need to approve the
block announcement to download the block.

* Fix tests

* Approve block announcement if it comes from the best known block

* Fetch backed block only when required
2021-04-12 13:54:07 +02:00
Bastian Köcher 605ab2b957 Fix export genesis command (#395) 2021-04-11 10:34:31 +02:00