Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nodes/rust/duniter-v2s
  • llaq/lc-core-substrate
  • pini-gh/duniter-v2s
  • vincentux/duniter-v2s
  • mildred/duniter-v2s
  • d0p1/duniter-v2s
  • bgallois/duniter-v2s
  • Nicolas80/duniter-v2s
8 results
Show changes
Commits on Source (4)
...@@ -18,7 +18,7 @@ services: ...@@ -18,7 +18,7 @@ services:
DUNITER_CHAIN_NAME: "dev" DUNITER_CHAIN_NAME: "dev"
#DUNITER_DISABLE_PROMETHEUS: "false" #DUNITER_DISABLE_PROMETHEUS: "false"
volumes: volumes:
- data:/var/lib/lc-core - data:/var/lib/duniter
volumes: volumes:
data: data:
...@@ -21,6 +21,8 @@ use std::collections::BTreeMap; ...@@ -21,6 +21,8 @@ use std::collections::BTreeMap;
type MembershipData = sp_membership::MembershipData<u32>; type MembershipData = sp_membership::MembershipData<u32>;
const EXISTENTIAL_DEPOSIT: u64 = 100;
#[derive(Clone)] #[derive(Clone)]
pub struct GenesisData<Parameters: DeserializeOwned, SessionKeys: Decode> { pub struct GenesisData<Parameters: DeserializeOwned, SessionKeys: Decode> {
pub accounts: BTreeMap<AccountId, GenesisAccountData<u64>>, pub accounts: BTreeMap<AccountId, GenesisAccountData<u64>>,
...@@ -57,6 +59,8 @@ struct GenesisConfig<Parameters> { ...@@ -57,6 +59,8 @@ struct GenesisConfig<Parameters> {
#[serde(rename = "smiths")] #[serde(rename = "smiths")]
smith_identities: BTreeMap<String, SmithData>, smith_identities: BTreeMap<String, SmithData>,
sudo_key: Option<AccountId>, sudo_key: Option<AccountId>,
#[serde(default)]
wallets: BTreeMap<AccountId, u64>,
} }
#[derive(Clone, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
...@@ -133,6 +137,7 @@ where ...@@ -133,6 +137,7 @@ where
parameters, parameters,
identities, identities,
smith_identities, smith_identities,
wallets,
} = genesis_config; } = genesis_config;
// MONEY AND WOT // // MONEY AND WOT //
...@@ -145,13 +150,31 @@ where ...@@ -145,13 +150,31 @@ where
let mut memberships = BTreeMap::new(); let mut memberships = BTreeMap::new();
//let mut total_dust = 0; //let mut total_dust = 0;
let mut ud_accounts = BTreeMap::new(); let mut ud_accounts = BTreeMap::new();
// SIMPLE WALLETS //
let mut wallet_index: u32 = 0;
for (pubkey, balance) in wallets {
wallet_index += 1;
accounts.insert(
pubkey.clone(),
GenesisAccountData {
random_id: H256(blake2_256(&(wallet_index, &pubkey).encode())),
balance,
is_identity: false,
},
);
}
// IDENTITIES //
for (idty_name, identity) in &identities { for (idty_name, identity) in &identities {
if !validate_idty_name(idty_name) { if !validate_idty_name(idty_name) {
return Err(format!("Identity name '{}' is invalid", &idty_name)); return Err(format!("Identity name '{}' is invalid", &idty_name));
} }
// Money // Money
let balance = if identity.balance >= 100 { let balance = if identity.balance >= EXISTENTIAL_DEPOSIT {
identity.balance identity.balance
} else { } else {
//total_dust += identity.balance; //total_dust += identity.balance;
...@@ -221,6 +244,13 @@ where ...@@ -221,6 +244,13 @@ where
.get(&idty_name) .get(&idty_name)
.ok_or(format!("Identity '{}' not exist", &idty_name))?; .ok_or(format!("Identity '{}' not exist", &idty_name))?;
if identity.balance < EXISTENTIAL_DEPOSIT {
return Err(format!(
"Identity '{}' have balance '{}' < EXISTENTIAL_DEPOSIT",
idty_name, identity.balance,
));
}
// Initial authorities // Initial authorities
initial_authorities.insert(*idty_index, (identity.pubkey.clone(), smith_data.authority)); initial_authorities.insert(*idty_index, (identity.pubkey.clone(), smith_data.authority));
......
...@@ -59,7 +59,7 @@ impl SubstrateCli for Cli { ...@@ -59,7 +59,7 @@ impl SubstrateCli for Cli {
#[cfg(feature = "gdev")] #[cfg(feature = "gdev")]
"dev" => Box::new(chain_spec::gdev::development_chain_spec()?), "dev" => Box::new(chain_spec::gdev::development_chain_spec()?),
#[cfg(feature = "gdev")] #[cfg(feature = "gdev")]
"local" => Box::new(chain_spec::gdev::local_testnet_config(1, 3, 4)?), "local" | "gdev_local" => Box::new(chain_spec::gdev::local_testnet_config(1, 3, 4)?),
#[cfg(feature = "gdev")] #[cfg(feature = "gdev")]
"local2" => Box::new(chain_spec::gdev::local_testnet_config(2, 3, 4)?), "local2" => Box::new(chain_spec::gdev::local_testnet_config(2, 3, 4)?),
#[cfg(feature = "gdev")] #[cfg(feature = "gdev")]
......