feature: create device_info field for MinerData.
This commit is contained in:
@@ -25,6 +25,7 @@ from pyasic.config import MinerConfig
|
||||
from pyasic.config.mining import MiningModePowerTune
|
||||
|
||||
from .boards import HashBoard
|
||||
from .device import DeviceInfo
|
||||
from .error_codes import BraiinsOSError, InnosiliconError, WhatsminerError, X19Error
|
||||
from .fans import Fan
|
||||
|
||||
@@ -71,9 +72,8 @@ class MinerData:
|
||||
datetime: str = field(init=False)
|
||||
timestamp: int = field(init=False)
|
||||
uptime: int = None
|
||||
device_info: DeviceInfo = None
|
||||
mac: str = None
|
||||
model: str = None
|
||||
make: str = None
|
||||
api_ver: str = None
|
||||
fw_ver: str = None
|
||||
hostname: str = None
|
||||
|
||||
11
pyasic/data/device.py
Normal file
11
pyasic/data/device.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from pyasic.device.firmware import MinerFirmware
|
||||
from pyasic.device.makes import MinerMake
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeviceInfo:
|
||||
make: MinerMake = None
|
||||
model: str = None
|
||||
firmware: MinerFirmware = None
|
||||
0
pyasic/device/__init__.py
Normal file
0
pyasic/device/__init__.py
Normal file
27
pyasic/device/firmware.py
Normal file
27
pyasic/device/firmware.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright 2022 Upstream Data Inc -
|
||||
# -
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||
# you may not use this file except in compliance with the License. -
|
||||
# You may obtain a copy of the License at -
|
||||
# -
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||
# -
|
||||
# Unless required by applicable law or agreed to in writing, software -
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class MinerFirmware(StrEnum):
|
||||
STOCK = "Stock"
|
||||
BRAIINS_OS = "BOS+"
|
||||
VNISH = "VNish"
|
||||
EPIC = "ePIC"
|
||||
HIVEON = "Hive"
|
||||
LUXOS = "LuxOS"
|
||||
MARATHON = "MaraFW"
|
||||
27
pyasic/device/makes.py
Normal file
27
pyasic/device/makes.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright 2022 Upstream Data Inc -
|
||||
# -
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||
# you may not use this file except in compliance with the License. -
|
||||
# You may obtain a copy of the License at -
|
||||
# -
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||
# -
|
||||
# Unless required by applicable law or agreed to in writing, software -
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class MinerMake(StrEnum):
|
||||
WHATSMINER = "WhatsMiner"
|
||||
ANTMINER = "AntMiner"
|
||||
AVALONMINER = "AvalonMiner"
|
||||
INNOSILICON = "Innosilicon"
|
||||
GOLDSHELL = "Goldshell"
|
||||
AURADINE = "Auradine"
|
||||
EPIC = "ePIC"
|
||||
@@ -30,6 +30,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.antminer import AntminerRPCAPI
|
||||
from pyasic.ssh.antminer import AntminerModernSSH
|
||||
from pyasic.web.antminer import AntminerModernWebAPI, AntminerOldWebAPI
|
||||
|
||||
@@ -28,6 +28,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.gcminer import GCMinerRPCAPI
|
||||
from pyasic.web.auradine import AuradineWebAPI
|
||||
|
||||
@@ -113,7 +114,7 @@ class AuradineLEDCodes(Enum):
|
||||
return self.value
|
||||
|
||||
|
||||
class Auradine(BaseMiner):
|
||||
class Auradine(StockFirmware):
|
||||
"""Base handler for Auradine miners"""
|
||||
|
||||
_rpc_cls = GCMinerRPCAPI
|
||||
|
||||
@@ -21,6 +21,7 @@ from pyasic.data import Fan, HashBoard
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.backends.cgminer import CGMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
|
||||
AVALON_DATA_LOC = DataLocations(
|
||||
**{
|
||||
|
||||
@@ -21,6 +21,7 @@ from pyasic.data import Fan, HashBoard
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.bfgminer import BFGMinerRPCAPI
|
||||
|
||||
BFGMINER_DATA_LOC = DataLocations(
|
||||
@@ -53,7 +54,7 @@ BFGMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class BFGMiner(BaseMiner):
|
||||
class BFGMiner(StockFirmware):
|
||||
"""Base handler for BFGMiner based miners."""
|
||||
|
||||
_rpc_cls = BFGMinerRPCAPI
|
||||
|
||||
@@ -21,6 +21,7 @@ from pyasic.data import Fan, HashBoard
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.bmminer import BMMinerRPCAPI
|
||||
|
||||
BMMINER_DATA_LOC = DataLocations(
|
||||
@@ -57,7 +58,7 @@ BMMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class BMMiner(BaseMiner):
|
||||
class BMMiner(StockFirmware):
|
||||
"""Base handler for BMMiner based miners."""
|
||||
|
||||
_rpc_cls = BMMinerRPCAPI
|
||||
|
||||
@@ -32,6 +32,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import BraiinsOSFirmware
|
||||
from pyasic.rpc.bosminer import BOSMinerRPCAPI
|
||||
from pyasic.ssh.braiins_os import BOSMinerSSH
|
||||
from pyasic.web.braiins_os import BOSerWebAPI, BOSMinerWebAPI
|
||||
@@ -95,7 +96,7 @@ BOSMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class BOSMiner(BaseMiner):
|
||||
class BOSMiner(BraiinsOSFirmware):
|
||||
"""Handler for old versions of BraiinsOS+ (pre-gRPC)"""
|
||||
|
||||
_rpc_cls = BOSMinerRPCAPI
|
||||
@@ -105,8 +106,6 @@ class BOSMiner(BaseMiner):
|
||||
_ssh_cls = BOSMinerSSH
|
||||
ssh: BOSMinerSSH
|
||||
|
||||
firmware = "BOS+"
|
||||
|
||||
data_locations = BOSMINER_DATA_LOC
|
||||
|
||||
supports_shutdown = True
|
||||
@@ -634,7 +633,7 @@ BOSER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class BOSer(BaseMiner):
|
||||
class BOSer(BraiinsOSFirmware):
|
||||
"""Handler for new versions of BraiinsOS+ (post-gRPC)"""
|
||||
|
||||
_rpc_cls = BOSMinerRPCAPI
|
||||
@@ -642,8 +641,6 @@ class BOSer(BaseMiner):
|
||||
_web_cls = BOSerWebAPI
|
||||
web: BOSerWebAPI
|
||||
|
||||
firmware = "BOS+"
|
||||
|
||||
data_locations = BOSER_DATA_LOC
|
||||
|
||||
supports_autotuning = True
|
||||
|
||||
@@ -23,6 +23,7 @@ from pyasic.data.error_codes import MinerErrorData, WhatsminerError
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.btminer import BTMinerRPCAPI
|
||||
|
||||
BTMINER_DATA_LOC = DataLocations(
|
||||
@@ -110,7 +111,7 @@ BTMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class BTMiner(BaseMiner):
|
||||
class BTMiner(StockFirmware):
|
||||
"""Base handler for BTMiner based miners."""
|
||||
|
||||
_rpc_cls = BTMinerRPCAPI
|
||||
|
||||
@@ -20,6 +20,7 @@ from pyasic.config import MinerConfig
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.rpc.cgminer import CGMinerRPCAPI
|
||||
|
||||
CGMINER_DATA_LOC = DataLocations(
|
||||
@@ -56,7 +57,7 @@ CGMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class CGMiner(BaseMiner):
|
||||
class CGMiner(StockFirmware):
|
||||
"""Base handler for CGMiner based miners"""
|
||||
|
||||
_rpc_cls = CGMinerRPCAPI
|
||||
|
||||
@@ -23,6 +23,7 @@ from pyasic.errors import APIError
|
||||
from pyasic.logger import logger
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, WebAPICommand
|
||||
from pyasic.miners.device.firmware import ePICFirmware
|
||||
from pyasic.web.epic import ePICWebAPI
|
||||
|
||||
EPIC_DATA_LOC = DataLocations(
|
||||
@@ -82,14 +83,12 @@ EPIC_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class ePIC(BaseMiner):
|
||||
class ePIC(ePICFirmware):
|
||||
"""Handler for miners with the ePIC board"""
|
||||
|
||||
_web_cls = ePICWebAPI
|
||||
web: ePICWebAPI
|
||||
|
||||
firmware = "ePIC"
|
||||
|
||||
data_locations = EPIC_DATA_LOC
|
||||
|
||||
supports_shutdown = True
|
||||
|
||||
@@ -27,6 +27,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.web.goldshell import GoldshellWebAPI
|
||||
|
||||
GOLDSHELL_DATA_LOC = DataLocations(
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.backends import BMMiner
|
||||
from pyasic.miners.device.firmware import HiveonFirmware
|
||||
|
||||
|
||||
class Hiveon(BMMiner):
|
||||
firmware = "Hive"
|
||||
class Hiveon(BMMiner, HiveonFirmware):
|
||||
pass
|
||||
|
||||
@@ -28,6 +28,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import StockFirmware
|
||||
from pyasic.web.innosilicon import InnosiliconWebAPI
|
||||
|
||||
INNOSILICON_DATA_LOC = DataLocations(
|
||||
|
||||
@@ -20,6 +20,7 @@ from pyasic.data import Fan, HashBoard
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
||||
from pyasic.miners.device.firmware import LuxOSFirmware
|
||||
from pyasic.rpc.luxminer import LUXMinerRPCAPI
|
||||
|
||||
LUXMINER_DATA_LOC = DataLocations(
|
||||
@@ -55,14 +56,12 @@ LUXMINER_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class LUXMiner(BaseMiner):
|
||||
class LUXMiner(LuxOSFirmware):
|
||||
"""Handler for LuxOS miners"""
|
||||
|
||||
_rpc_cls = LUXMinerRPCAPI
|
||||
rpc: LUXMinerRPCAPI
|
||||
|
||||
firmware = "LuxOS"
|
||||
|
||||
data_locations = LUXMINER_DATA_LOC
|
||||
|
||||
async def _get_session(self) -> Optional[str]:
|
||||
|
||||
@@ -6,6 +6,7 @@ from pyasic.data import Fan, HashBoard
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.miners.base import BaseMiner
|
||||
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, WebAPICommand
|
||||
from pyasic.miners.device.firmware import MaraFirmware, StockFirmware
|
||||
from pyasic.misc import merge_dicts
|
||||
from pyasic.web.marathon import MaraWebAPI
|
||||
|
||||
@@ -63,14 +64,12 @@ MARA_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class MaraMiner(BaseMiner):
|
||||
class MaraMiner(MaraFirmware):
|
||||
_web_cls = MaraWebAPI
|
||||
web: MaraWebAPI
|
||||
|
||||
data_locations = MARA_DATA_LOC
|
||||
|
||||
firmware = "MaraFW"
|
||||
|
||||
async def fault_light_off(self) -> bool:
|
||||
res = await self.web.set_locate_miner(blinking=False)
|
||||
return res.get("blinking") is False
|
||||
|
||||
@@ -26,6 +26,7 @@ from pyasic.miners.data import (
|
||||
RPCAPICommand,
|
||||
WebAPICommand,
|
||||
)
|
||||
from pyasic.miners.device.firmware import VNishFirmware
|
||||
from pyasic.web.vnish import VNishWebAPI
|
||||
|
||||
VNISH_DATA_LOC = DataLocations(
|
||||
@@ -82,7 +83,7 @@ VNISH_DATA_LOC = DataLocations(
|
||||
)
|
||||
|
||||
|
||||
class VNish(BMMiner):
|
||||
class VNish(BMMiner, VNishFirmware):
|
||||
"""Handler for VNish miners"""
|
||||
|
||||
_web_cls = VNishWebAPI
|
||||
@@ -90,8 +91,6 @@ class VNish(BMMiner):
|
||||
|
||||
supports_shutdown = True
|
||||
|
||||
firmware = "VNish"
|
||||
|
||||
data_locations = VNISH_DATA_LOC
|
||||
|
||||
async def restart_backend(self) -> bool:
|
||||
|
||||
@@ -20,7 +20,10 @@ from typing import List, Optional, Protocol, Tuple, Type, TypeVar, Union
|
||||
|
||||
from pyasic.config import MinerConfig
|
||||
from pyasic.data import Fan, HashBoard, MinerData
|
||||
from pyasic.data.device import DeviceInfo
|
||||
from pyasic.data.error_codes import MinerErrorData
|
||||
from pyasic.device.firmware import MinerFirmware
|
||||
from pyasic.device.makes import MinerMake
|
||||
from pyasic.errors import APIError
|
||||
from pyasic.logger import logger
|
||||
from pyasic.miners.data import DataLocations, DataOptions, RPCAPICommand, WebAPICommand
|
||||
@@ -36,9 +39,9 @@ class MinerProtocol(Protocol):
|
||||
web: _web_cls = None
|
||||
ssh: _ssh_cls = None
|
||||
|
||||
make: str = None
|
||||
make: MinerMake = None
|
||||
raw_model: str = None
|
||||
firmware: str = None
|
||||
firmware: MinerFirmware = None
|
||||
|
||||
expected_hashboards: int = 3
|
||||
expected_chips: int = None
|
||||
@@ -79,6 +82,10 @@ class MinerProtocol(Protocol):
|
||||
model_data.append(f"({self.firmware})")
|
||||
return " ".join(model_data)
|
||||
|
||||
@property
|
||||
def device_info(self) -> DeviceInfo:
|
||||
return DeviceInfo(make=self.make, model=self.raw_model, firmware=self.firmware)
|
||||
|
||||
@property
|
||||
def api(self):
|
||||
return self.rpc
|
||||
@@ -183,6 +190,14 @@ class MinerProtocol(Protocol):
|
||||
"""
|
||||
return self.model
|
||||
|
||||
async def get_device_info(self) -> Optional[DeviceInfo]:
|
||||
"""Get device information, including model, make, and firmware.
|
||||
|
||||
Returns:
|
||||
A dataclass containing device information.
|
||||
"""
|
||||
return self.device_info
|
||||
|
||||
async def get_api_ver(self) -> Optional[str]:
|
||||
"""Get the API version of the miner and is as a string.
|
||||
|
||||
@@ -465,8 +480,7 @@ class MinerProtocol(Protocol):
|
||||
"""
|
||||
data = MinerData(
|
||||
ip=str(self.ip),
|
||||
make=self.make,
|
||||
model=self.model,
|
||||
device_info=self.device_info,
|
||||
expected_chips=(
|
||||
self.expected_chips * self.expected_hashboards
|
||||
if self.expected_chips is not None
|
||||
|
||||
0
pyasic/miners/device/__init__.py
Normal file
0
pyasic/miners/device/__init__.py
Normal file
46
pyasic/miners/device/firmware.py
Normal file
46
pyasic/miners/device/firmware.py
Normal file
@@ -0,0 +1,46 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright 2022 Upstream Data Inc -
|
||||
# -
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); -
|
||||
# you may not use this file except in compliance with the License. -
|
||||
# You may obtain a copy of the License at -
|
||||
# -
|
||||
# http://www.apache.org/licenses/LICENSE-2.0 -
|
||||
# -
|
||||
# Unless required by applicable law or agreed to in writing, software -
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, -
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.device.firmware import MinerFirmware
|
||||
from pyasic.miners.base import BaseMiner
|
||||
|
||||
|
||||
class StockFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.STOCK
|
||||
|
||||
|
||||
class BraiinsOSFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.BRAIINS_OS
|
||||
|
||||
|
||||
class VNishFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.VNISH
|
||||
|
||||
|
||||
class ePICFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.EPIC
|
||||
|
||||
|
||||
class HiveonFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.HIVEON
|
||||
|
||||
|
||||
class LuxOSFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.LUXOS
|
||||
|
||||
|
||||
class MaraFirmware(BaseMiner):
|
||||
firmware = MinerFirmware.MARATHON
|
||||
@@ -14,32 +14,33 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.device.makes import MinerMake
|
||||
from pyasic.miners.base import BaseMiner
|
||||
|
||||
|
||||
class WhatsMinerMake(BaseMiner):
|
||||
make = "WhatsMiner"
|
||||
make = MinerMake.WHATSMINER
|
||||
|
||||
|
||||
class AntMinerMake(BaseMiner):
|
||||
make = "AntMiner"
|
||||
make = MinerMake.ANTMINER
|
||||
|
||||
|
||||
class AvalonMinerMake(BaseMiner):
|
||||
make = "AvalonMiner"
|
||||
make = MinerMake.AVALONMINER
|
||||
|
||||
|
||||
class InnosiliconMake(BaseMiner):
|
||||
make = "Innosilicon"
|
||||
make = MinerMake.INNOSILICON
|
||||
|
||||
|
||||
class GoldshellMake(BaseMiner):
|
||||
make = "Goldshell"
|
||||
make = MinerMake.GOLDSHELL
|
||||
|
||||
|
||||
class AuradineMake(BaseMiner):
|
||||
make = "Auradine"
|
||||
make = MinerMake.AURADINE
|
||||
|
||||
|
||||
class ePICMake(BaseMiner):
|
||||
make = "ePIC"
|
||||
make = MinerMake.EPIC
|
||||
@@ -34,9 +34,9 @@ from pyasic.miners.backends import *
|
||||
from pyasic.miners.backends.unknown import UnknownMiner
|
||||
from pyasic.miners.base import AnyMiner
|
||||
from pyasic.miners.blockminer import *
|
||||
from pyasic.miners.device.makes import *
|
||||
from pyasic.miners.goldshell import *
|
||||
from pyasic.miners.innosilicon import *
|
||||
from pyasic.miners.makes import *
|
||||
from pyasic.miners.whatsminer import *
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class Z15(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class S17(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class T17(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class S19(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class T19(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class S21(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class T21(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class D3(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class HS3(AntMinerMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class L3Plus(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class DR5(AntMinerMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class L7(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class E9Pro(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class S9(AntMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AntMinerMake
|
||||
from pyasic.miners.device.makes import AntMinerMake
|
||||
|
||||
|
||||
class T9(AntMinerMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAD2500(AuradineMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAD3500(AuradineMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAI2500(AuradineMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAI3680(AuradineMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAT1500(AuradineMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import AuradineMake
|
||||
from pyasic.miners.device.makes import AuradineMake
|
||||
|
||||
|
||||
class AuradineAT2860(AuradineMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon1026(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon1047(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon1066(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon1166Pro(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon1246(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon721(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon741(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon761(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon821(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon841(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon851(AvalonMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import AvalonMinerMake
|
||||
from pyasic.miners.device.makes import AvalonMinerMake
|
||||
|
||||
|
||||
class Avalon921(AvalonMinerMake):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pyasic.miners.makes import ePICMake
|
||||
from pyasic.miners.device.makes import ePICMake
|
||||
|
||||
|
||||
class BlockMiner520i(ePICMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import GoldshellMake
|
||||
from pyasic.miners.device.makes import GoldshellMake
|
||||
|
||||
|
||||
class CK5(GoldshellMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import GoldshellMake
|
||||
from pyasic.miners.device.makes import GoldshellMake
|
||||
|
||||
|
||||
class HS5(GoldshellMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import GoldshellMake
|
||||
from pyasic.miners.device.makes import GoldshellMake
|
||||
|
||||
|
||||
class KD5(GoldshellMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import GoldshellMake
|
||||
from pyasic.miners.device.makes import GoldshellMake
|
||||
|
||||
|
||||
class KDBoxII(GoldshellMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import GoldshellMake
|
||||
from pyasic.miners.device.makes import GoldshellMake
|
||||
|
||||
|
||||
class KDMax(GoldshellMake):
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# See the License for the specific language governing permissions and -
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
from pyasic.miners.makes import InnosiliconMake
|
||||
from pyasic.miners.device.makes import InnosiliconMake
|
||||
|
||||
|
||||
class A10X(InnosiliconMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import InnosiliconMake
|
||||
from pyasic.miners.device.makes import InnosiliconMake
|
||||
|
||||
|
||||
class T3HPlus(InnosiliconMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M20V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M20PV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M20SV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M20SPlusV30(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M21V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M21SV20(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M21SPlusV20(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M29V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30KV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30LV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30SV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30SPlusV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M30SPlusPlusV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31HV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31LV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31SV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31SEV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M31SPlusV10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M32V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M32S(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M33V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M33SVG30(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M33SPlusVG20(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M33SPlusPlusVH20(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M34SPlusVE10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M36SVE10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M36SPlusVG30(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M36SPlusPlusVH30(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M39V10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M50VE30(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M50SVJ10(WhatsMinerMake):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License. -
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
from pyasic.miners.makes import WhatsMinerMake
|
||||
from pyasic.miners.device.makes import WhatsMinerMake
|
||||
|
||||
|
||||
class M50SPlusVH30(WhatsMinerMake):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user