1234567891011121314151617use crate::{18 runtime_common::config::pallets::{TreasuryAccountId, RelayChainBlockNumberProvider},19 Runtime, Balances, BlockNumber, Unique, RuntimeEvent, EvmContractHelpers,20};2122use frame_support::{parameter_types, PalletId};23use sp_arithmetic::Perbill;24use up_common::{25 constants::{UNIQUE, RELAY_DAYS, DAYS},26 types::Balance,27};2829parameter_types! {30 pub const AppPromotionId: PalletId = PalletId(*b"appstake");31 pub const RecalculationInterval: BlockNumber = RELAY_DAYS;32 pub const PendingInterval: BlockNumber = 7 * DAYS;33 pub const Nominal: Balance = UNIQUE;34 pub IntervalIncome: Perbill = Perbill::from_rational(5u32, 10_000);35}3637impl pallet_app_promotion::Config for Runtime {38 type PalletId = AppPromotionId;39 type CollectionHandler = Unique;40 type ContractHandler = EvmContractHelpers;41 type Currency = Balances;42 type WeightInfo = pallet_app_promotion::weights::SubstrateWeight<Self>;43 type TreasuryAccountId = TreasuryAccountId;44 type RelayBlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;45 type RecalculationInterval = RecalculationInterval;46 type PendingInterval = PendingInterval;47 type Nominal = Nominal;48 type IntervalIncome = IntervalIncome;49 type RuntimeEvent = RuntimeEvent;50}