Skip to content
  1. Sep 12, 2019
  2. Sep 11, 2019
  3. Sep 10, 2019
  4. Sep 06, 2019
    • Max Inden's avatar
      core/authority-discovery: Enable authorities to discover each other (#3452) · 027d8879
      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
      027d8879
  5. Sep 04, 2019
    • Sergey Pepyakin's avatar
      srml-contracts: Fix values used for state rent (#3550) · 932e51ff
      Sergey Pepyakin authored
      * Fix units for srml-contracts
      
      * Bump node runtime version.
      932e51ff
    • Bastian Köcher's avatar
      Custom runtime module errors (#3433) · c6f37980
      Bastian Köcher authored
      
      
      * srml-system checks
      
      * wip
      
      * more modules compiles
      
      * node-runtime checks
      
      * build.sh passes
      
      * include dispatch error in failed event
      
      * revert some unnecessary changes
      
      * refactor based on comments
      
      * more compile error fixes
      
      * avoid unnecessary into
      
      * reorder code
      
      * fixes some tests
      
      * manually implement encode & decode to avoid i8 workaround
      
      * more test fixes
      
      * more fixes
      
      * more error fixes
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * address comments
      
      * test for DispatchError encoding
      
      * tyep alias for democracy
      
      * make error printable
      
      * line width
      
      * fix balances tests
      
      * fix executive test
      
      * fix system tests
      
      * bump version
      
      * ensure consistent method signature
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * changes based on review
      
      * Add issue number for TODOs
      
      * fix
      
      * line width
      
      * fix test
      
      * Update core/sr-primitives/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/sr-primitives/src/traits.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/council/src/motions.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update srml/council/src/motions.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * update based on review
      
      * More concrete macro matching
      
      * fix test build issue
      
      * Update hex-literal dependency version. (#3141)
      
      * Update hex-literal dep version.
      
      * Update lock file.
      
      * Start to rework the new error handling
      
      * More work to get it back compiling
      
      * Start to fix after master merge
      
      * The great transaction error handling refactoring
      
      * Make `decl_error` errors convertible to `&'static str`
      
      * Make srml-executive build again
      
      * Fix `sr-primitives` tests
      
      * More fixes
      
      * Last round of fix ups
      
      * Fix build
      
      * Fix build
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Rename some stuff
      
      * Fixes after master merge
      
      * Adds `CheckBlockGasLimit` signed extension
      
      * Remove debug stuff
      
      * Fix srml-balances test
      
      * Rename `InvalidIndex` to `CannotLookup`
      
      * Remove weird generic parameters
      
      * Rename function again
      
      * Fix import
      
      * Document the signed extension
      
      * Change from `Into` to `From`
      
      * Update srml/contracts/src/lib.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Fix compilation
      
      * Update srml/contracts/src/lib.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update core/sr-primitives/src/transaction_validity.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Remove unused code
      
      * Fix compilation
      
      * Some cleanups
      
      * Fix compile errors
      
      * Make `TransactionValidity` a `Result`
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Beautify the code a little bit and fix test
      
      * Make `CannotLookup` an inherent error declared by `decl_error!`
      
      * Adds some documentation
      
      * Make `ApplyOutcome` a result
      
      * Up the spec_version
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      c6f37980
  6. Sep 02, 2019
  7. Sep 01, 2019
  8. 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 <[email protected]>
      
      * address grumbles
      
      * simplify finalize block on client
      
      * move block back into inner function
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * use as.ref instead of match
      
      * Update core/client/src/backend.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      0cae7217
  9. Aug 29, 2019
  10. Aug 28, 2019
  11. Aug 27, 2019
    • Sergey Pepyakin's avatar
      Eradicate native_equivalent (#3494) · 36ef4c06
      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]>
      36ef4c06
    • Kian Paimani's avatar
      Use optimized append and len storage methods in SRML. (#3071) · 095c7de7
      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.
      095c7de7
    • Arkadiy Paronyan's avatar
      Fixed uncle pruning (#3491) · cab8fb5d
      Arkadiy Paronyan authored
      * Fixed uncle pruning
      
      * Version bump
      cab8fb5d
    • Bastian Köcher's avatar
      Make sure that `on_before_session_ending` is called (#3487) · 10b032bb
      Bastian Köcher authored
      * Make sure that `on_before_session_ending` is called
      
      * Move the call above the validtor set being set
      
      * Bump spec_version
      10b032bb
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · 5b8ebf7b
      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 😩
      5b8ebf7b
    • Tomasz Drwięga's avatar
      Introduce capabilities filtering for off-chain runtime calls. (#3454) · 0128d0db
      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.
      0128d0db
  12. Aug 25, 2019
  13. Aug 24, 2019
  14. Aug 21, 2019
    • Jim Posen's avatar
      srml-contracts: Apply contract removals immediately (#3417) · 974b341b
      Jim Posen authored
      * Add ability to destroy a contract in the overlay.
      
      * Don't allow contracts to be destroyed in recursive execution.
      
      * Tests for contract self-destruction.
      
      * Don't allow constructor to exit with insufficient balance.
      
      * Remove dead code.
      
      * Bump node runtime spec version.
      974b341b
  15. Aug 20, 2019
    • asynchronous rob's avatar
      pay out slashes to the treasury (#3446) · 320fb38a
      asynchronous rob authored
      320fb38a
    • Max Inden's avatar
      srml/authority-discovery: Introduce srml module to sign and verify (#3385) · 2c0e73b7
      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`)
      cf80af92 obsolete and thus removes it.
      2c0e73b7
    • Tomasz Drwięga's avatar
      Custom RPC implementation for `node`. (#3109) · 56296386
      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.
      56296386
  16. Aug 19, 2019
    • cheme's avatar
      Update trie crate to hashbrown usage. (#3440) · 95abffc8
      cheme authored
      * Update trie crate to non hashmap_core one.
      
      * bump runtime impl.
      95abffc8
    • Bastian Köcher's avatar
      Do not call externalities without `Ext` being set (#3436) · 3b0af8bb
      Bastian Köcher authored
      * Do not call externalities without `Ext` being set
      
      * Fix compare and set
      
      * Bump runtime version.
      
      * Bump hashmap_core
      3b0af8bb
    • Michael Müller's avatar
      Introduce srml/scored-pool (#3381) · 017752df
      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
      017752df
    • Gautam Dhameja's avatar
      Make node-template in sync with node. (#3422) · 0bb44f50
      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
      0bb44f50