diff --git a/code/parachain/frame/assets-registry/src/lib.rs b/code/parachain/frame/assets-registry/src/lib.rs index bcfe3d0934e..77a39639b8b 100644 --- a/code/parachain/frame/assets-registry/src/lib.rs +++ b/code/parachain/frame/assets-registry/src/lib.rs @@ -316,6 +316,7 @@ pub mod pallet { ExistentialDeposit::::iter_keys() .map(|asset_id| { let name = AssetName::::get(asset_id).map(Into::into); + let symbol = AssetSymbol::::get(asset_id).map(Into::into); let foreign_id = LocalToForeign::::get(asset_id); let decimals = as InspectRegistryMetadata>::decimals(&asset_id).unwrap_or(12); @@ -323,7 +324,15 @@ pub mod pallet { let existential_deposit = ExistentialDeposit::::get(asset_id).unwrap_or_default(); - Asset { name, id: asset_id, decimals, ratio, foreign_id, existential_deposit } + Asset { + name, + symbol, + id: asset_id, + decimals, + ratio, + foreign_id, + existential_deposit, + } }) .collect::>() } @@ -429,6 +438,8 @@ pub mod pallet { ) -> Vec> { ForeignToLocal::::iter() .map(|(_, asset_id)| { + let name = AssetName::::get(asset_id).map(Into::into); + let symbol = AssetSymbol::::get(asset_id).map(Into::into); let foreign_id = LocalToForeign::::get(asset_id); let decimals = as InspectRegistryMetadata>::decimals(&asset_id).unwrap_or(12); @@ -437,7 +448,8 @@ pub mod pallet { ExistentialDeposit::::get(asset_id).unwrap_or_default(); Asset { - name: None, + name, + symbol, id: asset_id, decimals, ratio, diff --git a/code/parachain/frame/assets-registry/src/tests.rs b/code/parachain/frame/assets-registry/src/tests.rs index f8c12343575..399be74f77a 100644 --- a/code/parachain/frame/assets-registry/src/tests.rs +++ b/code/parachain/frame/assets-registry/src/tests.rs @@ -416,9 +416,11 @@ fn get_foreign_assets_list_should_work() { let location = ForeignAssetId::Xcm(VersionedMultiLocation::V3(MultiLocation::here())); let protocol_id = *b"AssTests"; let nonce = 1_u64; + let name = Some(BiBoundedVec::from_vec(b"asset_name".to_vec()).unwrap()); + let symbol = Some(BiBoundedVec::from_vec(b"asset_symbol".to_vec()).unwrap()); let asset_info = AssetInfo { - name: None, - symbol: None, + name: name.clone(), + symbol: symbol.clone(), decimals: Some(4), existential_deposit: 0, ratio: Some(rational!(42 / 123)), @@ -442,7 +444,8 @@ fn get_foreign_assets_list_should_work() { assert_eq!( foreign_assets, vec![Asset { - name: None, + name: name.clone().map(Into::into), + symbol: symbol.clone().map(Into::into), id, decimals: 4, ratio: Some(rational!(42 / 123)), @@ -461,9 +464,10 @@ fn get_all_assets_should_work() { let nonce = 1_u64; let nonce2 = 2_u64; let name = Some(BiBoundedVec::from_vec(b"asset_name".to_vec()).unwrap()); + let symbol = Some(BiBoundedVec::from_vec(b"asset_symbol".to_vec()).unwrap()); let asset_info = AssetInfo { name: name.clone(), - symbol: None, + symbol: symbol.clone(), decimals: Some(4), existential_deposit: 0, ratio: Some(rational!(42 / 123)), @@ -498,6 +502,7 @@ fn get_all_assets_should_work() { vec![ Asset { name: name.clone().map(Into::into), + symbol: symbol.clone().map(Into::into), id, decimals: 4, ratio: Some(rational!(42 / 123)), @@ -506,6 +511,7 @@ fn get_all_assets_should_work() { }, Asset { name: name.map(Into::into), + symbol: symbol.map(Into::into), id: id2, decimals: 4, ratio: Some(rational!(42 / 123)), diff --git a/code/parachain/frame/composable-traits/src/assets.rs b/code/parachain/frame/composable-traits/src/assets.rs index 004893dfb7f..de0eacaeb12 100644 --- a/code/parachain/frame/composable-traits/src/assets.rs +++ b/code/parachain/frame/composable-traits/src/assets.rs @@ -39,6 +39,7 @@ impl BasicAssetMetadata { #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] pub struct Asset { pub name: Option>, + pub symbol: Option>, pub id: AssetId, pub decimals: Exponent, pub ratio: Option, diff --git a/code/parachain/runtime/composable/src/lib.rs b/code/parachain/runtime/composable/src/lib.rs index 22875f820c3..38a9ea8bd92 100644 --- a/code/parachain/runtime/composable/src/lib.rs +++ b/code/parachain/runtime/composable/src/lib.rs @@ -752,6 +752,7 @@ impl_runtime_apis! { id : SafeRpcWrapper(asset.id.into()), foreign_id : asset.foreign_id.clone(), name : asset.name.clone(), + symbol : asset.symbol.clone(), ratio : asset.ratio, } ).collect::, SafeRpcWrapper, ForeignAssetId>>>() diff --git a/code/parachain/runtime/picasso/src/lib.rs b/code/parachain/runtime/picasso/src/lib.rs index 071ee28436a..8bad24462f9 100644 --- a/code/parachain/runtime/picasso/src/lib.rs +++ b/code/parachain/runtime/picasso/src/lib.rs @@ -956,6 +956,7 @@ impl_runtime_apis! { id : SafeRpcWrapper(asset.id.into()), foreign_id : asset.foreign_id.clone(), name : asset.name.clone(), + symbol : asset.symbol.clone(), ratio : asset.ratio, } ).collect::, SafeRpcWrapper, ForeignAssetId>>>() diff --git a/code/parachain/runtime/primitives/src/currency.rs b/code/parachain/runtime/primitives/src/currency.rs index eb80918c367..6824c34f870 100644 --- a/code/parachain/runtime/primitives/src/currency.rs +++ b/code/parachain/runtime/primitives/src/currency.rs @@ -112,6 +112,7 @@ macro_rules! list_assets { $(Asset { id: CurrencyId::$NAME, name: Some(stringify!($NAME).as_bytes().to_vec()), + symbol: Some(stringify!($NAME).as_bytes().to_vec()), ratio: None, decimals: Self::remote_decimals_for_local(CurrencyId::$NAME).unwrap_or(Self::decimals()), foreign_id: None,