Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion crates/apollo_gateway/src/gateway.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ use crate::errors::{
GatewayResult,
};
use crate::metrics::{register_metrics, GatewayMetricHandle, GATEWAY_ADD_TX_LATENCY};
use crate::proof_archive_writer::{GcsProofArchiveWriter, ProofArchiveWriterTrait};
use crate::state_reader::StateReaderFactory;
use crate::stateful_transaction_validator::{
StatefulTransactionValidatorFactory,
Expand All @@ -65,6 +66,7 @@ pub struct Gateway {
pub stateful_tx_validator_factory: Arc<dyn StatefulTransactionValidatorFactoryTrait>,
pub mempool_client: SharedMempoolClient,
pub transaction_converter: Arc<dyn TransactionConverterTrait>,
pub proof_archive_writer: Arc<dyn ProofArchiveWriterTrait>,
}

impl Gateway {
Expand All @@ -74,6 +76,7 @@ impl Gateway {
mempool_client: SharedMempoolClient,
transaction_converter: Arc<dyn TransactionConverterTrait>,
stateless_tx_validator: Arc<dyn StatelessTransactionValidatorTrait>,
proof_archive_writer: Arc<dyn ProofArchiveWriterTrait>,
) -> Self {
Self {
config: Arc::new(config.clone()),
Expand All @@ -88,6 +91,7 @@ impl Gateway {
}),
mempool_client,
transaction_converter,
proof_archive_writer,
}
}

Expand Down Expand Up @@ -242,13 +246,15 @@ pub fn create_gateway(
let stateless_tx_validator = Arc::new(StatelessTransactionValidator {
config: config.stateless_tx_validator_config.clone(),
});

let proof_archive_writer =
Arc::new(GcsProofArchiveWriter::new(config.proof_archive_writer_config.clone()));
Gateway::new(
config,
state_reader_factory,
mempool_client,
transaction_converter,
stateless_tx_validator,
proof_archive_writer,
)
}

Expand Down
7 changes: 7 additions & 0 deletions crates/apollo_gateway/src/gateway_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ use crate::metrics::{
LABEL_NAME_SOURCE,
LABEL_NAME_TX_TYPE,
};
use crate::proof_archive_writer::MockProofArchiveWriterTrait;
use crate::state_reader_test_utils::{local_test_state_reader_factory, TestStateReaderFactory};
use crate::stateful_transaction_validator::{
MockStatefulTransactionValidatorFactoryTrait,
Expand Down Expand Up @@ -134,12 +135,14 @@ fn mock_dependencies() -> MockDependencies {
let mock_mempool_client = MockMempoolClient::new();
let mock_transaction_converter = MockTransactionConverterTrait::new();
let mock_stateless_transaction_validator = mock_stateless_transaction_validator();
let mock_proof_archive_writer = MockProofArchiveWriterTrait::new();
MockDependencies {
config,
state_reader_factory,
mock_mempool_client,
mock_transaction_converter,
mock_stateless_transaction_validator,
mock_proof_archive_writer,
}
}

Expand All @@ -149,6 +152,7 @@ struct MockDependencies {
mock_mempool_client: MockMempoolClient,
mock_transaction_converter: MockTransactionConverterTrait,
mock_stateless_transaction_validator: MockStatelessTransactionValidatorTrait,
mock_proof_archive_writer: MockProofArchiveWriterTrait,
}

impl MockDependencies {
Expand All @@ -160,6 +164,7 @@ impl MockDependencies {
Arc::new(self.mock_mempool_client),
Arc::new(self.mock_transaction_converter),
Arc::new(self.mock_stateless_transaction_validator),
Arc::new(self.mock_proof_archive_writer),
)
}

Expand Down Expand Up @@ -574,6 +579,7 @@ async fn add_tx_returns_error_when_extract_state_nonce_and_run_validations_fails
stateful_tx_validator_factory: Arc::new(mock_stateful_transaction_validator_factory),
mempool_client: Arc::new(mock_dependencies.mock_mempool_client),
transaction_converter: Arc::new(mock_dependencies.mock_transaction_converter),
proof_archive_writer: Arc::new(mock_dependencies.mock_proof_archive_writer),
};

let result = gateway.add_tx(tx_args.get_rpc_tx(), None).await;
Expand Down Expand Up @@ -626,6 +632,7 @@ async fn add_tx_returns_error_when_instantiating_validator_fails(
stateful_tx_validator_factory: Arc::new(mock_stateful_transaction_validator_factory),
mempool_client: Arc::new(mock_dependencies.mock_mempool_client),
transaction_converter: Arc::new(mock_dependencies.mock_transaction_converter),
proof_archive_writer: Arc::new(mock_dependencies.mock_proof_archive_writer),
};

let result = gateway.add_tx(tx_args.get_rpc_tx(), None).await;
Expand Down
3 changes: 3 additions & 0 deletions crates/apollo_gateway/src/test_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ use starknet_api::{declare_tx_args, deploy_account_tx_args, felt, invoke_tx_args
use starknet_types_core::felt::Felt;

use crate::gateway::Gateway;
use crate::proof_archive_writer::MockProofArchiveWriterTrait;
use crate::state_reader_test_utils::local_test_state_reader_factory;
use crate::stateless_transaction_validator::StatelessTransactionValidator;

Expand Down Expand Up @@ -165,6 +166,7 @@ pub fn gateway_for_benchmark(gateway_config: GatewayConfig) -> Gateway {
let mut mempool_client = MockMempoolClient::new();
let class_manager_client = Arc::new(MockClassManagerClient::new());
let proof_manager_client = Arc::new(MockProofManagerClient::new());
let proof_archive_writer = Arc::new(MockProofArchiveWriterTrait::new());
let transaction_converter = TransactionConverter::new(
class_manager_client.clone(),
proof_manager_client.clone(),
Expand All @@ -182,5 +184,6 @@ pub fn gateway_for_benchmark(gateway_config: GatewayConfig) -> Gateway {
Arc::new(mempool_client),
Arc::new(transaction_converter),
stateless_tx_validator,
proof_archive_writer,
)
}
Loading