Enable cross-chain Coretime region transfers (#3077)

This PR allows Coretime regions to be transferable via XCM.

---------

Co-authored-by: Dónal Murray <donal.murray@parity.io>
This commit is contained in:
Sergej Sakac
2024-01-27 13:06:38 +01:00
committed by GitHub
parent 5e5341da9b
commit 30b30bee59
4 changed files with 68 additions and 10 deletions
+22 -2
View File
@@ -20,11 +20,11 @@
use crate::{core_mask::*, mock::*, *};
use frame_support::{
assert_noop, assert_ok,
traits::nonfungible::{Inspect as NftInspect, Transfer},
traits::nonfungible::{Inspect as NftInspect, Mutate, Transfer},
BoundedVec,
};
use frame_system::RawOrigin::Root;
use sp_runtime::traits::Get;
use sp_runtime::{traits::Get, TokenError};
use CoreAssignment::*;
use CoretimeTraceItem::*;
use Finality::*;
@@ -197,6 +197,26 @@ fn transfer_works() {
});
}
#[test]
fn mutate_operations_unsupported_for_regions() {
TestExt::new().execute_with(|| {
let region_id = RegionId { begin: 0, core: 0, mask: CoreMask::complete() };
assert_noop!(
<Broker as Mutate<_>>::mint_into(&region_id.into(), &2),
TokenError::Unsupported
);
assert_noop!(<Broker as Mutate<_>>::burn(&region_id.into(), None), TokenError::Unsupported);
assert_noop!(
<Broker as Mutate<_>>::set_attribute(&region_id.into(), &[], &[]),
TokenError::Unsupported
);
assert_noop!(
<Broker as Mutate<_>>::set_typed_attribute::<u8, u8>(&region_id.into(), &0, &0),
TokenError::Unsupported
);
});
}
#[test]
fn permanent_is_not_reassignable() {
TestExt::new().endow(1, 1000).execute_with(|| {