1234567891011121314151617use frame_support::parameter_types;18use sp_runtime::traits::AccountIdConversion;19use crate::{20 runtime_common::{21 dispatch::CollectionDispatchT,22 config::{substrate::TreasuryModuleId, ethereum::EvmCollectionHelpersAddress},23 weights::CommonWeights,24 RelayChainBlockNumberProvider,25 },26 Runtime, Event, Call, Balances,27};28use frame_support::traits::{ConstU32, ConstU64};29use up_common::{30 types::{AccountId, Balance, BlockNumber},31 constants::*,32};33use up_data_structs::{34 mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping},35};3637#[cfg(feature = "rmrk")]38pub mod rmrk;3940#[cfg(feature = "scheduler")]41pub mod scheduler;4243parameter_types! {44 pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating();45 pub const CollectionCreationPrice: Balance = 2 * UNIQUE;46}4748impl pallet_common::Config for Runtime {49 type WeightInfo = pallet_common::weights::SubstrateWeight<Self>;50 type Event = Event;51 type Currency = Balances;52 type CollectionCreationPrice = CollectionCreationPrice;53 type TreasuryAccountId = TreasuryAccountId;54 type CollectionDispatch = CollectionDispatchT<Self>;5556 type EvmTokenAddressMapping = EvmTokenAddressMapping;57 type CrossTokenAddressMapping = CrossTokenAddressMapping<Self::AccountId>;58 type ContractAddress = EvmCollectionHelpersAddress;59}6061impl pallet_structure::Config for Runtime {62 type Event = Event;63 type Call = Call;64 type WeightInfo = pallet_structure::weights::SubstrateWeight<Self>;65}6667impl pallet_fungible::Config for Runtime {68 type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;69}70impl pallet_refungible::Config for Runtime {71 type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;72}73impl pallet_nonfungible::Config for Runtime {74 type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;75}7677parameter_types! {78 pub const InflationBlockInterval: BlockNumber = 100; 79}808182impl pallet_inflation::Config for Runtime {83 type Currency = Balances;84 type TreasuryAccountId = TreasuryAccountId;85 type InflationBlockInterval = InflationBlockInterval;86 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;87}8889impl pallet_unique::Config for Runtime {90 type Event = Event;91 type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;92 type CommonWeightInfo = CommonWeights<Self>;93 type RefungibleExtensionsWeightInfo = CommonWeights<Self>;94}9596impl pallet_configuration::Config for Runtime {97 type DefaultWeightToFeeCoefficient = ConstU32<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>;98 type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>;99}