pub fn generate_genesis_data_for_local_chain<P, SK, SessionKeys: Encode, SKP>(
    initial_authorities_len: usize,
    initial_smiths_len: usize,
    initial_identities_len: usize,
    treasury_balance: u64,
    parameters: Option<P>,
    root_key: AccountId,
    get_common_parameters: fn(_: &Option<P>) -> CommonParameters,
) -> Result<GenesisData<P, SK>, String>
where P: Default + DeserializeOwned, SK: Decode, SKP: SessionKeysProvider<SessionKeys>,