diff --git a/pallets/asset-handler/src/lib.rs b/pallets/asset-handler/src/lib.rs index abddb911f..d74d0c3e2 100644 --- a/pallets/asset-handler/src/lib.rs +++ b/pallets/asset-handler/src/lib.rs @@ -188,13 +188,6 @@ pub mod pallet { pub(super) type AssetPrecision = StorageMap<_, Blake2_128Concat, ResourceId, PrecisionType, ValueQuery>; - /// Thea Assets, asset_id(u128) -> (network_id(u8), identifier_length(u8), - /// identifier(BoundedVec<>)) - #[pallet::storage] - #[pallet::getter(fn get_thea_assets)] - pub type TheaAssets = - StorageMap<_, Blake2_128Concat, u128, (u8, u8, BoundedVec>), ValueQuery>; - // Pallets use events to inform users when important changes are made. // https://substrate.dev/docs/en/knowledgebase/runtime/events #[pallet::event] @@ -609,7 +602,9 @@ pub mod pallet { recipient: T::AccountId, amount: u128, ) -> Result<(), DispatchError> { - ensure!(>::contains_key(asset_id), Error::::AssetNotRegistered); + if !T::AssetManager::asset_exists(asset_id) { + T::AssetManager::create(asset_id, T::PDEXHolderAccount::get(), true, 1u128)?; + } ensure!(amount > 0, Error::::AmountCannotBeZero); T::AssetManager::mint_into(asset_id, &recipient, amount)?; Ok(()) @@ -654,7 +649,6 @@ pub mod pallet { who: T::AccountId, amount: u128, ) -> Result<(), DispatchError> { - ensure!(>::contains_key(asset_id), Error::::AssetNotRegistered); ensure!(amount > 0, Error::::AmountCannotBeZero); T::AssetManager::burn_from(asset_id, &who, amount)?; Ok(()) diff --git a/pallets/asset-handler/src/tests.rs b/pallets/asset-handler/src/tests.rs index a92d96262..ef7bdbbd1 100644 --- a/pallets/asset-handler/src/tests.rs +++ b/pallets/asset-handler/src/tests.rs @@ -628,15 +628,12 @@ pub fn test_convert_amount_for_foreign_chain() { } #[test] -pub fn test_mint_thea_asset_with_not_registered_asset_will_return_asset_not_registered_error() { +pub fn test_mint_thea_asset_with_not_registered_asset_will_return_ok() { let recipient = create_recipient_account(); let asset_id = create_thea_asset_id(0, 5); new_test_ext().execute_with(|| { - assert_noop!( - AssetHandler::mint_thea_asset(asset_id, recipient, 1_000_000_000_000_0_u128), - Error::::AssetNotRegistered - ); + assert_ok!(AssetHandler::mint_thea_asset(asset_id, recipient, 1_000_000_000_000_0_u128)); }) } @@ -647,7 +644,7 @@ pub fn test_burn_thea_asset_with_not_registered_asset_will_return_asset_not_regi new_test_ext().execute_with(|| { assert_noop!( AssetHandler::burn_thea_asset(non_register_asset_id, user, 100_u128), - Error::::AssetNotRegistered + pallet_assets::Error::::Unknown ); }) } diff --git a/pallets/thea-executor/src/tests.rs b/pallets/thea-executor/src/tests.rs index 2e5aa7e65..78a47c8db 100644 --- a/pallets/thea-executor/src/tests.rs +++ b/pallets/thea-executor/src/tests.rs @@ -17,7 +17,7 @@ use crate::{ mock::{new_test_ext, Assets, RuntimeOrigin as Origin, Test, *}, PendingWithdrawals, }; -use asset_handler::pallet::TheaAssets; + use frame_support::{assert_err, assert_noop, assert_ok, traits::fungibles::Mutate}; use parity_scale_codec::Encode; use sp_core::{H160, H256}; @@ -147,7 +147,6 @@ fn test_claim_deposit_returns_ok() { )); let deposit = Deposit { recipient, asset_id, amount: 1_000_000_000_000_000_000u128, extra: vec![] }; - >::insert(asset_id, (0, 0, BoundedVec::default())); assert_ok!(TheaExecutor::do_deposit(1, vec![deposit].encode())); assert_ok!(TheaExecutor::claim_deposit(RuntimeOrigin::signed(recipient), 1)); }) @@ -180,9 +179,6 @@ fn test_claim_deposit_returns_asset_not_registered() { let deposit = Deposit { recipient, asset_id, amount: 1_000_000_000_000_000_000u128, extra: vec![] }; assert_ok!(TheaExecutor::do_deposit(1, vec![deposit].encode())); - assert_err!( - TheaExecutor::claim_deposit(RuntimeOrigin::signed(recipient), 1), - asset_handler::pallet::Error::::AssetNotRegistered - ); + assert_ok!(TheaExecutor::claim_deposit(RuntimeOrigin::signed(recipient), 1)); }) }