From 65e077c4f014b5cca1f70e59695b8651e83bee01 Mon Sep 17 00:00:00 2001 From: Fahrrader Date: Wed, 28 Dec 2022 02:11:28 +0000 Subject: [PATCH] refactor(data-management): revert naming back to evm-migration --- --- 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", --- 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 --- 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] --- 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() -> Result where - T: Config + pallet_unique::Config + pallet_data_management::Config, + T: Config + pallet_unique::Config + pallet_evm_migration::Config, T::BlockNumber: From + Into, <::Currency as Currency>::Balance: Sum + From, { @@ -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 + Into, <::Currency as Currency>::Balance: Sum + From } @@ -156,8 +156,8 @@ let _ = ::Currency::make_free_balance_be(&pallet_admin, Perbill::from_rational(1u32, 2) * BalanceOf::::max_value()); let address = H160::from_low_u64_be(SEED as u64); let data: Vec = (0..20 as u8).collect(); - >::begin(RawOrigin::Root.into(), address)?; - >::finish(RawOrigin::Root.into(), address, data)?; + >::begin(RawOrigin::Root.into(), address)?; + >::finish(RawOrigin::Root.into(), address, data)?; } : _(RawOrigin::Signed(pallet_admin.clone()), address) stop_sponsoring_contract { @@ -167,8 +167,8 @@ let _ = ::Currency::make_free_balance_be(&pallet_admin, Perbill::from_rational(1u32, 2) * BalanceOf::::max_value()); let address = H160::from_low_u64_be(SEED as u64); let data: Vec = (0..20 as u8).collect(); - >::begin(RawOrigin::Root.into(), address)?; - >::finish(RawOrigin::Root.into(), address, data)?; + >::begin(RawOrigin::Root.into(), address)?; + >::finish(RawOrigin::Root.into(), address, data)?; PromototionPallet::::sponsor_contract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?; } : _(RawOrigin::Signed(pallet_admin.clone()), address) } --- a/pallets/data-management/CHANGELOG.md +++ /dev/null @@ -1,17 +0,0 @@ - -## [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 --- 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"] --- 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 --- 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 . - -#![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 ::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), - )); - } - >::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 = (0..b as u8).collect(); - >::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::>(); - }: _(RawOrigin::Root, logs) - - insert_events { - let b in 0..200; - use codec::Encode; - let logs = (0..b).map(|_| ::RuntimeEvent::from(crate::Event::::TestEvent).encode()).collect::>(); - }: _(RawOrigin::Root, logs) -} --- 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 . - -#![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> + IsType<::RuntimeEvent>; - } - - type SelfWeightOf = ::WeightInfo; - - #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] - pub struct Pallet(_); - - #[pallet::event] - pub enum Event { - /// This event is used in benchmarking and can be used for tests - TestEvent, - } - - #[pallet::error] - pub enum Error { - /// 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 = - StorageMap; - - #[pallet::call] - impl Pallet { - /// Start contract migration, inserts contract stub at target address, - /// and marks account as pending, allowing to insert storage - #[pallet::call_index(0)] - #[pallet::weight(>::begin())] - pub fn begin(origin: OriginFor, address: H160) -> DispatchResult { - ensure_root(origin)?; - ensure!( - >::is_account_empty(&address) && !>::get(&address), - >::AccountNotEmpty, - ); - - >::insert(address, true); - Ok(()) - } - - /// Insert items into contract storage, this method can be called - /// multiple times - #[pallet::call_index(1)] - #[pallet::weight(>::set_data(data.len() as u32))] - pub fn set_data( - origin: OriginFor, - address: H160, - data: Vec<(H256, H256)>, - ) -> DispatchResult { - ensure_root(origin)?; - ensure!( - >::get(&address), - >::AccountIsNotMigrating, - ); - - for (k, v) in data { - >::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(>::finish(code.len() as u32))] - pub fn finish(origin: OriginFor, address: H160, code: Vec) -> DispatchResult { - ensure_root(origin)?; - ensure!( - >::get(&address), - >::AccountIsNotMigrating, - ); - - >::insert(&address, code); - >::remove(address); - Ok(()) - } - - /// Create ethereum events attached to the fake transaction - #[pallet::call_index(3)] - #[pallet::weight(>::insert_eth_logs(logs.len() as u32))] - pub fn insert_eth_logs(origin: OriginFor, logs: Vec) -> DispatchResult { - ensure_root(origin)?; - for log in logs { - >::deposit_log(log); - } - // Transactions is created by FakeTransactionFinalizer - Ok(()) - } - - /// Create substrate events - #[pallet::call_index(4)] - #[pallet::weight(>::insert_events(events.len() as u32))] - pub fn insert_events(origin: OriginFor, events: Vec>) -> DispatchResult { - ensure_root(origin)?; - for event in events { - >::deposit_event( - ::RuntimeEvent::decode(&mut event.as_slice()) - .map_err(|_| >::BadEvent)?, - ); - } - Ok(()) - } - } - - /// Implements [`pallet_evm::OnMethodCall`], which reserves accounts with pending migration - pub struct OnMethodCall(PhantomData); - impl pallet_evm::OnMethodCall for OnMethodCall { - fn is_reserved(contract: &H160) -> bool { - >::get(&contract) - } - - fn is_used(_contract: &H160) -> bool { - false - } - - fn call(_handle: &mut impl PrecompileHandle) -> Option { - None - } - - fn get_code(_contract: &H160) -> Option> { - None - } - } -} --- 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(PhantomData); -impl WeightInfo for SubstrateWeight { - // 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)) - } -} --- 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 --- 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 --- /dev/null +++ b/pallets/evm-migration/CHANGELOG.md @@ -0,0 +1,17 @@ + +## [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 --- /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"] --- /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 --- /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 . + +#![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 ::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), + )); + } + >::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 = (0..b as u8).collect(); + >::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::>(); + }: _(RawOrigin::Root, logs) + + insert_events { + let b in 0..200; + use codec::Encode; + let logs = (0..b).map(|_| ::RuntimeEvent::from(crate::Event::::TestEvent).encode()).collect::>(); + }: _(RawOrigin::Root, logs) +} --- /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 . + +#![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> + IsType<::RuntimeEvent>; + } + + type SelfWeightOf = ::WeightInfo; + + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); + + #[pallet::event] + pub enum Event { + /// This event is used in benchmarking and can be used for tests + TestEvent, + } + + #[pallet::error] + pub enum Error { + /// 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 = + StorageMap; + + #[pallet::call] + impl Pallet { + /// Start contract migration, inserts contract stub at target address, + /// and marks account as pending, allowing to insert storage + #[pallet::call_index(0)] + #[pallet::weight(>::begin())] + pub fn begin(origin: OriginFor, address: H160) -> DispatchResult { + ensure_root(origin)?; + ensure!( + >::is_account_empty(&address) && !>::get(&address), + >::AccountNotEmpty, + ); + + >::insert(address, true); + Ok(()) + } + + /// Insert items into contract storage, this method can be called + /// multiple times + #[pallet::call_index(1)] + #[pallet::weight(>::set_data(data.len() as u32))] + pub fn set_data( + origin: OriginFor, + address: H160, + data: Vec<(H256, H256)>, + ) -> DispatchResult { + ensure_root(origin)?; + ensure!( + >::get(&address), + >::AccountIsNotMigrating, + ); + + for (k, v) in data { + >::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(>::finish(code.len() as u32))] + pub fn finish(origin: OriginFor, address: H160, code: Vec) -> DispatchResult { + ensure_root(origin)?; + ensure!( + >::get(&address), + >::AccountIsNotMigrating, + ); + + >::insert(&address, code); + >::remove(address); + Ok(()) + } + + /// Create ethereum events attached to the fake transaction + #[pallet::call_index(3)] + #[pallet::weight(>::insert_eth_logs(logs.len() as u32))] + pub fn insert_eth_logs(origin: OriginFor, logs: Vec) -> DispatchResult { + ensure_root(origin)?; + for log in logs { + >::deposit_log(log); + } + // Transactions is created by FakeTransactionFinalizer + Ok(()) + } + + /// Create substrate events + #[pallet::call_index(4)] + #[pallet::weight(>::insert_events(events.len() as u32))] + pub fn insert_events(origin: OriginFor, events: Vec>) -> DispatchResult { + ensure_root(origin)?; + for event in events { + >::deposit_event( + ::RuntimeEvent::decode(&mut event.as_slice()) + .map_err(|_| >::BadEvent)?, + ); + } + Ok(()) + } + } + + /// Implements [`pallet_evm::OnMethodCall`], which reserves accounts with pending migration + pub struct OnMethodCall(PhantomData); + impl pallet_evm::OnMethodCall for OnMethodCall { + fn is_reserved(contract: &H160) -> bool { + >::get(&contract) + } + + fn is_used(_contract: &H160) -> bool { + false + } + + fn call(_handle: &mut impl PrecompileHandle) -> Option { + None + } + + fn get_code(_contract: &H160) -> Option> { + None + } + } +} --- /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(PhantomData); +impl WeightInfo for SubstrateWeight { + // 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)) + } +} --- 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, + pallet_evm_migration::OnMethodCall, pallet_evm_contract_helpers::HelpersOnMethodCall, CollectionDispatchT, pallet_unique::eth::CollectionHelpersOnMethodCall, @@ -83,9 +83,9 @@ type FindAuthor = EthereumFindAuthor; } -impl pallet_data_management::Config for Runtime { +impl pallet_evm_migration::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type WeightInfo = pallet_data_management::weights::SubstrateWeight; + type WeightInfo = pallet_evm_migration::weights::SubstrateWeight; } impl pallet_ethereum::Config for Runtime { --- 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} = 151, EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152, - DataManagement: pallet_data_management::{Pallet, Call, Storage, Event} = 153, + EvmMigration: pallet_evm_migration::{Pallet, Call, Storage, Event} = 153, Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event} = 154, --- 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()), --- a/runtime/common/runtime_apis.rs +++ b/runtime/common/runtime_apis.rs @@ -681,7 +681,7 @@ let mut list = Vec::::new(); - list_benchmark!(list, extra, pallet_data_management, DataManagement); + list_benchmark!(list, extra, pallet_evm_migration, EvmMigration); list_benchmark!(list, extra, pallet_common, Common); list_benchmark!(list, extra, pallet_unique, Unique); list_benchmark!(list, extra, pallet_structure, Structure); @@ -750,7 +750,7 @@ let mut batches = Vec::::new(); let params = (&config, &allowlist); - add_benchmark!(params, batches, pallet_data_management, DataManagement); + add_benchmark!(params, batches, pallet_evm_migration, EvmMigration); add_benchmark!(params, batches, pallet_common, Common); add_benchmark!(params, batches, pallet_unique, Unique); add_benchmark!(params, batches, pallet_structure, Structure); --- 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" } --- 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" } --- 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" } --- 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 --- 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, --- a/tests/src/interfaces/augment-api-errors.ts +++ b/tests/src/interfaces/augment-api-errors.ts @@ -334,7 +334,7 @@ **/ [key: string]: AugmentedError; }; - dataManagement: { + evmMigration: { /** * Migration of this account is not yet started, or already finished. **/ --- a/tests/src/interfaces/augment-api-events.ts +++ b/tests/src/interfaces/augment-api-events.ts @@ -236,7 +236,7 @@ **/ [key: string]: AugmentedEvent; }; - dataManagement: { + evmMigration: { /** * This event is used in benchmarking and can be used for tests **/ --- a/tests/src/interfaces/augment-api-query.ts +++ b/tests/src/interfaces/augment-api-query.ts @@ -211,7 +211,7 @@ **/ [key: string]: QueryableStorageEntry; }; - dataManagement: { + evmMigration: { migrationPending: AugmentedQuery Observable, [H160]> & QueryableStorageEntry; /** * Generic query --- a/tests/src/interfaces/augment-api-tx.ts +++ b/tests/src/interfaces/augment-api-tx.ts @@ -292,7 +292,7 @@ **/ [key: string]: SubmittableExtrinsicFunction; }; - dataManagement: { + evmMigration: { /** * Start contract migration, inserts contract stub at target address, * and marks account as pending, allowing to insert storage --- 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; --- 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'; } --- a/tests/src/interfaces/lookup.ts +++ b/tests/src/interfaces/lookup.ts @@ -1391,9 +1391,9 @@ } }, /** - * Lookup123: pallet_data_management::pallet::Event + * Lookup123: pallet_evm_migration::pallet::Event **/ - PalletDataManagementEvent: { + PalletEvmMigrationEvent: { _enum: ['TestEvent'] }, /** @@ -3209,9 +3209,9 @@ s: 'H256' }, /** - * Lookup414: pallet_data_management::pallet::Call + * Lookup414: pallet_evm_migration::pallet::Call **/ - PalletDataManagementCall: { + PalletEvmMigrationCall: { _enum: { begin: { address: 'H160', @@ -3775,9 +3775,9 @@ _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit'] }, /** - * Lookup551: pallet_data_management::pallet::Error + * Lookup551: pallet_evm_migration::pallet::Error **/ - 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 **/ --- 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; --- 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 {} --- 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', -- gitstuff