Rename Uniques Error::Unknown to something more sensible (#10895)

* Rename Uniques Error::Unknown to something more sensible

* Typos

* Typos

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
Gavin Wood
2022-02-22 11:42:46 +01:00
committed by GitHub
parent eb5f07a2e5
commit 939d1b089c
3 changed files with 58 additions and 39 deletions
+8 -6
View File
@@ -31,10 +31,11 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
&mut InstanceDetailsFor<T, I>,
) -> DispatchResult,
) -> DispatchResult {
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
ensure!(!class_details.is_frozen, Error::<T, I>::Frozen);
let mut details = Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
let mut details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
ensure!(!details.is_frozen, Error::<T, I>::Frozen);
with_details(&class_details, &mut details)?;
@@ -92,7 +93,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
maybe_check_owner: Option<T::AccountId>,
) -> Result<DestroyWitness, DispatchError> {
Class::<T, I>::try_mutate_exists(class, |maybe_details| {
let class_details = maybe_details.take().ok_or(Error::<T, I>::Unknown)?;
let class_details = maybe_details.take().ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = maybe_check_owner {
ensure!(class_details.owner == check_owner, Error::<T, I>::NoPermission);
}
@@ -131,7 +132,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
ensure!(!Asset::<T, I>::contains_key(class, instance), Error::<T, I>::AlreadyExists);
Class::<T, I>::try_mutate(&class, |maybe_class_details| -> DispatchResult {
let class_details = maybe_class_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let class_details = maybe_class_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
with_details(&class_details)?;
@@ -165,9 +166,10 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
let owner = Class::<T, I>::try_mutate(
&class,
|maybe_class_details| -> Result<T::AccountId, DispatchError> {
let class_details = maybe_class_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let class_details =
maybe_class_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
let details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
with_details(&class_details, &details)?;
// Return the deposit.
+28 -23
View File
@@ -303,7 +303,7 @@ pub mod pallet {
/// The signing account has no permission to do the operation.
NoPermission,
/// The given asset ID is unknown.
Unknown,
UnknownClass,
/// The asset instance ID has already been used for an asset.
AlreadyExists,
/// The owner turned out to be different to what was expected.
@@ -561,7 +561,8 @@ pub mod pallet {
) -> DispatchResult {
let origin = ensure_signed(origin)?;
let mut class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut class_details =
Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
ensure!(class_details.owner == origin, Error::<T, I>::NoPermission);
let deposit = match class_details.free_holding {
true => Zero::zero(),
@@ -621,8 +622,8 @@ pub mod pallet {
let origin = ensure_signed(origin)?;
let mut details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
ensure!(class_details.freezer == origin, Error::<T, I>::NoPermission);
details.is_frozen = true;
@@ -651,8 +652,8 @@ pub mod pallet {
let origin = ensure_signed(origin)?;
let mut details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
ensure!(class_details.admin == origin, Error::<T, I>::NoPermission);
details.is_frozen = false;
@@ -679,7 +680,7 @@ pub mod pallet {
let origin = ensure_signed(origin)?;
Class::<T, I>::try_mutate(class, |maybe_details| {
let details = maybe_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let details = maybe_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
ensure!(&origin == &details.freezer, Error::<T, I>::NoPermission);
details.is_frozen = true;
@@ -706,7 +707,7 @@ pub mod pallet {
let origin = ensure_signed(origin)?;
Class::<T, I>::try_mutate(class, |maybe_details| {
let details = maybe_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let details = maybe_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
ensure!(&origin == &details.admin, Error::<T, I>::NoPermission);
details.is_frozen = false;
@@ -736,7 +737,7 @@ pub mod pallet {
let owner = T::Lookup::lookup(owner)?;
Class::<T, I>::try_mutate(class, |maybe_details| {
let details = maybe_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let details = maybe_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
ensure!(&origin == &details.owner, Error::<T, I>::NoPermission);
if details.owner == owner {
return Ok(())
@@ -784,7 +785,7 @@ pub mod pallet {
let freezer = T::Lookup::lookup(freezer)?;
Class::<T, I>::try_mutate(class, |maybe_details| {
let details = maybe_details.as_mut().ok_or(Error::<T, I>::Unknown)?;
let details = maybe_details.as_mut().ok_or(Error::<T, I>::UnknownClass)?;
ensure!(&origin == &details.owner, Error::<T, I>::NoPermission);
details.issuer = issuer.clone();
@@ -820,9 +821,9 @@ pub mod pallet {
let delegate = T::Lookup::lookup(delegate)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
let mut details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check) = maybe_check {
let permitted = &check == &class_details.admin || &check == &details.owner;
@@ -870,9 +871,9 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some).map_err(DispatchError::from))?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
let mut details =
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::Unknown)?;
Asset::<T, I>::get(&class, &instance).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check) = maybe_check {
let permitted = &check == &class_details.admin || &check == &details.owner;
ensure!(permitted, Error::<T, I>::NoPermission);
@@ -925,7 +926,7 @@ pub mod pallet {
T::ForceOrigin::ensure_origin(origin)?;
Class::<T, I>::try_mutate(class, |maybe_asset| {
let mut asset = maybe_asset.take().ok_or(Error::<T, I>::Unknown)?;
let mut asset = maybe_asset.take().ok_or(Error::<T, I>::UnknownClass)?;
let old_owner = asset.owner;
let new_owner = T::Lookup::lookup(owner)?;
asset.owner = new_owner.clone();
@@ -972,7 +973,8 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let mut class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut class_details =
Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &class_details.owner, Error::<T, I>::NoPermission);
}
@@ -1033,7 +1035,8 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let mut class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut class_details =
Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &class_details.owner, Error::<T, I>::NoPermission);
}
@@ -1083,7 +1086,8 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let mut class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut class_details =
Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &class_details.owner, Error::<T, I>::NoPermission);
@@ -1142,7 +1146,8 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let mut class_details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut class_details =
Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &class_details.owner, Error::<T, I>::NoPermission);
}
@@ -1154,7 +1159,7 @@ pub mod pallet {
if metadata.is_some() {
class_details.instance_metadatas.saturating_dec();
}
let deposit = metadata.take().ok_or(Error::<T, I>::Unknown)?.deposit;
let deposit = metadata.take().ok_or(Error::<T, I>::UnknownClass)?.deposit;
T::Currency::unreserve(&class_details.owner, deposit);
class_details.total_deposit.saturating_reduce(deposit);
@@ -1191,7 +1196,7 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let mut details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let mut details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &details.owner, Error::<T, I>::NoPermission);
}
@@ -1245,7 +1250,7 @@ pub mod pallet {
.map(|_| None)
.or_else(|origin| ensure_signed(origin).map(Some))?;
let details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::Unknown)?;
let details = Class::<T, I>::get(&class).ok_or(Error::<T, I>::UnknownClass)?;
if let Some(check_owner) = &maybe_check_owner {
ensure!(check_owner == &details.owner, Error::<T, I>::NoPermission);
}
@@ -1254,7 +1259,7 @@ pub mod pallet {
let was_frozen = metadata.as_ref().map_or(false, |m| m.is_frozen);
ensure!(maybe_check_owner.is_none() || !was_frozen, Error::<T, I>::Frozen);
let deposit = metadata.take().ok_or(Error::<T, I>::Unknown)?.deposit;
let deposit = metadata.take().ok_or(Error::<T, I>::UnknownClass)?.deposit;
T::Currency::unreserve(&details.owner, deposit);
Self::deposit_event(Event::ClassMetadataCleared { class });
Ok(())
+22 -10
View File
@@ -263,7 +263,7 @@ fn set_class_metadata_should_work() {
// Cannot add metadata to unknown asset
assert_noop!(
Uniques::set_class_metadata(Origin::signed(1), 0, bvec![0u8; 20], false),
Error::<Test>::Unknown,
Error::<Test>::UnknownClass,
);
assert_ok!(Uniques::force_create(Origin::root(), 0, 1, false));
// Cannot add metadata to unowned asset
@@ -307,7 +307,10 @@ fn set_class_metadata_should_work() {
Uniques::clear_class_metadata(Origin::signed(2), 0),
Error::<Test>::NoPermission
);
assert_noop!(Uniques::clear_class_metadata(Origin::signed(1), 1), Error::<Test>::Unknown);
assert_noop!(
Uniques::clear_class_metadata(Origin::signed(1), 1),
Error::<Test>::UnknownClass
);
assert_ok!(Uniques::clear_class_metadata(Origin::signed(1), 0));
assert!(!ClassMetadataOf::<Test>::contains_key(0));
});
@@ -361,7 +364,10 @@ fn set_instance_metadata_should_work() {
Uniques::clear_metadata(Origin::signed(2), 0, 42),
Error::<Test>::NoPermission
);
assert_noop!(Uniques::clear_metadata(Origin::signed(1), 1, 42), Error::<Test>::Unknown);
assert_noop!(
Uniques::clear_metadata(Origin::signed(1), 1, 42),
Error::<Test>::UnknownClass
);
assert_ok!(Uniques::clear_metadata(Origin::signed(1), 0, 42));
assert!(!InstanceMetadataOf::<Test>::contains_key(0, 42));
});
@@ -486,7 +492,7 @@ fn burn_works() {
assert_ok!(Uniques::force_create(Origin::root(), 0, 1, false));
assert_ok!(Uniques::set_team(Origin::signed(1), 0, 2, 3, 4));
assert_noop!(Uniques::burn(Origin::signed(5), 0, 42, Some(5)), Error::<Test>::Unknown);
assert_noop!(Uniques::burn(Origin::signed(5), 0, 42, Some(5)), Error::<Test>::UnknownClass);
assert_ok!(Uniques::mint(Origin::signed(2), 0, 42, 5));
assert_ok!(Uniques::mint(Origin::signed(2), 0, 69, 5));
@@ -525,11 +531,11 @@ fn cancel_approval_works() {
assert_ok!(Uniques::approve_transfer(Origin::signed(2), 0, 42, 3));
assert_noop!(
Uniques::cancel_approval(Origin::signed(2), 1, 42, None),
Error::<Test>::Unknown
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::signed(2), 0, 43, None),
Error::<Test>::Unknown
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::signed(3), 0, 42, None),
@@ -557,11 +563,11 @@ fn cancel_approval_works_with_admin() {
assert_ok!(Uniques::approve_transfer(Origin::signed(2), 0, 42, 3));
assert_noop!(
Uniques::cancel_approval(Origin::signed(1), 1, 42, None),
Error::<Test>::Unknown
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::signed(1), 0, 43, None),
Error::<Test>::Unknown
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::signed(1), 0, 42, Some(4)),
@@ -583,8 +589,14 @@ fn cancel_approval_works_with_force() {
assert_ok!(Uniques::mint(Origin::signed(1), 0, 42, 2));
assert_ok!(Uniques::approve_transfer(Origin::signed(2), 0, 42, 3));
assert_noop!(Uniques::cancel_approval(Origin::root(), 1, 42, None), Error::<Test>::Unknown);
assert_noop!(Uniques::cancel_approval(Origin::root(), 0, 43, None), Error::<Test>::Unknown);
assert_noop!(
Uniques::cancel_approval(Origin::root(), 1, 42, None),
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::root(), 0, 43, None),
Error::<Test>::UnknownClass
);
assert_noop!(
Uniques::cancel_approval(Origin::root(), 0, 42, Some(4)),
Error::<Test>::WrongDelegate