Skip to content
  1. Jun 13, 2019
    • Gavin Wood's avatar
      Subkey supports 24-word phrases (#2827) · b01bdda4
      Gavin Wood authored
      * Revamp crypto API and make seeds work better in subkey
      
      * Final tweaks
      
      * Update tests
      
      * line spacing
      
      * Avoid escapes in hex constants
      
      * Fix build
      
      * Another fix
      
      * More fixes
      
      * Minor nits
      b01bdda4
  2. 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
  3. Apr 25, 2019
  4. Apr 24, 2019
    • Gavin Wood's avatar
      Subkey can construct and sign transfer txs (#2109) · 8531b62a
      Gavin Wood authored
      * First effort
      
      * Fix for encoding
      
      * !fixed subkey xfer creation (still brittle because of double-hardcoded genesis_hash (#2221)
      
      * CLI genesis hash
      
      * Add test
      
      * Slightly nicer text
      
      * Fix Elm hash
      
      * Update lock file
      8531b62a
  5. Mar 29, 2019
    • Gav Wood's avatar
      Proxy voting (#2137) · d36f00cd
      Gav Wood authored
      
      
      * Proxy voting in democracy
      
      * Proxy voting for council elections
      
      * Bump and build
      
      * Kill proxy when account dead
      
      * Rebuild wasm
      
      * Fix democraxy delegation locking
      
      * Update srml/council/src/seats.rs
      
      Co-Authored-By: default avatargavofyork <[email protected]>
      
      * Update to use mutate
      d36f00cd
    • Gav Wood's avatar
      Use a context prefix for SS58 hash (#2141) · 6efb74be
      Gav Wood authored
      * Update to final ss58 spec
      
      * Fix tests
      
      * Rebuild
      6efb74be
    • DemiMarie-parity's avatar
      Refactor DigestItem (#2108) · 8a60b684
      DemiMarie-parity authored
      * Add `start_aura2`.
      
      * .gitignore patch conflict files
      
      and remove one that accidentally got committed
      
      * Fix build
      
      The tests still don’t work.
      
      * Fix compilation errors
      
      * Fix compile errors (again)
      
      * Try (and fail) to fix tests
      
      * Properly deserialize data
      
      Previously, `DigestItem::Consensus` had no separate `DigestItemType`,
      so it did not get properly serialized and deserialized.
      
      * Add extra debug logging.  Always allow old seals.
      
      A `RUST_LOG=substrate_aura_consensus cargo test --all -- --nocapture \
      tests::authoring_blocks` revealed that old seals were being and
      rejected, causing the test to hang.  As a temporary debug measure, allow
      old seals unconditionally, so that CI can test if this fixes the
      problem.
      
      * Forcibly disable rejection of old seals
      
      * Use old trait, but newer serialization
      
      The old trait for `CompatibleDigestItem` actually worked.  By changing
      its implementation, one can ensure that all *new* seals have the modern
      form, but *legacy* seals are still decoded correctly.
      
      * Bump impl version
      
      * Squash spurious deprecation warning
      
      `rustc` should not be emitting a deprecation warning in deprecated
      code, but it does, so silence it.
      
      * Rip out unused Cargo feature
      
      * Move AURA to aura_primitives
      
      * Respond to code review
      
      * Wrap overly-long line
      
      * Reduce logging verbosity and add target
      
      * Add dependency on `sr-primitives` to `aura_primitives`
      
      * Fix build
      
      It failed with a message about Cargo.lock being out of date.
      
      * core: aura: rename aura engine id const
      
      * core: aura: remove superfluous logging
      
      * core: primitives: add removed semicolons
      
      * core: aura: remove unused import
      
      * core: network: style fix
      
      * runtime: update wasm blobs
      
      * runtime: bump impl_version
      
      * core: primitives: tag all DigestItemType variants explicitly
      8a60b684
  6. Mar 15, 2019
  7. Mar 13, 2019
    • Gav Wood's avatar
      Overhaul crypto (Schnorr/Ristretto, HDKD, BIP39) (#1795) · 8930f297
      Gav Wood authored
      * Rijig to Ristretto
      
      * Rebuild wasm
      
      * adds compatibility test with the wasm module
      
      * Add Ed25519-BIP39 support
      
      * Bump subkey version
      
      * Update CLI output
      
      * New keys.
      
      * Standard phrase/password/path keys.
      
      * Subkey uses S-URI for secrets
      
      * Move everything to use new HDKD crypto.
      
      * Test fixes
      
      * Ignore old test vector.
      
      * fix the ^^ old test vector.
      
      * Fix tests
      
      * Test fixes
      
      * Cleanups
      
      * Fix broken key conversion logic in grandpa
      
      CC @rphmeier
      
      * Remove legacy Keyring usage
      
      * Traitify `Pair`
      
      * Replace Ed25519AuthorityId with ed25519::Public
      
      * Expunge Ed25519AuthorityId type!
      
      * Replace Sr25519AuthorityId with sr25519::Public
      
      * Remove dodgy crypto type-punning conversions
      
      * Fix some tests
      
      * Avoid trait
      
      * Deduplicate DeriveJunction string decode
      
      * Remove cruft code
      
      * Fix test
      
      * Minor removals
      
      * Build fix
      
      * Subkey supports sign and verify
      
      * Inspect works for public key URIs
      
      * Remove more crypto type-punning
      
      * Fix typo
      
      * Fix tests
      8930f297