difftreelog
refactor(data-management) revert naming back to evm-migration
in: master
37 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5313,11 +5313,11 @@
"pallet-collator-selection",
"pallet-common",
"pallet-configuration",
- "pallet-data-management",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-coder-substrate",
"pallet-evm-contract-helpers",
+ "pallet-evm-migration",
"pallet-evm-precompile-simple",
"pallet-evm-transaction-payment",
"pallet-foreign-assets",
@@ -5562,9 +5562,9 @@
"pallet-balances",
"pallet-common",
"pallet-configuration",
- "pallet-data-management",
"pallet-evm",
"pallet-evm-contract-helpers",
+ "pallet-evm-migration",
"pallet-randomness-collective-flip",
"pallet-timestamp",
"pallet-unique",
@@ -5870,25 +5870,6 @@
"parity-scale-codec 3.2.1",
"scale-info",
"serde",
- "sp-io",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
-name = "pallet-data-management"
-version = "0.1.1"
-dependencies = [
- "ethereum 0.14.0",
- "fp-evm",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "pallet-evm",
- "pallet-identity 4.0.0-dev",
- "parity-scale-codec 3.2.1",
- "scale-info",
- "sp-core",
"sp-io",
"sp-runtime",
"sp-std",
@@ -6064,6 +6045,25 @@
]
[[package]]
+name = "pallet-evm-migration"
+version = "0.1.1"
+dependencies = [
+ "ethereum 0.14.0",
+ "fp-evm",
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "pallet-evm",
+ "pallet-identity 4.0.0-dev",
+ "parity-scale-codec 3.2.1",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
name = "pallet-evm-precompile-simple"
version = "2.0.0-dev"
source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.36#cf1894629c7df1c4dafe58aa773627a3d940da14"
@@ -8921,11 +8921,11 @@
"pallet-collator-selection",
"pallet-common",
"pallet-configuration",
- "pallet-data-management",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-coder-substrate",
"pallet-evm-contract-helpers",
+ "pallet-evm-migration",
"pallet-evm-precompile-simple",
"pallet-evm-transaction-payment",
"pallet-foreign-assets",
@@ -13153,11 +13153,11 @@
"pallet-collator-selection",
"pallet-common",
"pallet-configuration",
- "pallet-data-management",
"pallet-ethereum",
"pallet-evm",
"pallet-evm-coder-substrate",
"pallet-evm-contract-helpers",
+ "pallet-evm-migration",
"pallet-evm-precompile-simple",
"pallet-evm-transaction-payment",
"pallet-foreign-assets",
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
@echo "regenerate_solidity - generate stubs/interfaces for contracts defined in native (via evm-coder)"
@echo "evm_stubs - recompile contract stubs and ABI"
@echo "bench - run frame-benchmarking"
- @echo " bench-data-management"
+ @echo " bench-evm-migration"
@echo " bench-unique"
FUNGIBLE_EVM_STUBS=./pallets/fungible/src/stubs
@@ -85,9 +85,9 @@
--template .maintain/frame-weight-template.hbs --steps=50 --repeat=80 --heap-pages=4096 \
--output=./pallets/$(if $(PALLET_DIR),$(PALLET_DIR),$(PALLET))/src/weights.rs
-.PHONY: bench-data-management
-bench-data-management:
- make _bench PALLET=data-management
+.PHONY: bench-evm-migration
+bench-evm-migration:
+ make _bench PALLET=evm-migration
.PHONY: bench-common
bench-common:
@@ -143,4 +143,4 @@
.PHONY: bench
# Disabled: bench-scheduler, bench-rmrk-core, bench-rmrk-equip
-bench: bench-data-management bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-foreign-assets
+bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-foreign-assets
pallets/app-promotion/Cargo.tomldiffbeforeafterboth--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -71,7 +71,7 @@
pallet-configuration = { default-features = false, path = "../configuration" }
pallet-unique = { default-features = false, path = "../unique" }
pallet-evm-contract-helpers = { default-features = false, path = "../evm-contract-helpers" }
-pallet-data-management = { default-features = false, path = "../data-management" }
+pallet-evm-migration = { default-features = false, path = "../evm-migration" }
# [dev-dependencies]
pallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/benchmarking.rs
+++ b/pallets/app-promotion/src/benchmarking.rs
@@ -25,13 +25,13 @@
use frame_support::traits::OnInitialize;
use frame_system::RawOrigin;
use pallet_unique::benchmarking::create_nft_collection;
-use pallet_data_management::Pallet as DataManagementPallet;
+use pallet_evm_migration::Pallet as EvmMigrationPallet;
const SEED: u32 = 0;
fn set_admin<T>() -> Result<T::AccountId, sp_runtime::DispatchError>
where
- T: Config + pallet_unique::Config + pallet_data_management::Config,
+ T: Config + pallet_unique::Config + pallet_evm_migration::Config,
T::BlockNumber: From<u32> + Into<u32>,
<<T as Config>::Currency as Currency<T::AccountId>>::Balance: Sum + From<u128>,
{
@@ -52,7 +52,7 @@
benchmarks! {
where_clause{
- where T: Config + pallet_unique::Config + pallet_data_management::Config ,
+ where T: Config + pallet_unique::Config + pallet_evm_migration::Config ,
T::BlockNumber: From<u32> + Into<u32>,
<<T as Config>::Currency as Currency<T::AccountId>>::Balance: Sum + From<u128>
}
@@ -156,8 +156,8 @@
let _ = <T as Config>::Currency::make_free_balance_be(&pallet_admin, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
let address = H160::from_low_u64_be(SEED as u64);
let data: Vec<u8> = (0..20 as u8).collect();
- <DataManagementPallet<T>>::begin(RawOrigin::Root.into(), address)?;
- <DataManagementPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
+ <EvmMigrationPallet<T>>::begin(RawOrigin::Root.into(), address)?;
+ <EvmMigrationPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
} : _(RawOrigin::Signed(pallet_admin.clone()), address)
stop_sponsoring_contract {
@@ -167,8 +167,8 @@
let _ = <T as Config>::Currency::make_free_balance_be(&pallet_admin, Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
let address = H160::from_low_u64_be(SEED as u64);
let data: Vec<u8> = (0..20 as u8).collect();
- <DataManagementPallet<T>>::begin(RawOrigin::Root.into(), address)?;
- <DataManagementPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
+ <EvmMigrationPallet<T>>::begin(RawOrigin::Root.into(), address)?;
+ <EvmMigrationPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
PromototionPallet::<T>::sponsor_contract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?;
} : _(RawOrigin::Signed(pallet_admin.clone()), address)
}
pallets/data-management/CHANGELOG.mddiffbeforeafterboth--- a/pallets/data-management/CHANGELOG.md
+++ /dev/null
@@ -1,17 +0,0 @@
-<!-- bureaucrate goes here -->
-## [v0.1.1] 2022-08-16
-
-### Other changes
-
-- build: Upgrade polkadot to v0.9.27 2c498572636f2b34d53b1c51b7283a761a7dc90a
-
-- build: Upgrade polkadot to v0.9.26 85515e54c4ca1b82a2630034e55dcc804c643bf8
-
-- refactor: Remove `#[transactional]` from extrinsics 7fd36cea2f6e00c02c67ccc1de9649ae404efd31
-
-Every extrinsic now runs in transaction implicitly, and
-`#[transactional]` on pallet dispatchable is now meaningless
-
-Upstream-Change: https://github.com/paritytech/substrate/issues/10806
-
-- build: Upgrade polkadot to v0.9.25 cdfb9bdc7b205ff1b5134f034ef9973d769e5e6b
\ No newline at end of file
pallets/data-management/Cargo.tomldiffbeforeafterboth--- a/pallets/data-management/Cargo.toml
+++ /dev/null
@@ -1,43 +0,0 @@
-[package]
-name = "pallet-data-management"
-version = "0.1.1"
-license = "GPLv3"
-edition = "2021"
-
-[dependencies]
-scale-info = { version = "2.0.1", default-features = false, features = [
- "derive",
-] }
-ethereum = { version = "0.14.0", default-features = false }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
-pallet-identity = { default-features = false, path = "../identity" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '3.1.2'
-
-[features]
-default = ["std", "runtime-benchmarks"]
-std = [
- "frame-support/std",
- "frame-system/std",
- "frame-benchmarking/std",
- "sp-runtime/std",
- "sp-std/std",
- "sp-io/std",
- "sp-core/std",
- "pallet-evm/std",
- "fp-evm/std",
-]
-runtime-benchmarks = ["frame-benchmarking"]
-try-runtime = ["frame-support/try-runtime"]
pallets/data-management/README.mddiffbeforeafterboth--- a/pallets/data-management/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# EVM contract migration pallet
-
-This pallet is only callable by root, it has functionality to migrate contract
-from other ethereum chain to pallet-evm
-
-Contract data includes contract code, and contract storage,
-where contract storage is a mapping from evm word to evm word (evm word = 32 byte)
-
-To import contract data into pallet-evm admin should call this pallet multiple times:
-1. Start migration via `begin`
-2. Insert all contract data using single or
- multiple (If data can't be fit into single extrinsic) calls
- to `set_data`
-3. Finish migration using `finish`, providing contract code
-
-During migration no one can insert code at address of this contract,
-as [`pallet::OnMethodCall`] prevents this, and no one can call this contract,
-as code is only supplied at final stage of contract deployment
\ No newline at end of file
pallets/data-management/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/data-management/src/benchmarking.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-#![allow(missing_docs)]
-
-use super::{Call, Config, Pallet};
-use frame_benchmarking::benchmarks;
-use frame_system::RawOrigin;
-use sp_core::{H160, H256};
-use sp_std::{vec::Vec, vec};
-
-benchmarks! {
- where_clause { where <T as Config>::RuntimeEvent: codec::Encode }
-
- begin {
- }: _(RawOrigin::Root, H160::default())
-
- set_data {
- let b in 0..80;
- let address = H160::from_low_u64_be(b as u64);
- let mut data = Vec::new();
- for i in 0..b {
- data.push((
- H256::from_low_u64_be(i as u64),
- H256::from_low_u64_be(i as u64),
- ));
- }
- <Pallet<T>>::begin(RawOrigin::Root.into(), address)?;
- }: _(RawOrigin::Root, address, data)
-
- finish {
- let b in 0..80;
- let address = H160::from_low_u64_be(b as u64);
- let data: Vec<u8> = (0..b as u8).collect();
- <Pallet<T>>::begin(RawOrigin::Root.into(), address)?;
- }: _(RawOrigin::Root, address, data)
-
- insert_eth_logs {
- let b in 0..200;
- let logs = (0..b).map(|_| ethereum::Log {
- address: H160([b as u8; 20]),
- data: vec![b as u8; 128],
- topics: vec![H256([b as u8; 32]); 6],
- }).collect::<Vec<_>>();
- }: _(RawOrigin::Root, logs)
-
- insert_events {
- let b in 0..200;
- use codec::Encode;
- let logs = (0..b).map(|_| <T as Config>::RuntimeEvent::from(crate::Event::<T>::TestEvent).encode()).collect::<Vec<_>>();
- }: _(RawOrigin::Root, logs)
-}
pallets/data-management/src/lib.rsdiffbeforeafterboth--- a/pallets/data-management/src/lib.rs
+++ /dev/null
@@ -1,173 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-#![doc = include_str!("../README.md")]
-#![cfg_attr(not(feature = "std"), no_std)]
-#![deny(missing_docs)]
-
-pub use pallet::*;
-#[cfg(feature = "runtime-benchmarks")]
-pub mod benchmarking;
-pub mod weights;
-
-#[frame_support::pallet]
-pub mod pallet {
- use frame_support::{
- pallet_prelude::{*, DispatchResult},
- traits::IsType,
- };
- use frame_system::pallet_prelude::{*, OriginFor};
- use sp_core::{H160, H256};
- use sp_std::vec::Vec;
- use super::weights::WeightInfo;
- use pallet_evm::{PrecompileHandle, Pallet as PalletEvm};
-
- #[pallet::config]
- pub trait Config: frame_system::Config + pallet_evm::Config {
- /// Weights
- type WeightInfo: WeightInfo;
- /// The overarching event type.
- type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
- }
-
- type SelfWeightOf<T> = <T as Config>::WeightInfo;
-
- #[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
- pub struct Pallet<T>(_);
-
- #[pallet::event]
- pub enum Event<T: Config> {
- /// This event is used in benchmarking and can be used for tests
- TestEvent,
- }
-
- #[pallet::error]
- pub enum Error<T> {
- /// Can only migrate to empty address.
- AccountNotEmpty,
- /// Migration of this account is not yet started, or already finished.
- AccountIsNotMigrating,
- /// Failed to decode event bytes
- BadEvent,
- }
-
- #[pallet::storage]
- pub(super) type MigrationPending<T: Config> =
- StorageMap<Hasher = Twox64Concat, Key = H160, Value = bool, QueryKind = ValueQuery>;
-
- #[pallet::call]
- impl<T: Config> Pallet<T> {
- /// Start contract migration, inserts contract stub at target address,
- /// and marks account as pending, allowing to insert storage
- #[pallet::call_index(0)]
- #[pallet::weight(<SelfWeightOf<T>>::begin())]
- pub fn begin(origin: OriginFor<T>, address: H160) -> DispatchResult {
- ensure_root(origin)?;
- ensure!(
- <PalletEvm<T>>::is_account_empty(&address) && !<MigrationPending<T>>::get(&address),
- <Error<T>>::AccountNotEmpty,
- );
-
- <MigrationPending<T>>::insert(address, true);
- Ok(())
- }
-
- /// Insert items into contract storage, this method can be called
- /// multiple times
- #[pallet::call_index(1)]
- #[pallet::weight(<SelfWeightOf<T>>::set_data(data.len() as u32))]
- pub fn set_data(
- origin: OriginFor<T>,
- address: H160,
- data: Vec<(H256, H256)>,
- ) -> DispatchResult {
- ensure_root(origin)?;
- ensure!(
- <MigrationPending<T>>::get(&address),
- <Error<T>>::AccountIsNotMigrating,
- );
-
- for (k, v) in data {
- <pallet_evm::AccountStorages<T>>::insert(&address, k, v);
- }
- Ok(())
- }
-
- /// Finish contract migration, allows it to be called.
- /// It is not possible to alter contract storage via [`Self::set_data`]
- /// after this call.
- #[pallet::call_index(2)]
- #[pallet::weight(<SelfWeightOf<T>>::finish(code.len() as u32))]
- pub fn finish(origin: OriginFor<T>, address: H160, code: Vec<u8>) -> DispatchResult {
- ensure_root(origin)?;
- ensure!(
- <MigrationPending<T>>::get(&address),
- <Error<T>>::AccountIsNotMigrating,
- );
-
- <pallet_evm::AccountCodes<T>>::insert(&address, code);
- <MigrationPending<T>>::remove(address);
- Ok(())
- }
-
- /// Create ethereum events attached to the fake transaction
- #[pallet::call_index(3)]
- #[pallet::weight(<SelfWeightOf<T>>::insert_eth_logs(logs.len() as u32))]
- pub fn insert_eth_logs(origin: OriginFor<T>, logs: Vec<ethereum::Log>) -> DispatchResult {
- ensure_root(origin)?;
- for log in logs {
- <pallet_evm::Pallet<T>>::deposit_log(log);
- }
- // Transactions is created by FakeTransactionFinalizer
- Ok(())
- }
-
- /// Create substrate events
- #[pallet::call_index(4)]
- #[pallet::weight(<SelfWeightOf<T>>::insert_events(events.len() as u32))]
- pub fn insert_events(origin: OriginFor<T>, events: Vec<Vec<u8>>) -> DispatchResult {
- ensure_root(origin)?;
- for event in events {
- <frame_system::Pallet<T>>::deposit_event(
- <T as frame_system::Config>::RuntimeEvent::decode(&mut event.as_slice())
- .map_err(|_| <Error<T>>::BadEvent)?,
- );
- }
- Ok(())
- }
- }
-
- /// Implements [`pallet_evm::OnMethodCall`], which reserves accounts with pending migration
- pub struct OnMethodCall<T>(PhantomData<T>);
- impl<T: Config> pallet_evm::OnMethodCall<T> for OnMethodCall<T> {
- fn is_reserved(contract: &H160) -> bool {
- <MigrationPending<T>>::get(&contract)
- }
-
- fn is_used(_contract: &H160) -> bool {
- false
- }
-
- fn call(_handle: &mut impl PrecompileHandle) -> Option<pallet_evm::PrecompileResult> {
- None
- }
-
- fn get_code(_contract: &H160) -> Option<Vec<u8>> {
- None
- }
- }
-}
pallets/data-management/src/weights.rsdiffbeforeafterboth--- a/pallets/data-management/src/weights.rs
+++ /dev/null
@@ -1,123 +0,0 @@
-// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
-
-//! Autogenerated weights for pallet_data_management
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-12-26, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
-
-// Executed Command:
-// target/release/unique-collator
-// benchmark
-// pallet
-// --pallet
-// pallet-data-management
-// --wasm-execution
-// compiled
-// --extrinsic
-// *
-// --template
-// .maintain/frame-weight-template.hbs
-// --steps=50
-// --repeat=80
-// --heap-pages=4096
-// --output=./pallets/data-management/src/weights.rs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-#![allow(clippy::unnecessary_cast)]
-
-use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
-use sp_std::marker::PhantomData;
-
-/// Weight functions needed for pallet_data_management.
-pub trait WeightInfo {
- fn begin() -> Weight;
- fn set_data(b: u32, ) -> Weight;
- fn finish(b: u32, ) -> Weight;
- fn insert_eth_logs(b: u32, ) -> Weight;
- fn insert_events(b: u32, ) -> Weight;
-}
-
-/// Weights for pallet_data_management using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
- // Storage: DataManagement MigrationPending (r:1 w:1)
- // Storage: System Account (r:1 w:0)
- // Storage: EVM AccountCodes (r:1 w:0)
- fn begin() -> Weight {
- Weight::from_ref_time(15_073_000 as u64)
- .saturating_add(T::DbWeight::get().reads(3 as u64))
- .saturating_add(T::DbWeight::get().writes(1 as u64))
- }
- // Storage: DataManagement MigrationPending (r:1 w:0)
- // Storage: EVM AccountStorages (r:0 w:1)
- fn set_data(b: u32, ) -> Weight {
- Weight::from_ref_time(7_943_438 as u64)
- // Standard Error: 1_792
- .saturating_add(Weight::from_ref_time(960_230 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
- }
- // Storage: DataManagement MigrationPending (r:1 w:1)
- // Storage: EVM AccountCodes (r:0 w:1)
- fn finish(b: u32, ) -> Weight {
- Weight::from_ref_time(9_316_585 as u64)
- // Standard Error: 595
- .saturating_add(Weight::from_ref_time(2_082 as u64).saturating_mul(b as u64))
- .saturating_add(T::DbWeight::get().reads(1 as u64))
- .saturating_add(T::DbWeight::get().writes(2 as u64))
- }
- fn insert_eth_logs(b: u32, ) -> Weight {
- Weight::from_ref_time(6_570_767 as u64)
- // Standard Error: 2_292
- .saturating_add(Weight::from_ref_time(722_345 as u64).saturating_mul(b as u64))
- }
- fn insert_events(b: u32, ) -> Weight {
- Weight::from_ref_time(10_936_376 as u64)
- // Standard Error: 1_227
- .saturating_add(Weight::from_ref_time(1_311_481 as u64).saturating_mul(b as u64))
- }
-}
-
-// For backwards compatibility and tests
-impl WeightInfo for () {
- // Storage: DataManagement MigrationPending (r:1 w:1)
- // Storage: System Account (r:1 w:0)
- // Storage: EVM AccountCodes (r:1 w:0)
- fn begin() -> Weight {
- Weight::from_ref_time(15_073_000 as u64)
- .saturating_add(RocksDbWeight::get().reads(3 as u64))
- .saturating_add(RocksDbWeight::get().writes(1 as u64))
- }
- // Storage: DataManagement MigrationPending (r:1 w:0)
- // Storage: EVM AccountStorages (r:0 w:1)
- fn set_data(b: u32, ) -> Weight {
- Weight::from_ref_time(7_943_438 as u64)
- // Standard Error: 1_792
- .saturating_add(Weight::from_ref_time(960_230 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
- }
- // Storage: DataManagement MigrationPending (r:1 w:1)
- // Storage: EVM AccountCodes (r:0 w:1)
- fn finish(b: u32, ) -> Weight {
- Weight::from_ref_time(9_316_585 as u64)
- // Standard Error: 595
- .saturating_add(Weight::from_ref_time(2_082 as u64).saturating_mul(b as u64))
- .saturating_add(RocksDbWeight::get().reads(1 as u64))
- .saturating_add(RocksDbWeight::get().writes(2 as u64))
- }
- fn insert_eth_logs(b: u32, ) -> Weight {
- Weight::from_ref_time(6_570_767 as u64)
- // Standard Error: 2_292
- .saturating_add(Weight::from_ref_time(722_345 as u64).saturating_mul(b as u64))
- }
- fn insert_events(b: u32, ) -> Weight {
- Weight::from_ref_time(10_936_376 as u64)
- // Standard Error: 1_227
- .saturating_add(Weight::from_ref_time(1_311_481 as u64).saturating_mul(b as u64))
- }
-}
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -91,7 +91,7 @@
{
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
- /// using uniquenetwork data-management pallet, or using other terms not
+ /// using uniquenetwork evm-migration pallet, or using other terms not
/// intended by pallet-evm
/// @dev Returns zero address if contract does not exists
/// @param contractAddress Contract to get owner of
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -29,7 +29,7 @@
contract ContractHelpers is Dummy, ERC165, ContractHelpersEvents {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
- /// using uniquenetwork data-management pallet, or using other terms not
+ /// using uniquenetwork evm-migration pallet, or using other terms not
/// intended by pallet-evm
/// @dev Returns zero address if contract does not exists
/// @param contractAddress Contract to get owner of
pallets/evm-migration/CHANGELOG.mddiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/CHANGELOG.md
@@ -0,0 +1,17 @@
+<!-- bureaucrate goes here -->
+## [v0.1.1] 2022-08-16
+
+### Other changes
+
+- build: Upgrade polkadot to v0.9.27 2c498572636f2b34d53b1c51b7283a761a7dc90a
+
+- build: Upgrade polkadot to v0.9.26 85515e54c4ca1b82a2630034e55dcc804c643bf8
+
+- refactor: Remove `#[transactional]` from extrinsics 7fd36cea2f6e00c02c67ccc1de9649ae404efd31
+
+Every extrinsic now runs in transaction implicitly, and
+`#[transactional]` on pallet dispatchable is now meaningless
+
+Upstream-Change: https://github.com/paritytech/substrate/issues/10806
+
+- build: Upgrade polkadot to v0.9.25 cdfb9bdc7b205ff1b5134f034ef9973d769e5e6b
\ No newline at end of file
pallets/evm-migration/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/Cargo.toml
@@ -0,0 +1,43 @@
+[package]
+name = "pallet-evm-migration"
+version = "0.1.1"
+license = "GPLv3"
+edition = "2021"
+
+[dependencies]
+scale-info = { version = "2.0.1", default-features = false, features = [
+ "derive",
+] }
+ethereum = { version = "0.14.0", default-features = false }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" }
+pallet-identity = { default-features = false, path = "../identity" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.36" }
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '3.1.2'
+
+[features]
+default = ["std", "runtime-benchmarks"]
+std = [
+ "frame-support/std",
+ "frame-system/std",
+ "frame-benchmarking/std",
+ "sp-runtime/std",
+ "sp-std/std",
+ "sp-io/std",
+ "sp-core/std",
+ "pallet-evm/std",
+ "fp-evm/std",
+]
+runtime-benchmarks = ["frame-benchmarking"]
+try-runtime = ["frame-support/try-runtime"]
pallets/evm-migration/README.mddiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/README.md
@@ -0,0 +1,18 @@
+# EVM contract migration pallet
+
+This pallet is only callable by root, it has functionality to migrate contract
+from other ethereum chain to pallet-evm
+
+Contract data includes contract code, and contract storage,
+where contract storage is a mapping from evm word to evm word (evm word = 32 byte)
+
+To import contract data into pallet-evm admin should call this pallet multiple times:
+1. Start migration via `begin`
+2. Insert all contract data using single or
+ multiple (If data can't be fit into single extrinsic) calls
+ to `set_data`
+3. Finish migration using `finish`, providing contract code
+
+During migration no one can insert code at address of this contract,
+as [`pallet::OnMethodCall`] prevents this, and no one can call this contract,
+as code is only supplied at final stage of contract deployment
\ No newline at end of file
pallets/evm-migration/src/benchmarking.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/src/benchmarking.rs
@@ -0,0 +1,65 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+#![allow(missing_docs)]
+
+use super::{Call, Config, Pallet};
+use frame_benchmarking::benchmarks;
+use frame_system::RawOrigin;
+use sp_core::{H160, H256};
+use sp_std::{vec::Vec, vec};
+
+benchmarks! {
+ where_clause { where <T as Config>::RuntimeEvent: codec::Encode }
+
+ begin {
+ }: _(RawOrigin::Root, H160::default())
+
+ set_data {
+ let b in 0..80;
+ let address = H160::from_low_u64_be(b as u64);
+ let mut data = Vec::new();
+ for i in 0..b {
+ data.push((
+ H256::from_low_u64_be(i as u64),
+ H256::from_low_u64_be(i as u64),
+ ));
+ }
+ <Pallet<T>>::begin(RawOrigin::Root.into(), address)?;
+ }: _(RawOrigin::Root, address, data)
+
+ finish {
+ let b in 0..80;
+ let address = H160::from_low_u64_be(b as u64);
+ let data: Vec<u8> = (0..b as u8).collect();
+ <Pallet<T>>::begin(RawOrigin::Root.into(), address)?;
+ }: _(RawOrigin::Root, address, data)
+
+ insert_eth_logs {
+ let b in 0..200;
+ let logs = (0..b).map(|_| ethereum::Log {
+ address: H160([b as u8; 20]),
+ data: vec![b as u8; 128],
+ topics: vec![H256([b as u8; 32]); 6],
+ }).collect::<Vec<_>>();
+ }: _(RawOrigin::Root, logs)
+
+ insert_events {
+ let b in 0..200;
+ use codec::Encode;
+ let logs = (0..b).map(|_| <T as Config>::RuntimeEvent::from(crate::Event::<T>::TestEvent).encode()).collect::<Vec<_>>();
+ }: _(RawOrigin::Root, logs)
+}
pallets/evm-migration/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/src/lib.rs
@@ -0,0 +1,173 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+#![doc = include_str!("../README.md")]
+#![cfg_attr(not(feature = "std"), no_std)]
+#![deny(missing_docs)]
+
+pub use pallet::*;
+#[cfg(feature = "runtime-benchmarks")]
+pub mod benchmarking;
+pub mod weights;
+
+#[frame_support::pallet]
+pub mod pallet {
+ use frame_support::{
+ pallet_prelude::{*, DispatchResult},
+ traits::IsType,
+ };
+ use frame_system::pallet_prelude::{*, OriginFor};
+ use sp_core::{H160, H256};
+ use sp_std::vec::Vec;
+ use super::weights::WeightInfo;
+ use pallet_evm::{PrecompileHandle, Pallet as PalletEvm};
+
+ #[pallet::config]
+ pub trait Config: frame_system::Config + pallet_evm::Config {
+ /// Weights
+ type WeightInfo: WeightInfo;
+ /// The overarching event type.
+ type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
+ }
+
+ type SelfWeightOf<T> = <T as Config>::WeightInfo;
+
+ #[pallet::pallet]
+ #[pallet::generate_store(pub(super) trait Store)]
+ pub struct Pallet<T>(_);
+
+ #[pallet::event]
+ pub enum Event<T: Config> {
+ /// This event is used in benchmarking and can be used for tests
+ TestEvent,
+ }
+
+ #[pallet::error]
+ pub enum Error<T> {
+ /// Can only migrate to empty address.
+ AccountNotEmpty,
+ /// Migration of this account is not yet started, or already finished.
+ AccountIsNotMigrating,
+ /// Failed to decode event bytes
+ BadEvent,
+ }
+
+ #[pallet::storage]
+ pub(super) type MigrationPending<T: Config> =
+ StorageMap<Hasher = Twox64Concat, Key = H160, Value = bool, QueryKind = ValueQuery>;
+
+ #[pallet::call]
+ impl<T: Config> Pallet<T> {
+ /// Start contract migration, inserts contract stub at target address,
+ /// and marks account as pending, allowing to insert storage
+ #[pallet::call_index(0)]
+ #[pallet::weight(<SelfWeightOf<T>>::begin())]
+ pub fn begin(origin: OriginFor<T>, address: H160) -> DispatchResult {
+ ensure_root(origin)?;
+ ensure!(
+ <PalletEvm<T>>::is_account_empty(&address) && !<MigrationPending<T>>::get(&address),
+ <Error<T>>::AccountNotEmpty,
+ );
+
+ <MigrationPending<T>>::insert(address, true);
+ Ok(())
+ }
+
+ /// Insert items into contract storage, this method can be called
+ /// multiple times
+ #[pallet::call_index(1)]
+ #[pallet::weight(<SelfWeightOf<T>>::set_data(data.len() as u32))]
+ pub fn set_data(
+ origin: OriginFor<T>,
+ address: H160,
+ data: Vec<(H256, H256)>,
+ ) -> DispatchResult {
+ ensure_root(origin)?;
+ ensure!(
+ <MigrationPending<T>>::get(&address),
+ <Error<T>>::AccountIsNotMigrating,
+ );
+
+ for (k, v) in data {
+ <pallet_evm::AccountStorages<T>>::insert(&address, k, v);
+ }
+ Ok(())
+ }
+
+ /// Finish contract migration, allows it to be called.
+ /// It is not possible to alter contract storage via [`Self::set_data`]
+ /// after this call.
+ #[pallet::call_index(2)]
+ #[pallet::weight(<SelfWeightOf<T>>::finish(code.len() as u32))]
+ pub fn finish(origin: OriginFor<T>, address: H160, code: Vec<u8>) -> DispatchResult {
+ ensure_root(origin)?;
+ ensure!(
+ <MigrationPending<T>>::get(&address),
+ <Error<T>>::AccountIsNotMigrating,
+ );
+
+ <pallet_evm::AccountCodes<T>>::insert(&address, code);
+ <MigrationPending<T>>::remove(address);
+ Ok(())
+ }
+
+ /// Create ethereum events attached to the fake transaction
+ #[pallet::call_index(3)]
+ #[pallet::weight(<SelfWeightOf<T>>::insert_eth_logs(logs.len() as u32))]
+ pub fn insert_eth_logs(origin: OriginFor<T>, logs: Vec<ethereum::Log>) -> DispatchResult {
+ ensure_root(origin)?;
+ for log in logs {
+ <pallet_evm::Pallet<T>>::deposit_log(log);
+ }
+ // Transactions is created by FakeTransactionFinalizer
+ Ok(())
+ }
+
+ /// Create substrate events
+ #[pallet::call_index(4)]
+ #[pallet::weight(<SelfWeightOf<T>>::insert_events(events.len() as u32))]
+ pub fn insert_events(origin: OriginFor<T>, events: Vec<Vec<u8>>) -> DispatchResult {
+ ensure_root(origin)?;
+ for event in events {
+ <frame_system::Pallet<T>>::deposit_event(
+ <T as frame_system::Config>::RuntimeEvent::decode(&mut event.as_slice())
+ .map_err(|_| <Error<T>>::BadEvent)?,
+ );
+ }
+ Ok(())
+ }
+ }
+
+ /// Implements [`pallet_evm::OnMethodCall`], which reserves accounts with pending migration
+ pub struct OnMethodCall<T>(PhantomData<T>);
+ impl<T: Config> pallet_evm::OnMethodCall<T> for OnMethodCall<T> {
+ fn is_reserved(contract: &H160) -> bool {
+ <MigrationPending<T>>::get(&contract)
+ }
+
+ fn is_used(_contract: &H160) -> bool {
+ false
+ }
+
+ fn call(_handle: &mut impl PrecompileHandle) -> Option<pallet_evm::PrecompileResult> {
+ None
+ }
+
+ fn get_code(_contract: &H160) -> Option<Vec<u8>> {
+ None
+ }
+ }
+}
pallets/evm-migration/src/weights.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/evm-migration/src/weights.rs
@@ -0,0 +1,123 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! Autogenerated weights for pallet_evm_migration
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2022-12-26, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
+
+// Executed Command:
+// target/release/unique-collator
+// benchmark
+// pallet
+// --pallet
+// pallet-evm-migration
+// --wasm-execution
+// compiled
+// --extrinsic
+// *
+// --template
+// .maintain/frame-weight-template.hbs
+// --steps=50
+// --repeat=80
+// --heap-pages=4096
+// --output=./pallets/evm-migration/src/weights.rs
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+#![allow(clippy::unnecessary_cast)]
+
+use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
+use sp_std::marker::PhantomData;
+
+/// Weight functions needed for pallet_evm_migration.
+pub trait WeightInfo {
+ fn begin() -> Weight;
+ fn set_data(b: u32, ) -> Weight;
+ fn finish(b: u32, ) -> Weight;
+ fn insert_eth_logs(b: u32, ) -> Weight;
+ fn insert_events(b: u32, ) -> Weight;
+}
+
+/// Weights for pallet_evm_migration using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+ // Storage: EvmMigration MigrationPending (r:1 w:1)
+ // Storage: System Account (r:1 w:0)
+ // Storage: EVM AccountCodes (r:1 w:0)
+ fn begin() -> Weight {
+ Weight::from_ref_time(15_073_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(3 as u64))
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
+ // Storage: EvmMigration MigrationPending (r:1 w:0)
+ // Storage: EVM AccountStorages (r:0 w:1)
+ fn set_data(b: u32, ) -> Weight {
+ Weight::from_ref_time(7_943_438 as u64)
+ // Standard Error: 1_792
+ .saturating_add(Weight::from_ref_time(960_230 as u64).saturating_mul(b as u64))
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
+ }
+ // Storage: EvmMigration MigrationPending (r:1 w:1)
+ // Storage: EVM AccountCodes (r:0 w:1)
+ fn finish(b: u32, ) -> Weight {
+ Weight::from_ref_time(9_316_585 as u64)
+ // Standard Error: 595
+ .saturating_add(Weight::from_ref_time(2_082 as u64).saturating_mul(b as u64))
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ .saturating_add(T::DbWeight::get().writes(2 as u64))
+ }
+ fn insert_eth_logs(b: u32, ) -> Weight {
+ Weight::from_ref_time(6_570_767 as u64)
+ // Standard Error: 2_292
+ .saturating_add(Weight::from_ref_time(722_345 as u64).saturating_mul(b as u64))
+ }
+ fn insert_events(b: u32, ) -> Weight {
+ Weight::from_ref_time(10_936_376 as u64)
+ // Standard Error: 1_227
+ .saturating_add(Weight::from_ref_time(1_311_481 as u64).saturating_mul(b as u64))
+ }
+}
+
+// For backwards compatibility and tests
+impl WeightInfo for () {
+ // Storage: EvmMigration MigrationPending (r:1 w:1)
+ // Storage: System Account (r:1 w:0)
+ // Storage: EVM AccountCodes (r:1 w:0)
+ fn begin() -> Weight {
+ Weight::from_ref_time(15_073_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(3 as u64))
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
+ // Storage: EvmMigration MigrationPending (r:1 w:0)
+ // Storage: EVM AccountStorages (r:0 w:1)
+ fn set_data(b: u32, ) -> Weight {
+ Weight::from_ref_time(7_943_438 as u64)
+ // Standard Error: 1_792
+ .saturating_add(Weight::from_ref_time(960_230 as u64).saturating_mul(b as u64))
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
+ }
+ // Storage: EvmMigration MigrationPending (r:1 w:1)
+ // Storage: EVM AccountCodes (r:0 w:1)
+ fn finish(b: u32, ) -> Weight {
+ Weight::from_ref_time(9_316_585 as u64)
+ // Standard Error: 595
+ .saturating_add(Weight::from_ref_time(2_082 as u64).saturating_mul(b as u64))
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ .saturating_add(RocksDbWeight::get().writes(2 as u64))
+ }
+ fn insert_eth_logs(b: u32, ) -> Weight {
+ Weight::from_ref_time(6_570_767 as u64)
+ // Standard Error: 2_292
+ .saturating_add(Weight::from_ref_time(722_345 as u64).saturating_mul(b as u64))
+ }
+ fn insert_events(b: u32, ) -> Weight {
+ Weight::from_ref_time(10_936_376 as u64)
+ // Standard Error: 1_227
+ .saturating_add(Weight::from_ref_time(1_311_481 as u64).saturating_mul(b as u64))
+ }
+}
runtime/common/config/ethereum.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -70,7 +70,7 @@
type Currency = Balances;
type RuntimeEvent = RuntimeEvent;
type OnMethodCall = (
- pallet_data_management::OnMethodCall<Self>,
+ pallet_evm_migration::OnMethodCall<Self>,
pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
CollectionDispatchT<Self>,
pallet_unique::eth::CollectionHelpersOnMethodCall<Self>,
@@ -83,9 +83,9 @@
type FindAuthor = EthereumFindAuthor<Aura>;
}
-impl pallet_data_management::Config for Runtime {
+impl pallet_evm_migration::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
- type WeightInfo = pallet_data_management::weights::SubstrateWeight<Self>;
+ type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;
}
impl pallet_ethereum::Config for Runtime {
runtime/common/construct_runtime/mod.rsdiffbeforeafterboth--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -104,7 +104,7 @@
EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,
EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage, Event<T>} = 151,
EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,
- DataManagement: pallet_data_management::{Pallet, Call, Storage, Event<T>} = 153,
+ EvmMigration: pallet_evm_migration::{Pallet, Call, Storage, Event<T>} = 153,
Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,
runtime/common/maintenance.rsdiffbeforeafterboth--- a/runtime/common/maintenance.rs
+++ b/runtime/common/maintenance.rs
@@ -60,7 +60,7 @@
) -> TransactionValidity {
if Maintenance::is_enabled() {
match call {
- RuntimeCall::DataManagement(_)
+ RuntimeCall::EvmMigration(_)
| RuntimeCall::EVM(_)
| RuntimeCall::Ethereum(_)
| RuntimeCall::Inflation(_)
@@ -116,7 +116,7 @@
) -> TransactionValidity {
if Maintenance::is_enabled() {
match call {
- RuntimeCall::EVM(_) | RuntimeCall::Ethereum(_) | RuntimeCall::DataManagement(_) => {
+ RuntimeCall::EVM(_) | RuntimeCall::Ethereum(_) | RuntimeCall::EvmMigration(_) => {
Err(TransactionValidityError::Invalid(InvalidTransaction::Call))
}
_ => Ok(ValidTransaction::default()),
runtime/common/runtime_apis.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#[macro_export]18macro_rules! dispatch_unique_runtime {19 ($collection:ident.$method:ident($($name:ident),*)) => {{20 let collection = <Runtime as pallet_common::Config>::CollectionDispatch::dispatch(<pallet_common::CollectionHandle<Runtime>>::try_get($collection)?);21 let dispatch = collection.as_dyn();2223 Ok::<_, DispatchError>(dispatch.$method($($name),*))24 }};25}2627#[macro_export]28macro_rules! impl_common_runtime_apis {29 (30 $(31 #![custom_apis]3233 $($custom_apis:tt)+34 )?35 ) => {36 use sp_std::prelude::*;37 use sp_api::impl_runtime_apis;38 use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160, Bytes};39 use sp_runtime::{40 Permill,41 traits::Block as BlockT,42 transaction_validity::{TransactionSource, TransactionValidity},43 ApplyExtrinsicResult, DispatchError,44 };45 use fp_rpc::TransactionStatus;46 use pallet_transaction_payment::{47 FeeDetails, RuntimeDispatchInfo,48 };49 use pallet_evm::{50 Runner, account::CrossAccountId as _,51 Account as EVMAccount, FeeCalculator,52 };53 use runtime_common::{54 sponsoring::{SponsorshipPredict, UniqueSponsorshipPredict},55 dispatch::CollectionDispatch,56 config::ethereum::CrossAccountId,57 };58 use up_data_structs::*;596061 impl_runtime_apis! {62 $($($custom_apis)+)?6364 impl up_rpc::UniqueApi<Block, CrossAccountId, AccountId> for Runtime {65 fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>, DispatchError> {66 dispatch_unique_runtime!(collection.account_tokens(account))67 }68 fn collection_tokens(collection: CollectionId) -> Result<Vec<TokenId>, DispatchError> {69 dispatch_unique_runtime!(collection.collection_tokens())70 }71 fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool, DispatchError> {72 dispatch_unique_runtime!(collection.token_exists(token))73 }7475 fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {76 dispatch_unique_runtime!(collection.token_owner(token))77 }7879 fn token_owners(collection: CollectionId, token: TokenId) -> Result<Vec::<CrossAccountId>, DispatchError> {80 dispatch_unique_runtime!(collection.token_owners(token))81 }8283 fn topmost_token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {84 let budget = up_data_structs::budget::Value::new(10);8586 Ok(Some(<pallet_structure::Pallet<Runtime>>::find_topmost_owner(collection, token, &budget)?))87 }88 fn token_children(collection: CollectionId, token: TokenId) -> Result<Vec<TokenChild>, DispatchError> {89 Ok(<pallet_nonfungible::Pallet<Runtime>>::token_children_ids(collection, token))90 }91 fn collection_properties(92 collection: CollectionId,93 keys: Option<Vec<Vec<u8>>>94 ) -> Result<Vec<Property>, DispatchError> {95 let keys = keys.map(96 |keys| Common::bytes_keys_to_property_keys(keys)97 ).transpose()?;9899 Common::filter_collection_properties(collection, keys)100 }101102 fn token_properties(103 collection: CollectionId,104 token_id: TokenId,105 keys: Option<Vec<Vec<u8>>>106 ) -> Result<Vec<Property>, DispatchError> {107 let keys = keys.map(108 |keys| Common::bytes_keys_to_property_keys(keys)109 ).transpose()?;110111 dispatch_unique_runtime!(collection.token_properties(token_id, keys))112 }113114 fn property_permissions(115 collection: CollectionId,116 keys: Option<Vec<Vec<u8>>>117 ) -> Result<Vec<PropertyKeyPermission>, DispatchError> {118 let keys = keys.map(119 |keys| Common::bytes_keys_to_property_keys(keys)120 ).transpose()?;121122 Common::filter_property_permissions(collection, keys)123 }124125 fn token_data(126 collection: CollectionId,127 token_id: TokenId,128 keys: Option<Vec<Vec<u8>>>129 ) -> Result<TokenData<CrossAccountId>, DispatchError> {130 let token_data = TokenData {131 properties: Self::token_properties(collection, token_id, keys)?,132 owner: Self::token_owner(collection, token_id)?,133 pieces: Self::total_pieces(collection, token_id)?.unwrap_or(0),134 };135136 Ok(token_data)137 }138139 fn total_supply(collection: CollectionId) -> Result<u32, DispatchError> {140 dispatch_unique_runtime!(collection.total_supply())141 }142 fn account_balance(collection: CollectionId, account: CrossAccountId) -> Result<u32, DispatchError> {143 dispatch_unique_runtime!(collection.account_balance(account))144 }145 fn balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<u128, DispatchError> {146 dispatch_unique_runtime!(collection.balance(account, token))147 }148 fn allowance(149 collection: CollectionId,150 sender: CrossAccountId,151 spender: CrossAccountId,152 token: TokenId,153 ) -> Result<u128, DispatchError> {154 dispatch_unique_runtime!(collection.allowance(sender, spender, token))155 }156157 fn adminlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {158 Ok(<pallet_common::Pallet<Runtime>>::adminlist(collection))159 }160 fn allowlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {161 Ok(<pallet_common::Pallet<Runtime>>::allowlist(collection))162 }163 fn allowed(collection: CollectionId, user: CrossAccountId) -> Result<bool, DispatchError> {164 Ok(<pallet_common::Pallet<Runtime>>::allowed(collection, user))165 }166 fn last_token_id(collection: CollectionId) -> Result<TokenId, DispatchError> {167 dispatch_unique_runtime!(collection.last_token_id())168 }169 fn collection_by_id(collection: CollectionId) -> Result<Option<RpcCollection<AccountId>>, DispatchError> {170 Ok(<pallet_common::Pallet<Runtime>>::rpc_collection(collection))171 }172 fn collection_stats() -> Result<CollectionStats, DispatchError> {173 Ok(<pallet_common::Pallet<Runtime>>::collection_stats())174 }175 fn next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<Option<u64>, DispatchError> {176 Ok(<UniqueSponsorshipPredict<Runtime> as SponsorshipPredict<Runtime>>::predict(177 collection,178 account,179 token180 ))181 }182183 fn effective_collection_limits(collection: CollectionId) -> Result<Option<CollectionLimits>, DispatchError> {184 Ok(<pallet_common::Pallet<Runtime>>::effective_collection_limits(collection))185 }186187 fn total_pieces(collection: CollectionId, token_id: TokenId) -> Result<Option<u128>, DispatchError> {188 dispatch_unique_runtime!(collection.total_pieces(token_id))189 }190191 fn allowance_for_all(collection: CollectionId, owner: CrossAccountId, operator: CrossAccountId) -> Result<bool, DispatchError> {192 dispatch_unique_runtime!(collection.allowance_for_all(owner, operator))193 }194 }195196 impl app_promotion_rpc::AppPromotionApi<Block, BlockNumber, CrossAccountId, AccountId> for Runtime {197 #[allow(unused_variables)]198 fn total_staked(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {199 #[cfg(not(feature = "app-promotion"))]200 return unsupported!();201202 #[cfg(feature = "app-promotion")]203 return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked(staker).unwrap_or_default());204 }205206 #[allow(unused_variables)]207 fn total_staked_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {208 #[cfg(not(feature = "app-promotion"))]209 return unsupported!();210211 #[cfg(feature = "app-promotion")]212 return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked_per_block(staker));213 }214215 #[allow(unused_variables)]216 fn pending_unstake(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {217 #[cfg(not(feature = "app-promotion"))]218 return unsupported!();219220 #[cfg(feature = "app-promotion")]221 return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake(staker));222 }223224 #[allow(unused_variables)]225 fn pending_unstake_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {226 #[cfg(not(feature = "app-promotion"))]227 return unsupported!();228229 #[cfg(feature = "app-promotion")]230 return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake_per_block(staker))231 }232 }233234 impl rmrk_rpc::RmrkApi<235 Block,236 AccountId,237 RmrkCollectionInfo<AccountId>,238 RmrkInstanceInfo<AccountId>,239 RmrkResourceInfo,240 RmrkPropertyInfo,241 RmrkBaseInfo<AccountId>,242 RmrkPartType,243 RmrkTheme244 > for Runtime {245 fn last_collection_idx() -> Result<RmrkCollectionId, DispatchError> {246 #[cfg(feature = "rmrk")]247 return pallet_proxy_rmrk_core::rpc::last_collection_idx::<Runtime>();248249 #[cfg(not(feature = "rmrk"))]250 return unsupported!();251 }252253 #[allow(unused_variables)]254 fn collection_by_id(collection_id: RmrkCollectionId) -> Result<Option<RmrkCollectionInfo<AccountId>>, DispatchError> {255 #[cfg(feature = "rmrk")]256 return pallet_proxy_rmrk_core::rpc::collection_by_id::<Runtime>(collection_id);257258 #[cfg(not(feature = "rmrk"))]259 return unsupported!();260 }261262 #[allow(unused_variables)]263 fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result<Option<RmrkInstanceInfo<AccountId>>, DispatchError> {264 #[cfg(feature = "rmrk")]265 return pallet_proxy_rmrk_core::rpc::nft_by_id::<Runtime>(collection_id, nft_by_id);266267 #[cfg(not(feature = "rmrk"))]268 return unsupported!();269 }270271 #[allow(unused_variables)]272 fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result<Vec<RmrkNftId>, DispatchError> {273 #[cfg(feature = "rmrk")]274 return pallet_proxy_rmrk_core::rpc::account_tokens::<Runtime>(account_id, collection_id);275276 #[cfg(not(feature = "rmrk"))]277 return unsupported!();278 }279280 #[allow(unused_variables)]281 fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkNftChild>, DispatchError> {282 #[cfg(feature = "rmrk")]283 return pallet_proxy_rmrk_core::rpc::nft_children::<Runtime>(collection_id, nft_id);284285 #[cfg(not(feature = "rmrk"))]286 return unsupported!();287 }288289 #[allow(unused_variables)]290 fn collection_properties(291 collection_id: RmrkCollectionId,292 filter_keys: Option<Vec<RmrkPropertyKey>>293 ) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {294 #[cfg(feature = "rmrk")]295 return pallet_proxy_rmrk_core::rpc::collection_properties::<Runtime>(collection_id, filter_keys);296297 #[cfg(not(feature = "rmrk"))]298 return unsupported!();299 }300301 #[allow(unused_variables)]302 fn nft_properties(303 collection_id: RmrkCollectionId,304 nft_id: RmrkNftId,305 filter_keys: Option<Vec<RmrkPropertyKey>>306 ) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {307 #[cfg(feature = "rmrk")]308 return pallet_proxy_rmrk_core::rpc::nft_properties::<Runtime>(collection_id, nft_id, filter_keys);309310 #[cfg(not(feature = "rmrk"))]311 return unsupported!();312 }313314 #[allow(unused_variables)]315 fn nft_resources(collection_id: RmrkCollectionId,nft_id: RmrkNftId) -> Result<Vec<RmrkResourceInfo>, DispatchError> {316 #[cfg(feature = "rmrk")]317 return pallet_proxy_rmrk_core::rpc::nft_resources::<Runtime>(collection_id, nft_id);318319 #[cfg(not(feature = "rmrk"))]320 return unsupported!();321 }322323 #[allow(unused_variables)]324 fn nft_resource_priority(325 collection_id: RmrkCollectionId,326 nft_id: RmrkNftId,327 resource_id: RmrkResourceId328 ) -> Result<Option<u32>, DispatchError> {329 #[cfg(feature = "rmrk")]330 return pallet_proxy_rmrk_core::rpc::nft_resource_priority::<Runtime>(collection_id, nft_id, resource_id);331332 #[cfg(not(feature = "rmrk"))]333 return unsupported!();334 }335336 #[allow(unused_variables)]337 fn base(base_id: RmrkBaseId) -> Result<Option<RmrkBaseInfo<AccountId>>, DispatchError> {338 #[cfg(feature = "rmrk")]339 return pallet_proxy_rmrk_equip::rpc::base::<Runtime>(base_id);340341 #[cfg(not(feature = "rmrk"))]342 return unsupported!();343 }344345 #[allow(unused_variables)]346 fn base_parts(base_id: RmrkBaseId) -> Result<Vec<RmrkPartType>, DispatchError> {347 #[cfg(feature = "rmrk")]348 return pallet_proxy_rmrk_equip::rpc::base_parts::<Runtime>(base_id);349350 #[cfg(not(feature = "rmrk"))]351 return unsupported!();352 }353354 #[allow(unused_variables)]355 fn theme_names(base_id: RmrkBaseId) -> Result<Vec<RmrkThemeName>, DispatchError> {356 #[cfg(feature = "rmrk")]357 return pallet_proxy_rmrk_equip::rpc::theme_names::<Runtime>(base_id);358359 #[cfg(not(feature = "rmrk"))]360 return unsupported!();361 }362363 #[allow(unused_variables)]364 fn theme(365 base_id: RmrkBaseId,366 theme_name: RmrkThemeName,367 filter_keys: Option<Vec<RmrkPropertyKey>>368 ) -> Result<Option<RmrkTheme>, DispatchError> {369 #[cfg(feature = "rmrk")]370 return pallet_proxy_rmrk_equip::rpc::theme::<Runtime>(base_id, theme_name, filter_keys);371372 #[cfg(not(feature = "rmrk"))]373 return unsupported!();374 }375 }376377 impl sp_api::Core<Block> for Runtime {378 fn version() -> RuntimeVersion {379 VERSION380 }381382 fn execute_block(block: Block) {383 Executive::execute_block(block)384 }385386 fn initialize_block(header: &<Block as BlockT>::Header) {387 Executive::initialize_block(header)388 }389 }390391 impl sp_api::Metadata<Block> for Runtime {392 fn metadata() -> OpaqueMetadata {393 OpaqueMetadata::new(Runtime::metadata().into())394 }395 }396397 impl sp_block_builder::BlockBuilder<Block> for Runtime {398 fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {399 Executive::apply_extrinsic(extrinsic)400 }401402 fn finalize_block() -> <Block as BlockT>::Header {403 Executive::finalize_block()404 }405406 fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {407 data.create_extrinsics()408 }409410 fn check_inherents(411 block: Block,412 data: sp_inherents::InherentData,413 ) -> sp_inherents::CheckInherentsResult {414 data.check_extrinsics(&block)415 }416417 // fn random_seed() -> <Block as BlockT>::Hash {418 // RandomnessCollectiveFlip::random_seed().0419 // }420 }421422 impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {423 fn validate_transaction(424 source: TransactionSource,425 tx: <Block as BlockT>::Extrinsic,426 hash: <Block as BlockT>::Hash,427 ) -> TransactionValidity {428 Executive::validate_transaction(source, tx, hash)429 }430 }431432 impl sp_offchain::OffchainWorkerApi<Block> for Runtime {433 fn offchain_worker(header: &<Block as BlockT>::Header) {434 Executive::offchain_worker(header)435 }436 }437438 impl fp_rpc::EthereumRuntimeRPCApi<Block> for Runtime {439 fn chain_id() -> u64 {440 <Runtime as pallet_evm::Config>::ChainId::get()441 }442443 fn account_basic(address: H160) -> EVMAccount {444 let (account, _) = EVM::account_basic(&address);445 account446 }447448 fn gas_price() -> U256 {449 let (price, _) = <Runtime as pallet_evm::Config>::FeeCalculator::min_gas_price();450 price451 }452453 fn account_code_at(address: H160) -> Vec<u8> {454 EVM::account_codes(address)455 }456457 fn author() -> H160 {458 <pallet_evm::Pallet<Runtime>>::find_author()459 }460461 fn storage_at(address: H160, index: U256) -> H256 {462 let mut tmp = [0u8; 32];463 index.to_big_endian(&mut tmp);464 EVM::account_storages(address, H256::from_slice(&tmp[..]))465 }466467 #[allow(clippy::redundant_closure)]468 fn call(469 from: H160,470 to: H160,471 data: Vec<u8>,472 value: U256,473 gas_limit: U256,474 max_fee_per_gas: Option<U256>,475 max_priority_fee_per_gas: Option<U256>,476 nonce: Option<U256>,477 estimate: bool,478 access_list: Option<Vec<(H160, Vec<H256>)>>,479 ) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {480 let config = if estimate {481 let mut config = <Runtime as pallet_evm::Config>::config().clone();482 config.estimate = true;483 Some(config)484 } else {485 None486 };487488 let is_transactional = false;489 let validate = false;490 <Runtime as pallet_evm::Config>::Runner::call(491 CrossAccountId::from_eth(from),492 to,493 data,494 value,495 gas_limit.low_u64(),496 max_fee_per_gas,497 max_priority_fee_per_gas,498 nonce,499 access_list.unwrap_or_default(),500 is_transactional,501 validate,502 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),503 ).map_err(|err| err.error.into())504 }505506 #[allow(clippy::redundant_closure)]507 fn create(508 from: H160,509 data: Vec<u8>,510 value: U256,511 gas_limit: U256,512 max_fee_per_gas: Option<U256>,513 max_priority_fee_per_gas: Option<U256>,514 nonce: Option<U256>,515 estimate: bool,516 access_list: Option<Vec<(H160, Vec<H256>)>>,517 ) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {518 let config = if estimate {519 let mut config = <Runtime as pallet_evm::Config>::config().clone();520 config.estimate = true;521 Some(config)522 } else {523 None524 };525526 let is_transactional = false;527 let validate = false;528 <Runtime as pallet_evm::Config>::Runner::create(529 CrossAccountId::from_eth(from),530 data,531 value,532 gas_limit.low_u64(),533 max_fee_per_gas,534 max_priority_fee_per_gas,535 nonce,536 access_list.unwrap_or_default(),537 is_transactional,538 validate,539 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),540 ).map_err(|err| err.error.into())541 }542543 fn current_transaction_statuses() -> Option<Vec<TransactionStatus>> {544 Ethereum::current_transaction_statuses()545 }546547 fn current_block() -> Option<pallet_ethereum::Block> {548 Ethereum::current_block()549 }550551 fn current_receipts() -> Option<Vec<pallet_ethereum::Receipt>> {552 Ethereum::current_receipts()553 }554555 fn current_all() -> (556 Option<pallet_ethereum::Block>,557 Option<Vec<pallet_ethereum::Receipt>>,558 Option<Vec<TransactionStatus>>559 ) {560 (561 Ethereum::current_block(),562 Ethereum::current_receipts(),563 Ethereum::current_transaction_statuses()564 )565 }566567 fn extrinsic_filter(xts: Vec<<Block as sp_api::BlockT>::Extrinsic>) -> Vec<pallet_ethereum::Transaction> {568 xts.into_iter().filter_map(|xt| match xt.0.function {569 RuntimeCall::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction),570 _ => None571 }).collect()572 }573574 fn elasticity() -> Option<Permill> {575 None576 }577578 fn gas_limit_multiplier_support() {}579 }580581 impl fp_rpc::ConvertTransactionRuntimeApi<Block> for Runtime {582 fn convert_transaction(transaction: pallet_ethereum::Transaction) -> <Block as BlockT>::Extrinsic {583 UncheckedExtrinsic::new_unsigned(584 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),585 )586 }587 }588589 impl sp_session::SessionKeys<Block> for Runtime {590 fn decode_session_keys(591 encoded: Vec<u8>,592 ) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {593 SessionKeys::decode_into_raw_public_keys(&encoded)594 }595596 fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {597 SessionKeys::generate(seed)598 }599 }600601 impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {602 fn slot_duration() -> sp_consensus_aura::SlotDuration {603 sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())604 }605606 fn authorities() -> Vec<AuraId> {607 Aura::authorities().to_vec()608 }609 }610611 impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {612 fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {613 ParachainSystem::collect_collation_info(header)614 }615 }616617 impl frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Index> for Runtime {618 fn account_nonce(account: AccountId) -> Index {619 System::account_nonce(account)620 }621 }622623 impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance> for Runtime {624 fn query_info(uxt: <Block as BlockT>::Extrinsic, len: u32) -> RuntimeDispatchInfo<Balance> {625 TransactionPayment::query_info(uxt, len)626 }627 fn query_fee_details(uxt: <Block as BlockT>::Extrinsic, len: u32) -> FeeDetails<Balance> {628 TransactionPayment::query_fee_details(uxt, len)629 }630 }631632 /*633 impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>634 for Runtime635 {636 fn call(637 origin: AccountId,638 dest: AccountId,639 value: Balance,640 gas_limit: u64,641 input_data: Vec<u8>,642 ) -> pallet_contracts_primitives::ContractExecResult {643 Contracts::bare_call(origin, dest, value, gas_limit, input_data, false)644 }645646 fn instantiate(647 origin: AccountId,648 endowment: Balance,649 gas_limit: u64,650 code: pallet_contracts_primitives::Code<Hash>,651 data: Vec<u8>,652 salt: Vec<u8>,653 ) -> pallet_contracts_primitives::ContractInstantiateResult<AccountId, BlockNumber>654 {655 Contracts::bare_instantiate(origin, endowment, gas_limit, code, data, salt, true, false)656 }657658 fn get_storage(659 address: AccountId,660 key: [u8; 32],661 ) -> pallet_contracts_primitives::GetStorageResult {662 Contracts::get_storage(address, key)663 }664665 fn rent_projection(666 address: AccountId,667 ) -> pallet_contracts_primitives::RentProjectionResult<BlockNumber> {668 Contracts::rent_projection(address)669 }670 }671 */672673 #[cfg(feature = "runtime-benchmarks")]674 impl frame_benchmarking::Benchmark<Block> for Runtime {675 fn benchmark_metadata(extra: bool) -> (676 Vec<frame_benchmarking::BenchmarkList>,677 Vec<frame_support::traits::StorageInfo>,678 ) {679 use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};680 use frame_support::traits::StorageInfoTrait;681682 let mut list = Vec::<BenchmarkList>::new();683684 list_benchmark!(list, extra, pallet_data_management, DataManagement);685 list_benchmark!(list, extra, pallet_common, Common);686 list_benchmark!(list, extra, pallet_unique, Unique);687 list_benchmark!(list, extra, pallet_structure, Structure);688 list_benchmark!(list, extra, pallet_inflation, Inflation);689690 #[cfg(feature = "app-promotion")]691 list_benchmark!(list, extra, pallet_app_promotion, AppPromotion);692693 list_benchmark!(list, extra, pallet_fungible, Fungible);694 list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);695696 #[cfg(feature = "refungible")]697 list_benchmark!(list, extra, pallet_refungible, Refungible);698699 #[cfg(feature = "scheduler")]700 list_benchmark!(list, extra, pallet_unique_scheduler_v2, Scheduler);701702 #[cfg(feature = "rmrk")]703 list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);704705 #[cfg(feature = "rmrk")]706 list_benchmark!(list, extra, pallet_proxy_rmrk_equip, RmrkEquip);707708 #[cfg(feature = "collator-selection")]709 list_benchmark!(list, extra, pallet_collator_selection, CollatorSelection);710711 #[cfg(feature = "collator-selection")]712 list_benchmark!(list, extra, pallet_identity, Identity);713714 #[cfg(feature = "foreign-assets")]715 list_benchmark!(list, extra, pallet_foreign_assets, ForeignAssets);716717718 // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);719720 let storage_info = AllPalletsReversedWithSystemFirst::storage_info();721722 return (list, storage_info)723 }724725 fn dispatch_benchmark(726 config: frame_benchmarking::BenchmarkConfig727 ) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {728 use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey};729730 let allowlist: Vec<TrackedStorageKey> = vec![731 // Total Issuance732 hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),733734 // Block Number735 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),736 // Execution Phase737 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),738 // Event Count739 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),740 // System Events741 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),742743 // Evm CurrentLogs744 hex_literal::hex!("1da53b775b270400e7e61ed5cbc5a146547f210cec367e9af919603343b9cb56").to_vec().into(),745746 // Transactional depth747 hex_literal::hex!("3a7472616e73616374696f6e5f6c6576656c3a").to_vec().into(),748 ];749750 let mut batches = Vec::<BenchmarkBatch>::new();751 let params = (&config, &allowlist);752753 add_benchmark!(params, batches, pallet_data_management, DataManagement);754 add_benchmark!(params, batches, pallet_common, Common);755 add_benchmark!(params, batches, pallet_unique, Unique);756 add_benchmark!(params, batches, pallet_structure, Structure);757 add_benchmark!(params, batches, pallet_inflation, Inflation);758759 #[cfg(feature = "app-promotion")]760 add_benchmark!(params, batches, pallet_app_promotion, AppPromotion);761762 add_benchmark!(params, batches, pallet_fungible, Fungible);763 add_benchmark!(params, batches, pallet_nonfungible, Nonfungible);764765 #[cfg(feature = "refungible")]766 add_benchmark!(params, batches, pallet_refungible, Refungible);767768 #[cfg(feature = "scheduler")]769 add_benchmark!(params, batches, pallet_unique_scheduler_v2, Scheduler);770771 #[cfg(feature = "rmrk")]772 add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);773774 #[cfg(feature = "rmrk")]775 add_benchmark!(params, batches, pallet_proxy_rmrk_equip, RmrkEquip);776777 #[cfg(feature = "collator-selection")]778 add_benchmark!(params, batches, pallet_collator_selection, CollatorSelection);779780 #[cfg(feature = "collator-selection")]781 add_benchmark!(params, batches, pallet_identity, Identity);782783 #[cfg(feature = "foreign-assets")]784 add_benchmark!(params, batches, pallet_foreign_assets, ForeignAssets);785786 // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);787788 if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }789 Ok(batches)790 }791 }792793 impl up_pov_estimate_rpc::PovEstimateApi<Block> for Runtime {794 #[allow(unused_variables)]795 fn pov_estimate(uxt: Bytes) -> ApplyExtrinsicResult {796 #[cfg(feature = "pov-estimate")]797 {798 use codec::Decode;799800 let uxt_decode = <<Block as BlockT>::Extrinsic as Decode>::decode(&mut &*uxt)801 .map_err(|_| DispatchError::Other("failed to decode the extrinsic"));802803 let uxt = match uxt_decode {804 Ok(uxt) => uxt,805 Err(err) => return Ok(err.into()),806 };807808 Executive::apply_extrinsic(uxt)809 }810811 #[cfg(not(feature = "pov-estimate"))]812 return Ok(unsupported!());813 }814 }815816 #[cfg(feature = "try-runtime")]817 impl frame_try_runtime::TryRuntime<Block> for Runtime {818 fn on_runtime_upgrade(checks: bool) -> (frame_support::pallet_prelude::Weight, frame_support::pallet_prelude::Weight) {819 log::info!("try-runtime::on_runtime_upgrade unique-chain.");820 let weight = Executive::try_runtime_upgrade(checks).unwrap();821 (weight, crate::config::substrate::RuntimeBlockWeights::get().max_block)822 }823824 fn execute_block(825 block: Block,826 state_root_check: bool,827 signature_check: bool,828 select: frame_try_runtime::TryStateSelect829 ) -> frame_support::pallet_prelude::Weight {830 log::info!(831 target: "node-runtime",832 "try-runtime: executing block {:?} / root checks: {:?} / try-state-select: {:?}",833 block.header.hash(),834 state_root_check,835 select,836 );837838 Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap()839 }840 }841 }842 }843}runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -24,7 +24,7 @@
'frame-system-benchmarking',
'frame-system/runtime-benchmarks',
'pallet-ethereum/runtime-benchmarks',
- 'pallet-data-management/runtime-benchmarks',
+ 'pallet-evm-migration/runtime-benchmarks',
'pallet-evm-coder-substrate/runtime-benchmarks',
'pallet-balances/runtime-benchmarks',
'pallet-timestamp/runtime-benchmarks',
@@ -93,7 +93,7 @@
'pallet-evm-coder-substrate/try-runtime',
'pallet-evm-contract-helpers/try-runtime',
'pallet-evm-transaction-payment/try-runtime',
- 'pallet-data-management/try-runtime',
+ 'pallet-evm-migration/try-runtime',
'pallet-base-fee/try-runtime',
'pallet-unique-scheduler-v2/try-runtime',
'pallet-maintenance/try-runtime',
@@ -130,7 +130,7 @@
'pallet-transaction-payment-rpc-runtime-api/std',
'pallet-treasury/std',
'pallet-evm/std',
- 'pallet-data-management/std',
+ 'pallet-evm-migration/std',
'pallet-evm-contract-helpers/std',
'pallet-evm-transaction-payment/std',
'pallet-evm-coder-substrate/std',
@@ -513,7 +513,7 @@
pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.36", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
pallet-unique-scheduler-v2 = { path = '../../pallets/scheduler-v2', default-features = false }
-pallet-data-management = { path = '../../pallets/data-management', default-features = false }
+pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -24,7 +24,7 @@
'frame-system-benchmarking',
'frame-system/runtime-benchmarks',
'pallet-ethereum/runtime-benchmarks',
- 'pallet-data-management/runtime-benchmarks',
+ 'pallet-evm-migration/runtime-benchmarks',
'pallet-evm-coder-substrate/runtime-benchmarks',
'pallet-balances/runtime-benchmarks',
'pallet-timestamp/runtime-benchmarks',
@@ -91,7 +91,7 @@
'pallet-evm-coder-substrate/try-runtime',
'pallet-evm-contract-helpers/try-runtime',
'pallet-evm-transaction-payment/try-runtime',
- 'pallet-data-management/try-runtime',
+ 'pallet-evm-migration/try-runtime',
'pallet-maintenance/try-runtime',
'fp-self-contained/try-runtime',
]
@@ -125,7 +125,7 @@
'pallet-transaction-payment-rpc-runtime-api/std',
'pallet-treasury/std',
'pallet-evm/std',
- 'pallet-data-management/std',
+ 'pallet-evm-migration/std',
'pallet-evm-contract-helpers/std',
'pallet-evm-transaction-payment/std',
'pallet-evm-coder-substrate/std',
@@ -504,7 +504,7 @@
pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.36", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
-pallet-data-management = { path = '../../pallets/data-management', default-features = false }
+pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -24,7 +24,7 @@
'frame-system-benchmarking',
'frame-system/runtime-benchmarks',
'pallet-ethereum/runtime-benchmarks',
- 'pallet-data-management/runtime-benchmarks',
+ 'pallet-evm-migration/runtime-benchmarks',
'pallet-evm-coder-substrate/runtime-benchmarks',
'pallet-balances/runtime-benchmarks',
'pallet-timestamp/runtime-benchmarks',
@@ -91,7 +91,7 @@
'pallet-evm-coder-substrate/try-runtime',
'pallet-evm-contract-helpers/try-runtime',
'pallet-evm-transaction-payment/try-runtime',
- 'pallet-data-management/try-runtime',
+ 'pallet-evm-migration/try-runtime',
'pallet-maintenance/try-runtime',
'fp-self-contained/try-runtime',
]
@@ -125,7 +125,7 @@
'pallet-transaction-payment-rpc-runtime-api/std',
'pallet-treasury/std',
'pallet-evm/std',
- 'pallet-data-management/std',
+ 'pallet-evm-migration/std',
'pallet-evm-contract-helpers/std',
'pallet-evm-transaction-payment/std',
'pallet-evm-coder-substrate/std',
@@ -495,7 +495,7 @@
pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.36", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
-pallet-data-management = { path = '../../pallets/data-management', default-features = false }
+pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -24,7 +24,7 @@
interface ContractHelpers is Dummy, ERC165, ContractHelpersEvents {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
- /// using uniquenetwork data-management pallet, or using other terms not
+ /// using uniquenetwork evm-migration pallet, or using other terms not
/// intended by pallet-evm
/// @dev Returns zero address if contract does not exists
/// @param contractAddress Contract to get owner of
tests/src/eth/migration.seqtest.tsdiffbeforeafterboth--- a/tests/src/eth/migration.seqtest.ts
+++ b/tests/src/eth/migration.seqtest.ts
@@ -83,9 +83,9 @@
const caller = await helper.eth.createAccountWithBalance(superuser);
- const txBegin = helper.constructApiCall('api.tx.dataManagement.begin', [ADDRESS]);
- const txSetData = helper.constructApiCall('api.tx.dataManagement.setData', [ADDRESS, DATA]);
- const txFinish = helper.constructApiCall('api.tx.dataManagement.finish', [ADDRESS, CODE]);
+ const txBegin = helper.constructApiCall('api.tx.evmMigration.begin', [ADDRESS]);
+ const txSetData = helper.constructApiCall('api.tx.evmMigration.setData', [ADDRESS, DATA]);
+ const txFinish = helper.constructApiCall('api.tx.evmMigration.finish', [ADDRESS, CODE]);
await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txBegin])).to.be.fulfilled;
await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txSetData])).to.be.fulfilled;
await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txFinish])).to.be.fulfilled;
@@ -126,7 +126,7 @@
}
});
itEth('Fake collection creation on substrate side', async ({helper}) => {
- const txInsertEvents = helper.constructApiCall('api.tx.dataManagement.insertEvents', [[
+ const txInsertEvents = helper.constructApiCall('api.tx.evmMigration.insertEvents', [[
encodeEvent(helper.getApi(), 'Common', 'common', 'CollectionCreated', [
// Collection Id
9999,
@@ -143,7 +143,7 @@
expect(eventStrings).to.contain('common.CollectionCreated');
});
itEth('Fake token creation on substrate side', async ({helper}) => {
- const txInsertEvents = helper.constructApiCall('api.tx.dataManagement.insertEvents', [[
+ const txInsertEvents = helper.constructApiCall('api.tx.evmMigration.insertEvents', [[
encodeEvent(helper.getApi(), 'Common', 'common', 'ItemCreated', [
// Collection Id
9999,
@@ -173,7 +173,7 @@
});
{
- const txInsertEthLogs = helper.constructApiCall('api.tx.dataManagement.insertEthLogs', [[
+ const txInsertEthLogs = helper.constructApiCall('api.tx.evmMigration.insertEthLogs', [[
{
// Contract, which has emitted this log
address: collectionAddress,
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -334,7 +334,7 @@
**/
[key: string]: AugmentedError<ApiType>;
};
- dataManagement: {
+ evmMigration: {
/**
* Migration of this account is not yet started, or already finished.
**/
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -236,7 +236,7 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
- dataManagement: {
+ evmMigration: {
/**
* This event is used in benchmarking and can be used for tests
**/
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -211,7 +211,7 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
- dataManagement: {
+ evmMigration: {
migrationPending: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
/**
* Generic query
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -292,7 +292,7 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
- dataManagement: {
+ evmMigration: {
/**
* Start contract migration, inserts contract stub at target address,
* and marks account as pending, allowing to insert storage
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonDataManagementFilterIdentity, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDataManagementCall, PalletDataManagementError, PalletDataManagementEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -772,7 +772,7 @@
Offender: Offender;
OldV1SessionInfo: OldV1SessionInfo;
OpalRuntimeRuntime: OpalRuntimeRuntime;
- OpalRuntimeRuntimeCommonDataManagementFilterIdentity: OpalRuntimeRuntimeCommonDataManagementFilterIdentity;
+ OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity: OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity;
OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
OpaqueCall: OpaqueCall;
@@ -842,9 +842,9 @@
PalletConfigurationEvent: PalletConfigurationEvent;
PalletConstantMetadataLatest: PalletConstantMetadataLatest;
PalletConstantMetadataV14: PalletConstantMetadataV14;
- PalletDataManagementCall: PalletDataManagementCall;
- PalletDataManagementError: PalletDataManagementError;
- PalletDataManagementEvent: PalletDataManagementEvent;
+ PalletEvmMigrationCall: PalletEvmMigrationCall;
+ PalletEvmMigrationError: PalletEvmMigrationError;
+ PalletEvmMigrationEvent: PalletEvmMigrationEvent;
PalletErrorMetadataLatest: PalletErrorMetadataLatest;
PalletErrorMetadataV14: PalletErrorMetadataV14;
PalletEthereumCall: PalletEthereumCall;
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -693,8 +693,8 @@
/** @name OpalRuntimeRuntime */
export interface OpalRuntimeRuntime extends Null {}
-/** @name OpalRuntimeRuntimeCommonDataManagementFilterIdentity */
-export interface OpalRuntimeRuntimeCommonDataManagementFilterIdentity extends Null {}
+/** @name OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity */
+export interface OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity extends Null {}
/** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */
export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {}
@@ -1453,8 +1453,8 @@
readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';
}
-/** @name PalletDataManagementCall */
-export interface PalletDataManagementCall extends Enum {
+/** @name PalletEvmMigrationCall */
+export interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
readonly address: H160;
@@ -1480,16 +1480,16 @@
readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
}
-/** @name PalletDataManagementError */
-export interface PalletDataManagementError extends Enum {
+/** @name PalletEvmMigrationError */
+export interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
readonly isBadEvent: boolean;
readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
}
-/** @name PalletDataManagementEvent */
-export interface PalletDataManagementEvent extends Enum {
+/** @name PalletEvmMigrationEvent */
+export interface PalletEvmMigrationEvent extends Enum {
readonly isTestEvent: boolean;
readonly type: 'TestEvent';
}
tests/src/interfaces/lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1391,9 +1391,9 @@
}
},
/**
- * Lookup123: pallet_data_management::pallet::Event<T>
+ * Lookup123: pallet_evm_migration::pallet::Event<T>
**/
- PalletDataManagementEvent: {
+ PalletEvmMigrationEvent: {
_enum: ['TestEvent']
},
/**
@@ -3209,9 +3209,9 @@
s: 'H256'
},
/**
- * Lookup414: pallet_data_management::pallet::Call<T>
+ * Lookup414: pallet_evm_migration::pallet::Call<T>
**/
- PalletDataManagementCall: {
+ PalletEvmMigrationCall: {
_enum: {
begin: {
address: 'H160',
@@ -3775,9 +3775,9 @@
_enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
},
/**
- * Lookup551: pallet_data_management::pallet::Error<T>
+ * Lookup551: pallet_evm_migration::pallet::Error<T>
**/
- PalletDataManagementError: {
+ PalletEvmMigrationError: {
_enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
},
/**
@@ -3837,9 +3837,9 @@
**/
OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
/**
- * Lookup570: opal_runtime::runtime_common::data_management::FilterIdentity
+ * Lookup570: opal_runtime::runtime_common::evm_migration::FilterIdentity
**/
- OpalRuntimeRuntimeCommonDataManagementFilterIdentity: 'Null',
+ OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity: 'Null',
/**
* Lookup571: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
**/
tests/src/interfaces/registry.tsdiffbeforeafterboth--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonDataManagementFilterIdentity, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDataManagementCall, PalletDataManagementError, PalletDataManagementEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
declare module '@polkadot/types/types/registry' {
interface InterfaceTypes {
@@ -74,7 +74,7 @@
FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass;
FrameSystemPhase: FrameSystemPhase;
OpalRuntimeRuntime: OpalRuntimeRuntime;
- OpalRuntimeRuntimeCommonDataManagementFilterIdentity: OpalRuntimeRuntimeCommonDataManagementFilterIdentity;
+ OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity: OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity;
OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
OrmlTokensAccountData: OrmlTokensAccountData;
@@ -112,9 +112,9 @@
PalletConfigurationCall: PalletConfigurationCall;
PalletConfigurationError: PalletConfigurationError;
PalletConfigurationEvent: PalletConfigurationEvent;
- PalletDataManagementCall: PalletDataManagementCall;
- PalletDataManagementError: PalletDataManagementError;
- PalletDataManagementEvent: PalletDataManagementEvent;
+ PalletEvmMigrationCall: PalletEvmMigrationCall;
+ PalletEvmMigrationError: PalletEvmMigrationError;
+ PalletEvmMigrationEvent: PalletEvmMigrationEvent;
PalletEthereumCall: PalletEthereumCall;
PalletEthereumError: PalletEthereumError;
PalletEthereumEvent: PalletEthereumEvent;
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1564,8 +1564,8 @@
readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
}
- /** @name PalletDataManagementEvent (123) */
- interface PalletDataManagementEvent extends Enum {
+ /** @name PalletEvmMigrationEvent (123) */
+ interface PalletEvmMigrationEvent extends Enum {
readonly isTestEvent: boolean;
readonly type: 'TestEvent';
}
@@ -3493,8 +3493,8 @@
readonly s: H256;
}
- /** @name PalletDataManagementCall (414) */
- interface PalletDataManagementCall extends Enum {
+ /** @name PalletEvmMigrationCall (414) */
+ interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
readonly address: H160;
@@ -4180,8 +4180,8 @@
readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
}
- /** @name PalletDataManagementError (551) */
- interface PalletDataManagementError extends Enum {
+ /** @name PalletEvmMigrationError (551) */
+ interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
readonly isBadEvent: boolean;
@@ -4236,8 +4236,8 @@
/** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (569) */
type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
- /** @name OpalRuntimeRuntimeCommonDataManagementFilterIdentity (570) */
- type OpalRuntimeRuntimeCommonDataManagementFilterIdentity = Null;
+ /** @name OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity (570) */
+ type OpalRuntimeRuntimeCommonEvmMigrationFilterIdentity = Null;
/** @name PalletTemplateTransactionPaymentChargeTransactionPayment (571) */
interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
tests/src/pallet-presence.test.tsdiffbeforeafterboth--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -32,7 +32,7 @@
'evm',
'evmcodersubstrate',
'evmcontracthelpers',
- 'datamanagement',
+ 'evmmigration',
'evmtransactionpayment',
'ethereum',
'fungible',