Skip to content

Commit 46a5636

Browse files
committed
wip
1 parent 0ce6151 commit 46a5636

File tree

9 files changed

+39
-22
lines changed

9 files changed

+39
-22
lines changed

crates/cli/src/args.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ explorer = true
10341034
#[test]
10351035
#[cfg(feature = "server")]
10361036
fn parse_cors_origins() {
1037-
use katana_rpc_server::cors::HeaderValue;
1037+
use katana_rpc_server::middleware::cors::HeaderValue;
10381038

10391039
let result = SequencerNodeArgs::parse_from([
10401040
"katana",

crates/cli/src/options.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use katana_primitives::chain::ChainId;
1919
#[cfg(feature = "vrf")]
2020
use katana_primitives::ContractAddress;
2121
#[cfg(feature = "server")]
22-
use katana_rpc_server::cors::HeaderValue;
22+
use katana_rpc_server::middleware::cors::HeaderValue;
2323
use katana_sequencer_node::config::execution::{
2424
DEFAULT_INVOCATION_MAX_STEPS, DEFAULT_VALIDATION_MAX_STEPS,
2525
};

crates/cli/src/sidecar.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::net::SocketAddr;
22

33
use anyhow::{anyhow, Result};
44
#[cfg(feature = "vrf")]
5-
pub use cartridge::vrf::{
5+
pub use cartridge::vrf::server::{
66
get_vrf_account, VrfAccountCredentials, VrfBootstrapResult, VrfServer, VrfServerConfig,
77
VrfServiceProcess, VRF_SERVER_PORT,
88
};
@@ -62,7 +62,7 @@ pub async fn bootstrap_vrf(
6262
let rpc_url = local_rpc_url(&rpc_addr);
6363
let (account_address, pk) = prefunded_account(chain, 0)?;
6464

65-
let result = cartridge::vrf::bootstrap_vrf(rpc_url, account_address, pk).await?;
65+
let result = cartridge::vrf::server::bootstrap_vrf(rpc_url, account_address, pk).await?;
6666

6767
let mut vrf_service = VrfServer::new(VrfServerConfig {
6868
secret_key: result.secret_key,

crates/cli/src/utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use katana_primitives::cairo::ShortString;
1515
use katana_primitives::chain::ChainId;
1616
use katana_primitives::class::ClassHash;
1717
use katana_primitives::contract::ContractAddress;
18-
use katana_rpc_server::cors::HeaderValue;
18+
use katana_rpc_server::middleware::cors::HeaderValue;
1919
use katana_tracing::LogFormat;
2020
use serde::{Deserialize, Deserializer, Serializer};
2121
use tracing::info;

crates/node/sequencer/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,16 @@ use crate::exit::NodeStoppedFuture;
7575

7676
/// The concrete type of the RPC middleware stack used by the node.
7777
#[cfg(feature = "cartridge")]
78-
type NodeRpcMiddleware<Pool, PP, PF> = Stack<
79-
Either<ControllerDeploymentLayer<Pool, PP, PF>, Identity>,
78+
type NodeRpcMiddleware<PF> = Stack<
79+
Either<ControllerDeploymentLayer<TxPool, BlockProducer<PF>, PF>, Identity>,
8080
Stack<RpcLoggerLayer, Stack<RpcServerMetricsLayer, Identity>>,
8181
>;
8282

8383
#[cfg(not(feature = "cartridge"))]
8484
type NodeRpcMiddleware = Stack<RpcLoggerLayer, Stack<RpcServerMetricsLayer, Identity>>;
8585

8686
#[cfg(feature = "cartridge")]
87-
pub type NodeRpcServer<Pool, PP, PF> = RpcServer<NodeRpcMiddleware<Pool, PP, PF>>;
87+
pub type NodeRpcServer<PF> = RpcServer<NodeRpcMiddleware<PF>>;
8888

8989
#[cfg(not(feature = "cartridge"))]
9090
pub type NodeRpcServer = RpcServer<NodeRpcMiddleware>;
@@ -105,7 +105,7 @@ where
105105
config: Arc<Config>,
106106
pool: TxPool,
107107
#[cfg(feature = "cartridge")]
108-
rpc_server: NodeRpcServer<TxPool, PP, P>,
108+
rpc_server: NodeRpcServer<P>,
109109
#[cfg(not(feature = "cartridge"))]
110110
rpc_server: NodeRpcServer,
111111
#[cfg(feature = "grpc")]
@@ -352,7 +352,7 @@ where
352352
Some(ControllerDeploymentLayer::new(
353353
starknet_api.clone(),
354354
cartridge_api_client,
355-
HttpClient::builder().build(cfg.url)?,
355+
HttpClient::builder().build(cfg.url.clone())?,
356356
cartridge_api_cfg.controller_deployer_address,
357357
SigningKey::from_secret_scalar(
358358
cartridge_api_cfg.controller_deployer_private_key,

crates/rpc/rpc-server/src/cartridge/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,14 @@ use jsonrpsee::http_client::{HttpClient, HttpClientBuilder};
3838
use katana_core::backend::Backend;
3939
use katana_core::service::block_producer::BlockProducer;
4040
use katana_genesis::constant::{DEFAULT_STRK_FEE_TOKEN_ADDRESS, DEFAULT_UDC_ADDRESS};
41-
use katana_pool::api::TransactionPool;
4241
use katana_pool::TxPool;
4342
use katana_primitives::chain::ChainId;
4443
use katana_primitives::contract::Nonce;
4544
use katana_primitives::execution::Call;
4645
use katana_primitives::fee::{AllResourceBoundsMapping, ResourceBoundsMapping};
4746
use katana_primitives::transaction::{ExecutableTx, ExecutableTxWithHash, InvokeTx, InvokeTxV3};
4847
use katana_primitives::{ContractAddress, Felt};
49-
use katana_provider::api::state::{StateFactoryProvider, StateProvider};
48+
use katana_provider::api::state::StateProvider;
5049
use katana_provider::{ProviderFactory, ProviderRO, ProviderRW};
5150
use katana_rpc_api::cartridge::CartridgeApiServer;
5251
use katana_rpc_api::error::cartridge::CartridgeApiError;

crates/rpc/rpc-server/src/cartridge/vrf.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,17 @@ mod tests {
9191
#[test]
9292
fn request_random_call_finds_position() {
9393
let vrf_address = ContractAddress::from(felt!("0x123"));
94-
let other_call = katana_rpc_types::outside_execution::Call {
95-
to: vrf_address,
96-
selector: selector!("transfer"),
94+
95+
let other_call = Call {
9796
calldata: vec![Felt::ONE],
97+
contract_address: vrf_address,
98+
entry_point_selector: selector!("transfer"),
9899
};
99-
let vrf_call = katana_rpc_types::outside_execution::Call {
100-
to: vrf_address,
101-
selector: selector!("request_random"),
100+
101+
let vrf_call = Call {
102102
calldata: vec![Felt::TWO],
103+
contract_address: vrf_address,
104+
entry_point_selector: selector!("request_random"),
103105
};
104106

105107
let outside_execution = OutsideExecution::V2(OutsideExecutionV2 {
@@ -112,8 +114,9 @@ mod tests {
112114

113115
let (call, position) =
114116
get_request_random_call(&outside_execution).expect("request_random found");
117+
115118
assert_eq!(position, 1);
116-
assert_eq!(call.selector, vrf_call.selector);
119+
assert_eq!(call.entry_point_selector, vrf_call.entry_point_selector);
117120
assert_eq!(call.calldata, vrf_call.calldata);
118121
}
119122
}

crates/rpc/rpc-server/src/middleware/cartridge.rs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ where
4242
Pool: TransactionPool + 'static,
4343
PP: PendingBlockProvider,
4444
PF: ProviderFactory,
45-
<PF as ProviderFactory>::Provider: ProviderRO,
4645
{
4746
starknet: StarknetApi<Pool, PP, PF>,
4847
cartridge_api: CartridgeApiClient,
@@ -57,7 +56,6 @@ where
5756
Pool: TransactionPool + 'static,
5857
PP: PendingBlockProvider,
5958
PF: ProviderFactory,
60-
<PF as ProviderFactory>::Provider: ProviderRO,
6159
{
6260
pub fn new(
6361
starknet: StarknetApi<Pool, PP, PF>,
@@ -407,6 +405,24 @@ where
407405
}
408406
}
409407

408+
impl<Pool, PP, PF> Clone for ControllerDeploymentLayer<Pool, PP, PF>
409+
where
410+
Pool: TransactionPool,
411+
PP: PendingBlockProvider,
412+
PF: ProviderFactory,
413+
{
414+
fn clone(&self) -> Self {
415+
Self {
416+
starknet: self.starknet.clone(),
417+
vrf_service: self.vrf_service.clone(),
418+
cartridge_api: self.cartridge_api.clone(),
419+
paymaster_client: self.paymaster_client.clone(),
420+
deployer_address: self.deployer_address.clone(),
421+
deployer_private_key: self.deployer_private_key.clone(),
422+
}
423+
}
424+
}
425+
410426
impl<S, Pool, PP, PF> Clone for ControllerDeploymentService<S, Pool, PP, PF>
411427
where
412428
S: Clone,

crates/utils/src/node.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ where
194194
}
195195

196196
/// Returns the address of the node's gRPC server (if enabled).
197-
#[cfg(feature = "grpc")]
198197
pub fn grpc_addr(&self) -> Option<&SocketAddr> {
199198
self.node.grpc().map(|h| h.addr())
200199
}

0 commit comments

Comments
 (0)