Introduce Ristretto signing (#1730)

* first draft of ristretto crypto module #1685

* adds better comments and code-style

* remove the last evil unwrap

* remove a mistakenly committed lockfile

* add a fresh new lockfile --will probably need a manual merge later

* fix an invalid old test vector

* Wire in ristretto

* Update comment

* Fix use.

* new Signature type api alias to be compatible with substrate

* Add new keyring, fix node executor tests

* Bump version.

* Remove all hashes.

* Update core/primitives/src/sr25519.rs

Co-Authored-By: gavofyork <github@gavwood.com>

* Revert back to Ed25519 (until JS UI is ready)

* Fix test
This commit is contained in:
Gav Wood
2019-02-13 10:10:17 +01:00
committed by GitHub
parent 9e2710246f
commit a61c218cc3
20 changed files with 1474 additions and 250 deletions
+9 -8
View File
@@ -21,15 +21,19 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc))]
use runtime_primitives::generic;
use runtime_primitives::{OpaqueExtrinsic, traits::BlakeTwo256};
use runtime_primitives::{
generic, traits::{Verify, BlakeTwo256}, Ed25519Signature, OpaqueExtrinsic
};
/// An index to a block.
pub type BlockNumber = u64;
/// Alias to Ed25519 pubkey that identifies an account on the chain. This will almost
/// certainly continue to be the same as the substrate's `AuthorityId`.
pub type AccountId = ::primitives::H256;
/// Alias to 512-bit hash when used in the context of a signature on the chain.
pub type Signature = Ed25519Signature;
/// Some way of identifying an account on the chain. We intentionally make it equivalent
/// to the public key of our transaction signing scheme.
pub type AccountId = <Signature as Verify>::Signer;
/// The type for looking up accounts. We don't expect more than 4 billion of them, but you
/// never know...
@@ -48,9 +52,6 @@ pub type Index = u64;
/// A hash of some data used by the chain.
pub type Hash = primitives::H256;
/// Alias to 512-bit hash when used in the context of a signature on the chain.
pub type Signature = runtime_primitives::Ed25519Signature;
/// A timestamp: seconds since the unix epoch.
pub type Timestamp = u64;