Skip to content

Commit 6cdbf1a

Browse files
apollo_gateway: add large storage writer
1 parent c422d30 commit 6cdbf1a

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

crates/apollo_gateway/src/gateway.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ use crate::stateless_transaction_validator::{
5555
StatelessTransactionValidatorTrait,
5656
};
5757
use crate::sync_state_reader::SyncStateReaderFactory;
58+
use crate::large_storage_writer::{LargeStorageWriter, LargeStorageWriterTrait};
5859

5960
#[cfg(test)]
6061
#[path = "gateway_test.rs"]
@@ -68,6 +69,7 @@ pub struct Gateway {
6869
pub mempool_client: SharedMempoolClient,
6970
pub transaction_converter: Arc<dyn TransactionConverterTrait>,
7071
pub proof_manager_client: SharedProofManagerClient,
72+
pub large_storage_writer: Arc<dyn LargeStorageWriterTrait>,
7173
}
7274

7375
impl Gateway {
@@ -78,6 +80,7 @@ impl Gateway {
7880
transaction_converter: Arc<dyn TransactionConverterTrait>,
7981
stateless_tx_validator: Arc<dyn StatelessTransactionValidatorTrait>,
8082
proof_manager_client: SharedProofManagerClient,
83+
large_storage_writer: Arc<dyn LargeStorageWriterTrait>,
8184
) -> Self {
8285
Self {
8386
config: Arc::new(config.clone()),
@@ -93,6 +96,7 @@ impl Gateway {
9396
mempool_client,
9497
transaction_converter,
9598
proof_manager_client,
99+
large_storage_writer,
96100
}
97101
}
98102

@@ -258,14 +262,15 @@ pub fn create_gateway(
258262
let stateless_tx_validator = Arc::new(StatelessTransactionValidator {
259263
config: config.stateless_tx_validator_config.clone(),
260264
});
261-
265+
let large_storage_writer = Arc::new(LargeStorageWriter::new());
262266
Gateway::new(
263267
config,
264268
state_reader_factory,
265269
mempool_client,
266270
transaction_converter,
267271
stateless_tx_validator,
268272
proof_manager_client,
273+
large_storage_writer,
269274
)
270275
}
271276

crates/apollo_gateway/src/gateway_test.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ use crate::stateful_transaction_validator::{
101101
MockStatefulTransactionValidatorTrait,
102102
};
103103
use crate::stateless_transaction_validator::MockStatelessTransactionValidatorTrait;
104+
use crate::large_storage_writer::MockLargeStorageWriterTrait;
104105

105106
#[fixture]
106107
fn mock_stateful_transaction_validator() -> MockStatefulTransactionValidatorTrait {
@@ -135,13 +136,15 @@ fn mock_dependencies() -> MockDependencies {
135136
let mock_transaction_converter = MockTransactionConverterTrait::new();
136137
let mock_stateless_transaction_validator = mock_stateless_transaction_validator();
137138
let mock_proof_manager_client = MockProofManagerClient::new();
139+
let mock_large_storage_writer = MockLargeStorageWriterTrait::new();
138140
MockDependencies {
139141
config,
140142
state_reader_factory,
141143
mock_mempool_client,
142144
mock_transaction_converter,
143145
mock_stateless_transaction_validator,
144146
mock_proof_manager_client,
147+
mock_large_storage_writer,
145148
}
146149
}
147150

@@ -152,6 +155,7 @@ struct MockDependencies {
152155
mock_transaction_converter: MockTransactionConverterTrait,
153156
mock_stateless_transaction_validator: MockStatelessTransactionValidatorTrait,
154157
mock_proof_manager_client: MockProofManagerClient,
158+
mock_large_storage_writer: MockLargeStorageWriterTrait,
155159
}
156160

157161
impl MockDependencies {
@@ -164,6 +168,7 @@ impl MockDependencies {
164168
Arc::new(self.mock_transaction_converter),
165169
Arc::new(self.mock_stateless_transaction_validator),
166170
Arc::new(self.mock_proof_manager_client),
171+
Arc::new(self.mock_large_storage_writer),
167172
)
168173
}
169174

@@ -601,6 +606,7 @@ async fn add_tx_returns_error_when_extract_state_nonce_and_run_validations_fails
601606
mempool_client: Arc::new(mock_dependencies.mock_mempool_client),
602607
transaction_converter: Arc::new(mock_dependencies.mock_transaction_converter),
603608
proof_manager_client: Arc::new(mock_dependencies.mock_proof_manager_client),
609+
large_storage_writer: Arc::new(mock_dependencies.mock_large_storage_writer),
604610
};
605611

606612
let result = gateway.add_tx(input_tx, None).await;
@@ -667,6 +673,7 @@ async fn add_tx_returns_error_when_instantiating_validator_fails(
667673
mempool_client: Arc::new(mock_dependencies.mock_mempool_client),
668674
transaction_converter: Arc::new(mock_dependencies.mock_transaction_converter),
669675
proof_manager_client: Arc::new(mock_dependencies.mock_proof_manager_client),
676+
large_storage_writer: Arc::new(mock_dependencies.mock_large_storage_writer),
670677
};
671678

672679
let result = gateway.add_tx(input_tx, None).await;

crates/apollo_gateway/src/test_utils.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use starknet_types_core::felt::Felt;
3333
use crate::gateway::Gateway;
3434
use crate::state_reader_test_utils::local_test_state_reader_factory;
3535
use crate::stateless_transaction_validator::StatelessTransactionValidator;
36+
use crate::large_storage_writer::MockLargeStorageWriterTrait;
3637

3738
pub const NON_EMPTY_RESOURCE_BOUNDS: ResourceBounds =
3839
ResourceBounds { max_amount: GasAmount(1), max_price_per_unit: GasPrice(1) };
@@ -165,6 +166,7 @@ pub fn gateway_for_benchmark(gateway_config: GatewayConfig) -> Gateway {
165166
let mut mempool_client = MockMempoolClient::new();
166167
let class_manager_client = Arc::new(MockClassManagerClient::new());
167168
let proof_manager_client = Arc::new(MockProofManagerClient::new());
169+
let large_storage_writer = Arc::new(MockLargeStorageWriterTrait::new());
168170
let transaction_converter = TransactionConverter::new(
169171
class_manager_client.clone(),
170172
gateway_config.chain_info.chain_id.clone(),
@@ -182,5 +184,6 @@ pub fn gateway_for_benchmark(gateway_config: GatewayConfig) -> Gateway {
182184
Arc::new(transaction_converter),
183185
stateless_tx_validator,
184186
proof_manager_client,
187+
large_storage_writer,
185188
)
186189
}

0 commit comments

Comments
 (0)