difftreelog
refactor optimize common runtime imports
in: master
7 files changed
runtime/common/config/ethereum.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -9,7 +9,7 @@
runtime_common::{
constants::*,
dispatch::CollectionDispatchT,
- ethereum::{EvmSponsorshipHandler},
+ ethereum::sponsoring::EvmSponsorshipHandler,
config::sponsoring::DefaultSponsoringRateLimit,
DealWithFees,
},
runtime/common/config/mod.rsdiffbeforeafterboth--- a/runtime/common/config/mod.rs
+++ b/runtime/common/config/mod.rs
@@ -21,13 +21,3 @@
pub mod parachain;
pub mod xcm;
pub mod orml;
-
-pub use {
- substrate::*,
- ethereum::*,
- sponsoring::*,
- pallets::*,
- parachain::*,
- self::xcm::*,
- orml::*,
-};
runtime/common/config/pallets/mod.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -14,10 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-use frame_support::{
- // weights::{Weight, constants::WEIGHT_PER_SECOND},
- parameter_types,
-};
+use frame_support::parameter_types;
use sp_runtime::traits::AccountIdConversion;
use crate::{
runtime_common::{
runtime/common/ethereum/mod.rsdiffbeforeafterboth--- a/runtime/common/ethereum/mod.rs
+++ b/runtime/common/ethereum/mod.rs
@@ -17,9 +17,3 @@
pub mod sponsoring;
pub mod transaction_converter;
pub mod self_contained_call;
-
-pub use {
- sponsoring::*,
- transaction_converter::*,
- self_contained_call::*,
-};
runtime/common/instance.rsdiffbeforeafterboth--- a/runtime/common/instance.rs
+++ b/runtime/common/instance.rs
@@ -1,7 +1,7 @@
use crate::{
runtime_common::{
config::ethereum::CrossAccountId,
- ethereum::TransactionConverter
+ ethereum::transaction_converter::TransactionConverter
},
Runtime,
};
runtime/common/mod.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617mod constants;18mod construct_runtime;19mod dispatch;20mod runtime_apis;21mod sponsoring;22mod weights;23mod config;24mod instance;25mod ethereum;26mod scheduler;2728pub use {29 constants::*,30 dispatch::*,31 sponsoring::*,32 weights::*,33 config::*,34 instance::*,35 ethereum::*,36};3738use sp_core::H160;39use frame_support::traits::{Currency, OnUnbalanced, Imbalance};40use sp_runtime::{41 generic,42 traits::{BlakeTwo256, BlockNumberProvider},43 impl_opaque_keys,44};45use sp_std::vec::Vec;4647#[cfg(feature = "std")]48use sp_version::NativeVersion;4950use crate::{51 Runtime, Call, Balances, Treasury, Aura, Signature, AllPalletsReversedWithSystemFirst,52 InherentDataExt,53};54use common_types::{AccountId, BlockNumber};5556/// The address format for describing accounts.57pub type Address = sp_runtime::MultiAddress<AccountId, ()>;58/// Block header type as expected by this runtime.59pub type Header = generic::Header<BlockNumber, BlakeTwo256>;60/// Block type as expected by this runtime.61pub type Block = generic::Block<Header, UncheckedExtrinsic>;62/// A Block signed with a Justification63pub type SignedBlock = generic::SignedBlock<Block>;64/// BlockId type as expected by this runtime.65pub type BlockId = generic::BlockId<Block>;6667impl_opaque_keys! {68 pub struct SessionKeys {69 pub aura: Aura,70 }71}7273/// The version information used to identify this runtime when compiled natively.74#[cfg(feature = "std")]75pub fn native_version() -> NativeVersion {76 NativeVersion {77 runtime_version: crate::VERSION,78 can_author_with: Default::default(),79 }80}8182pub type ChargeTransactionPayment = pallet_charge_transaction::ChargeTransactionPayment<Runtime>;8384pub type SignedExtra = (85 frame_system::CheckSpecVersion<Runtime>,86 // system::CheckTxVersion<Runtime>,87 frame_system::CheckGenesis<Runtime>,88 frame_system::CheckEra<Runtime>,89 frame_system::CheckNonce<Runtime>,90 frame_system::CheckWeight<Runtime>,91 ChargeTransactionPayment,92 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,93 pallet_ethereum::FakeTransactionFinalizer<Runtime>,94);9596/// Unchecked extrinsic type as expected by this runtime.97pub type UncheckedExtrinsic =98 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;99100/// Extrinsic type that has already been checked.101pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;102103/// Executive: handles dispatch to the various modules.104pub type Executive = frame_executive::Executive<105 Runtime,106 Block,107 frame_system::ChainContext<Runtime>,108 Runtime,109 AllPalletsReversedWithSystemFirst,110>;111112type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;113114pub struct DealWithFees;115impl OnUnbalanced<NegativeImbalance> for DealWithFees {116 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {117 if let Some(fees) = fees_then_tips.next() {118 // for fees, 100% to treasury119 let mut split = fees.ration(100, 0);120 if let Some(tips) = fees_then_tips.next() {121 // for tips, if any, 100% to treasury122 tips.ration_merge_into(100, 0, &mut split);123 }124 Treasury::on_unbalanced(split.0);125 // Author::on_unbalanced(split.1);126 }127 }128}129130pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);131132impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider133 for RelayChainBlockNumberProvider<T>134{135 type BlockNumber = BlockNumber;136137 fn current_block_number() -> Self::BlockNumber {138 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()139 .map(|d| d.relay_parent_number)140 .unwrap_or_default()141 }142}143144pub(crate) struct CheckInherents;145146impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {147 fn check_inherents(148 block: &Block,149 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,150 ) -> sp_inherents::CheckInherentsResult {151 let relay_chain_slot = relay_state_proof152 .read_slot()153 .expect("Could not read the relay chain slot from the proof");154155 let inherent_data =156 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(157 relay_chain_slot,158 sp_std::time::Duration::from_secs(6),159 )160 .create_inherent_data()161 .expect("Could not create the timestamp inherent data");162163 inherent_data.check_extrinsics(block)164 }165}166167#[derive(codec::Encode, codec::Decode)]168pub enum XCMPMessage<XAccountId, XBalance> {169 /// Transfer tokens to the given account from the Parachain account.170 TransferToken(XAccountId, XBalance),171}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617pub mod constants;18pub mod construct_runtime;19pub mod dispatch;20pub mod runtime_apis;21pub mod sponsoring;22pub mod weights;23pub mod config;24pub mod instance;25pub mod ethereum;26pub mod scheduler;2728use sp_core::H160;29use frame_support::traits::{Currency, OnUnbalanced, Imbalance};30use sp_runtime::{31 generic,32 traits::{BlakeTwo256, BlockNumberProvider},33 impl_opaque_keys,34};35use sp_std::vec::Vec;3637#[cfg(feature = "std")]38use sp_version::NativeVersion;3940use crate::{41 Runtime, Call, Balances, Treasury, Aura, Signature, AllPalletsReversedWithSystemFirst,42 InherentDataExt,43};44use common_types::{AccountId, BlockNumber};4546/// The address format for describing accounts.47pub type Address = sp_runtime::MultiAddress<AccountId, ()>;48/// Block header type as expected by this runtime.49pub type Header = generic::Header<BlockNumber, BlakeTwo256>;50/// Block type as expected by this runtime.51pub type Block = generic::Block<Header, UncheckedExtrinsic>;52/// A Block signed with a Justification53pub type SignedBlock = generic::SignedBlock<Block>;54/// BlockId type as expected by this runtime.55pub type BlockId = generic::BlockId<Block>;5657impl_opaque_keys! {58 pub struct SessionKeys {59 pub aura: Aura,60 }61}6263/// The version information used to identify this runtime when compiled natively.64#[cfg(feature = "std")]65pub fn native_version() -> NativeVersion {66 NativeVersion {67 runtime_version: crate::VERSION,68 can_author_with: Default::default(),69 }70}7172pub type ChargeTransactionPayment = pallet_charge_transaction::ChargeTransactionPayment<Runtime>;7374pub type SignedExtra = (75 frame_system::CheckSpecVersion<Runtime>,76 // system::CheckTxVersion<Runtime>,77 frame_system::CheckGenesis<Runtime>,78 frame_system::CheckEra<Runtime>,79 frame_system::CheckNonce<Runtime>,80 frame_system::CheckWeight<Runtime>,81 ChargeTransactionPayment,82 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,83 pallet_ethereum::FakeTransactionFinalizer<Runtime>,84);8586/// Unchecked extrinsic type as expected by this runtime.87pub type UncheckedExtrinsic =88 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;8990/// Extrinsic type that has already been checked.91pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;9293/// Executive: handles dispatch to the various modules.94pub type Executive = frame_executive::Executive<95 Runtime,96 Block,97 frame_system::ChainContext<Runtime>,98 Runtime,99 AllPalletsReversedWithSystemFirst,100>;101102type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;103104pub struct DealWithFees;105impl OnUnbalanced<NegativeImbalance> for DealWithFees {106 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {107 if let Some(fees) = fees_then_tips.next() {108 // for fees, 100% to treasury109 let mut split = fees.ration(100, 0);110 if let Some(tips) = fees_then_tips.next() {111 // for tips, if any, 100% to treasury112 tips.ration_merge_into(100, 0, &mut split);113 }114 Treasury::on_unbalanced(split.0);115 // Author::on_unbalanced(split.1);116 }117 }118}119120pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);121122impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider123 for RelayChainBlockNumberProvider<T>124{125 type BlockNumber = BlockNumber;126127 fn current_block_number() -> Self::BlockNumber {128 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()129 .map(|d| d.relay_parent_number)130 .unwrap_or_default()131 }132}133134pub(crate) struct CheckInherents;135136impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {137 fn check_inherents(138 block: &Block,139 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,140 ) -> sp_inherents::CheckInherentsResult {141 let relay_chain_slot = relay_state_proof142 .read_slot()143 .expect("Could not read the relay chain slot from the proof");144145 let inherent_data =146 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(147 relay_chain_slot,148 sp_std::time::Duration::from_secs(6),149 )150 .create_inherent_data()151 .expect("Could not create the timestamp inherent data");152153 inherent_data.check_extrinsics(block)154 }155}156157#[derive(codec::Encode, codec::Decode)]158pub enum XCMPMessage<XAccountId, XBalance> {159 /// Transfer tokens to the given account from the Parachain account.160 TransferToken(XAccountId, XBalance),161}runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -50,6 +50,11 @@
Runner, account::CrossAccountId as _,
Account as EVMAccount, FeeCalculator,
};
+ use runtime_common::{
+ sponsoring::{SponsorshipPredict, UniqueSponsorshipPredict},
+ dispatch::CollectionDispatch,
+ config::ethereum::CrossAccountId,
+ };
use up_data_structs::*;