Gavin Wood
ff5765eac3
Repot frame_support::traits; introduce some new currency stuff ( #8435 )
...
* Reservable, Transferrable Fungible(s), plus adapters.
* Repot into new dir
* Imbalances for Fungibles
* Repot and balanced fungible.
* Clean up names and bridge-over Imbalanced.
* Repot frame_support::trait. Finally.
* Make build.
* Docs
* Good errors
* Fix tests. Implement fungible::Inspect for Balances.
* Implement additional traits for Balances.
* Revert UI test "fixes"
* Fix UI error
* Fix UI test
* Fixes
* Update lock
* Grumbles
* Grumbles
* Fixes
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-03-27 14:37:13 +01:00
Shaun Wang
2e5522444a
Replace 'Module' with 'Pallet' in construct_runtime macro ( #8372 )
...
* Use 'Pallet' struct in construct_runtime.
* Fix genesis and metadata macro.
* Fix 'Pallet' type alias.
* Replace 'Module' with 'Pallet' for all construct_runtime use cases.
* Replace more deprecated 'Module' struct.
* Bring back AllModules and AllPalletsWithSystem type, but deprecate them.
* Replace deprecated 'Module' struct from merge master.
* Minor fix.
* Fix UI tests.
* Revert UI override in derive_no_bound.
* Fix more deprecated 'Module' use from master branch.
* Fix more deprecated 'Module' use from master branch.
2021-03-18 08:50:08 +00:00
Kian Paimani
b6c626399e
Audit fixes for election/staking decoupling part 2 ( #8167 )
...
* Base features and traits.
* pallet and unsigned phase
* Undo bad formattings.
* some formatting cleanup.
* Small self-cleanup.
* Make it all build
* self-review
* Some doc tests.
* Some changes from other PR
* Fix session test
* Update Cargo.lock
* Update frame/election-provider-multi-phase/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Some review comments
* Rename + make encode/decode
* Do an assert as well, just in case.
* Fix build
* Update frame/election-provider-multi-phase/src/unsigned.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Las comment
* fix staking fuzzer.
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Add one last layer of feasibility check as well.
* Last fixes to benchmarks
* Some more docs.
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Some nits
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Fix doc
* Mkae ci green
* Audit fixes for election-provider: part 2 signed phase.
* Fix weight
* Some grumbles.
* Try and weigh to get_npos_voters
* Fix build
* Fix line width
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Fix tests.
* Fix build
* Reorg some stuff
* More reorg.
* Reorg done.
* Fix build
* Another rename
* Fix build
* Update frame/election-provider-multi-phase/src/mock.rs
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
* nit
* better doc
* Line width
* Fix build
* Self-review
* Self-review
* Fix wan
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* fix build and review comments.
* Update frame/election-provider-multi-phase/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* add comment
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
2021-03-16 12:44:30 +01:00
Kian Paimani
7c0904e5c2
Don't log to debug for every failed extrinsic. ( #8355 )
2021-03-15 09:45:48 +01:00
Guillaume Thiolliere
9c4e4d453c
Fix doc build with --all-features ( #8277 )
...
* implement
* make default pre/post_upgrade
* simplify Cargo.toml
* revert removal of outdated/private links
* link in pallet-mmr
2021-03-05 16:08:44 +01:00
Gavin Wood
e993f884fc
Self-sufficient account ref-counting ( #8221 )
...
* Self-sufficient account ref-counting
* Fixes
* Update frame/system/src/lib.rs
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* fix build
* Update frame/system/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-03-03 22:28:05 +01:00
Shawn Tabrizi
cdc59db5b7
Make Benchmark Output Analysis Function Configurable ( #8228 )
...
* Integrate `output-analysis`
* fix test
* use default
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update frame/system/src/weights.rs
* cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs --output-analysis=max
* Update frame/system/src/weights.rs
* dont discard value_dist and model
* feedback
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
2021-03-02 15:56:51 +00:00
Bastian Köcher
68390d4085
Init RuntimeLogger automatically for each runtime api call ( #8128 )
...
* Init `RuntimeLogger` automatically for each runtime api call
This pr change the runtime api in such a way to always and automatically
enable the `RuntimeLogger`. This enables the user to use `log` or
`tracing` from inside the runtime to create log messages. As logging
introduces some extra code and especially increases the size of the wasm
blob. It is advised to disable all logging completely with
`sp-api/disable-logging` when doing the wasm builds for the on-chain
wasm runtime.
Besides these changes, the pr also brings most of the logging found in
frame to the same format "runtime::*".
* Update frame/im-online/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update test-utils/runtime/Cargo.toml
* Fix test
* Don't use tracing in the runtime, as we don't support it :D
* Fixes
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-03-01 15:29:17 +01:00
Xiliang Chen
8ac2cd57cc
emit event on remark ( #8120 )
...
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-02-28 11:02:46 +01:00
Benjamin Kampmann
0b4126ca40
Frame Benchmarking v3.1.0 released ( #8206 )
...
* Releasing frame-benchmarking 3.1
* bump in the entire dependency tree
2021-02-25 17:04:36 +01:00
Guillaume Thiolliere
5232e8ad5c
allow to write pre and post runtime upgrade in pallet macro ( #8194 )
2021-02-25 11:43:48 +01:00
Martin Pugh
ab325993b4
Remove suicide from frame_system weights ( #8184 )
...
* remove suicide from frame_system weights
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update frame/system/src/weights.rs
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-02-23 17:37:17 +00:00
Guillaume Thiolliere
ecf4404903
Migrate examples to use pallet macro ( #8138 )
2021-02-22 12:33:35 +01:00
Bastian Köcher
20527aec0e
Fix warning in rustdoc job ( #8159 )
...
* Fix warning in rustdoc job
* More fixes
* Remove `build-rust-doc` job
Remove this job until upstream is fixed:
https://github.com/rust-lang/rust/issues/82284
* CI: temp. remove of the publishing job, no use of it w/o build
Co-authored-by: Denis P <denis.pisarev@parity.io >
2021-02-19 15:04:23 +01:00
Peter Goodspeed-Niklaus
44d5aba80d
Create a macro which automates creation of benchmark test suites. ( #8104 )
...
* Create a macro which automates creation of benchmark test suites.
* bump impl_version
* allow unused on test_bench_by_name
* use proper doctest ignore attribute
* Explicitly hand the Module to the test suite
Much better practice than depending on it showing up implicitly in
the namespace.
* explicitly import what we need into `mod tests`
* bench_module is `ident` not `tt`
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* allow end users to specify arguments for new_test_ext
This turned out to be surprisingly easy. On reflection, it turns out
that of course the compiler can't eagerly evaluate the function call,
but needs to paste it in everywhere desired.
* enable explicitly specifying the path to the benchmarks invocation
also enable optional trailing commas
* Revert "bump impl_version"
This reverts commit 0209e4de33fd43873f8cfc6875815d0fd6151e63.
* list failing benchmark tests and the errors which caused the failure
* harden benchmark tests against internal panics
* suppress warning about ignored profiles
unfortunately, setting the profile here doesn't do anything; we'd
need to set it in every leaf package anyway. However, as this was
just making the default explicit anyway, I think it's safe enough
to remove entirely.
* impl_benchmark_test_suite for assets
* impl_benchmark_test_suite for balances
* impl_benchmark_test_suite for bounties
* impl_benchmark_test_suite for Collective
* impl_benchmark_test_suite for Contracts
* impl_benchmark_test_suite for Democracy
* don't impl_benchmark_test_suite for Elections-Phragmen
* impl_benchmark_test_suite for Identity
Note that Identity tests currently fail. They failed in an identical
way before this change, so as far as I'm concerned, the status quo is
good enough for now.
* impl_benchmark_test_suite for ImOnline
* impl_benchmark_test_suite for indices
For this crate also, the test suite fails identically with and without
this change, so we can say that this change is not the cause of the
tests' failure to compile.
* impl_benchmark_test_suite for lottery
* impl_benchmark_test_suite for merkle-mountain-range
* impl_benchmark_test_suite for Multisig
These tests fail identically with and without the change, so the change
seems unlikely to be the origin of the failures.
* impl_benchmark_test_suite for offences
* impl_benchmark_test_suite for Proxy
Fails identically with and without this change.
* impl_benchmark_test_suite for scheduler
* impl_benchmark_test_suite for session
It turns out to be important to be able to exclude items marked
`#[extra]` sometimes. Who knew?
* impl_benchmark_test_suite for staking
* impl_benchmark_test_suite for system
* impl_benchmark_test_suite for timestamp
* impl_benchmark_test_suite for tips
* impl_benchmark_test_suite for treasury
* impl_benchmark_test_suite for utility
Note that benchmark tests fail identically before and after this change.
* impl_benchmark_test_suite for vesting
* fix wrong module name in impl_benchmark_test_suite in Offences
* address line length nits
* enable optional keyword argument: exec_name
Took a _lot_ of macro-wrangling to get the functionality that I want,
but now you have the option to pass in
```rust
impl_benchmark_test_suite!(
Elections,
crate::tests::ExtBuilder::default().desired_members(13).desired_runners_up(7),
crate::tests::Test,
exec_name = build_and_execute,
);
```
and have it expand out properly. A selected fragment of the expansion:
```rust
fn test_benchmarks() {
crate::tests::ExtBuilder::default()
.desired_members(13)
.desired_runners_up(7)
.build_and_execute(|| {
```
* get rid of dead code
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-02-16 10:01:20 +01:00
Shawn Tabrizi
b5e692104c
Add code blocks to doc diagrams ( #8118 )
2021-02-15 12:10:30 +01:00
Benjamin Kampmann
6a964c5df0
Releasing 3.0 ( #8098 )
...
* bumping version for next release
* add changelog
* add guide
2021-02-10 19:23:18 +01:00
Guillaume Thiolliere
e78d139676
pallet macro: easier syntax for #[pallet::pallet] with struct Pallet<T>(_) ( #8091 )
2021-02-10 10:27:05 +01:00
Bastian Köcher
f174e14793
Switch to latest impl-trait-for-tuples ( #8082 )
...
Switches to the latest version everywhere now, as I fixed the problems
in the crate ;)
2021-02-09 13:31:44 +01:00
Guillaume Thiolliere
0ed683ca13
Use construct_runtime in tests ( #8059 )
...
* impl some more
* add serde
* remove unused
* fix staking fuzz
* fix system bench
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-02-06 20:12:46 +00:00
Shaopeng Wang
06b432caba
frame-system: Index type 'MaybeSerializeDeserialize' bound. ( #8035 )
2021-02-03 11:45:52 +01:00
Guillaume Thiolliere
f48296e9ad
Update parity-scale-codec to 2.0 ( #7994 )
...
* update cargo.toml
* use 2.0 in mmmr
2021-01-29 12:22:45 +00:00
Guillaume Thiolliere
48810cd75b
Make pallets use construct_runtime ( #7950 )
...
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: David <dvdplm@gmail.com >
2021-01-25 13:20:47 +01:00
Andrew Jones
71ef82afbc
Migrate frame-system to pallet attribute macro ( #7898 )
...
* PRINT_PALLET_UPGRADE=1 cargo check -p frame-system
* Copy attributes, imports, mods and type defs
* Copy Config trait
* Annotate constants
* Tabify
* Migrate hooks
* Upgrade template rename interface to hooks
* Migrate pallet call
* Migrate Event
* Migrate Error
* Migrate Origin
* Remove optional validate_unsigned
* Remove remaining TODO_MAYBE_WHERE_CLAUSE
* Overwrite original lib.rs with migrated lib2.rs.
* Add required Event IsType constraint
* Add disable supertrait check
* Fix leftover Trait trait
* Add missing pallet prefix for weight attributes
* Add missing Error type parameter
* Add missing Hooks type parameter
* Private call visibility, restore original helper types and helpers etc
* Fix hooks type parameter
* Rename RawEvent to Event
* Add missing storage type annotations
* Remove unused imports
* Add GenesisConfig helpers for compat
* Fix unused import warnings
* Update frame/support/procedural/src/storage/print_pallet_upgrade.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Fix test errors and warnings
* Fix remaining errors and warnings
* Apply review suggestion: fix formatting
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Apply review suggestion: annotate BlockLength as constant
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Apply review suggestion: add triling comma
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Apply review suggestion: add triling comma
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Apply review suggestion: add trailing comma
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Apply review suggestion: fix storage type indentation
* Apply review suggestion: remove redundant Origin type alias
* Add missing codec derives for BlockLength
* Restore module docs
* Module -> Pallet renamel
* Revert "Update frame/support/procedural/src/storage/print_pallet_upgrade.rs"
This reverts commit d2a2d5b6
* Apply review suggestion: merge crate imports
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* Revert "Upgrade template rename interface to hooks"
This reverts commit 306f0239
* Single line import
* Refactor generated genesis build
* Import sp_io::storage
* Revert previous, fully qualify sp_io::storage
* Fix ui tests
* Fix errors after merge, missing changes
* Set UpgradedToDualRefCount to true in genesis build
* Annotated Runtime version with constant, exposing it via metadata
* Add metadata attribute
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-01-20 10:48:19 +00:00
Gavin Wood
f1d36a7103
Introduces account existence providers reference counting ( #7363 )
...
* Initial draft
* Latest changes
* Final bits.
* Fixes
* Fixes
* Test fixes
* Fix tests
* Fix babe tests
* Fix
* Fix
* Fix
* Fix
* Fix
* fix warnings in assets
* Fix UI tests
* fix line width
* Fix
* Update frame/system/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/system/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fix
* fix unused warnings
* Fix
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Fix
* fix slash and comprehensive slash test
* fix reserved slash and comprehensive tests
* check slash on non-existent account
* Revert "Fix UI tests"
This reverts commit e0002c0f13442f7d0c95a054a6c515536328a4a0.
* Fix
* Fix utility tests
* keep dispatch error backwards compatible
* Fix
* Fix
* fix ui test
* Companion checker shouldn't be so anal.
* Fix
* Fix
* Fix
* Apply suggestions from code review
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update frame/balances/src/lib.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* return correct slash info when failing gracefully
* fix missing import
* Update frame/system/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Fix
* Update frame/balances/src/tests_local.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
2021-01-16 18:47:28 +01:00
Guillaume Thiolliere
014e6f03c6
bumpd minor version ( #7873 )
2021-01-12 09:25:47 +01:00
Igor Matuszewski
028f3d2674
Merge 2.0.1 backport branch into mainline master ( #7842 )
...
* Backport paritytech/substrate#7381
* Bring back genesis storage build in aura/timestamp
To not change spec version, see
https://github.com/paritytech/substrate/pull/7686#discussion_r540032743
* Backport paritytech/substrate#7238
* Backport paritytech/substrate#7395
* Bump impl_version
* Fix UI tests and bump trybuild dep
See https://github.com/rust-lang/rust/pull/73996
Backports:
https://github.com/paritytech/substrate/pull/7764
https://github.com/paritytech/substrate/pull/7656
* Partially backport paritytech/substrate#7838
* Release frame-support with a dep compilation fix
* Bump patch level for remaining crates
This is done because at the time of writing cargo-unleash does not fully
support partial workspace publishing and mixes both local and crates.io
versions of the packages, leading to errors in the release check workflow.
* Backport paritytech/substrate#7854
...to fix compilation error when using futures-* v0.3.9.
* Adding Changelog entry for patch release
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: Benjamin Kampmann <ben@parity.io >
2021-01-11 11:24:29 +01:00
Andronik Ordian
2b48e09b24
upgrade a few dependencies ( #7831 )
...
* upgrade a few dependencies
* make it compile at the expense of duplicate deps
* fix web-wasm and a warning
* introduce activate-wasm-bindgen-features crate
* Revert "introduce activate-wasm-bindgen-features crate"
This reverts commit 5a6e41e683f8a4844c0a735dcd08caabb2313f11.
* add getrandom feature to sc-consensus-aura
2021-01-06 16:12:17 +00:00
Stanly Johnson
d2ac8bd941
fix : remove _{ } syntax from benchmark macro ( #7822 )
...
* commented use of common
* hack to pass tests
* another hack
* remove all commented code
* fix the easy tests
* temp hack
* follow through comma hack until better solution
* patch macro
* missed one
* update benchmarks
* update docs
* fix docs
* removed too much
* fix changes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-01-06 01:51:02 +00:00
Bastian Köcher
e3e651f72c
Happy new year ( #7814 )
...
* Happy new year
Updates the copyright years and fixes wrong license headers.
* Fix the template
* Split HEADER into HEADER-APACHE & HEADER-GPL
2021-01-04 09:03:13 +00:00
Alexander Theißen
ec2c70396e
Define ss58 prefix inside the runtime ( #7810 )
...
* Add SS58Prefix type to the frame_system config trait
* Remove unused chain_id runtime interface
2020-12-30 22:07:37 +00:00
Guillaume Thiolliere
6dfad0921b
Add pallet attribute macro to declare pallets ( #6877 )
...
* rename system Config to system Trait.
command used:
```
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/system::Trait>::/system::Config>::/g' {} \;
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl frame_system::Trait for /impl frame_system::Config for /g' {} \;
find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl system::Trait for /impl system::Config for /g' {} \;
```
plus some manual ones especially for frame-support tests and frame-system
* make construct_runtime handle Pallet and Module
pallets can now be implemented on struct named Pallet or Module, both
definition are valid.
This is because next macro will generate only Pallet placeholder.
* introduce pallet attribute macro
currently just with tests, frame_system and other example hasn't been
upgraded
* allow to print some upgrade helper from decl_storage
* Improved error msg, typo.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Improved error msg, typo.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Improved error message on unexpected attributes + ui test
* add test for transactional
* various typo
* some tips when spans are lost
* allow pallet to depend on other pallet instances
* make event type metadata consistent with call and constant
* error messages
* ignore doc example
* fix pallet upgrade template
* fixup
* fix doc
* fix indentation
* Apply suggestions code formatting
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* some renames + fix compilation
* remove unsupported genesis config type alias
* merge fixup
* fix ui tests
* additional doc
* implement StorageInstance with new syntax
* fix line width
* fix doc: because pallet doc goes below reexport doc
* Update frame/support/procedural/src/pallet/parse/event.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com >
* Update frame/system/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/support/test/tests/pallet_ui.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* improve doc as suggested
* revert construct_runtime Pallet part.
This revert the changes on construct_runtime. Now construct_runtime is
unchanged and instead pallet macro create a type alias
`type Module<..> = Pallet<..>` to be used by construct_runtime
* refactor with less intricated code
* fix ui test with new image
* fix ui tests
* add minor tests
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Andrew Jones <ascjones@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-12-24 11:33:40 +00:00
Bastian Köcher
ce97b6e5c4
Make it possible to calculate the storage root as often as you want ( #7714 )
...
* Make it possible to calculate the storage as often as you want
So, until now each Substrate based blockchain has calculated the storage
root once, at the end of the block. Now there is Frontier that wants to
calculate some intermediate storage root. However this failed on block
import. The problem with that was the extrinsics root. When building the
block we stored `Default::default()` as extrinsics root, because yeah,
we don't know the extrinsics root before finishing the block. At the end
this extrinsics root was then calculated. But on block import we passed
the already known extrinsics root. This was no problem, as we removed
this value at the end of the block. However when you all the storage
root in between, that changes the storage root between block building
and block import.
This pr changes this behavior. It removes the `ExtrinsicsRoot` storage
entry and also doesn't pass it anymore to `System::initialize`. By doing
it, we remove the difference in the storage and fix the storage root mismatch.
* Fix bug with incorrectly calculating the extrinscs root
* Review feedback
2020-12-21 18:08:22 +01:00
Sergei Shulepov
581e723a11
Leave some header related info for inspection ( #7727 )
...
* Leave some system data for inspection
There is not much benefit in being active when removing this data. It's
actively harmful when one tries to read the block number in runtime
APIs in the context of a block.
* Update the expected root hash
This is excepted since now we persist new members.
* Revert extrinsics_root to `take`
It's going away in one of the following PRs anyway
* Update the state root once again
* Update the comment on the storage items that are left in the storage
Excluding ExtrinsicsRoot since it's going away
2020-12-15 19:07:04 +00:00
Tomasz Drwięga
aa2191642f
Avoid too high values. ( #7716 )
2020-12-14 12:34:41 +00:00
Tomasz Drwięga
39a776cd00
Streamline frame_system weight parametrization ( #6629 )
...
* Basic weights builder.
* Fixing WiP
* Make the tests work.
* Fix weights in node/runtime.
* WiP.
* Update pallets with new weights parameters.
* Validate returns a Result now.
* Count mandatory weight separately.
* DRY
* BREAKING: Updating state root, because of the left-over weight-tracking stuff
* Update tests affected by Mandatory tracking.
* Fixing tests.
* Fix defaults for simple_max
* Update frame/system/src/weights.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Rework the API a bit.
* Fix compilation & tests.
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Add extra docs & rename few things.
* Fix whitespace in ASCII art.
* Update frame/system/src/limits.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fix max_extrinsic calculations.
* Fix conflicts.
* Fix compilation.
* Fix new code.
* re-remove generic asset
* Fix usage.
* Update state root.
* Update proxy.
* Fix tests.
* Move weights validity to integrity_test
* Remove redundant BlockWeights.
* Add all/non_mandatory comment
* Add test.
* Remove fn block_weights
* Make the macro prettier.
* Fix some docs.
* Make max_total behave more predictabily.
* Add BlockWeights to metadata.
* fix balances test
* Fix utility test.
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
2020-12-08 13:18:34 +01:00
Gavin Wood
80af50b830
Features needed for reserve-backed stablecoins ( #7152 )
...
* Features needed for reserve-backed stablecoins
* Builds & tests.
* Double map for an efficient destroy.
* Update frame/assets/src/lib.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
* ED/zombie-count/refs
Feature: ED/minimum balance enforcement
Feature: enforce zombie count
Feature: allow system-alive accounts to exist, but add reference
* Update frame/assets/src/lib.rs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
* Update frame/assets/Cargo.toml
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
* Docs
* Some tests
* More tests
* Allow for max_zombies to be adjusted
* Test for set_max_zombies
* Tests and a couple of fixes
* First few benchmarks
* Benchmarks.
* Fix error message in test
* Fixes
* Fixes
* Fixes
* cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
* Update frame/assets/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Fixes
* Fixes
* Fixes
* cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
* Fixes
* Update default weight
* Add proper verification to benchmarks
* minor improvements to tests
* Update frame/assets/src/benchmarking.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fix
* New weights system
* fix compile
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-12-04 16:57:09 +01:00
Shawn Tabrizi
762b4b25d0
Fix CI Link Check ( #7639 )
...
* fix trigger fingers
* more
* Update frame/example-offchain-worker/README.md
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2020-11-30 22:01:18 +00:00
Guillaume Thiolliere
15b0dece54
Renames of Trait to Config in README.md, weight templates and few minor ones ( #7636 )
...
* manual rename
* renamse in README.md
* fix template
2020-11-30 20:33:49 +00:00
Guillaume Thiolliere
1cbfc9257f
Rename pallet trait Trait to Config ( #7599 )
...
* rename Trait to Config
* add test asserting using Trait is still valid.
* fix ui tests
2020-11-30 14:34:54 +00:00
Caio
cf6c2518f5
Remove development TODO from public doc comment ( #7500 )
2020-11-09 18:00:33 +01:00
Caio
20d91a915f
Remove development TODO from public doc comment ( #7485 )
...
* Remove development TODO from public doc comment
* Update frame/system/src/offchain.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-11-03 20:54:07 +01:00
Guillaume Thiolliere
1679919830
Fix benchmarks template whitespaces ( #7447 )
...
* fix
* actual fix
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update frame/system/src/weights.rs
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-10-28 13:34:03 +00:00
Shawn Tabrizi
e4cfb2556d
New Weight Template + Organization ( #7391 )
...
* add_handlebar_template_to_benchmark
- add benchmark-cli arg to take in a handlebar-template file
* update to always use template
* rewrite writer for handlebars
* polish
* pass cmd data
* update docs
* new weight layout
* separate templates
* support custom filename output
* Update command.rs
* Create frame-weight-template.hbs
* use a vector to maintain benchmark order
* bring back ()
* fix tests
* fix build
* Custom string serializer, remove feature flag
* temp
* rename
* nit
* update docs
* docs on public objects
* small fix
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* remove long line
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for system
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for staking
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_identity --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/identity/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for identity and staking
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_collective --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/collective/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for collective
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for democracy
* clean up zeros
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for elections phragmen
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_im_online --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/im-online/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for im online
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_indices --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/indices/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for indices
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_multisig --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/multisig/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for multisig
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_proxy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/proxy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for proxy
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_scheduler --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/scheduler/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for scheduler
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_session --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/session/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for session
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for timestamp
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for treasury
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for utility
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_vesting --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/vesting/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* update for vesting
* temp update
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
Co-authored-by: Ezadkiel Marbella <zadkiel.m@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
2020-10-27 20:26:12 +00:00
Bastian Köcher
5808f467c5
Make Substrate compile with latest nightly ( #7381 )
...
* Try to get it compiling
* One more
* Make stable happy
* Make stable even more happy ;)
* Update shell.nix
2020-10-23 21:08:04 +02:00
Shawn Tabrizi
13be04e0a7
Constant Weight Signature in Benchmarking CLI ( #7233 )
...
* Don't remove unused components
* add more metadata to generated file
* unused code
* proposed format
* Revert "proposed format"
This reverts commit ce522c3480157ab6670bcbd9b17e1398168cabf4.
* Update weight signatures and unused components in benchmarks
* Keep timestamp constant time
* remove component from as_derivative
2020-10-17 12:35:15 +00:00
Kian Paimani
4d036e0053
Fix offchain election to respect the weight ( #7215 )
...
* Mockup
* Fix offchain election to respect the weight
* Fix builds a bit
* Update frame/staking/src/offchain_election.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/staking/src/offchain_election.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Make it build, binary search
* Fix a number of grumbles
* one more fix.
* remove unwrap.
* better alg.
* Better alg again.
* Final fixes
* Fix
* Rollback to normal
* Final touches.
* Better tests.
* Update frame/staking/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Proper maxExtWeight
* Final fix
* Final fix for the find_voter
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2020-10-02 13:45:17 +00:00
Benjamin Kampmann
ecdc94420e
Releasing 2.0 – two dot 😮 ( #7182 )
...
Tagging the release of substrate 2.0
[ci: skip-checks]
2020-09-22 19:47:38 +02:00
Gavin Wood
cbf1a282b5
u32 Refcounts, plus migration ( #7164 )
...
* u32 Refcounts, plus migration
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-09-22 16:20:39 +00:00
Bastian Köcher
86594727d9
Rename ModuleToIndex to PalletRuntimeSetup ( #7148 )
...
* Rename `ModuleToIndex` to `PalletRuntimeSetup`
Besides the renaming it also adds support getting the name of a pallet
as configured in the runtime.
* Rename it to `PalletInfo`
* Remove accidentally added files
2020-09-22 13:39:56 +00:00