From 1217b2cf80a7f55d3485bd8196ed9caff5a0ad8e Mon Sep 17 00:00:00 2001
From: Branislav Kontur <bkontur@gmail.com>
Date: Thu, 17 Nov 2022 07:30:27 +0100
Subject: [PATCH] Small fix after rebase (#1644)

---
 .../chain-bridge-hub-rococo/src/lib.rs        | 40 +++++++++++++++--
 .../chain-bridge-hub-wococo/src/lib.rs        | 45 ++++++++++++++++---
 2 files changed, 74 insertions(+), 11 deletions(-)

diff --git a/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs b/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
index 32e8eb646a3..0d1a81be102 100644
--- a/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
+++ b/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Parity Technologies (UK) Ltd.
+// Copyright 2022 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
@@ -21,19 +21,51 @@
 
 use bp_messages::*;
 pub use bp_polkadot_core::*;
-use bp_runtime::{decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis};
+use bp_runtime::{
+	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, Chain, Parachain,
+};
 use frame_support::{
+	dispatch::DispatchClass,
 	parameter_types,
 	sp_runtime::{FixedU128, MultiAddress, MultiSigner},
 	weights::{
 		constants::ExtrinsicBaseWeight, WeightToFeeCoefficient, WeightToFeeCoefficients,
 		WeightToFeePolynomial,
 	},
-	Parameter,
+	Parameter, RuntimeDebug,
 };
 use sp_std::prelude::*;
 
-pub type BridgeHubRococo = PolkadotLike;
+/// BridgeHubRococo parachain.
+#[derive(RuntimeDebug)]
+pub struct BridgeHubRococo;
+
+impl Chain for BridgeHubRococo {
+	type BlockNumber = BlockNumber;
+	type Hash = Hash;
+	type Hasher = Hasher;
+	type Header = Header;
+
+	type AccountId = AccountId;
+	type Balance = Balance;
+	type Index = Index;
+	type Signature = Signature;
+
+	fn max_extrinsic_size() -> u32 {
+		*BlockLength::get().max.get(DispatchClass::Normal)
+	}
+
+	fn max_extrinsic_weight() -> Weight {
+		BlockWeights::get()
+			.get(DispatchClass::Normal)
+			.max_extrinsic
+			.unwrap_or(Weight::MAX)
+	}
+}
+
+impl Parachain for BridgeHubRococo {
+	const PARACHAIN_ID: u32 = BRIDGE_HUB_ROCOCO_PARACHAIN_ID;
+}
 
 /// [`WeightToFee`] should reflect cumulus/bridge-hub-rococo-runtime [`WeightToFee`]
 pub struct WeightToFee;
diff --git a/bridges/primitives/chain-bridge-hub-wococo/src/lib.rs b/bridges/primitives/chain-bridge-hub-wococo/src/lib.rs
index 93f0d78dfd8..33c4dcca127 100644
--- a/bridges/primitives/chain-bridge-hub-wococo/src/lib.rs
+++ b/bridges/primitives/chain-bridge-hub-wococo/src/lib.rs
@@ -25,19 +25,50 @@
 // Re-export only what is really needed
 pub use bp_bridge_hub_rococo::{
 	account_info_storage_key, AccountId, AccountPublic, AccountSigner, Address, Balance,
-	BlockNumber, Hash, Hashing, Header, Nonce, SS58Prefix, Signature, SignedBlock,
-	SignedExtensions, UncheckedExtrinsic, WeightToFee, ADDITIONAL_MESSAGE_BYTE_DELIVERY_WEIGHT,
-	DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT, EXTRA_STORAGE_PROOF_SIZE,
-	MAX_SINGLE_MESSAGE_DELIVERY_CONFIRMATION_TX_WEIGHT,
+	BlockLength, BlockNumber, BlockWeights, Hash, Hasher, Hashing, Header, Index, Nonce,
+	SS58Prefix, Signature, SignedBlock, SignedExtensions, UncheckedExtrinsic, WeightToFee,
+	ADDITIONAL_MESSAGE_BYTE_DELIVERY_WEIGHT, DEFAULT_MESSAGE_DELIVERY_TX_WEIGHT,
+	EXTRA_STORAGE_PROOF_SIZE, MAX_SINGLE_MESSAGE_DELIVERY_CONFIRMATION_TX_WEIGHT,
 	MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX, MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX,
 	PAY_INBOUND_DISPATCH_FEE_WEIGHT, TX_EXTRA_BYTES,
 };
 use bp_messages::*;
-use bp_runtime::{decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis};
-use frame_support::{sp_runtime::FixedU128, Parameter};
+use bp_runtime::{
+	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, Chain, Parachain,
+};
+use frame_support::{dispatch::DispatchClass, sp_runtime::FixedU128, Parameter, RuntimeDebug};
 use sp_std::prelude::*;
 
-pub type BridgeHubWococo = bp_bridge_hub_rococo::BridgeHubRococo;
+/// BridgeHubWococo parachain.
+#[derive(RuntimeDebug)]
+pub struct BridgeHubWococo;
+
+impl Chain for BridgeHubWococo {
+	type BlockNumber = BlockNumber;
+	type Hash = Hash;
+	type Hasher = Hasher;
+	type Header = Header;
+
+	type AccountId = AccountId;
+	type Balance = Balance;
+	type Index = Index;
+	type Signature = Signature;
+
+	fn max_extrinsic_size() -> u32 {
+		*BlockLength::get().max.get(DispatchClass::Normal)
+	}
+
+	fn max_extrinsic_weight() -> Weight {
+		BlockWeights::get()
+			.get(DispatchClass::Normal)
+			.max_extrinsic
+			.unwrap_or(Weight::MAX)
+	}
+}
+
+impl Parachain for BridgeHubWococo {
+	const PARACHAIN_ID: u32 = BRIDGE_HUB_WOCOCO_PARACHAIN_ID;
+}
 
 /// Identifier of BridgeHubWococo in the Wococo relay chain.
 pub const BRIDGE_HUB_WOCOCO_PARACHAIN_ID: u32 = 1013;
-- 
GitLab