Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions node/primitives/src/currency.rs
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ create_currency_id! {
ETH("Ethereum", 18) = 5,
KAR("Karura", 12) = 6,
ZLK("Zenlink Network Token", 18) = 7,
PHA("Phala Native Token", 12) = 8,
}
}

Expand Down
21 changes: 19 additions & 2 deletions node/service/res/asgard.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,25 @@
],
"protocolId": "asgard",
"properties": {
"tokenDecimals": 12,
"tokenSymbol": "ASG"
"ss58Format": 6,
"tokenDecimals": [
12,
12,
10,
12,
12,
18,
12
],
"tokenSymbol": [
"ASG",
"KUSD",
"DOT",
"KSM",
"KAR",
"ZLK",
"PHA"
]
},
"relay_chain": "westend",
"para_id": 2001,
Expand Down
23 changes: 20 additions & 3 deletions node/service/res/bifrost-kusama.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,25 @@
],
"protocolId": "bifrost",
"properties": {
"tokenDecimals": 12,
"tokenSymbol": "BNC"
"ss58Format": 6,
"tokenDecimals": [
12,
12,
10,
12,
12,
18,
12
],
"tokenSymbol": [
"BNC",
"KUSD",
"DOT",
"KSM",
"KAR",
"ZLK",
"PHA"
]
},
"relay_chain": "kusama",
"para_id": 2001,
Expand Down Expand Up @@ -52158,4 +52175,4 @@
"childrenDefault": {}
}
}
}
}
9 changes: 7 additions & 2 deletions node/service/res/bifrost-polkadot.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@
],
"protocolId": "bifrost_polkadot",
"properties": {
"tokenDecimals": 12,
"tokenSymbol": "BNC"
"ss58Format": 6,
"tokenDecimals": [
12
],
"tokenSymbol": [
"BNC"
]
},
"relay_chain": "polkadot",
"para_id": 2001,
Expand Down
46 changes: 36 additions & 10 deletions node/service/src/chain_spec/asgard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@
use asgard_runtime::{
constants::currency::DOLLARS, AccountId, AuraId, Balance, BalancesConfig, BancorConfig,
BlockNumber, CollatorSelectionConfig, CouncilConfig, DemocracyConfig, GenesisConfig,
IndicesConfig, MinterRewardConfig, ParachainInfoConfig, PolkadotXcmConfig, SessionConfig,
SudoConfig, SystemConfig, TechnicalCommitteeConfig, TokensConfig, VestingConfig,
IndicesConfig, MinterRewardConfig, ParachainInfoConfig, PolkadotXcmConfig, SS58Prefix,
SessionConfig, SudoConfig, SystemConfig, TechnicalCommitteeConfig, TokensConfig, VestingConfig,
VtokenMintConfig, WASM_BINARY,
};
use bifrost_runtime_common::constants::time::*;
use cumulus_primitives_core::ParaId;
use frame_benchmarking::{account, whitelisted_caller};
use hex_literal::hex;
use node_primitives::{CurrencyId, TokenSymbol};
use node_primitives::{CurrencyId, TokenInfo, TokenSymbol};
use sc_chain_spec::Properties;
use sc_service::ChainType;
use sc_telemetry::TelemetryEndpoints;
use sp_core::{crypto::UncheckedInto, sr25519};
Expand All @@ -43,6 +44,35 @@ pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig, RelayExtensions

const ENDOWMENT: u128 = 1_000_000 * DOLLARS;

fn asgard_properties() -> Properties {
let mut properties = sc_chain_spec::Properties::new();
let mut token_symbol: Vec<String> = vec![];
let mut token_decimals: Vec<u32> = vec![];
[
// native token
CurrencyId::Native(TokenSymbol::ASG),
// stable token
CurrencyId::Stable(TokenSymbol::KUSD),
// token
CurrencyId::Token(TokenSymbol::DOT),
CurrencyId::Token(TokenSymbol::KSM),
CurrencyId::Token(TokenSymbol::KAR),
CurrencyId::Token(TokenSymbol::ZLK),
CurrencyId::Token(TokenSymbol::PHA),
]
.iter()
.for_each(|token| {
token_symbol.push(token.symbol().to_string());
token_decimals.push(token.decimals() as u32);
});

properties.insert("tokenSymbol".into(), token_symbol.into());
properties.insert("tokenDecimals".into(), token_decimals.into());
properties.insert("ss58Format".into(), SS58Prefix::get().into());

properties
}

/// Helper function to create asgard GenesisConfig for testing
pub fn asgard_genesis(
invulnerables: Vec<(AccountId, AuraId)>,
Expand Down Expand Up @@ -177,7 +207,7 @@ pub fn development_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(asgard_properties()),
RelayExtensions { relay_chain: "westend-dev".into(), para_id: id.into() },
))
}
Expand Down Expand Up @@ -256,16 +286,12 @@ pub fn local_testnet_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(asgard_properties()),
RelayExtensions { relay_chain: "westend-local".into(), para_id: id.into() },
))
}

