1. May 29, 2019
    • Tomasz Drwięga's avatar
      Remove InherentsPool and introduce non-propagateable transactions. (#2695) · 1ba2440b
      Tomasz Drwięga authored
      * Remove InherentsPool.
      
      * Introduce transactions that are not propagated over the network.
      
      * Bump spec version.
      
      * Use separate flag for propagation.
      
      * Fix tests.
      1ba2440b
    • Gavin Wood's avatar
      Maps are appendable too (#2716) · d9e7d7ce
      Gavin Wood authored
      
      
      * Maps are appendable too
      
      * Update srml/support/src/storage/hashed/generator.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update srml/support/src/storage/mod.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Fix docs
      
      * Make Appendable public
      
      * Bump runtime version
      d9e7d7ce
    • Kian Peymani's avatar
      Limited Unbonding Chunks. (#2700) · b1a951c7
      Kian Peymani authored
      * Limit number of unlocking chunks.
      
      * Bump.
      b1a951c7
    • thiolliere's avatar
      derive codec for inherent data (#2714) · 4ae25969
      thiolliere authored
      * derive codec for inherent data
      
      * increase spec version
      4ae25969
    • 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
  2. May 28, 2019
    • Michael Müller's avatar
      Transaction factory (#2481) · 7e7185ce
      Michael Müller authored
      
      
      * Fix typos
      
      * Add transaction factory
      
      `cargo run -- purge-chain -y --chain dev && cargo run -- --dev --transaction-factory 10`
      
      * Fix comment and remove build deps
      
      * Move crate to test-utils
      
      * Switch from flag to subcommand
      
      `cargo run -- factory --dev --num 5`
      
      * Decouple factory from node specifics
      
      * Introduce different manufacturing modes
      
      * Remove unrelated changes
      
      * Update Cargo.lock
      
      * Use SelectChain to fetch best block
      
      * Improve expect proof
      
      * Panic if factory executed with unsupported chain spec
      
      * Link ToDo comments to follow-up ticket
      
      * Address comments and improve style
      
      * Remove unused dependencies
      
      * Fix indent level
      
      * Replace naked unwrap
      
      * Update node/cli/src/factory_impl.rs
      
      * Fix typo
      
      * Use inherent_extrinsics instead of timestamp
      
      * Generalize factory and remove saturated conversions
      
      * Format imports
      
      * Make it clearer that database needs to be empty
      
      * Ensure factory settings
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update test-utils/transaction-factory/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix match guard syntax
      
      * Simplify import, remove empty line
      
      * Update node/cli/Cargo.toml
      
      * Update lockfile
      7e7185ce
    • Svyatoslav Nikolsky's avatar
      Remove BlockNumber <-> u64 conversions from light-client related code (#2666) · b5483b43
      Svyatoslav Nikolsky authored
      
      
      * Remove As usage from CHT
      
      * Remove As usage from CHT (continue)
      
      * Restrict BN <-> int conversions in CT
      
      * more BN <-> u64 conversions removed
      
      * upd spec_version
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * more grumbles
      
      * fix last grumbles + compilation
      
      * too long lines
      
      * too long lines
      b5483b43
    • Benjamin Kampmann's avatar
      Silence known deprecation warnings (#2651) · d8fc4485
      Benjamin Kampmann authored
      * Silence known deprecation warnings
      
      1. Prefixes known instances of usages of client.backend and client.import_lock with `#[allow(deprecated)]` to silence the warnings. 2. Remove file-global `#![allow(deprecated)]` used in these cases. Both to prevent us overlooking externally caused deprecation messages.
      
      * fixing missing ;
      
      * fix missing test cases
      
      * move deprecated markers to make CI happy
      
      * move deprecated markers to make CI happy
      
      * attempt to fix the test
      
      * bumping impl_version of node runtime
      
      * Minor cleanup
      d8fc4485
  3. 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
  4. May 23, 2019
  5. 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
  6. May 17, 2019
  7. May 15, 2019
  8. May 14, 2019
  9. May 13, 2019
    • Sergei Pepyakin's avatar
      Light client friendly events (#2491) · 318d2e0c
      Sergei Pepyakin authored
      * Sketch of indexed events.
      
      * Get EventIndex by holding another variable.
      
      * Add some docs.
      
      * Use DoubleMap to store reverse topic index
      
      * Implement StorageDoubleMap::append
      
      * Use append for EventTopics.
      
      * Refactor.
      
      * Avoid `mutate`
      
      * Docs.
      
      * Add topics to EventRecord
      
      * Update tests.
      
      * Rebuild.
      
      * Bump version.
      
      * Event topics test.
      
      * Mix in BlockNumber to distinguish updates
      
      * Fix srml-system test.
      
      * Post merge fixes.
      
      * Comments/TODO.
      318d2e0c
    • Joshy Orndorff's avatar
    • 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
  10. May 10, 2019
    • André Silva's avatar
      Bump master to v2.0.0 (#2514) · 6e67eff0
      André Silva authored
      * bump crates to v2.0.0
      
      * fix crate authors
      
      * bump node runtime spec_version
      
      * remove unused import for no-std
      6e67eff0
    • 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
    • Svyatoslav Nikolsky's avatar
      Create AuthoritiesChange digest item in correct block (#2512) · 0f24ba91
      Svyatoslav Nikolsky authored
      * finalize srml modules in reverse order
      
      * update runtime versions
      0f24ba91
    • thiolliere's avatar
      Allow modules to validate transaction, second attempt (#2463) · 6f01d646
      thiolliere authored
      
      
      * first impl
      
      * rename origin::inherent to none
      
      * fix
      
      * fix
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * comment
      
      * better error
      
      * doc
      
      * (add unsigned module 🤦)
      
      * doc
      
      * fix
      
      * implement for node-template as well
      
      * add validated unsigned to executor
      
      * fix
      
      * fix
      
      * bump version
      
      * testing xt
      
      * remove extraneous logic
      
      * licence
      
      * impl test
      6f01d646
    • 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
  11. May 09, 2019
  12. May 08, 2019
  13. May 07, 2019
  14. May 06, 2019
    • Gavin Wood's avatar
      Clean up random seed to make a bit more flexible (#2456) · 99c4f3a8
      Gavin Wood authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      
      
      * Reformulate random seed to be more random
      
      - First 80 random values come from cycling the incomplete series (
        instead of filling with zeroes)
      - Calculate random material each usage (use a single amalgamated
        ring buffer to store them for avoiding 81 lookups each time)
      - Mutate inputs by hashing each with:
        - its index (into the 81)
        - an additional "subject" key provided by caller
      
      This keeps the final output low-influence while still allowing
      it to be used as the seed to independent contexts. (Hashing the
      result to give the final seed is no better than using parent_hash).
      
      * Docs
      
      * Bump runtime
      
      * Update notes
      
      * Remove feature(alloc)
      
      * Update srml/system/src/lib.rs
      
      Co-Authored-By: default avatargavofyork <[email protected]>
      99c4f3a8
    • thiolliere's avatar
      optimize double map first key hash (#2451) · 44c25e44
      thiolliere authored
      * fix double map encoding it is now encoded as specified in the doc
      44c25e44
  15. May 04, 2019
  16. May 02, 2019
    • DemiMarie-parity's avatar
      BABE signing and verification (#2270) · cf4a28a7
      DemiMarie-parity authored
      
      
      * Add basic BABE consensus type
      
      * Update core/consensus/babe/slots/Cargo.toml
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Fix parameterization and run `rustfmt`
      
      * Respond to review comments
      
      * Update various Cargo.lock files
      
      * Revert "Update various Cargo.lock files"
      
      This reverts commit af53d762
      
      .
      
      * `BabeSealSignature` → `BabeSeal`
      
      * Move slot code to its own crate
      
      This was highly non-trivial, due to cyclic dependencies.
      
      * Remove redundancy between AuRa and BABE
      
      Some of the code duplication was removed using a macro.
      
      * Fix build error
      
      * Avoid non-`#[doc(hidden)]` re-exports
      
      Also, bump some library versions in `Cargo.toml`.
      
      * Remove dead code in AuRa
      
      * Remove impl_slot macro
      
      It was more trouble than it was worth.
      
      Also, delete useless dependencies on Serde.
      
      * AuRa and BABE need different DB keys
      
      * Bring back `aura::Network`, but deprecate it.
      
      * Improve docs and add `slot_duration` inherent method
      
      * Add docs to `substrate_consensus_aura::SlotDuration`
      
      * Add missing documentation and #![forbid(missing_docs, unsafe_code)]
      
      * Add a #![forbid(missing_docs)]
      
      * Remove dependency of `test-runtime` on `slots`
      
      * Update core/consensus/babe/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Remove wrongly added file
      
      * Fix copyright notice
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Bump `impl_version` and `spec_version`
      
      * Add more code to BABE
      
      Most of it is copied from AuRa code, but at least the initial core is
      there.
      
      * Stuck on horrible compiler error message
      
      * add missing files
      
      * Spaces → tabs
      
      * Simplify code
      
      * Fix compilation
      
      This involved fixing dependencies and adding a `Mutex`.
      
      * More work on BABE
      
      * Fix deprecation version
      
      * Fix deprecation version; remove spurious carets
      
      * Fix Cargo.toml
      
      * Implement VRF signing logic
      
      * The import queue code compiles, though it probably doesn’t work.
      
      * Add VRF verification
      
      * Update Cargo.lock
      
      * Update dependencies
      
      * Move test network to sr25519 authority keys
      
      * Fix accidental build bustage
      
      * Trying to get the tests to work
      
      * Add logging messages and remove dead code
      
      There seems to be a problem with the test network.  Since AuRa and BABE
      are both affected, this is most likely due to the switch from ed25519 to
      sr25519.
      
      * Trying to get the tests to work
      
      * Add logging messages and remove dead code
      
      There seems to be a problem with the test network.  Since AuRa and BABE
      are both affected, this is most likely due to the switch from ed25519 to
      sr25519.
      
      * Working testsuite at last!
      
      The problem was with serialization and deserialization.  Normally,
      those functions are generated automatically, but those for `BabeSeal`
      had to be written manually.  The hand-written versions were not
      correct, however, as shown by the decoder not being able to decode the
      output of the encoder.
      
      * Enable BabeSeal::Encode asserts in --release tests
      
      * Bump runtime and dependency versions
      
      * Fix wasm compilation
      
      The wasm build was broken because of a typo in
      `core/test-runtime/src/lib.rs`, and missing gates on the `std` feature
      in `core/consensus/{aura,babe}/primitives/Cargo.toml`.  Additionally,
      improve the quotation in the build scripts.
      
      * Merge Cargo.lock
      
      * Change expected JSON string
      
      The test was also broken on `master`, so I suspect that the test was
      incorrect.
      
      * Responded to review
      
      * Remove hard-coded threshold from production code
      
      A hard-coded threshold is now only used in tests.
      
      * Fix swapped doc comments
      
      * Fix unused import warnings
      
      * fix ci error
      
      * fix typo
      
      * Fix spacing in docs
      
      * Minor changes suggested by @joepetrowski
      
      on https://github.com/paritytech/substrate/pull/2372
      
      
      
      * Remove unnecessary getters
      
      * fix compile error
      
      * Fix silly unused-variable error
      
      * Improve documentation formatting
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Add issue links
      
      * Revert excess verbosity and #![forbid(warnings)]
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Reformat some comments
      
      * Threshold should depend on number of validators
      
      Also, respond to code review
      
      * Fix silly compilation errors
      
      * Reduce logging verbosity
      
      * Fix missing import
      cf4a28a7
  17. May 01, 2019