mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-01 08:57:56 +00:00
Refactor key management (#3296)
* 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: Benjamin Kampmann <ben.kampmann@googlemail.com> * 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.
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
use primitives::{ed25519, sr25519, Pair};
|
||||
use primitives::{sr25519, Pair};
|
||||
use node_template_runtime::{
|
||||
AccountId, GenesisConfig, AuraConfig, BalancesConfig,
|
||||
SudoConfig, IndicesConfig, SystemConfig, WASM_BINARY, AuraId
|
||||
};
|
||||
use aura_primitives::sr25519::AuthorityPair as AuraPair;
|
||||
use substrate_service;
|
||||
|
||||
// Note this is the URL for the telemetry server
|
||||
@@ -23,7 +24,7 @@ pub enum Alternative {
|
||||
}
|
||||
|
||||
fn authority_key(s: &str) -> AuraId {
|
||||
ed25519::Pair::from_string(&format!("//{}", s), None)
|
||||
AuraPair::from_string(&format!("//{}", s), None)
|
||||
.expect("static values are valid; qed")
|
||||
.public()
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ use basic_authorship::ProposerFactory;
|
||||
use consensus::{import_queue, start_aura, AuraImportQueue, SlotDuration};
|
||||
use futures::prelude::*;
|
||||
use substrate_client::{self as client, LongestChain};
|
||||
use primitives::{ed25519::Pair, Pair as PairT};
|
||||
use primitives::{Pair as PairT};
|
||||
use inherents::InherentDataProviders;
|
||||
use network::{config::DummyFinalityProofRequestBuilder, construct_simple_protocol};
|
||||
use substrate_executor::native_executor_instance;
|
||||
@@ -43,8 +43,6 @@ construct_simple_protocol! {
|
||||
construct_service_factory! {
|
||||
struct Factory {
|
||||
Block = Block,
|
||||
ConsensusPair = Pair,
|
||||
FinalityPair = Pair,
|
||||
RuntimeApi = RuntimeApi,
|
||||
NetworkProtocol = NodeProtocol { |config| Ok(NodeProtocol::new()) },
|
||||
RuntimeDispatch = Executor,
|
||||
@@ -68,7 +66,7 @@ construct_service_factory! {
|
||||
},
|
||||
AuthoritySetup = {
|
||||
|service: Self::FullService| {
|
||||
if let Some(key) = service.authority_key() {
|
||||
if let Some(key) = None::<aura_primitives::sr25519::AuthorityPair> {
|
||||
info!("Using authority key {}", key.public());
|
||||
let proposer = ProposerFactory {
|
||||
client: service.client(),
|
||||
@@ -100,7 +98,7 @@ construct_service_factory! {
|
||||
Self::Block,
|
||||
>
|
||||
{ |config: &mut FactoryFullConfiguration<Self> , client: Arc<FullClient<Self>>, _select_chain: Self::SelectChain| {
|
||||
import_queue::<_, _, Pair>(
|
||||
import_queue::<_, _, aura_primitives::sr25519::AuthorityPair>(
|
||||
SlotDuration::get_or_compute(&*client)?,
|
||||
Box::new(client.clone()),
|
||||
None,
|
||||
@@ -115,7 +113,7 @@ construct_service_factory! {
|
||||
>
|
||||
{ |config: &mut FactoryFullConfiguration<Self>, client: Arc<LightClient<Self>>| {
|
||||
let fprb = Box::new(DummyFinalityProofRequestBuilder::default()) as Box<_>;
|
||||
import_queue::<_, _, Pair>(
|
||||
import_queue::<_, _, aura_primitives::sr25519::AuthorityPair>(
|
||||
SlotDuration::get_or_compute(&*client)?,
|
||||
Box::new(client.clone()),
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user