1. Nov 01, 2019
    • Jim Posen's avatar
      Integrate Wasmtime for runtime execution (#3869) · c2975363
      Jim Posen authored
      * executor: Use non wasmi-specific execution in tests.
      
      * executor: Move all runtime execution tests into tests file.
      
      * executor: Use test_case macro to easily execute tests with different
      Wasm execution methods.
      
      * executor: Convert errors to strings with Display, not Debug.
      
      * node-executor: Rewrite benchmarks with criterion.
      
      They were not passing compilation before and criterion seems to be more
      widely used in Substrate.
      
      * executor: Begin implementation of Wasm runtime.
      
      The implementation demonstrates the outline of the execution, but does
      not link against the external host functions.
      
      * executor: Define and implement basic FunctionExecutor.
      
      The SandboxCapabilities::invoke is still left unimplemented.
      
      * executor: Implement host function trampoline generation.
      
      * executor: Instantiate and link runtime module to env module.
      
      * executor: Provide input data during wasmtime execution.
      
      * executor: Implement SandboxCapabilites::invoke for wasmtime executor.
      
      * executor: Integrate and test wasmtime execution method.
      
      * executor: Improve FunctionExecution error messages.
      
      * Scope the unsafe blocks to be smaller.
      
      * Rename TrampolineState to EnvState.
      
      * Let EnvState own its own compiler instead of unsafe lifetime cast.
      
      * Refactor out some common wasmi/wasmtime logic.
      
      * Typos and cosmetic changes.
      
      * More trampoline comments.
      
      * Cargo.lock update.
      
      * cli: CLI option for running Substrate with compiled Wasm execution.
      
      * executor: Switch dependency from fork to official wasmtime repo.
      
      * Quiet down cranelift logs.
      
      * Explicitly catch panics during host calls.
      
      We do this to ensure that panics do not cross language boundaries.
      
      * Additional checks and clarifications in make_trampoline.
      
      * Fixes after merge from master and panic safety for wasmtime
      instantiation.
      c2975363
    • Weiliang Li's avatar
      authority-discovery: futures 03 Future (#3848) · f237d8c9
      Weiliang Li authored and Pierre Krieger's avatar Pierre Krieger committed
      
      
      * authority-discovery: futures 03 Future
      
      * make ci happy
      
      * use futures timer instead of tokio timer
      
      * Update core/authority-discovery/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * remove tokio 01 runtime
      
      * trigger build
      
      * kill futures01
      
      * rename futures
      f237d8c9
    • Gavin Wood's avatar
      Add events for im_online (#3991) · 595f18e6
      Gavin Wood authored
      * Add AllGood event for im_online
      
      * Another event just in case.
      
      * Bump runtime
      595f18e6
    • Pierre Krieger's avatar
  2. Oct 31, 2019
  3. Oct 30, 2019
  4. Oct 29, 2019
  5. Oct 28, 2019
    • Bastian Köcher's avatar
      Remove footgun around session keys/handlers (#3949) · 43961e85
      Bastian Köcher authored
      * Remove footgun around session keys/handlers
      
      - `OpaqueKeys` now has an associated type `KeyTypeIdProviders`. This can
      be used in the runtime as input for `SessionHandler` from the session
      trait.
      - `impl_opaque_keys` now works with modules and extracts the `KeyTypeId`
      from the module directly.
      - Added some checks to the `session` storage initialization that checks
      that the `SessionHandler` and `Keys` use the same number of keys and
      that the order is equal.
      
      * Update core/sr-primitives/src/traits.rs
      43961e85
    • Tomasz Drwięga's avatar
      Fix a import+prune+replace case for multi-provides transactions. (#3939) · 7389b73f
      Tomasz Drwięga authored
      * Fix a import+prune+replace case for multi-provides transactions.
      
      * Fix tests.
      7389b73f
    • Nikolay Volf's avatar
      Basic extrinsic pool benchmarks (#3922) · 30faeef4
      Nikolay Volf authored
      * Working bench for 50 sequental
      
      * configured benches
      
      * fix warnings
      
      * Optimize and fix issues
      
      * add preamble
      
      * Fix benchmarks.
      
      * fix compilation
      
      * remove unneeded features for now
      30faeef4
    • Kian Paimani's avatar
      RPC to query transaction fee + weight + info (#3876) · 4f6f830a
      Kian Paimani authored
      * initial version for testing
      
      * New version that compiles
      
      * optional at block parameter
      
      * Fix some more view grumbles.
      
      * Update srml/transaction-payment/src/lib.rs
      4f6f830a
    • Kian Paimani's avatar
      Updates to elections-phragmen and some runtime docs. (#3940) · 33e56523
      Kian Paimani authored
      * minor changes
      
      * Refactors for phragmen-election
      
      * Bump.
      
      * Fix genesis stuff
      
      * Fix rest of the errors
      33e56523
    • Pierre Krieger's avatar
      Too many addresses for a node is now a debug! rather than warn! (#3938) · 2ceb89e8
      Pierre Krieger authored
      * Too many addresses for a node is now a debug! rather than warn!
      
      * I managed to fail this change
      2ceb89e8
    • Gavin Wood's avatar
      Tip payment is a different withdraw reason. (#3937) · 0e3001a1
      Gavin Wood authored
      * Tip payment is a different withdraw reason.
      
      * Bump runtime version.
      
      * Test fix.
      
      * Fix lock type
      0e3001a1
    • Max Inden's avatar
      *: Disable authority discovery module (#3914) · 5c505d19
      Max Inden authored
      The authority discovery module enables authorities to be discoverable
      and discover other authorities to improve interconnection among them. In
      order to achieve this the module needs to know when the authority set
      changes, thus when a session changes.
      
      One has to register a module as a *session handler* in order for it to
      be notified of changing sessions. The order and number of these *session
      handlers* **MUST** correspond to the order and number of the *session
      keys*.
      
      Commit 7fc21cea added the authority discovery to the `SessionHandlers`.
      Given that the authority discovery module piggybacks on the Babe session
      keys the commit violated the above constraint.
      
      This commit reverts most of 7fc21cea, leaving `core/authority-discovery`
      and `srml/authority-discovery` untouched.
      5c505d19
  6. Oct 27, 2019
  7. Oct 25, 2019
  8. Oct 24, 2019
    • Max Inden's avatar
      core/finality-grandpa: Request block sync from network after import timeout (#3800) · 5bd69ac2
      Max Inden authored
      * core/finality-grandpa: Pass Grandpa msg sender up to UntilImported
      
      * core/finality-grandpa: Track senders to maybe later request blocks
      
      * core/finality-grandpa: Make BlockStatus pub only within crate
      
      * core/finality-grandpa: Abstract NetworkBridge with BlockSyncRequester
      
      * core/finality-grandpa: Pass BlockSyncRequester to UntilImported
      
      * core/finality-grandpa: Track block number of pending within UntilImported
      
      * core/finality-grandpa: Request block sync on long wait
      
      * core/finality-grandpa: Adjust unit tests to previous changes
      
      * core/finality-grandpa: Fix line length
      
      * core/finality-grandpa: Add comment explaining in & out vote combination
      
      * core/finality-grandpa: Log after, not before, timeout expired
      
      The UntilImported component should log whenever waiting for a specific
      block to be imported surpassed a defined constant timeout. Without this
      patch the code would log whenever the current time was below the
      timeout.
      
      * core/finality-grandpa: Collect senders as HashSet for deduplication
      
      * Revert "core/finality-grandpa: Track senders to maybe later request blocks"
      
      This reverts commit 61ac9dd7.
      
      * Revert "core/finality-grandpa: Pass Grandpa msg sender up to UntilImported"
      
      This reverts commit afdc9646.
      
      * core/network/sync: Ask for block from all peers if none provided
      
      When requesting an explicit fork sync, try to sync from all known peers,
      when no specific peers were provided.
      
      * core/network/sync: Request specific fork sync from peers ahead or on par
      
      When making an explicit fork sync request without specifying any peers,
      make sure to only request it from the locally known peers that are
      either ahead or on a par compared to the block number we are looking
      for.
      
      * grandpa: fix tests
      
      * grandpa: fix warnings
      
      * grandpa: add test for block sync request on until_imported
      
      * grandpa: rename Environment field inner to client
      
      * grandpa: fix minor nits
      
      * grandpa: minor nits in until_imported
      
      * grandpa: copy docs for set_sync_fork_request
      
      * grandpa: remove stale TODO on UntilImported
      5bd69ac2