1
// Copyright 2019-2025 PureStake Inc.
2
// This file is part of Moonbeam.
3

            
4
// Moonbeam is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8

            
9
// Moonbeam is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13

            
14
// You should have received a copy of the GNU General Public License
15
// along with Moonbeam.  If not, see <http://www.gnu.org/licenses/>.
16

            
17
//! Core test environment and location helpers for XCM tests
18

            
19
use xcm::latest::prelude::{AccountKey20, Location, Parachain};
20

            
21
// Location creation helpers
22

            
23
19
pub fn account_key20_location(account: [u8; 20]) -> Location {
24
19
	AccountKey20 {
25
19
		network: None,
26
19
		key: account,
27
19
	}
28
19
	.into()
29
19
}
30

            
31
14
pub fn parachain_location(para_id: u32) -> Location {
32
14
	Location {
33
14
		parents: 1,
34
14
		interior: [Parachain(para_id)].into(),
35
14
	}
36
14
}