* 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.
* 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>
* change (ci): docs job optimized; runs every commit; fails on warnings
* change (ci): rename jobs; temporary allow failing
* change (ci): better warnings filtering
* fix (ci): hotfix Docker release
* test (ci): run docs job with flags
* test (ci): pwd fails
* change (ci): pass just //doc dir as an artifact; debug
* change (ci): return to the previous structure; undebug
* change (ci): typo
* rebase on upstream 2
* fix the jobname
* Fix some warnings (#7079)
* Partial fix for transaction priority (#7034)
* Partial fix for priority stuff.
* Small fix
* Fix tests.
* Update frame/transaction-payment/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Better doc
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* What happens if we remove wat? (#7056)
* What happens if we remove wat?
* Update Cargo.lock
* Make SlashingSpans Public (#6961)
* Make SlashingSpans Public
Offchain Applications will often need to inspect this type because it is directly used in staking election, thus worthy of being `pub`. Rest of the slashing api can remain private, only this and the `fn last_non_zero_slash()` of `SlashingSpans` are of interest.
* Update frame/staking/src/lib.rs
* client/authority-discovery/src/service: Improve docs (#7059)
* Decrease poll interval (#7063)
* Remove unused code (#7027)
Signed-off-by: Jimmy Chu <jimmychu0807@gmail.com>
* Disambiguate `BlockNumber` type in `decl_module` (#7061)
* Disambiguate `BlockNumber` type in `decl_module`
* fix `frame-support-tests`
* fix ui tests
* fix trait order
* Implement `FromStr` for `Ss58AddressFormat` (#7068)
* Implement `FromStr` for `Ss58AddressFormat`
* Update primitives/core/src/crypto.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Set reserved nodes with offchain worker. (#6996)
* add offchain worker api to set reserved nodes.
* new offchain api to get node public key.
* node public key from converter
* refactor set reserved nodes ocw api.
* new ndoe authorization pallet
* remove unnecessary clone and more.
* more
* tests for node authorization pallet
* remove dependency
* fix build
* more tests.
* refactor
* Update primitives/core/src/offchain/testing.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update frame/node-authorization/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update frame/node-authorization/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update frame/node-authorization/src/lib.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* format code
* expose NetworkService
* remove NetworkStateInfo in offchain
* replace NodePublicKey with PeerId.
* set max length of peer id.
* clear more
* use BTreeSet for set of peers.
* decode opaque peer id.
* extract NetworkProvider for client offchain.
* use OpaquePeerId in node authorization pallet.
* fix test
* better documentation
* fix test
* doc
* more fix
* Update primitives/core/src/offchain/mod.rs
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update client/offchain/src/api.rs
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* derive serialize and deserialize
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Fix some warnings
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: s3krit <pugh@s3kr.it>
Co-authored-by: Jimmy Chu <jimmy@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: kaichao <kaichaosuna@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Fix more doc errors
* More doc fixes
* Remove subdb to make `rustdoc` happy
* Make the line length check happy
* Fix compilation error
* Another try
* Allow unused
Co-authored-by: Dan Forbes <dan@danforbes.dev>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: s3krit <pugh@s3kr.it>
Co-authored-by: Jimmy Chu <jimmy@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: kaichao <kaichaosuna@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
* Treasury burning can be directed
Also, Society is a imbalance handler
* Build
* Introduce from_permill in perthings.
* Rename to from_perthousand to avoid confusion with Permill
* Fixes
* Introduce `BlockExectionWeight` and `ExtrinsicBaseWeight`
* Add new traits everywhere
* Missed one update
* fix tests
* Update `check_weight` logic
* introduce `max_extrinsic_weight` function
* fix + add tests
* format nits
* remove println
* make test a bit more clear
* Remove minimum weight
* newlines left over from find/replace
* Fix test, improve clarity
* Fix executor tests
* Extrinsic base weight same as old `MINIMUM_WEIGHT`
* fix example test
* Expose constants
* Add test for full block with operational and normal
* Initiate test environment with `BlockExecutionWeight` weight
* format nit
* Update frame/system/src/lib.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Replace `TransactionBaseFee` with `ExtrinsicBaseWeight` (#5761)
* Replace `TransactionBaseFee` with `ExtrinsicBaseFee`
* Fix stuff
* Fix and make tests better
* Forgot to update this test
* Fix priority number in test
* Remove minimum weight from merge
* Fix weight in contracts
* remove `TransactionBaseFee` from contract tests
* Let `register_extra_weight_unchecked` go past `MaximumBlockWeight`
* address feedback
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* transition treasury to configurable moduleids
* make election module id configurable
* convert runtime and pallet to accept module id config elections-phragmen
* add ModuleId to evm pallet
* change society pallet to configurable module id
* delete commented out module_id
* delete commented out code and merge in upstream master
* try and convert 4 whitespace to tab
* fix remaining space to tab conversions
* trivial cleaning
* delete comment from elections-phragrems tests
* trivial
* Update frame/elections-phragmen/src/lib.rs
* add docs for elections and elections phragmen
* make has_lock test get moduleid dynamically
* Apply suggestions from code review
Co-Authored-By: Amar Singh <asinghchrony@protonmail.com>
* make sure get is imported to evm
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
* Require `fn` token in `decl_storage` `get`
The `fn` token was already for quite some time as an optional parameter.
It was introduced to make these functions better findable. This pr makes
the `fn` token required.
* Remove `GetterNoFnkeyword`
* Add non-zero ed check on Balances genesis
* Update ED from 0 to 1
* bump impl
* bump spec
* Found remove more ed = 0
* Fix some contract tests
* Use ctx.overlay.set_balance for contracts
* Fix staking test
* Remove obsolete logic
* Allow death of payout account in society
* Update frame/balances/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Dont create genesis balances if balance is zero in transaction payment pallet
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Gavin Wood <github@gavwood.com>
* Add rules and unfounding to society.
* Docs and event
* Extra bit of docs.
* Cunningly reduce complexity
* Remove candidates when unfounding.
* Remove suspended candidates when unfounding, too.
* Add `max_members` to `found`, add society genesis for Substrate node
* Update test
* Use `Option<bool>` rather than `Option<()>`
* Update from feedback
* Select only one zero bid, better ordering of new bids
* Select zero bid as head
* Update comment
* Update frame/society/src/tests.rs
* Add new test, logic not updated yet
* Implement `put_bid` to order same value bids
Note that this extra logic currently does not do anything per the implementation of `binary_search` in Rust.
* Introduce efficient Hash-based RNG streamer
* Initial draft of the society module
* Introduce a test
* Dual-pot logic
* Vouching
* Use chacha
* Half way through moving to cliff payout.
* Fixes
* Add some tests
* Remove printlns
* Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
# Conflicts:
# frame/identity/src/lib.rs
* Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
# Conflicts:
# frame/identity/src/lib.rs
* Fix `slash_payout`, add test
* Test for multi-slash_payout
* Add docs to `put_bid` function and `bidding_works` test
* Add strikes to test
* Add comments to `rotate_period`
* Implement `suspend_member`
* Off chain iteration of suspended members using linked_map
* Half of suspended candidate
* Finish suspend_candidate, need tests
* Resolve mistakes and feedback, add `suspended_candidate_rejected` test
* Remove logic which increases payout time after un-suspension
* Fix error in `slash_suspended_candidates`, add member check to `vote`
* Fix vouch rewards, dont create zero payouts, add tests for vouch
* Test unvouch
* Unbid tests
* Add lifecycle events, fix `add_member` to update `MembershipChanged`
* Head cannot be removed from society
* Use `add_member` in `found` to ensure `MembershipChanged` is triggered
* Use `Judgement` enum for suspended candidate judgement
* Make society instantiable
* Implement challenges
* Remove extra text in test
* Remove `BlockNumber` return from `slash_payout`
* Add bad vote causes slash test
* Update frame/society/src/lib.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
* Add consts to module metadata
* Check `suspended_member` cant bid
* Increase strength of payout check, **must** be a member.
* Start pallet documentation
* Finish docs
* Update library names, use decl_error
* Prevent double bids, add test
* Use `map` for vouching member, and introduce banned vouchers
* Remove leftover docs
* Vouching handles removed member lifecycles w/ tests
* `take` the votes when tallying, add comprehensive checks before vouch or bid
* Check votes are cleaned up
* Check vote is for a valid candidate, add vote event
* Defender vote event
* Fix `judge_suspended_candidate`, add weight docs
* First pass fixes (blank lines, formatting, no operational)
* Bump copyright year
* Make `add_member` infallible
* More feedback updates
* Add storage access complexity
* Fix logic for AutoUnbid
* Complete weight documentation
* Optimize logic which used to result in double storage read.
* Use Bid struct rather than tuple
* Introduce `MaxMembers` configuration constant
* Add comment about fringe scenario where `MaxMembers` could go over, NBD
* Change MaxMembership to configurable storage item with ability for root to update
* Make membership challenges skew toward failure.
If no one at all votes, or the vote is tied, the user will be suspended from society. This means, that the user simply needs to vote for themselves to stay in society assuming no one else participates.
* Refactor `is_candidate`as to avoid possible double storage reads in the future.
* Blank lines
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>