Skip to content

Commit

Permalink
feat: create and serealize gateway config
Browse files Browse the repository at this point in the history
  • Loading branch information
ArniStarkware committed May 22, 2024
1 parent 13d24fe commit 09915aa
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion crates/gateway/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,34 @@ use std::collections::BTreeMap;
use std::net::IpAddr;

use blockifier::context::{ChainInfo, FeeTokenAddresses};
use papyrus_config::dumping::{ser_param, SerializeConfig};
use papyrus_config::dumping::{append_sub_config_name, ser_param, SerializeConfig};
use papyrus_config::{ParamPath, ParamPrivacyInput, SerializedParam};
use serde::{Deserialize, Serialize};
use starknet_api::core::{ChainId, ContractAddress, Nonce};
use validator::Validate;

#[derive(Clone, Debug, Serialize, Deserialize, Validate, PartialEq)]
pub struct GatewayConfig {
pub network_config: GatewayNetworkConfig,
pub stateless_transaction_validator_config: StatelessTransactionValidatorConfig,
// TODO(Arni): Add the stateful transaction validator config.
}

impl SerializeConfig for GatewayConfig {
fn dump(&self) -> BTreeMap<ParamPath, SerializedParam> {
vec![
append_sub_config_name(self.network_config.dump(), "network_config"),
append_sub_config_name(
self.stateless_transaction_validator_config.dump(),
"stateless_transaction_validator_config",
),
]
.into_iter()
.flatten()
.collect()
}
}

/// The gateway network connection related configuration.
#[derive(Clone, Debug, Serialize, Deserialize, Validate, PartialEq)]
pub struct GatewayNetworkConfig {
Expand Down

0 comments on commit 09915aa

Please sign in to comment.