frame: support for serde added (#14261)

* frame: support for serde added

- enabled `serde` features in dependent crates, no gate feature introduced, linker should do the job and strip unused code.

- frame::staking: added impl of `serde::Serialize, serde::Deserialize` for `enum Forcing`

- primitives::runtime: impl_opaque_keys macro provides `Serialize/Deserialize` impl if `serde` is enabled

- primitives::staking: added impl of `serde::Serialize`, `serde::Deserialize` for `enum StakerStatus`

* frame::support: serde for pallets' GenesisConfig enabled in no-std

* Cargo.lock updated

* Update primitives/staking/Cargo.toml

Co-authored-by: Bastian Köcher <git@kchr.de>

* fix

* Cargo.lock update + missed serde/std in beefy

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
Michal Kucharczyk
2023-06-01 16:35:34 +01:00
committed by GitHub
parent 372708d7a2
commit dc7161276d
16 changed files with 70 additions and 71 deletions
+7 -7
View File
@@ -16,15 +16,15 @@ targets = ["x86_64-unknown-linux-gnu"]
cfg-if = "1.0"
codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = ["derive"] }
log = { version = "0.4.17", default-features = false }
scale-info = { version = "2.5.0", default-features = false, features = ["derive"] }
serde = { version = "1.0.163", features = ["derive"], optional = true }
scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] }
serde = { version = "1.0.163", default-features = false, features = ["derive", "alloc"] }
frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
sp-core = { version = "21.0.0", default-features = false, path = "../../primitives/core" }
sp-core = { version = "21.0.0", default-features = false, path = "../../primitives/core", features = ["serde"] }
sp-io = { version = "23.0.0", default-features = false, path = "../../primitives/io" }
sp-runtime = { version = "24.0.0", default-features = false, path = "../../primitives/runtime" }
sp-runtime = { version = "24.0.0", default-features = false, path = "../../primitives/runtime", features = ["serde"] }
sp-std = { version = "8.0.0", default-features = false, path = "../../primitives/std" }
sp-version = { version = "22.0.0", default-features = false, path = "../../primitives/version" }
sp-weights = { version = "20.0.0", default-features = false, path = "../../primitives/weights" }
sp-version = { version = "22.0.0", default-features = false, path = "../../primitives/version", features = ["serde"] }
sp-weights = { version = "20.0.0", default-features = false, path = "../../primitives/weights", features = ["serde"] }
[dev-dependencies]
criterion = "0.4.0"
@@ -38,7 +38,7 @@ std = [
"frame-support/std",
"log/std",
"scale-info/std",
"serde",
"serde/std",
"sp-core/std",
"sp-io/std",
"sp-runtime/std",
+1 -1
View File
@@ -673,7 +673,7 @@ pub mod pallet {
#[derive(Default)]
#[pallet::genesis_config]
pub struct GenesisConfig {
#[cfg_attr(feature = "std", serde(with = "sp_core::bytes"))]
#[serde(with = "sp_core::bytes")]
pub code: Vec<u8>,
}