1. Nov 10, 2019
    • Bastian Köcher's avatar
      Substrate runtime interface 2.0 (#4057) · a86bb37b
      Bastian Köcher authored
      * Adds first version of traits for generating the host functions
      
      * First steps of the procedural macro
      
      * Implements generation of the host extern functions
      
      * Prefix ext host function with snake case trait name
      
      * Implement host functions implementation on the host
      
      * Change `HostFunctions` interface
      
      * Implement `HostFunctions` for tuples
      
      * Make `WasmExecutor` generic over the host functions
      
      * Begin to add a test and make it compile
      
      * Make the test succeed
      
      * Add test to ensure that host functions are not found
      
      * It's alive! Make the `set_storage` test work
      
      * Add test for mutable references
      
      * Code cleanup and documentation etc
      
      * Add marker trait for types that should be passed as SCALE encoded
      
      * Inherit the visibility from the trait and more improvements
      
      * More impls and move them into their own file
      
      * Code simplification by dropping one trait
      
      * Give it a better name
      
      * Implement traits for arrays
      
      * Refactor code to support pass by codec/inner
      
      * Docs
      
      * Implement pass by inner for some crypto types and add a test
      
      * Implement exchangeable function support
      
      * Rewrite sr-io with as runtime interface
      
      * Start reworking after master merge
      
      * Adds `PassByCodec` derive
      
      * Adds `PassByInner` derive
      
      * Fix compilation errors
      
      * More implementations
      
      * Implement runtime interface traits for `str`
      
      * Make `sr-io` compile again
      
      * Fix more compilation errors
      
      * More progress on getting stuff back to compile
      
      * More compilation fixes
      
      * Fix warnings
      
      * Remove le conversions
      
      * Add support for `wasm_only` interfaces
      
      * Implement `Allocator` interface
      
      * Improve error message
      
      * Move `WasmAllocator` to `sr-io` and more clean ups
      
      * Use correct function signature for wasm functions
      
      * Store the host functions with the Wasm runtime
      
      * Docs update
      
      * Fix compilation after master merge
      
      * Remove `sr-io/without_std`
      
      * Make `srml-support` tests run again
      
      * More compilation error fixes
      
      * Use correct doc syntax
      
      * Fix test-runtime
      
      * Fix compilation
      
      * Catch native panics when executing the wasm runtime
      
      As with the native runtime, we now catch all native panics when we
      execute the wasm runtime. The panics inside the wasm runtime were
      already catched before by the wasm executor automatically, but any panic
      in the host functions could bring down the node. The recent switch to
      execute the native counterpart of the host function in `sr-io`, makes
      this change required. The native `sr-io` functions just `panic` when
      something is not provided or any other error occured.
      
      * Fix compilation
      
      * Don't panic in a panic
      
      * Move `sr-sandbox` to new runtime interface
      
      * Fixes tests after sandbox changes
      
      * Make sure we detect invalid utf8
      
      * Fixes after master merge
      
      * Adds pass by enum strategy
      
      * Fix wasmtime integration
      
      * Some macro structure clean up
      
      * Rework and test exchangebale host functions
      
      * PassBy derive macros documentation
      
      * Docs for `runtime_interface` macro
      
      * Support wild card argument names
      
      * Adds ui tests
      
      * Make sure that we are backwards compatible to the old runtime interfaces
      
      * Documentation
      
      * Fixes after latest master merge
      
      * Make `wasmtime` happy
      
      * Make `full_crypto` work
      
      * Make the new interface versionable
      
      * Rename `Sanboxing` to `Sandbox`
      
      * Don't finalize in test while importing
      
      * Fix Performance regression
      
      * Fix test
      a86bb37b
    • Pierre Krieger's avatar
      Add a --no-private-ipv4 CLI option (#4042) · 1893fc10
      Pierre Krieger authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Add a --no-private-ipv4 CLI option
      
      * Fix tests
      
      * Fix tests
      1893fc10
  2. Nov 08, 2019
  3. Nov 07, 2019
  4. Nov 06, 2019
  5. Nov 05, 2019
  6. Nov 04, 2019
  7. Nov 03, 2019
  8. Nov 01, 2019
    • Benjamin Kampmann's avatar
      Move config path generation into the service config for reusability (#3978) · d5565600
      Benjamin Kampmann authored
      
      
      * Move config path generation into the service config for reusability
      
      * Make NoCostum Default and fix tests
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * remove function not used anymore
      
      * Make path into an option
      
      * remove database_path function and call it directly
      
      * remove helper functions, use consts
      d5565600
    • 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
    • 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
  9. Oct 31, 2019
  10. Oct 30, 2019
  11. Oct 29, 2019
    • André Silva's avatar
      node: add sentry mode flag (#3959) · 893909d0
      André Silva authored
      * node: add sentry mode flag
      
      * cli: extend docs on validator and sentry modes
      
      * service: add missing field in test Configuration
      
      * node: Display instead of Debug when printing node role
      893909d0
    • André Silva's avatar
      grandpa: fix handling of catch-up requests (#3956) · 0ac702e6
      André Silva authored
      * grandpa: fix handling of catch-up requests
      
      * grandpa: fix tests
      
      * grandpa: add test for catch-up handling when observer disabled
      
      * grandpa: extend doc comment
      
      * grandpa: rename existing catch up test
      0ac702e6
    • Gavin Wood's avatar
      More robust punishment (#3952) · 2b74b2d4
      Gavin Wood authored
      * Introduce new option "always force new era".
      
      * Take appropriate action, even for small offences.
      
      - Deselect the offender in all circumstances
      - Ensure that deselection forces a new era
      - Ensure that forcing a new era works with the always-forcing.
      
      * Bump runtime
      2b74b2d4
  12. 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
    • 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
    • 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
  13. Oct 27, 2019
  14. Oct 25, 2019