* Allow pallet errors to contain at most one field
* Update docs on pallet::error
* Reword documentation
* cargo fmt
* Introduce CompactPalletError trait and require #[pallet::error] fields to implement them
* cargo fmt
* Do not assume tuple variants
* Add CompactPalletError derive macro
* Check for error type compactness in construct_runtime
* cargo fmt
* Derive CompactPalletError instead of implementing it directly during macro expansion
* Implement CompactPalletError on OptionBool instead of Option<bool>
* Check for type idents instead of variant ident
* Add doc comments for ErrorCompactnessTest
* Add an trait implementation of ErrorCompactnessTest for ()
* Convert the error field of DispatchError to a 4-element byte array
* Add static check for pallet error size
* Rename to MAX_PALLET_ERROR_ENCODED_SIZE
* Remove ErrorCompactnessTest trait
* Remove check_compactness
* Return only the most significant byte when constructing a custom InvalidTransaction
* Rename CompactPalletError to PalletError
* Use counter to generate unique idents for assert macros
* Make declarative pallet macros compile with pallet error size checks
* Remove unused doc comment
* Try and fix build errors
* Fix build errors
* Add macro_use for some test modules
* Test fix
* Fix compilation errors
* Remove unneeded #[macro_use]
* Resolve import ambiguity
* Make path to pallet Error enum more specific
* Fix test expectation
* Disambiguate imports
* Fix test expectations
* Revert appending pallet module name to path
* Rename bags_list::list::Error to BagError
* Fixes
* Fixes
* Fixes
* Fix test expectations
* Fix test expectation
* Add more implementations for PalletError
* Lift the 1-field requirement for nested pallet errors
* Fix UI test expectation
* Remove PalletError impl for OptionBool
* Use saturating operations
* cargo fmt
* Delete obsolete test
* Fix test expectation
* Try and use assert macro in const context
* Pull out the pallet error size check macro
* Fix UI test for const assertion
* cargo fmt
* Apply clippy suggestion
* Fix doc comment
* Docs for create_tt_return_macro
* Ensure TryInto is imported in earlier Rust editions
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Fix up comments and names
* Implement PalletError for Never
* cargo fmt
* Don't compile example code
* Bump API version for block builder
* Factor in codec attributes while derving PalletError
* Rename module and fix unit test
* Add missing attribute
* Check API version and convert ApplyExtrinsicResult accordingly
* Rename BagError to ListError
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Use codec crate re-exported from frame support
* Add links to types mentioned in doc comments
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* cargo fmt
* cargo fmt
* Re-add attribute for hidden docs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Move `sp-npos-elections-solution-type`
to `frame-election-provider-support`
First stab at it, will need to amend some more stuff
* Fixing tests
* Fixing tests
* Fixing cargo.toml for std configuration
* Implementing `MaxEncodedLen`
on `generate_solution_type`
* Full implementation of `max_encoded_len`
* Fixing implementation bug
adding some comments and documentation
* fmt
* Committing suggested changes
renaming, and re exporting macro.
* Removing unneeded imports
* Implementing `MaxEncodedLen`
on `generate_solution_type`
* Full implementation of `max_encoded_len`
* Fixing implementation bug
adding some comments and documentation
* Move `NposSolution` to frame
* Implementing `MaxEncodedLen`
on `generate_solution_type`
* Full implementation of `max_encoded_len`
* Fixing implementation bug
adding some comments and documentation
* Fixing test
* Removing unneeded dependencies
* `VoterSnapshotPerBlock` -> `MaxElectingVoters`
* rename `SizeBound` to `MaxVoters`
* Removing TODO and change bound
* renaming `size_bound` to `max_voters`
* Enabling tests for `solution-type`
These got dropped off after the crate was moved from `sp_npos_elections`
* Adding tests for `MaxEncodedLen` of solution_type
* Better rustdocs. Better indenting and comments.
Removing unneeded imports in tests.
* Allow `pallet-election-provider` to accept smaller
solutions, issue #9478
* Fixing a typo
* Adding some more tests
Removing a seemingly outdated comment
* making it a URL
* Updating test name as per suggestion
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Updating documentation to be more explicit
And to follow the general guidelines
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Fixing formatting
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Move `sp-npos-elections-solution-type`
to `frame-election-provider-support`
First stab at it, will need to amend some more stuff
* Fixing tests
* Fixing tests
* Fixing cargo.toml for std configuration
* fmt
* Committing suggested changes
renaming, and re exporting macro.
* Removing unneeded imports
* Move `NposSolution` to frame
* Removing `npos_election` dependencies
Implementing _fpes better
* some feedback for moving NPoSSolution to frame
* fmt
* more formatting
* Fixed some imports and fmt
* Fixing docs
Co-authored-by: kianenigma <kian@parity.io>
* Move `sp-npos-elections-solution-type`
to `frame-election-provider-support`
First stab at it, will need to amend some more stuff
* Fixing tests
* Fixing tests
* Fixing cargo.toml for std configuration
* fmt
* Committing suggested changes
renaming, and re exporting macro.
* Removing unneeded imports
* Upgraded dependencies
* Adapting code to scale v3
* Empty commit to trigger CI
* Triggering CI
* Fixing UI test
* Remove superfluous dev-dep added by #9228
* Cryout for CI
* Use proper bounded vector type for nominations
* add docs and tweak chill_other for cleanup purposes
* Fix the build
* remove TODO
* add a bit more doc
* even more docs
gushc
* Update frame/staking/src/pallet/mod.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* Update frame/staking/src/pallet/mod.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* Fix the nasty bug
* also bound the Snapshot type
* fix doc test
* document bounded_vec
* self-review
* remove unused
* Fix build
* frame-support: repetition overload for bounded_vec
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* fix
* remove the need to allocate into unbounded voters etc etc
* Don't expect
* unbreal the build again
* handle macro a bit better
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add a blueprint of how defensive traits could look like
* add something for arithmetic as well
* add some use cases in different pallets
* some build fixing
* Some new stuff and examples
* Fix deadly bug
* add more doc.
* undo faulty change to assets pallet
* Update frame/support/src/traits/misc.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* some review comments
* remove draft comment
* Fix ident test
* Fix proxy tests as well
* a few new ideas
* Fix build
* Fix doc
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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>
* Introduce `SecretUri`
* `inspect-key`: Adds support for `expect-public`
`expect-public` can be used to check that a given secret uri corresponds to the given public key.
This is mainly useful when the secret uri is protected by a password and a new derived account
should be generated. With `--expect-public` the user can pass the public key/account-id of the
"base" secret uri aka the one without any derivation to ensure the correct password was inserted.
* Fixes
* 🤦
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Review feedback
* FMT
* Bump the versions
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* documentation for recovery of emergency phase
* Update frame/election-provider-multi-phase/src/lib.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Update frame/election-provider-multi-phase/src/lib.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Generate one #[test] fn per bench case.
* Update benchmark macro syntax in frame pallets.
* Explain new benchmark macro syntax in example pallet.
* support with and without a semicolon
* update pallets to use individual tests
* migrate staking too
* migrate more pallets
* fix up democracy and use individual tests
* Fix comment
* Put println message in panic
* Remove `another_set_dummy` from doc
`another_set_dummy` is not present in the benchmarking.rs (anymore).
* Update doc for benchmarks macro
* Update doc for impl_benchmark_test_suite macro
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* First two bechmarks converted
* Add decoding weight to benchmarks.
* Update frame/democracy/src/benchmarking.rs
* Adapt to new Call-ing convention
* Resolve conflicts and change more calls
* Remove error impl for codec and use plain `expect` for error handling instead
* Compile fix
* Spaces to tabs
* Update frame/democracy/src/benchmarking.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Add origin-type specifier to benchmarks macro
* formatting
* Update frame/benchmarking/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Change manual to automatic benchmark syntax
* Formatting
* Revert "Change manual to automatic benchmark syntax"
This reverts commit ea5b5d906b318b6525c1e6d2bd05c5011595c21a.
Because tests are lost and cleanup code in the verify function is not run on failing calls.
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>