1. Mar 20, 2020
    • 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
  2. Mar 19, 2020
  3. 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
  4. 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
  5. Mar 10, 2020
  6. Mar 09, 2020
  7. 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
  8. Feb 24, 2020
  9. Feb 20, 2020
  10. Feb 19, 2020
  11. 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
  12. 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
  13. 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
  14. Feb 08, 2020
  15. 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
  16. 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
  17. Jan 28, 2020
  18. Jan 27, 2020
  19. Jan 24, 2020
  20. Jan 16, 2020
    • Svyatoslav Nikolsky's avatar
      Allow updating configuration of changes tries (#3201) · febf2939
      Svyatoslav Nikolsky authored
      
      
      * DigestItem::ChangesTrieSignal
      
      * introduce changes_trie::State
      
      * introduce config activation block
      
      * ChangesTrieSignal::as_new_configuration
      
      * moved well_known_cache_keys to client
      
      * extracted DbChangesTrieStorage to separate file
      
      * change meaning of none in blockchain cache
      
      * changes trie config (FULL) cache draft
      
      * eliminating const ChangesTrieConfiguration
      
      * delay pruning
      
      * continue elimination
      
      * do not prune CT config from cache
      
      * removed redundant code
      
      * fix some TODOs
      
      * introduce ConfigurationRange
      
      * use Configuration range in build
      
      * build skewed digest
      
      * remove debug print
      
      * extracted surface iterator
      
      * key_changes works with skewed digests
      
      * fix client build
      
      * add test for NeverPrune
      
      * fix TODO
      
      * fixed some TODOs
      
      * more tests
      
      * fixing TODOs
      
      * fixed compilation
      
      * update runtime version
      
      * git rid of large tuple
      
      * too long lines
      
      * config_activation_block -> zero
      
      * obsolete TODO
      
      * removed unjustified expect
      
      * update TODOs with issue number
      
      * new CT pruning algorithm
      
      fixed cache + multiple blocks finalization
      
      track CT configuraiton on light clients
      
      support CT configuration change revert
      
      revert CT config test
      
      new CT pruning algorithm
      
      fixed cache + multiple blocks finalization
      
      track CT configuraiton on light clients
      
      support CT configuration change revert
      
      revert CT config test
      
      * BlockIdOrHeader isn't really required
      
      * removed debug leftovers + some docs
      
      * more docs
      
      * more post-merge fixes
      
      * more post-merge fixes
      
      * revertes some unnecessary changes
      
      * reverted unnecessary changes
      
      * fix compilation + unnecessary changes
      
      * (restart CI)
      
      * fix cache update when finalizing multiple blocks
      
      * fixed tests
      
      * collect_extrinsics -> set_collect_extrinsics
      
      * restore lost test
      
      * do not calculate block number twice
      
      * Update primitives/blockchain/src/error.rs
      
      Co-Authored-By: default avatarcheme <[email protected]>
      
      * map_err -> unwrap_or
      
      * document get_at Result
      
      * delete abandoned file
      
      * added weight for set_changes_trie_config
      
      * prefer_configs -> fail_if_disabled
      
      * Update client/api/src/backend.rs
      
      Co-Authored-By: default avatarcheme <[email protected]>
      
      * Update client/db/src/changes_tries_storage.rs
      
      Co-Authored-By: default avatarcheme <[email protected]>
      
      * CommitOperation+merge -> CommitOperations
      
      * fixed test compilation
      
      * merged two different CTRange structs
      
      * lost file
      
      * uggrade db from v0 to v1 (init CT cache + add column)
      
      * fix after merge
      
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      febf2939
    • Bastian Köcher's avatar
      Implement runtime version checks in `set_code` (#4548) · afc3318f
      Bastian Köcher authored
      * Implement runtime version checks in `set_code`
      
      Check that the new runtime code given to `set_code` fullfills some
      requirements:
      
      - `spec_name` matches
      - `spec_version` does not decreases
      - `impl_version` does not decreases
      - Either `spec_version` and `impl_version` increase
      
      * Make tests almost work
      
      * Some fixes after master merge
      
      * Fix tests
      
      * Add missed file
      
      * Make depedency check happy?
      
      * Remove leftover `sc-executor`
      
      * AHHHHH
      
      * Reset debug stuff
      
      * Remove some 'static
      
      * More 'static
      
      * Some docs
      
      * Update `Cargo.lock`
      afc3318f
  21. Jan 10, 2020
    • Bastian Köcher's avatar
      Remove requirement on `Hash = H256`, make `Proposer` return `StorageChanges` and `Proof` (#3860) · fd6b29dd
      Bastian Köcher authored
      
      
      * Extend `Proposer` to optionally generate a proof of the proposal
      
      * Something
      
      * Refactor sr-api to not depend on client anymore
      
      * Fix benches
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Apply suggestions from code review
      
      * Introduce new `into_storage_changes` function
      
      * Switch to runtime api for `execute_block` and don't require `H256`
      anywhere in the code
      
      * Put the `StorageChanges` into the `Proposal`
      
      * Move the runtime api error to its own trait
      
      * Adds `StorageTransactionCache` to the runtime api
      
      This requires that we add `type NodeBlock = ` to the
      `impl_runtime_apis!` macro to work around some bugs in rustc :(
      
      * Remove `type NodeBlock` and switch to a "better" hack
      
      * Start using the transaction cache from the runtime api
      
      * Make it compile
      
      * Move `InMemory` to its own file
      
      * Make all tests work again
      
      * Return block, storage_changes and proof from Blockbuilder::bake()
      
      * Make sure that we use/set `storage_changes` when possible
      
      * Add test
      
      * Fix deadlock
      
      * Remove accidentally added folders
      
      * Introduce `RecordProof` as argument type to be more explicit
      
      * Update client/src/client.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update primitives/state-machine/src/ext.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Integrates review feedback
      
      * Remove `unsafe` usage
      
      * Update client/block-builder/src/lib.rs
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * Update client/src/call_executor.rs
      
      * Bump versions
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      fd6b29dd
    • Tomasz Drwięga's avatar
      Add documentation to SubmitSignedTransaction and actually make it work (#4200) · 74d6e660
      Tomasz Drwięga authored
      
      
      * Add documentation to signed transactions and actually make them work.
      
      * Fix naming and bounds.
      
      * Forgotten import.
      
      * Remove warning.
      
      * Make accounts optional, fix logic.
      
      * Split the method to avoid confusing type error message.
      
      * Move executor tests to integration.
      
      * Add submit transactions tests.
      
      * Make `submit_transaction` tests compile
      
      * Remove a file that was accidently committed
      
      * Add can_sign helper function.
      
      * Fix compilation.
      
      * Add a key to keystore.
      
      * Fix the tests.
      
      * Remove env_logger.
      
      * Fix sending multiple transactions.
      
      * Remove commented code.
      
      * Bring back criterion.
      
      * Remove stray debug log.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Make sure to initialize block correctly.
      
      * Initialize block for offchain workers.
      
      * Add test for transaction validity.
      
      * Fix tests.
      
      * Review suggestions.
      
      * Remove redundant comment.
      
      * Make sure to use correct block number of authoring.
      
      * Change the runtime API.
      
      * Support both versions.
      
      * Bump spec version, fix RPC test.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      74d6e660
    • Shawn Tabrizi's avatar
      Introduce `OnReapAccount` (#4585) · a1e0076a
      Shawn Tabrizi authored
      * Initial run and gun at `OnReapAccount`
      
      * Fix some imports
      
      * More fixes
      
      * Whitespace
      
      * More wack-a-mole
      
      * Gotta catch em all
      
      * Update lib.rs
      
      * Small doc update
      
      * Whitespace
      a1e0076a
  22. Jan 09, 2020
  23. Jan 08, 2020
  24. Jan 05, 2020
  25. Dec 20, 2019
  26. Dec 19, 2019
    • Bastian Köcher's avatar
      Make `decl_error!` errors usable (#4449) · 8e393aa5
      Bastian Köcher authored
      * Make `decl_error!` errors usable
      
      This pr implements support for returning errors of different pallets in
      a pallet. These errors need to be declared with `decl_error!`.
      
      The pr changes the following:
      
      - Each dispatchable function now returns a `DispatchResult` which is an
      alias for `Result<(), DispatchError>`.
      - `DispatchError` is an enum that has 4 variants:
        - `Other`: For storing string error messages
        - `CannotLookup`: Variant that is returned when something returns a
        `sp_runtime::LookupError`
        - `BadOrigin`: Variant that is returned for any kind of bad origin
        - `Module`: The error of a specific module. Contains the `index`,
        `error` and the `message`. The index is the index of the module in
        `construct_runtime!`. `error` is the index of the error in the error
        enum declared by `decl_error!`. `message` is the message to the error
        variant (this will not be encoded).
      - `construct_runtime!` now creates a new struct `ModuleToIndex`. This
      struct implements the trait `ModuleToIndex`.
      - `frame_system::Trait` has a new associated type: `ModuleToIndex` that
      expects the `ModuleToIndex` generated by `construct_runtime!`.
      - All error strings returned in any module are being converted now to `DispatchError`.
      - `BadOrigin` is the default error returned by any type that implements `EnsureOrigin`.
      
      * Fix frame system benchmarks
      8e393aa5
  27. Dec 17, 2019
  28. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 8778ca7d
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      8778ca7d
  29. Dec 14, 2019
    • cheme's avatar
      Fix key collision for child trie (#4162) · 0ece5d9e
      cheme authored
      * In progress, runtime io must switch to future proof root +
      child_specific (unique id) + u32 type.
      
      * Switch interface, sr-io seems ok, rpc could use similar interface to
      sr-io, genesis json broken if there is child trie in existing encoding
      genesis.
      
      * test from previous implementation.
      
      * fix proving test.
      
      * Restore Keyspacedb from other branch, only apply to child trie.
      
      * Removing unneeded child_info from child root (child info are stored
      if things changed, otherwhise the root does not change).
      
      * Switch rpc to use same format as ext: more future proof.
      
      * use root from child info for trie backend essence.
      
      * Breaking long lines.
      
      * Update doc and clean pr a bit.
      
      * fix error type
      
      * Restore removed doc on merge and update sr-io doc.
      
      * Switch child storage api to use directly unique id, if managed id
      where to be put in place, the api will change at this time.
      
      * Clean deprecated host interface from child.
      
      * Removing assertion on child info (can fail depending on root
      memoization).
      
      * merging child info in the overlay when possible.
      
      * child iteration by prefix using child_info.
      
      * Using ChainInfo in frame support. ChainInfo gets redesign to avoid
      buffers allocation on every calls.
      
      * Add length of root to the data of child info.
      
      * comments
      
      * Encode compact.
      
      * Remove child info with root.
      
      * Fix try_update condition.
      
      * Comment Ext child root caching.
      
      * Replace tuples by struct with field
      
      * remove StorageTuple alias.
      
      * Fix doc tests, and remove StorageOverlay and ChildStorageOverlay
      aliases.
      0ece5d9e
  30. Dec 10, 2019
  31. Dec 02, 2019
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 927e13c1
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      927e13c1
  32. Nov 28, 2019
  33. Nov 25, 2019
  34. Nov 22, 2019