b6d35f6faf
Updated 4763 files with dual copyright: - Parity Technologies (UK) Ltd. - Dijital Kurdistan Tech Institute
94 lines
3.2 KiB
Rust
94 lines
3.2 KiB
Rust
// Copyright (C) Parity Technologies (UK) Ltd. and Dijital Kurdistan Tech Institute
|
|
// This file is part of Pezkuwi.
|
|
|
|
// Pezkuwi is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Pezkuwi is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Pezkuwi. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
use pezkuwi_node_subsystem::HeadSupportsTeyrchains;
|
|
use pezkuwi_node_subsystem_types::Hash;
|
|
use pezsp_consensus::SyncOracle;
|
|
|
|
pub mod approval_voting_parallel;
|
|
pub mod av_store;
|
|
pub mod availability_recovery;
|
|
pub mod candidate_backing;
|
|
pub mod candidate_validation;
|
|
pub mod chain_api;
|
|
pub mod dummy;
|
|
pub mod network_bridge;
|
|
pub mod prospective_teyrchains;
|
|
pub mod runtime_api;
|
|
|
|
pub struct AlwaysSupportsTeyrchains {}
|
|
|
|
#[async_trait::async_trait]
|
|
impl HeadSupportsTeyrchains for AlwaysSupportsTeyrchains {
|
|
async fn head_supports_teyrchains(&self, _head: &Hash) -> bool {
|
|
true
|
|
}
|
|
}
|
|
|
|
// An orchestra with dummy subsystems
|
|
#[macro_export]
|
|
macro_rules! dummy_builder {
|
|
($spawn_task_handle: ident, $metrics: ident) => {{
|
|
use $crate::mock::dummy::*;
|
|
|
|
// Initialize a mock overseer.
|
|
// All subsystem except approval_voting and approval_distribution are mock subsystems.
|
|
Overseer::builder()
|
|
.approval_voting(MockApprovalVoting {})
|
|
.approval_voting_parallel(MockApprovalVotingParallel {})
|
|
.approval_distribution(MockApprovalDistribution {})
|
|
.availability_recovery(MockAvailabilityRecovery {})
|
|
.candidate_validation(MockCandidateValidation {})
|
|
.chain_api(MockChainApi {})
|
|
.chain_selection(MockChainSelection {})
|
|
.dispute_coordinator(MockDisputeCoordinator {})
|
|
.runtime_api(MockRuntimeApi {})
|
|
.network_bridge_tx(MockNetworkBridgeTx {})
|
|
.availability_distribution(MockAvailabilityDistribution {})
|
|
.availability_store(MockAvailabilityStore {})
|
|
.pvf_checker(MockPvfChecker {})
|
|
.candidate_backing(MockCandidateBacking {})
|
|
.statement_distribution(MockStatementDistribution {})
|
|
.bitfield_signing(MockBitfieldSigning {})
|
|
.bitfield_distribution(MockBitfieldDistribution {})
|
|
.provisioner(MockProvisioner {})
|
|
.network_bridge_rx(MockNetworkBridgeRx {})
|
|
.collation_generation(MockCollationGeneration {})
|
|
.collator_protocol(MockCollatorProtocol {})
|
|
.gossip_support(MockGossipSupport {})
|
|
.dispute_distribution(MockDisputeDistribution {})
|
|
.prospective_teyrchains(MockProspectiveTeyrchains {})
|
|
.activation_external_listeners(Default::default())
|
|
.active_leaves(Default::default())
|
|
.metrics($metrics)
|
|
.supports_teyrchains(AlwaysSupportsTeyrchains {})
|
|
.spawner(SpawnGlue($spawn_task_handle))
|
|
}};
|
|
}
|
|
|
|
#[derive(Clone)]
|
|
pub struct TestSyncOracle {}
|
|
|
|
impl SyncOracle for TestSyncOracle {
|
|
fn is_major_syncing(&self) -> bool {
|
|
false
|
|
}
|
|
|
|
fn is_offline(&self) -> bool {
|
|
unimplemented!("not used by subsystem benchmarks")
|
|
}
|
|
}
|