frame: Enable GenesisConfig in no_std (#14108)

* frame: Default for GenesisConfig in no_std

`Default` for `GenesisConfig` will be required for no_std in no native
runtime world. It must be possible to instantiate default GenesisConfig
for pallets and runtime.

* ".git/.scripts/commands/fmt/fmt.sh"

* hash69 in no_std reverted

* derive(DefaultNoBound) for GenesisConfig used when possible

* treasury: derive(Default)

* Cargo.lock update

* genesis_config: compiler error improved

When std feature is not enabled for pallet, the GenesisConfig will be
defined, but serde::{Serialize,Deserialize} traits will not be
implemented.

The compiler error indicates the reason of latter errors.

This is temporary and serde traits will be enabled with together with
`serde` support in frame.

---------

Co-authored-by: command-bot <>
This commit is contained in:
Michal Kucharczyk
2023-05-20 09:34:23 +02:00
committed by GitHub
parent 5100a0376e
commit 613420a035
31 changed files with 149 additions and 173 deletions
+1 -2
View File
@@ -456,7 +456,6 @@ pub mod pallet {
pub balances: Vec<(T::AccountId, T::Balance)>,
}
#[cfg(feature = "std")]
impl<T: Config<I>, I: 'static> Default for GenesisConfig<T, I> {
fn default() -> Self {
Self { balances: Default::default() }
@@ -483,7 +482,7 @@ pub mod pallet {
.iter()
.map(|(x, _)| x)
.cloned()
.collect::<std::collections::BTreeSet<_>>();
.collect::<sp_std::collections::btree_set::BTreeSet<_>>();
assert!(
endowed_accounts.len() == self.balances.len(),