1. Nov 12, 2019
  2. Nov 11, 2019
  3. Nov 10, 2019
    • Bastian Köcher's avatar
      Substrate runtime interface 2.0 (#4057) · b691cfe0
      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
      b691cfe0
    • Pierre Krieger's avatar
      Add a --no-private-ipv4 CLI option (#4042) · 401e213a
      Pierre Krieger authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Add a --no-private-ipv4 CLI option
      
      * Fix tests
      
      * Fix tests
      401e213a
  4. Nov 08, 2019
  5. Nov 07, 2019
  6. Nov 06, 2019
  7. Nov 05, 2019
  8. Nov 04, 2019
  9. Nov 03, 2019
  10. Nov 01, 2019
    • Benjamin Kampmann's avatar
      Move config path generation into the service config for reusability (#3978) · 2ff04d33
      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
      2ff04d33
    • Jim Posen's avatar
      Integrate Wasmtime for runtime execution (#3869) · 8676c25e
      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.
      8676c25e
    • Gavin Wood's avatar
      Add events for im_online (#3991) · 26f4084f
      Gavin Wood authored
      * Add AllGood event for im_online
      
      * Another event just in case.
      
      * Bump runtime
      26f4084f
  11. Oct 31, 2019
  12. Oct 30, 2019
  13. Oct 29, 2019
    • André Silva's avatar
      node: add sentry mode flag (#3959) · c92eda98
      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
      c92eda98
    • André Silva's avatar
      grandpa: fix handling of catch-up requests (#3956) · dc148098
      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
      dc148098
    • Gavin Wood's avatar
      More robust punishment (#3952) · 3aecf328
      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
      3aecf328
  14. Oct 28, 2019
    • Bastian Köcher's avatar
      Remove footgun around session keys/handlers (#3949) · 057636fd
      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
      057636fd
    • Kian Paimani's avatar
      RPC to query transaction fee + weight + info (#3876) · 7e87dfdc
      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
      7e87dfdc
    • Kian Paimani's avatar
      Updates to elections-phragmen and some runtime docs. (#3940) · 9b1dd268
      Kian Paimani authored
      * minor changes
      
      * Refactors for phragmen-election
      
      * Bump.
      
      * Fix genesis stuff
      
      * Fix rest of the errors
      9b1dd268
    • Max Inden's avatar
      *: Disable authority discovery module (#3914) · e110cd7a
      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 027d8879 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 027d8879, leaving `core/authority-discovery`
      and `srml/authority-discovery` untouched.
      e110cd7a
  15. Oct 27, 2019
  16. Oct 25, 2019