From a8f4f4f00f8fc0da512a09e1450bf4cda954d70d Mon Sep 17 00:00:00 2001 From: gui <gui.thiolliere@gmail.com> Date: Tue, 16 Apr 2024 03:45:44 +0900 Subject: [PATCH] pallet assets: Fix errors (#4118) `LiveAsset` is an error to be returned when an asset is not supposed to be live. And `AssetNotLive` is an error to be returned when an asset is supposed to be live, I don't think frozen qualifies as live. --- Cargo.lock | 2 +- prdoc/pr_4118.prdoc | 13 +++++++++++++ substrate/frame/assets/Cargo.toml | 2 +- substrate/frame/assets/src/functions.rs | 2 +- substrate/frame/assets/src/lib.rs | 8 ++++---- 5 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 prdoc/pr_4118.prdoc diff --git a/Cargo.lock b/Cargo.lock index 2339aff34bc..69395bf281e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9571,7 +9571,7 @@ dependencies = [ [[package]] name = "pallet-assets" -version = "29.0.0" +version = "29.1.0" dependencies = [ "frame-benchmarking", "frame-support", diff --git a/prdoc/pr_4118.prdoc b/prdoc/pr_4118.prdoc new file mode 100644 index 00000000000..20f36c1b0a3 --- /dev/null +++ b/prdoc/pr_4118.prdoc @@ -0,0 +1,13 @@ +title: "pallet assets: minor improvement on errors returned for some calls" + +doc: + - audience: Runtime Dev + description: | + Some calls in pallet assets have better errors. No new error is introduced, only more sensible choice are made. + - audience: Runtime User + description: | + Some calls in pallet assets have better errors. No new error is introduced, only more sensible choice are made. + +crates: + - name: pallet-assets + bump: minor diff --git a/substrate/frame/assets/Cargo.toml b/substrate/frame/assets/Cargo.toml index 3b95750c14c..ed6df77e152 100644 --- a/substrate/frame/assets/Cargo.toml +++ b/substrate/frame/assets/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-assets" -version = "29.0.0" +version = "29.1.0" authors.workspace = true edition.workspace = true license = "Apache-2.0" diff --git a/substrate/frame/assets/src/functions.rs b/substrate/frame/assets/src/functions.rs index 8791aaa736b..4a5fb06ee2c 100644 --- a/substrate/frame/assets/src/functions.rs +++ b/substrate/frame/assets/src/functions.rs @@ -491,7 +491,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> { let d = Asset::<T, I>::get(&id).ok_or(Error::<T, I>::Unknown)?; ensure!( d.status == AssetStatus::Live || d.status == AssetStatus::Frozen, - Error::<T, I>::AssetNotLive + Error::<T, I>::IncorrectStatus ); let actual = Self::decrease_balance(id.clone(), target, amount, f, |actual, details| { diff --git a/substrate/frame/assets/src/lib.rs b/substrate/frame/assets/src/lib.rs index 6891f04dfb5..c6b379e1d06 100644 --- a/substrate/frame/assets/src/lib.rs +++ b/substrate/frame/assets/src/lib.rs @@ -987,7 +987,7 @@ pub mod pallet { let d = Asset::<T, I>::get(&id).ok_or(Error::<T, I>::Unknown)?; ensure!( d.status == AssetStatus::Live || d.status == AssetStatus::Frozen, - Error::<T, I>::AssetNotLive + Error::<T, I>::IncorrectStatus ); ensure!(origin == d.freezer, Error::<T, I>::NoPermission); let who = T::Lookup::lookup(who)?; @@ -1024,7 +1024,7 @@ pub mod pallet { let details = Asset::<T, I>::get(&id).ok_or(Error::<T, I>::Unknown)?; ensure!( details.status == AssetStatus::Live || details.status == AssetStatus::Frozen, - Error::<T, I>::AssetNotLive + Error::<T, I>::IncorrectStatus ); ensure!(origin == details.admin, Error::<T, I>::NoPermission); let who = T::Lookup::lookup(who)?; @@ -1113,7 +1113,7 @@ pub mod pallet { Asset::<T, I>::try_mutate(id.clone(), |maybe_details| { let details = maybe_details.as_mut().ok_or(Error::<T, I>::Unknown)?; - ensure!(details.status == AssetStatus::Live, Error::<T, I>::LiveAsset); + ensure!(details.status == AssetStatus::Live, Error::<T, I>::AssetNotLive); ensure!(origin == details.owner, Error::<T, I>::NoPermission); if details.owner == owner { return Ok(()) @@ -1669,7 +1669,7 @@ pub mod pallet { let d = Asset::<T, I>::get(&id).ok_or(Error::<T, I>::Unknown)?; ensure!( d.status == AssetStatus::Live || d.status == AssetStatus::Frozen, - Error::<T, I>::AssetNotLive + Error::<T, I>::IncorrectStatus ); ensure!(origin == d.freezer, Error::<T, I>::NoPermission); let who = T::Lookup::lookup(who)?; -- GitLab