mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 03:01:07 +00:00
Migrate consensus (common, aura-primitives, aura, rhd) to 2018 edition (#1548)
This commit is contained in:
committed by
Gav Wood
parent
a5cafa68b1
commit
7f05bd959f
@@ -3,17 +3,18 @@ name = "substrate-consensus-aura"
|
||||
version = "0.1.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
description = "Aura consensus algorithm for substrate"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
parity-codec = "2.2"
|
||||
substrate-client = { path = "../../client" }
|
||||
substrate-primitives = { path = "../../primitives" }
|
||||
srml-support = { path = "../../../srml/support" }
|
||||
sr-primitives = { path = "../../sr-primitives" }
|
||||
sr-version = { path = "../../sr-version" }
|
||||
sr-io = { path = "../../sr-io" }
|
||||
substrate-consensus-aura-primitives = { path = "primitives" }
|
||||
substrate-inherents = { path = "../../inherents" }
|
||||
client = { package = "substrate-client", path = "../../client" }
|
||||
primitives = { package = "substrate-primitives", path = "../../primitives" }
|
||||
runtime_support = { package = "srml-support", path = "../../../srml/support" }
|
||||
runtime_primitives = { package = "sr-primitives", path = "../../sr-primitives" }
|
||||
runtime_version = { package = "sr-version", path = "../../sr-version" }
|
||||
runtime_io = { package = "sr-io", path = "../../sr-io" }
|
||||
aura_primitives = { package = "substrate-consensus-aura-primitives", path = "primitives" }
|
||||
inherents = { package = "substrate-inherents", path = "../../inherents" }
|
||||
srml-consensus = { path = "../../../srml/consensus" }
|
||||
srml-aura = { path = "../../../srml/aura" }
|
||||
futures = "0.1.17"
|
||||
@@ -21,12 +22,12 @@ tokio = "0.1.7"
|
||||
parking_lot = "0.7.1"
|
||||
error-chain = "0.12"
|
||||
log = "0.3"
|
||||
substrate-consensus-common = { path = "../common" }
|
||||
consensus_common = { package = "substrate-consensus-common", path = "../common" }
|
||||
|
||||
[dev-dependencies]
|
||||
substrate-keyring = { path = "../../keyring" }
|
||||
keyring = { package = "substrate-keyring", path = "../../keyring" }
|
||||
substrate-executor = { path = "../../executor" }
|
||||
substrate-network = { path = "../../network", features = ["test-helpers"]}
|
||||
substrate-service = { path = "../../service" }
|
||||
substrate-test-client = { path = "../../test-client" }
|
||||
network = { package = "substrate-network", path = "../../network", features = ["test-helpers"]}
|
||||
service = { package = "substrate-service", path = "../../service" }
|
||||
test_client = { package = "substrate-test-client", path = "../../test-client" }
|
||||
env_logger = "0.4"
|
||||
|
||||
@@ -3,24 +3,25 @@ name = "substrate-consensus-aura-primitives"
|
||||
version = "0.1.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
description = "Primitives for Aura consensus"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
parity-codec = { version = "2.2", default-features = false }
|
||||
substrate-client = { path = "../../../client", default-features = false }
|
||||
substrate-primitives = { path = "../../../primitives", default-features = false }
|
||||
srml-support = { path = "../../../../srml/support", default-features = false }
|
||||
sr-primitives = { path = "../../../sr-primitives", default-features = false }
|
||||
primitives = { package = "substrate-primitives", path = "../../../primitives", default-features = false }
|
||||
runtime_support = { package = "srml-support", path = "../../../../srml/support", default-features = false }
|
||||
runtime_primitives = { package = "sr-primitives", path = "../../../sr-primitives", default-features = false }
|
||||
sr-version = { path = "../../../sr-version", default-features = false }
|
||||
sr-io = { path = "../../../sr-io", default-features = false }
|
||||
runtime_io = { package = "sr-io", path = "../../../sr-io", default-features = false }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
std = [
|
||||
"parity-codec/std",
|
||||
"substrate-client/std",
|
||||
"substrate-primitives/std",
|
||||
"srml-support/std",
|
||||
"sr-primitives/std",
|
||||
"primitives/std",
|
||||
"runtime_support/std",
|
||||
"runtime_primitives/std",
|
||||
"sr-version/std",
|
||||
"sr-io/std",
|
||||
"runtime_io/std",
|
||||
]
|
||||
|
||||
@@ -18,16 +18,9 @@
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
|
||||
extern crate parity_codec as codec;
|
||||
extern crate substrate_client as client;
|
||||
extern crate substrate_primitives as primitives;
|
||||
extern crate srml_support as runtime_support;
|
||||
extern crate sr_io as runtime_io;
|
||||
extern crate sr_primitives as runtime_primitives;
|
||||
|
||||
/// The ApiIds for Aura authorship API.
|
||||
pub mod id {
|
||||
use client::runtime_api::ApiId;
|
||||
use substrate_client::runtime_api::ApiId;
|
||||
|
||||
/// ApiId for the AuraApi trait.
|
||||
pub const AURA_API: ApiId = *b"aura_api";
|
||||
@@ -45,7 +38,7 @@ pub struct AuraConsensusData {
|
||||
|
||||
/// Runtime-APIs
|
||||
pub mod api {
|
||||
use client::decl_runtime_apis;
|
||||
use substrate_client::decl_runtime_apis;
|
||||
decl_runtime_apis! {
|
||||
/// API necessary for block authorship with aura.
|
||||
pub trait AuraApi {
|
||||
|
||||
@@ -26,42 +26,11 @@
|
||||
//! Blocks from future steps will be either deferred or rejected depending on how
|
||||
//! far in the future they are.
|
||||
|
||||
extern crate parity_codec as codec;
|
||||
extern crate substrate_client as client;
|
||||
extern crate substrate_primitives as primitives;
|
||||
extern crate srml_support as runtime_support;
|
||||
extern crate sr_io as runtime_io;
|
||||
extern crate sr_primitives as runtime_primitives;
|
||||
extern crate substrate_consensus_aura_primitives as aura_primitives;
|
||||
extern crate srml_aura;
|
||||
extern crate substrate_inherents as inherents;
|
||||
|
||||
extern crate substrate_consensus_common as consensus_common;
|
||||
extern crate tokio;
|
||||
extern crate sr_version as runtime_version;
|
||||
extern crate parking_lot;
|
||||
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
#[macro_use]
|
||||
extern crate futures;
|
||||
|
||||
#[cfg(test)]
|
||||
extern crate substrate_keyring as keyring;
|
||||
#[cfg(test)]
|
||||
extern crate substrate_network as network;
|
||||
#[cfg(test)]
|
||||
extern crate substrate_service as service;
|
||||
#[cfg(test)]
|
||||
extern crate substrate_test_client as test_client;
|
||||
#[cfg(test)]
|
||||
extern crate env_logger;
|
||||
|
||||
mod slots;
|
||||
|
||||
use std::{sync::{Arc, mpsc}, time::Duration, thread};
|
||||
|
||||
use codec::Encode;
|
||||
use parity_codec::Encode;
|
||||
use consensus_common::{
|
||||
Authorities, BlockImport, Environment, Proposer, ForkChoiceStrategy
|
||||
};
|
||||
@@ -80,6 +49,7 @@ use futures::{Stream, Future, IntoFuture, future::{self, Either}};
|
||||
use tokio::timer::Timeout;
|
||||
use api::AuraApi;
|
||||
use slots::Slots;
|
||||
use ::log::{warn, debug, log, info, trace};
|
||||
|
||||
use srml_aura::{
|
||||
InherentType as AuraInherent, AuraInherentData,
|
||||
@@ -635,7 +605,7 @@ impl SlotDuration {
|
||||
C: ProvideRuntimeApi,
|
||||
C::Api: AuraApi<B>,
|
||||
{
|
||||
use codec::Decode;
|
||||
use parity_codec::Decode;
|
||||
const SLOT_KEY: &[u8] = b"aura_slot_duration";
|
||||
|
||||
match client.get_aux(SLOT_KEY)? {
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
use std::time::{Instant, Duration};
|
||||
use tokio::timer::Delay;
|
||||
use futures::prelude::*;
|
||||
use futures::try_ready;
|
||||
|
||||
use inherents::{InherentDataProviders, InherentData};
|
||||
|
||||
@@ -86,7 +87,7 @@ impl Stream for Slots {
|
||||
self.inner_delay = match self.inner_delay.take() {
|
||||
None => {
|
||||
// schedule wait.
|
||||
let wait_until = match ::duration_now() {
|
||||
let wait_until = match crate::duration_now() {
|
||||
None => return Ok(Async::Ready(None)),
|
||||
Some(now) => Instant::now() + time_until_next(now, slot_duration),
|
||||
};
|
||||
@@ -103,8 +104,8 @@ impl Stream for Slots {
|
||||
// timeout has fired.
|
||||
|
||||
let inherent_data = self.inherent_data_providers.create_inherent_data()
|
||||
.map_err(::inherent_to_common_error)?;
|
||||
let (timestamp, slot_num) = ::extract_timestamp_and_slot(&inherent_data)?;
|
||||
.map_err(crate::inherent_to_common_error)?;
|
||||
let (timestamp, slot_num) = crate::extract_timestamp_and_slot(&inherent_data)?;
|
||||
|
||||
// reschedule delay for next slot.
|
||||
let ends_at = Instant::now() + time_until_next(Duration::from_secs(timestamp), slot_duration);
|
||||
|
||||
@@ -3,19 +3,20 @@ name = "substrate-consensus-common"
|
||||
version = "0.1.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
description = "Common utilities for substrate consensus"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4"
|
||||
parking_lot = "0.7.1"
|
||||
substrate-primitives = { path= "../../primitives" }
|
||||
substrate-inherents = { path= "../../inherents" }
|
||||
primitives = { package = "substrate-primitives", path= "../../primitives" }
|
||||
inherents = { package = "substrate-inherents", path = "../../inherents" }
|
||||
error-chain = "0.12"
|
||||
futures = "0.1"
|
||||
sr-version = { path = "../../sr-version" }
|
||||
sr-primitives = { path = "../../sr-primitives" }
|
||||
runtime_version = { package = "sr-version", path = "../../sr-version" }
|
||||
runtime_primitives = { package = "sr-primitives", path = "../../sr-primitives" }
|
||||
tokio = "0.1.7"
|
||||
parity-codec = "2.2"
|
||||
parity-codec-derive = "2.0"
|
||||
|
||||
[dev-dependencies]
|
||||
substrate-test-client = { path = "../../test-client" }
|
||||
test_client = { package = "substrate-test-client", path = "../../test-client" }
|
||||
|
||||
@@ -157,7 +157,7 @@ pub trait JustificationImport<B: BlockT> {
|
||||
type Error: ::std::error::Error + Send + 'static;
|
||||
|
||||
/// Called by the import queue when it is started.
|
||||
fn on_start(&self, _link: &::import_queue::Link<B>) { }
|
||||
fn on_start(&self, _link: &crate::import_queue::Link<B>) { }
|
||||
|
||||
/// Import a Block justification and finalize the given block.
|
||||
fn import_justification(
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
//! Error types in Consensus
|
||||
use runtime_version::RuntimeVersion;
|
||||
use error_chain::{error_chain, error_chain_processing, impl_error_chain_processed,
|
||||
impl_extract_backtrace, impl_error_chain_kind};
|
||||
|
||||
error_chain! {
|
||||
errors {
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
|
||||
use super::MAX_TRANSACTIONS_SIZE;
|
||||
|
||||
use codec::Encode;
|
||||
use parity_codec::Encode;
|
||||
use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, As};
|
||||
use error_chain::{error_chain, error_chain_processing, impl_error_chain_processed,
|
||||
impl_extract_backtrace, impl_error_chain_kind, bail};
|
||||
|
||||
type BlockNumber = u64;
|
||||
|
||||
|
||||
@@ -24,16 +24,17 @@
|
||||
//! The `BasicQueue` and `BasicVerifier` traits allow serial queues to be
|
||||
//! instantiated simply.
|
||||
|
||||
use block_import::{ImportBlock, BlockImport, JustificationImport, ImportResult, BlockOrigin};
|
||||
use crate::block_import::{ImportBlock, BlockImport, JustificationImport, ImportResult, BlockOrigin};
|
||||
use std::collections::{HashSet, VecDeque};
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicBool, Ordering};
|
||||
use parking_lot::{Condvar, Mutex, RwLock};
|
||||
use log::{trace, debug};
|
||||
|
||||
use runtime_primitives::Justification;
|
||||
use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, NumberFor, Zero, AuthorityIdFor};
|
||||
|
||||
use error::Error as ConsensusError;
|
||||
use crate::error::Error as ConsensusError;
|
||||
|
||||
/// Shared block import struct used by the queue.
|
||||
pub type SharedBlockImport<B> = Arc<dyn BlockImport<B, Error=ConsensusError> + Send + Sync>;
|
||||
|
||||
@@ -26,23 +26,6 @@
|
||||
// our error-chain could potentially blow up otherwise
|
||||
#![recursion_limit="128"]
|
||||
|
||||
extern crate substrate_primitives as primitives;
|
||||
extern crate substrate_inherents as inherents;
|
||||
extern crate futures;
|
||||
extern crate parking_lot;
|
||||
extern crate sr_version as runtime_version;
|
||||
extern crate sr_primitives as runtime_primitives;
|
||||
#[cfg(any(test, feature = "test-helpers"))]
|
||||
extern crate substrate_test_client as test_client;
|
||||
extern crate tokio;
|
||||
|
||||
extern crate parity_codec as codec;
|
||||
extern crate parity_codec_derive;
|
||||
|
||||
#[macro_use]
|
||||
extern crate error_chain;
|
||||
#[macro_use] extern crate log;
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use runtime_primitives::generic::BlockId;
|
||||
|
||||
@@ -3,21 +3,22 @@ name = "substrate-consensus-rhd"
|
||||
version = "0.1.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
description = "Rhododendron Round-Based consensus-algorithm for substrate"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
futures = "0.1.17"
|
||||
parity-codec = { version = "2.2" }
|
||||
parity-codec-derive = { version = "2.0" }
|
||||
substrate-primitives = { path = "../../primitives" }
|
||||
substrate-consensus-common = { path = "../common" }
|
||||
substrate-client = { path = "../../client" }
|
||||
substrate-transaction-pool = { path = "../../transaction-pool" }
|
||||
srml-support = { path = "../../../srml/support" }
|
||||
primitives = { package = "substrate-primitives", path = "../../primitives" }
|
||||
consensus = { package = "substrate-consensus-common", path = "../common" }
|
||||
client = { package = "substrate-client", path = "../../client" }
|
||||
transaction_pool = { package = "substrate-transaction-pool", path = "../../transaction-pool" }
|
||||
runtime_support = { package = "srml-support", path = "../../../srml/support" }
|
||||
srml-system = { path = "../../../srml/system" }
|
||||
srml-consensus = { path = "../../../srml/consensus" }
|
||||
sr-primitives = { path = "../../sr-primitives" }
|
||||
sr-version = { path = "../../sr-version" }
|
||||
sr-io = { path = "../../sr-io" }
|
||||
runtime_primitives = { package = "sr-primitives", path = "../../sr-primitives" }
|
||||
runtime_version = { package = "sr-version", path = "../../sr-version" }
|
||||
runtime_io = { package = "sr-io", path = "../../sr-io" }
|
||||
tokio = "0.1.7"
|
||||
parking_lot = "0.7.1"
|
||||
error-chain = "0.12"
|
||||
@@ -25,7 +26,6 @@ log = "0.4"
|
||||
rhododendron = { version = "0.4.0", features = ["codec"] }
|
||||
exit-future = "0.1"
|
||||
|
||||
|
||||
[dev-dependencies]
|
||||
substrate-keyring = { path = "../../keyring" }
|
||||
substrate-executor = { path = "../../executor" }
|
||||
@@ -33,8 +33,8 @@ substrate-executor = { path = "../../executor" }
|
||||
[features]
|
||||
default = ["std"]
|
||||
std = [
|
||||
"substrate-primitives/std",
|
||||
"srml-support/std",
|
||||
"sr-primitives/std",
|
||||
"sr-version/std",
|
||||
"primitives/std",
|
||||
"runtime_support/std",
|
||||
"runtime_primitives/std",
|
||||
"runtime_version/std",
|
||||
]
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
use consensus::error::{Error as CommonError, ErrorKind as CommonErrorKind};
|
||||
use primitives::AuthorityId;
|
||||
use client;
|
||||
use error_chain::{error_chain, error_chain_processing, impl_error_chain_processed,
|
||||
impl_extract_backtrace, impl_error_chain_kind};
|
||||
|
||||
error_chain! {
|
||||
links {
|
||||
@@ -54,4 +56,4 @@ impl From<CommonErrorKind> for Error {
|
||||
fn from(e: CommonErrorKind) -> Self {
|
||||
CommonError::from(e).into()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,40 +33,12 @@
|
||||
#![cfg(feature="rhd")]
|
||||
// FIXME: doesn't compile - https://github.com/paritytech/substrate/issues/1020
|
||||
|
||||
extern crate parity_codec as codec;
|
||||
extern crate substrate_primitives as primitives;
|
||||
extern crate substrate_client as client;
|
||||
extern crate substrate_consensus_common as consensus;
|
||||
extern crate substrate_transaction_pool as transaction_pool;
|
||||
extern crate srml_system;
|
||||
extern crate srml_support as runtime_support;
|
||||
extern crate sr_primitives as runtime_primitives;
|
||||
extern crate sr_version as runtime_version;
|
||||
extern crate sr_io as runtime_io;
|
||||
|
||||
extern crate parking_lot;
|
||||
extern crate rhododendron;
|
||||
extern crate futures;
|
||||
extern crate exit_future;
|
||||
extern crate tokio;
|
||||
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
|
||||
#[macro_use]
|
||||
extern crate error_chain;
|
||||
|
||||
#[macro_use]
|
||||
extern crate parity_codec_derive;
|
||||
|
||||
#[cfg(test)]
|
||||
extern crate substrate_keyring;
|
||||
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
use std::time::{self, Instant, Duration};
|
||||
|
||||
use codec::{Decode, Encode};
|
||||
use parity_codec::{Decode, Encode};
|
||||
use parity_codec_derive::{Decode, Encode};
|
||||
use consensus::offline_tracker::OfflineTracker;
|
||||
use consensus::error::{ErrorKind as CommonErrorKind};
|
||||
use consensus::{Authorities, BlockImport, Environment, Proposer as BaseProposer};
|
||||
|
||||
Reference in New Issue
Block a user