Skip to content
  1. Mar 17, 2021
    • Jon Häggblad's avatar
      Storing multiple Justifications per block (#7640) · 0d6884b9
      Jon Häggblad authored
      
      
      * primitives/runtime: initial changes on supporting multiple Justifications
      
      * primitives/runtime: make Justifications strongly typed
      
      * Encode/decode Justifications
      
      * primitives/runtime: add Justification type
      
      * backend: apply_finality and finalize_block takes a single Justification
      
      * manual-seal: create engine id and let rpc take encoded justification
      
      * backend: skeleton functions for appending justifications
      
      * backend: initial implementation append_justification
      
      Initial implementation of append_justification on the Backend trait, and also remove unused skeleton
      functions for append_justificaton on Finaziler trait.
      k
      
      * backend: guard against duplicate consensus engine id
      
      * client/db: add check for block finality
      
      * client/api: add append_justification to in_mem db
      
      * client/light: add no-op append_justification
      
      * network: fix decode call for Justification
      
      * network: only send a single Justification in BlockData
      
      * network: minor comment update
      
      * protocol: update field names to distinguish single justification
      
      * client: further field renames to plural
      
      * client: update function names to plural justifications
      
      * client/db: upgrade existing database for new format
      
      * network: remove dependency on grandpa crate
      
      * db: fix check for finalized block
      
      * grandpa: check for multiple grandpa justifications hwne importing
      
      * backend: update Finalizer trait to take multiple Justifications
      
      * db: remove debugging statements in migration code
      
      * manual-seal: update note about engine id
      
      * db: fix check for finalized block
      
      * client: update variable name to reflect it is now plural
      
      * grandpa: fix incorrect empty Justications in test
      
      * primitives: make Justifications opaque to avoid being empty
      
      * network: fix detecting empty Justification
      
      * runtime: doc strings for Justifications functions
      
      * runtime: add into_justifications
      
      * primitives: check for duplicates in when adding to Justifications
      
      * network/test: use real grandpa engine id in test
      
      * client: fix reviewer comments
      
      * primitives: rename Justifications::push to append
      
      * backend: revert changes to Finalizer trait
      
      * backend: revert mark_finalized
      
      * backend: revert changes to finalize_block
      
      * backend: revert finalized_blocks
      
      * db: add a quick early return for performance
      
      * client: minor reviewer comments
      
      * service/test: use local ConsensusEngineId
      
      * network: add link to issue for sending multiple Justifications
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * network: tweaks to review suggestions
      
      * network: revert change to BlockData for backwards compatibility
      
      * Apply suggestion from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * primitives: update doc comment for Justifications
      
      * client/db/upgrade: avoid grandpa crate dependency
      
      * consensus: revert to single Justification for import_justification
      
      * primitives: improve justifications docs
      
      * style cleanups
      
      * use and_then
      
      * client: rename JUSTIFICATIONS db column
      
      * network: revert to using FRNK in network-test
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      0d6884b9
  2. Mar 11, 2021
  3. Feb 24, 2021
  4. Feb 19, 2021
    • Bastian Köcher's avatar
      Ensure we spawn the block import worker as an essential task (#8155) · 821e018d
      Bastian Köcher authored
      * Ensure we spawn the block import worker as an essential task
      
      This pr ensures that we spawn the block import worker as an essential
      task. This is quite important as we need to bring down the node when the
      block import is done. Besides that it adds some debug output to the
      block import worker.
      
      * Don't be stupid :D
      821e018d
  5. Feb 15, 2021
  6. Feb 04, 2021
  7. Jan 28, 2021
    • Bastian Köcher's avatar
      Introduce a `Slot` type (#7997) · b6294418
      Bastian Köcher authored
      
      
      * Introduce a `Slot` type
      
      Instead of having some type definition that only was used in half of the
      code or directly using `u64`, this adds a new unit type wrapper `Slot`.
      This makes it especially easy for the outside api to know what type is
      expected/returned.
      
      * Change epoch duratioC
      
      * rename all instances of slot number to slot
      
      * Make the constructor private
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      b6294418
  8. 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
  9. Nov 27, 2020
  10. Nov 23, 2020
  11. Nov 04, 2020
    • Web3 Philosopher's avatar
      Allow BabeConsensusDataProvider fork existing chain (#7078) · 6328f874
      Web3 Philosopher authored
      * parent affbc38a
      
      
      author Seun Lanlege <[email protected]> 1599568164 +0100
      committer Seun Lanlege <[email protected]> 1604321289 +0100
      gpgsig -----BEGIN PGP SIGNATURE-----
      
       iQGzBAABCgAdFiEECvQ02MnjnssnSbjr3HzzEhjN254FAl+gAAkACgkQ3HzzEhjN
       254soAv+KO5JA0HXSe0R0XS5TnwA3IxYsW+UvdF5dXFeC3jFdGTMvor818uoBePD
       dxzYEsUK6gjsNcM9+hpFhoy5JnUrUPInd2BZ7pmZiDuXmYJrHi0s7K5qL0EYDoe0
       m1egPNNyRR125ozJ24M+09c3OQsi3bvTx1TJaV9Aov8hK4So8UmlJTHWpkLw97ku
       HuTre2IPSFbV4GwJE40V+KNuDVHxaKL7zrInYScqbr6/hOTqBCvFn4ib3CjpF5HG
       zDAA5S2PrcbL9NQOothVcVB/TZr3IkhglCFqEjVyCX80IL0JkNZkw8jAh0B8uqXx
       Ug/c1/Mssa8F1jLZMmW45Cway60txqVbcWntPJAymGJbrRErOO/++oUrV0u1C65u
       LW7gXAaIJWQTX9KnX0SEyejNod7ubZktBz7n5WfkJAPIzdw5wtJalhLa673YTgQ9
       zyTPKiWjJj2myCq1AYrJvlK8hSsIBqbBFcUf1zX4SzZWKS+5mtp51o4gfVzcCRPd
       z/6/iPbB
       =g5tx
       -----END PGP SIGNATURE-----
      
      BabeConsensusDataProvider works with existing chains
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      6328f874
  12. Oct 21, 2020
    • Cecile Tonglet's avatar
      Add node name to the log lines (#7328) · 8cebbd14
      Cecile Tonglet authored
      * Initial commit
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * Add notes to original source code
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * WIP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * Some doc
      
      * Test with trybuild
      
      * Revert "Test with trybuild" (issue with trybuild atm)
      
      This reverts commit 9055ec2206808ba3ddce6e3d87eb358907fa5e42.
      
      https://github.com/dtolnay/trybuild/issues/53
      
      * Apply suggestions
      
      * Rename derive to proc-macro
      
      * Remove "prefix" feature from informant
      
      * Blocking task should use SpawnHandle::spawn_blocking
      
      * Improve doc as suggested
      
      * Fixes
      
      Forked at: 601e2fa1
      
      
      Parent branch: origin/master
      
      * Apply suggestion
      
      * Update client/cli/proc-macro/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * More suggestions
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * Improve error message
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * Fix async issue
      
      * CLEANUP
      
      Forked at: 601e2fa1
      Parent branch: origin/master
      
      * CLEANUP
      
      Forked at: 601e2fa1
      
      
      Parent branch: origin/master
      
      * Add test
      
      * fix doc test
      
      * Update client/cli/src/logging.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update client/basic-authorship/src/basic_authorship.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update client/basic-authorship/src/basic_authorship.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Apply suggestions
      
      * Suggestions
      
      * Clarify doc
      
      * WIP
      
      Forked at: 601e2fa1
      
      
      Parent branch: origin/master
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      8cebbd14
  13. Oct 08, 2020
    • Rakan Alhneiti's avatar
      Async keystore + Authority-Discovery async/await (#7000) · 3aa4bfac
      Rakan Alhneiti authored
      
      
      * Asyncify sign_with
      
      * Asyncify generate/get keys
      
      * Complete BareCryptoStore asyncification
      
      * Cleanup
      
      * Rebase
      
      * Add Proxy
      
      * Inject keystore proxy into extensions
      
      * Implement some methods
      
      * Await on send
      
      * Cleanup
      
      * Send result over the oneshot channel sender
      
      * Process one future at a time
      
      * Fix cargo stuff
      
      * Asyncify sr25519_vrf_sign
      
      * Cherry-pick and fix changes
      
      * Introduce SyncCryptoStore
      
      * SQUASH ME WITH THE first commit
      
      * Implement into SyncCryptoStore
      
      * Implement BareCryptoStore for KeystoreProxyAdapter
      
      * authority-discovery
      
      * AURA
      
      * BABE
      
      * finality-grandpa
      
      * offchain-workers
      
      * benchmarking-cli
      
      * sp_io
      
      * test-utils
      
      * application-crypto
      
      * Extensions and RPC
      
      * Client Service
      
      * bin
      
      * Update cargo.lock
      
      * Implement BareCryptoStore on proxy directly
      
      * Simplify proxy setup
      
      * Fix authority-discover
      
      * Pass async keystore to authority-discovery
      
      * Fix tests
      
      * Use async keystore in authority-discovery
      
      * Rename BareCryptoStore to CryptoStore
      
      * WIP
      
      * Remote mutable borrow in CryptoStore trait
      
      * Implement Keystore with backends
      
      * Remove Proxy implementation
      
      * Fix service builder and keystore user-crates
      
      * Fix tests
      
      * Rework authority-discovery after refactoring
      
      * futures::select!
      
      * Fix multiple mut borrows in authority-discovery
      
      * Merge fixes
      
      * Require sync
      
      * Restore Cargo.lock
      
      * PR feedback - round 1
      
      * Remove Keystore and use LocalKeystore directly
      
      Also renamed KeystoreParams to KeystoreContainer
      
      * Join
      
      * Remove sync requirement
      
      * Fix keystore tests
      
      * Fix tests
      
      * client/authority-discovery: Remove event stream dynamic dispatching
      
      With authority-discovery moving from a poll based future to an `async`
      future Rust has difficulties propagating the `Sync` trade through the
      generated state machine.
      
      Instead of using dynamic dispatching, use a trait parameter to specify
      the DHT event stream.
      
      * Make it compile
      
      * Fix submit_transaction
      
      * Fix block_on issue
      
      * Use await in async context
      
      * Fix manual seal keystore
      
      * Fix authoring_blocks test
      
      * fix aura authoring_blocks
      
      * Try to fix tests for auth-discovery
      
      * client/authority-discovery: Fix lookup_throttling test
      
      * client/authority-discovery: Fix triggers_dht_get_query test
      
      * Fix epoch_authorship_works
      
      * client/authority-discovery: Remove timing assumption in unit test
      
      * client/authority-discovery: Revert changes to termination test
      
      * PR feedback
      
      * Remove deadcode and mark test code
      
      * Fix test_sync
      
      * Use the correct keyring type
      
      * Return when from_service stream is closed
      
      * Convert SyncCryptoStore to a trait
      
      * Fix line width
      
      * Fix line width - take 2
      
      * Remove unused import
      
      * Fix keystore instantiation
      
      * PR feedback
      
      * Remove KeystoreContainer
      
      * Revert "Remove KeystoreContainer"
      
      This reverts commit ea4a37c7d74f9772b93d974e05e4498af6192730.
      
      * Take a ref of keystore
      
      * Move keystore to dev-dependencies
      
      * Address some PR feedback
      
      * Missed one
      
      * Pass keystore reference - take 2
      
      * client/finality-grandpa: Use `Arc<dyn CryptoStore>` instead of SyncXXX
      
      Instead of using `SyncCryptoStorePtr` within `client/finality-grandpa`,
      which is a type alias for `Arc<dyn SyncCryptoStore>`, use `Arc<dyn
      CryptoStore>`. Benefits are:
      
      1. No additional mental overhead of a `SyncCryptoStorePtr`.
      
      2. Ability for new code to use the asynchronous methods of `CryptoStore`
      instead of the synchronous `SyncCryptoStore` methods within
      `client/finality-granpa` without the need for larger refactorings.
      
      Note: This commit uses `Arc<dyn CryptoStore>` instead of
      `CryptoStorePtr`, as I find the type signature more descriptive. This is
      subjective and in no way required.
      
      * Remove SyncCryptoStorePtr
      
      * Remove KeystoreContainer & SyncCryptoStorePtr
      
      * PR feedback
      
      * *: Use CryptoStorePtr whereever possible
      
      * *: Define SyncCryptoStore as a pure extension trait of CryptoStore
      
      * Follow up to SyncCryptoStore extension trait
      
      * Adjust docs for SyncCryptoStore as Ben suggested
      
      * Cleanup unnecessary requirements
      
      * sp-keystore
      
      * Use async_std::task::block_on in keystore
      
      * Fix block_on std requirement
      
      * Update primitives/keystore/src/lib.rs
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      
      * Fix wasm build
      
      * Remove unused var
      
      * Fix wasm compilation - take 2
      
      * Revert async-std in keystore
      
      * Fix indent
      
      * Fix version and copyright
      
      * Cleanup feature = "std"
      
      * Auth Discovery: Ignore if from_service is cloed
      
      * Max's suggestion
      
      * Revert async-std usage for block_on
      
      * Address PR feedback
      
      * Fix example offchain worker build
      
      * Address PR feedback
      
      * Update Cargo.lock
      
      * Move unused methods to test helper functions
      
      * Restore accidentally deleted cargo.lock files
      
      * Fix unused imports
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      3aa4bfac
  14. Sep 03, 2020
  15. Aug 07, 2020
  16. Jul 26, 2020
  17. Jul 09, 2020
  18. Jun 16, 2020
  19. Jun 08, 2020
    • Bastian Köcher's avatar
      Fix transaction pruning in tx-pool (#6276) · 663cd09b
      Bastian Köcher authored
      The `tree_route` generated by the import notification is only from the
      old best block to the new best parent. This means, it does not contain
      the new best block in `enacted()`. We need to prune the transactions of
      the new best block "manually" to fix this bug.
      
      Besides that, this pr also changed the `id` parameter of the `NewBlock`
      chain event to `hash`. The hash of a block is unique in contrast to the
      block number. (Block id can either be number or hash)
      663cd09b
  20. Jun 05, 2020
  21. May 29, 2020
  22. May 20, 2020
  23. May 18, 2020
  24. May 15, 2020
  25. May 08, 2020
  26. May 04, 2020
    • Bastian Köcher's avatar
      Expose that `BasicQueue` expects blocking spawn (#5860) · 9c5536e0
      Bastian Köcher authored
      * Expose that `BasicQueue` expects blocking spawn
      
      Up to now `BasicQueue` expected a closure that to spawn a `Future`.
      This was expected to be a closure that spawns a blocking future.
      However, this wasn't documented anywhere. This pr introduces a new trait
      `SpawnBlocking` that exposes this requirement to the outside.
      
      * Feedback
      9c5536e0
  27. Apr 30, 2020
  28. Apr 29, 2020
  29. Apr 17, 2020
  30. Apr 07, 2020
  31. Mar 27, 2020
  32. Mar 25, 2020
  33. Mar 17, 2020
  34. Feb 27, 2020
  35. Feb 17, 2020
    • Nikolay Volf's avatar
      Revalidation queue for transaction pool (#4781) · 86ab0cb4
      Nikolay Volf authored
      
      
      * Revalidation queeue.
      
      * add docs and license
      
      * move test
      
      * refactor worker to async/await
      
      * address review
      
      * fix warnings
      
      * update Cargo.lock
      
      * move background task to service
      
      * use tomusdrw loop
      
      * naming
      
      * return From::from
      
      * add doc comment
      
      * add more doc comments
      
      * fix merge bug
      
      * add doc comment for test function
      
      * Update client/transaction-pool/src/testing/pool.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * more review fixes
      
      * refactor to allow service keep background tasks from isntantiated subsystems
      
      * use const delay
      
      * fix fallout
      
      * remove fallout
      
      * remove already moved test
      
      * fix doc test
      
      * add valid_at helper
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      86ab0cb4
    • Wei Tang's avatar
      Refactor BlockImportParams to be non_exhaustive (#4936) · c7b09b64
      Wei Tang authored
      * Refactor BlockImportParams to be non_exhaustive
      
      * Fix cargo check compile
      c7b09b64
  36. Feb 14, 2020
    • Web3 Philosopher's avatar
      Adds fork-awareness and finalization notifications to transaction pool watchers. (#4740) · d3a3e288
      Web3 Philosopher authored
      
      
      * adds finalization support to sc-transaction-pool using MaintainedTransactionPool for finalization events
      
      * adds TransactionStatus::Retracted, notify watchers of retracted blocks, finalized now finalizes, transactions for current finalized -> last finalized block
      
      * adds last_finalized to ChainApi, use generic BlockT for ChainEvent
      
      * fix tests
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * tests
      
      * fix tests, docs, lazily dedupe pruned hashes
      
      * fix tests, Cargo.lock
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * remove tree_route, last_finalized from ChainApi, add block hash to Finalization and Retracted events
      
      * prune finality watchers
      
      * fix tests
      
      * remove HeaderBackend bound from FullChainApi
      
      * code style nits, terminate stream in finality_timeout
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      d3a3e288