local_runtime/chain_extensions.rs
1// This file is part of Astar.
2
3// Copyright (C) Stake Technologies Pte.Ltd.
4// SPDX-License-Identifier: GPL-3.0-or-later
5
6// Astar is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10
11// Astar is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License
17// along with Astar. If not, see <http://www.gnu.org/licenses/>.
18
19use super::{Runtime, UnifiedAccounts};
20
21/// Registered WASM contracts chain extensions.
22pub use pallet_chain_extension_assets::AssetsExtension;
23use pallet_contracts::chain_extension::RegisteredChainExtension;
24
25pub use pallet_chain_extension_unified_accounts::UnifiedAccountsExtension;
26
27// Following impls defines chain extension IDs.
28
29impl RegisteredChainExtension<Runtime> for AssetsExtension<Runtime> {
30 const ID: u16 = 02;
31}
32
33impl RegisteredChainExtension<Runtime> for UnifiedAccountsExtension<Runtime, UnifiedAccounts> {
34 const ID: u16 = 03;
35}
36
37pub type LocalChainExtensions<Runtime, UnifiedAccounts> = (
38 AssetsExtension<Runtime>,
39 UnifiedAccountsExtension<Runtime, UnifiedAccounts>,
40);