* Downward messages, the front-end.
* Move types around to make them accessible from Parachains
* Fix compilation
* Fix branch
* Make it compile for Cumulus
* Update the branch names
* Add default generic parameter
* Implement `Partialeq`
* Move upward messages into the `ValidationResult`
* Support disabling of the runtime api
* Update branch
* Adds support for handling downward messages
* Implement sending XCMP messages as up/downward messages
* service: update to latest ServiceBuilder changes
* Make it compile
* Initial commit
Forked at: ef2aa428d7
Parent branch: origin/master
* Update substrate branch to cecton-update-polkadot-substrate
* Update substrate & polkadot to cumulus-branch
* Reset branch
* Update primitives/src/parachain.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Update runtime/common/src/parachains.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Update runtime/common/src/parachains.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Minor fixes
* Fix wasm build
Co-authored-by: Gav Wood <gavin@parity.io>
Co-authored-by: André Silva <andre.beat@gmail.com>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* upgrade primitives to allow changing validation function
* set up storage schema for old parachains code
* fix compilation errors
* fix test compilation
* add some tests for past code meta
* most of the runtime logic for code upgrades
* implement old-code pruning
* add a couple tests
* clean up remaining TODOs
* add a whole bunch of tests for runtime functionality
* remove unused function
* fix runtime compilation
* extract some primitives to parachain crate
* add validation-code upgrades to validation params and result
* extend validation params with code upgrade fields
* provide maximums to validation params
* port test-parachains
* add a code-upgrader test-parachain and tests
* fix collator tests
* move test-parachains to own folder to work around compilation errors
* fix test compilation
* update the Cargo.lock
* fix parachains tests
* remove dbg! invocation
* use new pool in code-upgrader
* bump lockfile
* link TODO to issue
* Make use of `runtime_interface` for parachain externalities
This also changes the encoding of the `ValidationResult` return value to
match the default encoding used in Substrate.
* Fix compilation for web
* Update `Cargo.lock`
* Include feedback
* Move proc macro
* Update parachain/src/lib.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
* Make `polkadot-parachain` call `validate_block` instead of `validate`
Also switch to rust 2018 in the crate
* Use `rstd`
* Make `load_params` a pointer
* Slots module
* Integrate slots
* More drafting
* Minor updates
* Update parachains to use trati
* More build fixes
* Full code now compiles
* Add renew bid function
* Implement calculate_winner
* Warning remove
* Update gitignore
* Test framework
* Tests
* Further testing
* More tests, new parameterisation.
* Fix and new test
* Thread-safe tests
* Test off-boarding and a fix.
* Test onboarding
* Allow late onboarding.
* Another test and fix
* Avoid println in nostd
* Compact representation of paraids
* Introduce documentation.
* Introduce events.
* Additional test and fix
* Additional test
* Tidy up line lengths.
* Remove printlns
* Use later substrate utils.
* Allow parachains to send messages.
* Fix build/test
* Make slots work with latest substrate
* Update runtime/src/slot_range.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update runtime/src/slots.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Polish logic
* Rewind to earlier substrate master
* Remove dead code.
* Fix build
* Update substrate ref to master
* Update to new inherent digests API
* address grumbles
* fix
* Fix a warning.
* Reworded a comment.
* Check that receipt matches expectations
* Add test for final checks
* Split out queuing logic.
* Test final piece of queuing logic
* Fix up docs.
* More docs fixes
* compute ingress and routing in polkadot runtime
* extract parent candidates from block when beginning consensus
* fetch incoming messages when validating
* fix consensus tests
* parachain wasm execution uses messages
* update parachain tests to check if messages are executed
* abstract out network service to make room for network tests
* skeleton for incoming data fetch
* collate ingress from consensus-gossip
* keep track of validated candidates in the shared-table
* add some shared_table tests for new behavior
* broadcast egress messages on gossip
* test compute_ingress
* move network tests to module folder
* dummy network for consensus-network tests
* make consensus network generic over executor
* test egress broadcast and ingress fetch
* fix test compilation
* address some grumbles
* address grumbles and fix parachain shuffle
* remove broadcast parameter from consensus network trait
* read head-data directly out of WASM memory
* implement ext_post_message for parachain WASM
* further refactoring of the parachain module
* add externalities error type
* accumulate posted messages when validating parachain candidate
* define Extrinsic type in primitives
* availability-store: store extrinsic data
* compute extrinsic and check against candidate
* add some egress queue tests
* grumbles & substrate update
* ensure everything builds