Commit Graph

168 Commits

Author SHA1 Message Date
cheme 4e7f138c82 Fail when storage is not in proof (#205)
* fail when storage is not in proof

* Single panic.
2020-08-24 22:11:05 +02:00
Bastian Köcher 35f60b1e90 Add support for scheduling an upgrade without checks 2020-08-15 01:51:03 +02:00
Bastian Köcher 9b48852890 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 326da935bb Fix export-genesis-state (#200)
Fix `--parachain-id` CLI argument for `export-genesis-state` and don't
print genesis state without newline.
2020-08-13 09:53:02 +02:00
Bastian Köcher 2381e5addf Implement storage::next_key (#195) 2020-08-12 09:54:12 +02:00
Bastian Köcher 2c63ccb9eb 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 96da14c14f 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 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
Joshy Orndorff 1fcd05503a 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 bda46b0b07 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 9e28ea67b6 Graceful shutdown relay chain (#185)
* Initial commit

Forked at: 817507f990
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 817507f990 Update to integrate network fix from Substrate (#184) 2020-08-06 22:05:45 +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 3f3beea7f0 Don't validate a block announcement when syncing (#177) 2020-08-06 13:30:55 +02:00
Dan Forbes 2042e7e789 Updated README (#176)
* Updated docs

* README 100-character line length

* We're keeping the name
2020-08-06 11:39:48 +02:00
Dan Forbes a51df009d8 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"`
rococo_v1
2020-08-04 19:44:02 +02:00
Bastian Köcher 6f50d0928d 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 1f83a231c2 Fix block announcement validation (#171)
* Fix block announce

* Fix compilation
2020-08-04 15:19:36 +02:00
Cecile Tonglet 2310ea3b81 Replace stacktrace with simpler error when relay chain arguments fail to parse (#165) 2020-07-30 12:11:26 +02:00
Cecile Tonglet 9843ebc16e Fix Polkadot CLI arguments not properly parsed (#163)
* Initial commit

Forked at: f26dd45e78
Parent branch: origin/master

* Fix polkadot cli arguments not properly parsed

* Update test/parachain/src/command.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-07-30 09:59:25 +02:00
Cecile Tonglet f26dd45e78 Collate only if --validator is given (#161) 2020-07-29 20:49:31 +02:00
Denis Pisarev d664a7cf38 change (ci): new CI image; -Dwarnings instead of a job (#110)
Co-authored-by: Bastian Köcher <git@kchr.de>
2020-07-28 15:40:22 +02:00
Bastian Köcher db2c0b8861 Try to workaround the invalid compilation (#159)
There is probably some bug in rustc which result in an invalid
compilation when using an `expect` at the given position. I'm still not
sure why this is happening, but this fix should fix it for now.
2020-07-27 10:28:05 +02:00
Bastian Köcher c3a9c51051 Switch to StorageProof (#160) 2020-07-27 10:22:58 +02:00
Bastian Köcher ec40d451a3 Fix storage_append (#158) 2020-07-26 21:22:35 +02:00
Bastian Köcher 5fab0fc118 Harden storage against re-entry (#156) 2020-07-25 23:34:52 +02:00
Cecile Tonglet bcc627799a Fix integration test (#124) 2020-07-23 16:12:11 +02:00
Cecile Tonglet 516ad523c1 Move Docker scripts (#138)
Just reorganizing
2020-07-16 07:46:03 +02:00
Bastian Köcher 03205eb601 Update Substrate & Polkadot (#141) 2020-07-09 15:28:45 +02:00
Bastian Köcher 416c97030c 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
Cecile Tonglet 5cac590a4b Script to register a parachain (#137) 2020-07-06 17:29:01 +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 05a83e8bdb Take storage root from parent header (#123) 2020-06-19 13:15:56 +02:00
Bastian Köcher 62c22b88b9 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
Joshy Orndorff b082e7f815 Allow custom polkadot chainspec. (#122) 2020-06-18 09:54:47 +02:00
Cecile Tonglet 8b1fd65ed6 Update polkadot & substrate (#112) 2020-06-15 12:40:15 +02:00
Cecile Tonglet 41376cef61 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 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
Cecile Tonglet 4c6b959551 Enable mdns polkadot (#106)
Fixes #57
2020-06-03 17:51:49 +02:00
Cecile Tonglet 1afdba7464 Reject blocks without justification which don't have the best number (#105)
* Initial commit

Forked at: 8f02e233da
Parent branch: origin/master

* Reject blocks without justification

* Revert "Reject blocks without justification"

This reverts commit ee60e12097939d4ccfe987a71db9a876319ae5ba.

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* CLEANUP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* CLEANUP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* WIP

Forked at: 8f02e233da
Parent branch: origin/master

* Move HeadData to primitives

* Update network/src/lib.rs

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

* Update network/src/lib.rs

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

* CLEANUP

Forked at: 8f02e233da
Parent branch: origin/master

* fix

* CLEANUP

Forked at: 8f02e233da
Parent branch: origin/master

* messages

* for the greater good

* Update primitives/src/lib.rs

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

* Update network/src/lib.rs

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

* Update network/src/lib.rs

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

* Update network/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>
2020-06-03 14:15:52 +02:00
Cecile Tonglet 8f02e233da Ensure relay chain parent is the relay chain head (#103) 2020-05-27 14:43:45 +02:00
Cecile Tonglet adc88bf167 Use JustifiedBlockAnnounceValidator for parachain block announce validator (#96) 2020-05-19 17:56:31 +02:00
Cecile Tonglet 23e963d431 Consistency fix for repositories in Cargo.toml (#102)
* Initial commit

Forked at: 0a7cde6610
Parent branch: origin/master

* Consistency fix for repositories in Cargo.toml

* Inverse
2020-05-19 11:58:04 +02:00
Cecile Tonglet 0a7cde6610 Integration test (#91) 2020-05-18 17:17:34 +02:00
Bastian Köcher e183d8bd30 Put cumulus-parachain-upgrade into the test parachain (#98)
This ensures that the crate compiles for `no_std`. Besides this, there
are some fixes to the crate code itself.
2020-05-15 16:10:22 +02:00
Peter Goodspeed-Niklaus d6ab13c00f fix docker script (#93)
* fix test collator compilation failure

Closes #88.

* copy method instead of using feature

Using a feature gate like "test-features" is problematic because
it is leaky: depending on situational considitons such as the
current working directory when compilation is attempted, the
feature may or may not be applied, which makes success inconsistent.
It's simpler in this case to copy a dozen lines of code than to
work out all the issues with test features.

* docker script shoudld work on cumulus-branch (default)

* Add storage_append to runtime

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-05-12 13:20:40 +02:00
Cecile Tonglet e810cf3b5b Add storage_append to runtime (#92)
* Initial commit

Forked at: 3acb6d0d83
Parent branch: origin/master

* Add storage_append to runtime

* Use sp_std::vec!

* Reduce # of allocations

* Update runtime/src/validate_block/implementation.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-05-08 23:54:57 +02:00
Peter Goodspeed-Niklaus c163d8702b fix test collator compilation failure (#89)
* fix test collator compilation failure

Closes #88.

* copy method instead of using feature

Using a feature gate like "test-features" is problematic because
it is leaky: depending on situational considitons such as the
current working directory when compilation is attempted, the
feature may or may not be applied, which makes success inconsistent.
It's simpler in this case to copy a dozen lines of code than to
work out all the issues with test features.
2020-05-08 00:27:33 +02:00
cheme 3acb6d0d83 Align trie iteration to substrate. (#90)
* Align trie iteration to substrate.

* Can use expect on trie error, remove debug_assert
2020-05-07 09:38:59 +02:00