Skip to content

Commit c806208

Browse files
refactor: move state reader modules to a new crate
commit-id:53ab0222
1 parent c44d947 commit c806208

13 files changed

+40
-22
lines changed

Cargo.lock

+11-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/gateway/Cargo.toml

+4-3
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,23 @@ testing = []
1414
[dependencies]
1515
async-trait.workspace = true
1616
axum.workspace = true
17-
blockifier= { workspace = true, features = ["testing"] }
17+
blockifier = { workspace = true, features = ["testing"] }
1818
cairo-lang-starknet-classes.workspace = true
1919
cairo-vm.workspace = true
2020
hyper.workspace = true
21+
mempool_test_utils = { path = "../mempool_test_utils", version = "0.0" }
2122
num-traits.workspace = true
2223
papyrus_config.workspace = true
2324
papyrus_rpc.workspace = true
2425
reqwest.workspace = true
2526
serde.workspace = true
2627
serde_json.workspace = true
28+
starknet-types-core.workspace = true
2729
starknet_api.workspace = true
2830
starknet_mempool_infra = { path = "../mempool_infra", version = "0.0" }
2931
starknet_mempool_types = { path = "../mempool_types", version = "0.0" }
3032
starknet_sierra_compile = { path = "../starknet_sierra_compile", version = "0.0" }
31-
starknet-types-core.workspace = true
32-
mempool_test_utils = { path = "../mempool_test_utils", version = "0.0"}
33+
starknet_state_reader = { path = "../state_reader", version = "0.0", features = ["testing"] }
3334
thiserror.workspace = true
3435
tokio.workspace = true
3536
tracing.workspace = true

crates/gateway/src/gateway.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ use starknet_api::transaction::TransactionHash;
1111
use starknet_mempool_infra::component_runner::{ComponentStartError, ComponentStarter};
1212
use starknet_mempool_types::communication::SharedMempoolClient;
1313
use starknet_mempool_types::mempool_types::{Account, MempoolInput};
14+
use starknet_state_reader::state_reader::StateReaderFactory;
1415
use tracing::{info, instrument};
1516

1617
use crate::compilation::GatewayCompiler;
1718
use crate::config::{GatewayConfig, GatewayNetworkConfig, RpcStateReaderConfig};
1819
use crate::errors::{GatewayError, GatewayResult, GatewayRunError};
1920
use crate::rpc_state_reader::RpcStateReaderFactory;
20-
use crate::state_reader::StateReaderFactory;
2121
use crate::stateful_transaction_validator::StatefulTransactionValidator;
2222
use crate::stateless_transaction_validator::StatelessTransactionValidator;
2323
use crate::utils::{external_tx_to_thin_tx, get_sender_address};

crates/gateway/src/gateway_test.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@ use starknet_api::rpc_transaction::RPCTransaction;
1313
use starknet_api::transaction::TransactionHash;
1414
use starknet_mempool_types::communication::MockMempoolClient;
1515
use starknet_mempool_types::mempool_types::{Account, AccountState, MempoolInput, ThinTransaction};
16+
use starknet_state_reader::state_reader_test_utils::{
17+
local_test_state_reader_factory, TestStateReaderFactory,
18+
};
1619

1720
use crate::compilation::GatewayCompiler;
1821
use crate::config::{
1922
GatewayCompilerConfig, StatefulTransactionValidatorConfig, StatelessTransactionValidatorConfig,
2023
};
2124
use crate::gateway::{add_tx, AppState, SharedMempoolClient};
22-
use crate::state_reader_test_utils::{local_test_state_reader_factory, TestStateReaderFactory};
2325
use crate::stateful_transaction_validator::StatefulTransactionValidator;
2426
use crate::stateless_transaction_validator::StatelessTransactionValidator;
2527
use crate::utils::{external_tx_to_account_tx, get_tx_hash};

crates/gateway/src/lib.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ mod rpc_objects;
88
mod rpc_state_reader;
99
#[cfg(test)]
1010
mod rpc_state_reader_test;
11-
mod state_reader;
12-
#[cfg(test)]
13-
mod state_reader_test_utils;
11+
1412
mod stateful_transaction_validator;
1513
mod stateless_transaction_validator;
1614
#[cfg(test)]

crates/gateway/src/rpc_state_reader.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use serde_json::{json, Value};
99
use starknet_api::block::BlockNumber;
1010
use starknet_api::core::{ClassHash, CompiledClassHash, ContractAddress, Nonce};
1111
use starknet_api::state::StorageKey;
12+
use starknet_state_reader::state_reader::{MempoolStateReader, StateReaderFactory};
1213
use starknet_types_core::felt::Felt;
1314

