Skip to content
Snippets Groups Projects
Verified Commit 8bd9c9f6 authored by Loris Moulin's avatar Loris Moulin
Browse files

feat: added custom serialization logic for RegistrationStrategy to map to node zombienet version

parent 05b2df26
Branches
No related merge requests found
use std::{cell::RefCell, error::Error, fmt::Display, marker::PhantomData, rc::Rc};
use multiaddr::Multiaddr;
use serde::Serialize;
use serde::{ser::SerializeStruct, Serialize};
use crate::shared::{
errors::{ConfigError, FieldError},
......@@ -14,17 +14,34 @@ use crate::shared::{
},
};
#[derive(Debug, Clone, PartialEq, Serialize)]
#[derive(Debug, Clone, PartialEq)]
pub enum RegistrationStrategy {
InGenesis,
UsingExtrinsic,
}
impl Serialize for RegistrationStrategy {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let mut state = serializer.serialize_struct("RegistrationStrategy", 1)?;
match self {
Self::InGenesis => state.serialize_field("add_to_genesis", &true)?,
Self::UsingExtrinsic => state.serialize_field("register_para", &true)?,
}
state.end()
}
}
/// A parachain configuration, composed of collators and fine-grained configuration options.
#[derive(Debug, Clone, PartialEq, Serialize)]
pub struct ParachainConfig {
id: u32,
chain: Option<Chain>,
#[serde(flatten)]
registration_strategy: Option<RegistrationStrategy>,
#[serde(rename = "balance")]
initial_balance: U128,
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment