// Copyright 2019-2021 Parity Technologies (UK) Ltd. // This file is part of Parity Bridges Common. // Parity Bridges Common 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. // Parity Bridges Common 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 Parity Bridges Common. If not, see . #![cfg_attr(not(feature = "std"), no_std)] // RuntimeApi generated functions #![allow(clippy::too_many_arguments)] use scale_info::TypeInfo; pub use bp_polkadot_core::*; use bp_runtime::decl_bridge_finality_runtime_apis; /// Westend Chain pub type Westend = PolkadotLike; /// Westend Runtime `Call` enum. /// /// We are not currently submitting any Westend transactions => it is empty. #[derive(codec::Encode, codec::Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] pub enum Call {} impl sp_runtime::traits::Dispatchable for Call { type Origin = (); type Config = (); type Info = (); type PostInfo = (); fn dispatch(self, _origin: Self::Origin) -> sp_runtime::DispatchResultWithInfo { unimplemented!("The Call is not expected to be dispatched.") } } /// Name of the parachains pallet at the Westend runtime. pub const PARAS_PALLET_NAME: &str = "Paras"; /// Name of the With-Westend GRANDPA pallet instance that is deployed at bridged chains. pub const WITH_WESTEND_GRANDPA_PALLET_NAME: &str = "BridgeWestendGrandpa"; /// Name of the With-Westend parachains bridge pallet instance that is deployed at bridged chains. pub const WITH_WESTEND_BRIDGE_PARAS_PALLET_NAME: &str = "BridgeWestendParachains"; /// The target length of a session (how often authorities change) on Westend measured in of number /// of blocks. /// /// Note that since this is a target sessions may change before/after this time depending on network /// conditions. pub const SESSION_LENGTH: BlockNumber = 10 * time_units::MINUTES; /// Maximal number of GRANDPA authorities at Westend. /// /// Corresponds to the `MaxAuthorities` constant value from the Westend runtime configuration. pub const MAX_AUTHORITIES_COUNT: u32 = 100_000; /// Maximal SCALE-encoded header size (in bytes) at Westend. /// /// Let's assume that the largest header is header that enacts new authorities set with /// `MAX_AUTHORITES_COUNT`. Every authority means 32-byte key and 8-byte weight. Let's also have /// some fixed reserve for other things (digest, block hash and number, ...) as well. pub const MAX_HEADER_SIZE: u32 = 4096 + MAX_AUTHORITIES_COUNT * 40; /// Identifier of Westmint parachain at the Westend relay chain. pub const WESTMINT_PARACHAIN_ID: u32 = 2000; decl_bridge_finality_runtime_apis!(westend); decl_bridge_finality_runtime_apis!(westmint);