Kian Paimani
0c69651830
Decouple Staking and Election - Part 2.1: Unleash Multi Phase ( #8113 )
...
* 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
* It all works
* Some self cleanup
* Update frame/staking/src/lib.rs
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
* remove most todos.
* Round of self-review.
* Fix migration
* clean macro
* Revert wrong merge
* remove fuzzer stuff.
* Self review
* Update frame/staking/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* review comments
* add logs
* Add tests to demonstrate the capacity of the snapshot.
* Replace upgrade
* Last touches
* Fix benchmakrs
* 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
* 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
* remove unused stuff
* Fix tests.
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-20 08:43:47 +00: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
Shaun Wang
c7d32ba9a6
Migrate pallet-babe to pallet attribute macro. ( #8310 )
...
* Migrate pallet-babe to pallet attribute macro.
* Remove unnecessary bound in pallet storage.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-03-17 20:47:39 +00:00
Gavin Wood
363db4f086
staking: Flexible generation of reward curve and associated tweaks ( #8327 )
...
* Initial abstraction
* Alter rest of APIs
* Fixes
* Some extra getters in Gilt pallet.
* Refactor Gilt to avoid u128 conversions
* Simplify and improve pow in per_things
* Add scalar division to per_things
* Renaming from_fraction -> from_float, drop _approximation
* Fixes
* Fixes
* Fixes
* Fixes
* Make stuff build
* Fixes
* Fixes
* Fixes
* Fixes
* Update .gitignore
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/gilt/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/gilt/src/mock.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Fixes
* Fixes
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-03-16 12:03:58 +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
André Silva
5182209788
im-online: use EstimateNextSessionRotation to get better estimates of session progress ( #8242 )
...
* frame-support: add method to estimate current session progress
* im-online: use EstimateNextSessionRotation trait to delay heartbeats
* node: fix im-online pallet instantiation
* frame-support: fix docs
* frame: fix tests
* pallet-session: last block of periodic session means 100% session progress
* pallet-session: add test for periodic session progress
* pallet-babe: fix epoch progress and add test
* frame-support: return weight with session estimates
* pallet-im-online: add test for session progress logic
2021-03-12 11:50:07 +00:00
Bastian Köcher
5d73e960da
Convert timestamp to unit type wrapper ( #8333 )
...
The timestamp inherent type was up to now just a simple `u64`. This
worked, but doesn't give you that much guarantees at compile time about
the type. This pr changes that by converting this type to a unit type
wrapper, similar to what we have done for `Slot`.
This is required for some future pr that touches quite a lot of the
inherents stuff :)
Besides this unit wrapper type, this pr also moves the `OnTimestampSet`
trait to `frame_support::traits`.
2021-03-11 23:33:34 +01:00
Robert Habermeier
e2960c383e
more clear randomness API for BABE ( #8180 )
...
* more clear randomness API for BABE
* babe: move randomness utilities to its own file
* node: use babe::RandomnessFromOneEpochAgo in random_seed implementation
* frame-support: annotate randomness trait with block number
* pallet-randomness-collective-flip: fix for new randomness trait
* pallet-society: fix randomness usage
* pallet-lottery: fix randomness usage
* pallet-contracts: fix randomness usage
* pallet-babe: fix randomness usage
we need to track when the current and previous epoch started so that we
know the block number by each existing on-chain was known
* node: fix random_seed
* node-template: fix random_seed
* frame-support: extend docs
* babe: add test for epoch starting block number tracking
* babe: fix epoch randomness docs
* frame: add todos for dealing with randomness api changes
Co-authored-by: André Silva <andrerfosilva@gmail.com >
2021-03-10 16:31:49 +00:00
Ashley
7ace5e21aa
Return babe configuration information in the babe api epoch functions ( #8072 )
...
* Make changes
* Add serialize/deserialize, copy babe epoch config defaults from node runtime
* Fix line widths and turn default features off for serde
* Remove ser/deser from Epoch, fix node-cli
* Apply suggestions
* Add comment to BABE_GENESIS_EPOCH_CONFIG in bin
* Apply suggestions
* Add a sketchy migration function
* Add a migration test
* Check for PendingEpochConfigChange as well
* Make epoch_config in node-cli
* Move updating EpochConfig out of the if
* Fix executor tests
* Calculate weight for add_epoch_configurations
* Fix babe test
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Add more asserts to tests, remove unused changes to primitives/slots
* Allow setting the migration pallet prefix
* Rename to BabePalletPrefix
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2021-03-10 08:40:22 +00:00
André Silva
13ef9ad39e
babe: make plan_config_change callable ( #8233 )
2021-03-01 15:58:49 +01: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
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
Kian Paimani
7205eea40d
Decouple Staking and Election - Part 2 Unsigned Phase ( #7909 )
...
* 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
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 >
2021-02-23 15:46:17 +01:00
Guillaume Thiolliere
f35a27cca0
Remove inherent in pallet-babe ( #8124 )
2021-02-16 19:03:59 +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
André Silva
c763df4bb1
babe, grandpa: set longevity for equivocation report transactions ( #8076 )
...
* babe: set longevity for equivocation report transactions
* grandpa: set longevity for equivocation report transaction
* babe, grandpa: fix tests
* node: add ReportLongevity to babe and grandpa modules
* node: bump spec_version
2021-02-10 13:51:36 +00:00
André Silva
6dea5494f3
babe, grandpa: cleanup stale equivocation reports ( #8041 )
...
* grandpa: check equivocation report staleness on `validate_unsigned`
* babe: check equivocation report staleness on `validate_unsigned`
* node: bump spec_version
* babe, grandpa: remove duplicate call destructuring
2021-02-04 16:22:11 +01:00
Liu-Cheng Xu
9904267e23
Decouple the session validators from im-online ( #7127 )
...
* Decouple the session validators from im-online
* .
* Add SessionInterface trait in im-online
Add ValidatorId in im-online Trait
Make im-online compile
Make substrate binary compile
* Fix merging issue
* Make all compile
* Fix tests
* Avoid using frame dep in primitives via pallet-session-common
* Merge ValidatorSet into SessionInterface trait
Wrap a few too long lines
Add some docs
* Move pallet-sesion-common into pallet-session
* Move SessionInterface to sp-session and impl it in session pallet
Ref https://github.com/paritytech/substrate/pull/7127#discussion_r494892472
* Split put historical::FullValidatorIdentification trait
* Fix line width
* Fix staking mock
* Fix session doc test
* Simplify <T as ValidatorIdentification<AccountId>>::ValidatorId as ValidatorId<T>
* Nits
* Clean up.
* Make it compile by commenting out report_offence_im_online bench
* Tests
* Nits
* Move OneSessionHandler to sp-session
* Fix tests
* Add some docs
* .
* Fix typo
* Rename to ValidatorSet::session_index()
* Add some more docs
* .
* Remove extra empty line
* Fix line width check
.
* Apply suggestions from code review
* Cleaup Cargo.toml
* Aura has migrated to Pallet now
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2021-02-02 16:38:37 +00: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
Bastian Köcher
b6294418f8
Introduce a Slot type ( #7997 )
...
* Introduce a `Slot` type
Instead of having some type definition that only was used in half of the
code or directly using `u64`, this adds a new unit type wrapper `Slot`.
This makes it especially easy for the outside api to know what type is
expected/returned.
* Change epoch duratioC
* rename all instances of slot number to slot
* Make the constructor private
Co-authored-by: André Silva <andrerfosilva@gmail.com >
2021-01-28 19:44:22 +00:00
Andrew Jones
ee85121c57
Migrate some more pallets to construct_runtime ( #7975 )
...
* WIP converting balances tests to construct_runtime
* Converting balances tests_local to construct_runtime
* Fix up system and balances Events
* Use static Call instance in tests
* Migrate indices to construct_runtime
* Migrate babe test to construct_runtime
* Update frame/indices/src/mock.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update frame/babe/src/mock.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Update frame/babe/src/mock.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Remove redundant import
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-01-25 15:56:07 +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
André Silva
6ac04e4902
babe: initialize next authorities on genesis ( #7872 )
...
* babe: initialize next authorities on genesis
* babe: add test for genesis authorities
2021-01-12 11:08:52 +00: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
André Silva
dd4625a1e7
babe: expose next epoch data ( #7829 )
...
* babe: expose next epoch data
* babe: add runtime api for next_epoch
* babe: avoid reading next authorities from storage unnecessarily
* babe: add notes about epoch duration constraints
* babe: guard against overflow
* babe: add test for fetching current and next epoch data
2021-01-06 11:08:29 +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
Robert Habermeier
9164cde499
add a current_epoch to BabeApi ( #7789 )
...
* add a `current_epoch` to BabeApi
* add current_epoch_start back again
* fix node-runtime
* bump spec version
2020-12-26 19:34:39 -05: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
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
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
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
Jon Häggblad
a297e447f2
babe: make secondary slot randomness available on-chain ( #7053 )
...
* babe: make secondary slot randomness available on-chain
* babe: extract out vrf_output function
* babe: add missing comment
* babe: fix incorrectly storing primary randomness
* babe: add test for onchain author vrf
* babe: fix reviewer nits
* runtime: bump spec_version
* babe: remove outer Option for AuthorVrfRandomness
* babe: fix reviewer nits on doc strings
* babe: move make_vrf_output to mock.rs
* babe: cleanup docs
* babe: kill ephemeral entry instead of take
* babe: use type alias for maybe randomness
Co-authored-by: André Silva <andrerfosilva@gmail.com >
2020-10-15 08:32:12 +00:00
Kian Paimani
ba229c629f
Refactor CurrencyToVote ( #6896 )
...
* Refactor CurrencyToVote to avoid calls to total_issuance.
* Update frame/support/src/traits.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Some grumbles
* Fix last grumbles.
* Fix comment
* Final fix
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2020-10-08 14:50:54 +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
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
Steve Degosserie
22632efc5f
Update READMEs, fix links ( #7176 )
...
* Re-generate READMEs to fix doc links; set readme field in package manifests
* Re-generate READMEs to fix doc links; set readme field in package manifests
* Re-generate READMEs to fix doc links; set readme field in package manifests
* Re-generate READMEs to fix doc links; set readme field in package manifests
* Revert stuff that shouldn't have been committed
* Revert stuff that shouldn't have been committed
* Fix parent relative link generation
* Manually remove this incorrect link for now.
2020-09-22 13:38:23 +00:00
Shawn Tabrizi
42a4c2eef0
Add WeightInfo to Babe and Grandpa Pallet ( #7155 )
...
* Add `WeightInfo` to Babe Pallet
* Also grandpa
* Update frame/grandpa/src/default_weights.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2020-09-21 13:31:44 +00:00
Shawn Tabrizi
9e9e34fad8
WeightInfo for Session Pallet ( #7136 )
...
* whitelist caller in benchmarks
* remove unused component
* Add benchmark weights
* Remove `weightinfo` for `offences`
2020-09-21 09:13:31 +00:00
Shawn Tabrizi
9aa8698cfc
WeightInfo for Vesting Pallet ( #7103 )
...
* WeightInfo for Vesting Pallet
* clean up weight docs
* Update lib.rs
* try to pipe max locks
* Update for new type
* add warning when locks > MaxLocks
* Update lib.rs
* fix compile
* remove aliasing, fix trait def
* Update
2020-09-16 19:48:10 +00:00
André Silva
2a7a539e82
babe, grandpa: waive fees on valid equivocation report ( #6981 )
...
* babe: waive fees on report_equivocation
* grandpa: waive fees on report_equivocation
* babe: add test for fee waiving on valid equivocation report
* grandpa: add test for fee waiving on valid equivocation report
* grandpa: remove stray comment
2020-09-08 12:05:36 +02:00
André Silva
a79c34778c
babe: fix report_equivocation weight ( #6936 )
...
* babe: fix report_equivocation weight
* node: bump spec_version
* babe: fix floor in report_equivocation weight calculation
Co-authored-by: Gavin Wood <gavin@parity.io >
* grandpa: fix floor in report_equivocation weight calculation
* babe, grandpa: add test for weight_for::report_equivocation
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-08-26 18:27:44 +02:00
Benjamin Kampmann
2416aa7999
prepping for releasing rc6 ( #6922 )
...
* Bump version
* update test-utils crates to be ready for publishing
* adding changelog
* Adding automaticly generated READMEs
* fixing versions
* another version mishap
2020-08-20 17:04:42 +02:00
Bastian Köcher
e7d8040af8
Update parity-scale-codec to prepare for breaking rustc release ( #6746 )
...
This updates parity-scale-codec{-derive} to prepare for a rustc release
that would otherwise break the derive implementation:
https://github.com/rust-lang/rust/pull/73084
2020-07-28 20:26:01 +00:00
Benjamin Kampmann
629a801b6a
Fixup cargo unleash ( #6689 )
...
* Bumping to rc5
* Revert "Bumping to rc5"
This reverts commit 5a63a8230e5a12db1b4ce4ac62e4967c52291da7.
* Bumping for rc5, correctly this time
2020-07-21 10:26:47 +00:00
Alexander Theißen
c802d425d9
Fix two minor warnings ( #6650 )
...
* Unused import in no_std builds
* Global attribute in non-root of a crate
2020-07-14 17:21:32 +00:00