Skip to content
  1. Feb 03, 2020
  2. Feb 01, 2020
  3. 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
  4. 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
  5. Jan 29, 2020
  6. Jan 28, 2020
  7. 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
  8. 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
  9. Jan 22, 2020
  10. 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
  11. Jan 17, 2020
  12. 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
  13. Jan 15, 2020
  14. Jan 14, 2020
    • Bastian Köcher's avatar
      Add `pallet-society` and `pallet-recovery` to substrate node (#4622) · 8cb71bd9
      Bastian Köcher authored and Shawn Tabrizi's avatar Shawn Tabrizi committed
      * Add `pallet-society` and `pallet-recovery` to substrate node
      
      * Add `OnReapAccount`
      
      * Fixes and replaces nicks with identity
      8cb71bd9
    • Ashley's avatar
      Update the service to std futures (#4447) · 410ce114
      Ashley authored
      * Switch service to futures03
      
      * Fix tests
      
      * Fix service test and cli
      
      * Re-add Executor trait to SpawnTaskHandle
      
      * Fix node-service
      
      * Update babe
      
      * Fix browser node
      
      * Update aura
      
      * Revert back to tokio-executor to fix runtime panic
      
      * Add todo item
      
      * Fix service tests again
      
      * Timeout test futures
      
      * Fix tests
      
      * nits
      
      * Fix service test
      
      * Remove zstd patch
      
      * Re-add futures01 to aura and babe tests as a dev-dep
      
      * Change failing test to tee
      
      * Fix node
      
      * Upgrade tokio
      
      * fix society
      
      * Start switching grandpa to stable futures
      
      * Revert "Start switching grandpa to stable futures"
      
      This reverts commit 9c197634
      
      .
      
      * Fix utils
      
      * Revert substrate service test
      
      * Revert gitlab
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      410ce114
  15. Jan 13, 2020
    • Shawn Tabrizi's avatar
      A Social Account Recovery Pallet (#4531) · 3ed7c8b3
      Shawn Tabrizi authored
      * Initial sketch of social recovery pallet
      
      * Fix compilation issues
      
      * Use a single total delay, rename stuff
      
      * Check possible overflow
      
      * Copyright bump
      
      * Add mock for tests
      
      * Add basic end to end test
      
      * Add `create_recovery` tests
      
      * Add malicious recovery lifecycle test
      
      * Make clear we check for sorted and unique friends
      
      * Work on some tests, clean up imports
      
      * Change `if let Some(_)` to `ok_or()`
      
      * More tests
      
      * Finish tests, except issue with `on_free_balance_zero`
      
      * Fix `on_free_balance_zero`
      
      * Pallet docs
      
      * Add function/weight docs
      
      * Fix merge master
      
      * OnReapAccount for System too
      
      * Update weight docs
      
      * Allow passthrough to support fee-less extrinsics
      3ed7c8b3
  16. Jan 10, 2020
    • Gavin Wood's avatar
      Society pallet (#4170) · cdceee24
      Gavin Wood authored
      
      
      * Introduce efficient Hash-based RNG streamer
      
      * Initial draft of the society module
      
      * Introduce a test
      
      * Dual-pot logic
      
      * Vouching
      
      * Use chacha
      
      * Half way through moving to cliff payout.
      
      * Fixes
      
      * Add some tests
      
      * Remove printlns
      
      * Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
      
      # Conflicts:
      #	frame/identity/src/lib.rs
      
      * Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id
      
      # Conflicts:
      #	frame/identity/src/lib.rs
      
      * Fix `slash_payout`, add test
      
      * Test for multi-slash_payout
      
      * Add docs to `put_bid` function and `bidding_works` test
      
      * Add strikes to test
      
      * Add comments to `rotate_period`
      
      * Implement `suspend_member`
      
      * Off chain iteration of suspended members using linked_map
      
      * Half of suspended candidate
      
      * Finish suspend_candidate, need tests
      
      * Resolve mistakes and feedback, add `suspended_candidate_rejected` test
      
      * Remove logic which increases payout time after un-suspension
      
      * Fix error in `slash_suspended_candidates`, add member check to `vote`
      
      * Fix vouch rewards, dont create zero payouts, add tests for vouch
      
      * Test unvouch
      
      * Unbid tests
      
      * Add lifecycle events, fix `add_member` to update `MembershipChanged`
      
      * Head cannot be removed from society
      
      * Use `add_member` in `found` to ensure `MembershipChanged` is triggered
      
      * Use `Judgement` enum for suspended candidate judgement
      
      * Make society instantiable
      
      * Implement challenges
      
      * Remove extra text in test
      
      * Remove `BlockNumber` return from `slash_payout`
      
      * Add bad vote causes slash test
      
      * Update frame/society/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Add consts to module metadata
      
      * Check `suspended_member` cant bid
      
      * Increase strength of payout check, **must** be a member.
      
      * Start pallet documentation
      
      * Finish docs
      
      * Update library names, use decl_error
      
      * Prevent double bids, add test
      
      * Use `map` for vouching member, and introduce banned vouchers
      
      * Remove leftover docs
      
      * Vouching handles removed member lifecycles w/ tests
      
      * `take` the votes when tallying, add comprehensive checks before vouch or bid
      
      * Check votes are cleaned up
      
      * Check vote is for a valid candidate, add vote event
      
      * Defender vote event
      
      * Fix `judge_suspended_candidate`, add weight docs
      
      * First pass fixes (blank lines, formatting, no operational)
      
      * Bump copyright year
      
      * Make `add_member` infallible
      
      * More feedback updates
      
      * Add storage access complexity
      
      * Fix logic for AutoUnbid
      
      * Complete weight documentation
      
      * Optimize logic which used to result in double storage read.
      
      * Use Bid struct rather than tuple
      
      * Introduce `MaxMembers` configuration constant
      
      * Add comment about fringe scenario where `MaxMembers` could go over, NBD
      
      * Change MaxMembership to configurable storage item with ability for root to update
      
      * Make membership challenges skew toward failure.
      
      If no one at all votes, or the vote is tied, the user will be suspended from society. This means, that the user simply needs to vote for themselves to stay in society assuming no one else participates.
      
      * Refactor `is_candidate`as to avoid possible double storage reads in the future.
      
      * Blank lines
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      cdceee24