Skip to content
  1. Jul 27, 2019
  2. Jul 25, 2019
    • Sergey Pepyakin's avatar
      Fair reusing of wasm runtime instances (#3011) · f2571e8e
      Sergey Pepyakin authored
      * Add test from original bug report
      
      Original is from @pepyakin
      
       in 3d7b27f3421818e8d6de568e02fbc2947a06246b.
      I adapted it to work with the latest master.
      
      * No longer cleanup module instance
      
      * Replace runtime cache with synchronous clone
      
      * Fix test
      
      * Preserve initial runtime memory and restore it on fetch
      
      * Remove leftover comment
      
      * Fix style
      
      * Improve variable naming
      
      * Replace get_into() with get()
      
      * Handle missing memory export better
      
      * Return earlier when creating runtime first time
      
      * Improve comments
      
      * fmt
      
      * Fix #2967.
      
      * Eradicate `code` from `Error::InvalidCode`
      
      * tidy
      
      * A state snapshot doc.
      
      * Store multiple runtimes by hash.
      
      * Get rid of deref.
      
      * Docs
      
      * Use Self for instantiate_module
      
      * REVERT ME
      
      * Should be ok
      
      * Commit
      
      * Remove dbg
      
      * Use fast-memory's erase
      
      * Clean and undo hacks.
      
      * Introduce a dedicated error for heap_base
      
      * Ban the start function.
      
      * Clean, docs and refactor
      
      * Add rustflags.
      
      * Update Cargo.lock
      
      * Apply Basti's suggestions
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Rename allocates_huge_stack_array
      
      * Extend TestClientBuilder with set_heap_pages
      
      * Update the test.
      
      * Update core/executor/src/wasm_executor.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/wasm_runtimes_cache.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/error.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/executor/src/error.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix tests.
      
      * Update cargo-lock
      
      * Use wasmi master
      
      * Use master wasmi
      
      * Move tests.
      
      * Use wasmi crates.io
      
      * Update Cargo.lock
      
      * Fix build.rs
      
      * Bump runtime version
      
      * Revert initial_heap_pages renaming
      
      * Bump wasmi up to 0.5.0
      
      * Bump runtime version
      
      * Don't restore an instance every now and then
      
      * Update core/executor/src/wasm_runtimes_cache.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Propagate error in CacheError
      
      * Clarify the get_heap_base call in instantiation
      
      * Supply --export=__heap_base
      
      See https://reviews.llvm.org/D62744
      
      Co-authored-by: default avatarJim Posen <[email protected]>
      
      * Bump version.
      
      * Use combinators for segments.
      
      * Fix build.rs
      
      * Fix build.rs for runtime-test
      f2571e8e
  3. Jul 24, 2019
    • André Silva's avatar
      Use BABE instead of AuRa in node (#3171) · 8b7d0fb9
      André Silva authored
      * babe: add babe module trait
      
      * babe: track current slot and epoch start slot
      
      * babe: implement ShouldEndSession based on epochs
      
      * babe: rename weight type to avoid ambiguities
      
      * babe: expose epoch start slot in Epoch digest
      
      * babe: use epoch start for validating epoch transitions
      
      * babe: make the epoch duration a parameter type
      
      * babe: remove unused fields from config
      
      * node: update runtime to use babe instead of aura
      
      * node: use babe instead of aura
      
      * core: generate sr25519 keys from seed and add to keystore
      
      * core: remove AuthorityKeyring
      
      * node: remove unused primitive types related to babe crypto
      
      * uniform babe primitives crate import name
      
      * wrap long lines
      
      * babe: fix find_epoch_digest
      
      * fork-tree: fix find_node_where
      
      * node: set babe epoch duration to "10 minutes"
      
      * babe: cleanup import key cache if authorities don't change
      
      * node: make integration test compile (but fail)
      
      * node: bump spec_version
      
      * node: fix import
      
      * babe: don't use constants in storage fields array sizes
      
      * babe: account for first epoch slot way in the past
      
      * babe: signal next epoch change (not current)
      
      * babe: calculate next epoch randomness with next epoch index
      
      * babe: track next epoch in node
      
      * babe: cache current epoch and authorities separately
      
      * babe: generate valid babe vrf proofs in integration test
      
      * babe: cleanup claim_slot
      
      * babe: perform threshold calculation according to spec
      
      * babe: compute relative weight in threshold
      
      * babe: more precise threshold calculation
      
      * babe: use floats for threshold exponent calculation
      
      * babe: update constant c
      8b7d0fb9
  4. Jul 23, 2019
    • DemiMarie-parity's avatar
      BABE Epochs (#3028) · a626ba78
      DemiMarie-parity authored and asynchronous rob's avatar asynchronous rob committed
      
      
      * Add `epoch` field to `SlotInfo`
      
      * Add slot calculations
      
      * More work on epochs in BABE
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Typo: `/` not `%` for division
      
      * Delete useless `LastSlotInEpoch::put(false)`
      
      * Bump `spec_version`
      
      * Make test suite pass again
      
      * Implement BABE epoch randomness signing
      
      * Try to fix compilation
      
      Currently causes a stack overflow in the compiler
      
      * Fix rustc stack overflow
      
      * Add missing `PartialEq` and `Eq` implementations
      
      * Fix compile errors in test suite
      
      * Another silly compile error
      
      * Clone `epoch`
      
      * Fix compile error in benchmarks
      
      * Implement `clone` for `Epoch`
      
      * Merge master
      
      * AUTHORING TEST PASSES!!!
      
      * Fix compilation
      
      * Bump `spec_version`
      
      * Fix compilation
      
      * Fix compilation (again)
      
      * Remove an outdated FIXME
      
      * Fix run.sh and move it to scripts/
      
      * Delete commented-out code
      
      * Fix documentation
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Fix BABE initialization and refactor
      
      * Respond to review
      
      * typo
      
      * Remove useless data in `CheckedHeader::Deferred`
      
      * Remove `slot_number` from Epoch
      
      It is not needed, and only served to waste space and cause confusion.
      
      * Remove epoch from BABE digests
      
      * Move digest.rs to primitives
      
      * Fix incorrect warning names
      
      * Fix compile error
      
      * Consistent field naming for BABE digests
      
      * More compiler error fixex
      
      * Unbound variable
      
      * more compile errors
      
      * another compile error
      
      * Fix compile errors in runtime
      
      * another compile error
      
      * Another compile error
      
      * Fix wasm build
      
      * missing import
      
      * Fix more compile errors
      
      * yet another compile error
      
      * compile fix in test runtime
      
      * Fix and simplify the BABE runtime
      
      The BABE runtime was massively overcomplicated and also wrong.  It
      assumed it needed to:
      
      1. delay new authorities taking effect until the next epoch
      2. not delay emitting `Consensus` digests to mark epoch changes
      
      However, the first is handled by the `srml_session` crate, and the
      second is flat-out incorrect: `Consensus` digests take effect
      immediately.  Furthermore, `srml_babe` tried to duplicate the
      functionality of `srml_session::PeriodicSession`, but did it both
      clumsily and incorrectly.  Fortunately, the new code is simpler and far
      more likely to be correct.
      
      * Use `system` to get the test authorities
      
      The genesis block used by tests defines no authorities.  Only the test
      suite is affected.
      
      * Fix test runtime impl for BabeApi::epoch() with std
      
      * Fix compilation
      
      * Cached authorities are in the form of an epoch
      
      not a `Vec<AuthorityId>`.
      
      * `slots_per_epoch` is not fixed in general
      
      The BABE code previously assumed `slots_per_epoch` to be a constant,
      but that assumption is false in general.  Furthermore, removing this
      assumption also allows a lot of code to go away.
      
      * fix compile error
      
      * Implement epoch checker
      
      * Fix runtime compilation
      
      * fork-tree: add method for finding a node in the tree
      
      * babe: register epoch transitions in fork tree and validate them
      
      * fork-tree: add method for arbitrary pruning
      
      * Expose the queued validator set to SRML modules
      
      BABE needs to know not only what the current validator set is, but also
      what the next validator set will be.  Expose this to clients of the
      session module.
      
      * Bump hex-literal
      
      Hopefully this will fix the panic
      
      * babe: prune epoch change fork tree on finality
      
      * babe: validate epoch index on transition
      
      * babe: persist epoch changes tree
      
      * Fix compile error in tests
      
      * Fix compile error in tests
      
      * Another compile error in tests
      
      * Fix compilation of tests
      
      * core: move grandpa::is_descendent_of to client utils
      
      * babe: use is_descendent_of from client utils
      
      * babe: extract slot_number from pre_digest in import_block
      
      * Move BABE testsuite to its own file
      
      * Initial part of test code
      
      * Missing `WeightMultiplierUpdate` in test-runtime
      
      * bump `spec_version`
      
      * Add a test that a very bogus is rejected
      
      * Run the tests again
      
      * Fix compiler diagnostics
      
      * Bump `spec_version`
      
      * Initial infrastructure for mutation testing
      
      * Mutation testing of block import
      
      * babe: revert epoch changes in case of block import error
      
      * babe: fix logging target
      
      * babe: BabeBlockImport doesn't box inner BlockImport
      
      * babe: fix epoch check in block import
      
      * babe: populate authorities cache on block authorship
      
      * babe: remove unused functions
      
      * babe: use RANDOMNESS_LENGTH const
      
      * babe: remove unneeded config parameters
      
      * core: revert change to hex dependency version
      
      * cleanup gitignore
      
      * babe: add docs to aux_schema
      
      * babe: remove useless drops in tests
      
      * babe: remove annoying macos smart quotes
      
      * fork-tree: docs
      
      * fork-tree: add tests
      
      * babe: style
      
      * babe: rename randomness config variable
      
      * babe: remove randomness helper function
      
      * babe: style fixes
      
      * babe: add docs
      
      * babe: fix tests
      
      * node: bump spec_version
      
      * babe: fix tests
      a626ba78
  5. Jul 21, 2019
  6. Jul 18, 2019
  7. Jul 15, 2019
    • André Silva's avatar
      client: Reorg to new best when finalizing divergent branch (#2869) · b6e6707e
      André Silva authored
      * client: add tests for reorging on diverged finality
      
      * client: mark finalized block as best if diverged from current best chain
      
      * client: update meta on set_head
      
      * core: add docs about SelectChain to finalize_block
      
      * client: improve finality reorg test
      
      * client: LongestChain doesn't return client best block
      
      * client: LongestChain searches canonical chain
      b6e6707e
  8. Jul 11, 2019
  9. Jul 09, 2019
    • 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
    • Tomasz Drwięga's avatar
      [offchain] Support for sign & verify for crypto keys (#3023) · 4dc625ff
      Tomasz Drwięga authored
      * Implement sign & verify.
      
      * Use phrases and password.
      
      * Sign & verify with authority keys.
      
      * Fix tests.
      
      * WiP
      
      * WiP
      
      * Allow the caller to decide on 'CryptoKind'.
      
      * Remove TODO.
      
      * Make seed private back.
      
      * Fix non-std build and bump version.
      
      * Use Into<u32> instead of asses.
      
      * Add missing typedef.
      4dc625ff
  10. Jul 04, 2019
    • 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
  11. Jul 02, 2019
    • 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
  12. Jul 01, 2019
  13. Jun 26, 2019
    • cheme's avatar
      Additional state check. (#2915) · 08707e35
      cheme authored
      
      
      * check resulting state root on import.
      
      * get root from last method.
      
      * Fix test runtime (was changing state after root calculation).
      
      * Do reset new authorities (just take before root calculation).
      
      * bump impl runtime version.
      
      * Update core/sr-api-macros/tests/trybuild.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      08707e35
  14. Jun 19, 2019
  15. Jun 14, 2019
    • Gavin Wood's avatar
      New sessions, kill consensus module (#2802) · dbf32262
      Gavin Wood authored
      
      
      * Draft of new sessions
      
      * Reintroduce tuple impls
      
      * Move staking module to new session API
      
      * More work on staking and grandpa.
      
      * Use iterator to avoid cloning and tuple macro
      
      * Make runtime build again
      
      * Polish the OpaqueKeys devex
      
      * Move consensus logic into system & aura.
      
      * Fix up system module
      
      * Get build mostly going. Stuck at service.rs
      
      * Building again
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Refactoring out Consensus module, AuthorityIdOf, &c.
      
      * Refactored out DigestItem::AuthoritiesChanged. Building.
      
      * Remove tentative code
      
      * Remove invalid comment
      
      * Make Seal opaque and introduce nice methods for handling opaque items.
      
      * Start to use proper digest for Aura authorities tracking.
      
      * Fix up grandpa, remove system::Raw/Log
      
      * Refactor Grandpa to use new logging infrastructure.
      
      Also make authorityid/sessionkey static. Switch over to storing
      authorities in a straight Vec.
      
      * Building again
      
      * Tidy up some AuthorityIds
      
      * Expunge most of the rest of the AuthorityKey confusion.
      
      Also, de-generify Babe and re-generify Aura.
      
      * Remove cruft
      
      * Untangle last of the `AuthorityId`s.
      
      * Sort out finality_tracker
      
      * Refactor median getting
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Session tests works
      
      * Update core/sr-primitives/src/generic/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Session tests works
      
      * Fix for staking from @dvc94ch
      
      * log an error
      
      * fix test runtime build
      
      * Some test fixes
      
      * Staking mock update to new session api.
      
      * Fix build.
      
      * Move OpaqueKeys to primitives.
      
      * Use on_initialize instead of check_rotate_session.
      
      * Update tests to new staking api.
      
      * fixup mock
      
      * Fix bond_extra_and_withdraw_unbonded_works.
      
      * Fix bond_with_little_staked_value_bounded_by_slot_stake.
      
      * Fix bond_with_no_staked_value.
      
      * Fix change_controller_works.
      
      * Fix less_than_needed_candidates_works.
      
      * Fix multi_era_reward_should_work.
      
      * Fix nominating_and_rewards_should_work.
      
      * Fix nominators_also_get_slashed.
      
      * Fix phragmen_large_scale_test.
      
      * Fix phragmen_poc_works.
      
      * Fix phragmen_score_should_be_accurate_on_large_stakes.
      
      * Fix phragmen_should_not_overflow.
      
      * Fix reward_destination_works.
      
      * Fix rewards_should_work.
      
      * Fix sessions_and_eras_should_work.
      
      * Fix slot_stake_is_least_staked_validator.
      
      * Fix too_many_unbond_calls_should_not_work.
      
      * Fix wrong_vote_is_null.
      
      * Fix runtime.
      
      * Fix wasm runtime build.
      
      * Update Cargo.lock
      
      * Fix warnings.
      
      * Fix grandpa tests.
      
      * Fix test-runtime build.
      
      * Fix template node build.
      
      * Fix stuff.
      
      * Update Cargo.lock to fix CI
      
      * Re-add missing AuRa logs
      
      Runtimes are required to know about every digest they receive ― they
      panic otherwise.  This re-adds support for AuRa pre-runtime digests.
      
      * Update core/consensus/babe/src/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Kill log trait and all that jazz.
      
      * Refactor staking tests.
      
      * Fix ci runtime wasm check.
      
      * Line length 120.
      
      * Make tests build again
      
      * Remove trailing commas in function declarations
      
      The `extern_functions!` macro doesn’t like them, perhaps due to a bug in
      rustc.
      
      * Fix type error
      
      * Fix compilation errors
      
      * Fix a test
      
      * Another couple of fixes
      
      * Fix another test
      
      * More test fixes
      
      * Another test fix
      
      * Bump runtime.
      
      * Wrap long line
      
      * Fix build, remove redundant code.
      
      * Issue to track TODO
      
      * Leave the benchmark code alone.
      
      * Fix missing `std::time::{Instant, Duration}`
      
      * Indentation
      
      * Aura ConsensusLog as enum
      dbf32262
    • cheme's avatar
      Add storage cache for child trie and notification internals (#2639) · 879e4a89
      cheme authored
      
      
      * child cache, and test failing notifications
      
      * fix tests and no listen child on top wildcard
      
      * remove useless method
      
      * bump impl version
      
      * Update core/client/src/notifications.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update core/client/src/notifications.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update core/client/src/notifications.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update core/client/src/notifications.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * factoring notification methods to remove some redundant code.
      
      * test child sub removal
      
      * HStorage implementation and some type alias.
      
      * Remove HStorage cache: does not fit
      
      * fix removal
      
      * Make cache use byte length (shared) instead of number of kv
      
      * Make use of hashes cache in rpc
      
      * applying ratio on different lru caches
      
      * Fix format
      
      * break a line
      
      * Remove per element overhead of lru cache.
      
      * typo
      879e4a89
  16. Jun 11, 2019
  17. Jun 06, 2019
  18. Jun 05, 2019
    • Svyatoslav Nikolsky's avatar
      Light client integration tests (#2638) · 21e63bc3
      Svyatoslav Nikolsky authored
      * add light nodes to test_sync && test_consensus
      
      * forbid light2light connections
      
      * add light nodes to test_connectivity
      
      * fixed light2light connection penalty
      
      * post-merge fixes
      
      * remove best_queued from Client info
      21e63bc3
    • Benjamin Kampmann's avatar
      Move import lock onto backend (#2797) · 3c2e55bd
      Benjamin Kampmann authored
      * Drop import_lock from client, move it into backend, impl default version via static mutex
      
      * still need to allow depcretion because of client.backend
      
      * additional docs
      
      * Remove default impl of get_import_lock, impl on instances
      
      * Bump parking_lot to 0.8.0 accross the board
      3c2e55bd
    • Bastian Köcher's avatar
      Build `LongestChain` with `TestClientBuilder` (#2792) · 70cf5b0f
      Bastian Köcher authored
      * Switch to `TestClientBuilder` and support generating LongestChain
      
      * Make sure test-client works without the wasm blob
      
      * Use `TestClientBuilder` in more places
      70cf5b0f
  19. Jun 04, 2019
  20. May 31, 2019
    • Tomasz Drwięga's avatar
      Offchain-worker APIs stubs (#2615) · c93ca93e
      Tomasz Drwięga authored
      * WiP: HTTP Apis.
      
      * Working on the API.
      
      * Add docs, clean up the API.
      
      * Expose ext_ stuff as well.
      
      * Implement HTTP helpers for offchain sr-io.
      
      * Remove HTTP stuff.
      
      * Revert "Remove HTTP stuff."
      
      This reverts commit 7cca029d.
      
      * HTTP apis.
      
      * Additional offchain methods.
      
      * Make it compile.
      
      * Implement wasm-ext boundary of offchain methods.
      
      * Add stubs for offchain stuff to prevent panics.
      
      * Fix tests.
      
      * Addres some more issues.
      
      * Introduce typedef, use unsafe from_utf8
      
      * Bump runtime version.
      
      * Introduce error to distinguish deadline and io errors.
      
      * Add local_storage_cas
      
      * Some tests for offchain stuff.
      
      * Address more grumbles.
      
      * Fix tests compilation.
      
      * Fix borked merge.
      
      * Improve docs for expected return values from ext functions.
      
      * Adding new sign/enrypt/decrypt APIs.
      c93ca93e
  21. May 29, 2019
    • DemiMarie-parity's avatar
      Introduce inherent digests (#2466) · 6e253c89
      DemiMarie-parity authored
      
      
      * Introduce inherent digests
      
      * Implement inherent digests
      
      * fix silly error
      
      * Implementation of inherent digests in BABE
      
      All tests pass. There are still limitations:
      
      1. The runtime strips out inherent digests, so BABE must re-add them.
      2. The test runtime checks that it can re-compute all digests.  It
         can’t, so I had to comment out that test.
      
      * Fix compilation and seal import
      
      Seals were not imported correctly: the pre-digest was imported twice,
      instead of both it and the seal being imported.  Also, other parts of
      the code did not compile due to incomplete refactoring.
      
      * Remove bogus assertion
      
      * Fix testsuite compilation
      
      * Remove unused import
      
      * Fix compiler diagnostics
      
      * Add inherent digest parameters to block constructors
      
      This enforces that inherent digests are added first.
      
      * Fixup Cargo.lock
      
      * Fix build errors
      
      * Re-add an incorrectly removed import
      
      * Bump primitive-types version
      
      * Update Cargo.lock
      
      * Refactoring
      
      * Use inherent digests for AuRa
      
      They do reach the runtime, but get stripped.  I have not figured out
      where.
      
      * Fix compilation errors
      
      * Fix compilation errors due to incorrect types
      
      * Fix whitespace
      
      Suggested-by: default avatarTomasz Drwiega <[email protected]>
      
      * Add preamble
      
      Suggested-by: default avatarTomasz Drwiega <[email protected]>
      
      * Fix silly compile error
      
      * Refactor pre-digest finding code into a separate function
      
      * Remove unwanted assertion
      
      It is too likely to bring down the entire blockchain.
      
      Suggested-by: default avatarTomasz Drwiega <[email protected]>
      
      * Use `find_pre_digest` after runtime, too
      
      Also, use `Member` trait rather than rolling our own requirements.
      
      Suggested-by: default avatarTomasz Drwiega <[email protected]>
      
      * Fix various warnings
      
      mostly due to upgrading the dependency on `error_chain`.
      
      * Pre-digests nearly complete
      
      This nearly completes the implementation of pre-runtime digests.
      
      * `Seal2` → `Seal` and fix test suite
      
      * Try to fix the storage error
      
      * Try to fix storage (again)
      
      * Fix tests
      
      * Hopefully finish pre-runtime digests
      
      The key is to pass *only* the pre-runtime digests to the runtime.  The
      others must be stripped out by `initialize_block`.
      
      * Fix silly typo
      
      * Fix another silly mistake
      
      * Remove unnecessary filtering of BABE pre-digests
      
      We no longer get duplicate BABE pre-digests, so if they appear, the
      header should be rejected outright.
      
      * Update Cargo.lock files
      
      * Reformatting
      
      * Fix silly typo in inherent digest code
      
      Also, revert `error.rs` files that contained calls to the `error_chain!`
      macro.
      
      * Try to keep the runtime from stripping pre-digests
      
      Currently runs into the “Storage root must match that calculated”
      assertion.
      
      * Don’t compute storage root until storage changes are done.
      
      Also, fix a compilation error.
      
      * Fix compile-time error
      
      * Fix compilation errors
      
      * Fix more compile errors
      
      * Hopefully it compiles this time…
      
      * Fix compilation and add docs
      
      * Prevent BABE from adding duplicate pre-runtime digests
      
      Found by comparing with the AuRa code.  I also did some refactoring.
      
      * Respond to review and fix some warnings
      
      * Delete some dead code introduced earlier
      
      * More dead code goes away
      
      * `ref mut` → `&mut`
      
      * Respond to review and fix some warnings
      
      * Fix compilation error
      
      * Remove unneeded `HashT` type parameter
      
      Suggested-by: default avatarRobert Habermeier <[email protected]>
      
      * Remove spurious #[allow(deprecated)]
      
      * Document inherent digest parameter to `build_block`
      
      * Delete `Simple` trait
      
      It wasn’t needed
      
      * delete wrongly added files
      
      * Fix trait bounds
      
      * Digest serialization tests
      
      I also did some reformatting and cleanup.
      
      * Apply suggestions from code review
      
      Reformatting
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Swap two arguments to `propose` and `propose_with`
      
      Also, remove some needless unsafe code.
      
      * Remove bogus `#![allow(deprecated)]` annotations
      
      With the removal of the deprecated `Seal` variant, these are not needed.
      
      * Add a missing `#[allow(deprecated)]` in the AuRa tests
      
      * Fix silly compile error
      
      * Fix silly compiler error
      
      RLS did not tell me that I hadn’t fixed `babe/lib.rs`, so I missed it.
      
      * Fixes made automatically by Cargo
      6e253c89
  22. May 28, 2019
  23. May 24, 2019
    • Tomasz Drwięga's avatar
      Expunge error-chain (feat. tomaka) (#2662) · d713fbc3
      Tomasz Drwięga authored
      * Remove error_chain
      
      * Expunge error-chain from rpc and service.
      
      * Expunge from transaction pool.
      
      * Expunge from node/cli
      
      * Expunge from keystore.
      
      * Remove some boilerplate.
      
      * Fix remaining stuff.
      
      * Improve on deprecation message.
      
      * Fix issues.
      
      * Fix trnsaction pool tests.
      
      * Fix the rest.
      
      * Fix borked merge.
      
      * Update lock
      d713fbc3
  24. May 22, 2019
    • Gavin Wood's avatar
      Remove `As` (#2602) · 1e3fd718
      Gavin Wood authored
      
      
      * Start to remove the `As` bound on `SimpleArtithmetic`
      
      This just introduces standard numeric bounds, assuming a minimum of
      `u32`. Also included is a saturating from/into trait allowing ergonomic
      infallible conversion when you don't care if it saturates.
      
      * Remove As from Balances trait
      
      * Remove As from Aura module
      
      * Remove As from Babe module
      
      * Expunge `As` from contract
      
      * Council module
      
      * Democracy
      
      * Finality tracker
      
      * Grandpa
      
      * First bit of indices
      
      * indices
      
      * Line lengths
      
      * session
      
      * system
      
      * Staking
      
      * Square up all other uses of As.
      
      * RHD update
      
      * Fix build/test
      
      * Remove As trait
      
      * line widths
      
      * Remove final As ref
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/client/src/cht.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/client/db/src/light.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * whitespace
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * Bring back u32 check for number on CLI
      1e3fd718
  25. May 19, 2019
    • Tomasz Drwięga's avatar
      Access child storage over RPC. (#2586) · c8c7cfd2
      Tomasz Drwięga authored
      * Access child storage over RPC.
      
      * Address review grumbles.
      
      * Test happy case in child_storage rpc.
      
      * Remove stray printlns
      
      * Fix line widths.
      
      * Bump runtime again.
      
      * Fix genesis storage root calculation for light clients.
      
      * Don't pass values to full_storage_root child_delta.
      c8c7cfd2
  26. May 18, 2019
    • Niklas Adolfsson's avatar
      feat(light client): fetch block body from remote (#2527) · 8ac5cad1
      Niklas Adolfsson authored
      * feat(on_demand): block body request
      
      * fix(light block req): no justific + one block
      
      * fix(bad rebase)
      
      * feat(protocol): add messages for `remote_body`
      
      * fix(on demand body): remove needless `take()`
      
      * fix(network): remove messages for `on_demand_body`
      
      * fix(grumbles): use `hash` in `remote_body_requests`
      
      As long as we can't compute `ordered_trie_root(body)` just compare that request.header.hash() == response.header.hash()
      
      * fix(grumbles): `hdr.ext_root == trie_root(body)`
      
      * fix(grumbles): propogate `Err` in `fn body()`
      
      * fix(grumbles): Vec<Block::Extrinsic>
      
      * fix(grumbles): util_fn for `not_impl` in tests
      
      * fix(on remote body): tests `fetch` and `on_demand`
      
      * docs(resolve todos)
      8ac5cad1
  27. May 13, 2019
    • Svyatoslav Nikolsky's avatar
      Light GRANDPA import handler (#1669) · 2b241014
      Svyatoslav Nikolsky authored
      * GrandpaLightBlockImport
      
      * extract authorities in AuraVerifier
      
      * post-merge fix
      
      * restore authorities cache
      
      * license
      
      * new finality proof draft
      
      * generalized PendingJustifications
      
      * finality proof messages
      
      * fixed compilation
      
      * pass verifier to import_finality_proof
      
      * do not fetch remote proof from light import directly
      
      * FinalityProofProvider
      
      * fixed authorities cache test
      
      * restored finality proof tests
      
      * finality_proof docs
      
      * use DB backend in test client
      
      * justification_is_fetched_by_light_client_when_consensus_data_changes
      
      * restore justification_is_fetched_by_light_client_when_consensus_data_changes
      
      * some more tests
      
      * added authorities-related TODO
      
      * removed unneeded clear_finality_proof_requests field
      
      * truncated some long lines
      
      * more granular light import tests
      
      * only provide finality proof if it is generated by the requested set
      
      * post-merge fix
      
      * finality_proof_is_none_if_first_justification_is_generated_by_unknown_set
      
      * make light+grandpa test rely on finality proofs (instead of simple justifications)
      
      * empty_finality_proof_is_returned_to_light_client_when_authority_set_is_different
      
      * missing trait method impl
      
      * fixed proof-of-finality docs
      
      * one more doc fix
      
      * fix docs
      
      * initialize authorities cache (post-merge fix)
      
      * fixed cache initialization (post-merge fix)
      
      * post-fix merge: fix light + GRANDPA tests (bad way)
      
      * proper fix of empty_finality_proof_is_returned_to_light_client_when_authority_set_is_different
      
      * fixed easy grumbles
      
      * import finality proofs in BlockImportWorker thread
      
      * allow import of finality proofs for non-requested blocks
      
      * limit number of fragments in finality proof
      
      * GRANDPA post-merge fix
      
      * BABE: pos-merge fix
      2b241014
  28. May 10, 2019
    • cheme's avatar
      Child trie storage proof (#2433) · f87a4939
      cheme authored
      * proof on child trie
      
      * higher level api for child storage proof
      
      * boilerplate for proof from light fetch
      
      * actually check proof on light fetch
      
      * Do not break former encoding
      
      * tabify
      
      * tabify2
      
      * Add child trie root tx to full_storage_root transaction.
      
      * Shorten long lines.
      
      * Temp rename for audit
      
      * Make full_storage a trait method
      
      * Name back and replace some code with full_storage where it looks fine.
      
      * fix indentations, remove unused import
      
      * flush child root to top when calculated
      
      * impl +1
      f87a4939
    • Benjamin Kampmann's avatar
      Allow for customisation of chain selection systems (#2240) · 77c10cd4
      Benjamin Kampmann authored
      
      
      * move SelectChain trait out of client
      
      * Extend SelectChain, move longest chain implementation into it
      
      * Bring SelectChain into service
      
      * implement LongestChain SelectChain
      
      * implement longest chain for node
      
      * update Cargo.lock's
      
      * in between erroring tests
      
      * deprecate ::backend and ::import_lock
      
      * Remove unneded space
      
      Co-Authored-By: default avatargnunicorn <[email protected]>
      
      * Remove unneded space
      
      Co-Authored-By: default avatargnunicorn <[email protected]>
      
      * Fixes test compilation
      
      * remove todo
      
      * re-enable client test
      
      * add doc
      
      * fixing tests
      
      * Clarify SelectChain Interface, intended implementation and usage
      
      * minor components cleanups
      
      * minor cleanups
      
      * Update lock files
      
      * Implement cleaner interface for SelectChain
      
      * addressing comments
      
      * Updating tests
      
      * bump node runtime impl version
      
      * address grumbles
      77c10cd4
  29. May 08, 2019