From 6794f1d31c45bb050c350a3a42117140fdb5f8dd Mon Sep 17 00:00:00 2001 From: herryho Date: Sat, 11 Sep 2021 10:38:16 +0800 Subject: [PATCH 1/3] add-endowment-in-bifrost-test-chainspec --- node/service/src/chain_spec/bifrost.rs | 126 +++++++++++++++++++++---- runtime/bifrost/src/lib.rs | 2 +- 2 files changed, 109 insertions(+), 19 deletions(-) diff --git a/node/service/src/chain_spec/bifrost.rs b/node/service/src/chain_spec/bifrost.rs index cfb3a6a7b5..f735169ff8 100644 --- a/node/service/src/chain_spec/bifrost.rs +++ b/node/service/src/chain_spec/bifrost.rs @@ -25,9 +25,10 @@ use bifrost_runtime::{ constants::currency::DOLLARS, AccountId, AuraId, Balance, BalancesConfig, BancorConfig, BlockNumber, CollatorSelectionConfig, CouncilConfig, DemocracyConfig, GenesisConfig, IndicesConfig, ParachainInfoConfig, SessionConfig, SudoConfig, SystemConfig, - TechnicalCommitteeConfig, VestingConfig, WASM_BINARY, + TechnicalCommitteeConfig, TokensConfig, VestingConfig, WASM_BINARY, }; use cumulus_primitives_core::ParaId; +use frame_benchmarking::{account, whitelisted_caller}; use hex_literal::hex; use node_primitives::{CurrencyId, TokenSymbol}; use sc_service::ChainType; @@ -45,12 +46,15 @@ const DEFAULT_PROTOCOL_ID: &str = "bifrost"; /// Specialized `ChainSpec` for the bifrost runtime. pub type ChainSpec = sc_service::GenericChainSpec; +const ENDOWMENT: u128 = 1_000_000 * DOLLARS; + pub fn bifrost_genesis( invulnerables: Vec<(AccountId, AuraId)>, root_key: AccountId, balances: Vec<(AccountId, Balance)>, vestings: Vec<(AccountId, BlockNumber, BlockNumber, Balance)>, id: ParaId, + tokens: Vec<(AccountId, CurrencyId, Balance)>, ) -> GenesisConfig { GenesisConfig { system: SystemConfig { @@ -93,6 +97,7 @@ pub fn bifrost_genesis( aura_ext: Default::default(), parachain_system: Default::default(), vesting: VestingConfig { vesting: vestings }, + tokens: TokensConfig { balances: tokens }, bancor: BancorConfig { bancor_pools: vec![ (CurrencyId::Token(TokenSymbol::DOT), 10_000 * DOLLARS), @@ -103,9 +108,34 @@ pub fn bifrost_genesis( } fn development_config_genesis(id: ParaId) -> GenesisConfig { - let endowed_accounts: Vec = - vec![get_account_id_from_seed::("Alice")]; - const ENDOWMENT: u128 = 1_000_000 * DOLLARS; + let endowed_accounts = vec![ + get_account_id_from_seed::("Alice"), + whitelisted_caller(), // Benchmarking whitelist_account + ]; + let balances = endowed_accounts + .iter() + .chain(faucet_accounts().iter()) + .cloned() + .map(|x| (x, ENDOWMENT)) + .collect(); + let vestings = endowed_accounts + .iter() + .cloned() + .map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4)) + .collect(); + let tokens = endowed_accounts + .iter() + .chain(faucet_accounts().iter()) + .flat_map(|x| { + vec![ + (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), + (x.clone(), CurrencyId::Token(TokenSymbol::DOT), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::VSToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::ETH), ENDOWMENT), + (x.clone(), CurrencyId::Token(TokenSymbol::KSM), ENDOWMENT), + ] + }) + .collect(); bifrost_genesis( vec![( @@ -113,13 +143,10 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { get_from_seed::("Alice"), )], get_account_id_from_seed::("Alice"), - endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(), - endowed_accounts - .iter() - .cloned() - .map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4)) - .collect(), + balances, + vestings, id, + tokens, ) } @@ -138,11 +165,56 @@ pub fn development_config(id: ParaId) -> Result { } fn local_config_genesis(id: ParaId) -> GenesisConfig { - let endowed_accounts: Vec = vec![ + let endowed_accounts = vec![ get_account_id_from_seed::("Alice"), get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + whitelisted_caller(), // Benchmarking whitelist_account + account("bechmarking_account_1", 0, 0), /* Benchmarking account_1, used for interacting + * with whitelistted_caller */ ]; - const ENDOWMENT: u128 = 1_000_000 * DOLLARS; + let balances = endowed_accounts + .iter() + .chain(faucet_accounts().iter()) + .cloned() + .map(|x| (x, ENDOWMENT)) + .collect(); + let vestings = endowed_accounts + .iter() + .cloned() + .map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4)) + .collect(); + let tokens = endowed_accounts + .iter() + .chain(faucet_accounts().iter()) + .flat_map(|x| { + vec![ + (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), + (x.clone(), CurrencyId::VSToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::VToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::DOT), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::ETH), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::KSM), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::ASG), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::KUSD), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::Token(TokenSymbol::BNC), ENDOWMENT * 4_000_000), + ( + x.clone(), + CurrencyId::VSBond(TokenSymbol::KSM, 3000, 13, 20), + ENDOWMENT * 4_000_000, + ), + ] + }) + .collect(); bifrost_genesis( vec![ @@ -153,13 +225,10 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { (get_account_id_from_seed::("Bob"), get_from_seed::("Bob")), ], get_account_id_from_seed::("Alice"), - endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(), - endowed_accounts - .iter() - .cloned() - .map(|x| (x, 0u32, 100u32, ENDOWMENT / 4)) - .collect(), + balances, + vestings, id, + tokens, ) } @@ -272,6 +341,7 @@ fn bifrost_config_genesis(id: ParaId) -> GenesisConfig { balances, vesting_configs.into_iter().flat_map(|vc| vc.vesting).collect(), id, + vec![], ) } @@ -298,3 +368,23 @@ fn config_from_json_files(dir: PathBuf) -> Result, S Ok(configs) } + +pub fn faucet_accounts() -> Vec { + vec![ + hex!["ce6072037670ca8e974fd571eae4f215a58d0bf823b998f619c3f87a911c3541"].into(), /* asgard sudo account */ + hex!["a2d57b8e781327bd2853b36e6f290bd8beeaa850971c9b0789ec4969f8beb01b"].into(), /* bifrost-faucet */ + hex!["a272fa6e2282767b61a299e81023d44ef583c640fef99b0bafe216399775cd17"].into(), + hex!["56f6e7bb0826cd128672ad3a03016533834123c319adc635c6db595c6f72272e"].into(), + hex!["7e9005c247601a0d0e967f68b03f6e39e402a735ec65c20e4965c6d94a22e42f"].into(), + hex!["f2449dfbb431a5f9e8dc7468e5f3521baff4c0125edcda746f38df5295d5fb28"].into(), + hex!["aaa565b52ea12bf3c8d7abb79411976bccd8054c5581922acc0165ad88640f09"].into(), + hex!["8afadc065940f22f73b745aab694b1b20cafea3d4e52adad844f581614fbdd00"].into(), + hex!["0831325e2b4953f247db9df3f6452becbf23d8f7f806c0396ad853cb3c284d06"].into(), + hex!["7ea84934a575487fb02c44e01f4488c2f242cdbf48052630780dcd8ac567950c"].into(), + hex!["ee05492a82cb982392aad78f7e6f6fff56eaee4988fd9961ebb84e177dd6526d"].into(), /* bifrost-faucet */ + hex!["7435653321694ee115e8cea8c8e117c0b6703b6fb91298b6df5adeef7679a46f"].into(), /* danny testing account */ + hex!["263c78393f33b23cd23f3211726b2316e950910749d20c1552ea6972091a645e"].into(), /* jianbo testing account */ + hex!["803feefeab8e5c81c3d268038b6c494d3018714fc8c5d08cf027111fd8114b06"].into(), /* tieqiao testing account */ + hex!["8898ffd2cb04fb751655ede7bc0081b6b6ebe13cd0bdee5bbb9273e6dcc9b91c"].into(), /* tyrone testing account */ + ] +} diff --git a/runtime/bifrost/src/lib.rs b/runtime/bifrost/src/lib.rs index 1b2b453718..f68c03b8b2 100644 --- a/runtime/bifrost/src/lib.rs +++ b/runtime/bifrost/src/lib.rs @@ -1079,7 +1079,7 @@ construct_runtime! { Tips: pallet_tips::{Pallet, Call, Storage, Event} = 63, XTokens: orml_xtokens::{Pallet, Call, Event} = 70, - Tokens: orml_tokens::{Pallet, Call, Storage, Event} = 71, + Tokens: orml_tokens::{Pallet, Call, Storage, Event, Config} = 71, Currencies: orml_currencies::{Pallet, Call, Event} = 72, UnknownTokens: orml_unknown_tokens::{Pallet, Storage, Event} = 73, OrmlXcm: orml_xcm::{Pallet, Call, Event} = 74, From c365808bf856d8805ef14057c28a0f2a5a99b9a6 Mon Sep 17 00:00:00 2001 From: Edwin Wang Date: Sat, 11 Sep 2021 12:47:10 +0800 Subject: [PATCH 2/3] remove faucet_accounts --- node/service/src/chain_spec/bifrost.rs | 36 ++------------------------ 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/node/service/src/chain_spec/bifrost.rs b/node/service/src/chain_spec/bifrost.rs index f735169ff8..f5c0fedf45 100644 --- a/node/service/src/chain_spec/bifrost.rs +++ b/node/service/src/chain_spec/bifrost.rs @@ -112,12 +112,7 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { get_account_id_from_seed::("Alice"), whitelisted_caller(), // Benchmarking whitelist_account ]; - let balances = endowed_accounts - .iter() - .chain(faucet_accounts().iter()) - .cloned() - .map(|x| (x, ENDOWMENT)) - .collect(); + let balances = endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(); let vestings = endowed_accounts .iter() .cloned() @@ -125,7 +120,6 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { .collect(); let tokens = endowed_accounts .iter() - .chain(faucet_accounts().iter()) .flat_map(|x| { vec![ (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), @@ -182,12 +176,7 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { account("bechmarking_account_1", 0, 0), /* Benchmarking account_1, used for interacting * with whitelistted_caller */ ]; - let balances = endowed_accounts - .iter() - .chain(faucet_accounts().iter()) - .cloned() - .map(|x| (x, ENDOWMENT)) - .collect(); + let balances = endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT)).collect(); let vestings = endowed_accounts .iter() .cloned() @@ -195,7 +184,6 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { .collect(); let tokens = endowed_accounts .iter() - .chain(faucet_accounts().iter()) .flat_map(|x| { vec![ (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), @@ -368,23 +356,3 @@ fn config_from_json_files(dir: PathBuf) -> Result, S Ok(configs) } - -pub fn faucet_accounts() -> Vec { - vec![ - hex!["ce6072037670ca8e974fd571eae4f215a58d0bf823b998f619c3f87a911c3541"].into(), /* asgard sudo account */ - hex!["a2d57b8e781327bd2853b36e6f290bd8beeaa850971c9b0789ec4969f8beb01b"].into(), /* bifrost-faucet */ - hex!["a272fa6e2282767b61a299e81023d44ef583c640fef99b0bafe216399775cd17"].into(), - hex!["56f6e7bb0826cd128672ad3a03016533834123c319adc635c6db595c6f72272e"].into(), - hex!["7e9005c247601a0d0e967f68b03f6e39e402a735ec65c20e4965c6d94a22e42f"].into(), - hex!["f2449dfbb431a5f9e8dc7468e5f3521baff4c0125edcda746f38df5295d5fb28"].into(), - hex!["aaa565b52ea12bf3c8d7abb79411976bccd8054c5581922acc0165ad88640f09"].into(), - hex!["8afadc065940f22f73b745aab694b1b20cafea3d4e52adad844f581614fbdd00"].into(), - hex!["0831325e2b4953f247db9df3f6452becbf23d8f7f806c0396ad853cb3c284d06"].into(), - hex!["7ea84934a575487fb02c44e01f4488c2f242cdbf48052630780dcd8ac567950c"].into(), - hex!["ee05492a82cb982392aad78f7e6f6fff56eaee4988fd9961ebb84e177dd6526d"].into(), /* bifrost-faucet */ - hex!["7435653321694ee115e8cea8c8e117c0b6703b6fb91298b6df5adeef7679a46f"].into(), /* danny testing account */ - hex!["263c78393f33b23cd23f3211726b2316e950910749d20c1552ea6972091a645e"].into(), /* jianbo testing account */ - hex!["803feefeab8e5c81c3d268038b6c494d3018714fc8c5d08cf027111fd8114b06"].into(), /* tieqiao testing account */ - hex!["8898ffd2cb04fb751655ede7bc0081b6b6ebe13cd0bdee5bbb9273e6dcc9b91c"].into(), /* tyrone testing account */ - ] -} From 56579ac0a9d1df07c3146793c86e56303f662870 Mon Sep 17 00:00:00 2001 From: Edwin Wang Date: Sat, 11 Sep 2021 13:28:05 +0800 Subject: [PATCH 3/3] remove unsupported tokens --- node/service/src/chain_spec/bifrost.rs | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/node/service/src/chain_spec/bifrost.rs b/node/service/src/chain_spec/bifrost.rs index f5c0fedf45..70f687138e 100644 --- a/node/service/src/chain_spec/bifrost.rs +++ b/node/service/src/chain_spec/bifrost.rs @@ -99,10 +99,7 @@ pub fn bifrost_genesis( vesting: VestingConfig { vesting: vestings }, tokens: TokensConfig { balances: tokens }, bancor: BancorConfig { - bancor_pools: vec![ - (CurrencyId::Token(TokenSymbol::DOT), 10_000 * DOLLARS), - (CurrencyId::Token(TokenSymbol::KSM), 1_000_000 * DOLLARS), - ], + bancor_pools: vec![(CurrencyId::Token(TokenSymbol::KSM), 1_000_000 * DOLLARS)], }, } } @@ -123,9 +120,6 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig { .flat_map(|x| { vec![ (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), - (x.clone(), CurrencyId::Token(TokenSymbol::DOT), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::VSToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::Token(TokenSymbol::ETH), ENDOWMENT), (x.clone(), CurrencyId::Token(TokenSymbol::KSM), ENDOWMENT), ] }) @@ -187,13 +181,7 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { .flat_map(|x| { vec![ (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), - (x.clone(), CurrencyId::VSToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::VToken(TokenSymbol::DOT), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::Token(TokenSymbol::DOT), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::Token(TokenSymbol::ETH), ENDOWMENT * 4_000_000), (x.clone(), CurrencyId::Token(TokenSymbol::KSM), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::Token(TokenSymbol::ASG), ENDOWMENT * 4_000_000), - (x.clone(), CurrencyId::Token(TokenSymbol::KUSD), ENDOWMENT * 4_000_000), (x.clone(), CurrencyId::Token(TokenSymbol::BNC), ENDOWMENT * 4_000_000), ( x.clone(),