6 #ifndef KAGOME_ADDRESS_PUBLISHER_IMPL_HPP 7 #define KAGOME_ADDRESS_PUBLISHER_IMPL_HPP 17 #include <libp2p/crypto/key_marshaller.hpp> 18 #include <libp2p/host/host.hpp> 19 #include <libp2p/protocol/kademlia/kademlia.hpp> 28 :
public std::enable_shared_from_this<AddressPublisher> {
31 std::shared_ptr<runtime::AuthorityDiscoveryApi> authority_discovery_api,
33 std::shared_ptr<application::AppStateManager> app_state_manager,
34 std::shared_ptr<blockchain::BlockTree> block_tree,
35 std::shared_ptr<crypto::SessionKeys> keys,
36 const libp2p::crypto::KeyPair &libp2p_key,
37 const libp2p::crypto::marshaller::KeyMarshaller &key_marshaller,
38 std::shared_ptr<crypto::Ed25519Provider> ed_crypto_provider,
39 std::shared_ptr<crypto::Sr25519Provider> sr_crypto_provider,
41 std::shared_ptr<libp2p::protocol::kademlia::Kademlia> kademlia,
42 std::shared_ptr<libp2p::basic::Scheduler> scheduler);
53 std::shared_ptr<crypto::SessionKeys>
keys_;
59 std::shared_ptr<libp2p::protocol::kademlia::Kademlia>
kademlia_;
70 #endif // KAGOME_ADDRESS_PUBLISHER_IMPL_HPP std::optional< crypto::Ed25519Keypair > libp2p_key_
std::shared_ptr< blockchain::BlockTree > block_tree_
outcome::result< void > publishOwnAddress()
std::shared_ptr< crypto::Ed25519Provider > ed_crypto_provider_
std::shared_ptr< libp2p::basic::Scheduler > scheduler_
AddressPublisher(std::shared_ptr< runtime::AuthorityDiscoveryApi > authority_discovery_api, network::Roles roles, std::shared_ptr< application::AppStateManager > app_state_manager, std::shared_ptr< blockchain::BlockTree > block_tree, std::shared_ptr< crypto::SessionKeys > keys, const libp2p::crypto::KeyPair &libp2p_key, const libp2p::crypto::marshaller::KeyMarshaller &key_marshaller, std::shared_ptr< crypto::Ed25519Provider > ed_crypto_provider, std::shared_ptr< crypto::Sr25519Provider > sr_crypto_provider, libp2p::Host &host, std::shared_ptr< libp2p::protocol::kademlia::Kademlia > kademlia, std::shared_ptr< libp2p::basic::Scheduler > scheduler)
std::shared_ptr< crypto::SessionKeys > keys_
std::shared_ptr< soralog::Logger > Logger
std::shared_ptr< libp2p::protocol::kademlia::Kademlia > kademlia_
std::optional< libp2p::crypto::ProtobufKey > libp2p_key_pb_
std::shared_ptr< runtime::AuthorityDiscoveryApi > authority_discovery_api_
std::shared_ptr< crypto::Sr25519Provider > sr_crypto_provider_