Slash and prove membership of prior sessions (#2970)
* skeleton for tracking historical sessions
* refactor OpaqueKeys
* some more skeleton work
* adjust session to new OpaqueKeys API
* further refactoring of key-type-ids
* session gets validator ID parameter
* run up against compiler
* tweak staking to support new session changes
* first run at child storage for deduplication
* Make session use `AccountId` as `ValidatorId`
* run up against child trie issues
* switch to using normal trie but with a fixed prefix
* clear out some println
* add dedup test
* flesh out historical module more
* introduce ExposureOf for staking
* test the historical module
* WASM compiles
* tests all compile
* do some mock change
* fix bulk of tests
* fix staking tests
* test obsolecence mechanic
* Apply suggestions from code review
Co-Authored-By:
Bastian Köcher <bkchr@users.noreply.github.com>
* some more style nits
* a couple more nits
* tweak tries
* fix typo thie -> this
Showing
- substrate/Cargo.lock 1 addition, 0 deletionssubstrate/Cargo.lock
- substrate/core/sr-primitives/src/lib.rs 3 additions, 0 deletionssubstrate/core/sr-primitives/src/lib.rs
- substrate/core/sr-primitives/src/testing.rs 21 additions, 5 deletionssubstrate/core/sr-primitives/src/testing.rs
- substrate/core/sr-primitives/src/traits.rs 62 additions, 30 deletionssubstrate/core/sr-primitives/src/traits.rs
- substrate/core/state-machine/src/testing.rs 1 addition, 1 deletionsubstrate/core/state-machine/src/testing.rs
- substrate/core/trie/src/lib.rs 2 additions, 0 deletionssubstrate/core/trie/src/lib.rs
- substrate/node/cli/src/chain_spec.rs 6 additions, 2 deletionssubstrate/node/cli/src/chain_spec.rs
- substrate/node/executor/src/lib.rs 5 additions, 2 deletionssubstrate/node/executor/src/lib.rs
- substrate/node/runtime/Cargo.toml 1 addition, 1 deletionsubstrate/node/runtime/Cargo.toml
- substrate/node/runtime/src/lib.rs 17 additions, 4 deletionssubstrate/node/runtime/src/lib.rs
- substrate/srml/aura/src/lib.rs 8 additions, 3 deletionssubstrate/srml/aura/src/lib.rs
- substrate/srml/aura/src/mock.rs 5 additions, 1 deletionsubstrate/srml/aura/src/mock.rs
- substrate/srml/babe/src/lib.rs 1 addition, 0 deletionssubstrate/srml/babe/src/lib.rs
- substrate/srml/grandpa/src/lib.rs 1 addition, 0 deletionssubstrate/srml/grandpa/src/lib.rs
- substrate/srml/session/Cargo.toml 6 additions, 3 deletionssubstrate/srml/session/Cargo.toml
- substrate/srml/session/src/historical.rs 450 additions, 0 deletionssubstrate/srml/session/src/historical.rs
- substrate/srml/session/src/lib.rs 248 additions, 217 deletionssubstrate/srml/session/src/lib.rs
- substrate/srml/session/src/mock.rs 148 additions, 0 deletionssubstrate/srml/session/src/mock.rs
- substrate/srml/staking/Cargo.toml 1 addition, 1 deletionsubstrate/srml/staking/Cargo.toml
- substrate/srml/staking/src/lib.rs 115 additions, 27 deletionssubstrate/srml/staking/src/lib.rs
Please register or sign in to comment