1. Jul 05, 2019
    • Bastian Köcher's avatar
      End build when `wasm-builder` does not find a prerequisite (#3030) · 0ed2b26c
      Bastian Köcher authored
      
      
      * End build when `wasm-builder` does not find a prerequisite
      
      Using `compile_error!` was a stupid idea by me, as rust would not
      re-execute the build.rs.
      
      * Increment the `wasm-builder` version
      
      * Update core/utils/wasm-builder/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      0ed2b26c
    • Pierre Krieger's avatar
      Rewrite the network TestNet (#3016) · 22ec13cf
      Pierre Krieger authored
      * Add a memory-only option for the network
      
      * Tests cleanup
      
      * Make grandpa/aura/babe compile
      
      * Aura and Babe tests now passing
      
      * More work on tests rewrite
      
      * Attempt to fix grandpa
      
      * Make more grandpa tests pass
      
      * More grandpa tests work
      
      * Work on sync tests
      
      * More work
      
      * light_peer_imports_header_from_announce passes
      
      * can_sync_small_non_best_forks passes
      
      * syncing_node_not_major_syncing_when_disconnected passes
      
      * blocks_are_not_announced_by_light_nodes passing
      
      * All sync tests passing 🎉
      
      * Some TestNet cleanup
      
      * Work on grandpa tests
      
      * More grandpa work
      
      * GrandPa work
      
      * Add check about block_import
      
      * Remove the temporarily added Sync
      
      * Fix network tests warnings
      
      * voter_persists_its_votes passes
      
      * Fix imports in network tests
      
      * Fix service tests
      
      * Call on_block_imported 🤷
      
      * Add shortcut
      
      * Finish using shortcut
      22ec13cf
    • Pierre Krieger's avatar
      Use bip39 from crates.io (#3029) · abf33fe4
      Pierre Krieger authored
      abf33fe4
    • Pierre Krieger's avatar
      Adjust the RPC service for the WASM-browser use case (#3013) · 8bca5212
      Pierre Krieger authored
      * Use SpawnTaskHandle to pass to the RPC
      
      * Create the RPC server in lib.rs
      
      * Create the RPC servers in a separate function
      
      * Keep a local version of the RPC handlers
      
      * Make rpc-servers compile for WASM
      
      * Add RpcSesssion
      
      * Clean up
      
      * Address review
      
      * Address pull request review
      8bca5212
    • André Silva's avatar
      grandpa: make observer relay round messages (#3021) · 13164304
      André Silva authored
      * grandpa: make observer relay round messages
      
      * grandpa: observer also notes next round
      
      * grandpa: no need to note commit round
      13164304
    • Pierre Krieger's avatar
      on_start now returns the precise elements to request (#3003) · a199a989
      Pierre Krieger authored
      * on_start now returns the precise elements to request
      
      * Fix test
      a199a989
  2. Jul 04, 2019
    • André Silva's avatar
      grandpa: round catchup messages (#2801) · d5bc7325
      André Silva authored
      
      
      * grandpa: initial structure for catch up messages
      
      * grandpa: answer catch up requests
      
      * grandpa: inject catch up messages into global stream
      
      * grandpa: keep track of pending catch up request
      
      * grandpa: block catchup until all referenced blocks are imported
      
      * grandpa: unify catch up and commit streams
      
      * grandpa: simplify communication stream/sink types
      
      * grandpa: note gossip validator on catch up message import
      
      * grandpa: fix cost on catch up message validation
      
      * grandpa: check signatures on catch up messages
      
      * grandpa: clean up catch up request handling state
      
      * grandpa: adjust costs on invalid catch up requests
      
      * grandpa: release lock before pushing catch up message
      
      * grandpa: validate catch up request against peer view
      
      * grandpa: catch up docs
      
      * grandpa: fix tests
      
      * grandpa: until_imported: add tests for catch up messages
      
      * grandpa: add tests for catch up message gossip validation
      
      * grandpa: integrate HistoricalVotes changes
      
      * grandpa: add test for neighbor packet triggering catch up
      
      * grandpa: add test for full voter catch up
      
      * grandpa: depend on finality-grandpa 0.8 from crates
      
      * granda: use finality-grandpa test helpers
      
      * grandpa: add PSM cost for answering catch up requests
      
      * grandpa: code style fixes
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * grandpa: more trailing commas
      
      * grandpa: lower cost of invalid catch up requests near set change
      
      * grandpa: process catch up sending on import of neighbor message
      
      * grandpa: add comments on HistoricalVotes
      
      * grandpa: use finality-grandpa v0.8.1 from crates.io
      
      * grandpa: fix test compilation
      d5bc7325
    • André Silva's avatar
      scripts: fix Dockerfile (#3025) · 90f214f0
      André Silva authored
      90f214f0
    • Bastian Köcher's avatar
      Make `wasm-builder` less spammy (#3020) · 7a2165cf
      Bastian Köcher authored
      * Don't clutter the output that much
      
      * Support building from `crates` or from `path`
      
      * Upgrade the versions
      
      * Update `Cargo.lock`
      7a2165cf
    • Bastian Köcher's avatar
    • cheme's avatar
      Update trie dependencies. (#3017) · fb8bb001
      cheme authored
      * Update trie dependencies.
      
      * bump rutime impl version.
      fb8bb001
    • Jim Posen's avatar
      srml-contract: Fail calls to removed contracts instead of succeeding. (#2968) · beea27b0
      Jim Posen authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * srml-contract: Refactor to reduce unnecessary storage lookups.
      
      * srml-contract: Fail calls to removed contracts.
      
      Previously, the calls would transfer funds and succeed without executing
      any code on the target account, which is unintuitive behavior.
      
      * Bump node runtime spec/impl versions.
      beea27b0
    • David Craven's avatar
      Generic keystore (#3008) · 51e345c9
      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.
      51e345c9
    • David Craven's avatar
      Session keys buffered for a session. (#2946) · 336053f7
      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.
      336053f7
    • Bastian Köcher's avatar
      Build WASM binaries as part of cargo build (#2868) · fe082214
      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`
      fe082214
    • Pierre Krieger's avatar
      Can now disable the keystore (#3004) · eca9c36b
      Pierre Krieger authored
      
      
      * Can now disable the keystore
      
      * Fix service test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix cli
      eca9c36b
  3. Jul 03, 2019
    • Bastian Köcher's avatar
      Downgrade `memory-db` in `test-runtime` to fix WASM compilation (#3010) · 4fe9e873
      Bastian Köcher authored
      * Downgrade `memory-db` in `test-runtime` to fix WASM compilation
      
      * Remove unneeded `memory-db` dependency
      
      * Update `Cargo.lock`
      4fe9e873
    • Bastian Köcher's avatar
      Allow where bounds on `decl_module!` and `decl_storage!` (#3000) · e9864b94
      Bastian Köcher authored
      * Introduces a `where` bound to `decl_macro!` and `decl_storage!`
      
      * More fixes
      
      * Adds documentation
      e9864b94
    • Bastian Köcher's avatar
      Implement `From` module `Call` for outer `Call` (#3006) · 5dc8792d
      Bastian Köcher authored
      * Implement `From` module `Call` for outer `Call`
      
      * Fixes compilation and add test
      5dc8792d
    • Pierre Krieger's avatar
      Implement Executor for Service and SpawnHandle (#3007) · fa535da0
      Pierre Krieger authored
      * Implement Executor for Service and SpawnHandle
      
      * Update lib.rs
      
      * Fix the race condition
      fa535da0
    • DemiMarie-parity's avatar
      BABE Randomness using PreRuntime digests (#2929) · 81d8a5d0
      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]>
      81d8a5d0
  4. Jul 02, 2019
  5. Jul 01, 2019
    • kaichao's avatar
      typo fix in core (#2987) · 3e2c77aa
      kaichao authored
      3e2c77aa
    • Roman Borschel's avatar
      Fix peer discovery delays. (#2982) · bd7566ef
      Roman Borschel authored
      * Fix DiscoveryBehaviour::poll.
      
      The previous implementation regularly returned `NotReady` from `poll`
      despite the inner Kademlia behaviour having events ready, thus letting
      the `poll`ing be largely driven by the task wakeups from the Delay for
      the next random Kademlia query, inducing major delays in consuming
      the ready Kademlia events and thus slowing progress.
      
      The discovery test now passes quickly, as expected.
      
      * Ensure the Delay is polled right after reset.
      
      For task wakeup.
      bd7566ef
    • Bastian Köcher's avatar
      Make constants exposable in metadata (#2975) · 7202403b
      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
      7202403b
    • Niklas Adolfsson's avatar
      cargo update -p smallvec (#2983) · 5f1538b8
      Niklas Adolfsson authored
      5f1538b8
  6. Jun 30, 2019
  7. Jun 29, 2019
  8. Jun 28, 2019
    • Kian Peymani's avatar
      Enable staking equalise. (#2886) · a57e649f
      Kian Peymani authored
      * Enable equalise.
      
      * Bump.
      
      * Line-width
      
      * Add benchmarks for equalise.
      
      * Line-width
      
      * Re-trigger CI.
      
      * Fix test.
      
      * Some nits.
      
      * Rename.
      
      * Bump.
      a57e649f