Skip to content
  1. Sep 11, 2019
  2. Sep 10, 2019
    • Bastian Köcher's avatar
      First step for generating host externals out of the function definition in `sr-io` (#3567) · 58ddde4d
      Bastian Köcher authored
      
      
      * Adds new wrapper traits for wasm executor
      
      * Add new crate `substrate-wasm-interface`
      
      Thew new crate holds types and traits for the communicating between the
      wasm runtime and the host.
      
      * Rewrite externals with new macro etc
      
      * Fix vec initialization
      
      * Make executor tests working
      
      * Remove unused code + warnings
      
      * Introduce `Pointer` and `WordSize` for working with wasm
      
      * Fix tests and compilation
      
      * Fix compilation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Review feedback
      
      * Remove unused conversions
      
      * Make each host function its own struct
      
      `HostFunctions` now just returns these function structs. Each function
      can be executed by using one of the function structs. The inherent host
      functions are now moved to the "normal" host functions.
      
      * Remove byteorder
      
      * Add floating point types
      
      * Make pointer interface more safe
      
      * Add type alias for wasm-interface Result
      
      * More review comments
      58ddde4d
  3. Sep 06, 2019
    • Max Inden's avatar
      core/authority-discovery: Enable authorities to discover each other (#3452) · 7fc21cea
      Max Inden authored
      With the *authority-discovery* module an authoritative node makes itself
      discoverable and is able to discover other authorities. Once discovered, a node
      can directly connect to other authorities instead of multi-hop gossiping
      information.
      
      1. **Making itself discoverable**
      
          1. Retrieve its external addresses
      
          2. Adds its network peer id to the addresses
      
          3. Sign the above
      
          4. Put the signature and the addresses on the libp2p Kademlia DHT
      
      2. **Discovering other authorities**
      
          1. Retrieve the current set of authorities
      
          2. Start DHT queries for the ids of the authorities
      
          3. Validate the signatures of the retrieved key value pairs
      
          4. Add the retrieved external addresses as ~reserved~ priority nodes to the
             peerset
      
      
      * node/runtime: Add authority-discovery as session handler
      
      The srml/authority-discovery module implements the OneSessionHandler in
      order to keep its authority set in sync. This commit adds the module to
      the set of session handlers.
      
      * core/network: Make network worker return Dht events on poll
      
      Instead of network worker implement the Future trait, have it implement
      the Stream interface returning Dht events.
      
      For now these events are ignored in build_network_future but will be
      used by the core/authority-discovery module in subsequent commits.
      
      * *: Add scaffolding and integration for core/authority-discovery module
      
      * core/authority-discovery: Implement module logic itself
      7fc21cea
    • Wei Tang's avatar
      Consensus: Proof of Work (#3473) · b9e17824
      Wei Tang authored
      
      
      * consensus-pow: init primtives and verifier
      
      * consensus-pow: add total difficulty auxiliary
      
      * consensus-pow: implement total difficulty chain selection
      
      * consensus-pow: implement pow import queue
      
      * consensus-pow-primitives: add mine into PowApi
      
      * consensus-pow: implement mining
      
      * Update lock file
      
      * Style fixes
      
      No run-on expressions allowed.
      
      * consensus-pow: refactor register_pow_inherent_data_provider
      
      * consensus-pow: make PowApi::mine yieldable
      
      * consensus-pow: better mining loop
      
      * Add missing license header
      
      * consensus-pow-primitives: clarify the meaning of None for PowApi::verify
      
      * consensus-pow: changing total difficulty addition to use saturating add
      
      * consensus-pow: change mine-loop error to log on error! level
      
      * consensus-pow: allow inserting arbitrary preruntime digest for pow
      
      The preruntime digest can be intepreted by the runtime as the block author/coinbase.
      
      * Fix line width
      
      * More line width fixes
      
      * consensus-pow: separate difficulty, verify API
      
      This makes it more apparent that currently in PoW engine, `difficulty` should
      be input, not output.
      
      * srml-pow: implementation of average_span difficulty adjustment
      
      * srml-pow: basic blake2 algo example
      
      * srml-pow-average-span: make it not require genesis config
      
      * srml-pow: add support for authorship
      
      * Missing license headers
      
      * consensus-pow: PowAlgorithm trait generalization
      
      * Missing docs for consensus-pow
      
      * More docs
      
      * node-runtime: bump impl_version
      
      * Add rationale for difficulty type
      
      * consensus-pow: refactor aux_key
      
      * Update lock file
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Remove PowRuntimeAlgorithm
      
      * block_id -> parent_block_id
      
      * Auxiliary data -> auxiliary storage data
      
      * Fix error message
      
      * Fix compile
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/primitives/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update core/consensus/pow/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Fix crate description
      
      * More docs
      
      * Address grumbles
      
      1. Make preruntime Optional.
      2. Add more docs on what is `preruntie` and `round`.
      3. Replace `Default::default` with the approriate type.
      b9e17824
  4. Sep 04, 2019
    • Shawn Tabrizi's avatar
      Normalize Crate Names in SRML/Node Template (#3543) · 3278d648
      Shawn Tabrizi authored
      * Fix some instances of `runtime-io`
      
      * Patch a bunch
      
      * More patches for consistancy
      
      * more patch
      
      * Fix various build issues
      
      * Fix tests
      
      * Patch `srml-support-*` crates
      
      * Fix doc tests
      
      * Revert "Fix doc tests"
      
      This reverts commit ba2ec61d.
      
      * Revert "Patch `srml-support-*` crates"
      
      This reverts commit 9a607045.
      
      * Missed one
      
      * Fix doc tests
      3278d648
  5. Sep 02, 2019
  6. Sep 01, 2019
  7. Aug 29, 2019
  8. Aug 28, 2019
    • André Silva's avatar
      im-online: use generic crypto (#3500) · ae9f8d04
      André Silva authored
      * im-online: support using ed25519 and sr25519 crypto
      
      * app-crypto: add trait bounds to RuntimePublic::Signature
      
      * im-online: add missing type annotations
      
      * authority-discovery: depend on im-online module and use its crypto
      
      * node: set i'm online crypto to sr25519
      
      * node: bump spec_version
      
      * rpc: don't generate i'm online pubkey in insert_key method
      
      * im-online: fix docs
      
      * im-online: move app crypto packages
      
      * aura: move app crypto packages
      ae9f8d04
  9. Aug 27, 2019
    • Sergey Pepyakin's avatar
      Eradicate native_equivalent (#3494) · 3e257e01
      Sergey Pepyakin authored
      
      
      * Add ability to supply extra storage in test-client
      
      * Don't use native_equivalent in tests.
      
      * Get rid of native_equivalent
      
      * Try to make fields private
      
      * Apply Basti's suggestions
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      3e257e01
    • Kian Paimani's avatar
      Use optimized append and len storage methods in SRML. (#3071) · 7aa47cee
      Kian Paimani authored
      
      
      * expose len from codec to storage.
      
      * refactor runtime with len and append.
      
      * Undo example.
      
      * Remove imports.
      
      * Bump codec.
      
      * Optionify.
      
      * Make decode_len counscious.
      
      * Refactor.
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix merge.
      
      * fix some docs.
      
      * Add NoDefault trait.
      
      * Bump.
      
      * Final nits.
      
      * Update srml/support/src/traits.rs
      
      * new approach toward len.
      
      * re-create lock file.
      
      * Fix build errors and Option handling.
      
      * More test fix
      
      * Use default for append as well.
      
      * Fix runtime.
      
      * Add support for linked_map
      
      * More tweaks from review.
      
      * Fix style
      
      * Change api for none-values
      
      * Bump.
      7aa47cee
    • Bastian Köcher's avatar
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · d14e727b
      Pierre Krieger authored
      * Move Service::new to a macro
      
      * Move function calls to macros
      
      * Extract offchain_workers and start_rpc in separate function
      
      In follow-up commits, we want to be able to directly call maintain_transaction_pool, offchain_workers, and start_rpc, without having to implement the Components trait.
      This commit is a preliminary step: we extract the code to freestanding functions.
      
      * Introduce an AbstractService trait
      
      * Introduce NewService as an implementation detail of Service
      
      * Implement traits on NewService instead
      
      Instead of implementing AbstractService, Future, and Executor on Service, we implement them on NewService instead.
      
      The implementations of AbstractService, Future, and Executor on Service still exist, but they just wrap to the respective implementations for NewService.
      
      * Move components creation back to macro invocation
      
      Instead of having multiple $build_ parameters passed to the macro, let's group them all into one.
      
      This change is necessary for the follow-up commits, because we are going to call new_impl! only after all the components have already been built.
      
      * Add a $block parameter to new_impl
      
      This makes it possible to be explicit as what the generic parameter of the NewServiceis, without relying on type inference.
      
      * Introduce the ServiceBuilder struct
      
      Introduces a new builder-like ServiceBuilder struct that creates a NewService.
      
      * Macro-ify import_blocks, export_blocks and revert_chain
      
      Similar to the introduction of new_impl!, we extract the actual code into a macro, letting us get rid of the Components and Factory traits
      
      * Add export_blocks, import_blocks and revert_chain methods on ServiceBuilder
      
      Can be used as a replacement for the chain_ops::* methods
      
      * Add run_with_builder
      
      Instead of just run, adds run_with_builder to ParseAndPrepareExport/Import/Revert. This lets you run these operations with a ServiceBuilder instead of a ServiceFactory.
      
      * Transition node and node-template to ServiceBuilder
      
      * Transition transaction-factory to the new service factory
      
      This is technically a breaking change, but the transaction-factory crate is only ever used from within substrate-node, which this commit updates as well.
      
      * Remove old service factory
      
      * Adjust the AbstractService trait to be more usable
      
      We slightly change the trait bounds in order to make all the methods usable.
      
      * Make substrate-service-test compile
      
      * Fix the node-cli tests
      
      * Remove the old API
      
      * Remove the components module
      
      * Fix indentation on chain_ops
      
      * Line widths
      
      * Fix bad line widths commit
      
      * Line widths again 🤦
      
      
      
      * Fix the sync test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Address some concerns
      
      * Remove TelemetryOnConnect
      
      * Remove informant::start
      
      * Update jsonrpc
      
      * Rename factory to builder
      
      * Line widths 😩
      d14e727b
    • Tomasz Drwięga's avatar
      Introduce capabilities filtering for off-chain runtime calls. (#3454) · 3f6cbc85
      Tomasz Drwięga authored
      * Introduce capabilities filtering for calls.
      
      * Bump impl version.
      
      * Allow RichOffchainCall to only read offchain db.
      
      * Fix code.
      
      * Panic on invalid calls.
      
      * Merge execution contexts and expose capabilities.
      
      * Fix repr
      
      * Re-enable keystore for offchain calls.
      3f6cbc85
  10. Aug 24, 2019
  11. Aug 23, 2019
  12. Aug 21, 2019
    • Toralf Wittner's avatar
      Update soketto to version 0.2.3 (#3448) · 84f6e55d
      Toralf Wittner authored
      This version fixes an issue with lifetime elision which causes
      compilation to fail on recent rustc versions (e.g. 1.39.0-nightly
      (bea0372a1 2019-08-20)).
      
      See https://github.com/paritytech/soketto/pull/1 for more information.
      84f6e55d
  13. Aug 20, 2019
    • Max Inden's avatar
      srml/authority-discovery: Introduce srml module to sign and verify (#3385) · 495ccb60
      Max Inden authored
      In order to have authorities (validators) discover each other, they need
      to publish their public addresses by their ip address on the Kademlia
      Dht indexed by their public key. This payload needs to be signed by a
      key identifying them as a valid authority.
      
      Code inside `/core` does not know the current set of authorities nor
      can it assume what kind of cryptography primitives are currently in use.
      Instead it can retrieve its public key and the current set of
      authorities from the runtime and have it sign and verify Dht payloads.
      
      This commit enables code in `/core` to do so by introducing a srml
      module and runtime api to:
      
      1. Retrieve own public key.
      
      2. Retrieve public keys of current authority set.
      
      3. Sign a Dht payload.
      
      4. Verify a Dht payload.
      
      This commit makes the logic from the previous commit
      (`core/consensus/common/primitives.ConsensusApi`)
      444bf719 obsolete and thus removes it.
      495ccb60
    • Tomasz Drwięga's avatar
      Custom RPC implementation for `node`. (#3109) · db5f4948
      Tomasz Drwięga authored
      * Allow RPCs to be customized.
      
      * Implement node-rpc extensions.
      
      * Working on a test.
      
      * Add node-testing crate.
      
      * Fix genesis test config
      
      * Fix nonce lookups.
      
      * Clean up.
      
      * Fix expected block type.
      
      * Make the RPC extension function optional.
      
      * Fix service doc test.
      
      * Bump jsonrpc.
      
      * Bump client version.
      
      * Update Cargo.lock
      
      * Update jsonrpc.
      
      * Fix build.
      
      * Remove unused imports.
      
      * Fix signed extra.
      
      * Post merge clean up.
      
      * Fix tests.
      
      * Patch hashmap-core.
      
      * Fix build.
      
      * Fix build.
      
      * Remove hashmap_core patches.
      db5f4948
  14. Aug 19, 2019
    • cheme's avatar
      Update trie crate to hashbrown usage. (#3440) · 2ac2f065
      cheme authored
      * Update trie crate to non hashmap_core one.
      
      * bump runtime impl.
      2ac2f065
    • Bastian Köcher's avatar
      Do not call externalities without `Ext` being set (#3436) · 949300e7
      Bastian Köcher authored
      * Do not call externalities without `Ext` being set
      
      * Fix compare and set
      
      * Bump runtime version.
      
      * Bump hashmap_core
      949300e7
    • Michael Müller's avatar
      Introduce srml/scored-pool (#3381) · b9027af5
      Michael Müller authored
      
      
      * Introduce srml/scored-pool
      
      * Bump impl_version
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Remove unnecessary pub use
      
      * Remove unnecessary import
      
      * Adapt to InitializeMembers
      
      * Bump impl_version
      
      * Implement remarks (shortens code)
      
      * Improve complexity of score()
      
      Search and remove and search again for the
      new spot and insert then => O(2LogN).
      
      * Get rid of a clone()
      
      * Reduce complexity of issue_candidacy()
      
      * Add CandidateScored event + Improve comments
      
      * Fix naming
      
      * Use Lookup instead of AccountId as param
      
      * Use set_members_sorted instead of computing diff
      
      * Remove function which is only used during genesis
      
      * Get rid of rev() by changing sort order of Pool
      
      * Rename issue_candidacy to submit_candidacy
      
      * Shorten code
      
      * Remove find_in_pool() and have transactor submit index
      
      * Remove unnecessary dependency
      
      * Improve error messages
      
      * Improve naming
      
      * Improve comments
      
      * Make code clearer wrt which receiver to invoke
      
      * Adapt to new system trait
      
      * Refactor to request CandidateDeposit only once
      
      * Refactor to request Pool only once
      
      * Improve structure and comments
      b9027af5
    • Gautam Dhameja's avatar
      Make node-template in sync with node. (#3422) · 1abeb100
      Gautam Dhameja authored
      * Make node-template in sync with node.
      
      * Update service.rs
      
      * Updated babe constants.
      
      * Added SignedExtra for CheckVersion in node-template and subkey.
      
      * Added CheckVersion SignedExtra for node.
      
      * Fixed tests.
      
      * Try fix integration test.
      
      * Attempt 2 at fixing integration test.
      
      * Update node-template/runtime/src/lib.rs
      1abeb100
  15. Aug 18, 2019
  16. Aug 17, 2019
  17. Aug 16, 2019
    • Tomasz Drwięga's avatar
      Offences reporting and slashing (#3322) · 5d992d80
      Tomasz Drwięga authored
      
      
      * Remove offline slashing logic from staking.
      
      * Initial version of reworked offence module, can report offences
      
      * Clean up staking example.
      
      * Commit SlashingOffence
      
      * Force new era on slash.
      
      * Add offenders in the SlashingOffence trait.
      
      * Introduce the ReportOffence trait.
      
      * Rename `Offence`.
      
      * Add on_before_session_ending handler.
      
      * Move offence related stuff under sr-primitives.
      
      * Fix cargo check.
      
      * Import new im-online implementation.
      
      * Adding validator count to historical session storage as it's needed for slash calculations
      
      * Add a comment about offence.
      
      * Add BabeEquivocationOffence
      
      * GrandpaEquivocationOffence
      
      * slash_fraction and fix
      
      * current_era_start_session_index
      
      * UnresponsivnessOffence
      
      * Finalise OnOffenceHandler traits, and stub impl for staking.
      
      * slash_fraction doesn't really need &self
      
      * Note that offenders count is greater than 0
      
      * Add a test to ensure that I got the math right
      
      * Use FullIdentification in offences.
      
      * Use FullIndentification.
      
      * Hook up the offences module.
      
      * Report unresponsive validators
      
      * Make sure eras have the same length.
      
      * Slashing and rewards.
      
      * Fix compilation.
      
      * Distribute rewards.
      
      * Supply validators_count
      
      * Use identificationTuple in Unresponsivness report
      
      * Fix merge.
      
      * Make sure we don't slash if amount is zero.
      
      * We don't return an error from report_offence anymo
      
      * We actually can use vec!
      
      * Prevent division by zero if the reporters is empty
      
      * offence_forces_new_era/nominators_also_get_slashed
      
      * advance_session
      
      * Fix tests.
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * slashing_performed_according_exposure
      
      * Check that reporters receive their slice.
      
      * Small clean-up.
      
      * invulnerables_are_not_slashed
      
      * Minor clean ups.
      
      * Improve docs.
      
      * dont_slash_if_fraction_is_zero
      
      * Remove session dependency from offences.
      
      * Introduce sr-staking-primitives
      
      * Move offence under sr_staking_primitives
      
      * rename session_index
      
      * Resolves todos re using SessionIndex
      
      * Fix staking tests.
      
      * Properly scale denominator.
      
      * Fix UnresponsivnessOffence
      
      * Fix compilation.
      
      * Tests for offences.
      
      * Clean offences tests.
      
      * Fix staking doc test.
      
      * Bump spec version
      
      * Fix aura tests.
      
      * Fix node_executor
      
      * Deposit an event on offence.
      
      * Fix compilation of node-runtime
      
      * Remove aura slashing logic.
      
      * Remove HandleReport
      
      * Update docs for timeslot.
      
      * rename with_on_offence_fractions
      
      * Add should_properly_count_offences
      
      * Replace ValidatorIdByIndex with CurrentElectedSet
      
      ValidatorIdByIndex was querying the current_elected set in each call, doing loading (even though its from cache), deserializing and cloning of element.
      
      Instead of this it is more efficient to use `CurrentElectedSet`. As a small bonus, the invariant became a little bit easier: now we just rely on the fact that `keys` and `current_elected` set are of the same length rather than relying on the fact that `validator_id_by_index` would work similar to `<[T]>::get`.
      
      * Clarify babe equivocation
      
      * Fix offences.
      
      * Rename validators_count to validator_set_count
      
      * Fix squaring.
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Docs for CurrentElectedSet.
      
      * Don't punish only invulnerables
      
      * Use `get/insert` instead of `mutate`.
      
      * Fix compilation
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update srml/offences/src/lib.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Add aura todo.
      
      * Allow multiple reports for single offence report.
      
      * Fix slash_fraction calculation.
      
      * Fix typos.
      
      * Fix compilation and tests.
      
      * Fix staking tests.
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarLogan Saether <[email protected]>
      
      * Fix doc on time_slot
      
      * Allow slashing only on current era (#3411)
      
      * only slash in current era
      
      * prune journal for last era
      
      * comment own_slash
      
      * emit an event when old slashing events are discarded
      
      * Pave the way for pruning
      
      * Address issues.
      
      * Try to refactor collect_offence_reports
      
      * Other fixes.
      
      * More fixes.
      5d992d80
    • André Silva's avatar
      babe: Introduce secondary slots (Aurababeous) (#3380) · 7eb937e8
      André Silva authored
      
      
      * babe: initial implementation of secondary slots
      
      * babe: validate secondary slot author
      
      * babe: implement weight based fork choice
      
      * babe: remove unused
      
      * aura: cleanup unused imports
      
      * babe: pass in parent weight when authoring and verifying
      
      * babe: use epoch randomness for picking secondary slot authors
      
      * babe: fix tests
      
      * babe: fix wasm build
      
      * babe: node-side code for disabling secondary slots
      
      * babe: allow enabling/disabling secondary slots from runtime
      
      * babe: fix test
      
      * babe: use blake2_256 for secondary slot assignment
      
      * babe: run block initialization in should_end_session
      
      * node: increase slot duration to 6s
      
      * babe: add docs
      
      * node: bump spec_version
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * babe: simplify secondary slot assignment calculation
      
      * babe: remove unnecessary comment
      
      * node: bump spec_version
      
      * babe: fix bad merge
      7eb937e8
  18. Aug 15, 2019
  19. Aug 09, 2019
  20. Aug 08, 2019
    • cheme's avatar
      Child storage tests and genesis fix. (#3185) · c36d2477
      cheme authored
      * Using child storage, (srml-support only), test failing .
      
      * fix simple tests.
      
      * Enumerable by requiring owned struct (previous form only allow
      &'static).
      Broken tests are from genesis init.
      
      * implement for_child_keys_with_prefix
      
      * indent
      
      * clear_child_prefix fix.
      
      * clear_child_prefix fix 2.
      
      * fix for storage_impl, if/when allowing child and not child this could be
      reverted.
      
      * Fix lot of urlinked child genesis, still need to look upon actual
      genesis srml module code.
      Probably still a lot of broken code needing debugging.
      
      * switch well_known_key to their associated module child trie.
      Fix a genesis init (balance).
      Complete some testing.
      Comment some tests before using.
      
      * fixing test runtime child keys
      
      * latest commit fix broken genesis init
      
      * fix system balances child name.
      
      * Important fix: storage_root from test externalities need children (it is
      already the case for ext).
      
      * executive root with child calculation
      
      * Avoid empty trie on test ext.
      
      * Symetric removal of key for system.
      
      * commenting changes related tests.
      
      * Remove child module specifics.
      
      * fix issues.
      
      * fix some formatting
      
      * fix bench and bump runtime
      
      * Remove extend_storage_overlays, assimilate_storage do the same as is
      proper considering srml macro.
      
      * Fix warning for assimilate.
      
      * Removing kill as they do not impact any test cases.
      
      * Use tuple of storage map instead of two parameters. This changes the
      behavior of decl_storage genesis build closure (breaking api).
      
      * Do not use build storage before assimilate.
      
      * fix error
      
      * Update core/state-machine/src/backend.rs
      c36d2477
    • Bastian Köcher's avatar
      Adds `author_rotateKeys` RPC (#3337) · 8155ea35
      Bastian Köcher authored
      * Adds `author_rotateKeys` RPC
      
      `author_rotateKeys` will rotate all session keys, store them into the
      keystore and returns their encoded public keys as result. These encoded
      public keys can be used directly to send the transaction to the chain.
      
      * Review comments
      8155ea35
    • Pierre Krieger's avatar
      Switch offchain workers to new futures (#3285) · 27cb884a
      Pierre Krieger authored
      * Switch offchain workers to new futures
      
      * Fix tests
      27cb884a
  21. Aug 07, 2019
    • Arkadiy Paronyan's avatar
      Set uncles inherent (#3317) · d6eb5dd8
      Arkadiy Paronyan authored
      * Include uncles
      
      * Filter missing uncles
      
      * Moved inherent registration to a new crate
      
      * Ignore invalid inherent encoding
      d6eb5dd8
    • Gavin Wood's avatar
      Refactor key management (#3296) · ed61b1fd
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      ed61b1fd