pub fn chainspec_config(id: ParaId) -> ChainSpec {
let mut properties = sc_chain_spec::Properties::new();
properties.insert("tokenSymbol".into(), "ASG".into());
properties.insert("tokenDecimals".into(), 12.into());

ChainSpec::from_genesis(
"Bifrost Asgard CC4",
"asgard_testnet",
Expand All @@ -274,7 +300,7 @@ pub fn chainspec_config(id: ParaId) -> ChainSpec {
vec![],
TelemetryEndpoints::new(vec![(TELEMETRY_URL.into(), 0)]).ok(),
Some(DEFAULT_PROTOCOL_ID),
Some(properties),
Some(asgard_properties()),
RelayExtensions { relay_chain: "westend".into(), para_id: id.into() },
)
}
Expand Down
46 changes: 36 additions & 10 deletions node/service/src/chain_spec/bifrost_kusama.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ use std::{
use bifrost_kusama_runtime::{
AccountId, AuraId, Balance, BalancesConfig, BlockNumber, CollatorSelectionConfig,
CouncilConfig, CouncilMembershipConfig, DemocracyConfig, GenesisConfig, IndicesConfig,
ParachainInfoConfig, PolkadotXcmConfig, SessionConfig, SystemConfig, TechnicalCommitteeConfig,
TechnicalMembershipConfig, TokensConfig, VestingConfig, WASM_BINARY,
ParachainInfoConfig, PolkadotXcmConfig, SS58Prefix, SessionConfig, SystemConfig,
TechnicalCommitteeConfig, TechnicalMembershipConfig, TokensConfig, VestingConfig, WASM_BINARY,
};
use bifrost_runtime_common::dollar;
use cumulus_primitives_core::ParaId;
use frame_benchmarking::{account, whitelisted_caller};
use hex_literal::hex;
use node_primitives::{CurrencyId, TokenSymbol};
use node_primitives::{CurrencyId, TokenInfo, TokenSymbol};
use sc_chain_spec::Properties;
use sc_service::ChainType;
use sc_telemetry::TelemetryEndpoints;
use serde::de::DeserializeOwned;
Expand All @@ -52,6 +53,35 @@ pub fn ENDOWMENT() -> u128 {
1_000_000 * dollar(CurrencyId::Native(TokenSymbol::BNC))
}

fn bifrost_kusama_properties() -> Properties {
let mut properties = sc_chain_spec::Properties::new();
let mut token_symbol: Vec<String> = vec![];
let mut token_decimals: Vec<u32> = vec![];
[
// native token
CurrencyId::Native(TokenSymbol::BNC),
// stable token
CurrencyId::Stable(TokenSymbol::KUSD),
// token
CurrencyId::Token(TokenSymbol::DOT),
CurrencyId::Token(TokenSymbol::KSM),
CurrencyId::Token(TokenSymbol::KAR),
CurrencyId::Token(TokenSymbol::ZLK),
CurrencyId::Token(TokenSymbol::PHA),
]
.iter()
.for_each(|token| {
token_symbol.push(token.symbol().to_string());
token_decimals.push(token.decimals() as u32);
});

properties.insert("tokenSymbol".into(), token_symbol.into());
properties.insert("tokenDecimals".into(), token_decimals.into());
properties.insert("ss58Format".into(), SS58Prefix::get().into());

properties
}

pub fn bifrost_genesis(
invulnerables: Vec<(AccountId, AuraId)>,
balances: Vec<(AccountId, Balance)>,
Expand Down Expand Up @@ -162,7 +192,7 @@ pub fn development_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(bifrost_kusama_properties()),
RelayExtensions { relay_chain: "kusama-dev".into(), para_id: id.into() },
))
}
Expand Down Expand Up @@ -242,16 +272,12 @@ pub fn local_testnet_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(bifrost_kusama_properties()),
RelayExtensions { relay_chain: "kusama-local".into(), para_id: id.into() },
))
}

