Commit Graph

654 Commits

Author SHA1 Message Date
Bastian Köcher 9dc7cc5735 Wait for block import in parachain consensus (#271)
* Wait for block import in parachain consensus

There was a bug in the parachain consensus that when importing a relay
chain block that sets a new best parachain block, but the required
parachain block was not yet imported. This pr fixes this by waiting for
the block to be imported.

* Finish docs
2021-01-05 22:14:27 +00:00
Bastian Köcher d51f1d8563 Update to latest Substrate & Polkadot (#280)
* Update to latest Substrate & Polkadot

* Update the chain specs

* Update polkadot properly...

* Update chainspecs again...

* Again...
2021-01-05 22:33:31 +01:00
lumir-mrkva 30021251fc upgrade to latest polkadot (#278)
* upgrade to latest polkadot

* ss58 in tests

* format

* removed unused import
2021-01-04 00:22:17 +01:00
Bastian Köcher cd0e40a6eb Rococo V1 (#268)
* Update

* Update the chain specs

* Update to latest master & master

* add current tick bootnodes

* Update again

* Add track bootnodes

* add trick and track bootnodes

* Update the chain specs

* Update

Co-authored-by: Erin Grasmick <erin@parity.io>
2020-12-22 10:00:58 +01:00
Sergei Shulepov f0315a16d3 Plumb polkadot backend into cumulus-collator (#269)
* The problem in the nutshell

* Make it compile

* make tests pass

* Update the parachain-upgrade module

* Fix collator tests

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-12-21 20:27:54 +01:00
Bastian Köcher bfad1abe8b Update to latest master 2020-12-18 12:45:06 +01:00
Shawn Tabrizi afc50e8ade Add XCM Handler (#267)
* initial mock

* integrate xcm-handler into runtime

* expose xcm send error

* oops

* better comment
2020-12-17 18:42:00 +01:00
Alexander Krupenkin 8226063135 Update to latest polkadot & substrate (#266) 2020-12-16 10:50:05 +01:00
Sergei Shulepov c84c9b6bb0 Integrate HRMP (#258)
* HRMP message ingestion

* Plumb hrmp_watermark to build_collation

* Plumb hrmp_watermark to ValidationResult

* Plumb hrmp outbound messages

* Implement message-broker part of HRMP

* Kill UPWARD_MESSAGES as well

Otherwise, they will get resent each block

* Add sudo versions for easier testing

* Remove the xcmp module

Not useful for the moment

* Doc for HRMP message handler

* Estimate the weight upper bound for on_finalize

* Remove a redundant type annotation

* fix spelling of a method

* Apply suggestions from code review

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

* Deabbreviate dmp and hrmp in the message ingestion type

* Don't use binary_search since it's broken by a following rotate

Instead use the linear search. We can afford linear search here since
due to limited scalability of HRMP we can only have at most a couple of
dozens of channels.

* Fix the watermark

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-12-15 04:42:31 +00:00
Alexander Krupenkin 1c5add6a39 Upgdate to latest polkadot & substrate (#263)
* Upgdate to latest polkadot & substrate

* Fix code formatting (cargo fmt)

* Fix unit tests
2020-12-10 14:28:02 +01:00
Bastian Köcher 092f0e9149 Update to latest master & master (#260) 2020-12-04 23:49:12 +01:00
Bastian Köcher 5a97db73fb Update (#253) 2020-12-02 17:16:23 +01:00
Sergei Shulepov f27b7acb8f Update polkadot to the latest master (#251)
* update cumulus to latest polkadot

* s/Trait/Config

To be more consistent with the new naming.

* Update Cargo.lock

* fix network tests
2020-12-01 19:21:40 +01:00
Bastian Köcher c0d80a7c95 Fix syncing issues (#249) 2020-11-26 22:14:12 +01:00
Sergei Shulepov 6e60648f49 Update Polkadot to the latest master (#248)
* Update polkadot to 982c9e

* Fix tests in collator-network
2020-11-26 16:39:19 +01:00
Bastian Köcher e6f37cb7cf Update everything to latest master (#247) 2020-11-25 15:45:49 +01:00
Bastian Köcher 35c2609b8b Update to latest master (#246) 2020-11-23 19:09:25 +01:00
Bastian Köcher e5b4e8cae7 Wait for relay chain block import before validatiing a block announcement (#227)
* Start with something

* Whatever

* Update

* MOARE

* Make cumulus-network compile and tests work

* Update more and fixes

* More stuff

* More fixes

* Make collator build

* Make test almost work

* Remove contracts runtime

* More test work

* Make service compile

* Fix test-service

* Fix test client

* More fixes

* Fix collator test

* Fix network tests (again)

* Make everything compile, finally

* Fix tests

* Write test that should fail

* Add `WaitOnRelayChainBlock`

* Update git versions

* Make it all work

* Update logging

* Switch to provided method for pushing an extrinsic

* Try to debug CI

* Aaaa

* Only use Debug

* Updates

* Use native execution to hopefully make CI happy...
2020-11-23 00:21:02 +01:00
Bastian Köcher b11ec7ea9f Bring back log prefixing (#245) 2020-11-23 00:08:52 +01:00
Sergei Shulepov 001aa5bb00 update polkadot to f7ea3d07 (#243) 2020-11-20 15:40:16 +01:00
Sergei Shulepov e17fbb01ad Resurrect (a minimal version of) message-broker (#234)
This is mostly a copy of the predating version with exception of some
renaming and alterations (e.g. the message handler takes an inbound
downward message by value, not by reference).
2020-11-16 14:18:46 +01:00
Sergei Shulepov e6999e97cc Integrate DMP into collation, take 2 (#233)
* Integrate DMP into collation

* Integrate processed_downward_messages as well
2020-11-11 12:27:09 +01:00
cheme 378f6e070b Use state machine externalities in validation runtime. (#214)
* test

* switch to branch

* Use modified.

* Use sp_externalities environmental primitives

* Change to latest no_std version, add missing host function boilerplate.

* remove comment (was used for debugging).

* fixes

* with_externalities factor

* Read merged change from overlay.
2020-11-10 12:23:55 +01:00
Bastian Köcher 0a8e1fb9a1 Switch to polkadot master branch (#230)
* Switch to polkadot master branch

* Fix compilation
2020-11-09 13:05:00 +01:00
Bastian Köcher 28338431fe Update Cumulus for Parachains V1 (#224)
* Start with something

* Whatever

* Update

* MOARE

* Make cumulus-network compile and tests work

* Update more and fixes

* More stuff

* More fixes

* Make collator build

* Make test almost work

* Remove contracts runtime

* More test work

* Make service compile

* Fix test-service

* Fix test client

* More fixes

* Fix collator test

* Fix network tests (again)

* Make everything compile, finally

* Fix tests

* Update to latest masters

* Remove ignore

* Switch to different branch in polkadot for now

* Update reference

* Make it compile with latest changes

* Update collator/src/lib.rs

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>

* Update to latest upstream

* Update to latest master

* Fix test

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-11-08 22:18:09 +01:00
Cecile Tonglet 7b4ea8d8cb Uniformize tests (#220)
* Initial commit

Forked at: 56753b7717
Parent branch: origin/master

* Copy runtime module from rococo

Forked at: 56753b7717
Parent branch: origin/master

* Also copy dependencies pallets and primitives

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* test-service

* Move integration test

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* Not sure what went wrong...

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* fmt

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* Remove pallet contracts (not used)

* Remove pallet parachain-info and token-dealer (not used)

* Sort dependencies alphabetically

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* CumulusTestNode for testing

* Speed up block generation

* Fix improper shutdown

* rustfmt

* runtime: replace const by storage

* Fix for previous commit

* Remove some generics

* Move generate_genesis_state to cumulus-primitives

* fmt

* Remove message_example

* fixup! Remove message_example

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* Half the solution to previous commit :(

* Revert "Fix for previous commit"

This reverts commit 60010bab6797487093ac8c790b3a536f7ca0895b.

* Revert "runtime: replace const by storage"

This reverts commit c64b3a46f0325a98922015e0cbf3570e2e431774.

Not working for some reason...

* Use helper

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* Remove test-primitives

* Revert "Half the solution to previous commit :("

This reverts commit 9a8f89f9f06252198e6405057043c6b313f1aea4.

* Revert "Revert "Half the solution to previous commit :(""

This reverts commit 6a93f0f09d74ccdc3738dd78a777c483427c03ce.

* Test with some extra extrinsics

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* WIP

Forked at: 56753b7717
Parent branch: origin/master

* CLEANUP

Forked at: 56753b7717
Parent branch: origin/master

* Remove message broker
2020-10-07 08:51:01 +00:00
Cecile Tonglet badf52b1e1 Fix integration test again (#201)
* Initial commit

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* Pushed branch for polkadot & substrate

* WIP

Forked at: 10533db948
Parent branch: origin/master

* using rococo and tick

* Revert "using rococo and tick"

This reverts commit d81db9246ff7061478649ffea3e49e417fcb6959.

* debug

* WIP

Forked at: 10533db948
Parent branch: origin/master

* Revert "Revert "using rococo and tick""

This reverts commit 45ec2be89f2b8af82da8dcb9d19d900571598766.

* WIP

Forked at: 10533db948
Parent branch: origin/master

* Update rococo-parachains/src/service.rs

* WIP

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* WIP

Forked at: 10533db948
Parent branch: origin/master

* Revert "WIP"

This reverts commit d3f63ed0a314ffe12c0066124076736017981b80.

* WIP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* Use inprocess validation

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* Fix failing test

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* increase logs

* Removed a bit of logs

* Revert branch change

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* Test without STDIN close detection

* Bypass validation pool

* Switch to rococo-branch

* Move start_test_collator to rococo-collator

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master

* CLEANUP

Forked at: 10533db948
Parent branch: origin/master
2020-09-16 06:54:34 +00:00
Bastian Köcher 1dfeca65e3 Update Polkadot reference and remove ValidationFunction to make usage (#202)
* Update Polkadot reference and remove `ValidationFunction` to make usage
with polkadot-js easier

* Update again
2020-08-14 19:30:10 +02:00
Bastian Köcher 9446b3c7e7 Implement storage::next_key (#195) 2020-08-12 09:54:12 +02:00
Bastian Köcher 3b71c2a6e2 One node two runtimes (#191)
* One node two runtimes

This enables the rococo-collator to run the normal and the contracts runtime.

* Fix tests
2020-08-11 11:35:54 +02:00
Bastian Köcher 3ed6030110 Rework default values used by the RelayChainCli (#189)
This reworks the default values used by the RelayChainCli for stuff like
the listen port etc.

This also renames all the contracts related stuff to `cumulus-*` to
support `.cargo/config` overrides.
2020-08-10 09:53:07 +02:00
Bastian Köcher 2efe482c40 Add cumulus-service (#187)
* Add cumulus-service

Crate that abstracts the service of a parachain.

* Make finalization infallible
2020-08-08 08:07:33 +02:00
Joshy Orndorff d8aabf0c32 Separate ParachainId injection to its own pallet (#183)
* Separate paraid injection to own pallet

* Move token dealer to a crate

* Move to rococo-parachains

* Remove parameter_types hack

* Fix chainspec

* fix build

* remove commented code

* Update contracts runtime to match other runtime

* Apply suggestions from code review

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

* Alphebetize workspace members

* Parachain info to own crate

* prune system = frame_system

Co-authored-by: Ricardo Rius <ricardo@parity.io>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-08-07 21:52:15 +02:00
Alexander Theißen 8a6e29eef9 Proof of concept: Add a new runtime that uses pallet_contracts (#186)
* seal: Copy over a legacy version of pallet_contracts from substrate

* seal: Fix substrate dependency pathes and add as dependency to runtime

* seal: Adapt pallet to current substrate version

* seal: Add contracts pallet to runtime

* seal: Implement rpc runtime api

* seal: Update to latest rpc output format

* seal: Replace child trie by prefix trie

* seal: Add contracts endpoint to the client

* seal: fixup rpc test

* Fix whitespace issue

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

* seal: Move pallet out of the runtime directory

* seal: Create a seperate runtime for contracts

* Move parachains to top level directory

* seal: Disable rent for easier testing

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-08-07 17:41:15 +02:00
Cecile Tonglet 10533db948 Graceful shutdown relay chain (#185)
* Initial commit

Forked at: 8fae39d331
Parent branch: origin/master

* Update Cargo.lock

* Graceful shutdown relay chain

* Update Cargo.lock

* Renamed add_children to add_child

* Update test/parachain/src/service.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-08-07 12:06:27 +00:00
Bastian Köcher 8fae39d331 Update to integrate network fix from Substrate (#184) 2020-08-06 22:05:45 +02:00
Cecile Tonglet dbde3c4630 Don't validate a block announcement when syncing (#177) 2020-08-06 13:30:55 +02:00
Dan Forbes e739334f76 Rename cumulus-test-parachain-collator to rococo-collator (#173)
Ran `find . -type f -name "*" -print0 | xargs -0 sed -i -e "s/cumulus-test-parachain-collator/rococo-collator/g"`
2020-08-04 19:44:02 +02:00
Bastian Köcher 23c1954c74 Add parachains for rococo (#144)
* Add parachains for rococo

* Fix chain specs

* Update to revert log rotation

* Support selecting the chain in `export-genesis-state`

* Add subcommand for exporting the genesis wasm of a Parachain

* Update stuff

* Fix `export-genesis-wasm`

* Update the polkadot ref

* Add bootNodes address

* Add bootNodes address - track

* Add bootNodes address - trick

* Fix incorrect peer id (trick)

* Fixes https://github.com/paritytech/cumulus/issues/157

* Update chainspecs

* Update specs again

* Set correct sudo account

* Update properties

* Update readme

* Update `Cargo.lock`

* Switch to rococo-branch

Co-authored-by: Evaldo <contato@evaldofelipe.com>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-08-04 17:33:20 +02:00
Bastian Köcher f5fbe3c195 Fix block announcement validation (#171)
* Fix block announce

* Fix compilation
2020-08-04 15:19:36 +02:00
Cecile Tonglet d1d40765c7 Collate only if --validator is given (#161) 2020-07-29 20:49:31 +02:00
Cecile Tonglet 96d5bdac96 Fix integration test (#124) 2020-07-23 16:12:11 +02:00
Bastian Köcher e40bef8641 Update Substrate & Polkadot (#141) 2020-07-09 15:28:45 +02:00
Bastian Köcher fa0a3c1f42 Upgrade Polkadot & Substrate (#139)
* Upgrade Polkadot & Substrate

* Update test/parachain/src/command.rs

Co-authored-by: Cecile Tonglet <cecile@parity.io>

Co-authored-by: Cecile Tonglet <cecile@parity.io>
2020-07-09 14:33:00 +02:00
Bastian Köcher 6ca066c893 Fix multi collator setup (#133)
* Start

* Fix compilation

* Fix chainspec

* Don't set best 2 times for the same block

* Check the status of a block before building on it

* Check that the block exists before setting it as the new best

* Reorder code

* Fork choice depends on sync status

* Switch branch again
2020-07-02 12:50:04 +02:00
Bastian Köcher 30ad930159 Update to latest Substrate & Polkadot (#131)
* Switch to latest Substrate & Polkadot

* Update again
2020-07-01 10:38:26 +02:00
Bastian Köcher c9aaddf667 Implement basic upward & downward messages (#118)
* Start by replacing branch names and set `DownwardMessage`

* Add the upward-message crate

* Add Kusama & Polkadot

* More work on getting the upward messages working

* Fix build

* Begin to integrate it into the test Parachain

* Update

* Make everything compile again

* Switch to westend and print parachain account on startup

* Use MultiSignature etc

* Fix validate block

* Some downward messages work

* Update git reference

* More downward messages integration

* Update test runtime for downward messages

* Enable downward message handler and withdraw send tokens

* Add some docs

* Begin to implement simple XCMP

* More work

* Fixes and make parachain id configurable

* Make parachain ID be part of the genesis

* Finishing the XCMP message demo

* Update and fixes tests

* Update branch
2020-06-18 12:10:20 +02:00
Cecile Tonglet 456c562cff Update polkadot & substrate (#112) 2020-06-15 12:40:15 +02:00
Cecile Tonglet 6be8cf3f20 Prefix logs of parachain and relaychain differently + remove light client of relay chain (#109) 2020-06-11 12:39:20 +02:00
Bastian Köcher 0326d049c5 Update to latest Substrate & Polkadot (#107)
* Update to latest Substrate & Polkadot

* Replace --unsafe-rpc-export with --unsafe-rpc-external

* Add --rpc-methods=Unsafe

Documented in substrate 24486f52929e9e518eeccbc6ad6da70e9e5bdf8a

* typos

* more typo

* fixed rpc expose

* Disable the integration test

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-06-05 16:57:02 +02:00