diff --git a/pallets/farming/src/mock.rs b/pallets/farming/src/mock.rs index ce68ef8a51..8ed2ff3c94 100644 --- a/pallets/farming/src/mock.rs +++ b/pallets/farming/src/mock.rs @@ -21,7 +21,7 @@ #![cfg(test)] #![allow(non_upper_case_globals)] -use bifrost_primitives::{CurrencyId, TokenSymbol}; +pub use bifrost_primitives::{currency::*, CurrencyId, TokenSymbol}; use frame_support::{ord_parameter_types, parameter_types, traits::Nothing, PalletId}; use frame_system::EnsureSignedBy; use sp_core::{ConstU32, H256}; @@ -37,16 +37,9 @@ pub type Amount = i128; pub type Balance = u128; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::ASG); -pub const vBNC: CurrencyId = CurrencyId::VToken(TokenSymbol::BNC); -pub const DOT: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); -pub const vDOT: CurrencyId = CurrencyId::VToken(TokenSymbol::DOT); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vsKSM: CurrencyId = CurrencyId::VSToken(TokenSymbol::KSM); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); -pub const vsBond: CurrencyId = CurrencyId::VSBond(TokenSymbol::BNC, 2001, 0, 8); pub const TREASURY_ACCOUNT: AccountId = AccountId32::new([9u8; 32]); frame_support::construct_runtime!( @@ -228,14 +221,13 @@ impl ExtBuilder { (ALICE, BNC, 100), (BOB, BNC, 100), (CHARLIE, BNC, 1_000_000_000_000), - (CHARLIE, vBNC, 1_000_000_000_000_000), + (CHARLIE, VBNC, 1_000_000_000_000_000), (CHARLIE, KSM, 1_000_000_000_000), (ALICE, DOT, 100), - (ALICE, vDOT, 100), + (ALICE, VDOT, 100), (ALICE, KSM, 3000), - (BOB, vsKSM, 100), + (BOB, VSKSM, 100), (BOB, KSM, 10000000), - (BOB, vsBond, 100), ]) } diff --git a/pallets/fee-share/Cargo.toml b/pallets/fee-share/Cargo.toml index f90bbed221..6c26a6710e 100644 --- a/pallets/fee-share/Cargo.toml +++ b/pallets/fee-share/Cargo.toml @@ -49,6 +49,7 @@ std = [ "frame-system/std", "frame-benchmarking/std", "bifrost-primitives/std", + "orml-xtokens/std", "orml-traits/std", "bifrost-vtoken-minting/std", "zenlink-protocol/std", diff --git a/pallets/fee-share/src/mock.rs b/pallets/fee-share/src/mock.rs index 3528b8339b..1cbb753296 100644 --- a/pallets/fee-share/src/mock.rs +++ b/pallets/fee-share/src/mock.rs @@ -22,7 +22,7 @@ #![allow(non_upper_case_globals)] use bifrost_asset_registry::AssetIdMaps; -use bifrost_primitives::{CurrencyId, SlpxOperator, TokenSymbol}; +pub use bifrost_primitives::{currency::*, CurrencyId, SlpxOperator, TokenSymbol}; use bifrost_slp::{QueryId, QueryResponseManager}; pub use cumulus_primitives_core::ParaId; use frame_support::{ @@ -60,16 +60,9 @@ pub type Amount = i128; pub type Balance = u64; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::ASG); -// pub const DOT: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); -// pub const vDOT: CurrencyId = CurrencyId::VToken(TokenSymbol::DOT); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vKSM: CurrencyId = CurrencyId::VToken(TokenSymbol::KSM); -pub const vsKSM: CurrencyId = CurrencyId::VSToken(TokenSymbol::KSM); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); -pub const vsBond: CurrencyId = CurrencyId::VSBond(TokenSymbol::BNC, 2001, 0, 8); pub const TREASURY_ACCOUNT: AccountId = AccountId32::new([9u8; 32]); frame_support::construct_runtime!( @@ -538,11 +531,9 @@ impl ExtBuilder { (BOB, BNC, 100), (CHARLIE, BNC, 100), (ALICE, RelayCurrencyId::get(), 10000), - (ALICE, vKSM, 10000), - (BOB, vsKSM, 100), + (ALICE, VKSM, 10000), (BOB, KSM, 100), - (BOB, vsBond, 100), - (FeeSharePalletId::get().into_account_truncating(), vKSM, 10000), + (FeeSharePalletId::get().into_account_truncating(), VKSM, 10000), (FeeSharePalletId::get().into_account_truncating(), KSM, 10000), ]) } diff --git a/pallets/lend-market/src/mock.rs b/pallets/lend-market/src/mock.rs index a04f060141..1c1fa9e7f9 100644 --- a/pallets/lend-market/src/mock.rs +++ b/pallets/lend-market/src/mock.rs @@ -16,7 +16,7 @@ pub use super::*; use sp_runtime::BuildStorage; use bifrost_asset_registry::AssetIdMaps; -pub use bifrost_primitives::*; +pub use bifrost_primitives::{currency::*, *}; use frame_support::{ construct_runtime, parameter_types, traits::{AsEnsureOriginWithArg, Everything, Nothing, SortedMembers}, @@ -33,16 +33,8 @@ use std::{ hash::{Hash, Hasher}, }; -pub use bifrost_primitives::{Price, BNC, DOT, DOT_U, KSM, VBNC, VDOT, VKSM, VSKSM}; - type Block = frame_system::mocking::MockBlock; -pub const LDOT: CurrencyId = CurrencyId::Token2(10); -pub const LKSM: CurrencyId = CurrencyId::Token2(11); -pub const LUSDT: CurrencyId = CurrencyId::Token2(12); -pub const PHA: CurrencyId = CurrencyId::Token2(5); -pub const VPHA: CurrencyId = CurrencyId::VToken2(5); - construct_runtime!( pub enum Test { System: frame_system, diff --git a/pallets/leverage-staking/src/mock.rs b/pallets/leverage-staking/src/mock.rs index 0771a1b764..c81bc4d07b 100644 --- a/pallets/leverage-staking/src/mock.rs +++ b/pallets/leverage-staking/src/mock.rs @@ -20,8 +20,8 @@ pub use super::*; use crate as leverage_staking; use bifrost_asset_registry::AssetIdMaps; pub use bifrost_primitives::{ - AccountId, Balance, CurrencyId, CurrencyIdMapping, SlpOperator, SlpxOperator, TokenSymbol, - ASTR, BNC, DOT, DOT_TOKEN_ID, GLMR, VBNC, VDOT, *, + currency::*, AccountId, Balance, CurrencyId, CurrencyIdMapping, SlpOperator, SlpxOperator, + TokenSymbol, *, }; use bifrost_runtime_common::milli; use frame_support::{ @@ -54,9 +54,6 @@ use xcm_executor::XcmExecutor; type Block = frame_system::mocking::MockBlock; -pub const LDOT: CurrencyId = CurrencyId::Lend(0); -pub const LVDOT: CurrencyId = CurrencyId::Lend(1); - // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( pub enum Test{ diff --git a/pallets/leverage-staking/src/tests.rs b/pallets/leverage-staking/src/tests.rs index 6a1d4d4347..124cf4d95d 100644 --- a/pallets/leverage-staking/src/tests.rs +++ b/pallets/leverage-staking/src/tests.rs @@ -15,6 +15,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#![cfg(test)] use crate::mock::*; use frame_support::{assert_noop, assert_ok, traits::fungibles::Inspect, BoundedVec}; diff --git a/pallets/slp/src/primitives/phala_primitives.rs b/pallets/slp/src/primitives/phala_primitives.rs index 97c1c7743b..8926c1dfa7 100644 --- a/pallets/slp/src/primitives/phala_primitives.rs +++ b/pallets/slp/src/primitives/phala_primitives.rs @@ -17,13 +17,10 @@ // along with this program. If not, see . use crate::{MultiLocation, TimeUnit}; -use bifrost_primitives::{CurrencyId, TokenSymbol}; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; use sp_runtime::RuntimeDebug; -pub const PHA: CurrencyId = CurrencyId::Token(TokenSymbol::PHA); - #[derive(PartialEq, Eq, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] pub struct PhalaLedger { /// The delegator multilocation diff --git a/pallets/slp/src/tests/phala_tests.rs b/pallets/slp/src/tests/phala_tests.rs index 5979ef9a91..54d8c054be 100644 --- a/pallets/slp/src/tests/phala_tests.rs +++ b/pallets/slp/src/tests/phala_tests.rs @@ -25,7 +25,7 @@ use crate::{ Junctions::X2, *, }; -use bifrost_primitives::currency::VPHA; +use bifrost_primitives::currency::{PHA, VPHA}; use frame_support::{assert_noop, assert_ok, PalletId}; use polkadot_parachain_primitives::primitives::Sibling; use sp_runtime::traits::AccountIdConversion; diff --git a/pallets/slpx/src/mock.rs b/pallets/slpx/src/mock.rs index fccda28990..0466eb4078 100644 --- a/pallets/slpx/src/mock.rs +++ b/pallets/slpx/src/mock.rs @@ -19,8 +19,8 @@ use crate as slpx; use bifrost_asset_registry::AssetIdMaps; -use bifrost_primitives::{ - CurrencyId, CurrencyIdMapping, DoNothingExecuteXcm, SlpxOperator, TokenSymbol, +pub use bifrost_primitives::{ + CurrencyId, CurrencyIdMapping, DoNothingExecuteXcm, SlpxOperator, TokenSymbol, BNC, KSM, }; use bifrost_slp::{QueryId, QueryResponseManager}; use cumulus_primitives_core::ParaId; @@ -68,7 +68,6 @@ pub type Amount = i128; pub type BlockNumber = u64; pub type AccountId = AccountId32; -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); pub const ALICE: AccountId = AccountId32::new([1u8; 32]); pub const BOB: AccountId = AccountId32::new([2u8; 32]); @@ -163,8 +162,8 @@ impl bifrost_currencies::Config for Test { parameter_type_with_key! { pub ExistentialDeposits: |currency_id: CurrencyId| -> u128 { match currency_id { - &CurrencyId::Native(TokenSymbol::BNC) => 10 * 1_000_000_000, - &CurrencyId::Token(TokenSymbol::KSM) => 10 * 1_000_000_000, + &BNC => 10 * 1_000_000_000, + &KSM => 10 * 1_000_000_000, _=> 10 * 1_000_000_000 } }; diff --git a/pallets/system-maker/src/mock.rs b/pallets/system-maker/src/mock.rs index 771844d968..c815b108f1 100644 --- a/pallets/system-maker/src/mock.rs +++ b/pallets/system-maker/src/mock.rs @@ -22,7 +22,7 @@ #![allow(non_upper_case_globals)] use bifrost_asset_registry::AssetIdMaps; -use bifrost_primitives::{CurrencyId, SlpxOperator, TokenSymbol}; +pub use bifrost_primitives::{currency::*, CurrencyId, SlpxOperator, TokenSymbol}; use bifrost_slp::{QueryId, QueryResponseManager}; pub use cumulus_primitives_core::ParaId; use frame_support::{ @@ -60,16 +60,9 @@ pub type Amount = i128; pub type Balance = u64; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::ASG); -// pub const DOT: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); -// pub const vDOT: CurrencyId = CurrencyId::VToken(TokenSymbol::DOT); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vKSM: CurrencyId = CurrencyId::VToken(TokenSymbol::KSM); -pub const vsKSM: CurrencyId = CurrencyId::VSToken(TokenSymbol::KSM); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); -pub const vsBond: CurrencyId = CurrencyId::VSBond(TokenSymbol::BNC, 2001, 0, 8); pub const TREASURY_ACCOUNT: AccountId = AccountId32::new([9u8; 32]); frame_support::construct_runtime!( @@ -545,11 +538,9 @@ impl ExtBuilder { (BOB, BNC, 100), (CHARLIE, BNC, 100), (ALICE, RelayCurrencyId::get(), 10000), - (ALICE, vKSM, 10000), - (BOB, vsKSM, 100), + (ALICE, VKSM, 10000), (BOB, KSM, 100), - (BOB, vsBond, 100), - (SystemMakerPalletId::get().into_account_truncating(), vKSM, 10000), + (SystemMakerPalletId::get().into_account_truncating(), VKSM, 10000), (SystemMakerPalletId::get().into_account_truncating(), KSM, 10000), ]) } diff --git a/pallets/system-maker/src/tests.rs b/pallets/system-maker/src/tests.rs index 1fc01c6541..2dd5246483 100644 --- a/pallets/system-maker/src/tests.rs +++ b/pallets/system-maker/src/tests.rs @@ -35,7 +35,7 @@ fn on_idle() { RuntimeOrigin::signed(ALICE), RelayCurrencyId::get(), Info { - vcurrency_id: vKSM, + vcurrency_id: VKSM, annualization: 600_000u32, granularity: 1000, minimum_redeem: 20000 @@ -49,31 +49,31 @@ fn on_idle() { Weight::from_parts(100000000, 0), ); System::set_block_number(System::block_number() + 1); - assert_eq!(Tokens::free_balance(vKSM, &system_maker), 10731); + assert_eq!(Tokens::free_balance(VKSM, &system_maker), 10731); assert_eq!(Tokens::free_balance(KSM, &zenlink_pair_account_id), 3000); - assert_eq!(Tokens::free_balance(vKSM, &zenlink_pair_account_id), 1469); + assert_eq!(Tokens::free_balance(VKSM, &zenlink_pair_account_id), 1469); init_vtoken_minting(); SystemMaker::on_idle(>::block_number(), Weight::zero()); - assert_eq!(Tokens::free_balance(vKSM, &system_maker), 10731); + assert_eq!(Tokens::free_balance(VKSM, &system_maker), 10731); assert_ok!(SystemMaker::set_config( RuntimeOrigin::signed(ALICE), RelayCurrencyId::get(), Info { - vcurrency_id: vKSM, + vcurrency_id: VKSM, annualization: 600_000u32, granularity: 1000, minimum_redeem: 2000 }, )); SystemMaker::on_idle(>::block_number(), Weight::zero()); - assert_eq!(Tokens::free_balance(vKSM, &system_maker), 0); + assert_eq!(Tokens::free_balance(VKSM, &system_maker), 0); }); } fn init_zenlink(para_id: u32) -> AccountIdOf { let asset_0_currency_id: AssetId = AssetId::try_convert_from(RelayCurrencyId::get(), para_id).unwrap(); - let asset_1_currency_id: AssetId = AssetId::try_convert_from(vKSM, para_id).unwrap(); + let asset_1_currency_id: AssetId = AssetId::try_convert_from(VKSM, para_id).unwrap(); // let path = vec![asset_0_currency_id, asset_1_currency_id]; assert_ok!(ZenlinkProtocol::create_pair( RuntimeOrigin::root(), @@ -105,5 +105,5 @@ fn init_vtoken_minting() { )); assert_ok!(VtokenMinting::increase_token_pool(KSM, 1000)); assert_ok!(VtokenMinting::update_ongoing_time_unit(KSM, TimeUnit::Era(1))); - assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), vKSM, 90)); + assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), VKSM, 90)); } diff --git a/pallets/system-staking/src/mock.rs b/pallets/system-staking/src/mock.rs index 64b426068d..828797376b 100644 --- a/pallets/system-staking/src/mock.rs +++ b/pallets/system-staking/src/mock.rs @@ -19,7 +19,7 @@ #![allow(non_upper_case_globals)] use bifrost_asset_registry::AssetIdMaps; -use bifrost_primitives::{CurrencyId, SlpxOperator, TokenSymbol}; +pub use bifrost_primitives::{currency::*, CurrencyId, SlpxOperator, TokenSymbol}; use bifrost_slp::{QueryId, QueryResponseManager}; pub use cumulus_primitives_core::ParaId; use cumulus_primitives_core::*; @@ -53,12 +53,6 @@ pub type Amount = i128; pub type Balance = u128; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::ASG); -pub const DOT: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); -pub const vDOT: CurrencyId = CurrencyId::VToken(TokenSymbol::DOT); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vKSM: CurrencyId = CurrencyId::VToken(TokenSymbol::KSM); -pub const MOVR: CurrencyId = CurrencyId::Token(TokenSymbol::MOVR); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); @@ -475,9 +469,9 @@ impl ExtBuilder { (BOB, BNC, 100), (CHARLIE, BNC, 100), (ALICE, DOT, 100), - (ALICE, vDOT, 400), + (ALICE, VDOT, 400), (ALICE, KSM, 3000), - (BOB, vKSM, 1000), + (BOB, VKSM, 1000), (BOB, KSM, 10000000000), (BOB, MOVR, 1000000000000000000000), ]) diff --git a/pallets/system-staking/src/tests.rs b/pallets/system-staking/src/tests.rs index ceef35ec60..e58f3bb7c7 100644 --- a/pallets/system-staking/src/tests.rs +++ b/pallets/system-staking/src/tests.rs @@ -132,7 +132,7 @@ fn refresh_token_info_should_work() { )); assert_ok!(VtokenMinting::increase_token_pool(KSM, 1000)); assert_ok!(VtokenMinting::update_ongoing_time_unit(KSM, TimeUnit::Era(1))); - assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), vKSM, 10)); + assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), VKSM, 10)); assert_ok!(SystemStaking::token_config( RuntimeOrigin::root(), @@ -166,7 +166,7 @@ fn round_process_token() { )); assert_ok!(VtokenMinting::increase_token_pool(KSM, 1000)); assert_ok!(VtokenMinting::update_ongoing_time_unit(KSM, TimeUnit::Era(1))); - assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), vKSM, 10)); + assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), VKSM, 10)); assert_ok!(SystemStaking::token_config( RuntimeOrigin::root(), @@ -202,7 +202,7 @@ fn round_process_token_rollback() { )); assert_ok!(VtokenMinting::increase_token_pool(KSM, 1000)); assert_ok!(VtokenMinting::update_ongoing_time_unit(KSM, TimeUnit::Era(1))); - assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), vKSM, 10000)); + assert_ok!(VtokenMinting::set_minimum_redeem(RuntimeOrigin::signed(ALICE), VKSM, 10000)); assert_ok!(SystemStaking::token_config( RuntimeOrigin::root(), diff --git a/pallets/ve-minting/src/mock.rs b/pallets/ve-minting/src/mock.rs index b8fa7a7bd1..20dc1c532e 100644 --- a/pallets/ve-minting/src/mock.rs +++ b/pallets/ve-minting/src/mock.rs @@ -23,7 +23,9 @@ use crate as bifrost_ve_minting; use bifrost_asset_registry::AssetIdMaps; -use bifrost_primitives::{CurrencyId, CurrencyIdMapping, SlpxOperator, TokenSymbol}; +pub use bifrost_primitives::{ + currency::*, CurrencyId, CurrencyIdMapping, SlpxOperator, TokenSymbol, +}; use bifrost_runtime_common::{micro, milli}; use bifrost_slp::{QueryId, QueryResponseManager}; pub use cumulus_primitives_core::ParaId; @@ -54,12 +56,6 @@ pub type Amount = i128; pub type Balance = u128; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::BNC); -pub const vBNC: CurrencyId = CurrencyId::VToken(TokenSymbol::BNC); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vKSM: CurrencyId = CurrencyId::VToken(TokenSymbol::KSM); -pub const MOVR: CurrencyId = CurrencyId::Token(TokenSymbol::MOVR); -// pub const vMOVR: CurrencyId = CurrencyId::VToken(TokenSymbol::MOVR); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); @@ -470,14 +466,14 @@ impl ExtBuilder { pub fn one_hundred_for_alice_n_bob(self) -> Self { self.balances(vec![ (ALICE, BNC, 1_000_000_000_000), - (ALICE, vBNC, 1_000_000_000_000_000), + (ALICE, VBNC, 1_000_000_000_000_000), (ALICE, KSM, 1_000_000_000_000), (BOB, BNC, 1_000_000_000_000), - (BOB, vBNC, 1_000_000_000_000_000), - (BOB, vKSM, 1_000_000_000_000), + (BOB, VBNC, 1_000_000_000_000_000), + (BOB, VKSM, 1_000_000_000_000), (BOB, MOVR, 1_000_000_000_000), (CHARLIE, BNC, 1_000_000_000_000), - (CHARLIE, vBNC, 1_000_000_000_000_000), + (CHARLIE, VBNC, 1_000_000_000_000_000), ]) } diff --git a/pallets/vstoken-conversion/src/mock.rs b/pallets/vstoken-conversion/src/mock.rs index 6bb76a27aa..6ed53958c8 100644 --- a/pallets/vstoken-conversion/src/mock.rs +++ b/pallets/vstoken-conversion/src/mock.rs @@ -21,7 +21,7 @@ #![cfg(test)] #![allow(non_upper_case_globals)] -use bifrost_primitives::{CurrencyId, TokenSymbol}; +pub use bifrost_primitives::{currency::*, CurrencyId, TokenSymbol}; use frame_support::{ord_parameter_types, parameter_types, traits::Nothing, PalletId}; use frame_system::EnsureSignedBy; use sp_core::{ConstU32, H256}; @@ -38,15 +38,9 @@ pub type Amount = i128; pub type Balance = u64; pub type AccountId = AccountId32; -pub const BNC: CurrencyId = CurrencyId::Native(TokenSymbol::ASG); -pub const DOT: CurrencyId = CurrencyId::Token(TokenSymbol::DOT); -pub const vDOT: CurrencyId = CurrencyId::VToken(TokenSymbol::DOT); -pub const KSM: CurrencyId = CurrencyId::Token(TokenSymbol::KSM); -pub const vsKSM: CurrencyId = CurrencyId::VSToken(TokenSymbol::KSM); pub const ALICE: AccountId = AccountId32::new([0u8; 32]); pub const BOB: AccountId = AccountId32::new([1u8; 32]); pub const CHARLIE: AccountId = AccountId32::new([3u8; 32]); -pub const vsBond: CurrencyId = CurrencyId::VSBond(TokenSymbol::BNC, 2001, 0, 8); pub const TREASURY_ACCOUNT: AccountId = AccountId32::new([9u8; 32]); frame_support::construct_runtime!( @@ -198,10 +192,10 @@ impl ExtBuilder { (BOB, BNC, 100), (CHARLIE, BNC, 100), (ALICE, DOT, 100), - (ALICE, vDOT, 100), - (BOB, vsKSM, 100), + (ALICE, VDOT, 100), + (BOB, VSKSM, 100), (BOB, KSM, 100), - (BOB, vsBond, 100), + (BOB, VSBOND_BNC_2001_0_8, 100), ]) } diff --git a/pallets/vstoken-conversion/src/tests.rs b/pallets/vstoken-conversion/src/tests.rs index 25b32f417a..93aa3bbe83 100644 --- a/pallets/vstoken-conversion/src/tests.rs +++ b/pallets/vstoken-conversion/src/tests.rs @@ -44,11 +44,21 @@ fn vsksm_convert_to_vsbond() { }; assert_ok!(VstokenConversion::set_relaychain_lease(RuntimeOrigin::signed(ALICE), 1)); assert_noop!( - VstokenConversion::vstoken_convert_to_vsbond(Some(BOB).into(), vsBond, 1000, 1), + VstokenConversion::vstoken_convert_to_vsbond( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 1000, + 1 + ), Error::::NotEnoughBalance ); assert_noop!( - VstokenConversion::vstoken_convert_to_vsbond(Some(BOB).into(), vsBond, 100, 1), + VstokenConversion::vstoken_convert_to_vsbond( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 100, + 1 + ), Error::::CalculationOverflow ); assert_ok!(VstokenConversion::set_exchange_rate( @@ -58,7 +68,12 @@ fn vsksm_convert_to_vsbond() { )); assert_eq!(VstokenConversion::exchange_rate(8), EXCHANGE_RATE); assert_noop!( - VstokenConversion::vstoken_convert_to_vsbond(Some(BOB).into(), vsBond, 100, 1), + VstokenConversion::vstoken_convert_to_vsbond( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 100, + 1 + ), orml_tokens::Error::::BalanceTooLow ); assert_noop!( @@ -67,13 +82,22 @@ fn vsksm_convert_to_vsbond() { ); let vsbond_account: AccountId = ::VsbondAccount::get().into_account_truncating(); - assert_ok!(>::deposit(vsBond, &vsbond_account, 10000)); - assert_ok!(VstokenConversion::vstoken_convert_to_vsbond(Some(BOB).into(), vsBond, 100, 1)); - assert_eq!(Tokens::free_balance(vsKSM, &BOB), 0); - assert_eq!(Tokens::free_balance(vsBond, &vsbond_account), 8200); - assert_eq!(Tokens::free_balance(vsBond, &BOB), 1900); + assert_ok!(>::deposit( + VSBOND_BNC_2001_0_8, + &vsbond_account, + 10000 + )); + assert_ok!(VstokenConversion::vstoken_convert_to_vsbond( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 100, + 1 + )); + assert_eq!(Tokens::free_balance(VSKSM, &BOB), 0); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &vsbond_account), 8200); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &BOB), 1900); - assert_ok!(>::deposit(vsKSM, &BOB, 1000)); + assert_ok!(>::deposit(VSKSM, &BOB, 1000)); pub const EXCHANGE_RATE_PERCENTAGE_0: Percent = Percent::from_percent(100); const EXCHANGE_RATE_0: VstokenConversionExchangeRate = VstokenConversionExchangeRate { vsbond_convert_to_vstoken: EXCHANGE_RATE_PERCENTAGE_0, @@ -85,10 +109,15 @@ fn vsksm_convert_to_vsbond() { -2, EXCHANGE_RATE_0 )); - assert_ok!(VstokenConversion::vstoken_convert_to_vsbond(Some(BOB).into(), vsBond, 100, 1)); - assert_eq!(Tokens::free_balance(vsKSM, &BOB), 900); - assert_eq!(Tokens::free_balance(vsBond, &vsbond_account), 8110); - assert_eq!(Tokens::free_balance(vsBond, &BOB), 1990); + assert_ok!(VstokenConversion::vstoken_convert_to_vsbond( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 100, + 1 + )); + assert_eq!(Tokens::free_balance(VSKSM, &BOB), 900); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &vsbond_account), 8110); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &BOB), 1990); }); } @@ -115,9 +144,14 @@ fn vsbond_convert_to_vsksm() { assert_eq!(VstokenConversion::exchange_rate(8), EXCHANGE_RATE); let vsbond_account: AccountId = ::VsbondAccount::get().into_account_truncating(); - assert_ok!(VstokenConversion::vsbond_convert_to_vstoken(Some(BOB).into(), vsBond, 100, 1)); - assert_eq!(Tokens::free_balance(vsKSM, &BOB), 104); - assert_eq!(Tokens::free_balance(vsBond, &vsbond_account), 100); - assert_eq!(Tokens::free_balance(vsBond, &BOB), 0); + assert_ok!(VstokenConversion::vsbond_convert_to_vstoken( + Some(BOB).into(), + VSBOND_BNC_2001_0_8, + 100, + 1 + )); + assert_eq!(Tokens::free_balance(VSKSM, &BOB), 104); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &vsbond_account), 100); + assert_eq!(Tokens::free_balance(VSBOND_BNC_2001_0_8, &BOB), 0); }); } diff --git a/primitives/src/currency.rs b/primitives/src/currency.rs index ec990c44da..1689963d1d 100644 --- a/primitives/src/currency.rs +++ b/primitives/src/currency.rs @@ -61,6 +61,12 @@ pub const VFIL: CurrencyId = CurrencyId::VToken2(FIL_TOKEN_ID); pub const MANTA_TOKEN_ID: u8 = 8u8; pub const MANTA: CurrencyId = CurrencyId::Token2(MANTA_TOKEN_ID); pub const VMANTA: CurrencyId = CurrencyId::VToken2(MANTA_TOKEN_ID); +pub const VSBOND_BNC_2001_0_8: CurrencyId = CurrencyId::VSBond(TokenSymbol::BNC, 2001, 0, 8); + +pub const LDOT: CurrencyId = CurrencyId::Lend(0); +pub const LKSM: CurrencyId = CurrencyId::Lend(1); +pub const LUSDT: CurrencyId = CurrencyId::Lend(2); +pub const LVDOT: CurrencyId = CurrencyId::Lend(3); macro_rules! create_currency_id { ($(#[$meta:meta])*