diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 240baea11..94008426b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -555,7 +555,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- test_name: [zombie_tanssi, zombie_tanssi_parathreads, zombie_tanssi_rotation, zombie_tanssi_warp_sync, zombie_tanssi_relay]
+ test_name: [zombie_tanssi, zombie_tanssi_parathreads, zombie_tanssi_rotation, zombie_tanssi_warp_sync, zombie_tanssi_relay, zombie_data_preservers]
steps:
- name: Checkout
uses: actions/checkout@v4
diff --git a/Cargo.lock b/Cargo.lock
index 51ada918d..dc2e61248 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1375,7 +1375,7 @@ dependencies = [
[[package]]
name = "ccp-authorities-noting-inherent"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1403,7 +1403,7 @@ dependencies = [
[[package]]
name = "ccp-xcm"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"frame-support",
"frame-system",
@@ -3115,6 +3115,7 @@ dependencies = [
"pallet-collator-assignment-runtime-api",
"pallet-configuration",
"pallet-data-preservers",
+ "pallet-data-preservers-runtime-api",
"pallet-foreign-asset-creator",
"pallet-identity",
"pallet-inflation-rewards",
@@ -3241,7 +3242,7 @@ dependencies = [
[[package]]
name = "dc-orchestrator-chain-interface"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -3252,6 +3253,7 @@ dependencies = [
"parity-scale-codec",
"polkadot-overseer",
"sc-client-api",
+ "serde",
"sp-api",
"sp-blockchain",
"sp-state-machine",
@@ -3486,7 +3488,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
name = "dp-chain-state-snapshot"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -3498,7 +3500,7 @@ dependencies = [
[[package]]
name = "dp-collator-assignment"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -3518,7 +3520,7 @@ dependencies = [
[[package]]
name = "dp-consensus"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -3535,7 +3537,7 @@ dependencies = [
[[package]]
name = "dp-container-chain-genesis-data"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -3557,7 +3559,7 @@ dependencies = [
[[package]]
name = "dp-core"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -3572,7 +3574,7 @@ dependencies = [
[[package]]
name = "dp-impl-tanssi-pallets-config"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"dp-consensus",
"frame-support",
@@ -3587,7 +3589,7 @@ dependencies = [
[[package]]
name = "dp-slot-duration-runtime-api"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -4456,6 +4458,7 @@ dependencies = [
"pallet-collator-assignment-runtime-api",
"pallet-configuration",
"pallet-data-preservers",
+ "pallet-data-preservers-runtime-api",
"pallet-identity",
"pallet-inflation-rewards",
"pallet-initializer",
@@ -8692,7 +8695,7 @@ dependencies = [
[[package]]
name = "pallet-cc-authorities-noting"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"ccp-authorities-noting-inherent",
"cumulus-pallet-parachain-system",
@@ -8861,6 +8864,17 @@ dependencies = [
"tp-traits",
]
+[[package]]
+name = "pallet-data-preservers-runtime-api"
+version = "0.1.0"
+dependencies = [
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-api",
+ "thiserror",
+]
+
[[package]]
name = "pallet-delegated-staking"
version = "4.0.0"
@@ -10253,7 +10267,7 @@ dependencies = [
[[package]]
name = "pallet-xcm-executor-utils"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -17084,6 +17098,7 @@ dependencies = [
"pallet-author-noting-runtime-api",
"pallet-collator-assignment-runtime-api",
"pallet-configuration",
+ "pallet-data-preservers-runtime-api",
"pallet-registrar-runtime-api",
"parity-scale-codec",
"polkadot-cli",
@@ -17505,6 +17520,8 @@ dependencies = [
"nimbus-primitives",
"node-common",
"pallet-author-noting-runtime-api",
+ "pallet-data-preservers",
+ "polkadot-overseer",
"polkadot-primitives",
"sc-basic-authorship",
"sc-chain-spec",
@@ -17538,6 +17555,7 @@ dependencies = [
"substrate-prometheus-endpoint",
"tc-consensus",
"tokio",
+ "tokio-stream",
"tokio-util",
]
@@ -17581,7 +17599,7 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
[[package]]
name = "test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#cf501fc2ad446b06256084b75a39bdb3c276eae4"
+source = "git+https://github.com/moondance-labs/dancekit?branch=tanssi-polkadot-stable2407#9d06202ad00322741f0556138ce5a2a4b2e12c69"
dependencies = [
"cumulus-primitives-core",
"dp-collator-assignment",
diff --git a/Cargo.toml b/Cargo.toml
index 18b84eb6d..563cc962f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -58,6 +58,7 @@ pallet-collator-assignment = { path = "pallets/collator-assignment", default-fea
pallet-collator-assignment-runtime-api = { path = "pallets/collator-assignment/runtime-api", default-features = false }
pallet-configuration = { path = "pallets/configuration", default-features = false }
pallet-data-preservers = { path = "pallets/data-preservers", default-features = false }
+pallet-data-preservers-runtime-api = { path = "pallets/data-preservers/runtime-api", default-features = false }
pallet-inflation-rewards = { path = "pallets/inflation-rewards", default-features = false }
pallet-initializer = { path = "pallets/initializer", default-features = false }
pallet-invulnerables = { path = "pallets/invulnerables", default-features = false }
diff --git a/client/consensus/src/mocks.rs b/client/consensus/src/mocks.rs
index 0e5ddc213..265c48faa 100644
--- a/client/consensus/src/mocks.rs
+++ b/client/consensus/src/mocks.rs
@@ -14,7 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Tanssi. If not, see .
-use polkadot_node_subsystem::messages::{RuntimeApiMessage, RuntimeApiRequest};
use {
crate::{
collators::lookahead::Params as LookAheadParams, OrchestratorAuraWorkerAuxData,
@@ -29,14 +28,14 @@ use {
CommittedCandidateReceipt, OverseerHandle, RelayChainInterface, RelayChainResult,
StorageValue,
},
- futures::channel::oneshot,
- futures::prelude::*,
+ futures::{channel::oneshot, prelude::*},
nimbus_primitives::{
CompatibleDigestItem, NimbusId, NimbusPair, NIMBUS_ENGINE_ID, NIMBUS_KEY_ID,
},
pallet_xcm_core_buyer_runtime_api::BuyingError,
parity_scale_codec::Encode,
polkadot_core_primitives::{Header as PHeader, InboundDownwardMessage, InboundHrmpMessage},
+ polkadot_node_subsystem::messages::{RuntimeApiMessage, RuntimeApiRequest},
polkadot_overseer::dummy::dummy_overseer_builder,
polkadot_parachain_primitives::primitives::HeadData,
polkadot_primitives::{
@@ -513,8 +512,10 @@ impl sc_consensus::Verifier for SealExtractorVerfier {
}
}
-use cumulus_primitives_core::relay_chain::ValidationCodeHash;
-use polkadot_node_subsystem::{overseer, OverseerSignal};
+use {
+ cumulus_primitives_core::relay_chain::ValidationCodeHash,
+ polkadot_node_subsystem::{overseer, OverseerSignal},
+};
pub struct DummyCodeHashProvider;
impl ValidationCodeHashProvider for DummyCodeHashProvider {
diff --git a/client/orchestrator-chain-rpc-interface/src/lib.rs b/client/orchestrator-chain-rpc-interface/src/lib.rs
index de91a71ff..b0385dbbf 100644
--- a/client/orchestrator-chain-rpc-interface/src/lib.rs
+++ b/client/orchestrator-chain-rpc-interface/src/lib.rs
@@ -20,8 +20,9 @@ use {
async_trait::async_trait,
core::pin::Pin,
dc_orchestrator_chain_interface::{
- BlockNumber, ContainerChainGenesisData, OrchestratorChainError, OrchestratorChainInterface,
- OrchestratorChainResult, PHash, PHeader,
+ BlockNumber, ContainerChainGenesisData, DataPreserverAssignment, DataPreserverProfileId,
+ OrchestratorChainError, OrchestratorChainInterface, OrchestratorChainResult, PHash,
+ PHeader,
},
dp_core::ParaId,
futures::{Stream, StreamExt},
@@ -114,7 +115,7 @@ impl OrchestratorChainRpcClient {
};
let res = self
.request_tracing::("state_call", params, |err| {
- tracing::trace!(
+ tracing::debug!(
target: LOG_TARGET,
%method_name,
%hash,
@@ -289,8 +290,12 @@ impl OrchestratorChainInterface for OrchestratorChainRpcClient {
orchestrator_parent: PHash,
para_id: ParaId,
) -> OrchestratorChainResult