mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 11:41:02 +00:00
Update to latest substrate-master and polkadot v0.3 (#195)
* Rebuild runtime * Remove invalid value from chainspec (#68) * service: use grandpa block import for locally sealed aura blocks (#85) * bump version to v0.3.1 * Update lock file. * limit number of transactions when building blocks (#91) * Update to latest Substrate * Bump to 0.3.2 * Actually bump. * v0.3.2 (#98) * bump substrate version * fix polkadot-collator * point to alexander-backports of substrate * bump version * cli: fix node shutdown (#100) * update to latest substrate, change to v0.3.4 * update to latest substrate, bump version to 0.3.5 * v0.3.6 * try to build on every v0.3 commit and update alexander-backports * bump to v0.3.7 * bump to 0.3.8 * Bump to 0.3.9: network and pruning improvements * Bump to 0.3.10: reduce network bandwidth usage * Use libp2p-kad 0.3.2 (#122) * Bump libp2p-identify to 0.3.1 (#123) * Bump to 0.3.12 (#127) * Update Substrate again (#128) * update substrate and bump version to v0.3.13 * bump version to v0.3.14: fix --reserved-nodes * add a manually curated grandpa module (#136) * updating v0.3 to use substrate v0.10 (#146) * updating to latest substrate v0.10 * better handling of outer poll * nit * fix tests * remove comment * reduce indentation * use self.poll * bring oneshot into scope * spaces * wrap * remove match * wrap * Update primitives/Cargo.toml Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com> * Update runtime/wasm/Cargo.toml Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com> * Update runtime/wasm/Cargo.toml Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com> * Update test-parachains/adder/collator/src/main.rs Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com> * indent * add paranthese * config: fix wrong ip for alexander bootnode (#161) * fix curated-grandpa and rebuild wasm (#162) * [v0.3] Integrates new gossip system into Polkadot (#166) * new gossip validation in network * integrate new gossip into service * network: guard validation network future under exit signal (#168) * bump version to v0.3.15: substrate v0.10 * [v0.3] update to substrate master (#175) * update to substrate master * fix test * service: fix telemetry endpoints on alexander chainspec (#169) (#178) * Update v0.3 to latest Substrate master (#177) * update substrate v0.3 to latest master * bump spec version * update to latest master: remove fees module * update runtime blobs * bump version to 0.3.16 * replace sr25519 accountid with anysigner * bump version to v0.3.17 * Some PoC-3 GRANDPA tweaks (#181) * call on_finalise after triggering curated_grandpa change * make grandpa rounds shorter for faster finalization * use authorities when calculating duty roster (#185) * [v0.3] Update to substrate master (#183) * update to latest substrate master * bump version to 0.3.18 * update to latest substrate master * bump spec version * update runtime wasm blobs * remove current_offline_slash from chain spec * update to substrate master: bump version to v0.3.19 (#188) * update to substrate master: bump version to v0.3.19 libp2p network improvements * network: replace NodeIndex with PeerId * network: fix tests * polkadot v0.3.20 (#190) * update to substrate master: bump version to 0.3.20 * runtime: add offchain worker trait * runtime: rebuild wasm blobs * bump spec version (#191) * Fix compilation * Update version to 0.4.0 * Switch to use `polkadot-master` branch from substrate * Remove unused struct * Remove `grandpa::SyncedAuthorities` from `OnSessionChange`
This commit is contained in:
committed by
Robert Habermeier
parent
5606afd886
commit
7e2714f843
+12
-12
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "polkadot-service"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
|
||||
[dependencies]
|
||||
@@ -17,14 +17,14 @@ polkadot-primitives = { path = "../primitives" }
|
||||
polkadot-runtime = { path = "../runtime" }
|
||||
polkadot-executor = { path = "../executor" }
|
||||
polkadot-network = { path = "../network" }
|
||||
sr-io = { git = "https://github.com/paritytech/substrate" }
|
||||
sr-primitives = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-primitives = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-client = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-consensus-aura = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-finality-grandpa = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-service = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-telemetry = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-inherents = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-transaction-pool = { git = "https://github.com/paritytech/substrate" }
|
||||
substrate-keystore = { git = "https://github.com/paritytech/substrate" }
|
||||
sr-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
sr-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-inherents = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
substrate-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
|
||||
|
||||
@@ -21,8 +21,8 @@ use polkadot_primitives::{AccountId, SessionKey};
|
||||
use polkadot_runtime::{
|
||||
GenesisConfig, ConsensusConfig, CouncilSeatsConfig, DemocracyConfig, TreasuryConfig,
|
||||
SessionConfig, StakingConfig, TimestampConfig, BalancesConfig, Perbill,
|
||||
CouncilVotingConfig, GrandpaConfig, SudoConfig, IndicesConfig,
|
||||
ClaimsConfig, FeesConfig, Permill, StakerStatus
|
||||
CouncilVotingConfig, GrandpaConfig, SudoConfig, IndicesConfig, Permill,
|
||||
CuratedGrandpaConfig, StakerStatus,
|
||||
};
|
||||
use telemetry::TelemetryEndpoints;
|
||||
|
||||
@@ -82,6 +82,8 @@ fn staging_testnet_config_genesis() -> GenesisConfig {
|
||||
}),
|
||||
system: None,
|
||||
balances: Some(BalancesConfig {
|
||||
transaction_base_fee: 1 * CENTS,
|
||||
transaction_byte_fee: 10 * MILLICENTS,
|
||||
balances: endowed_accounts.iter()
|
||||
.map(|k: &AccountId| (k.clone(), ENDOWMENT))
|
||||
.chain(initial_authorities.iter().map(|x| (x.0.clone(), STASH)))
|
||||
@@ -105,7 +107,6 @@ fn staging_testnet_config_genesis() -> GenesisConfig {
|
||||
current_era: 0,
|
||||
offline_slash: Perbill::from_billionths(1_000_000),
|
||||
session_reward: Perbill::from_billionths(2_065),
|
||||
current_offline_slash: 0,
|
||||
current_session_reward: 0,
|
||||
validator_count: 7,
|
||||
sessions_per_era: 12,
|
||||
@@ -154,13 +155,9 @@ fn staging_testnet_config_genesis() -> GenesisConfig {
|
||||
grandpa: Some(GrandpaConfig {
|
||||
authorities: initial_authorities.iter().map(|x| (x.2.clone(), 1)).collect(),
|
||||
}),
|
||||
fees: Some(FeesConfig {
|
||||
transaction_base_fee: 1 * CENTS,
|
||||
transaction_byte_fee: 10 * MILLICENTS,
|
||||
}),
|
||||
parachains: Some(Default::default()),
|
||||
claims: Some(ClaimsConfig {
|
||||
claims: vec![],
|
||||
curated_grandpa: Some(CuratedGrandpaConfig {
|
||||
shuffle_period: 1024,
|
||||
}),
|
||||
}
|
||||
}
|
||||
@@ -199,7 +196,7 @@ pub fn get_authority_keys_from_seed(seed: &str) -> (AccountId, AccountId, Sessio
|
||||
(
|
||||
get_account_id_from_seed(&format!("{}//stash", seed)),
|
||||
get_account_id_from_seed(seed),
|
||||
get_session_key_from_seed(seed)
|
||||
get_session_key_from_seed(seed),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -222,7 +219,6 @@ pub fn testnet_genesis(
|
||||
|
||||
const STASH: u128 = 1 << 20;
|
||||
const ENDOWMENT: u128 = 1 << 20;
|
||||
|
||||
GenesisConfig {
|
||||
consensus: Some(ConsensusConfig {
|
||||
code: include_bytes!("../../runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm").to_vec(),
|
||||
@@ -233,6 +229,8 @@ pub fn testnet_genesis(
|
||||
ids: endowed_accounts.clone(),
|
||||
}),
|
||||
balances: Some(BalancesConfig {
|
||||
transaction_base_fee: 1,
|
||||
transaction_byte_fee: 0,
|
||||
existential_deposit: 500,
|
||||
transfer_fee: 0,
|
||||
creation_fee: 0,
|
||||
@@ -252,7 +250,6 @@ pub fn testnet_genesis(
|
||||
bonding_duration: 2 * 60 * 12,
|
||||
offline_slash: Perbill::zero(),
|
||||
session_reward: Perbill::zero(),
|
||||
current_offline_slash: 0,
|
||||
current_session_reward: 0,
|
||||
offline_slash_grace: 0,
|
||||
stakers: initial_authorities.iter().map(|x| (x.0.clone(), x.1.clone(), STASH, StakerStatus::Validator)).collect(),
|
||||
@@ -297,15 +294,11 @@ pub fn testnet_genesis(
|
||||
sudo: Some(SudoConfig {
|
||||
key: root_key,
|
||||
}),
|
||||
claims: Some(ClaimsConfig {
|
||||
claims: vec![],
|
||||
}),
|
||||
grandpa: Some(GrandpaConfig {
|
||||
authorities: initial_authorities.iter().map(|x| (x.2.clone(), 1)).collect(),
|
||||
}),
|
||||
fees: Some(FeesConfig {
|
||||
transaction_base_fee: 1,
|
||||
transaction_byte_fee: 0,
|
||||
curated_grandpa: Some(CuratedGrandpaConfig {
|
||||
shuffle_period: 1024,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
+19
-14
@@ -43,16 +43,15 @@ pub mod chain_spec;
|
||||
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
use polkadot_primitives::{parachain, parachain::CollatorId, Block, Hash, BlockId};
|
||||
use polkadot_primitives::{parachain, Block, Hash, BlockId};
|
||||
use polkadot_runtime::{GenesisConfig, RuntimeApi};
|
||||
use polkadot_network::gossip::{self as network_gossip, Known};
|
||||
use primitives::{Pair, ed25519};
|
||||
use primitives::{ed25519, Pair};
|
||||
use tokio::runtime::TaskExecutor;
|
||||
use service::{FactoryFullConfiguration, FullBackend, LightBackend, FullExecutor, LightExecutor};
|
||||
use transaction_pool::txpool::{Pool as TransactionPool};
|
||||
use aura::{import_queue, start_aura, AuraImportQueue, SlotDuration, NothingExtra};
|
||||
use inherents::InherentDataProviders;
|
||||
|
||||
pub use service::{
|
||||
Roles, PruningMode, TransactionPoolOptions, ComponentClient,
|
||||
ErrorKind, Error, ComponentBlock, LightComponents, FullComponents,
|
||||
@@ -61,7 +60,7 @@ pub use service::{
|
||||
pub use service::config::full_version_from_strs;
|
||||
pub use client::{backend::Backend, runtime_api::Core as CoreApi, ExecutionStrategy};
|
||||
pub use polkadot_network::{PolkadotProtocol, NetworkService};
|
||||
pub use polkadot_primitives::parachain::ParachainHost;
|
||||
pub use polkadot_primitives::parachain::{CollatorId, ParachainHost};
|
||||
pub use primitives::{Blake2Hasher};
|
||||
pub use sr_primitives::traits::ProvideRuntimeApi;
|
||||
pub use chain_spec::ChainSpec;
|
||||
@@ -71,7 +70,7 @@ pub type Configuration = FactoryFullConfiguration<Factory>;
|
||||
|
||||
/// Polkadot-specific configuration.
|
||||
pub struct CustomConfiguration {
|
||||
/// Set to `Some` with a collator `AccountId` and desired parachain
|
||||
/// Set to `Some` with a collator `CollatorId` and desired parachain
|
||||
/// if the network protocol should be started in collator mode.
|
||||
pub collating_for: Option<(CollatorId, parachain::Id)>,
|
||||
|
||||
@@ -156,7 +155,9 @@ construct_service_factory! {
|
||||
struct Factory {
|
||||
Block = Block,
|
||||
RuntimeApi = RuntimeApi,
|
||||
NetworkProtocol = PolkadotProtocol { |config: &Configuration| Ok(PolkadotProtocol::new(config.custom.collating_for.clone())) },
|
||||
NetworkProtocol = PolkadotProtocol {
|
||||
|config: &Configuration| Ok(PolkadotProtocol::new(config.custom.collating_for.clone()))
|
||||
},
|
||||
RuntimeDispatch = polkadot_executor::Executor,
|
||||
FullTransactionPoolApi = TxChainApi<FullBackend<Self>, FullExecutor<Self>>
|
||||
{ |config, client| Ok(TransactionPool::new(config, TxChainApi::new(client))) },
|
||||
@@ -176,12 +177,18 @@ construct_service_factory! {
|
||||
|
||||
// always run GRANDPA in order to sync.
|
||||
{
|
||||
let local_key = if service.config.disable_grandpa {
|
||||
None
|
||||
} else {
|
||||
key.clone()
|
||||
};
|
||||
|
||||
let voter = grandpa::run_grandpa(
|
||||
grandpa::Config {
|
||||
// TODO: make gossip_duration available through chainspec
|
||||
// https://github.com/paritytech/substrate/issues/1578
|
||||
gossip_duration: Duration::new(4, 0),
|
||||
local_key: key.clone(),
|
||||
local_key,
|
||||
justification_period: 4096,
|
||||
name: Some(service.config.name.clone()),
|
||||
},
|
||||
@@ -230,7 +237,7 @@ construct_service_factory! {
|
||||
match known_oracle.block_status(&BlockId::hash(*block_hash)) {
|
||||
Err(_) | Ok(BlockStatus::Unknown) | Ok(BlockStatus::Queued) => None,
|
||||
Ok(BlockStatus::KnownBad) => Some(Known::Bad),
|
||||
Ok(BlockStatus::InChain) => match known_oracle.leaves() {
|
||||
Ok(BlockStatus::InChainWithState) | Ok(BlockStatus::InChainPruned) => match known_oracle.leaves() {
|
||||
Err(_) => None,
|
||||
Ok(leaves) => if leaves.contains(block_hash) {
|
||||
Some(Known::Leaf)
|
||||
@@ -271,6 +278,7 @@ construct_service_factory! {
|
||||
service.network(),
|
||||
service.on_exit(),
|
||||
service.config.custom.inherent_data_providers.clone(),
|
||||
service.config.force_authoring,
|
||||
)?;
|
||||
|
||||
executor.spawn(task);
|
||||
@@ -284,15 +292,12 @@ construct_service_factory! {
|
||||
{ |config: &mut FactoryFullConfiguration<Self>, client: Arc<FullClient<Self>>| {
|
||||
let slot_duration = SlotDuration::get_or_compute(&*client)?;
|
||||
|
||||
let (block_import, link_half) =
|
||||
grandpa::block_import::<_, _, _, RuntimeApi, FullClient<Self>>(
|
||||
client.clone(), client.clone(),
|
||||
)?;
|
||||
let (block_import, link_half) = grandpa::block_import::<_, _, _, RuntimeApi, FullClient<Self>>(client.clone(), client.clone())?;
|
||||
let block_import = Arc::new(block_import);
|
||||
let justification_import = block_import.clone();
|
||||
|
||||
config.custom.grandpa_import_setup = Some((block_import.clone(), link_half));
|
||||
import_queue(
|
||||
import_queue::<_, _, _, ed25519::Pair>(
|
||||
slot_duration,
|
||||
block_import,
|
||||
Some(justification_import),
|
||||
@@ -307,7 +312,7 @@ construct_service_factory! {
|
||||
{ |config: &mut FactoryFullConfiguration<Self>, client: Arc<LightClient<Self>>| {
|
||||
let slot_duration = SlotDuration::get_or_compute(&*client)?;
|
||||
|
||||
import_queue(
|
||||
import_queue::<_, _, _, ed25519::Pair>(
|
||||
slot_duration,
|
||||
client.clone(),
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user