Skip to content
  1. Apr 27, 2020
  2. Apr 25, 2020
    • Shawn Tabrizi's avatar
      Introduce `BlockExecutionWeight` and `ExtrinsicBaseWeight` (#5722) · 8a33c297
      Shawn Tabrizi authored
      
      
      * 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: default avatarKian Paimani <[email protected]>
      
      * 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: default avatarKian Paimani <[email protected]>
      8a33c297
  3. Apr 24, 2020
  4. Apr 23, 2020
  5. Apr 22, 2020
  6. Apr 21, 2020
    • Rakan Alhneiti's avatar
      Offchain signing (#5182) · 25751c05
      Rakan Alhneiti authored
      
      
      * New approach to offchain signing.
      
      * Use in im-online
      
      * Rewrite to use Account<T>
      
      * DRY signing.
      
      * Implement send_raw_unsigned_transaction
      
      * WiP
      
      * Expunge LocalCall
      
      * Expunge LocalCall
      
      * Fix compilation.
      
      * Solve call.
      
      * Make it compile again.
      
      * Finalize implementation.
      
      * Change CreateTransaction
      
      * Clear CreateTransaction.
      
      * Add price payload
      
      * Send raw transaction
      
      * Submit signed payload / unsigned transaction (WIP)
      
      * Supertrait requirements on T::Signature
      
      * Validate signature of payload on an unsigned transaction
      
      * Fix encoding - part 1
      
      * Make it compile.
      
      * Fix compilation of unsigned validator.
      
      * Pass price payload to the transaction
      
      * Make block number part of the signed payload
      
      * Send signed transaction
      
      * Implement all_accounts, any_account
      
      * Fix formatting
      
      * Implement submit_transaction
      
      * Submit signed transaction (ForAll, ForAny)
      
      * Fix formatting
      
      * Implement CreateSignedTransaction
      
      * Move sign and verify to AppCrypto
      
      * Sign transaction
      
      * Call `use_encoded`
      
      * Remove SubmitAndSignTransaction
      
      * Implement runtime using new SigningTypes
      
      * Adapt offchain example to changes
      
      * Fix im-online pallet
      
      * Quick fix: rename AuthorityId2
      
      * Fix offchain example tests
      
      * Add a comment on why keystore is required in unsigned transaction test
      
      * Use UintAuthorityId instead of u64
      
      * WIP
      
      * Remove IdentifyAccount from UintAuthorityId
      
      * Implement PublicWrapper type
      
      * Fix im-online tests
      
      * Fix runtime test
      
      * Bump spec version
      
      * Fix executor tests
      
      * Rename ImOnlineAuthId -> ImOnlineAuthorityId and formatting
      
      * Fix merge
      
      * Documentation
      
      * Revert u64 -> UintAuthorityId conversion
      
      * Fix string errors
      
      * Document public members in offchain module
      
      * Introduce SubmitTransaction
      
      * Update pallets to use SubmitTransaction
      
      * WIP
      
      * Use SubmitTransaction in offchain
      
      * Use `submit_unsigned_transaction`
      
      * Fix tests
      
      * Update docs
      
      * Remove SigningTypes requirement from `SendTransactionTypes`
      
      * Fix tests
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/example-offchain-worker/src/tests.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Remove leftover from previous iterations
      
      * Change enum to struct
      
      * Remove public
      
      * Move mock to node/executor/tests
      
      * Cleanup test-helpers
      
      * Make `application-crypto` `std` feature internal
      
      The macros should not generate code that requires that the calling crate
      has a feature with the name `std` defined.
      
      * Revert cargo lock update
      
      * Use TestAuthorityId from common
      
      * Restore members of account to public
      
      * Tidy up imports
      
      * Fix benchmarking pallet
      
      * Add tests demonstrating ForAll, ForAny on signer
      
      * Move definition of AppCrypto
      
      in example-offchain-worker
      from tests to mod::crypto
      
      * Cleanup stray comment
      
      * Fix ValidTransaction
      
      * Re-fix CreateSignedTransaction
      
      * Address PR feedback
      
      * Add can_sign method to signer
      
      * Propagate error
      
      * Improve documentation
      
      * Fix vec! macro not available
      
      * Document SendTransactiontypes
      
      * Add some docs.
      
      * Split signing examples
      
      * Add tests for signing examples
      
      * WIP can_sign - PR feedback
      
      * WIP
      
      * Split for_any / for_all into different calls
      
      * Verify payload and signature in test
      
      * Fix can_sign implementation
      
      * Fix impl_version
      
      * Import Box from sp_std
      
      * Create issues for TODOs
      
      * Ignore doctest.
      
      * Add test directly to system. Adjust UintTypes.
      
      * Add some tests to account filtering.
      
      * Remove code samples and point to example offchain worker
      
      * Fix doc links
      
      * Fix im-online tests using signatures.
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      25751c05
  7. Apr 20, 2020
  8. Apr 17, 2020
  9. Apr 16, 2020
  10. Apr 14, 2020
  11. Apr 11, 2020
  12. Apr 08, 2020
  13. Apr 07, 2020
    • Shawn Tabrizi's avatar
      Generate Unit Tests for Benchmarks (#5527) · d3cc0514
      Shawn Tabrizi authored
      * Update to latest staking
      
      * generate tests for benchmarking
      
      * add tests, fix warnings
      
      * starting on democracy
      
      * impl_benchmark_tests
      
      * Way more readable
      
      * add test feature flag (does this work?)
      
      * Fix `successful_origin` impl
      
      * democracry benchmark tests
      
      * Fix example benchmarks, add tests
      
      * identity benchmark tests
      
      * Update im-online benchmark tests
      
      * try to add session benchmarking tests (problem with mock)
      
      * staking and timestamp
      
      * add test for treasury, issue with dynamic contains
      
      * utility
      
      * Vesting
      
      * test instead of check
      
      * hide until we figure out what is wrong
      
      * add docs
      
      * close code
      
      * Create custom mock for session-pallet-benchmarking
      
      * Use refcell pattern
      
      * make un-pub
      
      * test-linux-stable includes `runtime-benchmarks` feature
      
      * Revert "test-linux-stable includes `runtime-benchmarks` feature"
      
      This reverts commit a2dab38abd18ac3eb8a6220e4a00e687740bd38c.
      
      * run tests in `--release`
      
      * undo balance change
      
      * build wasm
      d3cc0514
  14. Apr 05, 2020
  15. Apr 04, 2020
  16. Mar 31, 2020
  17. Mar 26, 2020
    • Marcio Diaz's avatar
      Benchmark Democracy Pallet (#5257) · 5a48cade
      Marcio Diaz authored
      
      
      * Add origin bounds to benchmark macro.
      
      * Add democracy benchmark.
      
      * Fix tests
      
      * Remove collective from frame/benchmarking, partially use EnsureOrigin.
      
      * Remove collective stuff.
      
      * Make previous benches compile again.
      
      * Remove comments.
      
      * Make prev bench to work again.
      
      * Add remove votes.
      
      * Add new proxy calls.
      
      * Add runtime-benchmarks guard to EnsureOrigin and implementations.
      
      * Refactor.
      
      * Add missing import.
      
      * Remove duplicated import
      
      * Fix features.
      
      * Add some missing features.
      
      * Update frame/collective/Cargo.toml
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/democracy/src/benchmarking.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/democracy/src/benchmarking.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Add referendums to state.
      
      * populate vecs before call
      
      * Update weight docs
      
      * More fixes and weight docs
      
      * More updates
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5a48cade
    • Kian Paimani's avatar
      Mandate weight annotation (#5357) · a0772117
      Kian Paimani authored
      * Disallow default weight
      
      * Fix build and test
      
      * Fix tests
      
      * Fix another beloved ui test.
      
      * fix beloved trybuild tests
      
      * fix treasury?
      
      * Final test fix
      
      * Fix build
      
      * Fix another one
      
      * Fix
      
      * More doctest fix
      a0772117
  18. 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
    • 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
  19. Mar 19, 2020
  20. 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
  21. 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
  22. Mar 10, 2020
  23. Mar 09, 2020
  24. Mar 05, 2020
    • 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
    • Benjamin Kampmann's avatar
      Hide benchmarks behind a feature flag (#5024) · ff2a36d7
      Benjamin Kampmann authored
      * Hide benchmarks behind a feature flag
      
      * Propage attributes in impl_runtime_apis macro
      
      * Bump impl_version
      
      * Fillter cfg attributes
      
      * Hide more things under the feature
      
      * Fix set_block_number availability
      
      * Rename filter_attrs -> filter_cfg_attrs
      
      * Rename runtime_benchmarks to runtime-benchmarks
      ff2a36d7
  25. Feb 24, 2020
  26. Feb 20, 2020
  27. Feb 19, 2020
  28. Feb 17, 2020
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · c7a14db7
      Shawn Tabrizi authored
      
      
      * meaningfull -> meaningful
      
      * initialise -> initialize
      
      * tokans -> tokens
      
      * incentivise -> incentivize
      
      * lenght -> length
      
      * incentivisation -> incentivization
      
      * doesnt't -> doesn't
      
      * overwriten -> overwritten
      
      * lifecycle -> life cycle
      
      * lifecycle -> life cycle
      
      * usefull -> useful
      
      * noone -> no one
      
      * spaming -> spamming
      
      * defered -> deferred
      
      * hieght -> height
      
      * sumation -> summation
      
      * ingore -> ignore
      
      * registed -> registered
      
      * Auxialary -> Auxiliary
      
      * loggin -> logging
      
      * independance -> independence
      
      * trailling -> trailing
      
      * responsability -> responsibility
      
      * trunkated -> truncated
      
      * Weither -> Whether
      
      * informations -> information
      
      * Runtume -> Runtime
      
      * choosen -> chosen
      
      * delcataion -> declaration
      
      * Unchekced -> Unchecked
      
      * defintion -> definition
      
      * scrach -> scratch
      
      * imput -> input
      
      * transfered -> transferred
      
      * endownment -> endowment
      
      * Determinator -> Determiner
      
      * relevent -> relevant
      
      * emited -> emitted
      
      * acocunt -> account
      
      * proprotional -> proportional
      
      * instantiaion -> instantiation
      
      * commited -> committed
      
      * tombstonedead -> tombstone
      
      * uwnrap -> unwrap
      
      * acount -> account
      
      * specialised -> specialized
      
      * existant -> existent
      
      * requried -> required
      
      * Anull -> Annul
      
      * AUTHORITES -> AUTHORITIES
      
      * underyling -> underlying
      
      * recognisable -> recognizable
      
      * Capitalise -> Capitalize
      
      * reportfor -> report for
      
      * hearbeat -> heartbeat
      
      * onlineness -> being online
      
      * creater -> creator
      
      * Bytearray -> Byte array
      
      * Despoit -> Deposit
      
      * substratced -> subtracted
      
      * Curent -> Current
      
      * imbalanes -> imbalances
      
      * countfown -> countdown
      
      * inexisting -> inexistent
      
      * additionaly -> additionally
      
      * substracted -> subtracted
      
      * auxilary -> auxiliary
      
      * parital -> partial
      
      * in't -> isn't
      
      * compatability -> compatibility
      
      * infomation -> information
      
      * etected -> detected
      
      * extrinsiscs -> extrinsics
      
      * reprensentation -> representation
      
      * coonfiguration -> configuration
      
      * primtives -> primitives
      
      * miscelanious -> miscellaneous
      
      * VERISON -> VERSION
      
      * endcoded -> encoded
      
      * Genrates -> Generates
      
      * miliseconds -> milliseconds
      
      * occured -> occurred
      
      * trully -> truely
      
      * truely -> truly
      
      * conjuction -> conjunction
      
      * encouters -> encounters
      
      * customised -> customized
      
      * deterministicly -> deterministically
      
      * finalisation -> finalization
      
      * pluggable -> plugable
      
      * wakeup -> wake-up
      
      * interemdiate -> intermediate
      
      * intepreting -> interpreting
      
      * finalzied -> finalized
      
      * throgh -> through
      
      * extinsic -> extrinsic
      
      * convient -> convenient
      
      * allocater -> allocator
      
      * propagateable -> propagatable
      
      * succesfuly -> successfully
      
      * finalising -> finalizing
      
      * publically -> publicly
      
      * phrasee -> phrase
      
      * substration -> substractions
      
      * substractions -> subtractions
      
      * neccessarily -> necessarily
      
      * Inlucde -> Include
      
      * unefficient -> inefficient
      
      * thay -> they
      
      * funtion -> function
      
      * datastructures -> data structures
      
      * infromation -> information
      
      * propagatable -> propagable
      
      * ecountered -> encountered
      
      * recognise -> recognize
      
      * intergration -> integration
      
      * lastet -> latest
      
      * datatypes -> data types
      
      * datatype -> data type
      
      * Strongarming -> Strong Arming
      
      * avaible -> available
      
      * Commiting -> Committing
      
      * Retreiving -> Retrieving
      
      * shoud -> should
      
      * canonicaliziation -> canonicalization
      
      * comitted -> committed
      
      * clonable -> cloneable
      
      * Uknown -> Unknown
      
      * reponse -> response
      
      * arbitary -> arbitrary
      
      * Capapbilities -> Capabilities
      
      * responsbile -> responsible
      
      * initialisation -> initialization
      
      * cames -> came
      
      * intemediate -> intermediate
      
      * reqeust -> request
      
      * intance -> instance
      
      * explcitly -> explicitly
      
      * neighor -> neighbor
      
      * reolving -> resolving
      
      * untill -> until
      
      * Validte -> Validate
      
      * deserailize -> deserialize
      
      * literaly -> literally
      
      * preceeding -> preceding
      
      * abpve -> above
      
      * chcecked -> checked
      
      * numbet -> number
      
      * Unknow -> Unknown
      
      * halfs -> halves
      
      * gossup -> gossip
      
      * givent -> given
      
      * immediatelly -> immediately
      
      * slicable -> sliceable
      
      * conensus -> consensus
      
      * Mimicks -> Mimics
      
      * acccept -> accept
      
      * serialise -> serialize
      
      * exstrinsics -> extrinsics
      
      * panicks -> panics
      
      * maintaince -> maintenance
      
      * repeatidely -> repeatedly
      
      * anecstor -> ancestor
      
      * becasue -> because
      
      * processer -> processor
      
      * Prunning -> Pruning
      
      * insterested -> interested
      
      * unuseful -> not useful
      
      * yeided -> yielded
      
      * descendfing -> descending
      
      * corresponts -> corresponds
      
      * survivew -> survive
      
      * keps -> keeps
      
      * ligh -> light
      
      * prerequisities -> prerequisites
      
      * positiion -> position
      
      * depedency -> dependency
      
      * extrinisic -> extrinsic
      
      * atomicaly -> atomically
      
      * staticly -> statically
      
      * resul -> result
      
      * timestamb -> timestamp
      
      * Utilites -> Utilities
      
      * ammount -> amount
      
      * pocess -> process
      
      * exteral -> external
      
      * Update client/finality-grandpa/src/tests.rs
      
      * Update primitives/io/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      c7a14db7
  29. Feb 14, 2020
    • Gavin Wood's avatar
      Composite accounts (#4820) · 5b7512e2
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5b7512e2
  30. Feb 13, 2020
    • Kian Paimani's avatar
      Per-things trait. (#4904) · c871eaac
      Kian Paimani authored
      * Give perthigns the trait it always deserved.
      
      * Make staking and phragmen work with the new generic per_thing
      
      * Make everything work together 🔨
      
      * a bit of cleanup
      
      * Clean usage
      
      * Bump.
      
      * Fix name
      
      * fix grumbles
      
      * hopefully fix the ui test
      
      * Some grumbles
      
      * revamp traits again
      
      * Better naming again.
      c871eaac
  31. Feb 08, 2020
  32. Feb 07, 2020
    • Nikolay Volf's avatar
      Subsystems memory tracking: 1. Transaction pool (#4822) · 41967186
      Nikolay Volf authored
      
      
      * update sp-runtime
      
      * total update
      
      * usage informant
      
      * update to crates.io version
      
      * update Cargo.lock
      
      * update dummy update
      
      * fix todo
      
      * cleanup
      
      * avoid custom impl
      
      * Update client/transaction-pool/graph/src/future.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * remove another custom impl
      
      * remove another custom impl
      
      * add kb in report
      
      * update Cargo.lock
      
      * review suggestions
      
      * --amend
      
      * --amend
      
      * bump parity-util-mem to 0.5.0
      
      * bumps
      
      * update macro and versions
      
      * add to grafana
      
      * naming
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      41967186
  33. Jan 30, 2020
    • Bastian Köcher's avatar
      Expose information about the extrinsic in the metadata (#4774) · 45938d80
      Bastian Köcher authored
      * Expose information about the extrinsic in the metadata
      
      This pr exposes some information about the extrinsic used in the runtime
      via metadata. The following information are exposed:
      
      - Version of the extrinsic
      - List of all signed extensions used by the extrinsic.
      
      * Increment `spec_version`
      45938d80
  34. Jan 28, 2020
  35. Jan 27, 2020
  36. Jan 24, 2020