Commit Graph

167 Commits

Author SHA1 Message Date
Pierre Krieger 75ebe7fb2e Companion PR to #5560 - Also includes polkadot#979 and polkadot#986 (#982)
* Companion PR to #5560

* Set priorities.

* Update substrate.

* Fix tests.

* Update Substrate

* Companion of SignedExtension refactor (#5540)

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
Co-authored-by: Alexander Theißen <alexander.theissen@parity.io>
2020-04-08 16:12:28 +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
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
André Silva b3d326acca Update substrate (#970)
* update substrate

* Hopefully fix compilation

* network: rename roles to role

* runtime: fix runtime-benchmarks compilation

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2020-04-03 20:50:34 +02:00
Bastian Köcher 1bde78c8b1 Make sure that Parachain heads are updated (#945)
Updating the heads was accidentally removed in some other pr.
2020-04-01 17:01:47 +02:00
Gavin Wood d8e1180030 Companion for #5412 (#942)
* Fixes for democracy using Scheduler

* Revert branch change
2020-04-01 17:01:14 +02:00
Shawn Tabrizi 5a84c64507 Companion PR for #5436/#5445 + #5463 (#948)
* Use `add_benchmark` macro

* Return error if `batches` is empty

* Update Cargo.lock

* Companion for #5463 (#953)

* Fix test with genesis block 0

* Update Cargo.lock
2020-03-31 20:14:44 +02:00
Robert Habermeier 21bd2f19d3 use strong key in parachains module KeyOwnerProofSystem (#951) 2020-03-31 11:47:49 -04:00
Bastian Köcher b4c79556f3 Upgrade bitvec and parity-scale-codec (#947) 2020-03-30 13:08:15 +02:00
Kian Paimani caa405e1eb Enable Offchain Phragmén. (#940)
* fix for offchain phragmen

* Update unix time stuff
2020-03-26 17:52:10 +01:00
thiolliere 775ce50cc2 Upgrade substrate for new staking API and Telemtry API (#941)
* upgrade substrate

* fix telemetry endpoint

* improve msg
2020-03-26 15:16:55 +01:00
Kian Paimani 087736e390 Manadatory Weight (#931)
* upsub

* Revert branch change

* Fix some

* Fix build
2020-03-26 12:10:18 +01:00
Tomasz Drwięga c8150e1d33 Transaction source (#5366) companion PR (#938)
* Add transaction source.

* Bump substrate.

* Fix tests.
2020-03-26 10:38:01 +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
thiolliere 62cddd6fcb Update substrate for new on_initialize syntax and update on_initialize weight (#937)
* update new on_initialize syntax

* update substrate

* update spec_version
2020-03-25 14:10:11 +01:00
Shawn Tabrizi d52c3a45a7 Add CI check for runtme-benchmarks (#936) 2020-03-25 11:27:29 +01:00
Kian Paimani 92191ae91a Remove files (#932) 2020-03-24 12:37:52 +01:00
Shawn Tabrizi 9283855dba Fix runtime benchmarks build (#929) 2020-03-23 20:09:37 +01:00
Gav Wood 5f04e1aa52 Version bump 2020-03-23 16:29:10 +01:00
Fedor Sakharov 88ba024489 Parachains double vote handler initial implementation. (#840)
* Parachains double vote handler initial implementation.

* Make tests test the actual slashing.

* Implement SignedExtension validation of double vote reports.

* Fixes build after merge

* Review fixes

* Adds historical session proofs

* Review fixes.

* Bump runtime spec_version

* Get the session number from the proof

* Check that proof matches session

* Change signature type on DoubleVoteReport

* Adds docs and removes blank lines

* Removes leftover code

* Fix build

* Fix build after a merge

* Apply suggestions from code review

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Prune ParentToSessionIndex

* Remove a clone and a warning

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Gavin Wood <gavin@parity.io>
2020-03-22 09:48:35 +03: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
Gavin Wood 6a7374aca3 Remove migration code. (#910)
* Remove migration code.

* Bump Substrate

* Bump runtime
2020-03-21 13:37:55 +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
Gavin Wood a9a1034af5 Refactor storage hashing away from opaque types (#903)
* Refactor storage of various modules.

* The real list of claims

* Migration away from opaque maps

* Fix

* Fix for task executor API change
2020-03-17 11:54:13 +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
Shawn Tabrizi 70a5bda2ce Benchmark Polkadot Claims Pallet (#876)
* fix

* Starting to add benchmarks

* make compile

* add benchmarks

* Make work with Substrate master

* Bench validate unsigned

* back to polkadot master

* starting to add cli with feature flag

* more stuff

* Add to kusama

* Update Cargo.lock

* fix dev dep

* bump wasm builder

* Remove encode from keccak benchmark

* bump spec

* Add weight documentation

* Update Cargo.lock

* Update check_runtime.sh

* Update publish_draft_release.sh

* Update Cargo.lock

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2020-03-13 10:42:31 +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
Gavin Wood e13fdc884c Merged companions and update Subtrate (#882)
* 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

* Make needed changes to service

* Merge two companion PRs.

- #880
- #881

* Some effort towards compilation

* Fix

* remove `NetworkSpecialization` references from network

* fix compilation errors in service and collator

* ensure protocol name is valid

* Fixes

* Fix

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
2020-03-05 23:20:42 +01: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 8a38b7af3c Update to latest Substrate master (#863)
* Begin to update to latest Substrate master

* Fix compilation

* Remove `Balances` from `OnKilledAccount`

* Update cli/src/command.rs

Co-Authored-By: Cecile Tonglet <cecile@parity.io>

* Change gossip name

* Change again

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-02-28 12:32:16 +01: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
Shawn Tabrizi c01ef7198f Separate WeightToFee calculation for Kusama and Polkadot (#854)
* Separate `WeightToFee` calculation for Kusama and Polkadot

* Bump spec
2020-02-19 13:23:50 -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
Shawn Tabrizi e3a3d05350 Make ED not zero (#838) 2020-02-15 15:14:17 +01: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
Robert Habermeier 295151338d Introduce a maximum code size and head data size (#835)
* add a maximum code size and head data size

* get existing tests passing

* add tests for slots logic

* test registrar behavior

* introduce maximums and bump versions

* address review grumbles

* work around publicizing derive

* remove unneeded and wrong doc
2020-02-11 19:21:56 +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
Gavin Wood 131ad136cb Update Substrate (#812)
* Update to latest Substrate master

* upgrade decl_storage declaration

* Companion PR to Substrate#4752

* Substrate update: Identity should bound additional fields (#4770)

Substrate commit: 2c9ce7296b19934b1ffd50150be2fdb2ddf81a4e

* WIP

* WIP

* Updated substrate and fixes

* Fix compilation and switch to latest wasm-builder-runner

* Fixed missing doc

* Update collator/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2020-01-31 11:47:02 +00:00
Gavin Wood 6c32055fbe Update Substrate (#808)
* Update to latest Substrate master

* upgrade decl_storage declaration

* Companion PR to Substrate#4752

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2020-01-29 20:46:51 +01:00
Gavin Wood ed8a4c29bb Fix weights (#807) 2020-01-29 14:03:31 +01:00