2025-11-30 21:27:04 -05:00
|
|
|
//! Test environment for the DEX pallet.
|
2023-11-05 20:02:34 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
use borsh::BorshDeserialize;
|
2023-11-05 20:02:34 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
use frame_support::{sp_runtime::BuildStorage, derive_impl, construct_runtime};
|
2023-11-05 20:02:34 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
use serai_coins_pallet::{CoinsInstance, LiquidityTokensInstance};
|
2023-11-05 20:02:34 +03:00
|
|
|
|
|
|
|
|
use crate as dex;
|
|
|
|
|
|
|
|
|
|
construct_runtime!(
|
|
|
|
|
pub enum Test
|
|
|
|
|
{
|
|
|
|
|
System: frame_system,
|
2025-11-30 21:27:04 -05:00
|
|
|
Timestamp: pallet_timestamp,
|
|
|
|
|
Core: serai_core_pallet,
|
|
|
|
|
Coins: serai_coins_pallet::<CoinsInstance>,
|
|
|
|
|
LiquidityTokens: serai_coins_pallet::<LiquidityTokensInstance>,
|
2023-11-05 20:02:34 +03:00
|
|
|
Dex: dex,
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
|
2023-11-05 20:02:34 +03:00
|
|
|
impl frame_system::Config for Test {
|
2025-11-30 21:27:04 -05:00
|
|
|
type AccountId = sp_core::sr25519::Public;
|
|
|
|
|
type Lookup = frame_support::sp_runtime::traits::IdentityLookup<Self::AccountId>;
|
|
|
|
|
type Block = frame_system::mocking::MockBlock<Test>;
|
2025-12-02 21:04:47 -05:00
|
|
|
type BlockLength = serai_core_pallet::Limits;
|
|
|
|
|
type BlockWeights = serai_core_pallet::Limits;
|
2023-11-05 20:02:34 +03:00
|
|
|
}
|
|
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
#[derive_impl(pallet_timestamp::config_preludes::TestDefaultConfig)]
|
|
|
|
|
impl pallet_timestamp::Config for Test {}
|
2023-11-05 20:02:34 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
impl serai_core_pallet::Config for Test {}
|
2023-11-12 14:37:31 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
impl serai_coins_pallet::Config<CoinsInstance> for Test {
|
|
|
|
|
type AllowMint = serai_coins_pallet::AlwaysAllowMint;
|
|
|
|
|
}
|
2024-02-19 20:50:04 -05:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
impl serai_coins_pallet::Config<LiquidityTokensInstance> for Test {
|
|
|
|
|
type AllowMint = serai_coins_pallet::AlwaysAllowMint;
|
2023-11-05 20:02:34 +03:00
|
|
|
}
|
|
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
impl crate::Config for Test {}
|
|
|
|
|
|
2023-11-05 20:02:34 +03:00
|
|
|
pub(crate) fn new_test_ext() -> sp_io::TestExternalities {
|
2025-11-30 21:27:04 -05:00
|
|
|
let mut storage = frame_system::GenesisConfig::<Test>::default().build_storage().unwrap();
|
2023-11-05 20:02:34 +03:00
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
serai_coins_pallet::GenesisConfig::<Test, CoinsInstance> {
|
|
|
|
|
accounts: vec![],
|
|
|
|
|
_instance: Default::default(),
|
|
|
|
|
}
|
|
|
|
|
.assimilate_storage(&mut storage)
|
|
|
|
|
.unwrap();
|
|
|
|
|
serai_coins_pallet::GenesisConfig::<Test, LiquidityTokensInstance> {
|
|
|
|
|
accounts: vec![],
|
|
|
|
|
_instance: Default::default(),
|
2023-11-05 20:02:34 +03:00
|
|
|
}
|
2025-11-30 21:27:04 -05:00
|
|
|
.assimilate_storage(&mut storage)
|
2023-11-05 20:02:34 +03:00
|
|
|
.unwrap();
|
|
|
|
|
|
2025-11-30 21:27:04 -05:00
|
|
|
storage.into()
|
2023-11-05 20:02:34 +03:00
|
|
|
}
|