Commit Graph

77 Commits

Author SHA1 Message Date
Ignacio Palacios eccc2d036a Fix benchmarks after Parachain Template (#677)
* updates weights

* pallet_unique benchmarks added + weights upstream from v4

* benchmarks fix for parachain template
2021-10-19 13:16:08 +02:00
Alexander Popiak eebadf0bb6 adjust on_disabled type 2021-10-13 18:00:12 +02:00
Alexander Popiak efd4079c9f cargo +nightly fmt 2021-10-13 17:59:22 +02:00
Alexander Popiak 9a28018863 add DisabledValidatorsThreshold to mock config 2021-10-13 17:05:20 +02:00
Alexander Popiak 7360a62558 set substrate deps for pallet-asset-tx-payment 2021-10-13 15:34:47 +02:00
Alexander Popiak cf3e4bedb4 Merge branch 'master' of github.com:paritytech/cumulus into release-statemint-v1 2021-10-12 11:30:17 +02:00
Alexander Popiak 3520acc3f2 Asset Transaction Payment (#488)
* use new pallet name based genesis config names

* use custom substrate and update polkadot

* add initial asset-tx-payment pallet

* update cargo.toml

* add (failing) tests

* dispatch Calls instead of using Pallet functions

* fix fee-refund split

* add test for transaction payment with tip

* update cargo.lock

* update cargo.lock

* remove mint workaround and use Mutable trait

* extract fee charging logic into OnChargeAssetTransaction trait

* use asset-tx-payment in statemint runtime

* make extrinsics public

* make extrinsics public

* use ChargeAssetIdOf type alias

* update deps

* move back to AssetIdOf

* remove extra rpc_http_threads

* use different substrate branch

* Update pallets/asset-tx-payment/src/payment.rs

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

* Update pallets/asset-tx-payment/src/payment.rs

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

* remove overrides

* override substrate deps (again)

* increment spec_version and transaction_version (because we change transaction signing)

* remove direct dependency on pallet-balances from asset-tx-payment

* remove Assets pallet visibility workaround

* add docs and comments

* remove unused imports

* more docs

* add more debug asserts to document assumptions

* add test for tx payment from account with only assets

* add test for missing asset case

* extend test to cover non-sufficient assets

* add a test for Pays::No (refunded transaction)

* add type alias comments

* add more doc comments

* add asset-tx-payment to statemine and westmint

* improve formatting

* update license headers

* add default implementation of HandleCredit for ()

* update doc comments and format imports

* adjust Cargo.toml

* update cargo.lock

* cargo fmt

* cargo fmt

* cargo fmt

* cargo +nightly fmt

* add type alias for OnChargeTransaction

* cargo +nightly fmt

* convert ChargeAssetTxPayment from tuple struct to regular struct

* add more comments

* formatting

* adjust imports and comment

* cargo +nightly fmt

* reformat comment

* use ChargeTransactionPayment's own get_priority + update Substrate

* update Substrate and Polkadot

* cargo fmt

* cargo fmt

* add OperationalFeeMultiplier to asset tx payment tests

* Apply suggestions from code review

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

* add doc links

* charge a minimum converted asset fee of 1 if the input fee is greater zero

* cargo +nightly fmt

* bump spec and transaction version

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-10-11 11:57:37 +02:00
Alexander Popiak eff56f60f3 Upstream Statemine v4 Changes (#649)
* bump runtime spec version

* remove applied runtime migrations

* bump transaction_version

necessary because of extrinsic API changes to pallet-xcm
https://github.com/paritytech/polkadot/pull/3693

* Fix Benchmarks for Statemine-V4 release (#639)

* register validators

* register_as_candidate & leave_intent fixed

* new_session benchmark fixed

* intent_leave_modified

* clean up

* clean up

* benchmark script updated

* update cargo.lock

* done

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Version bump (#648)

* Version bump

fix #646

* Revert "Version bump"

This reverts commit 07517e0e76a37a1dd67176fec0524d0211666635.

* Bump polkadot-collator version

* Update polkadot-parachains/Cargo.toml

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

* Update deps

* Bump version to 4.0.0

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

* cargo toml fix

* update deps and remove DisabledValidatorThreshold

* cargo +nightly fmt

* fix compile error

* fix client tests after Polkadot update

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-10-11 10:27:49 +02:00
Bastian Köcher ede4d527c4 Update references 2021-10-08 11:32:41 +02:00
Bastian Köcher 0fad3ae44c Same procedure as not every day (#636)
* Same procedure as not every day

* Remove warning

* Update
2021-10-01 13:23:56 +02:00
Keith Yeung 1aab3349cc Use DecodeLimit for decoding XCM messages (#605)
* Use DecodeLimit for decoding XCM messages

* Use decode_all_with_depth_limit in appropriate places

* Use decode_all while decoding byte vector

* cargo fmt
2021-09-19 15:29:34 +03:00
Chevdor 1dd000a011 ci: add quick-check with rustfmt (#615)
* ci: add quick-check with clippy and rustfmt

* chore: rustfmt round

* chore: set the same rustfmt config than substrate

* chore: fix formatting

* cI: remove clippy

* ci: switch to nightly for the checks

* ci: fix toolchains and naming

* ci: Limit the check to formatting

* chore: fix formatting

* Update .rustfmt.toml

* Update .rustfmt.toml

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-09-16 16:57:52 +02:00
Andrew Jones 035a576008 Metadata v14 (companion to #3336) (#564)
* Remove event pallet::metadata attributes

* Add scale-info deps, TypeInfo derives, update call variants

* Update metadata runtime APIs

* Add missing scale_info dependency, update rococo runtime API

* Add missing scale_info dependency

* Remove pushed diener patches

* Cargo.lock

* Add missing scale-info dependencies

* Fixes

* Statemint runtime fixes

* Call struct variant empty matches

* Add missing scale-info dependency

* Fixes

* scale-info 1.0

* cargo update -p xcm

* update lock

* Update Cargo.lock

* update to latest polkadot

* remove rpc_http_threads

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

* replace task executor with tokio handler

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

* fix test compilation?

* Update Cargo.lock

* cargo update

* remove unused

* Update substrate and polkadot

* Update test/client/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-09-16 12:11:05 +02:00
Squirrel a0532634e1 less deps (#606) 2021-09-12 23:22:14 +02:00
Robert Habermeier 6c8f1f7b3c bump deps, fix aura-ext pallet, and fill in stubs for XCM (#600)
* bump deps, fix aura-ext pallet, and fill in stubs for XCM

* response handler, asset trap, asset claims

* subscription_service

* update xcmp-queue mock

* fix tests

* Update polkadot deps

Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-09-04 14:57:48 -05:00
Gavin Wood 276e5bdd38 Companion for #3629 (XCM v2) (#571)
* Update .gitignore and bring into line with XCM v2's SendError

* type

* Some work

* Weighed responses

* extra fields to xcm pallet

* Fixes

* Bump
2021-08-28 15:51:49 +02:00
Keith Yeung 906bf97321 Use new MultiLocation syntax everywhere (#570)
* Use new MultiLocation syntax everywhere

* Make tests compile
2021-08-12 11:26:49 +02:00
Gavin Wood b3c38f0926 Companion to #9514 (Remove Filter and use Contains instead) (#566)
* Remove Filter and use Contains instead

* Fixes

* Remove patch

* Bump Polkadot

* bump
2021-08-09 18:07:37 +02:00
Gavin Wood 6283c1fce9 Support XCM v1 (Companion to #2815) (#561)
* support for XCM v1

* Fixes

* Fix.

* Use `xcm::latest`

* Bump Polkadot

Co-authored-by: Bastian Köcher <info@kchr.de>
2021-08-06 19:13:33 +00:00
Bastian Köcher 4f936689ef Update Substrate & Polkadot (#563) 2021-08-05 20:53:32 +02:00
Shaun Wang 47b368ea5c Polkadot companion (XCM-simulator) (#560)
* Use definitions from polkadot.

* Remove unused imports.

* Rerun CI.
2021-08-05 08:43:51 +02:00
Bastian Köcher 594f2f4347 Update Substrate & Polkadot (#540) 2021-07-20 16:11:56 +02:00
Shawn Tabrizi a3c33fd31d make parachain system config consistent (#538) 2021-07-14 23:44:39 -04:00
Keith Yeung 303b194f4a Properly declare #[pallet::validate_unsigned] in ParachainSystem (#537)
* Properly declare #[pallet::validate_unsigned] in ParachainSystem

* Add ValidateUnsigned to construct_runtime in ParachainSystem tests
2021-07-14 21:26:34 -04:00
Sergei Shulepov 59cdbb6a56 Update Polkadot and Substrate (#528)
One breaking change:

- https://github.com/paritytech/substrate/pull/9209
2021-07-07 11:43:12 +00:00
Shaun Wang f119e39033 Fix xcmp message processing condition. (#510)
* Fix xcmp message processing condition.

* add a very simple test

* Update Cargo.lock

* remove comment

* remove comment

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
2021-07-06 16:35:59 +02:00
Sergei Shulepov 3d636b9820 Update Substrate & Polkadot (#519)
* Update Substrate & Polkadot

* Basti improvements

Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-28 20:38:28 +00:00
Xiliang Chen f878c49de5 add RelaychainBlockNumberProvider (#515)
* add RelaychainBlockNumberProvider

* add docs
2021-06-28 14:45:09 +02:00
zjb0807 0aa7880ffe Fix CandidateRemoved event (#503) 2021-06-22 18:59:54 +02:00
JesseAbram 6c688ce9c2 min collator check (#498)
* min collator check

* change statemint/mine min candidates

* Ci pass

* Update pallets/collator-selection/src/lib.rs

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

* Update pallets/collator-selection/src/lib.rs

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

* Apply suggestions from code review

* build fixes

* add error messages to errors

* added validator register check

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-22 18:59:14 +02:00
cheme 5e8933fbca ensure early drop of proof memory. (#500) 2021-06-18 19:29:42 +02:00
Sergei Shulepov fe21865d12 WIP: Update Substrate & Polkadot (#496)
* WIP: Update Substrate

* Update Substrate & Polkadot

* fixes

* more fixes

* few missing origins

* use spawn_essential_handle

* bump polkadot dep

* remove newlines

* fix test

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-17 09:37:03 +02:00
Bastian Köcher 36c3438c74 Rename pallet-session-benchmarking crate (#495)
This is required to support patching Substrate, as otherwise there are
two crates with the same name.
2021-06-16 12:53:42 +02:00
Bastian Köcher d3b4279f14 Adds support for checking the timestamp inherent while validating a block (#494)
* Adds support for checking the timestamp inherent while validating a block

This adds support for checking the timestamp inherent while validating a
block. This will use the relay chain slot number * relay chain slot
duration to calculate a timestamp. This timestamp is used to check the
timestamp in the timestamp inherent.

* Update polkadot-parachains/rococo-runtime/src/lib.rs

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

* Update polkadot-parachains/statemine-runtime/src/lib.rs

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

* Update primitives/timestamp/src/lib.rs

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

* Fix warnings

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-06-16 10:53:47 +02:00
Bastian Köcher a84f7866f5 Make sure system tests are checking for the correct result (#491) 2021-06-13 12:23:13 +02:00
Bastian Köcher d54fdd788e Bring support for calling check_inherents (#490)
* Start

* More work

* Add proc-macro for `validate_block`

* Make everything compile

* Add some test
2021-06-12 20:21:46 +02:00
Guillaume Thiolliere 11a0bca6d7 update substrate/polkadot with construct_runtime changes (#485)
* update substrate/polkadot with construct_runtime changes

* fix update

* Fixes

* More fixes

* fix test, but might be wrong fix

Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-10 17:50:09 +02:00
JesseAbram a7b44a9eff Add session weight (#477)
* session weight

* decouple session benchmarking and collator selection

* removed mock

* licensing

* benchmarking script

* set benchmarking into runtime

* Update scripts/benchmarks.sh

* real weights

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-06-08 13:24:19 +02:00
cheme d935b81e70 Compact proof. (#295)
* compact, need to be made optional and look into/compress child trie
roots/state.

* proto with child trie support

* Missing set_offchain_storage overload.

* right name

* Ignore offchain indexing in validation function.

* patch trie-db

* decompress from iter

* use compressed proof

* remove wasm blob from proof (no inject plugged yet)

* change lock

* update trie

* change in toml

* Revert "change in toml"

This reverts commit aa5c56850ef461ce3cb774213a92af4b1dd6cee5.

* use patch to branches

* i

* i:wq

* switch branch

* ii

* ok, needed to patch the runtime by putting substrate patch in polkadot
project.

* test passing with this conf

* actual lazy code fetch

* patch issue

* Code reorg

* restore commented tests.

* update deps.

* remove polka patch

* fixes

* remove patch

* revert cargo.lock

* cargo update -p sp-trie polkadot-service

* fix collator test (using parent state root).

* Update pallets/parachain-system/src/validate_block/implementation.rs

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

* Remove encode_witness test function.

* Update pallets/parachain-system/src/validate_block/implementation.rs

* Fix compilation

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-08 11:51:32 +02:00
Bastian Köcher 794bc23de4 Do not include :code in the storage proof if not required (#480)
This is basically a hack that prevents the inclusion of `:code` in the
storage proof. A proper fix requires some changes to the trie crate to
not include nodes that aren't read.
2021-06-07 16:17:19 +02:00
Xiliang Chen 33908c1414 update substrate & polkadot (#472)
* update substrate

* try again
2021-06-04 16:43:29 +02:00
Gavin Wood 9d9ed1bc84 Add Statemint (#452)
* Add Statemint

* Versioning.

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Benchmarking

* kick patch (paritytech/statemin#88)

* Westmint Chain Spec (paritytech/statemint#90)

* Tidy the common .toml

* Update weights

* add westmint sudo key comment

* Port consensus stuff

* fix typo

* fix typo ... again

* Recognise Westmint

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Bastian Köcher <info@kchr.de>
2021-06-01 21:31:03 +02:00
Bastian Köcher 16b7b72271 Check that we have set the validation data inherent (#451) 2021-05-28 23:35:26 +02:00
Bastian Köcher 6674430f6e Introduce CollectCollationInfo runtime api (#443)
* Introduce `CollectCollationInfo` runtime api

Instead of using well known keys to communicate information about a
collation between the runtime and the collator, we now use a runtime api
for this.

* Fixes bug

* Apply suggestions from code review

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* Doc update

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-05-17 16:33:33 +02:00
Gavin Wood 84bd37817a Companion for #3007 (Track teleported assets) (#436)
* Companion for #3007: Track teleported assets

* Bump

* Try fix the breakage

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2021-05-12 22:51:28 +02:00
Gavin Wood 63231bc3eb Companion #2995: Dispatchable for teleporting assets (#431)
* Companion #2995: Dispatchable for teleporting assets

* Fixes

* Fixes

* Fixes

* Fixes

* Bump Substrate

* Bump Polkadot

* Fixes
2021-05-11 15:41:52 +02:00
Bastian Köcher d01bc247cb Aura consensus for parachains (#371)
* Update polkadot

* Migrate all uses of MQC heads to merkle proofs

* Mass rename `relay_parent_storage_root`

* Restore parachain-system tests

* Update polkadot and libp2p swarm for testing

* Collapse match into an if let

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

* Start with something

* Update Substrate & Polkadot

* Start to make it compile

* Make it compile

* Begin with something

* Yep

* I'm a hacker

* Bring back the builder

* Make it work in some way

* Compile

* Parachains use their own "slot"

* Adds cumulus-pallet-aura

* Wrap AuRa import queue to disable equivocation checking by default

* Pass slot duration

* Check the seal when validating a block

* Adds missing file

* Try to make the seal working

* Fix it

* Some fixes

* Bring in the latest features to cleanup the code

* Update and make it compile

* Improve the import

* Start fixing

* More work

* Fix fix fix

* Make everything compile

* Small cleanups

* Rename and more docs

* Docs

* Fixes fixes fixes

* Update rococo-parachains/src/chain_spec.rs

* Update client/consensus/aura/src/lib.rs

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

* Update client/consensus/aura/src/lib.rs

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

* Update primitives/parachain-inherent/Cargo.toml

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

* Update primitives/parachain-inherent/Cargo.toml

* Update primitives/parachain-inherent/Cargo.toml

* Update primitives/parachain-inherent/Cargo.toml

Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-05-10 14:43:00 +02:00
Keith Yeung 78ad174b15 Upgrade pallets to FRAMEv2 (#404)
* Upgrade parachain info pallet to FRAMEv2

* Upgrade parachain system pallet to FRAMEv2

* Use Pallet<T> instead of Module<T>

* Upgrade XCMP queue pallet to FRAMEv2

* Correctly specify the metadata for events in xcmp-queue pallet

* Apply suggestions from code review

* Update pallets/parachain-system/src/tests.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-05-08 22:18:01 +02:00
Bastian Köcher 6364eeeef1 Update Substrate & Polkadot (#427)
* Update Substrate & Polkadot

* Fixes
2021-05-04 09:48:41 +02:00
Gavin Wood 3f687171c2 DMP Queue pallet (#416)
* Introduce the converter into the hub

* Parachain recognises Rococo governance body as admin

* Whitespace

* Use UsingComponents for fee payment in XCM

* Fixes

* Fixes for XCM permissions

* Remove encode_call test

* Fixes

* Rococo Collator supports Shell runtime

* Fixes

* Fixes

* Initial draft of DMP Queue pallet

* DMP Queue builds.

* Companion for Polkadot gav-allow-xcm-exec

* Bump

* Fix std

* Fixes

* fix and improve docs

* fix compile errors in tests

* add test for try_service_message

* update cargo.lock

* Fixes

* Make test name read well

* Fixes

* Add a couple of simple tests

* Tests

* Tests

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update pallets/dmp-queue/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Chain ID and ParaID don't collide

* Fixes

* Update pallets/dmp-queue/src/lib.rs

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

* Update pallets/dmp-queue/src/lib.rs

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

* Fixes

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-05-02 16:11:58 +02:00