Skip to content
Snippets Groups Projects
  1. Feb 25, 2021
    • André Silva's avatar
      grandpa: rewrite warp sync proof generation (#8148) · 94c29ff6
      André Silva authored
      * grandpa: use AuthoritySetChanges to generate warp sync proof
      
      * node: init grandpa warp sync protocol
      
      * grandpa: iterator for AuthoritySetChanges
      
      * grandpa: rewrite warp sync proof generation
      
      * grandpa: remove old code for warp sync generation
      
      * grandpa: fix indentation
      
      * grandpa: fix off by one
      
      * grandpa: use binary search to find start idx when generating warp sync proof
      
      * grandpa: add method to verify warp sync proofs
      
      * grandpa: remove unnecessary code to skip authority set changes
      
      * grandpa: add test for warp sync proof generation and verification
      
      * grandpa: add missing docs
      
      * grandpa: remove trailing comma
      94c29ff6
  2. Feb 15, 2021
  3. Jan 21, 2021
    • Ashley's avatar
      Grandpa warp sync request-response protocol (#7711) · 87cc2167
      Ashley authored
      
      * Made a start
      
      * So the proof between authority set is phragmen one, this is crazy big,
      or is there some signing of the result : that is the storage key, damn?
      
      * ok getting from header digest seems doable.
      
      * for testing
      
      * get set id from storage directly (should use runtime to handler change).
      
      * move test to init
      
      * correct auth key
      
      * fix iteration
      
      * Correct proof content
      
      * actually update block number.
      
      * actually check last justif against its header
      
      * justification relation to new authorities through header hash check is
      needed here. This assumes the hash from header is calculated.
      
      * Few changes
      
      * Connected up cheme's branch
      
      * Clean up
      
      * Move things around a bit so that adding the grandpa warp sync request response protocol happens in the node code
      
      * Nits
      
      * Changes to comments
      
      * Cheme changes
      
      * Remove todos and test compile.
      
      * Rename _authority_ related proof function to _warp_sync_ .
      
      * Update client/grandpa-warp-sync/src/lib.rs
      
      quick fix
      
      * Put the warp sync request response protocol behind a feature flag because we dont' need it on a light client.
      
      * Update client/grandpa-warp-sync/src/lib.rs
      
      Quick fix
      
      * Update Cargo.lock
      
      * Adding test, comment on limitation related to 'delay', this could
      be implemented but with a cost.
      
      * Set between a delay override last fragment.
      
      * Check for pending authority set change at start.
      
      * adjust index
      
      * custom cache is not a good idea.
      
      * Use a simple cache instead.
      
      * restore broken indentation
      
      * Address crate rename
      
      * Merge conflict badly resolved, sorry
      
      Co-authored-by: default avatarcheme <emericchevalier.pro@gmail.com>
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      87cc2167
  4. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  5. Jan 03, 2021
  6. Nov 23, 2020
  7. Aug 24, 2020
  8. Aug 11, 2020
  9. Aug 10, 2020
    • Hernando Castano's avatar
      Add Subscription RPC for Grandpa Finality (#5732) · 433b7214
      Hernando Castano authored
      
      * Rough skeleton for what I think the RPC should look like
      
      * Create channel for sending justifications
      
      Sends finalized header and justification from Grandpa to the
      client. This lays the groundwork for hooking into the RPC module.
      
      * WIP: Add subscribers for justifications to Grandpa
      
      Adds the Sender end of a channel into Grandpa, through which notifications
      about block finality events can be sent.
      
      * WIP: Add a struct for managing subscriptions
      
      Slightly different approach from the last commit, but same
      basic idea. Still a rough sketch, very much doesn't compile yet.
      
      * Make naming more clear and lock data in Arc
      
      * Rough idea of what RPC would look like
      
      * Remove code from previous approach
      
      * Missed some things
      
      * Update client/rpc-api/src/chain/mod.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <tomusdrw@users.noreply.github.com>
      
      * Update client/rpc-api/src/chain/mod.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <tomusdrw@users.noreply.github.com>
      
      * Split justification ...
      433b7214
  10. Jun 09, 2020
  11. May 20, 2020
  12. May 18, 2020
  13. May 15, 2020
  14. May 13, 2020
    • Jon Häggblad's avatar
      Fix minor clippy lints in grandpa (#5988) · b9903336
      Jon Häggblad authored
      * grandpa: fix clippy lints about identity conversions
      
      * grandpa: fix clippy lints about unwrap_or_default
      
      * grandpa: fix clippy lints about explicit return
      
      * grandpa: fix clippy lints about unnecessary intermediary
      
      * grandpa: fix clippy lints about to_string
      
      * grandpa: fix clippy lints about unused imports
      
      * grandpa: fix clippy lints about increments
      
      * grandpa: fix clippy lints about unnecessary matches
      
      * grandpa: fix clippy lints about struct arguments
      
      * Fix clippy::redundant_clone
      
      * Fix clippy::clone_on_copy
      
      * Fix clippy::or_fun_call
      
      * Fix clippy::identity_conversion
      b9903336
  15. Apr 07, 2020
  16. Apr 04, 2020
    • Benjamin Kampmann's avatar
      Additional Metrics collected and exposed via prometheus (#5414) · 247822bb
      Benjamin Kampmann authored
      
      This PR refactors the metrics measuring and Prometheus exposing entity in sc-service into its own submodule and extends the parameters it exposes by:
      
      - system load average (over one, five and 15min)
      - the TCP connection state of the process (lsof), refs #5304
      - number of tokio threads
      - number of known forks
      - counter for items in each unbounded queue (with internal unbounded channels)
      - number of file descriptors opened by this process (*nix only at this point)
      - number of system threads (*nix only at this point)
      
      refs #4679
      
      Co-authored-by: default avatarMax Inden <mail@max-inden.de>
      Co-authored-by: default avatarAshley <ashley.ruglys@gmail.com>
      247822bb
  17. Mar 27, 2020
  18. Mar 19, 2020
  19. Mar 05, 2020
  20. Feb 27, 2020
  21. Feb 17, 2020
  22. Jan 24, 2020
  23. Jan 10, 2020
  24. Jan 05, 2020
  25. Jan 02, 2020
  26. Dec 18, 2019
  27. 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
  28. 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
  29. 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
  30. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · 60e5011c
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interfac...
      60e5011c
  31. Nov 10, 2019
  32. Oct 27, 2019
  33. Sep 28, 2019
    • Tomasz Drwięga's avatar
      ChainSpec extensions (#3692) · 667ee95f
      Tomasz Drwięga authored
      * Add some chainspec tests and make sure we validate it.
      
      * Manual implementation of Extension + Forks definitions.
      
      * Move chain spec to separate crate.
      
      * Allow using ChainSpec with extensions.
      
      * Renames.
      
      * Implement Extension derive.
      
      * Implement Extension for Forks.
      
      * Support specifying fork blocks.
      
      * make for_blocks work
      
      * Support forks correctly.
      
      * Add a bunch of docs.
      
      * Make fork blocks optional.
      
      * Add missing docs.
      
      * Fix build.
      
      * Use struct for check_block params.
      
      * Fix tests?
      
      * Clean up.
      667ee95f
  34. Sep 24, 2019
  35. Sep 23, 2019
    • asynchronous rob's avatar
      Fixing BABE epochs to change between blocks (#3583) · c200ce75
      asynchronous rob authored
      
      * always fetch epoch from runtime
      
      * node integration tests don't test light nodes
      
      * give stand-in full node a FULL role
      
      * rejig babe APIs
      
      * introduce next-epoch-descriptor type
      
      * overhaul srml-BABE epoch logic
      
      * ensure VRF outputs end up in the right epoch-randomness
      
      * rewrite `do_initialize` to remove unnecessary loop
      
      * begin accounting for next epoch in epoch function
      
      * slots passes header to epoch_data
      
      * pass slot_number to SlotWorker::epoch_data
      
      * begin extracting epoch-change logic into its own module
      
      * aux methods for block weight
      
      * aux methods for genesis configuration
      
      * comment-out most, refactor header-check pipeline
      
      * mostly flesh out verifier again
      
      * reinstantiate babe BlockImport implementation
      
      * reinstate import-queue instantiation
      
      * reintroduce slot-worker implementation
      
      * reinstate pretty much all the rest
      
      * move fork-choice logic to BlockImport
      
      * fix some, but not all errors
      
      * patch test-runtime
      
      * make is_descendent of slightly more generic
      
      * get skeleton compiling when passing is_descendent_of
      
      * make descendent-of-builder more succinct
      
      * restore ordering of authority_index / slot_number
      
      * start fiddling with tests
      
      * fix warnings
      
      * improve initialization architecture and handle genesis
      
      * tests use correct block-import
      
      * fix BABE tests
      
      * fix some compiler errors
      
      * fix node-cli compilation
      
      * all crates compile
      
      * bump runtime versions and fix some warnings
      
      * tweak fork-tree search implementation
      
      * do backtracking search in fork-tree
      
      * node-cli integration tests now work
      
      * fix broken assumption in test_connectivity
      
      * babe tests fail for the right reasons.
      
      * test genesis epoch logic for epoch_changes
      
      * test that epochs can change between blocks
      
      * First BABE SRML test
      
      * Testing infrastructure for BABE
      
      Also includes a trivial additional test.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * A little more test progress
      
      * More work on BABE testing
      
      * Try to get the tests working
      
      * Implement `UintAuthorityId`-based test mocks
      
      * Fix compilation errors
      
      * Adjust to upstream changes
      
      * Block numbers are ignored in BABE epoch calculation
      
      * authority_index() should ignore invalid authorities
      
      * Fix compile error
      
      * Add tests that session transitions happen
      
      * Check if BABE produces logs
      
      It currently does not.
      
      * Fix test suite
      
      This was really nasty, due to a type confusion that showed up as an
      off-by-1 buffer error.
      
      * Add additional tests
      
      Most of these were derived from the current output, so they are only
      useful to guard against regressions.
      
      * Make the tests more readable
      
      Also bump impl_version.
      
      * Fix excessive line width
      
      * Remove unused imports
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * try to fix imports
      
      * Fix build errors in test suite
      
      * tests did not pass
      
      * Try to get at least one digest to be output
      
      Currently, the code emits either no digests (if I don’t call
      `Session::rotate_session()` or two digests (if I do), which is wrong.
      
      * More tests
      
      They still don’t work, but this should help debugging.
      
      * fix silly error
      
      * Don’t even try to compile a broken test
      
      * remove broken check_epoch test and add one for genesis epoch
      
      * Check that the length of the pre-digests is correct
      
      * Bump `impl_version`
      
      * use epoch_for_descendent_of even for genesis
      
      * account for competing block 1s
      
      * finish srml-babe docs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * address grumbles
      c200ce75
  36. Sep 20, 2019
  37. Sep 11, 2019
  38. Sep 09, 2019
  39. Aug 30, 2019
    • Benjamin Kampmann's avatar
      Remove `client.backend` (#2960) · 0cae7217
      Benjamin Kampmann authored
      
      * generalize tree_root to remove client.backend dependency
      
      * replace client.backend.blockchain.header with client.header
      
      * move used_state_cache_size into client info
      
      * Create intermediate Setup State. Fixes #1134
      
      * remove client.backend from finality proof
      
      * update node-template
      
      * move memory backend into test helper mode
      
      * move test helper into client
      
      * starting the big refactor, remove unused functions
      
      * apply_finality
      
      * apply_finality
      
      * replacing more .backend from environment with client directly
      
      * remove .backend from grandpa by using traits
      
      * remove .backend from babe
      
      * remove .backend from tests where it is not needed
      
      * remove .backend from tests
      
      * fixing tests
      
      * fixing tests
      
      * fixing more tests
      
      * fixing tests
      
      * fix all forks test
      
      * fix style
      
      * fixing unnecessary allocation
      
      * remove old test.
      
      * fix service docs
      
      * apply suggestion
      
      * minor clean ups
      
      * turns out the test-helper features actually is being used!
      
      * fixing line length.
      
      * fix line length
      
      * minor cleaning
      
      * Apply suggestions from code review
      
      thanks, @Basti
      
      Co-Authored-By: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      
      * address grumbles
      
      * simplify finalize block on client
      
      * move block back into inner function
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarDemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
      
      * use as.ref instead of match
      
      * Update core/client/src/backend.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
      0cae7217
  40. Aug 16, 2019
    • Svyatoslav Nikolsky's avatar
      Fix light client synchronization on master (#3301) · 3825a21b
      Svyatoslav Nikolsky authored
      
      * value ranges in consensus cache
      
      * skip values in cache
      
      * read epoch0 + epoch1 data from genesis in babe
      
      * sync authorities + session validators at genesis
      
      * removed some debug printlns
      
      * fixed cache encoding
      
      * Revert "skip values in cache"
      
      This reverts commit ce451c32823aaa4b67d99ca5b58f1bf3984df4db.
      
      * Revert "value ranges in consensus cache"
      
      This reverts commit 9062f9434cddd14a01275ddbfcd904b04282e63b.
      
      * get rid of cache::AUTHORITIES in Babe
      
      * cleaning up
      
      * cleaning up
      
      * update spec version
      
      * lost changes
      
      * fixed tests
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
      
      * fix once-per-block condition
      
      * fix standalone babe + temp_storage in BuildGenesis
      
      * fix benhes compilation
      
      * fixed comment
      
      * re-added light nodes to integration tests
      
      * finalize_with_ancestors from extra_requests
      
      * post-merge fix
      
      * aaand removed debug code
      
      * (another one)
      
      * fix warn in logs (do not call ForkTree::finalize twice for the same block)
      
      * sync digest.next_authorities with actual next authorities
      
      * more docs
      
      * reverting all commits affecting storage
      
      * also remove keys from babe trait
      
      * fixed warnings
      
      * post-merge fixes
      
      * reverted some redundant changes
      
      * reverted more changes
      3825a21b