Skip to content

Commit 0d9ff30

Browse files
committed
split node crates
1 parent a17d6e6 commit 0d9ff30

File tree

30 files changed

+176
-96
lines changed

30 files changed

+176
-96
lines changed

Cargo.lock

Lines changed: 78 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ members = [
1818
"crates/grpc",
1919
"crates/messaging",
2020
"crates/metrics",
21-
"crates/node",
21+
"crates/node/full-node",
22+
"crates/node/sequencer",
2223
"crates/node-bindings",
2324
"crates/oracle/gas",
2425
"crates/pool/pool",
@@ -47,7 +48,7 @@ members = [
4748
"crates/utils",
4849
"tests/db-compat",
4950
"tests/reverse-proxy",
50-
"tests/snos",
51+
"tests/snos"
5152
]
5253

5354
[workspace.package]
@@ -88,7 +89,8 @@ katana-gas-price-oracle = { path = "crates/oracle/gas" }
8889
katana-genesis = { path = "crates/genesis" }
8990
katana-messaging = { path = "crates/messaging" }
9091
katana-metrics = { path = "crates/metrics" }
91-
katana-node = { path = "crates/node" }
92+
katana-full-node = { path = "crates/node/full-node" }
93+
katana-sequencer = { path = "crates/node/sequencer" }
9294
katana-node-bindings = { path = "crates/node-bindings" }
9395
katana-pipeline = { path = "crates/sync/pipeline" }
9496
katana-pool = { path = "crates/pool/pool" }

crates/cli/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ version.workspace = true
99
katana-chain-spec.workspace = true
1010
katana-core.workspace = true
1111
katana-messaging.workspace = true
12-
katana-node.workspace = true
12+
katana-sequencer.workspace = true
1313
katana-genesis.workspace = true
1414
katana-primitives.workspace = true
1515
katana-rpc-server.workspace = true
@@ -38,10 +38,10 @@ starknet.workspace = true
3838
[features]
3939
cartridge = [
4040
"dep:katana-slot-controller",
41-
"katana-node/cartridge",
41+
"katana-sequencer/cartridge",
4242
"katana-rpc-server/cartridge",
4343
]
4444
default = [ "cartridge", "server" ]
45-
explorer = [ "katana-node/explorer", "katana-utils/explorer" ]
46-
native = [ "katana-node/native" ]
45+
explorer = [ "katana-sequencer/explorer", "katana-utils/explorer" ]
46+
native = [ "katana-sequencer/native" ]
4747
server = [ ]

crates/cli/src/args.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ use katana_core::constants::DEFAULT_SEQUENCER_ADDRESS;
1414
use katana_genesis::allocation::DevAllocationsGenerator;
1515
use katana_genesis::constant::DEFAULT_PREFUNDED_ACCOUNT_BALANCE;
1616
use katana_messaging::MessagingConfig;
17-
use katana_node::config::db::DbConfig;
18-
use katana_node::config::dev::{DevConfig, FixedL1GasPriceConfig};
19-
use katana_node::config::execution::ExecutionConfig;
20-
use katana_node::config::fork::ForkingConfig;
17+
use katana_sequencer::config::db::DbConfig;
18+
use katana_sequencer::config::dev::{DevConfig, FixedL1GasPriceConfig};
19+
use katana_sequencer::config::execution::ExecutionConfig;
20+
use katana_sequencer::config::fork::ForkingConfig;
2121
#[cfg(feature = "server")]
22-
use katana_node::config::gateway::GatewayConfig;
23-
use katana_node::config::metrics::MetricsConfig;
22+
use katana_sequencer::config::gateway::GatewayConfig;
23+
use katana_sequencer::config::metrics::MetricsConfig;
2424
#[cfg(feature = "cartridge")]
25-
use katana_node::config::paymaster::PaymasterConfig;
26-
use katana_node::config::rpc::RpcConfig;
25+
use katana_sequencer::config::paymaster::PaymasterConfig;
26+
use katana_sequencer::config::rpc::RpcConfig;
2727
#[cfg(feature = "server")]
28-
use katana_node::config::rpc::{RpcModuleKind, RpcModulesList};
29-
use katana_node::config::sequencing::SequencingConfig;
30-
use katana_node::config::Config;
31-
use katana_node::Node;
28+
use katana_sequencer::config::rpc::{RpcModuleKind, RpcModulesList};
29+
use katana_sequencer::config::sequencing::SequencingConfig;
30+
use katana_sequencer::config::Config;
31+
use katana_sequencer::Node;
3232
use serde::{Deserialize, Serialize};
3333
use tracing::info;
3434
use url::Url;
@@ -166,7 +166,7 @@ impl SequencerNodeArgs {
166166
Ok(())
167167
}
168168

169-
pub fn config(&self) -> Result<katana_node::config::Config> {
169+
pub fn config(&self) -> Result<katana_sequencer::config::Config> {
170170
let db = self.db_config();
171171
let rpc = self.rpc_config()?;
172172
let dev = self.dev_config();
@@ -512,12 +512,12 @@ mod test {
512512
DEFAULT_ETH_L1_DATA_GAS_PRICE, DEFAULT_ETH_L1_GAS_PRICE, DEFAULT_ETH_L2_GAS_PRICE,
513513
DEFAULT_STRK_L1_DATA_GAS_PRICE, DEFAULT_STRK_L1_GAS_PRICE,
514514
};
515-
use katana_node::config::execution::{
516-
DEFAULT_INVOCATION_MAX_STEPS, DEFAULT_VALIDATION_MAX_STEPS,
517-
};
518-
use katana_node::config::rpc::RpcModuleKind;
519515
use katana_primitives::chain::ChainId;
520516
use katana_primitives::{address, felt, ContractAddress, Felt};
517+
use katana_sequencer::config::execution::{
518+
DEFAULT_INVOCATION_MAX_STEPS, DEFAULT_VALIDATION_MAX_STEPS,
519+
};
520+
use katana_sequencer::config::rpc::RpcModuleKind;
521521

522522
use super::*;
523523

crates/cli/src/options.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,25 @@ use std::num::NonZeroU128;
1313

1414
use clap::Args;
1515
use katana_genesis::Genesis;
16-
use katana_node::config::execution::{DEFAULT_INVOCATION_MAX_STEPS, DEFAULT_VALIDATION_MAX_STEPS};
16+
use katana_primitives::block::{BlockHashOrNumber, GasPrice};
17+
use katana_primitives::chain::ChainId;
18+
#[cfg(feature = "server")]
19+
use katana_rpc_server::cors::HeaderValue;
20+
use katana_sequencer::config::execution::{
21+
DEFAULT_INVOCATION_MAX_STEPS, DEFAULT_VALIDATION_MAX_STEPS,
22+
};
1723
#[cfg(feature = "server")]
18-
use katana_node::config::gateway::{
24+
use katana_sequencer::config::gateway::{
1925
DEFAULT_GATEWAY_ADDR, DEFAULT_GATEWAY_PORT, DEFAULT_GATEWAY_TIMEOUT_SECS,
2026
};
2127
#[cfg(feature = "server")]
22-
use katana_node::config::metrics::{DEFAULT_METRICS_ADDR, DEFAULT_METRICS_PORT};
28+
use katana_sequencer::config::metrics::{DEFAULT_METRICS_ADDR, DEFAULT_METRICS_PORT};
2329
#[cfg(feature = "server")]
24-
use katana_node::config::rpc::{RpcModulesList, DEFAULT_RPC_MAX_PROOF_KEYS};
30+
use katana_sequencer::config::rpc::{RpcModulesList, DEFAULT_RPC_MAX_PROOF_KEYS};
2531
#[cfg(feature = "server")]
26-
use katana_node::config::rpc::{
32+
use katana_sequencer::config::rpc::{
2733
DEFAULT_RPC_ADDR, DEFAULT_RPC_MAX_CALL_GAS, DEFAULT_RPC_MAX_EVENT_PAGE_SIZE, DEFAULT_RPC_PORT,
2834
};
29-
use katana_primitives::block::{BlockHashOrNumber, GasPrice};
30-
use katana_primitives::chain::ChainId;
31-
#[cfg(feature = "server")]
32-
use katana_rpc_server::cors::HeaderValue;
3335
use katana_tracing::{gcloud, otlp, LogFormat, TracerConfig};
3436
use serde::{Deserialize, Serialize};
3537
use serde_utils::serialize_opt_as_hex;
@@ -591,7 +593,7 @@ fn default_page_size() -> u64 {
591593

592594
#[cfg(feature = "server")]
593595
fn default_proof_keys() -> u64 {
594-
katana_node::config::rpc::DEFAULT_RPC_MAX_PROOF_KEYS
596+
katana_sequencer::config::rpc::DEFAULT_RPC_MAX_PROOF_KEYS
595597
}
596598

597599
#[cfg(feature = "server")]

crates/node/full-node/Cargo.toml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
[package]
2+
name = "katana-full-node"
3+
edition.workspace = true
4+
license.workspace = true
5+
repository.workspace = true
6+
version.workspace = true
7+
8+
[dependencies]
9+
katana-chain-spec.workspace = true
10+
katana-core.workspace = true
11+
katana-db.workspace = true
12+
katana-executor.workspace = true
13+
katana-gateway-server.workspace = true
14+
katana-gateway-client.workspace = true
15+
katana-gas-price-oracle.workspace = true
16+
katana-messaging.workspace = true
17+
katana-metrics.workspace = true
18+
katana-pipeline.workspace = true
19+
katana-pool.workspace = true
20+
katana-primitives.workspace = true
21+
katana-provider.workspace = true
22+
katana-rpc-server = { workspace = true }
23+
katana-rpc-api.workspace = true
24+
katana-rpc-client.workspace = true
25+
katana-stage.workspace = true
26+
katana-tasks.workspace = true
27+
28+
anyhow.workspace = true
29+
futures.workspace = true
30+
http.workspace = true
31+
jsonrpsee.workspace = true
32+
serde.workspace = true
33+
thiserror.workspace = true
34+
tracing.workspace = true
35+
url.workspace = true
36+
strum.workspace = true
37+
strum_macros.workspace = true
38+
39+
tokio = { workspace = true, features = [ "time" ] }
40+
katana-starknet.workspace = true
41+
alloy-provider = { workspace = true, default-features = false, features = [ "reqwest", "reqwest-rustls-tls" ] }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use anyhow::Result;
66
use futures::future::BoxFuture;
77
use futures::FutureExt;
88

9-
use crate::full::LaunchedNode;
9+
use crate::LaunchedNode;
1010

1111
/// A Future that is resolved once the node has been stopped including all of its running tasks.
1212
#[must_use = "futures do nothing unless polled"]
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
//! Experimental full node implementation.
1+
#![cfg_attr(not(test), warn(unused_crate_dependencies))]
2+
3+
//! Katana full node implementation.
24
35
use std::future::IntoFuture;
46
use std::sync::Arc;

0 commit comments

Comments
 (0)