diff --git a/pallets/asset-manager/src/benchmarking.rs b/pallets/asset-manager/src/benchmarking.rs index df7e4969c..fe68e51d7 100644 --- a/pallets/asset-manager/src/benchmarking.rs +++ b/pallets/asset-manager/src/benchmarking.rs @@ -93,7 +93,7 @@ benchmarks! { let metadata = >::AssetRegistryMetadata::testing_default(); Pallet::::register_asset(RawOrigin::Root.into(), location, metadata.clone())?; let some_valid_asset_id = ::AssetId::from(assets_count); - }: _(RawOrigin::Root, some_valid_asset_id, metadata.clone()) + }: _(RawOrigin::Root, some_valid_asset_id, metadata.clone().into()) verify { assert_last_event::(Event::AssetMetadataUpdated { asset_id: some_valid_asset_id, metadata }.into()); } diff --git a/pallets/asset-manager/src/lib.rs b/pallets/asset-manager/src/lib.rs index 51af3f703..9d40e6b1a 100644 --- a/pallets/asset-manager/src/lib.rs +++ b/pallets/asset-manager/src/lib.rs @@ -449,7 +449,7 @@ pub mod pallet { pub fn update_asset_metadata( origin: OriginFor, asset_id: T::AssetId, - metadata: >::AssetRegistryMetadata, + metadata: <::AssetConfig as AssetConfig>::StorageMetadata, ) -> DispatchResult { T::ModifierOrigin::ensure_origin(origin)?; ensure!( @@ -461,11 +461,14 @@ pub mod pallet { Error::::UpdateNonExistentAsset ); >::AssetRegistry::update_asset_metadata( - &asset_id, - metadata.clone().into(), + &asset_id, metadata, )?; - AssetIdMetadata::::insert(asset_id, &metadata); - Self::deposit_event(Event::::AssetMetadataUpdated { asset_id, metadata }); + let updated_registry_metadata = Self::asset_id_metadata(asset_id) + .expect("we just successfully updated the asset, so it exists. qed"); + Self::deposit_event(Event::::AssetMetadataUpdated { + asset_id, + metadata: updated_registry_metadata, + }); Ok(()) } diff --git a/pallets/asset-manager/src/tests.rs b/pallets/asset-manager/src/tests.rs index 67a6329bd..d3da6f3d4 100644 --- a/pallets/asset-manager/src/tests.rs +++ b/pallets/asset-manager/src/tests.rs @@ -78,7 +78,7 @@ fn wrong_modifier_origin_should_not_work() { AssetManager::update_asset_metadata( Origin::signed([3u8; 32].into()), 0, - asset_metadata + asset_metadata.into() ), BadOrigin ); @@ -166,14 +166,14 @@ fn update_asset() { AssetManager::update_asset_metadata( Origin::root(), native_asset_id, - new_metadata.clone(), + new_metadata.clone().into(), ), Error::::CannotUpdateNativeAssetMetadata ); assert_ok!(AssetManager::update_asset_metadata( Origin::root(), asset_id, - new_metadata.clone(), + new_metadata.clone().into(), ),); assert_eq!(Assets::name(&asset_id), new_name); assert_eq!(Assets::symbol(&asset_id), new_symbol); @@ -205,7 +205,7 @@ fn update_asset() { AssetManager::update_asset_metadata( Origin::root(), next_asset_id, - new_metadata.clone() + new_metadata.clone().into() ), Error::::UpdateNonExistentAsset ); diff --git a/primitives/manta/src/assets.rs b/primitives/manta/src/assets.rs index f202120e6..edd792e19 100644 --- a/primitives/manta/src/assets.rs +++ b/primitives/manta/src/assets.rs @@ -106,7 +106,7 @@ pub trait AssetRegistry: AssetIdType + BalanceType { /// Update asset metadata by `AssetId`. /// - /// * `asset_id`: the asset id to be created. + /// * `asset_id`: the asset id to be updated. /// * `metadata`: the metadata that the implementation layer stores. fn update_asset_metadata( asset_id: &Self::AssetId, @@ -120,7 +120,7 @@ where C: Config, { /// Metadata type that required in token storage: e.g. AssetMetadata in Pallet-Assets. - type StorageMetadata: From; + type StorageMetadata: From + Parameter; /// The Asset Metadata type stored in this pallet. type AssetRegistryMetadata: AssetMetadata + Parameter + TestingDefault;