Commit Graph

1698 Commits

Author SHA1 Message Date
Kian Paimani 47889d845c Fix bench bot (#2900)
* Fix bench bot

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/

* Fix weights files

* Fix'

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-04-21 01:38:19 +00:00
Kian Paimani c384f70067 Companion for substrate/pull/8596 (#2895)
* Add weight types

* Add missing types

* update Substrate

* Fix build

* Fix bench build

* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/

Co-authored-by: parity-processbot <>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
2021-04-18 09:39:34 +01:00
Shawn Tabrizi 23db3479a0 reduce min vested transfer by 100x (#2891) 2021-04-16 20:00:23 +02:00
Joshy Orndorff 196b9a94c6 Expose paras config in rococo runtime (#2886)
* Add it in rococo runtime

* Add to rococo chain spec

* bump spec version

* Update runtime/rococo/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>
2021-04-15 00:43:19 +02:00
Peter Goodspeed-Niklaus f822381c4c Companion for Trim compact solution for length during preparation (#2649)
* Companion for Trim compact solution for length during preparation

https://github.com/paritytech/substrate/pull/8317

* eliminate potential for overflow in OffchainSolutionLengthLimit

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* update substrate: cargo update -p sp-io

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
2021-04-13 13:53:51 +00:00
Guillaume Thiolliere f1f9192a38 Companion for inherent checks: #8173 (#2560)
* impl is_inherent for pallets

* fix

* fix master merge: inherent is

* update Substrate

Co-authored-by: parity-processbot <>
2021-04-13 09:53:29 +00:00
Guillaume Thiolliere d0055b1af8 remove unused and sometime invalid type alias (#2876) 2021-04-12 20:33:46 +02:00
Joshy Orndorff 849b5117f9 rename EPOCH_DURATION_IN_BLOCKS -> EPOCH_DURATION_IN_SLOTS (#2674) 2021-04-12 14:40:44 +00:00
Ashley 195772c5d4 Remove already triggered migrations (#2764)
* Remove BabeEpochConfigMigrations

* Remove remaining migrations

* Remove unused migration definitions
2021-04-12 13:29:52 +02:00
Shawn Tabrizi 2d21599ec5 expose sample length in consts metadata (#2848) 2021-04-12 13:14:03 +02:00
Gavin Wood 359ade2b89 Dedupe some code and companion for #8589 (#2873)
* Dedupe some code and companion for #8589

* Bump Substrate
2021-04-11 12:22:45 +00:00
Gavin Wood 025200fb25 Rococo allows ROC to be teleported from Tick, Trick and Track (#2872)
Also allows unpaid messages from them.
2021-04-10 12:59:50 +02:00
Shawn Tabrizi 2c9a26e192 Change Auctions to Eight Lease Periods Per Slot (#2862)
* initial patch

* fix tests

* fix benchmarks

* expose `SlotRange` consts

* Update Cargo.lock

* fix tests

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-04-10 08:20:53 +00:00
Kian Paimani 6a15b6995f Cost analysis of a council election full block (#2782) 2021-04-10 06:55:19 +02:00
Robert Habermeier 23cfd0edb9 update rococo and remove cursed BEEFY migration (#2870)
* update rococo and remove cursed BEEFY migration

* remove migration

* tweak VERSION
2021-04-10 00:10:14 +02:00
Robert Klotzner 305375e1e4 Req/res optimization for statement distribution (#2803)
* Wip

* Increase proposer timeout.

* WIP.

* Better timeout values now that we are going to be connected to all nodes. (#2778)

* Better timeout values.

* Fix typo.

* Fix validator bandwidth.

* Fix compilation.

* Better and more consistent sizes.

Most importantly code size is now 5 Meg, which is the limit we currently
want to support in statement distribution.

* Introduce statement fetching request.

* WIP

* Statement cache retrieval logic.

* Review remarks by @rphmeier

* Fixes.

* Better requester logic.

* WIP: Handle requester messages.

* Missing dep.

* Fix request launching logic.

* Finish fetching logic.

* Sending logic.

* Redo code size calculations.

Now that max code size is compressed size.

* Update Cargo.lock (new dep)

* Get request receiver to statement distribution.

* Expose new functionality for responding to requests.

* Cleanup.

* Responder logic.

* Fixes + Cleanup.

* Cargo.lock

* Whitespace.

* Add lost copyright.

* Launch responder task.

* Typo.

* info -> warn

* Typo.

* Fix.

* Fix.

* Update comment.

* Doc fix.

* Better large statement heuristics.

* Fix tests.

* Fix network bridge tests.

* Add test for size estimate.

* Very simple tests that checks we get LargeStatement.

* Basic check, that fetching of large candidates is performed.

* More tests.

* Basic metrics for responder.

* More metrics.

* Use Encode::encoded_size().

* Some useful spans.

* Get rid of redundant metrics.

* Don't add peer on duplicate.

* Properly check hash

instead of relying on signatures alone.

* Preserve ordering + better flood protection.

* Get rid of redundant clone.

* Don't shutdown responder on failed query.

And add test for this.

* Smaller fixes.

* Quotes.

* Better queue size calculation.

* A bit saner response sizes.

* Fixes.
2021-04-09 21:30:12 +00:00
Gavin Wood 69bd6d8ef2 Introduce/integrate a collective into Rococo Relay (#2869)
* Introduce a collective into Rococo runtime

* Intregrate Rococo Collective into XCM

* Fixes

* Update runtime/rococo/src/lib.rs

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-04-09 22:16:32 +02:00
Shawn Tabrizi 9babb09900 Introduce System Parachains into Registrar (#2858)
* initial stuff

* adjust deposit

* remove unused

* weight stuff

* Update integration_tests.rs

* Update paras_registrar.rs

* Update paras_registrar.rs

* add test

* Update paras_registrar.rs

Co-authored-by: parity-processbot <>
2021-04-09 21:07:49 +02:00
Gavin Wood c9102c11a4 XCM Revamp Continued (#2865)
* Introduce plurality XCM locations

* Add RelayedFrom

* DMP dispatch weight handling.

* Add pallet for XCM sending, add routing logic.

* Update error types & doc

* Fix warnings.

* Fixes

* Fixes

* Fixes

* Bump Substrate

* Fixes

* Docs

* Docs

* Docs

* Fixes

* Fixes

* Fixes

* Update xcm/pallet-xcm/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Docs

* Fixes

* Update lib.rs

* Fixes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-04-09 20:34:28 +02:00
Shawn Tabrizi 1111c490db Reduce Kusama Fees / Deposits by 50x (#2451)
* Reduce the value of DOLLARS by 50x

* Update lib.rs
2021-04-09 13:02:11 +02:00
Shawn Tabrizi 322e1f3dff ModuleId to PalletId (#2864)
* lock substrate version for testing

* `ModuleId` to `PalletId`

* release substrate version

* Update Cargo.lock

Co-authored-by: Xavier Lau <c.estlavie@icloud.com>
2021-04-09 12:33:21 +02:00
André Silva 68626198f8 runtime: fix the session keys migration that includes the beefy key type (#2855)
Co-authored-by: Andronik Ordian <write@reusable.software>
2021-04-08 21:51:46 +02:00
Robert Habermeier cfb8dfa4fe bump spec versions across the board (#2856) 2021-04-08 19:14:19 +00:00
Gavin Wood adc238ad86 XCM revamp (#2836)
* Remove unused relaying XCM

* Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.

* Revert lock

* Fix

* Broken example

* Introduce fee payment mechanics into XCM.

* Weight limitations on XCM execution

* Mock environment for tests and the first test

* Tests for XCM and a few refactors.

* Remove code that's not ready

* Fix for an XCM and an additional test

* Query response system

* XCMP message dispatch system reimagining

- Moved most of the logic into xcm-handler pallet
- Altered the outgoing XCMP API from push to pull
- Changed underlying outgoing queue data structures to avoid multi-page read/writes
- Introduced queuing for incoming messages
- Introduced signal messages as a flow-control sub-stream
- Introduced flow-control with basic threshold back-pressure
- Introduced overall weight limitation on messages executed
- Additonal alterations to XCM APIs for the new system

* Some build fixes

* Remove the Encode bounds sprayed around

* More faff

* Fix bounds amek use latest scale codec.

* remove println

* fixes

* Fix XcmExecutor Tests

* Fix XCM bounds using derivative crate

* Refactor names of XcmGeneric &c into Xcm

* Repot the xcm-executor into xcm-builder

* Docs

* Docs

* Fixes

* Update xcm/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Fixes

* Docs

* Update runtime/parachains/src/ump.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Docs

* Fixes

* Fixes

* Fixes

* Docs

* Fixes

* Fixes

* Introduce transfer_asset specialisation.

* Fixes

* Fixes

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-04-07 22:38:29 +02:00
Andronik Ordian 1e4517800b fix failing test (#2844) 2021-04-07 16:22:04 +00:00
Shawn Tabrizi b23c9039d8 Reduce Epoch Duration to 10 Min for Rococo (#2839) 2021-04-07 16:41:45 +02:00
Shawn Tabrizi a4a4d20d4c Add Root Functions to HRMP (#2785)
* Update hrmp.rs

* add root functions
2021-04-07 15:21:00 +02:00
Shawn Tabrizi 45be2ac97e Relax Origin Checks in Registrar, Add Lock to Registration (#2808)
* Relax Origin Checks in Registrar

* fix tests

* Update runtime/common/src/paras_registrar.rs

* introduce para locks

* apply a lock after upgrade

* add test

* add lock when creating crowdloan
2021-04-07 15:16:35 +02:00
Robert Habermeier 251b6ca7bf remove WASM_MAGIC (#2832)
* remove WASM_MAGIC

* fix test warnings
2021-04-07 12:00:22 +03:00
stanly-johnson 15dfdd68c0 feat: Add poke to Crowdloan (#2807)
* feat: Add poke to Crowdloan

* fixes

* less hard-coded benchmark

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-04-04 18:01:49 +02:00
Shawn Tabrizi 995d89c237 Crowdloan Dissolve Requires All Funds Refunded (#2770)
* implement auto refund

* add back retiring @jacogr

* bump substrate dep

* trying to get to work

* fix tests

* fix benchmarks

* Update runtime/common/src/crowdloan.rs

* fix docs

* remove unused traits

* remove unused

* unused

* Update runtime/common/src/crowdloan.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Update runtime/common/src/crowdloan.rs

* Update crowdloan.rs

* Update runtime/common/src/crowdloan.rs

* Update runtime/common/src/crowdloan.rs

Co-authored-by: Gavin Wood <gavin@parity.io>

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Gavin Wood <gavin@parity.io>
2021-04-04 13:31:35 +00:00
Shawn Tabrizi 85693d6883 Create Macro for Implementing SlotRange (#2788)
* Macro for generating `SlotRange`

* remove test code

* refactor slots into crate

* add no_std flag

* finish macro

* make compile

* fix copyright date

* don't assume lease periods per slot

* Update runtime/common/Cargo.toml

* Apply suggestions from code review

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* fixes

* Update lib.rs

* tests

* Move consts into struct

* docs

* fix compile

* Apply suggestions from code review

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

* Update Cargo.lock

* Update runtime/common/src/slot_range.rs

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

* Apply suggestions from code review

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

* fixes

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-04-04 13:11:37 +02:00
Robert Habermeier c54f8848d1 add disputes members to HostConfiguration (#2806)
* add disputes members to `HostConfiguration`

* revert bad rename
2021-04-02 19:59:21 +02:00
Guillaume Thiolliere beca01f118 Ease parachain candidate code fetching (#2593)
* code stored in para + modify CandidateDescriptor.

* WIP: digest + some more impl

* validation_code_hash in payload + check in inclusion

* check in client + refator

* tests

* fix encoding indices

* remove old todos

* fix test

* fix test

* add test

* fetch validation code inside collation-generation from the relay-chain

* HashMismatch -> PoVHashMismatch + miscompilation

* refactor, store hash when needed

* storage rename: more specific but slightly too verbose

* do not hash on candidate validation, fetch hash instead

* better test

* fix test

* guide updates

* don't panic in runtime

Co-authored-by: Robert Habermeier <rphmeier@gmail.com>
2021-04-01 23:55:39 +02:00
Robert Habermeier 5338f0f055 tweaks to relevant_authority_ids (#2796) 2021-04-01 19:06:58 +02:00
Robert Habermeier 0794f69306 Add dispute types and change InclusionInherent to ParasInherent (#2791)
* dispute types

* add Debug to dispute primitives in std and InherentData

* use ParachainsInherentData on node-side

* change inclusion_inherent to paras_inherent

* RuntimeDebug

* add type parameter to PersistedValidationData users

* fix test client

* spaces

* fix collation-generation test

* fix provisioner tests

* remove references to inclusion inherent
2021-04-01 18:23:27 +02:00
Gavin Wood a960e2ff6d Companion for OnSetCode #8496 (#2794)
* Make build with OnSetCode

* Fixes

* update Substrate

Co-authored-by: parity-processbot <>
2021-04-01 15:19:57 +02:00
Tomasz Drwięga 5b77a89874 Merkle Mountain Range & BEEFY integration (#2101)
* Switch branch.

* Implement basic MMR leaf.

* Revert "Switch branch."

This reverts commit 7f4d41c67f27ca560c53fc63fd3bd06ac182403c.

* Bump substrate.

* Integrate BEEFY.

Bump all.

Fix missing imports.

* Use beefy pallet to get authorities.

* Bump BEEFY repo.

* Use next authority set instead of the current one.

* Start BEEFY service.

* Fix BEEFY start up.

* Cache BEEFY authority set.

* Add BEEFY ValidatorSetId to MMR

* Fix code.

* Apply suggestions from code review

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Review grumbles.

* Update beefy repo.

* Work-around missing protocol.

* Revert "Work-around missing protocol."

This reverts commit 0a6257a8bccc1c67e966898cdedc408c6469ffd6.

* Add beefy peers set config.

* Expose storage of BEEFY.

* Uncompress BEEFY keys for merkle tree.

* Update ordering.

* Switch to branch.

* Bump deps.

* Switch to custom beefy.

* Add MMR RuntimeApi and custom rpc.

* Add set length details.

* Fix compilation.

* Expose MmrLeaf storage.

* Expose MmrLeaf storage.

* Don't use session handler, and rather compute & cache beefy details on call.

* Don't use session handler, and rather compute & cache beefy details on call.

* Fixes.

* Update Cargo.lock.

* Switch back to master.

* Update lockfile.

* Fix xcm print issue.

* Cargo.lock.

* Use master branch.

* Remove extra dep.

* Fix tests.

* Update Cargo.lock

* Add BEEFY & MMR to westend.

* Implement session keys migration.

* Update testnet script.

* start BEEFY for all node types

* Update Cargo.lock

* fix Cargo.toml

* resolve another merge conflict

* add Westend BEEFY keys

* Apply suggestions from code review

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Update BEEFY.

* Add Rococo BEEFY keys

* resolve merge issue

* fix pallet indices

* fix Westend OldSessionKey

* remove unused imports in Westend runtime

* Fix compilation for Westend.

* address review

* start BEEFY gadget conditionally

* address review again

* fix typo

* remove duplicate

* remove another duplicate

* well

* add missing stuff

* cleanup Cargo.toml files

- revert unnecessary changes
- add missing /std dependencies
- remove unused dependencies

* runtime: remove unused structs from rococo runtime

* node: cleanup service

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
Co-authored-by: adoerr <0xad@gmx.net>
Co-authored-by: André Silva <andrerfosilva@gmail.com>
2021-04-01 12:50:04 +02:00
Gavin Wood bd9bdf5f5f Add proxy and utility pallets. (#2774)
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-03-31 12:32:32 +00:00
Kian Paimani da1f54a19d Add some tests to demonstrate an estimate of the nominator limit (#2724)
* Add some tests to demonstrate an estimate of the nominator limit

* Update runtime/kusama/src/lib.rs

* Update runtime/polkadot/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>

* Fix build

* remove max

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-03-31 09:13:46 +00:00
Shawn Tabrizi 02166f4e0c Add Root Functions to Parachains System (#2777)
* Add Root functions to Paras

* note past code

* fix build

* fix test build

* compile fix and force_queue_action
2021-03-30 21:54:21 +02:00
Shawn Tabrizi 76db00f398 Add Many Sanity Checks to Crowdloans (#2745)
* Add many sanity checks to Crowdloans

* fix tests

* test contribution block in integration test

* fix rococo build

* remove leaser from crowdloans

* fix docs and terms

* fix compile
2021-03-29 16:52:55 +02:00
Shawn Tabrizi afc9bf8f25 Allow Non Intersecting Bids in Para Auction (#2741)
* Update auctions.rs

* Add integration test

* check that bid to another para requires new funds
2021-03-29 14:41:43 +02:00
Robert Klotzner 0a9fe852df Move non runtime related stuff into node/primitives (#2743)
* Remove stuff out of the runtime that does not belong there.

There might be more, but it is a start.

* White space fixes.

* Fix tests.

* Leave whitespace in ui tests alone.

* Add back zstd for no reason.

* Fix browser wasm (hopefully)
2021-03-29 02:15:44 +02:00
Shawn Tabrizi a6fd8f78e6 Emit an Event for Random Block Selected in Auction (#2740)
* Update auctions.rs

* Update auctions.rs
2021-03-29 01:38:16 +02:00
Peter Goodspeed-Niklaus 27b6d83974 use named generic types in generate_solution_type (#2707)
* use named generic types in generate_solution_type

* "Update Substrate"

Co-authored-by: parity-processbot <>
2021-03-28 08:47:52 +00:00
Robert Habermeier ef816b089d Approval voting failsafe (#2675)
* add consensus log type

* origin and issue force_approve

* add origin in runtimes

* ref API

* scrape force_approve digest from header

* add parent_hash to BlockEntry

* add block_number to block entry and force_approve skeleton

* implement and plug in force-approve

* test force_approve

* test force_approve extraction

* westend runtime

* Update node/core/approval-voting/src/approval_db/v1/mod.rs

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

* rename

* Update runtime/parachains/src/initializer.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-03-28 00:57:04 +00:00
Shawn Tabrizi 69c7c52de6 Handle Onboarding in Current Lease Period (#2731)
* Lease out current period and trigger onboard

* Add test for trigger_onboard

* patch and add benchmark

* finish benchmarks

* Use result instead of panic for test_registrar

* nits
2021-03-27 20:16:10 +00:00
RRTTI 66c4936e21 Increase rotation period (#2688)
* Cancel treasury burn and increase rotation period 

What this PR changes:

- Kusama treasury burn to be transferred to the Saociety pot: cancelled temporarily
- Increase the rotation period for candidates to show PoI FROM 3,3 days to 7 days.

* Update runtime/kusama/src/lib.rs

* Update lib.rs

Co-authored-by: Gavin Wood <gavin@parity.io>
2021-03-27 17:37:30 +01:00
Shawn Tabrizi 7f6ef6fb7b Introduce add_memo for Crowdloans (#2728)
* Add memo, but don't use it yet

* add_memo

* add weights

* Update lib.rs

* Update crowdloan.rs

* add event
2021-03-27 16:36:48 +00:00