pub fn chainspec_config(id: ParaId) -> ChainSpec {
let mut properties = sc_chain_spec::Properties::new();
properties.insert("tokenSymbol".into(), "BNC".into());
properties.insert("tokenDecimals".into(), 12.into());

ChainSpec::from_genesis(
"Bifrost",
"bifrost",
Expand All @@ -260,7 +286,7 @@ pub fn chainspec_config(id: ParaId) -> ChainSpec {
vec![],
TelemetryEndpoints::new(vec![(TELEMETRY_URL.into(), 0)]).ok(),
Some(DEFAULT_PROTOCOL_ID),
Some(properties),
Some(bifrost_kusama_properties()),
RelayExtensions { relay_chain: "kusama".into(), para_id: id.into() },
)
}
Expand Down
49 changes: 36 additions & 13 deletions node/service/src/chain_spec/bifrost_polkadot.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@
use bifrost_polkadot_runtime::{
constants::currency::DOLLARS, AccountId, AuraId, Balance, BalancesConfig, BlockNumber,
CollatorSelectionConfig, GenesisConfig, IndicesConfig, ParachainInfoConfig, PolkadotXcmConfig,
SessionConfig, SudoConfig, SystemConfig, VestingConfig, WASM_BINARY,
SS58Prefix, SessionConfig, SudoConfig, SystemConfig, VestingConfig, WASM_BINARY,
};
use bifrost_runtime_common::dollar;
use cumulus_primitives_core::ParaId;
use frame_benchmarking::{account, whitelisted_caller};
use hex_literal::hex;
use node_primitives::{CurrencyId, TokenInfo, TokenSymbol};
use sc_chain_spec::Properties;
use sc_service::ChainType;
use sc_telemetry::TelemetryEndpoints;
use sp_core::{crypto::UncheckedInto, sr25519};
Expand All @@ -37,7 +40,31 @@ const DEFAULT_PROTOCOL_ID: &str = "bifrost_polkadot";
/// Specialized `ChainSpec` for the bifrost-polkadot runtime.
pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig, RelayExtensions>;

const ENDOWMENT: u128 = 1_000_000 * DOLLARS;
#[allow(non_snake_case)]
pub fn ENDOWMENT() -> u128 {
1_000_000 * dollar(CurrencyId::Native(TokenSymbol::BNC))
}

fn bifrost_polkadot_properties() -> Properties {
let mut properties = sc_chain_spec::Properties::new();
let mut token_symbol: Vec<String> = vec![];
let mut token_decimals: Vec<u32> = vec![];
[
// native token
CurrencyId::Native(TokenSymbol::BNC),
]
.iter()
.for_each(|token| {
token_symbol.push(token.symbol().to_string());
token_decimals.push(token.decimals() as u32);
});

properties.insert("tokenSymbol".into(), token_symbol.into());
properties.insert("tokenDecimals".into(), token_decimals.into());
properties.insert("ss58Format".into(), SS58Prefix::get().into());

properties
}

pub fn bifrost_polkadot_genesis(
invulnerables: Vec<(AccountId, AuraId)>,
Expand Down Expand Up @@ -87,11 +114,11 @@ fn development_config_genesis(id: ParaId) -> GenesisConfig {
get_account_id_from_seed::<sr25519::Public>("Alice"),
whitelisted_caller(), // Benchmarking whitelist_account
];
let balances = endowed_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()
.map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4))
.map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT() / 4))
.collect();

bifrost_polkadot_genesis(
Expand All @@ -115,7 +142,7 @@ pub fn development_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(bifrost_polkadot_properties()),
RelayExtensions { relay_chain: "polkadot-dev".into(), para_id: id.into() },
))
}
Expand All @@ -138,11 +165,11 @@ 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().cloned().map(|x| (x, ENDOWMENT)).collect();
let balances = endowed_accounts.iter().cloned().map(|x| (x, ENDOWMENT())).collect();
let vestings = endowed_accounts
.iter()
.cloned()
.map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT / 4))
.map(|x| (x.clone(), 0u32, 100u32, ENDOWMENT() / 4))
.collect();

bifrost_polkadot_genesis(
Expand All @@ -169,16 +196,12 @@ pub fn local_testnet_config(id: ParaId) -> Result<ChainSpec, String> {
vec![],
None,
Some(DEFAULT_PROTOCOL_ID),
None,
Some(bifrost_polkadot_properties()),
RelayExtensions { relay_chain: "polkadot-local".into(), para_id: id.into() },
))
}

pub fn chainspec_config(id: ParaId) -> ChainSpec {
let mut properties = sc_chain_spec::Properties::new();
properties.insert("tokenSymbol".into(), "BNC".into());
properties.insert("tokenDecimals".into(), 12.into());

ChainSpec::from_genesis(
"Bifrost Polkadot",
"bifrost_polkadot",
Expand All @@ -187,7 +210,7 @@ pub fn chainspec_config(id: ParaId) -> ChainSpec {
vec![],
TelemetryEndpoints::new(vec![(TELEMETRY_URL.into(), 0)]).ok(),
Some(DEFAULT_PROTOCOL_ID),
Some(properties),
Some(bifrost_polkadot_properties()),
RelayExtensions { relay_chain: "polkadot".into(), para_id: id.into() },
)
}
Expand Down
Loading