Skip to content
Snippets Groups Projects
  1. Jan 17, 2020
    • Max Inden's avatar
      client/finality-grandpa: Reintegrate periodic neighbor packet worker (#4631) · d9837d7d
      Max Inden authored
      The `NeighborPacketWorker` within `client/finality-grandpa` does two
      things:
      
      1. It receives neighbor packets from components within
      `client/finality-grandpa`, sends them down to the `GossipEngine` in
      order for neighboring nodes to receive.
      
      2. It periodically sends out the most recent neighbor packet to the
      `GossipEngine`.
      
      In order to send out packets it had a clone to a `GossipEgine` within
      an atomic reference counter and a mutex. The `NeighborPacketWorker` was
      then spawned onto its own asynchronous task.
      
      Instead of running in its own task, this patch reintegrates the
      `NeighborPacketWorker` into the main `client/finality-grandpa` task not
      requiring the `NeighborPacketWorker` to own a clone of the
      `GossipEngine`.
      
      The greater picture
      
      This is a tiny change within a greater refactoring. The overall goal is
      to **simplify** how finality-grandpa interacts with the network and to
      **reduce** the amount of **unbounded channels** within the logic.
      
      Why no unbounded channels: Bounding channels is needed for backpressure
      and proper scheduling. With unbounded channels there is no way of
      telling the producer side to slow down for the consumer side to catch
      up.  Rephrased, there is no way for the scheduler to know when to favour
      the consumer task over the producer task on a crowded channel and the
      other way round for an empty channel.
      
      Reducing the amount of shared ownership simplifies the logic and enables
      one to use async-await syntax-suggar, given that one does not need to
      hold a lock across poll invocations. Using async-await enables one to
      use bounded channels without complex logic.
      d9837d7d
  2. 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 <emericchevalier.pro@gmail.com>
      
      * 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 <emericchevalier.pro@gmail.com>
      
      * Update client/db/src/changes_tries_storage.rs
      
      Co-Authored-By: default avatarcheme <emericchevalier.pro@gmail.com>
      
      * 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 <emericchevalier.pro@gmail.com>
      Co-authored-by: default avatarGavin Wood <github@gavwood.com>
      febf2939
    • André Silva's avatar
      grandpa: generic voting rule for backing off from best block (#4635) · d18fbd79
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * grandpa: generic voting rule for backing off from best block
      
      * grandpa: fix tests
      d18fbd79
    • 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
  3. Jan 15, 2020
  4. Jan 14, 2020
    • Ashley's avatar
      Update the service to std futures (#4447) · 3219be25
      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 9c1976346237637effc07c13f7d0403daf5e71cf.
      
      * Fix utils
      
      * Revert substrate service test
      
      * Revert gitlab
      
      Co-authored-by: default avatarthiolliere <gui.thiolliere@gmail.com>
      3219be25
  5. Jan 10, 2020
  6. Jan 07, 2020
  7. Jan 05, 2020
  8. Jan 02, 2020
  9. Dec 24, 2019
  10. Dec 20, 2019
  11. Dec 18, 2019
  12. Dec 17, 2019
    • Benjamin Kampmann's avatar
      Setting versions locally towards 2.0 release (#4404) · 9200bfa9
      Benjamin Kampmann authored
      * clean up cargo.toml syntax
      
      * bumping versions to 2.0
      
      * bump networking to 0.8
      
      * move consensus down to 0.8
      
      * bump consensus pallets to 0.8.0, too
      
      * Upping babe and aura pallets
      
      * add remaining, missing version definitions
      
      * missed some
      9200bfa9
  13. 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
  14. 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
  15. Dec 13, 2019
    • Pierre Krieger's avatar
      Extract consensus_gossip.rs and put it in its own crate (#4284) · c66c191b
      Pierre Krieger authored
      
      * Extract gossiping system from network
      
      * Finish porting GRANDPA tests
      
      * Try put correct engine ID
      
      * Fix messages encoding
      
      * Fix communication tests
      
      * Use a threads pool to spawn stuff
      
      * Fix compilation everywhere
      
      * Fix bad merge conflict
      
      * Remove dependency on async-std
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <rphmeier@gmail.com>
      
      * More suggestions
      
      * Remove network startup GP future
      
      * Update to futures_timer
      
      * adjust wait_when_behind test
      
      * Pass correct Roles after handshake
      
      * Revert "adjust wait_when_behind test"
      
      This reverts commit 23cb3a0a6d25ed732c2cd648607bc44ef2ab0919.
      
      * Crate root documentation
      
      * Remove MessageRecipient
      
      * Address concerns
      
      * Fix more concerns
      
      * Forgot Cargo.lock
      c66c191b
  16. Dec 11, 2019
    • Benjamin Kampmann's avatar
      Fix folder names in client and test (#4360) · c5a709a8
      Benjamin Kampmann authored
      * client/rpc/api -> client/rpc-api
      
      * client/util/wasm-builder-runner -> utils/wasm-builder-runner
      
      * client/grafana-data-source -> utils/grafana-data-source
      
      * test/utils -> test-utils
      
      * fix moved path
      
      * Update Cargo.lock
      
      * Update Cargo.lock
      c5a709a8
    • Benjamin Kampmann's avatar
      Fix a bunch of low work dependency cycles (#4354) · 605c0e65
      Benjamin Kampmann authored
      * take test-client off sp-consensus
      
      * use test primitives rather than test client in authority discovery tests
      
      * move runtime-interface tests
      
      * don't forget to remove the dev-dependency
      
      * remove more unneeded dev deps
      
      * add changes_trie_config to test prrimitives
      
      * Separate network crates from its integration tests
      
      * Fix up consensus crates for networking test changes
      
      * remove unnecessary dependencies
      
      * remove unused addition
      
      * remove unnecessary dev-dependencies
      
      * fixing finality grandpa tests
      
      * removing unnecessary executor dependencies
      605c0e65
  17. Dec 10, 2019
  18. Dec 09, 2019
  19. Dec 04, 2019
    • Ashley's avatar
      Update exit-future and make sc-cli compile on wasm (#4289) · a58e8a6e
      Ashley authored
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * Revert "Small changes"
      
      This reverts commit a488106805d220cb4aee9e46a71481424c6d87d5.
      a58e8a6e
  20. Dec 03, 2019
  21. 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
  22. Dec 01, 2019
  23. Nov 29, 2019
  24. Nov 28, 2019
  25. Nov 26, 2019
    • Benjamin Kampmann's avatar
      Remove all (non-dev) `client` references from `frame`, activate dependency enforcer (#4184) · bd652793
      Benjamin Kampmann authored
      * Move transaction pool to primitives
      
      * move backend, errors into primitives
      
      * remove unused client depencies
      
      * Move rpc-api into primitives
      
      * Move peerset back to client
      
      * Move rpc/api back to client, move palette/support/rpc into utils
      
      * move support-rpc into subfolder
      
      * move system-rpc into utils
      
      * move transaction-pool  and -graph back into client
      
      * fix broken imports
      
      * Clean up test primitives
      
      * Make support test utils independent of frame
      
      * remove unnecessary node dependencies from service
      
      * Reactivate dependency script:
       - only enforce the now achieved status quo will remain
       - allow for primitives to depend on /client for now without failing
       - more discriptive error message so people understand, what it wants
       - minor fix to differentiative between ../client and /client (which may be a subfolder)
       - don't allow this to fail anylonger.
      
      * fix doc comment
      
      * 'Should not' rather than 'must not'.
      
      * Revert unwanted dependency changes
      
      * fix faulty import
      
      * fixup derive_more version
      
      * fix wrong import path
      bd652793
    • asynchronous rob's avatar
      5010faa9
    • Arkadiy Paronyan's avatar
      Time-based gradual gossip (#4176) · 53a48214
      Arkadiy Paronyan authored
      53a48214
  26. Nov 22, 2019
    • asynchronous rob's avatar
      Updating GRANDPA to v0.10.0 (#4174) · 5a8146d6
      asynchronous rob authored
      * update finality-grandpa to v0.10.0 rev
      
      * add concluded implementation to environment
      
      * also update state when concluding
      
      * switch to the cargo version
      
      * address comment grumbles
      5a8146d6
    • Ashley's avatar
      Upgrade from futures-preview to futures 0.3.1, and remove futures 0.1 where... · 1735683c
      Ashley authored
      Upgrade from futures-preview to futures 0.3.1, and remove futures 0.1 where currently possible (#4083)
      
      * Migrate node and node-template
      
      * Migrate srml
      
      * Simple changes
      
      * Add async-std for interval
      
      * Fix test-runtime warning
      
      * Small changes
      
      * move futures01 in core/rpc to dev-deps
      
      * Change wasm CI builds
      
      * Switch to async-std 1.0.1
      
      * Remove async-std dep of network
      
      * Add modified lockfile
      
      * Fix node cli browser build
      
      * Remove authority-discovery async-std dep
      
      * Add Send + Sync to interval dyn stream
      1735683c
    • Gavin Wood's avatar
      grandpa: voting rules shouldn't restrict past round base (#4155) · 79570160
      Gavin Wood authored
      * grandpa: voting rules shouldn't restrict past round base
      
      * grandpa: fix lower bound on vote restriction. add test
      79570160
  27. Nov 20, 2019