|
12 | 12 |
|
13 | 13 | import structlog |
14 | 14 | from aiohttp import web |
15 | | -from hathorlib.client import HathorClient |
16 | 15 | from structlog import get_logger |
17 | 16 |
|
18 | | -from txstratum.api import App |
19 | | -from txstratum.filters import FileFilter, TOIFilter, TXFilter |
20 | | -from txstratum.healthcheck.healthcheck import HealthCheck |
21 | | -from txstratum.manager import TxMiningManager |
22 | | -from txstratum.pubsub import PubSubManager |
23 | | -from txstratum.toi_client import TOIAsyncClient |
24 | | - |
25 | 17 | logger = get_logger() |
26 | 18 |
|
27 | | - |
28 | 19 | DEFAULT_LOGGING_CONFIG_FILE = "log.conf" |
29 | 20 |
|
30 | 21 |
|
@@ -149,27 +140,31 @@ def create_parser() -> ArgumentParser: |
149 | 140 | class RunService: |
150 | 141 | """This is the main class of the service. It starts everything up.""" |
151 | 142 |
|
152 | | - manager: TxMiningManager |
153 | | - loop: AbstractEventLoop |
154 | | - tx_filters: List[TXFilter] |
155 | | - health_check: HealthCheck |
156 | | - |
157 | 143 | def __init__(self, args: Namespace) -> None: |
158 | 144 | """Initialize the service.""" |
| 145 | + from hathorlib.client import HathorClient |
| 146 | + from hathorlib.conf import HathorSettings |
| 147 | + |
| 148 | + from txstratum.healthcheck.healthcheck import HealthCheck |
| 149 | + from txstratum.manager import TxMiningManager |
| 150 | + from txstratum.pubsub import PubSubManager |
| 151 | + |
| 152 | + self.settings = HathorSettings() |
| 153 | + |
159 | 154 | self.args = args |
160 | 155 |
|
161 | 156 | self.configure_logging(args) |
162 | 157 |
|
163 | | - self.loop = asyncio.get_event_loop() |
| 158 | + self.loop: AbstractEventLoop = asyncio.get_event_loop() |
164 | 159 |
|
165 | | - self.pubsub = PubSubManager(self.loop) |
166 | | - self.backend = HathorClient(args.backend) |
167 | | - self.manager = TxMiningManager( |
| 160 | + self.pubsub: PubSubManager = PubSubManager(self.loop) |
| 161 | + self.backend: HathorClient = HathorClient(args.backend) |
| 162 | + self.manager: TxMiningManager = TxMiningManager( |
168 | 163 | backend=self.backend, |
169 | 164 | pubsub=self.pubsub, |
170 | 165 | address=args.address, |
171 | 166 | ) |
172 | | - self.health_check = HealthCheck(self.manager, self.backend) |
| 167 | + self.health_check: HealthCheck = HealthCheck(self.manager, self.backend) |
173 | 168 |
|
174 | 169 | def configure_logging(self, args: Namespace) -> None: |
175 | 170 | """Configure logging.""" |
@@ -209,6 +204,10 @@ def configure_logging(self, args: Namespace) -> None: |
209 | 204 |
|
210 | 205 | def execute(self) -> None: |
211 | 206 | """Run the service according to the args.""" |
| 207 | + from txstratum.api import App |
| 208 | + from txstratum.filters import FileFilter, TOIFilter, TXFilter |
| 209 | + from txstratum.toi_client import TOIAsyncClient |
| 210 | + |
212 | 211 | if self.args.block_template_update_interval: |
213 | 212 | self.manager.block_template_update_interval = ( |
214 | 213 | self.args.block_template_update_interval |
@@ -279,6 +278,7 @@ def execute(self) -> None: |
279 | 278 | min_wallet_desktop_version=self.args.min_wallet_desktop_version, |
280 | 279 | min_wallet_mobile_version=self.args.min_wallet_mobile_version, |
281 | 280 | min_wallet_headless_version=self.args.min_wallet_headless_version, |
| 281 | + network=self.settings.NETWORK_NAME, |
282 | 282 | ) |
283 | 283 |
|
284 | 284 | web_runner = web.AppRunner(api_app.app, logger=logger) |
|
0 commit comments