6 #ifndef IROHA_APPLICATION_HPP 7 #define IROHA_APPLICATION_HPP 28 class PendingTransactionStorage;
29 class PendingTransactionStorageInit;
33 class TxPresenceCache;
35 class ReconnectionStrategyFactory;
36 class PostgresOptions;
48 class GenericClientFactory;
52 class PeerCommunicationService;
53 class PeerTlsCertificatesProvider;
54 struct GrpcChannelParams;
55 struct TlsCredentials;
64 namespace synchronizer {
76 namespace validation {
78 class StatefulValidator;
87 class QueryResponseFactory;
88 class TransactionBatchFactory;
90 namespace validation {
115 std::unique_ptr<iroha::ametsuchi::PostgresOptions> pg_opt,
116 const std::string &listen_ip,
117 const boost::optional<shared_model::crypto::Keypair> &keypair,
121 std::shared_ptr<const iroha::network::GrpcChannelParams>
123 const boost::optional<iroha::GossipPropagationStrategyParams>
124 &opt_mst_gossip_params,
125 boost::optional<IrohadConfig::InterPeerTls> inter_peer_tls_config =
182 virtual RunResult initPendingTxsStorageWithCache();
196 virtual RunResult initPeerCommunicationService();
202 virtual RunResult initPendingTxsStorage();
204 virtual RunResult initTransactionCommandService();
210 virtual RunResult initValidatorsConfigs();
220 boost::optional<shared_model::crypto::Keypair>
keypair_;
223 boost::optional<iroha::GossipPropagationStrategyParams>
227 boost::optional<std::shared_ptr<const iroha::network::TlsCredentials>>
229 boost::optional<std::shared_ptr<const iroha::network::TlsCredentials>>
232 std::shared_ptr<const iroha::network::PeerTlsCertificatesProvider>>
235 std::unique_ptr<iroha::PendingTransactionStorageInit>
242 std::shared_ptr<shared_model::interface::QueryResponseFactory>
246 std::optional<std::unique_ptr<iroha::ametsuchi::VmCaller>>
vm_caller_;
249 std::unique_ptr<iroha::ametsuchi::PostgresOptions>
pg_opt_;
250 std::shared_ptr<iroha::ametsuchi::Storage>
storage;
257 std::unique_ptr<iroha::consensus::yac::YacInit>
yac_init;
263 std::shared_ptr<iroha::network::GenericClientFactory>
267 std::shared_ptr<const shared_model::validation::Settings>
settings_;
278 std::shared_ptr<shared_model::interface::TransactionBatchParser>
batch_parser;
281 std::shared_ptr<shared_model::validation::ValidatorsConfig>
283 std::shared_ptr<shared_model::validation::ValidatorsConfig>
285 std::shared_ptr<shared_model::validation::ValidatorsConfig>
291 std::shared_ptr<iroha::network::AsyncGrpcClient<google::protobuf::Empty>>
295 std::shared_ptr<shared_model::interface::TransactionBatchFactory>
313 iroha::protocol::BlocksQuery>>
322 iroha::protocol::Proposal>>
332 std::shared_ptr<iroha::consensus::ConsensusResultCache>
342 std::shared_ptr<iroha::network::PeerCommunicationService>
pcs;
353 std::shared_ptr<iroha::torii::CommandServiceTransportGrpc>
366 boost::optional<std::unique_ptr<iroha::network::ServerRunner>>
367 torii_tls_server = boost::none;
375 #endif // IROHA_APPLICATION_HPP std::shared_ptr< iroha::torii::StatusBus > status_bus_
Definition: application.hpp:345
StartupWsvSynchronizationPolicy
Definition: startup_params.hpp:21
std::shared_ptr< iroha::ametsuchi::PoolWrapper > pool_wrapper_
Definition: application.hpp:261
std::shared_ptr< shared_model::crypto::AbstractCryptoModelSigner< shared_model::interface::Block > > crypto_signer_
Definition: application.hpp:275
iroha::network::BlockLoaderInit loader_init
Definition: application.hpp:258
std::shared_ptr< iroha::torii::CommandServiceTransportGrpc > command_service_transport
Definition: application.hpp:354
Definition: on_demand_ordering_init.hpp:70
std::shared_ptr< iroha::PendingTransactionStorage > pending_txs_storage_
Definition: application.hpp:239
Definition: command_client.hpp:16
iroha::ordering::OnDemandOrderingInit ordering_init
Definition: application.hpp:256
std::shared_ptr< iroha::validation::StatefulValidator > stateful_validator
Definition: application.hpp:287
std::shared_ptr< iroha::network::AsyncGrpcClient< google::protobuf::Empty > > async_call_
Definition: application.hpp:292
std::shared_ptr< iroha::network::GenericClientFactory > inter_peer_client_factory_
Definition: application.hpp:264
Definition: block_loader_init.hpp:24
Definition: synchronizer.hpp:19
std::unique_ptr< iroha::ametsuchi::PostgresOptions > pg_opt_
Definition: application.hpp:249
Definition: blocks_query.hpp:20
std::shared_ptr< iroha::ametsuchi::Storage > storage
Definition: application.hpp:250
Definition: result_fwd.hpp:27
logger::LoggerManagerTreePtr log_manager_
application root log manager
Definition: application.hpp:370
Definition: proposal.hpp:17
std::shared_ptr< shared_model::interface::AbstractTransportFactory< shared_model::interface::Query, iroha::protocol::Query > > query_factory
Definition: application.hpp:308
std::shared_ptr< const iroha::network::GrpcChannelParams > grpc_channel_params_
Definition: application.hpp:222
boost::optional< std::shared_ptr< const iroha::network::TlsCredentials > > my_inter_peer_tls_creds_
Definition: application.hpp:228
std::shared_ptr< iroha::network::PeerCommunicationService > pcs
Definition: application.hpp:342
rxcpp::composite_subscription consensus_gate_events_subscription
Definition: application.hpp:363
std::shared_ptr< shared_model::interface::AbstractTransportFactory< shared_model::interface::Transaction, iroha::protocol::Transaction > > transaction_factory
Definition: application.hpp:302
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
std::shared_ptr< iroha::MstProcessor > mst_processor
Definition: application.hpp:349
std::shared_ptr< iroha::ametsuchi::WsvRestorer > wsv_restorer_
Definition: application.hpp:270
std::shared_ptr< shared_model::interface::TransactionBatchParser > batch_parser
Definition: application.hpp:278
std::shared_ptr< iroha::network::ConsensusGate > consensus_gate
Definition: application.hpp:360
iroha::StartupWsvSynchronizationPolicy startup_wsv_sync_policy_
Definition: application.hpp:221
boost::optional< std::shared_ptr< const iroha::network::TlsCredentials > > torii_tls_creds_
Definition: application.hpp:230
std::shared_ptr< shared_model::validation::ValidatorsConfig > validators_config_
Definition: application.hpp:282
std::shared_ptr< iroha::consensus::ConsensusResultCache > consensus_result_cache_
Definition: application.hpp:333
expected::Result< std::shared_ptr< iroha::ametsuchi::Storage >, std::string > initStorage(iroha::ametsuchi::PostgresOptions const &pg_opt, std::shared_ptr< iroha::ametsuchi::PoolWrapper > pool_wrapper, std::shared_ptr< iroha::PendingTransactionStorage > pending_txs_storage, std::shared_ptr< shared_model::interface::QueryResponseFactory > query_response_factory, boost::optional< std::string > block_storage_dir, std::optional< std::reference_wrapper< const iroha::ametsuchi::VmCaller >> vm_caller_ref, logger::LoggerManagerTreePtr log_manager)
std::shared_ptr< const shared_model::validation::Settings > settings_
Definition: application.hpp:267
std::unique_ptr< iroha::consensus::yac::YacInit > yac_init
Definition: application.hpp:257
std::shared_ptr< iroha::ametsuchi::TxPresenceCache > persistent_cache
Definition: application.hpp:317
Definition: block_query.hpp:15
StartupWsvDataPolicy
Definition: startup_params.hpp:13
Definition: iroha_conf_loader.hpp:20
std::shared_ptr< iroha::validation::ChainValidator > chain_validator
Definition: application.hpp:288
IrohadConfig config_
Definition: application.hpp:218
Definition: query_service.hpp:35
Definition: application.hpp:95
std::shared_ptr< LoggerManagerTree > LoggerManagerTreePtr
Definition: logger_manager_fwd.hpp:14
std::shared_ptr< iroha::network::OrderingGate > ordering_gate
Definition: application.hpp:326
boost::optional< shared_model::crypto::Keypair > keypair_
Definition: application.hpp:220
std::shared_ptr< shared_model::interface::AbstractTransportFactory< shared_model::interface::Proposal, iroha::protocol::Proposal > > proposal_factory
Definition: application.hpp:323
logger::LoggerPtr log_
log for local messages
Definition: application.hpp:372
std::shared_ptr< shared_model::validation::ValidatorsConfig > block_validators_config_
Definition: application.hpp:286
rxcpp::observable< shared_model::interface::types::HashType > finalized_txs_
Definition: application.hpp:253
std::shared_ptr< iroha::simulator::Simulator > simulator
Definition: application.hpp:329
boost::optional< iroha::GossipPropagationStrategyParams > opt_mst_gossip_params_
Definition: application.hpp:224
rxcpp::composite_subscription consensus_gate_objects_lifetime
Definition: application.hpp:361
rxcpp::subjects::subject< iroha::consensus::GateObject > consensus_gate_objects
Definition: application.hpp:362
std::shared_ptr< shared_model::interface::TransactionBatchFactory > transaction_batch_factory_
Definition: application.hpp:296
boost::optional< std::shared_ptr< const iroha::network::PeerTlsCertificatesProvider > > peer_tls_certificates_provider_
Definition: application.hpp:233
std::unique_ptr< iroha::network::ServerRunner > torii_server
Definition: application.hpp:365
Definition: status_bus.hpp:17
Definition: command_service.hpp:26
std::unique_ptr< iroha::network::ServerRunner > internal_server
Definition: application.hpp:368
std::shared_ptr< iroha::torii::CommandService > command_service
Definition: application.hpp:352
std::shared_ptr< shared_model::interface::AbstractTransportFactory< shared_model::interface::BlocksQuery, iroha::protocol::BlocksQuery > > blocks_query_factory
Definition: application.hpp:314
std::shared_ptr< iroha::synchronizer::Synchronizer > synchronizer
Definition: application.hpp:339
Definition: command_executor.hpp:12
const std::string listen_ip_
Definition: application.hpp:219
Definition: on_demand_ordering_init.hpp:33
std::shared_ptr< iroha::torii::QueryService > query_service
Definition: application.hpp:357
Definition: transaction.hpp:23
std::shared_ptr< shared_model::interface::QueryResponseFactory > query_response_factory_
Definition: application.hpp:243
Definition: tls_params.hpp:23
Definition: command_service_transport_grpc.hpp:34
std::shared_ptr< shared_model::validation::ValidatorsConfig > proposal_validators_config_
Definition: application.hpp:284
std::unique_ptr< iroha::PendingTransactionStorageInit > pending_txs_storage_init
Definition: application.hpp:236
std::optional< std::unique_ptr< iroha::ametsuchi::VmCaller > > vm_caller_
Definition: application.hpp:246
Definition: query_processor.hpp:31
boost::optional< IrohadConfig::InterPeerTls > inter_peer_tls_config_
Definition: application.hpp:225
std::shared_ptr< iroha::network::BlockLoader > block_loader
Definition: application.hpp:336
std::shared_ptr< iroha::network::MstTransport > mst_transport
Definition: application.hpp:348
Definition: abstract_crypto_model_signer.hpp:16