feature: add antminer new API.
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v4.3.0
|
rev: v4.5.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: trailing-whitespace
|
- id: trailing-whitespace
|
||||||
- id: check-yaml
|
- id: check-yaml
|
||||||
- id: check-added-large-files
|
- id: check-added-large-files
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: 22.6.0
|
rev: 24.3.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
- repo: https://github.com/pycqa/isort
|
- repo: https://github.com/pycqa/isort
|
||||||
rev: 5.10.1
|
rev: 5.13.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: isort
|
- id: isort
|
||||||
name: isort (python)
|
name: isort (python)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ from pyasic.data.error_codes import MinerErrorData, X19Error
|
|||||||
from pyasic.errors import APIError
|
from pyasic.errors import APIError
|
||||||
from pyasic.miners.backends.bmminer import BMMiner
|
from pyasic.miners.backends.bmminer import BMMiner
|
||||||
from pyasic.miners.backends.cgminer import CGMiner
|
from pyasic.miners.backends.cgminer import CGMiner
|
||||||
|
from pyasic.miners.base import BaseMiner
|
||||||
from pyasic.miners.data import (
|
from pyasic.miners.data import (
|
||||||
DataFunction,
|
DataFunction,
|
||||||
DataLocations,
|
DataLocations,
|
||||||
@@ -29,6 +30,7 @@ from pyasic.miners.data import (
|
|||||||
RPCAPICommand,
|
RPCAPICommand,
|
||||||
WebAPICommand,
|
WebAPICommand,
|
||||||
)
|
)
|
||||||
|
from pyasic.rpc.antminer import AntminerRPCAPI
|
||||||
from pyasic.ssh.antminer import AntminerModernSSH
|
from pyasic.ssh.antminer import AntminerModernSSH
|
||||||
from pyasic.web.antminer import AntminerModernWebAPI, AntminerOldWebAPI
|
from pyasic.web.antminer import AntminerModernWebAPI, AntminerOldWebAPI
|
||||||
|
|
||||||
@@ -88,6 +90,9 @@ class AntminerModern(BMMiner):
|
|||||||
_web_cls = AntminerModernWebAPI
|
_web_cls = AntminerModernWebAPI
|
||||||
web: AntminerModernWebAPI
|
web: AntminerModernWebAPI
|
||||||
|
|
||||||
|
_rpc_cls = AntminerRPCAPI
|
||||||
|
web: AntminerRPCAPI
|
||||||
|
|
||||||
_ssh_cls = AntminerModernSSH
|
_ssh_cls = AntminerModernSSH
|
||||||
ssh: AntminerModernSSH
|
ssh: AntminerModernSSH
|
||||||
|
|
||||||
@@ -207,7 +212,7 @@ class AntminerModern(BMMiner):
|
|||||||
]
|
]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
rpc_stats = await self.rpc.send_command("stats", new_api=True)
|
rpc_stats = await self.rpc.stats(new_api=True)
|
||||||
except APIError:
|
except APIError:
|
||||||
return hashboards
|
return hashboards
|
||||||
|
|
||||||
|
|||||||
36
pyasic/rpc/antminer.py
Normal file
36
pyasic/rpc/antminer.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
from pyasic.rpc.bmminer import BMMinerRPCAPI
|
||||||
|
|
||||||
|
|
||||||
|
class AntminerRPCAPI(BMMinerRPCAPI):
|
||||||
|
async def stats(self, new_api: bool = False) -> dict:
|
||||||
|
if new_api:
|
||||||
|
return await self.send_command("stats", new_api=True)
|
||||||
|
return await super().stats()
|
||||||
|
|
||||||
|
async def rate(self):
|
||||||
|
return await self.send_command("rate", new_api=True)
|
||||||
|
|
||||||
|
async def pools(self, new_api: bool = False):
|
||||||
|
if new_api:
|
||||||
|
return await self.send_command("pools", new_api=True)
|
||||||
|
return await self.send_command("pools")
|
||||||
|
|
||||||
|
async def reload(self):
|
||||||
|
return await self.send_command("reload", new_api=True)
|
||||||
|
|
||||||
|
async def summary(self, new_api: bool = False):
|
||||||
|
if new_api:
|
||||||
|
return await self.send_command("summary", new_api=True)
|
||||||
|
return await self.send_command("summary")
|
||||||
|
|
||||||
|
async def warning(self):
|
||||||
|
return await self.send_command("warning", new_api=True)
|
||||||
|
|
||||||
|
async def new_api_pools(self):
|
||||||
|
return await self.pools(new_api=True)
|
||||||
|
|
||||||
|
async def new_api_stats(self):
|
||||||
|
return await self.stats(new_api=True)
|
||||||
|
|
||||||
|
async def new_api_summary(self):
|
||||||
|
return await self.summary(new_api=True)
|
||||||
Reference in New Issue
Block a user