Files
chia-blockchain/chia/_tests/environments/full_node.py
Kyle AltendorfandGitHub 9c8557a1f8 Remove Python 3.8 support and update source to 3.9 standards (#18687)
* manual python 3.8 removals

* poetry

* pyupgrade

* black

* isort

* manually tidy imports

* work around shadowed type

* catch up build network protocol files for pyupgrade changes

* placate pylint

* re-enable 20.04

* placate flake8
2024-10-16 14:21:15 -07:00

48 lines
1.4 KiB
Python

from __future__ import annotations
from dataclasses import dataclass
from typing import TYPE_CHECKING, ClassVar, cast
from chia._tests.environments.common import ServiceEnvironment
from chia.full_node.full_node import FullNode
from chia.rpc.rpc_server import RpcServer
from chia.server.server import ChiaServer
from chia.server.start_service import Service
from chia.simulator.full_node_simulator import FullNodeSimulator
from chia.simulator.simulator_full_node_rpc_api import SimulatorFullNodeRpcApi
@dataclass
class FullNodeEnvironment:
if TYPE_CHECKING:
_protocol_check: ClassVar[ServiceEnvironment[FullNode, SimulatorFullNodeRpcApi, FullNodeSimulator]] = cast(
"FullNodeEnvironment",
None,
)
__match_args__: ClassVar[tuple[str, ...]] = ()
service: Service[FullNode, FullNodeSimulator, SimulatorFullNodeRpcApi]
@property
def node(self) -> FullNode:
return self.service._node
@property
def rpc_api(self) -> SimulatorFullNodeRpcApi:
assert self.service.rpc_server is not None
return self.service.rpc_server.rpc_api
@property
def rpc_server(self) -> RpcServer[SimulatorFullNodeRpcApi]:
assert self.service.rpc_server is not None
return self.service.rpc_server
@property
def peer_api(self) -> FullNodeSimulator:
return self.service._api
@property
def peer_server(self) -> ChiaServer:
return self.service._server