Part of https://github.com/paritytech/polkadot-sdk/issues/239.
Invariant
1. The number of entries in `Tips` should be equal to `Reasons`.
2. If `OpenTip.finders_fee` is true, then `OpenTip.deposit` should be
greater than zero.
3. Reasons exists for each Tip[`OpenTip.reason`], implying equal length
of storage.
polkadot address: 12zsKEDVcHpKEWb99iFt3xrTCQQXZMu477nJQsTBBrof5k2h
---------
Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Last week we experienced a governance attack.
Surprisingly, there was no upper limit on the tip amount.
Due to the mechanism of pallet-fragment-election, the council members
will be refreshed immediately. Attacker is easy to control the council
and give a large tip amount.
* Remove use of trait Store from staking pallet
* Remove use of trait Store from bounties pallet
* Remove use of trait Store from collective pallet
* Remove use of trait Store from babe pallet
* Remove use of trait Store from assets pallet
* Remove use of trait Store from grandpa pallet
* Remove use of trait Store from balances pallet
* Remove use of trait Store from authorship pallet
* Remove use of trait Store from authority-discovery pallet
* Remove use of trait Store from atomic-swap pallet
* Remove use of trait Store from sudo pallet
* Remove use of trait Store from scheduler pallet
* Remove use of trait Store from scored-pool pallet
* Remove use of trait Store from society pallet
* Remove use of trait Store from lottery pallet
* Remove use of trait Store from executive pallet
* Remove use of trait Store from democracy pallet
* Remove use of trait Store from elections-phragmen pallet
* Remove use of trait Store from indices pallet
* Remove use of trait Store from identity pallet
* Remove use of trait Store from multisig pallet
* Remove use of trait Store from merkle-mountain-range pallet
* Remove use of trait Store from im-online pallet
* Remove use of trait Store from membership pallet
* Remove use of trait Store from nicks pallet
* Remove use of trait Store from session pallet
* Remove use of trait Store from transaction-payment pallet
* Remove use of trait Store from utility pallet
* Remove use of trait Store from child-bounties pallet
* Remove use of trait Store from nis pallet
* Remove use of trait Store from nfts pallet
* Remove use of trait Store from conviction-voting pallet
* Remove use of trait Store from treasury pallet
* Remove use of trait Store from vesting pallet
* Remove use of trait Store from preimage pallet
* Remove use of trait Store from uniques pallet
* Remove use of trait Store from ranked-collective pallet
* Remove use of trait Store from beefy-mmr pallet
* Remove use of trait Store from referenda pallet
* Remove use of trait Store from whitelist pallet
* Remove use of trait Store from alliance pallet
* Remove use of trait Store from nomination-pools pallet
* Remove use of trait Store from state-trie-migration pallet
* Remove use of trait Store from message-queue pallet
* Remove use of trait Store from root-offences pallet
* Remove use of trait Store from root-testing pallet
* Remove use of trait Store from timestamps pallet
* Remove use of trait Store from system pallet
* Remove use of trait Store from offences pallet
* Remove use of trait Store from recovery pallet
* Remove use of trait Store from node-authorization pallet
* Remove use of trait Store from proxy pallet
* Remove use of trait Store from benchmarking pallet
* Remove use of trait Store from bags-list pallet
* Add deprecated warning in store_trait
* Change warning message
* Run cargo fmt
* Fix warning and update tests
* Remove unnecessary allow deprecated
* Remove use of trait Store
* Fix mismatch in expected output
* Minor update to warning message for deprecation of generate_store with Store trait attribute
* Fixes as per review comments
* Fixes as per review suggestions
* Remove use of Store trait from core-fellowship pallet
* Fix type in store_trait.rs
* Fixes as pre review comment
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
* frame-system: explicit call index
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Use explicit call indices
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* pallet-template: explicit call index
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* DNM: Temporarily require call_index
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Revert "DNM: Temporarily require call_index"
This reverts commit c4934e312e12af72ca05a8029d7da753a9c99346.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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>
* Make use of PrefixIterator underneath Storage[Key]Iterator
* Add ChildTriePrefixIterator and methods
* Add documentation on ChilTriePrefixIterator fields
* Deprecate Storage[Key]Iterator API instead of removing them
* Allow fetching for the prefix as an option for ChildTriePrefixIterator
* Rename prefix_fetch to fetch_previous_key
* fix implementation + test
* make gitdiff better
* Add test for storage_iter and storage_key_iter
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
* 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.
* wk2046 | D5 | treasury refactor to bounties and tips
* wk2046 | D5 | treasury refactor to bounties and tips | p2
* fix test compilation, ignoring events
* initialize treasury in genesis
* wk2046 | D7 | treasury refactor | fix bounties test build issues
* wk2047 | D1 | treasury refactor | tips pallet bringup
* wk2047 | D2 | treasury refactor | bounties pallet | unit test bringup
* wk2047 | D2 | treasury refactor | bounties pallet | unit test bringup | p2
* wk2047 | D2 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - analysis
* wk2047 | D3 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - fix
* wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix
* wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix | p2
* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks
* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p2
* wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p3
* wk2047 | D5 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p4
* wk2047 | D6 | treasury refactor | review comments fix
* some fixes
* fix bounties instantiable
* remove instantiable from tips and bounties
* fix compile for benchmarks
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update lib.rs
* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_tips --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/tips/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_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* add back `on_initialize_bounties`
* patch up bounties benchmarks
* cargo run --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
* Remove development TODO from public doc comment (#7500)
* refactor subtrait/elevated trait as not needed (#7497)
* Fix comments of indices pallet events (#7511)
Arguments for IndexAssigned and IndexFrozen were inverted in comments.
* Skip slot lenience on first block in BABE (#7515)
The genesis header doesn't have the BABE pre-digest and we insert `0` as
slot number. The slot lenience calculation will return the maximum in
this situation. Besides returning the maximum which is not bad at all,
it also prints some a debug message that can be confusing in the first
moment. To prevent printing this debug message, we now just return early
when we see that the parent block is the genesis block.
* slots: incrementally backoff claiming slots if finality lags behind (#7186)
* babe: backoff authoring blocks when finality lags
* babe: move backoff authoring params to default constructor
* babe: deduplicate the test a bit
* babe: set backoff constants in service
* babe: use better names for backoff authoring block parameters
* babe: remove last unwrap
* babe: slight style tweak
* babe: fix comment
* slots: move backoff block authorship logic to SimpleSlotWorker
* aura: append SlotInfo in on_slot
* slots: use the correct types for parameters
* slots: fix review comments
* aura: add missing backoff authoring blocks parameters
* slots: add comments for default values
* slots: add additional checks in test
* slots: update implementation for new master
* slots: revert the change to SlotInfo
* Fix review comments
* slots: rework unit tests for backing off claiming slots
* slots: add test for asymptotic behaviour for slot claims
* slots: address review comments
* slots: add test for max_interval
* slots: add assertion for intervals between between claimed slots
* slots: remove rustfmt directive
* slots: another attempt at explaining authoring_rate
* slots: up unfinalized_slack to 50 by default
* slots: add tests for time to reach max_interval
* slots: fix typo in comments
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* slots: additional tweaks to comments and info calls
* slots: rename to BackoffAuthoringOnFinalizedHeadLagging
* slots: make the backing off strategy generic
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* slots: implement backoff trait for () for simplicity
* slots: move logging inside backing off function to make it more specific
* aura: add missing function parameter
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Export app-crypto specific keystore functions (#7489)
* Export app-crypto specific keystore functions
* Also add back the insert function
* Switch KeystoreContainer to an enum
* Only export the bare minimal for LocalKeystore and fix service compile
* fix: should return Arc
* Add docs stating that functions only available in local keystore
* Remove insert and generate functions
* fix: generate function should be available in test
* Add keypair function to trait
* Revert "Add keypair function to trait"
This reverts commit ad921b09ca73d3c09298e3a51b562ef8e0067781.
* Add note for local_keystore function in service
* Update doc for the --chain flag (#7520)
* contracts: Add missing instruction to the `Schedule` (#7527)
* Don't log with colors when we are writing to a tty (#7525)
* Don't log with colors when we are writing to a tty
This fixes a regression that was introduced by the switch to tracing.
Before we killed all colors before writing to a tty, this pr brings the
behaviour back.
* Remove accidentally added crate
* Review feedback
* More feedback
* Update client/cli/src/logging.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Update client/cli/src/logging.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* MemoryId -> u32 (#7534)
* Enable local addresses in DHT when chain type == `Local` | `Development` (#7538)
* Enable local addresses in DHT when chain type == `Local` | `Development`
This pr changes when to add local addresses to DHT. Instead of only
checking if `--discover-local` and `--dev` are present, we now also
check if the chain type is `Local` or `Development`.
* Update the docs!
* Update tiny-bip39 to v0.8 (#7539)
It would improve secret zeroization due to
https://github.com/maciejhirsz/tiny-bip39/pull/22, and would also remove
one of the points where we depend on `failure` crate, which is
deprecated (see https://github.com/rust-lang-nursery/failure/pull/347)
* make LocalCallExecutor public (#7528)
* Fix some weirdness in `offchain_worker` (#7541)
We call `offchain_worker` with the state of the imported block and pass
the header of this block. However in the runtime we call all
`offchain_worker` functions with the number of the parent block. Besides
that we also pass all digests and not only the pre runtime digests. In
the context where the offchain worker is executed we have all digests, so
there is no real reason to only pass pre runtime digests. Another fix is
that we also insert the hash of the current header into the block hash map.
* Use inbound peerslot slots when a substream is received, rather than a connection (#7464)
* Use inbound peerslot slots when a substream is received, rather than a connection
* Refactor PeerState
* Some bugfixes
* Fix warnings so that CI runs, gmlrlblbl
* Bugfixes
* Update docs
* Apply suggestions from code review
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
* Clean up Banned state
* Refactor connections state
* Fix possibility of Enabled with no Opening or Open connection
* Line width
* Add some debug_asserts! and fix TODO
* Refactor legacy handler
* Rewrite group.rs entirely [part 1]
* Rewrite group.rs entirely [part 2]
* Remove faulty assertion
Because of the asynchronous nature of the behaviour <-> handler communications, it is possible to receive notifications while in the Closing state
* Don't poll the legacy substream is not Open
* Tolerate when not all substreams are accepted
* Remove TODOs
* Dummy commit to make CI log interesting things
* Try race condition fix
* Revert "Try race condition fix"
This reverts commit 0675c659d06195c30f8c5bc13e2d88141d57a3ba.
* Correctly rebuild pending_opening
* Minor tweaks
* Printlns for CI debugging
* Revert "Printlns for CI debugging"
This reverts commit e7852a231f4fc418898767aaa27c9a4358e12e8b.
* Revert "Dummy commit to make CI log interesting things"
This reverts commit 259ddd74088e53e7c6a9b0a62a8d1573a0063ce3.
* mv group.rs ../handler.rs
* Apply suggestions from code review
Co-authored-by: Max Inden <mail@max-inden.de>
* Banned => Backoff
* Mention the actual PeerStates
* OpenDesired -> OpenDesiredByRemote
* OpeningThenClosing
* Add doc links to PeerState
* Simplify increment logic
* One more debug_assert
* debug_assert!
* OpenDesiredByRemote
* Update client/network/src/protocol/generic_proto/behaviour.rs
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
* *: Update to libp2p v0.30.0 (#7508)
* *: Update to libp2p v0.30.0
* Cargo.lock: Update
* *: Update to libp2p v0.30.1
* make ClientConfig public (#7544)
* sc-basic-authorship: remove useless dependencies (#7550)
Signed-off-by: koushiro <koushiro.cqx@gmail.com>
* Add slashing events to elections-phragmen. (#7543)
* Add slashing events to elections-phragmen.
* Fix build
* Apply suggestions from code review
* Update frame/elections-phragmen/src/lib.rs
* Update frame/elections-phragmen/src/lib.rs
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* Remove necessity to pass ConsensusEngineId when registering notifications protocol (#7549)
* Remove necessity to pass ConsensusEngineId when registering notifications protocol
* Line width
* Fix tests protocol name
* Other renames
* Doc update
* Change issue in TODO
* sc-cli: replace bip39 with tiny-bip39 (#7551)
Signed-off-by: koushiro <koushiro.cqx@gmail.com>
* Add extra docs to on_initialize (#7552)
* Add some extra on_initialize docs.
* Address review comments.
* More Extensible Multiaddress Format (#7380)
* More extensible multiaddress format
* update name
* Don't depend on indices to define multiaddress type
* Use MultiAddress in Node Template too!
* reduce traits, fix build
* support multiple `StaticLookup`
* bump tx version
* feedback
* Fix weight template to remove ugliness in rust doc (#7565)
fixed weight template
* Cargo.lock: Run cargo update (#7553)
* Cargo.lock: Run cargo update
* Cargo.lock: Downgrade cc to v1.0.62
* Cargo.lock: Revert wasm-* updates
* .github: Add dependabot config and thus enable dependabot (#7509)
* .github: Add dependabot config and thus enable dependabot
* Update .github/dependabot.yml
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* Thread-local parameter_types for testing. (#7542)
* Thread-local parameter_types for testing.
* Better docs.
* Some minors
* Merge'em
* Update frame/support/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Align more to basti's trick
* Update frame/support/src/lib.rs
* Update frame/support/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
* Bump wasm-bindgen-test from 0.3.12 to 0.3.17 (#7567)
* Bump wasm-bindgen-test from 0.3.12 to 0.3.17
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.12 to 0.3.17.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)
Signed-off-by: dependabot[bot] <support@github.com>
* Update wasm-bindgen pin to 0.2.68
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* wk2047 | D6 | treasury refactor | review comments fix | p2
* wk2048 | D1 | treasury refactor | review comments fix | p3
* Update bin/node/runtime/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update bin/node/runtime/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* wk2048 | D3 | treasury refactor | review comments fix | p4
* wk2048 | D3 | treasury refactor | review comments fix | p5
* wk2048 | D4 | treasury refactor | review comments fix | removal of deadcode | p6
* remove broken link
* wk2048 | D5 | treasury refactor | review comments fix | bountise doc string | p7
* wk2048 | D5 | treasury refactor | review comments fix | p8
* docs and formatting
* Update frame/tips/src/benchmarking.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* formatting nits
* Trait -> Config
* trait -> config in benchmarks
* clean up weight docs
* Trait -> Config in Runtime
* fix test build
* try to fix polkadot build check
* fix traits
* Update lib.rs
* Apply suggestions from code review
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* Apply suggestions from code review
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
* fix trait location
* nits
* uncomment on_initialize for bounties benchmarks
* update weights
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Caio <c410.f3r@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Antoine Le Calvez <alecalve@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com>
Co-authored-by: Wei Tang <wei@that.world>
Co-authored-by: Sergei Shulepov <sergei@parity.io>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Kirill Pimenov <kirill@parity.io>
Co-authored-by: Andrew Plaza <aplaza@liquidthink.net>
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Qinxuan Chen <koushiro.cqx@gmail.com>
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: Bastian Köcher <git@kchr.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Addie Wagenknecht <addie@nortd.com>