1415
use crate::config::RpcStateReaderConfig;
@@ -18,7 +19,6 @@ use crate::rpc_objects::{
1819
GetCompiledContractClassParams, GetNonceParams, GetStorageAtParams, RpcResponse,
1920
RPC_CLASS_HASH_NOT_FOUND, RPC_ERROR_BLOCK_NOT_FOUND, RPC_ERROR_CONTRACT_ADDRESS_NOT_FOUND,
2021
};
21-
use crate::state_reader::{MempoolStateReader, StateReaderFactory};
2222

2323
pub struct RpcStateReader {
2424
pub config: RpcStateReaderConfig,

crates/gateway/src/rpc_state_reader_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use serde_json::json;
77
use starknet_api::block::{BlockNumber, GasPrice};
88
use starknet_api::core::{ClassHash, ContractAddress, Nonce, PatriciaKey};
99
use starknet_api::{class_hash, contract_address, felt, patricia_key};
10+
use starknet_state_reader::state_reader::MempoolStateReader;
1011

1112
use crate::config::RpcStateReaderConfig;
1213
use crate::rpc_objects::{
@@ -15,7 +16,6 @@ use crate::rpc_objects::{
1516
RpcSuccessResponse,
1617
};
1718
use crate::rpc_state_reader::RpcStateReader;
18-
use crate::state_reader::MempoolStateReader;
1919

2020
async fn run_rpc_server() -> mockito::ServerGuard {
2121
mockito::Server::new_async().await

crates/gateway/src/stateful_transaction_validator.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ use blockifier::versioned_constants::VersionedConstants;
88
use starknet_api::core::Nonce;
99
use starknet_api::rpc_transaction::{RPCInvokeTransaction, RPCTransaction};
1010
use starknet_api::transaction::TransactionHash;
11+
use starknet_state_reader::state_reader::{MempoolStateReader, StateReaderFactory};
1112
use starknet_types_core::felt::Felt;
1213

1314
use crate::config::StatefulTransactionValidatorConfig;
1415
use crate::errors::{StatefulTransactionValidatorError, StatefulTransactionValidatorResult};
15-
use crate::state_reader::{MempoolStateReader, StateReaderFactory};
1616
use crate::utils::{external_tx_to_account_tx, get_sender_address, get_tx_hash};
1717

1818
#[cfg(test)]

crates/gateway/src/stateful_transaction_validator_test.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ use starknet_api::core::{ContractAddress, Nonce};
1616
use starknet_api::felt;
1717
use starknet_api::rpc_transaction::RPCTransaction;
1818
use starknet_api::transaction::TransactionHash;
19+
use starknet_state_reader::state_reader_test_utils::{
20+
local_test_state_reader_factory, local_test_state_reader_factory_for_deploy_account,
21+
TestStateReader, TestStateReaderFactory,
22+
};
1923
use starknet_types_core::felt::Felt;
2024

2125
use crate::compilation::GatewayCompiler;
2226
use crate::config::{GatewayCompilerConfig, StatefulTransactionValidatorConfig};
2327
use crate::errors::{StatefulTransactionValidatorError, StatefulTransactionValidatorResult};
24-
use crate::state_reader_test_utils::{
25-
local_test_state_reader_factory, local_test_state_reader_factory_for_deploy_account,
26-
TestStateReader, TestStateReaderFactory,
27-
};
2828
use crate::stateful_transaction_validator::StatefulTransactionValidator;
2929

3030
#[fixture]

crates/state_reader/Cargo.toml

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
[package]
2-
name = "state_reader"
2+
name = "starknet_state_reader"
33
version.workspace = true
44
edition.workspace = true
55
repository.workspace = true
66
license.workspace = true
77

8-
[dependencies]
9-
108
[lints]
119
workspace = true
10+
11+
[features]
12+
testing = []
13+
14+
[dependencies]
15+
blockifier = { workspace = true, features = ["testing"] }
16+
mempool_test_utils = { path = "../mempool_test_utils", version = "0.0" }
17+
starknet-types-core.workspace = true
18+
starknet_api.workspace = true

crates/state_reader/src/lib.rs

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1+
pub mod state_reader;
12

3+
#[cfg(any(feature = "testing", test))]
4+
pub mod state_reader_test_utils;
File renamed without changes.

0 commit comments

Comments
 (0)