Skip to content
Snippets Groups Projects
  1. Nov 11, 2020
    • Bastian Köcher's avatar
      Skip slot lenience on first block in BABE (#7515) · 48a84f90
      Bastian Köcher authored
      The genesis header doesn't have the BABE pre-digest and we insert `0` as
      slot number. The slot lenience calculation will return the maximum in
      this situation. Besides returning the maximum which is not bad at all,
      it also prints some a debug message that can be confusing in the first
      moment. To prevent printing this debug message, we now just return early
      when we see that the parent block is the genesis block.
      48a84f90
  2. Nov 05, 2020
  3. Nov 04, 2020
    • Web3 Philosopher's avatar
      Allow BabeConsensusDataProvider fork existing chain (#7078) · 6328f874
      Web3 Philosopher authored
      * parent affbc38a
      
      
      author Seun Lanlege <seunlanlege@gmail.com> 1599568164 +0100
      committer Seun Lanlege <seunlanlege@gmail.com> 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 <bkchr@users.noreply.github.com>
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      6328f874
  4. Oct 27, 2020
  5. 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 <mail@max-inden.de>
      
      * 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 <mail@max-inden.de>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      3aa4bfac
  6. Sep 03, 2020
  7. Aug 19, 2020
  8. Aug 17, 2020
    • Wei Tang's avatar
      babe, aura, pow: only call check_inherents if authoring version is compatible (#6862) · 3f85b85e
      Wei Tang authored
      * pow: check can_author_with before calling check_inherents
      
      * babe: check can_author_with before calling check_inherents
      
      * aura: check can_author_with before calling check_inherents
      
      * Fix node and node template compile
      
      * Add missing comma
      
      * Put each parameter on its own line
      
      * Add debug print
      
      * Fix line width too long
      
      * Fix pow line width issue
      3f85b85e
  9. Jul 30, 2020
    • Wei Tang's avatar
      BABE slot and epoch event notifications (#6563) · b6dedd90
      Wei Tang authored
      * BabeWorker -> BabeSlotWorker
      
      * SlotWorker::notify_slot: similar to claim_slot, but called no matter authoring
      
      * Wrap the future with a new struct BabeWorker
      
      * Add type definition slot_notification_sinks
      
      * Function slot_notification_streams for the receiver side
      
      * Get a handle of slot_notification_sinks in BabeSlotWorker
      
      * Implement notify_slot
      
      * Switch to use bounded mpsc
      
      * Do not drop the sink when channel is full
      
      Only skip sending the message and emit a warning, because it is recoverable.
      
      * Fix future type bounds
      
      * Add must_use and sink type alias
      b6dedd90
    • Ashley's avatar
      Add a `DefaultQueue` type alias to remove the need to use `sp_api::TransactionFor` (#6761) · 7df97aba
      Ashley authored
      * Add DefaultQueue
      
      * Add DefaultImportQueue to the top level of sp-consensus
      7df97aba
  10. Jul 22, 2020
  11. Jul 04, 2020
    • André Silva's avatar
      babe: report equivocations (#6362) · a9c21b8b
      André Silva authored
      * slots: create primitives crate for consensus slots
      
      * offences: add method to check if an offence is unknown
      
      * babe: initial equivocation reporting implementation
      
      * babe: organize imports
      
      * babe: working equivocation reporting
      
      * babe: add slot number to equivocation proof
      
      * session: move duplicate traits to session primitives
      
      * babe: move equivocation stuff to its own file
      
      * offences: fix test
      
      * session: don't have primitives depend on frame_support
      
      * babe: use opaque type for key owner proof
      
      * babe: cleanup client equivocation reporting
      
      * babe: cleanup equivocation code in pallet
      
      * babe: allow sending signed equivocation reports
      
      * node: fix compilation
      
      * fix test compilation
      
      * babe: return bool on check_equivocation_proof
      
      * babe: add test for equivocation reporting
      
      * babe: add more tests
      
      * babe: add test for validate unsigned
      
      * babe: take slot number in generate_key_ownership_proof API
      
      * babe: add benchmark for equivocation proof checking
      
      * session: add benchmark for membership proof checking
      
      * offences: fix babe benchmark
      
      * babe: add weights based on benchmark results
      
      * babe: adjust weights after benchmarking on reference hardware
      
      * babe: reorder checks in check_and_report_equivocation
      a9c21b8b
  12. Jun 16, 2020
  13. May 15, 2020
  14. May 11, 2020
    • Jon Häggblad's avatar
      Don't repeatedly lookup keys in `babe_epochAuthorship` rpc function (#5962) · 66931028
      Jon Häggblad authored
      * babe: don't repeatedly lookup keys in authorship rpc function
      
      Expose a new function `claim_slot_using_keypars` in Babe so that the `babe_epochAuthorship` can
      lookup authorship for all slots in the epoch without repeatedly looking up keys in the keystore.
      
      Time to run the `babe_epochAuthorship` RPC call goes from 7s to 25ms on a local dev chain on my
      machine.
      
      * babe: pass reference to slice instead of ref to Vec
      
      * babe: fix bunch of clippy warnings
      66931028
  15. 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
  16. Apr 29, 2020
  17. Apr 28, 2020
  18. Apr 24, 2020
    • Wei Tang's avatar
      babe: secondary blocks with VRF (#5501) · 969720c2
      Wei Tang authored
      
      * babe: secondary blocks with VRF
      
      * Fix node runtime compile
      
      * Fix test-utils runtime interface
      
      * Fix babe tests
      
      * typo: v == 2
      
      * babe: support online configuration upgrades
      
      * Fix rpc tests
      
      * Fix runtime version tests
      
      * Switch to use NextConfigDescriptor instead of changing runtime interface
      
      * Fix tests
      
      * epoch-changes: map function that allows converting with different epoch types
      
      * Add migration script for the epoch config change
      
      * Fix docs for PrimaryAndSecondaryVRFSlots
      
      * Add docs of `SecondaryVRF` in babe crate
      
      * babe-primitives: Secondary -> SecondaryPlain
      
      * babe-client: Secondary -> SecondaryPlain
      
      * Fix migration tests
      
      * test-utils-runtime: Secondary -> SecondaryPlain
      
      * Fix missing name change in test-utils-runtime
      
      * Fix migration: Epoch should be EpochV0
      
      * Update client/consensus/babe/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Fix new epochChanges version
      
      * Fix babe-primitives naming changes
      
      * Fix merge issues in babe-client
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarAndré Silva <andre.beat@gmail.com>
      969720c2
    • Wei Tang's avatar
      babe: support online configuration upgrades (#5514) · 770cc24c
      Wei Tang authored
      
      * babe: support online configuration upgrades
      
      * Switch to use NextConfigDescriptor instead of changing runtime interface
      
      * Fix tests
      
      * epoch-changes: map function that allows converting with different epoch types
      
      * Add migration script for the epoch config change
      
      * Fix migration tests
      
      * Fix migration: Epoch should be EpochV0
      
      * Update client/consensus/babe/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      
      * Fix new epochChanges version
      
      * Fix unused imports
      
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      770cc24c
  19. Apr 23, 2020
  20. Apr 07, 2020
  21. Mar 27, 2020
  22. Mar 24, 2020
  23. Mar 16, 2020
    • Wei Tang's avatar
      epoch-changes: separate epoch header with epoch data (#4881) · 846a9ce8
      Wei Tang authored
      
      * fork-tree: prune returns all pruned node data
      
      * epoch-changes: split EpochHeader vs epoch data
      
      * EpochChanges::viable_epoch and add missing comments
      
      * Incoperate the new epoch_changes interface for BABE
      
      * Fix BABE tests
      
      * Fix fork-tree pruning issue
      
      * Fix tests
      
      * Fix pruning algorithm
      
      * fork-tree: implement map function for mapping one value type to another
      
      * Add migration script for new epoch changes scheme
      
      * Update utils/fork-tree/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * Update client/consensus/slots/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * Remove authorities_len.is_none check, which is duplicate of unwrap_or(false)
      
      * Update client/consensus/epochs/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * Update client/consensus/epochs/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * No trailing ; for return statement
      
      * Use VERSION_KEY for migration
      
      * Fix issues that removed nodes are not properly added into removed list
      
      * Add comments indicating end_slot is non-inclusive
      
      * fork-tree: use &mut F for map type declaration
      
      * Add tests for v0 epoch_changes migration
      
      * Fix babe RPC tests
      
      Co-authored-by: default avatarAndré Silva <andre.beat@gmail.com>
      846a9ce8
  24. Feb 28, 2020
    • Ashley's avatar
      Remove more instances of futures01 (#4633) · 9a925faf
      Ashley authored
      
      * Start removing last few instances of futures01
      
      * Use to_poll on wasm
      
      * Revert "Use to_poll on wasm"
      
      This reverts commit 1c61728f10d520df5f9b28c415a0db68e478b9c7.
      
      * Fix fg test
      
      * Upgrade network test futures
      
      * Update offchain hyper version
      
      * Update service test
      
      * bump tokio to 0.2.10
      
      * Removed some unneeded tokios
      
      * fixes
      
      * fix run_until_all_full
      
      * Make service test debuggable
      
      * Update client/offchain/src/api/http.rs
      
      Co-Authored-By: default avatarDemi Obenour <48690212+DemiMarie-parity@users.noreply.github.com>
      
      * Add service_test to test-int output
      
      * nitpicking
      
      * Finally fix test
      
      * Give up and revert client/serviec/test
      
      * Revert gitlab ci too
      
      Co-authored-by: default avatarDemi Obenour <demi@parity.io>
      9a925faf
  25. Feb 21, 2020
  26. Feb 20, 2020
  27. Feb 17, 2020
  28. Feb 06, 2020
    • Wei Tang's avatar
      babe: pass epoch data via intermediates (#4807) · 14b0c9a7
      Wei Tang authored
      * babe: pass epoch data via intermediates
      
      * Switch to use Box<dyn Any> for intermediates
      
      * Set intermediate.epoch to be Option
      
      * Fix proposer should put out an empty intermediate
      
      * Remove unnecessary encode/decode
      
      * Add EpochData to block_import_params in slot worker
      
      * Fix aura compile
      
      * Fix integration test
      14b0c9a7
    • Wei Tang's avatar
      Refactor epoch changes to a separate crate (#4785) · 4df27e76
      Wei Tang authored
      * Init epoch changes module
      
      * Initial integration of new epoch changes module for BABE
      
      * Fix all initial compile errors
      
      * rename: digest -> digests
      
      * Fix babe tests
      
      * Bump impl_version
      
      * Fix more test issues
      
      * Remove test flag for tree
      
      It unfortunately won't work for multiple crates.
      
      * Update cargo lock
      
      * Fix duplicate parking_lot version
      
      * Add missing license header
      4df27e76
  29. Jan 23, 2020
  30. Jan 15, 2020
  31. 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
  32. Jan 10, 2020
  33. Jan 05, 2020
  34. Jan 02, 2020
  35. Dec 19, 2019