Commit Graph

33 Commits

Author SHA1 Message Date
Cecile Tonglet 6438d328b8 Complete telemetry for parachain & relaychain (#301)
* Complete telemetry for parachain & relaychain

* Update Substrate & Polkadot
2021-01-29 16:02:31 +01:00
Sergei Shulepov 464e54affd Inform the PVF with the latest relevant relay chain state (#279)
* Update polkadot

* Extend cumulus primitives with some relay chain exports

Follow https://github.com/paritytech/polkadot/pull/2194 to see the
polkadot PR

* collator: collect the state proof

This commit changes cumulus-collator so that it takes the relay chain
state at the relay parent and creates a storage proof that contains all
the required data for PVF.

* parachain-upgrade: use the proofs instead

This change is needed to make cumulus logic to not longer depend on the
transient validation data. As part of this change, in order to preserve
the current behavior `code_upgrade_allowed` now is computed on the
parachain side, rather than provided by polkadot.

Turned out that this requires to know the self parachain id so it was
added where needed.

* message-broker: use relay state to track limits

this should make sending messages safe from accidentally running over
the relay chain limits that were previously unknown.

* Update polkadot

So that `relay_storage_root` is available through `ValidationParams`

* Check `relay_storage_root` matches expected

Check that `relay_storage_root` submitted by the collator matches the
one that we receive in `validate_block` through `ValidationParams`

* Add a missing check for `dmq_mqc_head` while we are at it

* Update polkadot

* Fix tests that use the relay storage root

* Apply suggestions from code review

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

* Update message-broker/src/lib.rs

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

* Remove unneeded (&_)

* Fix unwraps

* Polish basti's suggestion

* Fix merge

* Bring back the System::can_set_code check

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-13 14:40:26 +01:00
Bastian Köcher 9f0085c097 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 c75b59758d Update everything to latest master (#247) 2020-11-25 15:45:49 +01:00
Bastian Köcher 76f9ecae47 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
Bastian Köcher 9603b2fe5f 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
Bastian Köcher e8e8881a68 Announce block after it is being enacted as new best block (#182) 2020-08-06 20:37:36 +02:00
Cecile Tonglet f26dd45e78 Collate only if --validator is given (#161) 2020-07-29 20:49:31 +02:00
Bastian Köcher 82db23f2ed 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 6a6fec66fb Update to latest Substrate & Polkadot (#131)
* Switch to latest Substrate & Polkadot

* Update again
2020-07-01 10:38:26 +02:00
Bastian Köcher b3603d1c13 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
Bastian Köcher cd7e06c643 Update Substrate & Polkadot (#84) 2020-04-29 14:23:18 +02:00
Cecile Tonglet dd5b344274 Update polkadot and substrate (#71) 2020-03-11 17:45:44 +01:00
Bastian Köcher 41817628b7 Update Polkadot/Substrate (#68)
* Update Polkadot/Substrate

* Update branch
2020-02-24 21:52:49 +01:00
Cecile Tonglet 0efd15c0c5 Update substrate and polkadot (#50)
* Update Cargo.lock

* Fix for substrate update

* Update Cargo.lock

* Fix for substrate update

* Fix for substrate update

* Fix for substrate update

* Fix for substrate update

* Update Cargo.lock

* Fix for substrate update

* Fix for substrate update

* Fix for substrate update

* Fix for substrate update

* Fix for substrate update

* WIP

* Temporary fix until polkadot is fixed

* WIP

* WIP
2020-02-03 15:39:51 +01:00
Bastian Köcher f0baba94fb Don't finalize the same block multiple times
This fixes the `Safety violation:...` logging.
2020-01-15 16:59:23 +01:00
Bastian Köcher 1bcb147669 Make everything compile and fix tests 2020-01-14 22:23:16 +01:00
thiolliere 712a2a1580 Fix inconsistent head_data (#18)
* fix

* Update consensus/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-10-22 15:26:35 +02:00
Bastian Köcher c7e229bf6e Make basic collation working 2019-10-18 14:16:32 +02:00
Bastian Köcher d9edf82783 Begin to add a test parachain 2019-10-16 13:39:38 +02:00
Bastian Köcher 92aefe924d Provide SelectChain implementation for parachains 2019-10-08 14:38:27 +02:00
Bastian Köcher 600586573b Make everything compile again 2019-10-02 16:52:08 +02:00
Bastian Köcher bc4499b640 Try to fix the build 2019-09-29 02:05:49 +02:00
Bastian Köcher 84c9092530 Update Substrate, Polkadot and switch to wasm-builder 2019-06-18 08:43:39 +02:00
Bastian Köcher d8e901300d Update to latest Substrate + Polkadot 2019-06-05 20:38:26 +02:00
Bastian Köcher 86fc19933d Make the tests pass 2019-03-07 10:56:00 +01:00
Robert Habermeier 2ed6549530 implement mark_best using set_head 2019-02-18 17:33:22 -03:00
Robert Habermeier b47cae17f0 implement parachain_key 2019-02-01 20:45:30 -03:00
Robert Habermeier 9c7c3d7088 implement PolkadotClient for polkadot clients without parachain key 2019-01-21 21:47:21 -03:00
Robert Habermeier bcedf20c6c implement LocalClient for relevant substrate clients 2019-01-21 20:18:07 -03:00
Robert Habermeier 1e0aeab26f skeleton code for following a polkadot parachain 2019-01-21 19:54:44 -03:00
Robert Habermeier e27600f07e add deps for consensus crate 2019-01-15 18:01:23 -03:00
Robert Habermeier ab44dc618e Skeleton for Cumulus-consensus 2019-01-15 16:33:11 -03:00