Shawn Tabrizi
8e7adaf283
Storage Layer for All FRAME Extrinsics ( #11431 )
...
* add new trait
* implement DispatchableWithStorageLayer
* at least one transactional
* all dispatch is at least transactional
* storage_layer api
* add test
* storage layer tests
* deprecate transactional tag
* i guess no reason to deprecate
* remove transactional from batch_all
* update tests
* extend trait
* cargo run --quiet --profile=production --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --quiet --profile=production --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --quiet --profile=production --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* fix copy paste name
* cargo run --quiet --profile=production --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Create run_all_benchmarks.sh
* uncomment build
* update number of steps and repeats
* add skip build
* Update run_all_benchmarks.sh
* Update run_all_benchmarks.sh
* new benchmarks
* Update frame/support/src/traits/dispatch.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/support/src/traits/dispatch.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/support/test/tests/storage_layers.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/support/test/tests/storage_layers.rs
* weights
* Update dispatch.rs
* doc link
* decl_macro support
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2022-05-26 19:28:32 +00:00
Shawn Tabrizi
d9f33dc7e9
Create Script to Run All Benchmarks ( #11493 )
...
* Create run_all_benchmarks.sh
* Update run_all_benchmarks.sh
* Update run_all_benchmarks.sh
* Review fixes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update scripts/run_all_benchmarks.sh
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* typo
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* add default for $1
* Typo
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update run_all_benchmarks.sh
* new weights on benchmarking machine
* prefer `--chain=dev`
* fix compile
* fix command
* fmt
* dont use square brackets
* Extend doc
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove +nightly
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add error file an run execute everything optimistically
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2022-05-23 16:56:42 +00:00
Qinxuan Chen
8bce841d70
frame_support::pallet_prelude: reexport StorageVersion ( #11408 )
...
* frame_support::pallet_prelude: reexport StorageVersion
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* cargo fmt
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2022-05-17 20:28:34 +02:00
Falco Hirschenberger
b581604aa7
Apply some clippy lints ( #11154 )
...
* Apply some clippy hints
* Revert clippy ci changes
* Update client/cli/src/commands/generate.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/inspect_key.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/transactions.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/protocol.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Revert due to missing `or_default` function.
* Fix compilation and simplify code
* Undo change that corrupts benchmark.
* fix clippy
* Update client/service/test/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
remove leftovers!
* Update client/tracing/src/logging/directives.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/fork-tree/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* added needed ref
* Update frame/referenda/src/benchmarking.rs
* Simplify byte-vec creation
* let's just not overlap the ranges
* Correction
* cargo fmt
* Update utils/frame/benchmarking-cli/src/shared/stats.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Giles Cope <gilescope@gmail.com >
2022-04-30 21:28:27 +00:00
Qinxuan Chen
51915ebe4a
Remove deprecated RawEvent types from some pallets ( #11316 )
...
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2022-04-29 08:28:17 +00:00
Kian Paimani
661d0ea5bb
Store validator self-vote in bags-list, and allow them to be trimmed for election ( #10821 )
...
* Implement the new validator-in-bags-list scenario + migration
* Apply suggestions from code review
Co-authored-by: Zeke Mostov <z.mostov@gmail.com >
* some review comments
* guard the migration
* some review comments
* Fix tests 🤦♂️
* Fix build
* fix weight_of_fn
* reformat line width
* make const
* use weight of fn cached
* SortedListProvider -> VoterList
* Fix all build and docs
* check post migration
Co-authored-by: Zeke Mostov <z.mostov@gmail.com >
2022-03-23 14:17:26 +00:00
Alexander Theißen
f3168c3fa0
Add production profile to substrate-wasm-builder ( #10747 )
...
* Add production profile to wasm builder
* Fix profile detection
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Replace panic! by println! + exit
* Default to `release` for wasm on debug builds
* Replaced unwrap by expect
* Update all weights
Rerun on the bm2 server.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Parity Bot <admin@parity.io >
2022-01-31 14:16:26 +00:00
Oliver Tale-Yazdi
9daea28085
Optimized weights ( #10692 )
...
* Add optimization flags to 'release' profile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Optimized weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add missing pallets
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add `production` profile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* pallet-collective: fix tests
the weight of System.remark went to 0, the collective test uses a
remark call to trigger an out-of-gas condition so I replaced it
with a `remark_with_event` call.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-01-24 12:35:25 +00:00
Oliver Tale-Yazdi
362a6d9b28
Require MaxEncodedLen per default ( #10662 )
...
* Remove generate_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add without_storage_info where needed
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update doc tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add more without_storage_info
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix TryBuild tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-01-20 11:16:04 +00:00
Squirrel
3dd32d5255
Make clippy _a little_ more annoying ( #10570 )
...
* Clippy: +complexity
* Update client/cli/src/arg_enums.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update bin/node/inspect/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/keystore/src/testing.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/elections/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update primitives/npos-elections/fuzzer/src/reduce.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Incorporating feedback
* No need for Ok
* Additional
* Needed slice
* Wigy's suggestions on less derefs
* fix count
* reverting changes brought in by option_map_unit_fn
* add --all-targets
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2022-01-05 14:35:30 +00:00
Bastian Köcher
f3662b4bba
Happy new year 2022 ( #10573 )
2022-01-03 09:22:14 +01:00
cheme
4c651637f2
Inner hashing of value in state trie (runtime versioning). ( #9732 )
...
* starting
* Updated from other branch.
* setting flag
* flag in storage struct
* fix flagging to access and insert.
* added todo to fix
* also missing serialize meta to storage proof
* extract meta.
* Isolate old trie layout.
* failing test that requires storing in meta when old hash scheme is used.
* old hash compatibility
* Db migrate.
* runing tests with both states when interesting.
* fix chain spec test with serde default.
* export state (missing trie function).
* Pending using new branch, lacking genericity on layout resolution.
* extract and set global meta
* Update to branch 4
* fix iterator with root flag (no longer insert node).
* fix trie root hashing of root
* complete basic backend.
* Remove old_hash meta from proof that do not use inner_hashing.
* fix trie test for empty (force layout on empty deltas).
* Root update fix.
* debug on meta
* Use trie key iteration that do not include value in proofs.
* switch default test ext to use inner hash.
* small integration test, and fix tx cache mgmt in ext.
test failing
* Proof scenario at state-machine level.
* trace for db upgrade
* try different param
* act more like iter_from.
* Bigger batches.
* Update trie dependency.
* drafting codec changes and refact
* before removing unused branch no value alt hashing.
more work todo rename all flag var to alt_hash, and remove extrinsic
replace by storage query at every storage_root call.
* alt hashing only for branch with value.
* fix trie tests
* Hash of value include the encoded size.
* removing fields(broken)
* fix trie_stream to also include value length in inner hash.
* triedbmut only using alt type if inner hashing.
* trie_stream to also only use alt hashing type when actually alt hashing.
* Refactor meta state, logic should work with change of trie treshold.
* Remove NoMeta variant.
* Remove state_hashed trigger specific functions.
* pending switching to using threshold, new storage root api does not
make much sense.
* refactoring to use state from backend (not possible payload changes).
* Applying from previous state
* Remove default from storage, genesis need a special build.
* rem empty space
* Catch problem: when using triedb with default: we should not revert
nodes: otherwhise thing as trie codec cannot decode-encode without
changing state.
* fix compilation
* Right logic to avoid switch on reencode when default layout.
* Clean up some todos
* remove trie meta from root upstream
* update upstream and fix benches.
* split some long lines.
* UPdate trie crate to work with new design.
* Finish update to refactored upstream.
* update to latest triedb changes.
* Clean up.
* fix executor test.
* rust fmt from master.
* rust format.
* rustfmt
* fix
* start host function driven versioning
* update state-machine part
* still need access to state version from runtime
* state hash in mem: wrong
* direction likely correct, but passing call to code exec for genesis
init seem awkward.
* state version serialize in runtime, wrong approach, just initialize it
with no threshold for core api < 4 seems more proper.
* stateversion from runtime version (core api >= 4).
* update trie, fix tests
* unused import
* clean some TODOs
* Require RuntimeVersionOf for executor
* use RuntimeVersionOf to resolve genesis state version.
* update runtime version test
* fix state-machine tests
* TODO
* Use runtime version from storage wasm with fast sync.
* rustfmt
* fmt
* fix test
* revert useless changes.
* clean some unused changes
* fmt
* removing useless trait function.
* remove remaining reference to state_hash
* fix some imports
* Follow chain state version management.
* trie update, fix and constant threshold for trie layouts.
* update deps
* Update to latest trie pr changes.
* fix benches
* Verify proof requires right layout.
* update trie_root
* Update trie deps to latest
* Update to latest trie versioning
* Removing patch
* update lock
* extrinsic for sc-service-test using layout v0.
* Adding RuntimeVersionOf to CallExecutor works.
* fmt
* error when resolving version and no wasm in storage.
* use existing utils to instantiate runtime code.
* Patch to delay runtime switch.
* Revert "Patch to delay runtime switch."
This reverts commit 67e55fee468f1a0cda853f5362b22e0d775786da.
* useless closure
* remove remaining state_hash variables.
* Remove outdated comment
* useless inner hash
* fmt
* fmt and opt-in feature to apply state change.
* feature gate core version, use new test feature for node and test node
* Use a 'State' api version instead of Core one.
* fix merge of test function
* use blake macro.
* Fix state api (require declaring the api in runtime).
* Opt out feature, fix macro for io to select a given version
instead of latest.
* run test nodes on new state.
* fix
* Apply review change (docs and error).
* fmt
* use explicit runtime_interface in doc test
* fix ui test
* fix doc test
* fmt
* use default for path and specname when resolving version.
* small review related changes.
* doc value size requirement.
* rename old_state feature
* Remove macro changes
* feature rename
* state version as host function parameter
* remove flag for client api
* fix tests
* switch storage chain proof to V1
* host functions, pass by state version enum
* use WrappedRuntimeCode
* start
* state_version in runtime version
* rust fmt
* Update storage proof of max size.
* fix runtime version rpc test
* right intent of convert from compat
* fix doc test
* fix doc test
* split proof
* decode without replay, and remove some reexports.
* Decode with compatibility by default.
* switch state_version to u8. And remove RuntimeVersionBasis.
* test
* use api when reading embedded version
* fix decode with apis
* extract core version instead
* test fix
* unused import
* review changes.
Co-authored-by: kianenigma <kian@parity.io >
2021-12-24 08:54:07 +00:00
dharjeezy
1b0be8ae06
Replace parameter_types with ConstU32 &c. ( #10402 )
...
* remove parameter types and use const type
* remove parameter types and use const type
* Delete {
* Delete count,
* refractor for beefy, benchmarking, child bounties, and collective pallets
* refractor for pallet contracts
* refractor for elections
* refractor for more pallets
* fix CI issues
* fix CI issues
* fix CI issues
* fix CI issues
* remove warning to fix CI issue
* remove warning to fix CI issue
refractor for pallet preimage
* remove warning to fix CI issue
refractor for pallet proxy
* remove warning to fix CI issue
refractor for pallet recovery
refractor for pallet randomness-collective-flip
* remove warning to fix CI issue
refractor for pallet scored-pool
refractor for pallet scheduler
refractor for pallet session
* remove warning to fix CI issue
refractor for pallet society, support, system, timestamp, tips
* remove warning to fix CI issue
refractor for pallet transaction_payment, transaction_storage, treasury, uniques, utility
* remove warning to fix CI issue
* cargo +nightly fmt
* CI fix
* more param refractor on beefy-mmr
* refractor for beefy
* Update frame/babe/src/mock.rs
* Update frame/babe/src/mock.rs
* Update frame/bounties/src/tests.rs
* Update frame/tips/src/tests.rs
* Delete mock.rs
* Update frame/examples/basic/src/tests.rs
* Apply suggestions from code review
* Update frame/im-online/src/mock.rs
* Update frame/im-online/src/mock.rs
* Update frame/offences/benchmarking/src/mock.rs
* Update frame/session/benchmarking/src/mock.rs
* Update frame/support/test/tests/pallet_compatibility.rs
* Update frame/support/test/tests/pallet_compatibility_instance.rs
* Update frame/treasury/src/tests.rs
* Update test-utils/runtime/src/lib.rs
* some cleanup
* fmt
* remove unused
Co-authored-by: Damilare <dakinlose@teamapt.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-16 03:06:11 +00:00
Gavin Wood
7ee25416c2
Fix update_lock ( #10485 )
...
* Fix update_lock
* Fixes
* Formatting
* add `inc_consumers_without_limits` to session too
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-12-15 01:27:13 +01:00
Gavin Wood
1e24e45ea1
Remove Default bound for AccountId ( #10403 )
...
* Remove Default for AccountId
* More removals of default
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/authorship/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* More work
* More work
* Remove old code
* More work
* pallet-asset-tx-payment
* tips
* sc-consensus-babe
* sc-finality-grandpa
* sc-consensus-babe-rpc
* sc-cli
* make npos crates accept non-default account (#10420 )
* minimal changes to make npos pallets all work
* make this pesky reduce.rs a bit cleaner
* more work
* more work
* Tests build
* Fix imonline tests
* Formatting
* Fixes
* Fixes
* Fix bench
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Fixes
* Formatting
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/finality-grandpa/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/keystore/src/local.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/runtime/src/traits.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Formatting
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: kianenigma <kian@parity.io >
2021-12-13 15:03:59 +01:00
Gavin Wood
3dd8f83a3a
Insufficient asset quota and deposits ( #10382 )
...
* Allow asset accounts to exist by deposit
* Place limit on consumers (and therefore freebie asset accounts)
* Maximum number of assets
* Fixes
* Fixes
* Formatting
* Docs
* Formatting
* Destroyed assets are properly tidied
* Update frame/assets/src/types.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
* Docs
* Docs
* Formatting
* Docs
* Docs
* Fixes
* Fixes
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-12-09 13:22:54 +01:00
Doordashcon
09d351ddad
tuple to struct event variants ( #10257 )
...
* AFNPEV recovery
* AFNPEV session
* cargo +nightly fmt && cargo fmt
* removed redundant comments
* update
* update & cargo +nightly fmt
* update & cargo +nightly fmt
* update recovery/src/lib.rs
* update session/src/lib.rs
2021-11-20 08:00:43 +00:00
Qinxuan Chen
0b224d1b60
pallet-session: Migrate the historical part to the new pallet macro ( #9878 )
...
* Migrate session-historical to the new pallet macro
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* pallet-session: Migrate the historical part to the new pallet macro
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Fix staking test runtime
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Update frame/session/src/historical/mod.rs
* Update frame/session/src/historical/mod.rs
* update migration doc
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* use hardcoded prefix for migration v1
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* cargo +nightly-2021-11-08 fmt
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-11-17 16:16:28 +09:00
Kian Paimani
937b6f246e
put TryInto and TryFrom in sp_std::prelude ( #10183 )
...
* Switch to Rust 2021
* Update trybuild to fix errors
* half baked
* fix
* remove unused import
* remove more warnings
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-11-08 00:24:53 +01:00
Gavin Wood
5d34c24504
More lenient mechanism for identifying stash accounts in purge_keys ( #10004 )
...
* More lenient StashOf finder
* Slightly safer version of the change
* Slightly safer version of the change
* Tests
* Formatting
2021-10-14 16:45:49 +02:00
André Silva
7e5c022aea
staking: only disable slashed validators and keep them disabled for whole era ( #9448 )
...
* session: remove disabled validators threshold logic
* staking: add logic to track offending validators
* staking: disable validators for the whole era
* frame: fix tests
* staking: add tests for disabling validators handling
* staking: fix adding offending validator when already slashed in era
* address review comments
* session, staking: add comments about sorted vecs
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-10-06 16:22:34 +00:00
Qinxuan Chen
7f550d6dd2
Migrate pallet-session to the new pallet macro ( #9796 )
...
* Migrate pallet-session to the new pallet macro
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Remove old macros
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Fix
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2021-09-28 03:12:57 +00:00
Georges
cddafd523e
Generate storage info for pallet im_online ( #9654 )
...
* Integrating WrapperOpaque from PR #9738
* Adding storage_info to pallet im-online
Changing some `Vec` to `WeakBoundedVec`
Adding the following bounds:
* `MaxKeys
* `MaxPeerInHeartbeats`
* `MaxPeerDataEncodingSize`
to limit the size of `WeakBoundedVec`
* Fix syntax
* Need to clone keys
* Changes in formatting
2021-09-20 10:56:43 +00:00
Kian Paimani
abd08e29ce
Rewrap all comments to 100 line width ( #9490 )
...
* reformat everything again
* manual formatting
* last manual fix
* Fix build
2021-08-11 14:56:55 +00:00
Gavin Wood
bdda3ed612
Remove Filter and use Contains instead ( #9514 )
...
* Remove Filter and use Contains instead
* Fixes
* Formatting
* Update docs/Upgrading-2.0-to-3.0.md
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Typo
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-08-07 19:26:40 +00:00
Shawn Tabrizi
0489c1768c
FRAME Weights with Storage Metadata ( #9471 )
...
* weights with metadata
* fix
* fix contract test
* skip metadata tag
* special handling for `frame_system`
* cargo run --quiet --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
* add skip metadata to contracts
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* fix contract test
* cargo run --quiet --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 --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* expose component information
* fix test generation
* refactor list benchmarks
* move component selection out of runtime
* add benchmark verification
* missing feature
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --quiet --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
* add internal repeats
* update weights with internal repeats
* fix warning
* return error with pov
* try without tracking
* Revert "return error with pov"
This reverts commit 44c36cbbd3c6818f36f377e3e291f1df156e40f7.
* Revert "try without tracking"
This reverts commit f401c44aebff2232389d8d307b20924891e5d77d.
* Revert "Revert "try without tracking""
This reverts commit 4b4e05929802ad3e8154e107359447634e5fb21b.
* state without tracking
* fix build
* temp test
* split db and timing benchmarks
* extend db results?
* default repeat is internal
* cargo run --quiet --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
* fix warning
* bump linked hash map
* use linked hash map for storage tracker
* cargo run --quiet --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
* remove conflicting short command
* cargo run --quiet --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
* missed one linked hashmap
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* cargo run --quiet --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
* new weights with latest changes
* Update frame/benchmarking/src/utils.rs
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
2021-08-07 16:05:12 +00:00
André Silva
0240efde58
aura, babe: don't allow disabled validators to build blocks ( #9414 )
...
* frame-support: add trait for checking disabled validators
* pallet-session: implement DisabledValidators trait
* pallet-babe: check for disabled validators
* pallet-babe: add test for disabled validators
* pallet-aura: check for disabled validators
* pallet-aura: add test for disabled validators
* runtime: fix missing DisableValidator
* test-runtime: add missing DisabledValidators
* frame-support: clean up doc
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-08-03 10:57:08 +00:00
Squirrel
aafe64315a
Remove extra commas made redundent after rustfmt ( #9404 )
...
* Remove extra commas made redundent after rustfmt
2021-07-22 11:06:17 +01:00
Bastian Köcher
7b56ab15b4
Run cargo fmt on the whole code base ( #9394 )
...
* Run cargo fmt on the whole code base
* Second run
* Add CI check
* Fix compilation
* More unnecessary braces
* Handle weights
* Use --all
* Use correct attributes...
* Fix UI tests
* AHHHHHHHHH
* 🤦
* Docs
* Fix compilation
* 🤷
* Please stop
* 🤦 x 2
* More
* make rustfmt.toml consistent with polkadot
Co-authored-by: André Silva <andrerfosilva@gmail.com >
2021-07-21 14:32:32 +00:00
Guillaume Thiolliere
1e8035a273
Fix invalid link in doc ( #9351 )
...
* fix invalid link
* Update client/executor/common/src/runtime_blob/globals_snapshot.rs
* more fix
2021-07-16 07:24:26 +00:00
Alexander Theißen
e01ac8cea0
contracts: Allow contracts to dispatch calls into the runtime ( #9276 )
...
* contracts: Allow contracts to dispatch calls into the runtime
* Fix RPC tests
* Fix typo
* Replace () by AllowAllFilter and DenyAllFilter
* Add rust doc
* Fixup for `()` removal
* Fix lowest gas calculation
* Rename AllowAllFilter and DenyAllFilter
* Updated changelog
2021-07-12 20:40:27 +00:00
Squirrel
6ccb5dc713
Result<Option<>> rather than Option<Option<>> ( #9119 )
...
* Clearer API to code against.
2021-06-23 13:41:46 +01:00
Shawn Tabrizi
e5831c3db3
New Weights for All Pallets ( #9148 )
...
* Create run_benchmarks.sh
* Update run_benchmarks.sh
* new weights
* Delete run_benchmarks.sh
* wrong folder
* remove grandpa weight
* Update weights.rs
2021-06-21 09:57:43 +00:00
Guillaume Thiolliere
ebf5e771fc
staking/election: prolonged era and emergency mode for governance submission. ( #8912 )
...
* Implementation but weird initial era in tests
* Emergency mode for elections. (#8918 )
* do some testing, some logging.
* some testing apparatus
* genesis election provider (#8970 )
* genesis election provider
* fix historical stuff
* Fix test
* remove dbg
* Apply suggestions from code review
Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com >
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
* capitalize comment and name without conflict
* fix log
* Update frame/election-provider-multi-phase/src/lib.rs
* Update frame/election-provider-multi-phase/src/lib.rs
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
* apply suggestion on tests
* remove testing modifications
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Dmitry Kashitsyn <korvin@deeptown.org >
* apply suggestion
* fix master merge
Co-authored-by: kianenigma <kian@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Zeke Mostov <32168567+emostov@users.noreply.github.com >
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
Co-authored-by: Dmitry Kashitsyn <korvin@deeptown.org >
2021-06-14 14:02:45 +00:00
André Silva
f21243e4e5
im-online: send heartbeats at a random period ( #8819 )
...
* im-online: send heartbeats at a random period
* support: use permill to represent session progress
* im-online: increase probability of heartbeating with session progress
* babe, session: fix tests
* babe: fix test
2021-06-12 15:58:36 +00:00
Gavin Wood
996107ee28
Session key should be settable at genesis even for non-endowed accounts ( #8942 )
...
* Session key should be settable at genesis even for non-endowed accounts
* Docs
2021-05-29 12:17:26 +02:00
Gavin Wood
6a8c6b2b0a
Fix account ref-counting in session ( #8538 )
...
* Fix account ref-counting in session.
* Avoid needless check
* fix compile
* put back in check and conversion
* Fix test to actually catch this error
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-04-06 15:57:37 +00:00
Gavin Wood
643d2b669f
Introduce OnSetCode type into system config trait. ( #8496 )
...
* Introduce OnSetCode type into system config trait.
* Docs.
* Fixes
* Fixes
2021-04-01 12:20:24 +00:00
Yuanchao Sun
159e7d50bb
Expose key_owner(), so other pallets can look up validator ID by the ( #8506 )
...
session key.
2021-03-31 21:48:12 +00:00
Guillaume Thiolliere
d343683ca9
improve doc ( #8437 )
2021-03-23 17:40:52 +01:00
Bastian Köcher
c727799531
Better description for assert in frame-session genesis ( #8399 )
...
* Better description for assert in frame-session genesis
There is an assert that checks that an account exists, after setting a
key. However, this assert isn't very self-descriptive.
* Update frame/session/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com >
2021-03-18 20:24:05 +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
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
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
Tomasz Drwięga
f3d4355a20
Custom RPC for Merkle Mountain Range pallet ( #8137 )
...
* Add MMR custom RPC.
* Change RuntimeApi to avoid hardcoding leaf type.
* Properly implement the new RuntimeAPI and wire up RPC.
* Extract Offchain DB as separate execution extension.
* Enable offchain DB access for offchain calls.
* Fix offchain_election tests.
* Skip block initialisation for proof generation.
* Fix integration test setup.
* Fix offchain tests. Not sure how I missed them earlier 🤷 .
* Fix long line.
* One more test missing.
* Update mock for multi-phase.
* Address review grumbbles.
* Address review grumbles.
* Fix line width of a comment
2021-03-10 15:28:56 +00: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
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
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
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
b1888395e8
Make pallet use construct_runtime in tests instead of impl_* ( #7986 )
2021-01-26 15:25:04 +01:00