Commit Graph

134 Commits

Author SHA1 Message Date
Gavin Wood efd738be82 Bump version (#1070) 2020-05-05 18:20:36 +02:00
Pierre Krieger 626a4aeccf Some fixes to compile for Android (#1063)
* Some fixes to compile for Android

* Revert change to cli
2020-05-04 16:04:33 +02:00
Gavin Wood f6b9cd4e4d Prep v0.7.32 (#1056)
* Bump Westend runtime version

* Bump Substrate

* Prep for release of 0.7.32

* Update lock
2020-04-29 19:27:37 +02:00
Nikolay Volf e54811646a update substrate, set new version (#1043) 2020-04-28 10:25:35 +02:00
Nikolay Volf 59f5743852 Companion PR for 5795 (#1041)
* add storage_append

* Bump versions

Co-authored-by: Gav Wood <gavin@parity.io>
2020-04-27 18:23:09 +02:00
Bastian Köcher eab3624096 Release 0.7.30 (#1006)
* Release 0.7.30

* Update Substrate & libp2p
2020-04-17 23:01:00 +02:00
Bastian Köcher c6134cf91a Release 0.7.29 (#998)
* Release 0.7.29

* Update `Cargo.lock`
2020-04-14 16:46:20 +02:00
Robert Habermeier a5034dbe98 Use strong types in runtime for parachain heads and validation code (#964)
* use stronger types for HeadData and ValidationCode in runtime

* fix weird debug compile error

* fix runtime build

* update invocations invalidation.rs

* fix tests
2020-04-13 10:24:25 +02:00
Robert Habermeier 10cec3b591 Upgradeable validation functions (#918)
* 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
2020-04-06 10:43:19 -04:00
Gavin Wood 7f838b0c35 Update for using Mandatory inherents (#967)
* Update for using Mandatory inherents.

* use
2020-04-05 14:27:58 +02:00
Robert Habermeier 15a83079ba refactor out validation hosts to pool struct (#972)
* refactor out validation hosts to pool struct

* make web-wasm compatible

* typo

* remove now-unused static hosts
2020-04-04 15:15:54 -04:00
Gav Wood a2a4f4c755 Merge branch 'master' of github.com:paritytech/polkadot 2020-04-04 13:44:51 +02:00
Gav Wood cf82c77b79 use 2020-04-04 13:43:21 +02:00
Bastian Köcher c021f854a2 Ensure that table router is always built (#952)
* Ensure that table router is always build

This pr ensures that the table router is always build, aka the future is
resolved. This is important, as the table router internally spawns tasks
to handle gossip messages. Handling gossip messages is not only required
on parachain validators, but also on relay chain validators to receive collations.

Tests are added to ensure that the assumptions hold.

* Fix compilation

* Switch to closures

* Remove empty line

* Revert "Remove empty line"

This reverts commit 0d4aaba1780aec1c8d61e1d5dcf7768918af02d9.

* Revert "Switch to closures"

This reverts commit d128c4ecc02c911552a3bfd2142b5a4f7b1338ba.

* Hybrid approach

* Rename test

* Make trait crate local
2020-04-03 16:33:52 -04:00
Gavin Wood d8e1180030 Companion for #5412 (#942)
* Fixes for democracy using Scheduler

* Revert branch change
2020-04-01 17:01:14 +02:00
Bastian Köcher b4c79556f3 Upgrade bitvec and parity-scale-codec (#947) 2020-03-30 13:08:15 +02:00
Gavin Wood de1c97fb85 Add emojis (#944) 2020-03-26 22:39:40 +01:00
Fedor Sakharov dbb4e987fa Remove Parent Hash to Session mapping (#928)
* Adds a SigningContext type

* Bump spec versions

* Fixes requested changes

* Bump ParachainHost api_version and guard signing_context call

* Improve error message

* If there is no signing_context api use default value

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-03-25 17:04:05 -04:00
Gav Wood 5f04e1aa52 Version bump 2020-03-23 16:29:10 +01:00
Gav Wood 0c435448f9 Bump version 2020-03-21 16:48:06 +01:00
Gavin Wood 95d732beca Introduce progressive democracy (#920)
* Updates for the new democracy

* Introduce progressive democracy

Also move to "master" branch of Substrate ready for continuous
sync with Substrate master.
2020-03-21 16:46:09 +01:00
André Silva 2edc7f13b0 Release version v0.7.27 (#916)
* bump version to v0.7.27

* update to latest substrate polkadot-master

* bump runtime impl_version
2020-03-19 16:24:32 +00:00
Gavin Wood d92963c7dc Bump version (#907) 2020-03-17 15:42:51 +01:00
Gavin Wood d07116a577 Bump version and Substrate (#905)
* Bump version and Substrate

* Version

* Lock
2020-03-17 14:10:15 +01:00
Robert Habermeier 260b2fa336 Tests for new network code (#897)
* move protocol.rs into subfolder

* add trait for mocking network behavior

* add a mock version of network ops

* remove some redundant parameters from service messages

* ensure fetching erasure chunks automatically cancels

* introduce dummy ProvideRuntimeApi

* abstract over gossip somewhat

* add mock gossip handler

* skeleton test

* remove dependence of shared table on router

* remove worker dependence on its own sender

* test shutdown

* add tests

* test that gossip streams are cleaned up correctly

* refactor worker out into its own struct and reduce bound on executor

* remove reliance of tests on global thread pool
2020-03-16 11:17:08 +01:00
Gavin Wood a81d8cb220 Bump versions & Substrate. (#902) 2020-03-16 11:00:11 +01:00
Gavin Wood 2c85b84cb6 Bump Substrate and runtime version (#900)
* Insert storage for finality tracker

* Bump lock

* Bump version
2020-03-14 17:13:10 +01:00
Gavin Wood 844ca939ab Prepare for version 0.7.23 (#899)
* Bump version

* Cargo lock

* Bump runtime version

* Bump Substrate again to include recent fix
2020-03-13 15:49:33 +01:00
Gavin Wood 1ddfb5c4e1 Bump to latest Substrate (#898)
* Flag to force kusama runtime

* Chainspecs for kusama

* Polkadot config for westend

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

* network/src/legacy/gossip: Wrap GossipEngine in Arc Mutex & lock it on use

`GossipEngine` in itself has no need to be Send and Sync, given that it
does not rely on separately spawned background tasks anymore.
`RegisteredMessageValidator` needs to be `Send` and `Sync` due to the
inherited trait bounds from implementing `GossipService`. In addition
`RegisteredMessageValidator` derives `Clone`. Thereby `GossipEngine`
needs to be wrapped in an `Arc` and `Mutex` to keep the status quo.

* Needed fixes.

* Fixes

* Fixed build

* Fixed build w benchmarking CLI

* Fixed building tests

* Added --dev shortcut

Co-authored-by: arkpar <arkady.paronyan@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2020-03-13 14:43:31 +01:00
Bastian Köcher 9bbaf34cde Update tokio to make sure to include the deadlock fix (#896) 2020-03-13 12:38:25 +01:00
Gavin Wood 845ad821ee Bump version to knock the -dev (#887)
* Bump version to knock the -dev

* Update lock
2020-03-07 12:27:38 +01:00
Gavin Wood 2cf2811e16 Update to Substrate master (#886)
* Bump Substrate and some fixes

* Bump runtime

* version bump
2020-03-07 00:03:16 +01:00
Robert Habermeier 7931380825 Remove legacy network code (#860)
* expunge legacy code from polkadot-network

* mostly rip out old legacy protocol from service

* ensure validation work is spawned by incoming messages

* decouple availabliity store from network logic; clean up data flow

* av_store: test helpers and use futures-abort

* update polkadot-validation to pass n_validators when submitting chunks

* fallible erasure-chunk fetching

* implement `ErasureNetworking` for new network prot

* API for registering availability store in network

* fully integrate new network service into service

* fix validation tests

* scaffolding for porting collator over to new network

* track connected validators' peer IDs and distribute collators' collations

* helper in network for fetching all checked statements

* fix adder-collator

* actually register notifications protocol

* Update service/src/lib.rs

* merge with master
2020-03-05 10:11:21 -08:00
Gavin Wood b2df51d296 Update substrate (#878)
* Switch branch

* Small changes

* Update substrate branch

* Switch

* Revert "Switch branch"

This reverts commit b9d48b2ce8f5cbfa379dd385e817e80870391d9d.

* fix

* add `wipe` and `commit`

* Remove deprecated_host_interface

* Switch branch

* HasherFor -> HashFor

* More HasherFor changes

* Final touches

* Revert "Switch branch"

This reverts commit d0da27313839559de01f59690f3826fe587becb8.

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-03-05 13:27:28 +01:00
Bastian Köcher 1058537824 Pass parent head as input to parachain validation (#871) 2020-03-01 20:18:49 -08:00
Robert Habermeier b7d30aa379 A more comprehensive model for PoV-Blocks and Candidate receipts (#843)
* encode the candidate statement as only the hash

* refactor CandidateReceipt and CollationInfo

* introduce an abridged candidate receipt type

* erasure coding stores candidate receipt

* store omitted data instead and introduce AvailableData type

* refactor availability-store schema

* tweak schema and APIs a bit more

* get availability-store tests passing

* accept AbridgedCandidateReceipt in `set_heads`

* change statement type in primitives to be hash-only

* fix parachains runtime tests

* fix bad merge

* rewrite validation pipeline

* remove evaluation module

* use abridged candidate hash as canonical

* statement table uses abridged candidate receipts

* kill availability_store::Data struct

* port shared table to new validation pipelines

* extract full validation pipeline to helper

* remove old validation pipeline from collation module

* polkadot-validation compiles

* polkadot-validation tests compile

* make local collation available in validation service

* port legacy network code

* polkadot-network fully ported

* network: ensure fresh statement is propagated

* remove pov_block_hash from LocalValidationData

* remove candidate_hash field from AttestedCandidate and update runtime

* port runtimes to new ParachainHost definition

* port over polkadot-collator

* fix test compilation

* better fix

* remove unrelated validation work dispatch fix

* address grumbles

* fix equality check
2020-02-25 15:16:58 -08:00
Nikolay Volf f7303348ff Update to latest substrate master (#853)
* try to update

* latest updates

* final fixes

* Fix claim w/ vesting logic

* Make claim tests a bit better

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-02-19 17:24:57 +00:00
Ashley bbb2fbc556 Remove TargetedMessage (#848)
* Remove TargetedMessage

* Nitpicks
2020-02-19 08:33:38 -08:00
Ashley 5f9e602af7 Strip out old XCMP primitives (#823)
* WIP

* WIp

* Mostly get tests to compile

* Fix adder collator

* Remove more stuff

* Revert some changes to av store

* Fix av store tests

* Nitpicks

* Restore some things

* Small changes

* Remvoe unused error variants
2020-02-13 17:12:05 +01:00
Bastian Köcher 5385b9af82 Revert async await to fix collation (#839)
* Revert 9a9860c8bd

* Make it work
2020-02-12 16:39:22 +03:00
Bastian Köcher 2eb7621759 Adds some debug logging (#837) 2020-02-11 22:01:45 +01:00
Robert Habermeier 9b23f3f1f0 rewrite network code to use notifications_protocol APIs from Substrate (#788)
* extract all network code to legacy submodule

* update references to legacy proto

* skeleton of futures-based protocol

* refactor skeleton to use background task

* rename communication_for to build_table_router

* implement internal message types for validation network

* basic ParachainNetwork and TableRouter implementations

* add some module docs

* remove exit-future from validation

* hack: adapt legacy protocol to lack of exit-future

* generalize RegisteredMessageValidator somewhat

* instantiate and teardown table routers

* clean up RouterInner drop logic

* implement most of the statement import loop

* implement statement loop in async/await

* remove unneeded TODO

* most of the collation skeleton

* send session keys and validator roles

* also send role after status

* use config in startup

* point TODO to issue

* fix test compilation
2020-02-10 15:20:45 +01:00
Bastian Köcher eefbaffe4f Be specific about the BitVec generic arguments (#830)
* Be specific about the `BitVec` generic arguments

Currently we use the default generic arguments for `BitVec`. This means
we use `BigEndian` and `u8`. These default values are not stable, with
`0.17` of the `BitVec` crate this changes. To make sure we don't break
anything in the future, make sure we explictly set the generics.

* Update `spec_version`
2020-02-10 10:32:34 +01:00
Robert Habermeier 1c2aff5b4d Include parent head in CandidateReceipt (#826)
* runtime: candidate receipt must pass parent head

* construct parachain candidates using correct parent_head

* validate that the parent header is correct in candidate receipt

* fix test fallout

* bump runtime versions
2020-02-10 10:14:12 +01:00
Gavin Wood 703ac8bbbc Bump Substrate (#816)
* Amalgamate pieces of balance module

* Fixes for vesting split

* Refactoring for vesting/balances split

* Build fixes

* Remove on_free_balance_zero and some docs.

* Indentation.

* Revert branch

* Fix.

* Update substrate: fixes after CLI refactoring

* Reverting removal of exit

* Removed too much again

* Update Cargo.lock

* Cargo.lock

* Update Substrate, ready for #4820

* Fixes

* Update to latest substrate master

* Fix network tests

* Update lock

* Fix tests

* Update futures to get bug fixes

* Fix tests for new balances/vesting logic

* Cargo fix

* Another fix

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-02-09 17:50:17 +01:00
Gav Wood 2e5e256821 Update version 2020-02-03 14:41:18 +01:00
Ashley 04eae615b5 Update tokio to 0.2 again and remove TaskExecutors (#786)
* upgrade tokio again

* Remove WrappedExecutor

* switch to spawn_blocking
2020-01-29 12:13:47 +01:00
Fedor Sakharov 9a9860c8bd Asyncify launch_work a bit more (#777)
* Asyncify launch_work a bit more

* An error message misword

* A bit more async in collator
2020-01-20 19:13:48 +03:00
Gavin Wood 524b6f0254 Bump substrate (#780) 2020-01-18 18:50:43 +01:00
André Silva 2b081f9edd v0.17.18: Update latest substrate (#776)
* update latest substrate polkadot-master

* fix test compilation

* bump version to 0.7.18

* bump impl_version

* update substrate

* Revert "Instantiate environment with asynchronous API (#768)"

This reverts commit a5d9645bf4.

* update substrate

* remove unused parameter type

* bump trie-db version for tests

* fix collator test

* update substrate

* remove unnecessary service changes
2020-01-17 18:37:55 +00:00