mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 10:31:03 +00:00
Upgrade Substrate & Polkadot (#612)
This commit is contained in:
@@ -9,6 +9,7 @@ codec = { package = "parity-scale-codec", version = "2.0.0" }
|
||||
rand = "0.7.3"
|
||||
serde = { version = "1.0.101", features = ["derive"] }
|
||||
async-trait = "0.1.42"
|
||||
tokio = { version = "1.10", features = ["macros"] }
|
||||
|
||||
# Substrate
|
||||
frame-system = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
||||
@@ -53,7 +54,6 @@ jsonrpc-core = "18.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
futures = "0.3.5"
|
||||
tokio = { version = "1.10", features = ["macros"] }
|
||||
|
||||
# Polkadot dependencies
|
||||
polkadot-test-service = { git = "https://github.com/paritytech/polkadot", branch = "master" }
|
||||
|
||||
@@ -38,7 +38,7 @@ use sc_service::{
|
||||
OffchainWorkerConfig, PruningMode, TransactionStorageMode, WasmExecutionMethod,
|
||||
},
|
||||
BasePath, ChainSpec, Configuration, Error as ServiceError, PartialComponents, Role,
|
||||
RpcHandlers, TFullBackend, TFullClient, TaskExecutor, TaskManager,
|
||||
RpcHandlers, TFullBackend, TFullClient, TaskManager,
|
||||
};
|
||||
use sp_arithmetic::traits::SaturatedConversion;
|
||||
use sp_blockchain::HeaderBackend;
|
||||
@@ -375,7 +375,7 @@ enum Consensus {
|
||||
/// A builder to create a [`TestNode`].
|
||||
pub struct TestNodeBuilder {
|
||||
para_id: ParaId,
|
||||
task_executor: TaskExecutor,
|
||||
tokio_handle: tokio::runtime::Handle,
|
||||
key: Sr25519Keyring,
|
||||
collator_key: Option<CollatorPair>,
|
||||
parachain_nodes: Vec<MultiaddrWithPeerId>,
|
||||
@@ -393,11 +393,11 @@ impl TestNodeBuilder {
|
||||
/// `para_id` - The parachain id this node is running for.
|
||||
/// `task_executor` - The task executor to use.
|
||||
/// `key` - The key that will be used to generate the name and that will be passed as `dev_seed`.
|
||||
pub fn new(para_id: ParaId, task_executor: TaskExecutor, key: Sr25519Keyring) -> Self {
|
||||
pub fn new(para_id: ParaId, tokio_handle: tokio::runtime::Handle, key: Sr25519Keyring) -> Self {
|
||||
TestNodeBuilder {
|
||||
key,
|
||||
para_id,
|
||||
task_executor,
|
||||
tokio_handle,
|
||||
collator_key: None,
|
||||
parachain_nodes: Vec::new(),
|
||||
parachain_nodes_exclusive: false,
|
||||
@@ -503,7 +503,7 @@ impl TestNodeBuilder {
|
||||
let parachain_config = node_config(
|
||||
self.storage_update_func_parachain
|
||||
.unwrap_or_else(|| Box::new(|| ())),
|
||||
self.task_executor.clone(),
|
||||
self.tokio_handle.clone(),
|
||||
self.key.clone(),
|
||||
self.parachain_nodes,
|
||||
self.parachain_nodes_exclusive,
|
||||
@@ -514,7 +514,7 @@ impl TestNodeBuilder {
|
||||
let mut relay_chain_config = polkadot_test_service::node_config(
|
||||
self.storage_update_func_relay_chain
|
||||
.unwrap_or_else(|| Box::new(|| ())),
|
||||
self.task_executor,
|
||||
self.tokio_handle,
|
||||
self.key,
|
||||
self.relay_chain_nodes,
|
||||
false,
|
||||
@@ -557,7 +557,7 @@ impl TestNodeBuilder {
|
||||
/// adjustments to the runtime genesis.
|
||||
pub fn node_config(
|
||||
storage_update_func: impl Fn(),
|
||||
task_executor: TaskExecutor,
|
||||
tokio_handle: tokio::runtime::Handle,
|
||||
key: Sr25519Keyring,
|
||||
nodes: Vec<MultiaddrWithPeerId>,
|
||||
nodes_exlusive: bool,
|
||||
@@ -609,7 +609,7 @@ pub fn node_config(
|
||||
impl_name: "cumulus-test-node".to_string(),
|
||||
impl_version: "0.1".to_string(),
|
||||
role,
|
||||
task_executor,
|
||||
tokio_handle,
|
||||
transaction_pool: Default::default(),
|
||||
network: network_config,
|
||||
keystore: KeystoreConfig::InMemory,
|
||||
@@ -637,7 +637,6 @@ pub fn node_config(
|
||||
rpc_ws: None,
|
||||
rpc_ipc: None,
|
||||
rpc_ws_max_connections: None,
|
||||
rpc_http_threads: None,
|
||||
rpc_cors: None,
|
||||
rpc_methods: Default::default(),
|
||||
rpc_max_payload: None,
|
||||
@@ -747,13 +746,13 @@ pub fn construct_extrinsic(
|
||||
/// This is essentially a wrapper around
|
||||
/// [`run_validator_node`](polkadot_test_service::run_validator_node).
|
||||
pub fn run_relay_chain_validator_node(
|
||||
task_executor: TaskExecutor,
|
||||
tokio_handle: tokio::runtime::Handle,
|
||||
key: Sr25519Keyring,
|
||||
storage_update_func: impl Fn(),
|
||||
boot_nodes: Vec<MultiaddrWithPeerId>,
|
||||
) -> polkadot_test_service::PolkadotTestNode {
|
||||
polkadot_test_service::run_validator_node(
|
||||
task_executor,
|
||||
tokio_handle,
|
||||
key,
|
||||
storage_update_func,
|
||||
boot_nodes,
|
||||
|
||||
@@ -17,23 +17,24 @@
|
||||
use cumulus_primitives_core::ParaId;
|
||||
use cumulus_test_service::{initial_head_data, run_relay_chain_validator_node, Keyring::*};
|
||||
use futures::join;
|
||||
use sc_service::TaskExecutor;
|
||||
|
||||
#[substrate_test_utils::test]
|
||||
#[ignore]
|
||||
async fn test_collating_and_non_collator_mode_catching_up(task_executor: TaskExecutor) {
|
||||
async fn test_collating_and_non_collator_mode_catching_up() {
|
||||
let mut builder = sc_cli::LoggerBuilder::new("");
|
||||
builder.with_colors(false);
|
||||
let _ = builder.init();
|
||||
|
||||
let para_id = ParaId::from(100);
|
||||
|
||||
let tokio_handle = tokio::runtime::Handle::current();
|
||||
|
||||
// start alice
|
||||
let alice = run_relay_chain_validator_node(task_executor.clone(), Alice, || {}, vec![]);
|
||||
let alice = run_relay_chain_validator_node(tokio_handle.clone(), Alice, || {}, vec![]);
|
||||
|
||||
// start bob
|
||||
let bob =
|
||||
run_relay_chain_validator_node(task_executor.clone(), Bob, || {}, vec![alice.addr.clone()]);
|
||||
run_relay_chain_validator_node(tokio_handle.clone(), Bob, || {}, vec![alice.addr.clone()]);
|
||||
|
||||
// register parachain
|
||||
alice
|
||||
@@ -49,7 +50,7 @@ async fn test_collating_and_non_collator_mode_catching_up(task_executor: TaskExe
|
||||
|
||||
// run cumulus charlie (a parachain collator)
|
||||
let charlie =
|
||||
cumulus_test_service::TestNodeBuilder::new(para_id, task_executor.clone(), Charlie)
|
||||
cumulus_test_service::TestNodeBuilder::new(para_id, tokio_handle.clone(), Charlie)
|
||||
.enable_collator()
|
||||
.connect_to_relay_chain_nodes(vec![&alice, &bob])
|
||||
.build()
|
||||
@@ -57,7 +58,7 @@ async fn test_collating_and_non_collator_mode_catching_up(task_executor: TaskExe
|
||||
charlie.wait_for_blocks(5).await;
|
||||
|
||||
// run cumulus dave (a parachain full node) and wait for it to sync some blocks
|
||||
let dave = cumulus_test_service::TestNodeBuilder::new(para_id, task_executor.clone(), Dave)
|
||||
let dave = cumulus_test_service::TestNodeBuilder::new(para_id, tokio_handle, Dave)
|
||||
.connect_to_parachain_node(&charlie)
|
||||
.connect_to_relay_chain_nodes(vec![&alice, &bob])
|
||||
.build()
|
||||
|
||||
@@ -17,25 +17,25 @@
|
||||
use cumulus_primitives_core::ParaId;
|
||||
use cumulus_test_service::{initial_head_data, run_relay_chain_validator_node, Keyring::*};
|
||||
use futures::{join, StreamExt};
|
||||
use sc_service::TaskExecutor;
|
||||
use sp_runtime::generic::BlockId;
|
||||
use sc_client_api::BlockchainEvents;
|
||||
|
||||
#[substrate_test_utils::test]
|
||||
#[ignore]
|
||||
async fn test_runtime_upgrade(task_executor: TaskExecutor) {
|
||||
async fn test_runtime_upgrade() {
|
||||
let mut builder = sc_cli::LoggerBuilder::new("runtime=debug");
|
||||
builder.with_colors(false);
|
||||
let _ = builder.init();
|
||||
|
||||
let para_id = ParaId::from(100);
|
||||
let tokio_handle = tokio::runtime::Handle::current();
|
||||
|
||||
// start alice
|
||||
let alice = run_relay_chain_validator_node(task_executor.clone(), Alice, || {}, vec![]);
|
||||
let alice = run_relay_chain_validator_node(tokio_handle.clone(), Alice, || {}, vec![]);
|
||||
|
||||
// start bob
|
||||
let bob =
|
||||
run_relay_chain_validator_node(task_executor.clone(), Bob, || {}, vec![alice.addr.clone()]);
|
||||
run_relay_chain_validator_node(tokio_handle.clone(), Bob, || {}, vec![alice.addr.clone()]);
|
||||
|
||||
// register parachain
|
||||
alice
|
||||
@@ -51,14 +51,14 @@ async fn test_runtime_upgrade(task_executor: TaskExecutor) {
|
||||
|
||||
// run cumulus charlie (a parachain collator)
|
||||
let charlie =
|
||||
cumulus_test_service::TestNodeBuilder::new(para_id, task_executor.clone(), Charlie)
|
||||
cumulus_test_service::TestNodeBuilder::new(para_id, tokio_handle.clone(), Charlie)
|
||||
.enable_collator()
|
||||
.connect_to_relay_chain_nodes(vec![&alice, &bob])
|
||||
.build()
|
||||
.await;
|
||||
|
||||
// run cumulus dave (a parachain full node)
|
||||
let dave = cumulus_test_service::TestNodeBuilder::new(para_id, task_executor.clone(), Dave)
|
||||
let dave = cumulus_test_service::TestNodeBuilder::new(para_id, tokio_handle, Dave)
|
||||
.connect_to_parachain_node(&charlie)
|
||||
.connect_to_relay_chain_nodes(vec![&alice, &bob])
|
||||
.build()
|
||||
|
||||
Reference in New Issue
Block a user