1. May 29, 2019
    • DemiMarie-parity's avatar
      Introduce inherent digests (#2466) · c7d1204c
      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
      c7d1204c
  2. May 28, 2019
  3. May 25, 2019
  4. May 23, 2019
  5. May 22, 2019
  6. May 21, 2019
    • thiolliere's avatar
      Reserve function name (#2609) · 57f306a3
      thiolliere authored
      * reserve function name
      
      * bumpd impl version
      
      * Revert "bumpd impl version"
      
      This reverts commit 03a23e308312d857bdfd3c90ff564b4b11347530.
      
      * add test
      
      * update test
      
      * update lock
      
      * Fix test on stable
      57f306a3
  7. May 17, 2019
  8. May 15, 2019
  9. May 14, 2019
  10. May 13, 2019
  11. May 10, 2019
  12. May 09, 2019
    • Kian Peymani's avatar
      Reformat Validator Election (#2406) · 71426fb0
      Kian Peymani authored
      * Add index caching to election
      
      * Initial draft of the new phragmen API.
      
      * Port post-processing to the new API.
      
      * Fix tests and accuracy.
      
      * Final fixes.
      
      * Unify convert namings.
      
      * Remove todo.
      
      * Some typos.
      
      * Bump.
      
      * Add extended balance type doc.
      
      * A bit more sophisticated weight compensation.
      
      * Fix review feedbacks.
      
      * Bump.
      
      * Final updates
      71426fb0
    • Xiliang Chen's avatar
      Remove As trait bound from Currency::Balance (#2205) · 57164aa7
      Xiliang Chen authored
      * remove As<64> bond
      
      * Currency trait refactor
      
      * bump spec version
      57164aa7
  13. May 07, 2019
  14. May 06, 2019
    • Gavin Wood's avatar
      Clean up random seed to make a bit more flexible (#2456) · adba8991
      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]>
      adba8991
    • thiolliere's avatar
      optimize double map first key hash (#2451) · b0c21da9
      thiolliere authored
      * fix double map encoding it is now encoded as specified in the doc
      b0c21da9
  15. May 04, 2019
  16. May 02, 2019
    • Sergey Pepyakin's avatar
    • DemiMarie-parity's avatar
      BABE signing and verification (#2270) · fb196843
      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 af53d7624752a744320e9cbb25749fdd8e6f46d2.
      
      * `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
      fb196843
  17. May 01, 2019
  18. Apr 30, 2019
    • Shawn Tabrizi's avatar
      Add `pub` to functions in Contract module (#2399) · 40751110
      Shawn Tabrizi authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * Add `pub` to functions in Contract module
      
      This is to support a wrapper module which will add an access control layer to the SRML Contract module.
      
      * Remove `pub` from `on_finalize`
      40751110
    • thiolliere's avatar
      Contract accounting removal (#2230) · c7d9ca37
      thiolliere authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      
      
      * first partial implementation
      
      * update rent allowance
      
      * fmt
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * remove comments
      
      * reward surcharge claims
      
      * remove rent allowance in param + code_hash changed
      
      * Fix bug
      
      * fix tests
      
      * fmt
      
      * impl getter setter rent allowance
      
      * fmt
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * comments
      
      * doc + be->le
      
      * doc
      
      * doc
      
      * fix improve fast return
      
      * renamings
      
      * rename + COMPLEXITY
      
      * COMPLEXITY
      
      * add test
      
      * etrinsic claim surcharge delay configurable
      
      * comment addressed
      
      * move and rewrite of pay_rent
      
      * remove child trie
      
      * fmt
      
      * use derive
      
      * arithmetic operation
      
      * fix
      
      * fix storage root + checked_mul + test
      
      * WIP: test
      
      * WIP
      
      * add tests and fix
      
      * fmt
      
      * typo and doc suggestions
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * WIP
      
      * address some comments
      
      divide tests + some docs
      
      * use br_table
      
      * remove unused function
      
      * Bump the runtime version
      
      * insert_with
      
      * Add some comments.
      
      * Refactor
      
      * Shuffle and fix comments
      
      * More comment fixes.
      
      * dues limited
      
      * Add comment
      
      * Handicap
      
      * Docs.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarpepyakin <[email protected]>
      
      * Coalesce block_passed in a block
      
      * Fix build
      
      * Paid → Ok
      
      * match → if
      
      * Imrpove handicap description
      c7d9ca37
  19. Apr 29, 2019