Skip to content
  1. Feb 06, 2020
    • Cecile Tonglet's avatar
      CLI improvements & fixes (#4812) · 099cd0f2
      Cecile Tonglet authored
      These are a few changes I missed during the refactoring.
      
      1. Initialization issue and boilerplate
      
          Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.
      
      2. Boilerplate for `VersionInfo` and `Configuration`
      
          I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4#r372047238 This will allow initializing a `Configuration` and provide the version by default.
      
      3. Loading the `chain_spec` explicitly
      
          In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.
      
      4. [deleted]
      
      5. Fixing issue that prevents the user to override the port
      
          In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).
      
      6. Change task_executor from Box to Arc
      
          This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.
      
      7. Renamed TasksExecutorRequired to TaskExecutor
      
          For consistency.
      
      This is related to https://github.com/paritytech/cumulus/issues/24
      
      This is the continuation (and hopefully the end of) #4692 
      099cd0f2
    • Jimmy Chu's avatar
      Node template folders restructuring (#4811) · 3fc91c76
      Jimmy Chu authored
      * Restructure node-template so it is clear that node, runtime, and pallets are separated
      * Separating to mock and tests
      * restructuring runtime to top-level
      * updated release script
      * updated Cargo.lock
      3fc91c76
  2. Feb 04, 2020
  3. Feb 03, 2020
  4. Feb 01, 2020
  5. Jan 31, 2020
    • Gavin Wood's avatar
      client/finality-grandpa: Add regression test for observer polling network (was #4778) (#4795) · 85b65a38
      Gavin Wood authored
      * client/finality-grandpa: Add regression test observer polling network
      
      Ensure `Future` implementation of `ObserverWork` is polling its
      `NetworkBridge`. Regression test for bug introduced in d4fbb897 and
      fixed in 7d58ceeb
      
      .
      
      When polled, `NetworkBridge` forwards reputation change requests from
      the `GossipValidator` to the underlying `dyn Network`. This test
      triggers a reputation change by calling `GossipValidator::validate` with
      an invalid gossip message. After polling the `ObserverWork` which should
      poll the `NetworkBridge`, the reputation change should be forwarded to
      the test network.
      
      * Nits
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      85b65a38
    • Sergey Pepyakin's avatar
      pallet-contracts: Rent projection RPC (#4754) · 3d076d8e
      Sergey Pepyakin authored
      * Initial approach
      
      * Introduce the pallet-contracts-common crate
      
      * Add rent::compute_rent_projection
      
      * Wire everything together
      
      * Fix build error.
      
      * Rename EvictionDate → EvictionAt.
      
      * Clean.
      
      * Renaming and cleaning.
      
      * Add documentation for rent_projection RPC.
      
      * Add documentation for rent_projection runtime API.
      
      * Refactor rent_budget.
      
      Merge it with subsistence_treshold.
      
      * Bump impl_version
      
      * Constrain RPC impl with Block::Header::Number.
      
      * Rename pallet-contracts-common into -primitives
      
      * Add a comment for `compute_rent_projection` on the usage
      
      * Small tidying
      3d076d8e
    • Bastian Köcher's avatar
      Cleanup transaction pool deps (#4782) · 4fdffbbc
      Bastian Köcher authored
      * Cleanup transaction pool deps
      
      * Fix it properly
      
      * Fix doc test
      4fdffbbc
  6. Jan 30, 2020
    • Bastian Köcher's avatar
      Expose information about the extrinsic in the metadata (#4774) · 8d11d1d2
      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`
      8d11d1d2
    • Cecile Tonglet's avatar
      CLI API refactoring and improvement (#4692) · 26e37ff6
      Cecile Tonglet authored
      It changes the way we extended the CLI functionalities of substrate to allow more flexibility. (If this was not clear, here is another version: it changes the `sc_cli` API to allow more flexibility).
      
      This touches a few important things:
       - the startup of the async task with tokei:
          This was in node and node-template and I moved it to substrate. The idea is to have 1 time the code that handles unix signals (SIGTERM and SIGINT) properly. It is however possible to make this more generic to wait for a future instead and provide only a helper for the basic handling of SIGTERM and SIGINT.
       - increased the version of structopt and tokei
       - no more use of structopt internal's API
       - less use of generics
      
      Related to #4643 and https://github.com/paritytech/cumulus/pull/42: the implementation of "into_configuration" and "get_config" are similar but with better flexibility so it is now possible in cumulus to have the command-line arguments only of the run command for polkadot if we want
      
      Related to https://github.com/paritytech/cumulus/issues/24 and https://github.com/paritytech/cumulus/issues/34 : it will now be possible to make a configuration struct for polkadot with some overrides of the default parameters much more easily.
      26e37ff6
  7. Jan 29, 2020
  8. Jan 28, 2020
  9. Jan 27, 2020
    • Pierre Krieger's avatar
      Upgrade to libp2p 0.15 (#4732) · 6408967f
      Pierre Krieger authored
      * Fixes for libp2p 0.15
      
      * More work
      
      * Update libp2p
      
      * Update to libp2p 0.15
      6408967f
    • Web3 Philosopher's avatar
      Manual Seal (#4143) · 03ffa5a5
      Web3 Philosopher authored
      
      
      * instant/manual seal
      
      unbounded queues are evil
      
      Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      add fork tests, docs, remove todos
      
      moar docs
      
      Update client/consensus/manual-seal/src/rpc.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      remove unbound generic, parameter, docs, deps, code style changes
      
      Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      code style chnges
      
      remove unused deps, remove dep renames, check if block is empty before importing, use ? for error propagation
      
      fix tests
      
      log errors for instant seal
      
      use debug
      
      code style changes, updated copyright dates
      
      use txpool::Pool instead of BasicPool, code style changes
      
      fixed tests
      
      * fix tests
      
      * requested changes from review
      
      * check inherents len
      
      * rebase
      03ffa5a5
  10. Jan 24, 2020
    • Bastian Köcher's avatar
      Introduces `author_hasKey` and `author_hasSessionKeys` rpc endpoints (#4720) · 82428e08
      Bastian Köcher authored
      
      
      * Introduces `author_hasKey` and `author_hasSessionKeys` rpc endpoints
      
      Both endpoints can be used to check if a key is present in the keystore.
      
      - `hasKey` works on with an individual public key and key type. It
      checks if a private key for the given combination exists in the
      keystore.
      - `hasSessionKeys` works with the full encoded session key blob stored
      on-chain in `nextKeys`. This requires that the given blob can be decoded
      by the runtime. It will return `true`, iff all public keys of the
      session key exist in the storage.
      
      Fixes: https://github.com/paritytech/substrate/issues/4696
      
      * Update client/rpc-api/src/author/error.rs
      
      Co-Authored-By: default avatarNikolay Volf <[email protected]>
      
      * Indentation
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      82428e08
    • Ashley's avatar
      Switch GrandPa to std futures (replaces #3909) (#4612) · fca8058f
      Ashley authored
      
      
      * Switch GrandPa to new futures
      
      * Work on making tests work
      
      * until_imported tests working again
      
      * Work on switching tests to stable futures
      
      * Modifications
      
      * Re-add test as #[ignore]
      
      * Don't ignore
      
      * Add manual unpins
      
      * Remove Header import
      
      * Return concrete Sink type
      
      * Switch to crates.io finality-grandpa version
      
      * Remove use statement that slipped in
      
      * Fix some nitpicks
      
      * Remove unpin from i
      
      * Fixed typo
      
      * Move futures01 to dev-deps
      
      * Fix nitpicks
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * nitpicking
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      fca8058f
  11. Jan 22, 2020
  12. Jan 21, 2020
    • Bastian Köcher's avatar
      Make debug builds more usable (#4683) · cb9c1818
      Bastian Köcher authored
      * Make debug builds more usable
      
      This pr makes debug builds more usable in terms of `cargo run -- --dev`.
      
      1. `--dev` activates `--execution native`, iff `--execution` is not
      given or no sub `--execution-*` is given.
      2. It was probably a mistake to compile WASM in debug for a debug build.
      So, we now build the WASM binary always as `release` (if not requested
      differently by the user). So, we trade compilation time for a better
      debug experience.
      
      * Make sure we only overwrite default values
      
      * Make it work
      
      * Apply suggestion
      cb9c1818
  13. Jan 17, 2020
  14. Jan 16, 2020
    • Svyatoslav Nikolsky's avatar
      Allow updating configuration of changes tries (#3201) · 8e986433
      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]>
      8e986433
    • André Silva's avatar
      grandpa: generic voting rule for backing off from best block (#4635) · 99430a51
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * grandpa: generic voting rule for backing off from best block
      
      * grandpa: fix tests
      99430a51
    • Bastian Köcher's avatar
      Implement runtime version checks in `set_code` (#4548) · 879e28ae
      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`
      879e28ae
    • Tomasz Drwięga's avatar
      Rename basic-authority to basic-authorship (#4640) · 47c36e6e
      Tomasz Drwięga authored
      * Rename basic-authority to basic-authorship
      
      * Revert weird tab.
      
      * Fix rename.
      47c36e6e
  15. Jan 15, 2020