Skip to content
Snippets Groups Projects
Commit 6fc41d0e authored by Cédric Moreau's avatar Cédric Moreau
Browse files

fix(#125): allow indexer export file through `DUNITER_GENESIS_EXPORT` env var

parent 28ba7b98
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,7 @@
// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
use super::*;
use crate::chain_spec::gen_genesis_data::{genesis_data_to_indexer_export, GenesisIndexerExport};
use common_runtime::constants::*;
use common_runtime::entities::IdtyData;
use common_runtime::*;
......@@ -29,6 +30,7 @@ use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::{sr25519, Encode};
use sp_finality_grandpa::AuthorityId as GrandpaId;
use std::fs;
pub type AuthorityKeys = (
AccountId,
......@@ -284,6 +286,15 @@ fn genesis_data_to_gdev_genesis_conf(
genesis_data: super::gen_genesis_data::GenesisData<GenesisParameters, SessionKeys>,
wasm_binary: &[u8],
) -> gdev_runtime::GenesisConfig {
if let Ok(path) = std::env::var("DUNITER_GENESIS_EXPORT") {
let export: GenesisIndexerExport = genesis_data_to_indexer_export(&genesis_data);
fs::write(
&path,
serde_json::to_string(&export).expect("should be serializable"),
)
.expect(format!("Could not export genesis data to {}", &path).as_str());
}
let super::gen_genesis_data::GenesisData {
accounts,
certs_by_receiver,
......
......@@ -698,3 +698,13 @@ fn to_bn(genesis_timestamp: u64, timestamp: u64) -> u32 {
fn validate_idty_name(name: &str) -> bool {
name.len() <= 64
}
pub fn genesis_data_to_indexer_export<P: Default + DeserializeOwned, SK: Decode>(
genesis_data: &GenesisData<P, SK>,
) -> GenesisIndexerExport {
GenesisIndexerExport {
first_ud: genesis_data.first_ud,
first_ud_reeval: genesis_data.first_ud_reeval,
ud: genesis_data.ud,
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment