Commit Graph

89 Commits

Author SHA1 Message Date
Robert Habermeier 3b13cd9a85 Refactor primitives (#1383)
* create a v1 primitives module

* Improve guide on availability types

* punctuate

* new parachains runtime uses new primitives

* tests of new runtime now use new primitives

* add ErasureChunk to guide

* export erasure chunk from v1 primitives

* subsystem crate uses v1 primitives

* node-primitives uses new v1 primitives

* port overseer to new primitives

* new-proposer uses v1 primitives (no ParachainHost anymore)

* fix no-std compilation for primitives

* service-new uses v1 primitives

* network-bridge uses new primitives

* statement distribution uses v1 primitives

* PoV distribution uses v1 primitives; add PoV::hash fn

* move parachain to v0

* remove inclusion_inherent module and place into v1

* remove everything from primitives crate root

* remove some unused old types from v0 primitives

* point everything else at primitives::v0

* squanch some warns up

* add RuntimeDebug import to no-std as well

* port over statement-table and validation

* fix final errors in validation and node-primitives

* add dummy Ord impl to committed candidate receipt

* guide: update CandidateValidationMessage

* add primitive for validationoutputs

* expand CandidateValidationMessage further

* bikeshed

* add some impls to omitted-validation-data and available-data

* expand CandidateValidationMessage

* make erasure-coding generic over v1/v0

* update usages of erasure-coding

* implement commitments.hash()

* use Arc<Pov> for CandidateValidation

* improve new erasure-coding method names

* fix up candidate backing

* update docs a bit

* fix most tests and add short-circuiting to make_pov_available

* fix remainder of candidate backing tests

* squanching warns

* squanch it up

* some fallout

* overseer fallout

* free from polkadot-test-service hell
2020-07-09 21:23:03 -04:00
Shawn Tabrizi 099e41dc9e Companion for #6575 (Add WeightInfo) (#1352)
* Add `WeightInfo`

* fix test

* fix tests

* fix more tests
2020-07-08 18:22:22 +02:00
Shaopeng Wang c9046d9686 Companion for #6500 (decl_module: frame_system as default ident) (#1314)
* Update decl_storage usage with frame_system as default ident.

* More decl_module usage update.

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-08 09:07:19 +02:00
Bastian Köcher 72d0f09659 Companion for #6576 (#1351)
* Companion for #6576

* 'Update substrate'

Co-authored-by: parity-processbot <>
2020-07-06 13:36:00 +02:00
André Silva 19ef40a7c9 babe: enable equivocation reporting on all runtimes (#1330)
* enable BABE equivocation reporting on all runtimes

* runtime: fix parachains mock test runtime

* cargo update -p sp-io

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-07-04 15:19:58 +02:00
Gavin Wood 79954ae589 Reduce Westend deposit requirements (#1341)
* Switch branch

* Return chain ops parts in new_chain_ops

* Remove where param from new_chain_ops

* Add task manager to new_chain_ops return

* Revert branch switch

* Revert "Revert branch switch"

This reverts commit 7c7900c047abd794ddc759aa092811db4961a7a6.

* network/test/src/lib: Adjust network worker polling

Companion for https://github.com/paritytech/substrate/pull/6552.

* Fix adder parachain

* Fix collator tests

* Revert branch switch

* Bump everything

- Remove old migration code
- Reduce deposit requried for westend

* Reapply fixes

* Bump locl

* Fix for #6550

* Fix message

Co-authored-by: Ashley Ruglys <ashley.ruglys@gmail.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2020-07-03 15:35:36 +02:00
Bastian Köcher e7bb3aef39 Check candidate signatures before including them in set_heads (#1335)
* Check candidate signatures before including them in `set_heads`

This work around the bug described in: https://github.com/paritytech/polkadot/issues/1327

We check the candidate signatures in `create_inherent` to ensure that
all are valid. If one isn't valid, we don't include any candidate for
the current inherent.

* Bump runtimes
2020-07-03 10:02:55 +02:00
Gavin Wood aeae0e1422 Revert "Companion PR for Allow specify schedule dispatch origin #6387" (#1340) 2020-07-02 15:09:03 +02:00
Gav Wood 393c4bffe4 Merge branch 'update-scheduler' of https://github.com/xlc/polkadot into xlc-update-scheduler 2020-07-02 15:06:11 +02:00
Bastian Köcher 934f27d92b Downward & Upward messages (#1266)
* 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>
2020-07-01 10:20:38 -04:00
Bryan Chen 710b25d0eb update scheduler 2020-06-21 16:35:22 +12:00
Peter Goodspeed-Niklaus 14ce04c9cd signed wrapper (#1283)
* add signed wrapper, typedef SignedStatement

* typedef SignedAvailabilityBitfield

* implement Signed wrapper

This is strictly an addition as of this commit; nothing is yet
changed in existing behavior.

* inline getters, remove review comment

* move EncodeAs, Signed from node::primitives to primitives::parachain

* Refactor SignedAvailabilityBitfield to use Signed

* don't double-encode real payload

This isn't an ideal solution, because it depends on the
implementation details of how SCALE encodes tuples, but OTOH
that behavior seems unlikely to change anytime soon.

* fix build errors

* cause the runtime to build properly with the new changes

Not sure why cargo check didn't catch this earlier; oh well.

* fix runtime tests and separate SignedStatement from SignedFullStatement

* better explain why CompactStatement exists

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2020-06-20 14:56:33 -04:00
Kian Paimani 3c9d72fb57 Companion for substrate/pull/6334 (#1263)
* fix all runtimes and add test'

* Fix build

* Undo changes to lock file?

* Fix runtime test

* Remove unused imports

* cargo update -p sp-io

* Update Cargo.lock

* bump spec version

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-06-18 09:41:39 +02:00
Guillaume Thiolliere 8492e622ae Companion: remove IsCallable make use of introduced in-origin filtering (#1226)
* remove IsCallable make use of in-origin filter

* update lock

* bump version for runtimes as spec as changed

* trigger CI

* Revert "trigger CI"

This reverts commit 5ac58fd42ac50dfb2fcd41ca866c7f6a605c5112.
2020-06-16 10:32:19 +02:00
Gavin Wood 3e5e67855b Admin facility to move claims with council permission. (#1198) 2020-06-09 11:09:17 +02:00
Marcio Diaz 780f4a564e Companion PR for #6214 (#1204)
* Rename Fixed128 to FixedI128.

* Bump cargo, merge #6236 fixes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-06-06 23:00:32 +02:00
Kian Paimani 491f3bcb88 Comanion for substrate/pull/6173 (#1184)
* Make it work

* Upsub
2020-06-02 19:52:19 +02:00
Bastian Köcher 94f407807e Make sure that vested claims are not transferable (#1160)
* Make sure that vested claims are not transferable

We need to deposit the claimed balance to the destination account before
setting the locks through the vesting module. Otherwise we loose the
locks and the vested claim is directly transferable.

* Add comment

* Enable missing feature for webbrowser check

* Remove unneeded error variant

* Increment `spec_version`'s

* Fix tests
2020-05-28 00:19:23 +02:00
Kian Paimani 357ed9f3ec companion for substrate/pull/6132 (#1159)
* companion for https://github.com/paritytech/substrate/pull/6132

* Fix more tests

* upsub

* Bump

* Update runtime/common/src/lib.rs

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

* remove cleanup

* Update runtime/westend/src/lib.rs

* Apply suggestions from code review

* Fix build

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-05-27 19:13:56 +02:00
Gavin Wood b170d9674f Prepare for final genesis (#1131)
* Update claim statements

* Update URLs

* Minor tweak to make enum agree with URL

* final html multihashes

* New hashes

* Version

* updated SAFT statement hash

* Update runtimes; this relies on substrate #6131

* Bump

* Share transaction filterer and fix Kusama

* Warning

* Gah!

* Tidy

* Westend fixes

* Westend fix

* Tweak constants

* Implement TCF stuff

* Fix

* Warning

* 15 minute lookahead

* 15 minute lookahead in Polkadot

* update max transactions

* Enable utility, disable vested_transfer

* Update runtime/common/src/lib.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Filter calls for validate unsigned also

* Deduplicate

* Fix

* Introduce Polkadot (mainnet) chainspec

* Fix naming.

* Enable indices and fix comment.

* Fix compilation

* Enable indices and fix comment.

* polkadot: babe: enable secondary VRF slots

* Test JSON

* Allow set_heads

* Fix

* Raw chain spec added

Co-authored-by: keorn <github@i.keorn.org>
Co-authored-by: NikVolf <nikvolf@gmail.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
Co-authored-by: André Silva <andre.beat@gmail.com>
2020-05-26 15:27:48 +02:00
Marcio Diaz aa13e5df14 Companion for #5877 (#1123)
* Fixed point methods renames.

* Bump

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Gav Wood <gavin@parity.io>
2020-05-21 22:11:33 +02:00
Shawn Tabrizi b01ee6eb00 Companion for #6046 (#1104)
* Update impls.rs

* companion for substrate#6069

* update to latest changes

* Update Cargo.lock

* Bump

Co-authored-by: André Silva <andre.beat@gmail.com>
Co-authored-by: Gav Wood <gavin@parity.io>
2020-05-21 17:00:45 +02:00
Shawn Tabrizi b407af2672 Companion for Substrate #5961 (on_offence weight) (#1103)
* Add new trait to offences

* companion for substrate#6069

* update to latest changes

* Update Cargo.lock

Co-authored-by: André Silva <andre.beat@gmail.com>
Co-authored-by: Gav Wood <gavin@parity.io>
2020-05-21 14:32:25 +01:00
Tomasz Drwięga e08e5ff462 Companion for #6067 (#1110)
* Companion to #6067

* Fix tests?

* Use AvailableBlockLimit instead of hardcoding the value.

* Bump substrate.
2020-05-20 16:03:28 +02:00
Gavin Wood 8cb7cdbc64 Extra requirements for claimants (#1091)
* Introduce mandatory statement signing into claims

* Introduce SignedExtension

* Tests passing

* Bump runtime version

* Bump version, fix test

* Test for validate

* Another couple of tests

* Enable PrevalidateAttests on Polkadot

* Enable PrevalidateAttests on Polkadot

* Fix build

* Fixes

* More fixes

* Fix bench tests

* Fix & test Preclaim clobbering.

* Fix for errant claim logic

* Add test

* Update tests, always use Vec as input

* mint_claim can add signature, some_benchmarks

* Add claim with statement test

* finish benchmarks

* put the correct number of claims with benchmarks

* fix compiler warning

* Update weights

* Weight comments for validation

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-05-16 12:56:49 +02:00
Benjamin Kampmann b660c226d8 Companion for #6025 (#1098) 2020-05-15 19:35:39 +02:00
joe petrowski 0792aba17f change BlockHashCount parameter (#1086) 2020-05-12 15:19:27 +02:00
Shawn Tabrizi 105b4b4d56 Companion PR for paritytech/substrate#5954 (#1081)
* Update for split weights

* Update `Cargo.lock`

* Bump all `spec_version`s

Co-authored-by: Bastian Köcher <git@kchr.de>
2020-05-12 14:07:20 +02:00
André Silva 41699f5d6e grandpa: report equivocations on all runtimes (#1000)
* grandpa: report equivocations on all runtimes

* runtime: fix test-runtime compilation

* runtime: enable historical session manager on all runtimes

* runtime: fix indentation

* runtime: use strong key types in KeyOwnerProofSystem definitions

* update substrate

* bump spec_version of runtimes
2020-05-06 19:27:28 +01:00
Bastian Köcher 1f5771e898 Companion pr for Substrate #5889 (#1067)
* Companion pr for Substrate #5889

* Update Substrate ref
2020-05-05 14:47:40 +01:00
Shawn Tabrizi f64c2a940f Update Runtime Weights and Fee Calculation (#1064)
* Update Runtime Weights and Fee Calculation

* bump spec

* Order of operations avoids saturation

* Update runtime/polkadot/src/constants.rs

* Use frame consts

* Update Cargo.lock

* Update Cargo.lock

* Update Cargo.lock

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-05-05 09:41:41 +02:00
thiolliere 9ff3091e35 Companion PR for treasury weight update (merged) Fix polkadot with substrate master (#1044)
* fix tests

* add cargo lock

* update substrate
2020-04-28 19:35:46 +02:00
Kian Paimani 7076651c75 Companion Substaret/5683 (#1039)
* update polkadot

* Fix build

* Bump Substrate

Co-authored-by: Gav Wood <gavin@parity.io>
2020-04-27 20:34:46 +02:00
Shawn Tabrizi fb5421b1d6 Add weights to claims (#1036) 2020-04-27 18:56:22 +02:00
Shawn Tabrizi b15cfb736d Add runtime benchmarking suite to all runtimes (#1034)
* Add benchmarking suite to all runtimes

* Add `runtime-benchmarks` feature to `test-linux-stable`

* Update Cargo.lock

* Update Cargo.lock

* Update Cargo.lock

* "user" instead of "caller"

* undo these changes
2020-04-27 16:19:46 +02:00
Shawn Tabrizi 0a10e37c99 Introduce BlockExecutionWeight and ExtrinsicBaseWeight (#1023)
* Update to changes in Substrate

* Fix trait

* Remove `TransactionBaseFee`

* add temporary values for extrinsic base weight and block execution weight

* Update Cargo.lock
2020-04-25 10:04:35 +02:00
Bastian Köcher 88451e0b7c Companion PR to #5695 (#1030)
* add module ids to kusama runtime

* update kusam with polkadot runtimes to have moduleids configured

* trivial

* define module id for treasury in crowdfund.rs

* crodfund builds without issue

* remove commented out code

* switch crowdfund  to configurable moduleid

* test-runtime passing

* trivial syntax

* add module id to mock

* Update `Cargo.lock`

Co-authored-by: zeke <emostov@middlebury.edu>
2020-04-24 12:46:51 +02:00
Rakan Alhneiti 283d9d6dc6 Offchain signing followup (#1017)
* Use the fishermanId for AppCrypto on runtimes

* Make sure at least one transaction was submitted

* Use find_map
2020-04-22 13:36:27 +02:00
Kian Paimani 97fed89079 Companion for substrate/5686 (#1008)
* Companion for substrate/5686

* Update substrate
2020-04-22 09:51:55 +02:00
Rakan Alhneiti 2e521d30ea Companion PR to #5182 - Substrate offchain signing (#985)
* Implement offchain::SendTransactionTypes

* Fix test-runtime

* Fix Kusama

* Add SendTransactiontypes to Kusama

* impl SendTransactiontypes for parachains and registrar

* Fix typos

* Provided extrinsic type

* Implement AppCrypto for signing transactions

* Add signing capabilities to runtime

* Fix test runtimes

* Implement CreateSignedtransaction for Test

* Implement signing types for test runtimes

* Fix test runtime create transaction impl

* Fix build

* Bump kusama's spec version

* Update substrate

* Use all_accounts
2020-04-21 18:50:32 +02:00
cheme 1a4db93c50 Companion to child trie api change #4857 (#950) 2020-04-21 10:39:35 +02:00
Fedor Sakharov cf7cf4bd7d Adds an offchain call to submit double vote reports (#966)
* Adds an offchain call to submit double vote reports

* Some tweaks

* Remove unnecessary IdentifyAccount impls

* Adds ValidateDoubleVoteReports to test runtime

* sp-application-crypto is only a dev dependency
2020-04-16 16:19:51 +01:00
Shawn Tabrizi 58f992fa33 Companion PR for substrate#5446 (Update Weights to u64) (#994) 2020-04-16 11:31:41 +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
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