1. Jul 09, 2019
    • thiolliere's avatar
      Make use of child storage for testExternalities and basicExternalities (#3009) · 0bc753ff
      thiolliere authored
      * impl test using both storage and child_storage
      
      * few fixes
      
      * remove unused code
      
      * impl PartialEq with children keys
      
      * fmt
      
      * implementation of basic with children + rename new
      
      * assert and test
      
      * no panic in runtime
      
      * address comments
      
      * fix
      0bc753ff
    • Max Inden's avatar
      Introduce flag to enable sentry nodes to participate in grandpa gossip (#3018) · cf5b132b
      Max Inden authored
      Given the following situation: A validator 'A' is not supposed to be
      connected to the public internet to protect it from e.g. a DoS attack.
      Instead it connects to a sentry node 'sentry-A' which connects to the
      public internet. Validator 'B' can reach validator 'A' via sentry node
      'sentry-A' and vice versa.
      
      A sentry node needs to participate in the grandpa gossip without
      becoming a validator itself in order to forward these message to its
      validator. This commit adds a new command line flag (`--grandpa-voter`)
      forcing a node to participate in the grandpa voting process even though
      no `--key` was specified. Due to the fact that it does not have a key,
      it does not become a validator in the network.
      
      In order to simulate the above situation this commit also adds a Docker
      Compose file (`scripts/sentry-node/docker-compose.yml`) with further
      documentation.
      cf5b132b
    • Pierre Krieger's avatar
      Change the import queue traits to take &mut self instead of &self (#3058) · 3e6f9051
      Pierre Krieger authored
      * SharedFinalityProofRequestBuilder -> BoxFinalityProofRequestBuilder
      
      * SharedThings -> BoxThings
      
      * Fix tests
      
      * build_request_data now takes &mut self
      
      * The other traits now also take &mut self
      
      * More or less fix tests
      
      * Fix tests
      
      * Fix more tests
      
      * Moar tests
      
      * Don't call make_block_import multiple time
      
      * Fix doctest
      3e6f9051
    • André Silva's avatar
      srml: system: prune block hash mapping (#3062) · ef7587d9
      André Silva authored
      * srml: system: prune block number to hash mapping
      
      * srml: system: add test for block hash mapping pruning
      
      * node: bump runtime version
      
      * srml: system: wrap long line
      
      * srml: system: use parameter type for block hash count
      
      * srml: system: prune block hash mapping before storage root calculation
      
      * srml: system: keep the genesis hash in block number map
      ef7587d9
  2. Jul 08, 2019
    • asynchronous rob's avatar
      Dispatch on-disabled digests from consensus modules (#3055) · bdd6e8bd
      asynchronous rob authored
      * on-disable primitives for engines
      
      * dispatch on-disabled digests from SRML consensus
      
      * bump runtime versions
      
      * use find_map
      bdd6e8bd
    • Bastian Köcher's avatar
      Make `RUSTFLAGS` configurable in `wasm-builder` (#3057) · 198e5c9f
      Bastian Köcher authored
      * Make `RUSTFLAGS` configurable in `wasm-builder`
      
      * Version ups
      
      * Update `Cargo.lock`
      198e5c9f
    • asynchronous rob's avatar
      Slash and prove membership of prior sessions (#2970) · 60c54f0d
      asynchronous rob authored
      
      
      * skeleton for tracking historical sessions
      
      * refactor OpaqueKeys
      
      * some more skeleton work
      
      * adjust session to new OpaqueKeys API
      
      * further refactoring of key-type-ids
      
      * session gets validator ID parameter
      
      * run up against compiler
      
      * tweak staking to support new session changes
      
      * first run at child storage for deduplication
      
      * Make session use `AccountId` as `ValidatorId`
      
      * run up against child trie issues
      
      * switch to using normal trie but with a fixed prefix
      
      * clear out some println
      
      * add dedup test
      
      * flesh out historical module more
      
      * introduce ExposureOf for staking
      
      * test the historical module
      
      * WASM compiles
      
      * tests all compile
      
      * do some mock change
      
      * fix bulk of tests
      
      * fix staking tests
      
      * test obsolecence mechanic
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * some more style nits
      
      * a couple more nits
      
      * tweak tries
      
      * fix typo thie -> this
      60c54f0d
  3. Jul 05, 2019
  4. Jul 04, 2019
    • Bastian Köcher's avatar
      Make `wasm-builder` less spammy (#3020) · 120d7269
      Bastian Köcher authored
      * Don't clutter the output that much
      
      * Support building from `crates` or from `path`
      
      * Upgrade the versions
      
      * Update `Cargo.lock`
      120d7269
    • cheme's avatar
      Update trie dependencies. (#3017) · 263af0ae
      cheme authored
      * Update trie dependencies.
      
      * bump rutime impl version.
      263af0ae
    • David Craven's avatar
      Generic keystore (#3008) · 47586361
      David Craven authored
      * Add KeyTypeId.
      
      * Implement clone for sr25519::Pair.
      
      * Extend Pair with to_raw_vec.
      
      * Implement TypedKey for Signature and Pair.
      
      * Add trait Public.
      
      * Make keystore generic.
      
      * Fixup clone.
      
      * Fix tests.
      
      * Update service.
      
      * Fix imports.
      
      * Fix build.
      
      * Fix babe build.
      
      * Fix subkey build.
      
      * Make authority setup generic.
      
      * Update node-template.
      
      * Fix build.
      
      * Remove unsafe code.
      
      * Fix tests.
      47586361
    • David Craven's avatar
      Session keys buffered for a session. (#2946) · 47b09bc0
      David Craven authored
      * Session keys buffered for the duration of a session.
      
      * Add queued_keys getter.
      
      * Make sure genesis state is consistent.
      
      * Add validator_count validators.
      
      * Compensate for session delay.
      
      * Remove unused code.
      
      * Add num_validators option.
      
      * Fix session numbers.
      
      * Fix merge.
      
      * Reintroduce changed.
      
      * Update runtime.
      
      * Make NextKeyFor private.
      
      * Move block initialization to function.
      
      * Update lib.rs
      
      * Add test for change propagation.
      
      * Fix docstring.
      
      * Use get instead of take.
      
      * Initialize validators from keys.
      
      * Next try.
      
      * Fix build.
      
      * Fix warning.
      
      * Make initial validator selection more transparent.
      
      * Make storage items private.
      
      * Reorder genesis initialization.
      
      * Update Cargo.lock
      
      * Update runtime version.
      
      * Update runtime version.
      
      * Update Cargo.lock
      
      * Update runtime version.
      
      * Add docs.
      47b09bc0
    • Bastian Köcher's avatar
      Build WASM binaries as part of cargo build (#2868) · 108704a2
      Bastian Köcher authored
      
      
      * Introduce `wasm-builder` and `wasm-builder-runner` to retire `build.sh`
      
      Make use of `wasm-builder` in `test-runtime`.
      
      * Add build script and remove the wasm project
      
      * Port `node-runtime` to new wasm-builder
      
      * Make `substrate-executor` tests work with `wasm-builder`
      
      * Move `node-template` to `wasm-builder`
      
      * Remove `build.sh` :)
      
      * Remove the last include_bytes
      
      * Adds the missing build.rs files
      
      * Remove `build.sh` from CI
      
      * Debug CI
      
      * Make it work in CI
      
      * CI attempt 3
      
      * Make `substrate-runtime-test` compile on stable
      
      * Ahhh, some missed `include_bytes!`
      
      * AHH
      
      * Add suggestions
      
      * Improve search for `Cargo.lock` and don't panic if it is not found
      
      * Searching from manifest path was no good idea
      
      * Make the `wasm-builder` source better configurable
      
      * Expose the bloaty wasm binary as well
      
      * Make sure to rerun WASM recompilation on changes in dependencies
      
      * Introduce new `WASM_BUILD_TYPE` env and make sure to call `build.rs` on
      changes to env variables
      
      * Remove `build.sh` from READMEs
      
      * Rename the projects
      
      * Fixes CI
      
      * Update lock file
      
      * Fixes merge-conflict
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTriplEight <[email protected]>
      
      * Try to make windows happy
      
      * Replace all back slashes in paths with slashes
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Use cargo from `CARGO` env variable
      
      * Fix compilation
      
      * Use `rustup` for running the nightly build
      
      * Make individual projects skipable
      
      * Fix compilation
      
      * Fixes compilation
      
      * Build all WASM projects in one workspace
      
      * Replace more back slashes!
      
      * Remove `inlcude_bytes!`
      
      * Adds some documentation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * More review comments
      
      * Update `Cargo.lock`
      
      * Set license
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * More review comments + adds `TRIGGER_WASM_BUILD` env
      
      * Fix doc tests
      
      * Increase version + update README
      
      * Switch crates.io version of `wasm-builder`
      
      * Update README
      
      * Switch to released version of `wasm-builder-runner`
      108704a2
  5. Jul 03, 2019
    • DemiMarie-parity's avatar
      BABE Randomness using PreRuntime digests (#2929) · 56fd09cf
      DemiMarie-parity authored
      
      
      * Initial work on exposing pre-runtime digests
      
      This provides the primitive API, as well as exposing it from BABE.
      
      * Initial work on using pre-digests in runtimes
      
      This includes both code to expose them from `srml_system`, as well as
      using it in (currently dead) code in `srml_babe`.
      
      * Bump `{spec,impl}_version`
      
      * Add `u64_backend` feature to curve25519-dalek
      
      Otherwise, it errors out at compile-time.
      
      * Bump `Cargo.lock`
      
      * Do not depend on the schnorrkel crate in the runtime
      
      The schnorrkel crate does not work on `#![no_std]`, but the runtime only
      needs constants from it.  This adds our own definitions of those
      constants, and checks them for correctness at compile-time.
      
      * Actually implement storage of VRF outputs
      
      * Trivial formatting change
      
      * Provide a `hash_randomness` function in BABE
      
      for processing VRF outputs.
      
      * Implement a basic randomness generating function
      
      It just XORs the VRF outputs together.
      
      * Actually implement on-chain randomness
      
      Blake2b is used for hashing.
      
      * Update dependencies
      
      * Run `cargo update` where needed
      
      * Re-add a newline at EOF
      
      * Remove broken and unsafe code
      
      XOR is not a hash function, and must not be used as such.  The
      implementation was also needlessly unsafe.
      
      * Run `cargo update` where needed
      
      * Remove spurious dependency
      
      * Document security guarantees of BABE randomness
      
      * Add a `RandomnessBeacon` trait
      
      * Document `RandomnessBeacon::random`
      
      * Fix silly compile error (unexpected type arguments)
      
      * Fix BABE randomness
      
      * Implement `FindAuthor` for `babe::Module`
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Respond to suggestions from code review and fix bugs
      
      * Store an authority index, not the authority itself.
      * Avoid unnecessary decoding.
      * Implement relative slots and BABE randomness fully and correctly.
      
      * Remove spurious dependency
      
      * Fix error reported by rust-analyzer
      
      * Update Cargo.lock files
      
      * `wrapping_add` → `checked_add`
      
      The epoch index will not overflow.  Panic if it does.
      
      * Move randomness documentation to trait
      
      * Fix compile error in test suite
      
      * Explain 2^64 limit
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      56fd09cf
  6. Jul 02, 2019
    • asynchronous rob's avatar
      Fix periodic sessions and document behavior (#2974) · 5bf5e8f5
      asynchronous rob authored
      * Fix periodic sessions and document behavior
      
      * bump versions and test
      
      * Apply suggestions from code review
      
      * update docs
      
      * update docs again
      5bf5e8f5
    • Tomasz Drwięga's avatar
      Persistent Local Storage for offchain workers. (#2894) · 0e90af17
      Tomasz Drwięga authored
      
      
      * WiP.
      
      * Implement offchain storage APIs.
      
      * Change compare_and_set to return bool.
      
      * Add offchain http test.
      
      * Fix tests.
      
      * Bump spec version.
      
      * Fix warnings and test.
      
      * Fix compilation.
      
      * Remove unused code.
      
      * Introduce Local (fork-aware) and Persistent storage.
      
      * Fix borked merge.
      
      * Prevent warning on depreacated client.backend
      
      * Fix long lines.
      
      * Clean up dependencies.
      
      * Update core/primitives/src/offchain.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Update core/primitives/src/offchain.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      0e90af17
    • Jim Posen's avatar
      srml-contract: Validate that modules do not declare oversized tables. (#2969) · 4f73fe99
      Jim Posen authored
      * srml-contract: Validate that modules do not declare oversized tables.
      
      * Bump node runtime spec/impl versions.
      4f73fe99
    • Jim Posen's avatar
    • David Craven's avatar
      Turn storage items into parameters (#2883) · f835f9f6
      David Craven authored
      * balances: Turn storage items into parameters.
      
      * contract: Turn storage items into parameters.
      
      * council: Turn storage items into parameters.
      
      * finality-tracker: Turn storage items into parameters.
      
      * treasury: Turn storage items into parameters.
      
      * democracy: Fix tests.
      
      * example: Fix tests.
      
      * executive: Fix tests.
      
      * staking: Fix tests.
      
      * Update runtime.
      
      * Update template-node.
      
      * Update runtime version.
      
      * Fix executor tests.
      
      * Fix node cli tests.
      
      * Address grumbles.
      
      * Add removed default values to docs.
      
      * Make gas price a storage item.
      
      * Set associated consts must be callable outside of build.
      
      * Fix not enough gas to pay for transfer fee.
      
      * Fix build.
      
      * Emit metadata.
      
      * Fix build.
      
      * Add default values for all parameter types.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      f835f9f6
    • Gavin Wood's avatar
      Initial mechanics for 80:20 fee split (#2912) · c3f6617d
      Gavin Wood authored
      
      
      * Initial mechanics for 80:20 fee split
      
      Also:
      - Introduce extra functions for Imbalance manipulation;
      - Store treasury pot in an account, letting total issuance account for
        it.
      
      * Fix some tests
      
      * Fix some tests
      
      * Minor cleanups
      
      * Update parity-codec version (#2855)
      
      * Update parity-codec version
      
      * Update grandpa, rhododendron and trie-bench
      
      * Use primitive-types from crates.io
      
      * Bump impl version
      
      * Fix trie-bench version
      
      * Fix lock files
      
      * Fix versions
      
      * Update codec to 4.1
      
      * merge fix
      
      * Revert merge
      
      * More reversions
      
      * Remove accidental code
      
      * Update locks
      
      * Bump runtime
      
      * Update locks
      
      * Tweaks and label TODO
      
      * Update srml/treasury/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Update issue number
      
      * Update core/sr-primitives/src/traits.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Fix wasm build
      
      * Fix subkey build
      c3f6617d
  7. Jul 01, 2019
    • Bastian Köcher's avatar
      Make constants exposable in metadata (#2975) · c3be75da
      Bastian Köcher authored
      
      
      * Some cleanup
      
      * Add module constant metadata declaration
      
      * Begin to integrate the constants in `decl_module`
      
      * Fixes tests
      
      * Fix compilation and add tests
      
      * Remove duplicate code
      
      * Expose constants in democracy and staking + further fixes
      
      * Update srml/metadata/src/lib.rs
      
      Co-Authored-By: default avatarYJ <[email protected]>
      
      * Hide `RawEvent` metadata function
      
      * Prevent whitespaces in types
      
      * Fix `offchain_worker` and `constants` with instances
      
      * Up the `impl_version`
      
      * Fix macro
      
      * Incrase impl_version
      c3be75da
    • Niklas Adolfsson's avatar
      cargo update -p smallvec (#2983) · 13b4915c
      Niklas Adolfsson authored
      13b4915c
  8. Jun 28, 2019
    • Kian Peymani's avatar
      Enable staking equalise. (#2886) · e5a71e54
      Kian Peymani authored
      * Enable equalise.
      
      * Bump.
      
      * Line-width
      
      * Add benchmarks for equalise.
      
      * Line-width
      
      * Re-trigger CI.
      
      * Fix test.
      
      * Some nits.
      
      * Rename.
      
      * Bump.
      e5a71e54
  9. Jun 27, 2019
    • Jim Posen's avatar
      srml-contract: Contract refactors (#2924) · 563a7136
      Jim Posen authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * srml-contract: Refactor away unnecessary Option.
      
      * srml-contract: Add assertion to gas_left test.
      
      * srml-contract: Refactor try_evict_or_and_pay_rent to make tests pass.
      
      * srml-contract: Add tests and comments for bugs in rent payment logic.
      
      * srml-contract: Minor cleanup using GasMeter constructor.
      
      * Bump node runtime impl version.
      563a7136
    • Bastian Köcher's avatar
      Implement a proper generic resolution in `decl_storage!` (#2913) · da91f052
      Bastian Köcher authored
      
      
      * Add failing test case
      
      * move storage maps to blake2_128 (#2268)
      
      * remove default hash, introduce twox_128 and blake2
      
      * use blake2_128 & create ext_blake2_128
      
      * refactor code
      
      * add benchmark
      
      * factorize generator
      
      * fix
      
      * parameterizable hasher
      
      * some fix
      
      * fix
      
      * fix
      
      * fix
      
      * metadata
      
      * fix
      
      * remove debug print
      
      * map -> blake2_256
      
      * fix test
      
      * fix test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * impl twox 128 concat (#2353)
      
      * impl twox_128_concat
      
      * comment addressed
      
      * fix
      
      * impl twox_128->64_concat
      
      * fix test
      
      * Fix compilation and cleanup some docs
      
      * Lol
      
      * Remove traits from storage types that are not generic
      
      * Get instance test almost working as wanted
      
      * Make `srml-support-test` compile again :)
      
      * Fixes test of srml-support
      
      * Fix compilation
      
      * Break some lines
      
      * Remove incorrect macro match arm
      
      * Integrates review feedback
      
      * Update documentation
      
      * Fix compilation
      da91f052
    • Bastian Köcher's avatar
      Remove `Mutex` from `core-service` (#2961) · e8eaec1d
      Bastian Köcher authored
      * Remove `Mutex` from `core-service`
      
      * Fixes sync test
      e8eaec1d
  10. Jun 26, 2019
    • Pierre Krieger's avatar
      Remove tokio dependencies (#2935) · 2393e9b5
      Pierre Krieger authored
      * Remove dependencies on tokio
      
      * Make service not depend on tokio
      
      * Fix service tests
      
      * Manually poll the import queue if failed to start
      
      * Spawn all tasks at the end
      
      * Remove executor from TelemetryOnConnect
      
      * Remove TaskExecutor from offchain workers
      
      * Remove TaskExecutor from AuthoritySetup
      
      * Remove TaskExecutor from service
      
      * Remove tokio dependency from RPC
      
      * Remove finality-grandpa from WASM checks
      
      * Fix offchain tests
      
      * Line widths
      
      * Fix RPC tests
      
      * Fix service tests
      
      * Fix bad futures polling
      
      * Address some concerns
      
      * Better error handling
      
      * Is it the connectivity test that's not passing? I don't know, let's try
      
      * Revert "Is it the connectivity test that's not passing? I don't know, let's try"
      
      This reverts commit 28bbe51f.
      
      * Fix test
      2393e9b5
    • Stanislav Tkach's avatar
      Update codec version to the 4.1 version (#2948) · d6099e91
      Stanislav Tkach authored
      * Update codec version to the 4.1 version
      
      * Bump impl_version
      
      * Update lock files
      
      * Update codec to 4.1.1 version
      
      * Bump impl version
      d6099e91
    • Jim Posen's avatar
      srml-contract: Fix Gas type to u64 (#2944) · 827be5b5
      Jim Posen authored
      * srml-contract: Move gas costs from Config to Schedule.
      
      * srml-contract: Define Gas units fixed as u64.
      
      This removes Gas as a configurable type on the contracts Trait.
      
      * Bump node runtime spec/impl versions.
      827be5b5
    • thiolliere's avatar
      Update parity-scale codec minor version (#2951) · 57ec373f
      thiolliere authored
      * update parity-scale codec minor version
      
      * update to 3.5.3
      
      * update locks
      
      * increase impl version
      
      * Update to 3.5.4
      
      * Update WASM lockfiles
      57ec373f
  11. Jun 25, 2019
  12. Jun 24, 2019
  13. Jun 21, 2019
  14. Jun 20, 2019
    • Sergey Pepyakin's avatar
      Ditch the input buffer (#2911) · dfcc0850
      Sergey Pepyakin authored
      * Pass input data via the scratch buffer.
      
      Remove calls to ext_input_*.
      
      * Fix tests and docs
      
      * Bump the version.
      
      * Remove ext_input_* from COMPLEXITY.md
      
      * Return back the length check and add more comments
      
      * Update the documentation of the scratch buffer.
      
      * Fix a silly mistake.
      dfcc0850
  15. Jun 19, 2019
  16. Jun 18, 2019
  17. Jun 17, 2019