Skip to content
  1. Mar 20, 2020
    • Bastian Köcher's avatar
      Adds new event phase `Initialization` (#5302) · 7693bd5e
      Bastian Köcher authored
      * Adds new event phase `Initialization`
      
      Every event that was deposited inside of `on_initialize` was assigned to
      the `ApplyExtrinsic(0)` phase which wasn't correct. This pr introduces a
      new phase `Initialization`. This is the new phase while initializing
      a block. After initialization we switch to `ApplyExtrinsic(N)` and at
      the end to `Finalization` as before.
      
      * Set `ExecutionPhase` in `initialize`
      
      * Increment `spec_version`
      7693bd5e
    • Hero Bird's avatar
      Implement ext_ hashes for contracts (issue #5258) (#5326) · 017f2189
      Hero Bird authored
      * Implement ext_ hashes for contracts (issue #5258)
      
      * load cryto hash .wat from raw string literal instead of file
      
      * update .wat contents for testing crypto hashes
      
      * remove unnecessary 'static
      
      * fix bug in input (call_indirect required 1+ at least it seems)
      
      * no longer use scratch buffer for crypto hash functions
      
      * improve doc comments of ext_ hash functions
      
      * remove unnecessary comment in .wat test file
      
      * add return value (const 0) to contract test to hopefully enable result buffer
      
      * fix bug in contract assertion
      
      * implement proper output_len in contract
      
      * implement proper test for crypto hashes
      
      * bump spec_version 238 -> 239
      
      * fix COMPLEXITY description
      
      * remove final invalid instances of scratch buffer from docs
      017f2189
    • Bastian Köcher's avatar
      Make sure frame examples compile for wasm (#5332) · 46458f40
      Bastian Köcher authored
      
      
      * Make sure frame examples compile for wasm
      
      This makes sure that `frame-example` and `frame-example-offchain-worker`
      compile for wasm.
      
      This also fixes compilation for these crates. The offchain worker
      example doesn't use serde-json anymore as that is too heavy and breaks
      `no_std` compilation.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarNikolay Volf <[email protected]>
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      46458f40
    • Shawn Tabrizi's avatar
      Benchmark Treasury Pallet (#5287) · ca3cbbfc
      Shawn Tabrizi authored
      
      
      * Start benchmarks
      
      * try_origin or root
      
      * More benches
      
      * stuck
      
      * Custom trait functions for benchmarks
      
      * finish benchmarks
      
      * Bump impl
      
      * More comments
      
      * Bump spec
      
      * Remove import
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update frame/support/src/traits.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Fix merge
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      ca3cbbfc
    • Peter Goodspeed-Niklaus's avatar
      Factor out can_set_code (#5317) · a9b9ca5f
      Peter Goodspeed-Niklaus authored
      * Factor out can_set_code
      
      The motivation for this feature is parachain runtime upgrades, which
      happen in two different moments: the initial call, when the checks
      should be performed, and at the actual upgrade block. It's much
      better and more maintainable to just call `can_set_code` in the
      function than to manually copy those checks.
      
      I'm not entirely thrilled with the interface, which requires
      cloning the entire code vector in `set_code`. However, it looks
      like something in `decl_module!` does not play nicely with
      references in its function arguments. If `code` has a lifetime,
      it _must_ be named, which gives us this signature.
      
      ```rust
      pub fn can_set_code<'a>(origin, code: &'a [u8]) {
      ```
      
      Unfortunately, attempting to compile with that signature generates
      a very large and baffling collection of build errors, so I decided
      to abandon that path for now.
      
      * make can_set_code non-dispatchable per PR revew
      
      Not only can we now borrow the `code` slice, but we also no longer
      need to worry about people sending a `can_set_code` transaction because
      of some misunderstanding.
      
      * move into existing impl block
      a9b9ca5f
    • Shawn Tabrizi's avatar
      Benchmark Im Online Pallet (#5318) · 400a6268
      Shawn Tabrizi authored
      
      
      * Initial benchmarking setup
      
      * Add keystore
      
      * validate unsigned
      
      * Update frame/im-online/src/benchmarking.rs
      
      Co-Authored-By: default avatarMarcio Diaz <[email protected]>
      
      * Fix verify_unsigned benchmark
      
      * add variable for teting the external addresss length
      
      * Update frame/im-online/src/benchmarking.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update utils/frame/benchmarking-cli/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarMarcio Diaz <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      400a6268
  2. Mar 19, 2020
    • Gavin Wood's avatar
      Remove migration code. (#5291) · 7947cbf9
      Gavin Wood authored
      * Remove migration code.
      
      * Fix cargo
      
      * Bump spec version
      7947cbf9
    • Benjamin Kampmann's avatar
      Update dependencies (#5316) · 0cc54008
      Benjamin Kampmann authored
      * switching to released wasmtime
      
      * update depdencies in general
      
      * Update fdlimit
      
      * Update parity common deps
      
      * Also update schnorrkel
      
      * update kvdb-rocksdb
      
      * update further dependents
      
      * also update primitive types
      
      * update cargo.lock
      
      * update merlin
      
      * Bumping evm version
      0cc54008
  3. Mar 18, 2020
    • Benjamin Kampmann's avatar
      alpha.4 release fixes (#5303) · becbe0a3
      Benjamin Kampmann authored
      * Adding missing metadata for benchmark-pallet
      
      * Missed to bump a few
      
      * release on roling tag
      
      * Wasm executors were missed
      becbe0a3
    • Benjamin Kampmann's avatar
      Releasing 2.0.0-alpha.4 (#5279) · 25e25a83
      Benjamin Kampmann authored
      
      
      * Version bump
      
      * Split generate_changelog.sh into separate script
      
      Can be run in the format `generate_changelog.sh $previous_version $version`.
      
      * remove early exit from publish_draft_release.sh
      
      * adding changelog
      
      * ci: change last_github_release to also find pre-releases
      
      Co-authored-by: default avatarMartin Pugh <[email protected]>
      25e25a83
  4. Mar 17, 2020
    • nahuseyoum's avatar
      bug fix - if statement logic (#5283) · 96108260
      nahuseyoum authored
      if statement logic for recently sent block was inverted.
      96108260
    • Marcio Diaz's avatar
      Fix vesting benchmark (#5269) · bbf5bc6a
      Marcio Diaz authored
      * Fix vesting bench starting block.
      
      * Set subs s+1 to hit worst path.
      
      * Remove unused origin.
      
      * Apply review suggestions.
      bbf5bc6a
    • Shawn Tabrizi's avatar
      Benchmark Staking and Session Pallet (#5183) · 9c06d8c6
      Shawn Tabrizi authored
      
      
      * starting bench
      
      * More
      
      * more
      
      * Payout Validator
      
      * Give each validator exactly n nominators
      
      * Update with test
      
      * Try to add accounts to chain spec
      
      * Undo changes to chainspec
      
      * Payout nominator
      
      * Rebond and Reap Stash
      
      * Set history depth
      
      * fix smelly code
      
      * cancel deferred slash
      
      * new_era bench
      
      * do_slash benchmark
      
      * Add features
      
      * undo extrinsic move
      
      * lower
      
      * Update new era
      
      * Update benchmarking.rs
      
      * whitespace
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * fixes
      
      * nit
      
      * Refactor tests, initial code
      
      * Move session benchmarks to avoid cyclic deps
      
      * Update lib.rs
      
      * Fix warnings
      
      * Move impl
      
      * Update to do random nominator allocation
      
      * add feature to benchmark pallet
      
      * Remove extra stuff
      
      * Update based on feedback
      
      * Less intrusive
      
      * Remove `transfer_idle_users`
      
      * remove again
      
      * unused dep
      
      * test feature flag
      
      * Update to latest substrate
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      9c06d8c6
    • Alexander Theißen's avatar
      Add `ext_terminate` (#5234) · 601f2538
      Alexander Theißen authored
      With this patch forward this will be the only way for
      a contract to destroy itself. This patch therefore changes
      the semantics of all other contract initiated balance
      transfers to fail if they would bring the caller below the
      existential deposit.
      601f2538
  5. Mar 16, 2020
    • Gavin Wood's avatar
      Refactor away from opaque hashes (#5226) · af9083f5
      Gavin Wood authored
      
      
      * System.BlockHash
      
      * Fix hash
      
      * Introduce K/V iteration in all _concat maps
      
      Also move across:
      - System.Account (blake2_128_concat)
      - Balances.Locks (twox_64_concat)
      - ElectionsPhragmen.VotesOf (twox_64_concat)
      - ElectionsPhragmen.StakeOf (twox_64_concat)
      - Identity.IdentityOf (twox_64_concat)
      - Identity.SubsOf (twox_64_concat)
      - Society.Payouts (twox_64_concat)
      - Session.NextKeys (twox_64_concat)
      - Identity.SuperOf (blake2_128_concat)
      - Session.KeyOwner (blake2_128_concat)
      - Society.SuspendedCandidates (twox_64_concat)
      - Society.SuspendedMembers (twox_64_concat)
      - Society.Vouching (twox_64_concat)
      - Society.Strikes (twox_64_concat)
      - System.EventTopics
      - Balances.Account
      
      * Build fixes
      
      * Ensure migration happens in correct order
      
      * Staking.*
      
      * Vesting.* Offences.*
      
      * Democracy.*
      
      * Babe.* Collective.*
      
      * Grandpa.*
      
      * Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
      
      Also introduce real account list
      
      * ImOnline.*
      
      * Treasury.*
      
      * Recovery.*
      
      * Final bits.
      
      * Docs
      
      * Fix one test
      
      * Fix test
      
      * All passing except the UI tests
      
      * Remove linked_map part 1
      
      * Remove linked_map
      
      * Some iterator utils for double maps.
      
      * Remove old migrations
      
      * Introduce tombstone for LinkedMap type
      
      * Migration for genesis hash
      
      * Fix build
      
      * Fix hash
      
      * Rename Map is_linked -> unused, keeping backwards compat (#5256)
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Remove old migration code.
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix hash
      
      * fix session migration
      
      * Fix watning
      
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      af9083f5
  6. Mar 15, 2020
    • Bastian Köcher's avatar
      Move runtime upgrade to `frame-executive` (#5197) · 26fa6e3c
      Bastian Köcher authored
      * Move runtime upgrade to `frame-executive`
      
      Instead of storing the runtime upgraded in the space of `frame-system`,
      this moves it to `frame-executive`. We also start storing the
      `spec_version` and `impl_version` the last runtime upgrade was applied.
      
      This scheme has multiple advantages:
      - We don't need to make sure that runtime upgrade was set.
      - This will work in the future when we want to test a runtime upgrade,
      because the `on_runtime_upgrade` will be executed automatically when the
      runtime changes.
      
      * Move `LAST_RUNTIME_UPGRADE` key to `frame-executive`
      
      * Add some more documentation
      
      * Make sure `spec_version` always increases between runtime upgrades
      
      * Fix test
      
      * Upgrade `parity-multiaddr` to fix compilation
      
      * Also check if the `spec_name` changed
      
      * Remove `RuntimeUpgraded` storage entry
      
      * Don't run on genesis
      26fa6e3c
  7. Mar 14, 2020
  8. Mar 13, 2020
  9. Mar 12, 2020
  10. Mar 11, 2020
  11. Mar 10, 2020
  12. Mar 09, 2020
  13. Mar 06, 2020
  14. Mar 05, 2020
    • Gavin Wood's avatar
      Revert quote fixed version and upgrade failure (#5152) · bbaf96e0
      Gavin Wood authored
      * Revert "use fixed quote (#5135)"
      
      This reverts commit 8bf855b0
      
      .
      
      * Upgrade failure version
      
      * Update frame/staking/reward-curve/Cargo.toml
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Ahh I'm dumb
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      bbaf96e0
    • Gavin Wood's avatar
      remove derivation of debug in no_std (#5146) · f7084e54
      Gavin Wood authored
      f7084e54
    • Gavin Wood's avatar
      Introduce default-setting prime for collective (#5137) · 0573f140
      Gavin Wood authored
      
      
      * Introduce default-setting prime for collective
      
      * Docs.
      
      * Elections phragmen supports prime
      
      * Fix
      
      * Membership supports prime
      
      * Fix
      
      * Update frame/collective/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      0573f140
    • Gavin Wood's avatar
      Introduce `on_runtime_upgrade` (#5058) · df77c4bf
      Gavin Wood authored
      * Initial idea of `on_runtime_upgrade`
      
      * Runtime storage for module version
      
      * Gui shawntabrizi runtime upgrade (#5118)
      
      * adding unleash to ci (#5020)
      
      * adding unleash to ci
      
      * fixing formatting
      
      * with a dot please
      
      * alpha.3 now
      
      * do not publish testing helpers
      
      * remove old test-helpers cruft
      
      * fix cargo.lock
      
      * with alpha 4
      
      * do not publish runtime-interface-test either
      
      * disable more test crates from publishing
      
      * switch to alpha.5
      
      * replace tempdir with tempfile
      
      * update lru
      
      * switch to bytes 0.5
      
      * release script fixes
      
      * switch on and to latest alpha
      
      * BUT THE SPACES
      
      * Fix: CI failing for some CLI tests (#5043)
      
      * Initial commit
      
      Forked at: ad90ab7e
      
      
      Parent branch: origin/master
      
      * Increase killing grace period of CLI tests and display more info
      
      * Use --dev everywhere possible
      
      * Put pruning mode to its own params struct
      
      * Add pruning params to export-blocks command
      
      * Added missing file
      
      * Removed not-dev mode in tests
      
      * Add pruning mode to the revert command
      
      * Decrease killing grace period again
      
      * Move back unsafe_pruning to import_params
      
      * Applied proposed changes
      
      * aura: remove unused tx pool (#5046)
      
      * aura: remove unused transaction pool parameter
      
      * node-template: remove transaction pool from aura
      
      * aura: fix tests
      
      * Extend rust nightly detection in `wasm-builder` (#5021)
      
      Instead of just testing `cargo` and `rustup run nightly`, we now test
      the `CARGO` env variable and also scan non default nightlies. The user
      is also now able to select the toolchain with `WASM_BUILD_TOOLCHAIN`.
      
      * Add steps setting to benchmarking CLI (#5033)
      
      * Add steps setting to CLI, use max value to hit worst case.
      
      * Bump impl_version.
      
      * Apply review suggestion.
      
      * Remove indices from node-template (#5025)
      
      * Remove indices from node-template
      
      * Use identity lookup instead
      
      * Bump impl
      
      * clean cargo.toml
      
      * Fix documentation for "BlockBuilder::push_trusted" (#5051)
      
      * fix doc
      
      * rephrase
      
      * do not check unleash on every PR, only master and tags (#5054)
      
      * do not check unleash on every PR, only master and tags
      
      * move scripts folder
      
      * add signed-tag check to CI
      
      * remove publish-to-crates-io dependencies
      
      Co-authored-by: default avatars3krit <[email protected]>
      
      * prepare version to alpha.1 (#5055)
      
      bump version to -alpha.1
      
      * Sync: validate block responses for required data (#5052)
      
      * Less verbose state-db logging
      
      * Validate block responses for block bodies
      
      * Update client/network/src/protocol.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Added validation test
      
      * Disconnect on missing header as well
      
      * Typo
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Make these chainspecs fields private (#5031)
      
      * Fix dockerfile (#5059)
      
      * Adds documentation for `wipe` and `commit` (#5053)
      
      * Adds documentation for `wipe` and `commit`
      
      This adds documentation to `wipe` and `commit` of `Externalities`.
      Besides that it removes the default implementation that would just panic
      and requires that all implementers of the trait implement the functions.
      
      * Update primitives/externalities/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Fix the issue with `trybuild`'s `ui` tests (#4992)
      
      * repro ui bug
      
      * fix the tests
      
      * test with the new image
      
      * test without CARGO_HOME
      
      * test without fixes
      
      * test again
      
      * fix trybuild old versions
      
      * bump CArgo.lock
      
      * fix trybuild newest versions
      
      * bump Cargo.lock
      
      * trying on the latest image
      
      * bump Cargo.lock
      
      * run with the old image
      
      * ci will be green on the image from 2020-02-19 [skip ci]
      
      * bump Cargo.lock
      
      * Activate publishing of draft releases... (#5062)
      
      * Activate publishing of draft releases...
      
      ... And fix the message sending (missing parameter).
      
      * publish_draft_release.sh now checks latest...
      
      ... release on github rather than just a tag
      
      * Fix/div by zero (#5041)
      
      * Handle gas_price being zero separately
      
      * Bump spec_version
      
      * Add a unit & integration tests for gas price = 0
      
      * set missing metadata fields, prepping alpha.2 (#5067)
      
      * setting first batch of descriptions
      
      * fix what I just broke
      
      * next batch
      
      * and pallets, too
      
      * last batch
      
      * set cargo.lock
      
      * keep'em dev-deps
      
      * bump version to alpha.2
      
      * Fix revalidation not revalidating multiple times (#5065)
      
      * removes use of sc_client::Client from sc_finality_grandpa (#5030)
      
      * removes use of sc_client::Client from sc_finality_grandpa
      
      * code formatting
      
      * code formatting
      
      * removes use of sc_client::Client from sc_finality_grandpa
      
      * Remove deprecated host functions (#5038)
      
      Sadly we need to keep one function `ext_blake2_256`. This function is
      manually defined in `sp-core`.
      
      * removes use of sc_client::Client from sc_basic_authorship (#5050)
      
      * removes use of sc-client from sc-basic-authorship
      
      * refactor use of ProposerFactory
      
      * correct dep path
      
      * pallet-transaction-payment clean up (#5070)
      
      * Formatting clean up
      
      * Introduce separate setters for the fees.
      
      * *: Rename prometheus-exporter crate to substrate-prometheus-end… (#5076)
      
      This patch renames the crate for the following two reasons:
      
      1. The prometheus-exporter crate introduces native in-process Prometheus
      style instrumentation to the Substrate project. Within the Prometheus
      ecosystem the term "exporter" is used for external processes exposing
      metrics for e.g. the Linux Kernel. In-process exposition would be
      described via the term "endpoint".
      
      2. "prometheus-exporter" is generic and ignores the fact that it is only
      usable within the context of Substrate. In addition the name
      "prometheus-exporter" is already taken on crates.io.
      
      * rename `browser-utils` to `substrate-browser-utils` (#5079)
      
      * prepping for Alpha.3 (#5080)
      
      * Bump to alpha.3
      
      * update gitlab-ci
      
      * Propagate DispatchError for benchmarks. (#5075)
      
      * Propagate DispatchError for benchmarks.
      
      * Apply review suggestions.
      
      * Use RuntimeString.
      
      * fix expect
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Add options to overwrite range bounds in benchmark command. (#5072)
      
      * Add --mins --maxs to benchmark command.
      
      * Apply review suggestions.
      
      * Update yamux to version 0.4.4. (#5086)
      
      * Remove more instances of futures01 (#4633)
      
      * Start removing last few instances of futures01
      
      * Use to_poll on wasm
      
      * Revert "Use to_poll on wasm"
      
      This reverts commit 1c61728f10d520df5f9b28c415a0db68e478b9c7.
      
      * Fix fg test
      
      * Upgrade network test futures
      
      * Update offchain hyper version
      
      * Update service test
      
      * bump tokio to 0.2.10
      
      * Removed some unneeded tokios
      
      * fixes
      
      * fix run_until_all_full
      
      * Make service test debuggable
      
      * Update client/offchain/src/api/http.rs
      
      Co-Authored-By: default avatarDemi Obenour <[email protected]>
      
      * Add service_test to test-int output
      
      * nitpicking
      
      * Finally fix test
      
      * Give up and revert client/serviec/test
      
      * Revert gitlab ci too
      
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      
      * Make export blocks default to json on stdout (#5090)
      
      * Make export blocks default to json on stdout
      
      * Multiline instead of single line to stay under 100 cols
      
      * Change --json flag to --binary, defaulting to json
      
      * Offence reporting returns a result (#5082)
      
      * Offence reporting returns a result
      
      * Bump spec_version
      
      * Use unwrap instead of assertions
      
      * Fix more review grumbles
      
      * Update to libp2p 0.16.2 (#5088)
      
      * Remove request ID from the new protocol (#5049)
      
      * Make sure we remove a peer on disconnect in gossip (#5104)
      
      * Make sure we remove peers on disconnect in gossip state machine
      
      * Clear up the code
      
      * Add a comment
      
      * Expose `state-db` memory info (#5110)
      
      This exposes memory statistics from the state-db.
      
      * Change extrinsic_count to extrinsic_index in pallet-utility (#5044)
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      
      * Add more metrics to prometheus (#5034)
      
      * Add a few things
      
      * Add finality_grandpa_round
      
      * fix fg tests
      
      * Nitpicks
      
      * Nitpicks
      
      * Fix name of prometheus crate
      
      * Update to SCALE 1.2.0 (#5113)
      
      This updates `parity-scale-codec` to `1.2.0`, which includes multiple
      performance improvements and a fix that bounds the capacity of a vector
      at decoding.
      
      * Lazy payouts (#4474)
      
      * TODOs
      
      * Remove superfluous:
      
      * partial implementation
      
      * full implementation
      
      * fix preferences
      
      * update comments
      
      * upgrade test WIP
      
      * fix more tests
      
      * fix cutoff
      
      * fix saturation
      
      * comment
      
      * upgrade mock
      
      * upgrade test
      
      * WIP migration
      
      * WIP migration
      
      * remove slot stake stuff
      
      * fix merge
      
      * migration of ledger
      
      * remove equalize from test
      
      * add test
      
      * fix
      
      * update doc
      
      * fix compilation
      
      * improve test readibility
      
      * improve doc
      
      * fix most todo
      
      * fix migration and test
      
      * remove println
      
      * WIP
      
      * add test and spec
      
      * weight
      
      * update doc
      
      * safer end_era
      
      * fix exposure of conversion
      
      * Revert "safer end_era"
      
      This reverts commit 72ff737d27be67d87308514b13e2574bc5f09fce.
      
      * fix useless put
      
      * exposure clipped
      
      * doc
      
      * fix payout with clipped
      
      * fix node runtime
      
      * add doc
      
      * pluggable and generalized staking module
      
      * remove print
      
      * update doc
      
      * refactor
      
      * improve documentation and implementation
      
      * fix test
      
      * Fix test
      
      * fix test
      
      * fix test
      
      * fix remove lowest stake from exposure, not biggest.
      
      * nomination index arguments in nominator_payout
      
      * add test
      
      * try to fix offence
      
      * apply slashed and bond eras until active era
      
      * doc
      
      * update spec version
      
      * add test upgrade from previous test environment
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * nominators upgrade has been cleaned
      
      * dynamic history depth implementation
      
      * make current_era - history_depth included
      
      * Change equality check to start era to less than or equal
      
      * Use era specific validator prefs
      
      * Add print statement and comment about start era if <
      
      * fix next_reward overflow
      
      * make more check for bad era claim for zero cost
      
      * small refactor
      
      * code refactor + fix use of deprecated storage
      
      * fix wasm build
      
      * add comment
      
      * Fix tests
      
      * remove outdated comment
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * gather active era information into one storage
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * impl on_runtime_upgrade
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarMarcio Diaz <[email protected]>
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      Co-authored-by: default avatars3krit <[email protected]>
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      Co-authored-by: default avatarEric <[email protected]>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarSergei Pepyakin <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarToralf Wittner <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      Co-authored-by: default avatarpscott <[email protected]>
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      
      * make compile
      
      * Add some tests
      
      * docs
      
      * Remove "useless" code
      
      * Fix merge and use n + 1 block number
      
      * Fix tests
      
      * unfix ui tests
      
      * Update on_initialize.stderr
      
      * fix test
      
      * Fix test
      
      * Bump spec
      
      * Remove `on_finalise` and `on_initialise`
      
      * Use bool for tracking runtime upgraded
      
      * typo
      
      * Support runtime upgrade with `set_storage`
      
      * Refactor migration code location
      
      * add trailing newlines
      
      * Remove old `IsUpgraded` flag
      
      * Update state root
      
      * Exhaustive match statement
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarMarcio Diaz <[email protected]>
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      Co-authored-by: default avatars3krit <[email protected]>
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      Co-authored-by: default avatarEric <[email protected]>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarSergei Pepyakin <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarToralf Wittner <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      Co-authored-by: default avatarpscott <[email protected]>
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      df77c4bf