Skip to content
  1. Sep 21, 2019
    • Joshy Orndorff's avatar
      Remove unused key types sr25 and ed25 (#3659) · a2df8002
      Joshy Orndorff authored
      * Remove unused key types sr25 and ed25.
      
      * Restore in specific files to fix build.
      
      * Fix runtime tests
      
      * Fix keystore test
      
      * Revert typo
      
      * Move keytypes to primitives/src/testing.rs
      
      * More missed items.
      
      * Getting close now.
      
      * Fix example in documentation.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Update core/application-crypto/src/sr25519.rs
      
      * Bump impl version.
      a2df8002
  2. Sep 19, 2019
    • Talha Cross's avatar
      core, subkey: allow to read Polkadot, Kusama, and Dothereum address types (#3643) · 5a2be8bd
      Talha Cross authored
      * core/primitives: set dothereum address type to 4
      
      * subkey: add dothereum to network prefix
      
      * core/primitives: set dothereum address type to 20
      
      * core/primitives: update comment
      
      * core/primitives: set default address to Dothereum
      
      * Revert "core/primitives: set default address to Dothereum"
      
      This reverts commit 2fc95490.
      
      * core/primitives: allow to parse different default address types
      5a2be8bd
  3. Aug 08, 2019
    • Bastian Köcher's avatar
      Adds `author_rotateKeys` RPC (#3337) · 8155ea35
      Bastian Köcher authored
      * Adds `author_rotateKeys` RPC
      
      `author_rotateKeys` will rotate all session keys, store them into the
      keystore and returns their encoded public keys as result. These encoded
      public keys can be used directly to send the transaction to the chain.
      
      * Review comments
      8155ea35
  4. Aug 07, 2019
    • Gavin Wood's avatar
      Refactor key management (#3296) · ed61b1fd
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      ed61b1fd
  5. Aug 06, 2019
    • thiolliere's avatar
      Update to parity-scale-codec (#3232) · 31983882
      thiolliere authored
      
      
      * WIP: update codec
      
      * WIP
      
      * compiling
      
      * WIP
      
      * rename parity-scale-codec to codec
      
      * WIP
      
      * fix
      
      * remove old comments
      
      * use published crates
      
      * fix expected error msg
      
      * bump version
      
      * fmt and fix
      
      * remove old comment
      
      * fix wrong decoding impl
      
      * implement encode like for structures
      
      * undo removal of old pending changes
      
      * trailingzeroinput
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * update codec
      
      * fmt
      
      * version is 1.0.0
      
      * show more error
      
      * fmt
      31983882
  6. Jul 30, 2019
  7. Jul 22, 2019
    • David Craven's avatar
      Refactors the offchain worker api (#3150) · 5453dd17
      David Craven authored
      * Update offchain primitives.
      
      * Update offchain worker.
      
      * Update im-online.
      
      * Update service.
      
      * Update node and node-template.
      
      * Update runtime version.
      
      * Fix build.
      
      * Fix offchain worker tests.
      
      * Generalize authority_pubkey.
      
      * Add test.
      
      * Update lib.rs
      5453dd17
  8. Jul 20, 2019
    • Gavin Wood's avatar
      SS58 versioning (Network IDs) (#3147) · cf98501f
      Gavin Wood authored
      * Introduce network IDs for SS58
      
      * Fix
      
      * Allow numeric overrides.
      
      * Improve docs
      
      * String rather than str
      
      * Comment out code that will become valid after other PR
      
      * Fix
      cf98501f
  9. Jul 09, 2019
    • 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
    • David Craven's avatar
      Generic keystore (#3008) · 47586361
      David Craven authored
      * Add KeyTypeId.
      
      * Implement clone for sr25519::Pair.
      
      * Extend Pair with to_raw_vec.
      
      * Implement TypedKey for Signature and Pair.
      
      * Add trait Public.
      
      * Make keystore generic.
      
      * Fixup clone.
      
      * Fix tests.
      
      * Update service.
      
      * Fix imports.
      
      * Fix build.
      
      * Fix babe build.
      
      * Fix subkey build.
      
      * Make authority setup generic.
      
      * Update node-template.
      
      * Fix build.
      
      * Remove unsafe code.
      
      * Fix tests.
      47586361
  11. 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
  12. 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
  13. Apr 25, 2019
  14. 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
  15. 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
  16. Mar 15, 2019
  17. 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