diff --git a/Cargo.lock b/Cargo.lock
index 2e2274521..0d3d27673 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6846,7 +6846,6 @@ dependencies = [
"orml-utilities",
"parity-scale-codec",
"scale-info",
- "serde",
"sp-core",
"sp-io",
"sp-runtime",
@@ -6862,7 +6861,6 @@ dependencies = [
"frame-support",
"parity-scale-codec",
"scale-info",
- "serde",
"sp-io",
"sp-runtime",
"sp-std",
@@ -8114,29 +8112,6 @@ dependencies = [
"xcm-executor",
]
-[[package]]
-name = "pallet-xcm-transactor"
-version = "0.2.0"
-source = "git+https://github.com/jiguantong/moonbeam?branch=evm-xcm-debug#bd427bc96e062d65d646e322392c0b74c9833204"
-dependencies = [
- "cumulus-primitives-core",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "log",
- "orml-traits",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-io",
- "sp-runtime",
- "sp-std",
- "xcm",
- "xcm-builder",
- "xcm-executor",
- "xcm-primitives",
-]
-
[[package]]
name = "pangolin-runtime"
version = "6.0.0"
@@ -8320,7 +8295,6 @@ dependencies = [
"pallet-utility",
"pallet-vesting",
"pallet-xcm",
- "pallet-xcm-transactor",
"parachain-info",
"parity-scale-codec",
"polkadot-parachain",
diff --git a/Cargo.toml b/Cargo.toml
index d070cec1c..979c6553d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -105,7 +105,6 @@ pallet-evm-precompile-simple = { default-features = false, git = "https://gith
account = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
moonbeam-relay-encoder = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
pallet-ethereum-xcm = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
-pallet-xcm-transactor = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
precompile-utils = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
xcm-primitives = { default-features = false, git = "https://github.com/darwinia-network/moonbeam", branch = "polkadot-v0.9.38" }
@@ -198,7 +197,6 @@ try-runtime-cli = { git = "https://github.com/parityt
account = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
moonbeam-relay-encoder = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
pallet-ethereum-xcm = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
-pallet-xcm-transactor = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
precompile-utils = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
xcm-primitives = { git = "https://github.com/jiguantong/moonbeam", branch = "evm-xcm-debug" }
diff --git a/runtime/pangoro/Cargo.toml b/runtime/pangoro/Cargo.toml
index d7466ebfe..6d852bcc0 100644
--- a/runtime/pangoro/Cargo.toml
+++ b/runtime/pangoro/Cargo.toml
@@ -72,7 +72,6 @@ pallet-evm-precompile-simple = { workspace = true }
# moonbeam
moonbeam-relay-encoder = { workspace = true }
pallet-ethereum-xcm = { workspace = true }
-pallet-xcm-transactor = { workspace = true }
precompile-utils = { workspace = true }
xcm-primitives = { workspace = true }
@@ -194,7 +193,6 @@ std = [
# moonbeam
"pallet-ethereum-xcm/std",
- "pallet-xcm-transactor/std",
"precompile-utils/std",
"xcm-primitives/std",
diff --git a/runtime/pangoro/src/lib.rs b/runtime/pangoro/src/lib.rs
index 2e2a0e773..eb1d45302 100644
--- a/runtime/pangoro/src/lib.rs
+++ b/runtime/pangoro/src/lib.rs
@@ -167,7 +167,6 @@ frame_support::construct_runtime! {
// Ethereum XCM
EthereumXcm: pallet_ethereum_xcm = 44,
- XcmTransactor: pallet_xcm_transactor = 45
}
}
diff --git a/runtime/pangoro/src/pallets/polkadot_xcm.rs b/runtime/pangoro/src/pallets/polkadot_xcm.rs
index eb0200e9a..adbad99c0 100644
--- a/runtime/pangoro/src/pallets/polkadot_xcm.rs
+++ b/runtime/pangoro/src/pallets/polkadot_xcm.rs
@@ -16,15 +16,13 @@
// You should have received a copy of the GNU General Public License
// along with Darwinia. If not, see .
-// crates.io
-use codec::{Decode, Encode};
// darwinia
use crate::*;
// polkadot
use xcm::latest::prelude::*;
// substrate
use frame_support::traits::Currency;
-use sp_runtime::traits::{Hash, Zero};
+use sp_runtime::traits::Zero;
/// Means for transacting assets on this chain.
pub type LocalAssetTransactor = xcm_builder::CurrencyAdapter<
@@ -224,8 +222,6 @@ impl cumulus_pallet_xcm::Config for Runtime {
type XcmExecutor = xcm_executor::XcmExecutor;
}
-// === XCM <> EVM ===
-
pub struct EthereumXcmEnsureProxy;
impl xcm_primitives::EnsureProxy for EthereumXcmEnsureProxy {
fn ensure_ok(delegator: AccountId, delegatee: AccountId) -> Result<(), &'static str> {
@@ -253,181 +249,6 @@ impl pallet_ethereum_xcm::Config for Runtime {
type XcmEthereumOrigin = pallet_ethereum_xcm::EnsureXcmEthereumTransaction;
}
-// For now we only allow to transact in the relay, although this might change in the future
-// Transactors just defines the chains in which we allow transactions to be issued through
-// xcm
-#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode, scale_info::TypeInfo)]
-pub enum Transactors {
- Relay,
-}
-
-// Default for benchmarking
-#[cfg(feature = "runtime-benchmarks")]
-impl Default for Transactors {
- fn default() -> Self {
- Transactors::Relay
- }
-}
-
-impl TryFrom for Transactors {
- type Error = ();
-
- fn try_from(value: u8) -> Result {
- match value {
- 0u8 => Ok(Transactors::Relay),
- _ => Err(()),
- }
- }
-}
-
-impl xcm_primitives::UtilityEncodeCall for Transactors {
- fn encode_call(self, call: xcm_primitives::UtilityAvailableCalls) -> Vec {
- match self {
- // The encoder should be polkadot
- Transactors::Relay =>
- moonbeam_relay_encoder::polkadot::PolkadotEncoder.encode_call(call),
- }
- }
-}
-
-impl xcm_primitives::XcmTransact for Transactors {
- fn destination(self) -> MultiLocation {
- match self {
- Transactors::Relay => MultiLocation::parent(),
- }
- }
-}
-
-// Our AssetType. For now we only handle Xcm Assets
-#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode, scale_info::TypeInfo)]
-pub enum AssetType {
- Xcm(MultiLocation),
-}
-impl Default for AssetType {
- fn default() -> Self {
- Self::Xcm(MultiLocation::here())
- }
-}
-
-impl From for AssetType {
- fn from(location: MultiLocation) -> Self {
- Self::Xcm(location)
- }
-}
-
-impl Into