Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,008 changes: 536 additions & 472 deletions Cargo.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions collator/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ use log::{error, trace};
use futures::task::Spawn;
use futures::prelude::*;

use std::{fmt::Debug, marker::PhantomData, sync::Arc, time::Duration, pin::Pin};
use std::{marker::PhantomData, sync::Arc, time::Duration, pin::Pin};

use parking_lot::Mutex;

Expand Down Expand Up @@ -186,7 +186,7 @@ where
Box::pin(async move {
let parent_state_root = *last_head.header.state_root();

let mut proposer = proposer_future
let proposer = proposer_future
.await
.map_err(|e| {
error!(
Expand Down Expand Up @@ -453,7 +453,7 @@ mod tests {
type Transaction = sc_client_api::TransactionFor<test_client::Backend, Block>;

fn propose(
&mut self,
self,
_: InherentData,
digest: DigestFor<Block>,
_: Duration,
Expand Down
1 change: 1 addition & 0 deletions consensus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "cumulu
sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-api = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }

# polkadot deps
polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "cumulus-branch" }
Expand Down
4 changes: 4 additions & 0 deletions consensus/src/import_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ pub fn import_queue<Client, Block: BlockT, I>(
client: Arc<Client>,
block_import: I,
inherent_data_providers: InherentDataProviders,
spawner: &impl sp_core::traits::SpawnBlocking,
registry: Option<&substrate_prometheus_endpoint::Registry>,
) -> ClientResult<BasicQueue<Block, I::Transaction>>
where
I: BlockImport<Block, Error = ConsensusError> + Send + Sync + 'static,
Expand All @@ -119,5 +121,7 @@ where
Box::new(block_import),
None,
None,
spawner,
registry,
))
}
3 changes: 2 additions & 1 deletion parachain-upgrade/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ mod tests {
pub const MaximumBlockWeight: Weight = 1024;
pub const MaximumBlockLength: u32 = 2 * 1024;
pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);
pub const Version: RuntimeVersion = RuntimeVersion {
pub Version: RuntimeVersion = RuntimeVersion {
spec_name: sp_version::create_runtime_str!("test"),
impl_name: sp_version::create_runtime_str!("system-test"),
authoring_version: 1,
Expand All @@ -294,6 +294,7 @@ mod tests {
type Event = TestEvent;
type BlockHashCount = BlockHashCount;
type MaximumBlockWeight = MaximumBlockWeight;
type MaximumExtrinsicWeight = MaximumBlockWeight;
type MaximumBlockLength = MaximumBlockLength;
type AvailableBlockRatio = AvailableBlockRatio;
type Version = Version;
Expand Down
4 changes: 2 additions & 2 deletions runtime/src/validate_block/implementation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -206,10 +206,10 @@ impl<B: BlockT> Storage for WitnessStorage<B> {
}

fn storage_root(&mut self) -> Vec<u8> {
let root = delta_trie_root::<Layout<HashFor<B>>, _, _, _, _>(
let root = delta_trie_root::<Layout<HashFor<B>>, _, _, _, _, _>(
&mut self.witness_data,
self.storage_root.clone(),
self.overlay.drain(),
self.overlay.iter().map(|(k, v)| (k.as_ref(), v.as_ref().map(|v| v.as_ref()))),
).expect("Calculates storage root");

root.encode()
Expand Down
1 change: 1 addition & 0 deletions test/parachain/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,4 @@ pallet-transaction-payment = { git = "https://github.com/paritytech/substrate",
sp-arithmetic = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
sp-version = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
pallet-sudo = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
pallet-grandpa = { git = "https://github.com/paritytech/substrate", branch = "cumulus-branch" }
4 changes: 2 additions & 2 deletions test/parachain/runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ edition = '2018'

[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.0.6", default-features = false, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "1.3.0", default-features = false, features = ["derive"] }

# Substrate dependencies
sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "cumulus-branch" }
Expand Down Expand Up @@ -36,7 +36,7 @@ cumulus-runtime = { path = "../../../runtime", default-features = false }
cumulus-parachain-upgrade = { path = "../../../parachain-upgrade", default-features = false }

[build-dependencies]
wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "1.0.3" }
wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "1.0.6" }

[features]
default = ['std']
Expand Down
2 changes: 1 addition & 1 deletion test/parachain/runtime/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use wasm_builder_runner::WasmBuilder;
fn main() {
WasmBuilder::new()
.with_current_project()
.with_wasm_builder_from_git("https://github.com/paritytech/substrate.git", "0b30207969fdde85e0dad785750757399cd0e3e4")
.with_wasm_builder_from_crates("1.0.11")
.export_heap_base()
.import_memory()
.build()
Expand Down
15 changes: 11 additions & 4 deletions test/parachain/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));

use sp_api::impl_runtime_apis;
use sp_core::OpaqueMetadata;
use sp_runtime::traits::{BlakeTwo256, Block as BlockT, ConvertInto, StaticLookup, Verify};
use sp_runtime::{
create_runtime_str, generic, impl_opaque_keys,
traits::{BlakeTwo256, Block as BlockT, Saturating, StaticLookup, Verify},
transaction_validity::{TransactionSource, TransactionValidity},
AnySignature, ApplyExtrinsicResult,
};
Expand All @@ -37,7 +37,10 @@ use sp_version::RuntimeVersion;

// A few exports that help ease life for downstream crates.
pub use frame_support::{
construct_runtime, parameter_types, traits::Randomness, weights::Weight, StorageValue,
construct_runtime, parameter_types,
traits::Randomness,
weights::{IdentityFee, Weight},
StorageValue,
};
pub use pallet_balances::Call as BalancesCall;
pub use pallet_timestamp::Call as TimestampCall;
Expand Down Expand Up @@ -131,6 +134,9 @@ pub fn native_version() -> NativeVersion {
parameter_types! {
pub const BlockHashCount: BlockNumber = 250;
pub const MaximumBlockWeight: Weight = 1_000_000;
/// Assume 10% of weight for average on_initialize calls.
pub MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get()
.saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get();
pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);
pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;
pub const Version: RuntimeVersion = VERSION;
Expand Down Expand Up @@ -176,6 +182,7 @@ impl frame_system::Trait for Runtime {
type DbWeight = ();
type ExtrinsicBaseWeight = ExtrinsicBaseWeight;
type BlockExecutionWeight = ();
type MaximumExtrinsicWeight = MaximumExtrinsicWeight;
}

parameter_types! {
Expand Down Expand Up @@ -221,7 +228,7 @@ impl pallet_transaction_payment::Trait for Runtime {
type Currency = Balances;
type OnTransactionPayment = ();
type TransactionByteFee = TransactionByteFee;
type WeightToFee = ConvertInto;
type WeightToFee = IdentityFee<Balance>;
type FeeMultiplierUpdate = ();
}

Expand Down Expand Up @@ -263,7 +270,7 @@ pub type SignedBlock = generic::SignedBlock<Block>;
pub type BlockId = generic::BlockId<Block>;
/// The SignedExtension to the basic transaction logic.
pub type SignedExtra = (
frame_system::CheckVersion<Runtime>,
frame_system::CheckSpecVersion<Runtime>,
frame_system::CheckGenesis<Runtime>,
frame_system::CheckEra<Runtime>,
frame_system::CheckNonce<Runtime>,
Expand Down
14 changes: 13 additions & 1 deletion test/parachain/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,20 @@ macro_rules! new_full_start {
let pool = sc_transaction_pool::BasicPool::new(config, pool_api, prometheus_registry);
Ok(pool)
})?
.with_import_queue(|_config, client, _, _| {
.with_import_queue(|
_config,
client,
_,
_,
spawn_task_handle,
registry,
| {
let import_queue = cumulus_consensus::import_queue::import_queue(
client.clone(),
client,
inherent_data_providers.clone(),
spawn_task_handle,
registry,
)?;

Ok(import_queue)
Expand Down Expand Up @@ -92,9 +101,12 @@ pub fn run_collator(
})?
.build()?;

let registry = service.prometheus_registry();

let proposer_factory = sc_basic_authorship::ProposerFactory::new(
service.client(),
service.transaction_pool(),
registry.as_ref(),
);

let block_import = service.client();
Expand Down
21 changes: 14 additions & 7 deletions test/parachain/tests/integration_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ use futures::{future::FutureExt, join, pin_mut, select};
use jsonrpsee::{raw::RawClient, transport::http::HttpTransportClient};
use polkadot_primitives::parachain::{Info, Scheduling};
use polkadot_primitives::Hash as PHash;
use polkadot_runtime::{Header, OnlyStakingAndClaims, Runtime, SignedExtra, SignedPayload};
use polkadot_runtime_common::{parachains, registrar, BlockHashCount};
use polkadot_runtime::{Header, Runtime, SignedExtra, SignedPayload, IsCallable};
use polkadot_runtime_common::{parachains, registrar, BlockHashCount, claims, TransactionCallFilter};
use serde_json::Value;
use sp_arithmetic::traits::SaturatedConversion;
use sp_runtime::generic;
Expand Down Expand Up @@ -166,6 +166,7 @@ async fn wait_for_blocks(number_of_blocks: usize, mut client: &mut RawClient<Htt

#[async_std::test]
#[ignore]
#[cfg(feature = "disabled")]
async fn integration_test() {
assert!(
!net::TcpStream::connect("127.0.0.1:27015").await.is_ok(),
Expand All @@ -192,7 +193,7 @@ async fn integration_test() {
.arg("--base-path")
.arg(polkadot_alice_dir.path())
.arg("--alice")
.arg("--unsafe-rpc-expose")
.arg("--rpc-methods=unsafe")
.arg("--rpc-port=27015")
.arg("--port=27115")
.spawn()
Expand All @@ -208,7 +209,7 @@ async fn integration_test() {
.arg("--base-path")
.arg(polkadot_bob_dir.path())
.arg("--bob")
.arg("--unsafe-rpc-expose")
.arg("--rpc-methods=unsafe")
.arg("--rpc-port=27016")
.arg("--port=27116")
.spawn()
Expand Down Expand Up @@ -291,29 +292,35 @@ async fn integration_test() {
.unwrap_or(2) as u64;
let tip = 0;
let extra: SignedExtra = (
OnlyStakingAndClaims,
frame_system::CheckVersion::<Runtime>::new(),
TransactionCallFilter::<IsCallable, polkadot_runtime::Call>::new(),
frame_system::CheckSpecVersion::<Runtime>::new(),
frame_system::CheckTxVersion::<Runtime>::new(),
frame_system::CheckGenesis::<Runtime>::new(),
frame_system::CheckEra::<Runtime>::from(generic::Era::mortal(period, current_block)),
frame_system::CheckNonce::<Runtime>::from(nonce),
frame_system::CheckWeight::<Runtime>::new(),
pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
registrar::LimitParathreadCommits::<Runtime>::new(),
parachains::ValidateDoubleVoteReports::<Runtime>::new(),
pallet_grandpa::ValidateEquivocationReport::<Runtime>::new(),
claims::PrevalidateAttests::<Runtime>::new(),
);
let raw_payload = SignedPayload::from_raw(
call.clone().into(),
extra.clone(),
(
(),
runtime_version.spec_version,
runtime_version.transaction_version,
genesis_block,
current_block_hash,
(),
(),
(),
(),
(),
(),
(),
),
);
let signature = raw_payload.using_encoded(|e| Alice.sign(e));
Expand All @@ -337,7 +344,7 @@ async fn integration_test() {
.stderr(Stdio::piped())
.arg("--base-path")
.arg(cumulus_charlie_dir.path())
.arg("--unsafe-rpc-expose")
.arg("--rpc-methods=unsafe")
.arg("--rpc-port=27017")
.arg("--port=27117")
.arg("--")
Expand Down
4 changes: 2 additions & 2 deletions test/runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ build = "build.rs"

[dependencies]
runtime = { package = "cumulus-runtime", path = "../../runtime", default-features = false }
substrate-test-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "cumulus-branch" }
substrate-test-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "cumulus-branch", version = "2.0.0-rc2" }

[build-dependencies]
wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = " 1.0.2" }
wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = " 1.0.6" }

[features]
default = ["std"]
Expand Down
2 changes: 1 addition & 1 deletion test/runtime/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use wasm_builder_runner::WasmBuilder;
fn main() {
WasmBuilder::new()
.with_current_project()
.with_wasm_builder_from_git("https://github.com/paritytech/substrate.git", "0b30207969fdde85e0dad785750757399cd0e3e4")
.with_wasm_builder_from_crates("1.0.11")
.export_heap_base()
.import_memory()
.build()
Expand Down