pyasic-umhost 0.2.4.dev1__tar.gz → 0.2.4.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/PKG-INFO +1 -1
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/btminer.py +60 -9
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/vnish.py +291 -29
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/btminer.py +17 -1
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/vnish.py +23 -10
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyproject.toml +1 -1
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/LICENSE.txt +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/README.md +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/MinerData.md +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/fans.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/frequency.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/mining/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/mining/algo.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/mining/presets.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/mining/scaling.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/pools.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/config/temperature.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/boards.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/device.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/X19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/bos.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/innosilicon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/vnish.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/whatsminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/fans.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/pools.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/blake256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/blockflow.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/eaglesong.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/equihash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/ethash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/handshake.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/blake256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/blockflow.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/eaglesong.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/equihash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/ethash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/handshake.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/kadena.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/kheavyhash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/scrypt.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/sha256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/blake256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/blockflow.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/eaglesong.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/equihash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/ethash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/handshake.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/kadena.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/kheavyhash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/scrypt.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/sha256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/x11.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/unit/zksnark.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/x11.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/hashrate/zksnark.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/kadena.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/kheavyhash.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/scrypt.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/sha256.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/x11.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/algorithm/zksnark.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/firmware.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/makes.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/device/models.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/errors/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/load/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/logger/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X15/Z15.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X15/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X17/S17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X17/T17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X17/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X3/HS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X3/KA3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X3/KS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X3/L3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X3/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X5/KS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X5/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X7/D7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X7/K7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X7/L7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X7/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/D9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/E9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/L9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/S9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/T9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bmminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X17/S17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X17/T17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X17/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X9/S9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/bosminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X15/Z15.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X15/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X3/D3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X3/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X5/DR5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/X5/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/cgminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/epic/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/X9/T9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/hiveon/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X9/S9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/luxos/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/marathon/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/mskminer/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/mskminer/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/mskminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X17/S17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X17/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X3/L3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X3/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X7/L7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X7/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X9/L9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/antminer/vnish/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AD/AT1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AD/AT2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AD/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AI/AI2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AI/AI3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AI/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AT/AD2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AT/AD3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/AT/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/auradine/flux/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A10X/A1026.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A10X/A1047.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A10X/A1066.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A10X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A11X/A1126.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A11X/A1166.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A11X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A12X/A1246.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A12X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A13X/A1326.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A13X/A1346.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A13X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A15X/A1566.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A15X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A7X/A721.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A7X/A741.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A7X/A761.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A7X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A8X/A821.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A8X/A841.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A8X/A851.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A8X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A9X/A921.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/A9X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/Q/Q.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/Q/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/mini/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/mini/mini3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/nano/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/avalonminer/cgminer/nano/nano3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/antminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/auradine.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/avalonminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/bfgminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/bitaxe.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/bmminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/braiins_os.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/cgminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/elphapex.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/epic.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/espminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/goldshell.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/hammer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/hiveon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/iceriver.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/innosilicon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/luckyminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/luxminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/marathon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/mskminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/unknown.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/backends/whatsminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/BM/BM1366.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/BM/BM1368.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/BM/BM1370.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/BM/BM1397.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/BM/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/bitaxe/espminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/blockminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/blockminer/epic/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/blockminer/epic/blockminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/blockminer/epic/blockminer/blockminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/braiins/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/braiins/braiins/BMM/BMM.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/braiins/braiins/BMM/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/braiins/braiins/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/data.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/firmware.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/makes.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X15/Z15.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X15/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X17/S17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X17/T17.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X17/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X19/S19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X19/T19.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X19/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X21/S21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X21/T21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X21/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/D3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/HS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/KA3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/KS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/L3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X3/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X5/DR5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X5/KS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X5/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X7/D7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X7/K7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X7/L7.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X7/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/D9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/E9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/L9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/S9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/T9.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/X9/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/antminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AD/AD2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AD/AD3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AD/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AI/AI2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AI/AI3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AI/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AT/AT1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AT/AT2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/AT/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/auradine/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A10X/A1026.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A10X/A1047.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A10X/A1066.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A10X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A11X/A1126.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A11X/A1166.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A11X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A12X/A1246.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A12X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A13X/A1326.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A13X/A1346.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A13X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A15X/A1566.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A15X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A7X/A721.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A7X/A741.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A7X/A761.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A7X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A8X/A821.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A8X/A841.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A8X/A851.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A8X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A9X/A921.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/A9X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/Q/Q.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/Q/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/mini/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/mini/mini3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/nano/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/avalonminer/nano/nano3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/BM/BM1366.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/BM/BM1368.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/BM/BM1370.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/BM/BM1397.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/BM/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/bitaxe/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/braiins/BMM/BMM1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/braiins/BMM/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/braiins/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/elphapex/DGX/DG1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/elphapex/DGX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/elphapex/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/epic/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/epic/blockminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/epic/blockminer/blockminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/X5/CK5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/X5/HS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/X5/KD5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/X5/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/XBox/KDBox.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/XBox/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/XMax/KDMax.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/XMax/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/byte/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/byte/byte.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/mini_doge/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/goldshell/mini_doge/mini_doge.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/hammer/DX/D10.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/hammer/DX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/hammer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/ALX/AL3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/ALX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/KS0.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/KS1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/KS2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/KS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/KS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/KSX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/iceriver/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/A10X/A10X.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/A10X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/A11X/A11.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/A11X/A11M.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/A11X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/T3X/T3H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/T3X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/innosilicon/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/luckyminer/LV/LV07.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/luckyminer/LV/LV08.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/luckyminer/LV/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/luckyminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/volcminer/DX/D1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/volcminer/DX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/volcminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M20.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M20P.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M20S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M20S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M21S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M21S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/M29.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M2X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30K.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30L.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M30S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31L.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31SE.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M31S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M32.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M32S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M33.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M33S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M33S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M33S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M34S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M36S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M36S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M36S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/M39.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M3X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M50.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M50S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M50S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M50S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M52S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M52S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M53.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M53H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M53S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M53S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M53S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M54S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M56.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M56S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M56S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M56S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/M59.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M5X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M60.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M60S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M60S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M60S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M61.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M61S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M61S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M62S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M63.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M63S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M63S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M63S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M64.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M64S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M65S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M65S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M66.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M66S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M66S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M66S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/M67S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M6X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M7X/M70.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/M7X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/device/models/whatsminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/elphapex/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/elphapex/daoge/DGX/DG1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/elphapex/daoge/DGX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/elphapex/daoge/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/factory.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/X5/CK5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/X5/HS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/X5/KD5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/X5/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/XBox/KDBox.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/XBox/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/XMax/KDMax.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/XMax/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/byte/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/byte/byte.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/mini_doge/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/goldshell/bfgminer/mini_doge/mini_doge.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/hammer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/hammer/blackminer/DX/D10.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/hammer/blackminer/DX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/hammer/blackminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/ALX/AL3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/ALX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/KS0.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/KS1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/KS2.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/KS3.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/KS5.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/KSX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/iceriver/iceminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/A10X/A10X.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/A10X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/A11X/A11.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/A11X/A11M.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/A11X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/T3X/T3H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/T3X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/innosilicon/cgminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/listener.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/luckyminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/luckyminer/espminer/LV/LV07.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/luckyminer/espminer/LV/LV08.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/luckyminer/espminer/LV/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/luckyminer/espminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/volcminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/volcminer/blackminer/DX/D1.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/volcminer/blackminer/DX/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/volcminer/blackminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M20.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M20P.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M20S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M20S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M21.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M21S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M21S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/M29.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M2X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30K.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30L.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M30S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31L.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31SE.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M31S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M32.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M32S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M33.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M33S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M33S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M33S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M34S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M36S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M36S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M36S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/M39.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M3X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M50.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M50S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M50S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M50S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M52S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M52S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M53.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M53H.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M53S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M53S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M53S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M54S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M56.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M56S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M56S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M56S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/M59.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M5X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M60.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M60S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M60S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M60S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M61.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M61S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M61S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M62S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M63.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M63S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M63S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M63S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M64.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M64S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M65S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M65S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M66.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M66S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M66S_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M66S_Plus_Plus.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/M67S.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M6X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M7X/M70.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/M7X/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/miners/whatsminer/btminer/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/misc/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/network/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/antminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/avalonminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/bfgminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/bmminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/bosminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/ccminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/cgminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/gcminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/luxminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/marathon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/rpc/unknown.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/settings/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/ssh/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/ssh/antminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/ssh/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/ssh/braiins_os.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/test.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/antminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/auradine.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/avalonminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/base.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/better_monkey.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/boser.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/bosminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/proto/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/proto/braiins/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/proto/braiins/bos/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/braiins_os/proto/braiins/bos/v1/__init__.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/elphapex.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/epic.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/espminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/goldshell.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/hammer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/hiveon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/iceriver.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/innosilicon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/luckyminer.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/marathon.py +0 -0
- {pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/web/mskminer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyasic-umhost
|
|
3
|
-
Version: 0.2.4.
|
|
3
|
+
Version: 0.2.4.dev2
|
|
4
4
|
Summary: Fork of pyasic — a simplified and standardized interface for Bitcoin ASICs.
|
|
5
5
|
License: Apache 2.0
|
|
6
6
|
Keywords: python,asic,bitcoin,whatsminer,antminer,braiins-os,vnish,luxos
|
|
@@ -21,7 +21,6 @@ import semver
|
|
|
21
21
|
from playwright.async_api import async_playwright
|
|
22
22
|
|
|
23
23
|
from pyasic import settings
|
|
24
|
-
from pyasic.rpc.cgminer import CGMinerRPCAPI
|
|
25
24
|
from pyasic.config import MinerConfig, MiningModeConfig, PoolConfig
|
|
26
25
|
from pyasic.data import Fan, HashBoard
|
|
27
26
|
from pyasic.data.error_codes import MinerErrorData, WhatsminerError
|
|
@@ -31,6 +30,7 @@ from pyasic.errors import APIError
|
|
|
31
30
|
from pyasic.miners.data import DataFunction, DataLocations, DataOptions, RPCAPICommand
|
|
32
31
|
from pyasic.miners.device.firmware import StockFirmware
|
|
33
32
|
from pyasic.rpc.btminer import BTMinerRPCAPI, BTMinerV3RPCAPI
|
|
33
|
+
from pyasic.rpc.cgminer import CGMinerRPCAPI
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class BTMiner(StockFirmware):
|
|
@@ -113,6 +113,13 @@ BTMINER_DATA_LOC = DataLocations(
|
|
|
113
113
|
"_get_serial_number",
|
|
114
114
|
[RPCAPICommand("rpc_get_miner_info", "get_miner_info")],
|
|
115
115
|
),
|
|
116
|
+
str(DataOptions.PSU_SERIAL_NUMBER): DataFunction(
|
|
117
|
+
"_get_psu_serial_number",
|
|
118
|
+
[
|
|
119
|
+
RPCAPICommand("rpc_get_psu", "get_psu"),
|
|
120
|
+
RPCAPICommand("rpc_get_miner_info", "get_miner_info"),
|
|
121
|
+
],
|
|
122
|
+
),
|
|
116
123
|
str(DataOptions.FANS): DataFunction(
|
|
117
124
|
"_get_fans",
|
|
118
125
|
[
|
|
@@ -649,6 +656,40 @@ class BTMinerV2(StockFirmware):
|
|
|
649
656
|
pass
|
|
650
657
|
return None
|
|
651
658
|
|
|
659
|
+
async def _get_psu_serial_number(
|
|
660
|
+
self,
|
|
661
|
+
rpc_get_psu: dict | None = None,
|
|
662
|
+
rpc_get_miner_info: dict | None = None,
|
|
663
|
+
) -> str | None:
|
|
664
|
+
if rpc_get_psu is None:
|
|
665
|
+
try:
|
|
666
|
+
rpc_get_psu = await self.rpc.get_psu()
|
|
667
|
+
except APIError:
|
|
668
|
+
pass
|
|
669
|
+
|
|
670
|
+
if rpc_get_psu is not None:
|
|
671
|
+
try:
|
|
672
|
+
sn = rpc_get_psu["Msg"]["serial_no"]
|
|
673
|
+
if sn:
|
|
674
|
+
return sn
|
|
675
|
+
except LookupError:
|
|
676
|
+
pass
|
|
677
|
+
|
|
678
|
+
if rpc_get_miner_info is None:
|
|
679
|
+
try:
|
|
680
|
+
rpc_get_miner_info = await self.rpc.get_miner_info()
|
|
681
|
+
except APIError:
|
|
682
|
+
pass
|
|
683
|
+
|
|
684
|
+
if rpc_get_miner_info is not None:
|
|
685
|
+
try:
|
|
686
|
+
sn = rpc_get_miner_info["Msg"]["powersn"]
|
|
687
|
+
if sn:
|
|
688
|
+
return sn
|
|
689
|
+
except LookupError:
|
|
690
|
+
pass
|
|
691
|
+
return None
|
|
692
|
+
|
|
652
693
|
async def _get_expected_hashrate(
|
|
653
694
|
self, rpc_summary: dict | None = None
|
|
654
695
|
) -> AlgoHashRateType | None:
|
|
@@ -894,7 +935,8 @@ BTMINERV3_DATA_LOC = DataLocations(
|
|
|
894
935
|
[RPCAPICommand("rpc_get_miner_status_summary", "get.miner.status:summary")],
|
|
895
936
|
),
|
|
896
937
|
str(DataOptions.FAN_PSU): DataFunction(
|
|
897
|
-
|
|
938
|
+
|
|
939
|
+
"_get_fan_psu", [RPCAPICommand("rpc_get_device_info", "get.device.info")]
|
|
898
940
|
),
|
|
899
941
|
str(DataOptions.ERRORS): DataFunction(
|
|
900
942
|
"_get_errors",
|
|
@@ -1169,16 +1211,25 @@ class BTMinerV3(StockFirmware):
|
|
|
1169
1211
|
fans.append(Fan(speed=rpm))
|
|
1170
1212
|
return fans
|
|
1171
1213
|
|
|
1172
|
-
async def
|
|
1214
|
+
async def _get_fan_psu(
|
|
1215
|
+
self, rpc_get_device_info: dict | None = None
|
|
1216
|
+
) -> int | None:
|
|
1173
1217
|
if rpc_get_device_info is None:
|
|
1174
1218
|
try:
|
|
1175
1219
|
rpc_get_device_info = await self.rpc.get_device_info()
|
|
1176
1220
|
except APIError:
|
|
1177
|
-
return
|
|
1178
|
-
if rpc_get_device_info
|
|
1179
|
-
return
|
|
1180
|
-
rpm =
|
|
1181
|
-
|
|
1221
|
+
return None
|
|
1222
|
+
if not isinstance(rpc_get_device_info, dict):
|
|
1223
|
+
return None
|
|
1224
|
+
rpm = (
|
|
1225
|
+
rpc_get_device_info.get("msg", {}).get("power", {}).get("fanspeed")
|
|
1226
|
+
)
|
|
1227
|
+
if rpm is None:
|
|
1228
|
+
return None
|
|
1229
|
+
try:
|
|
1230
|
+
return int(rpm)
|
|
1231
|
+
except (TypeError, ValueError):
|
|
1232
|
+
return None
|
|
1182
1233
|
|
|
1183
1234
|
async def _get_errors(
|
|
1184
1235
|
self, rpc_get_device_info: dict | None = None
|
|
@@ -1508,7 +1559,7 @@ class BTMinerV3(StockFirmware):
|
|
|
1508
1559
|
# print("Пулы обновлены")
|
|
1509
1560
|
return True
|
|
1510
1561
|
|
|
1511
|
-
except Exception
|
|
1562
|
+
except Exception:
|
|
1512
1563
|
# print(f"Ошибка: {e}")
|
|
1513
1564
|
return False
|
|
1514
1565
|
finally:
|
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
# limitations under the License. -
|
|
15
15
|
# ------------------------------------------------------------------------------
|
|
16
16
|
|
|
17
|
+
import asyncio
|
|
17
18
|
import logging
|
|
18
19
|
|
|
19
20
|
from pyasic import MinerConfig
|
|
20
21
|
from pyasic.config.mining import MiningModePreset
|
|
22
|
+
from pyasic.data import Fan, HashBoard
|
|
21
23
|
from pyasic.data.error_codes import VnishError
|
|
24
|
+
from pyasic.data.pools import PoolMetrics, PoolUrl
|
|
22
25
|
from pyasic.device.algorithm import AlgoHashRateType
|
|
23
26
|
from pyasic.errors import APIError
|
|
24
27
|
from pyasic.miners.backends.bmminer import BMMiner
|
|
@@ -32,8 +35,31 @@ from pyasic.miners.data import (
|
|
|
32
35
|
from pyasic.miners.device.firmware import VNishFirmware
|
|
33
36
|
from pyasic.web.vnish import VNishWebAPI
|
|
34
37
|
|
|
38
|
+
_POOL_ALIVE_STATUSES = {"active", "working", "rejecting"}
|
|
39
|
+
_HASHBOARD_ACTIVE_STATES = {"mining", "initializing"}
|
|
40
|
+
_VNISH_STOPPED_STATES = {"stopped", "shutting-down", "failure"}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def _parse_pool_url(url: str | None) -> PoolUrl | None:
|
|
44
|
+
if not url:
|
|
45
|
+
return None
|
|
46
|
+
pu = PoolUrl.from_str(url)
|
|
47
|
+
if pu is not None:
|
|
48
|
+
return pu
|
|
49
|
+
# VNish sometimes returns the URL без схемы
|
|
50
|
+
return PoolUrl.from_str(f"stratum+tcp://{url}")
|
|
51
|
+
|
|
52
|
+
|
|
35
53
|
VNISH_DATA_LOC = DataLocations(
|
|
36
54
|
**{
|
|
55
|
+
str(DataOptions.SERIAL_NUMBER): DataFunction(
|
|
56
|
+
"_get_serial_number",
|
|
57
|
+
[WebAPICommand("web_info", "info")],
|
|
58
|
+
),
|
|
59
|
+
str(DataOptions.PSU_SERIAL_NUMBER): DataFunction(
|
|
60
|
+
"_get_psu_serial_number",
|
|
61
|
+
[WebAPICommand("web_factory_info", "chains/factory-info")],
|
|
62
|
+
),
|
|
37
63
|
str(DataOptions.MAC): DataFunction(
|
|
38
64
|
"_get_mac",
|
|
39
65
|
[WebAPICommand("web_summary", "summary")],
|
|
@@ -60,7 +86,11 @@ VNISH_DATA_LOC = DataLocations(
|
|
|
60
86
|
),
|
|
61
87
|
str(DataOptions.HASHBOARDS): DataFunction(
|
|
62
88
|
"_get_hashboards",
|
|
63
|
-
[
|
|
89
|
+
[
|
|
90
|
+
RPCAPICommand("rpc_stats", "stats"),
|
|
91
|
+
WebAPICommand("web_summary", "summary"),
|
|
92
|
+
WebAPICommand("web_factory_info", "chains/factory-info"),
|
|
93
|
+
],
|
|
64
94
|
),
|
|
65
95
|
str(DataOptions.WATTAGE): DataFunction(
|
|
66
96
|
"_get_wattage",
|
|
@@ -72,7 +102,14 @@ VNISH_DATA_LOC = DataLocations(
|
|
|
72
102
|
),
|
|
73
103
|
str(DataOptions.FANS): DataFunction(
|
|
74
104
|
"_get_fans",
|
|
75
|
-
[
|
|
105
|
+
[
|
|
106
|
+
RPCAPICommand("rpc_stats", "stats"),
|
|
107
|
+
WebAPICommand("web_summary", "summary"),
|
|
108
|
+
],
|
|
109
|
+
),
|
|
110
|
+
str(DataOptions.FAULT_LIGHT): DataFunction(
|
|
111
|
+
"_get_fault_light",
|
|
112
|
+
[WebAPICommand("web_status", "status")],
|
|
76
113
|
),
|
|
77
114
|
str(DataOptions.UPTIME): DataFunction(
|
|
78
115
|
"_get_uptime",
|
|
@@ -88,7 +125,10 @@ VNISH_DATA_LOC = DataLocations(
|
|
|
88
125
|
),
|
|
89
126
|
str(DataOptions.POOLS): DataFunction(
|
|
90
127
|
"_get_pools",
|
|
91
|
-
[
|
|
128
|
+
[
|
|
129
|
+
RPCAPICommand("rpc_pools", "pools"),
|
|
130
|
+
WebAPICommand("web_summary", "summary"),
|
|
131
|
+
],
|
|
92
132
|
),
|
|
93
133
|
str(DataOptions.ERRORS): DataFunction(
|
|
94
134
|
"_get_errors",
|
|
@@ -117,40 +157,78 @@ class VNish(VNishFirmware, BMMiner):
|
|
|
117
157
|
miner_settings=config.as_vnish(user_suffix=user_suffix)
|
|
118
158
|
)
|
|
119
159
|
|
|
120
|
-
async def
|
|
121
|
-
|
|
122
|
-
|
|
160
|
+
async def _wait_for_mining_state(
|
|
161
|
+
self,
|
|
162
|
+
*,
|
|
163
|
+
expect_stopped: bool,
|
|
164
|
+
timeout: float = 8.0,
|
|
165
|
+
interval: float = 0.5,
|
|
166
|
+
) -> bool:
|
|
167
|
+
"""Опрашивает /status и ждёт, пока miner_state перейдёт в нужный класс.
|
|
168
|
+
|
|
169
|
+
VNish обычно отвечает 200 с пустым телом на mining/{stop,resume,...} —
|
|
170
|
+
одного «успеха» от send_command для подтверждения мало, нужно
|
|
171
|
+
дождаться, что miner_state действительно перешёл в требуемый режим.
|
|
172
|
+
"""
|
|
173
|
+
iterations = max(1, int(timeout / interval) + 1)
|
|
174
|
+
observed_state: str | None = None
|
|
175
|
+
for i in range(iterations):
|
|
176
|
+
if i > 0:
|
|
177
|
+
await asyncio.sleep(interval)
|
|
123
178
|
try:
|
|
124
|
-
|
|
125
|
-
except
|
|
126
|
-
|
|
179
|
+
status = await self.web.status()
|
|
180
|
+
except APIError:
|
|
181
|
+
status = None
|
|
182
|
+
state = status.get("miner_state") if isinstance(status, dict) else None
|
|
183
|
+
if isinstance(state, str):
|
|
184
|
+
observed_state = state
|
|
185
|
+
if (state in _VNISH_STOPPED_STATES) == expect_stopped:
|
|
186
|
+
return True
|
|
187
|
+
logging.warning(
|
|
188
|
+
"%s: ожидалось %s состояние, последнее наблюдённое: %r",
|
|
189
|
+
self,
|
|
190
|
+
"stopped" if expect_stopped else "running",
|
|
191
|
+
observed_state,
|
|
192
|
+
)
|
|
127
193
|
return False
|
|
128
194
|
|
|
195
|
+
async def restart_backend(self) -> bool:
|
|
196
|
+
try:
|
|
197
|
+
await self.web.restart_vnish()
|
|
198
|
+
except APIError as exc:
|
|
199
|
+
logging.debug("%s restart_backend: %s — проверяю состояние", self, exc)
|
|
200
|
+
# restart должен в итоге вернуть майнер в работающее состояние
|
|
201
|
+
# (через restarting/starting → mining)
|
|
202
|
+
return await self._wait_for_mining_state(
|
|
203
|
+
expect_stopped=False, timeout=15.0, interval=1.0
|
|
204
|
+
)
|
|
205
|
+
|
|
129
206
|
async def stop_mining(self) -> bool:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return False
|
|
207
|
+
try:
|
|
208
|
+
await self.web.stop_mining()
|
|
209
|
+
except APIError as exc:
|
|
210
|
+
# VNish часто отвечает пустым телом — это нормально, верифицируем
|
|
211
|
+
logging.debug("%s stop_mining: %s — проверяю состояние", self, exc)
|
|
212
|
+
return await self._wait_for_mining_state(expect_stopped=True)
|
|
137
213
|
|
|
138
214
|
async def resume_mining(self) -> bool:
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
pass
|
|
145
|
-
return False
|
|
215
|
+
try:
|
|
216
|
+
await self.web.resume_mining()
|
|
217
|
+
except APIError as exc:
|
|
218
|
+
logging.debug("%s resume_mining: %s — проверяю состояние", self, exc)
|
|
219
|
+
return await self._wait_for_mining_state(expect_stopped=False)
|
|
146
220
|
|
|
147
221
|
async def reboot(self) -> bool:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
222
|
+
try:
|
|
223
|
+
data = await self.web.reboot()
|
|
224
|
+
except APIError as exc:
|
|
225
|
+
# /system/reboot часто рвёт соединение до отправки ответа — это норма
|
|
226
|
+
logging.debug("%s reboot: соединение оборвано: %s", self, exc)
|
|
227
|
+
return True
|
|
228
|
+
if isinstance(data, dict):
|
|
229
|
+
# ответ либо {"after": int} (по спеке), либо {"success": True} (наш фоллбэк
|
|
230
|
+
# для пустого тела). Оба варианта — успех.
|
|
231
|
+
return bool(data.get("success", True) or "after" in data)
|
|
154
232
|
return False
|
|
155
233
|
|
|
156
234
|
async def _get_mac(self, web_summary: dict | None = None) -> str | None:
|
|
@@ -411,3 +489,187 @@ class VNish(VNishFirmware, BMMiner):
|
|
|
411
489
|
|
|
412
490
|
async def _get_kernel_log(self) -> str | None:
|
|
413
491
|
return await self.web.get_log()
|
|
492
|
+
|
|
493
|
+
async def _get_serial_number(
|
|
494
|
+
self, web_info: dict | None = None
|
|
495
|
+
) -> str | None:
|
|
496
|
+
if web_info is None:
|
|
497
|
+
try:
|
|
498
|
+
web_info = await self.web.info()
|
|
499
|
+
except APIError:
|
|
500
|
+
return None
|
|
501
|
+
if isinstance(web_info, dict):
|
|
502
|
+
serial = web_info.get("serial")
|
|
503
|
+
if isinstance(serial, str) and serial:
|
|
504
|
+
return serial
|
|
505
|
+
return None
|
|
506
|
+
|
|
507
|
+
async def _get_psu_serial_number(
|
|
508
|
+
self, web_factory_info: dict | None = None
|
|
509
|
+
) -> str | None:
|
|
510
|
+
if web_factory_info is None:
|
|
511
|
+
try:
|
|
512
|
+
web_factory_info = await self.web.factory_info()
|
|
513
|
+
except APIError:
|
|
514
|
+
return None
|
|
515
|
+
if isinstance(web_factory_info, dict):
|
|
516
|
+
psu_serial = web_factory_info.get("psu_serial")
|
|
517
|
+
if isinstance(psu_serial, str) and psu_serial:
|
|
518
|
+
return psu_serial
|
|
519
|
+
return None
|
|
520
|
+
|
|
521
|
+
async def _get_fault_light(
|
|
522
|
+
self, web_status: dict | None = None
|
|
523
|
+
) -> bool | None:
|
|
524
|
+
if web_status is None:
|
|
525
|
+
try:
|
|
526
|
+
web_status = await self.web.status()
|
|
527
|
+
except APIError:
|
|
528
|
+
return None
|
|
529
|
+
if isinstance(web_status, dict):
|
|
530
|
+
value = web_status.get("find_miner")
|
|
531
|
+
if isinstance(value, bool):
|
|
532
|
+
return value
|
|
533
|
+
return None
|
|
534
|
+
|
|
535
|
+
async def _get_pools( # type: ignore[override]
|
|
536
|
+
self,
|
|
537
|
+
rpc_pools: dict | None = None,
|
|
538
|
+
web_summary: dict | None = None,
|
|
539
|
+
) -> list[PoolMetrics]:
|
|
540
|
+
if web_summary is None:
|
|
541
|
+
try:
|
|
542
|
+
web_summary = await self.web.summary()
|
|
543
|
+
except APIError:
|
|
544
|
+
web_summary = None
|
|
545
|
+
|
|
546
|
+
if isinstance(web_summary, dict):
|
|
547
|
+
miner = web_summary.get("miner") or {}
|
|
548
|
+
web_pools = miner.get("pools") if isinstance(miner, dict) else None
|
|
549
|
+
if isinstance(web_pools, list) and web_pools:
|
|
550
|
+
pools: list[PoolMetrics] = []
|
|
551
|
+
for item in web_pools:
|
|
552
|
+
if not isinstance(item, dict):
|
|
553
|
+
continue
|
|
554
|
+
status = item.get("status")
|
|
555
|
+
pool_url = _parse_pool_url(item.get("url"))
|
|
556
|
+
pools.append(
|
|
557
|
+
PoolMetrics(
|
|
558
|
+
url=pool_url,
|
|
559
|
+
accepted=item.get("accepted"),
|
|
560
|
+
rejected=item.get("rejected"),
|
|
561
|
+
get_failures=None,
|
|
562
|
+
remote_failures=None,
|
|
563
|
+
active=status == "active",
|
|
564
|
+
alive=isinstance(status, str)
|
|
565
|
+
and status in _POOL_ALIVE_STATUSES,
|
|
566
|
+
index=item.get("id"),
|
|
567
|
+
user=item.get("user"),
|
|
568
|
+
)
|
|
569
|
+
)
|
|
570
|
+
return pools
|
|
571
|
+
|
|
572
|
+
# fallback to cgminer RPC (parent implementation)
|
|
573
|
+
return await super()._get_pools(rpc_pools=rpc_pools)
|
|
574
|
+
|
|
575
|
+
async def _get_hashboards( # type: ignore[override]
|
|
576
|
+
self,
|
|
577
|
+
rpc_stats: dict | None = None,
|
|
578
|
+
web_summary: dict | None = None,
|
|
579
|
+
web_factory_info: dict | None = None,
|
|
580
|
+
) -> list[HashBoard]:
|
|
581
|
+
boards = await super()._get_hashboards(rpc_stats=rpc_stats)
|
|
582
|
+
boards_by_slot: dict[int, HashBoard] = {b.slot: b for b in boards}
|
|
583
|
+
|
|
584
|
+
# enrich from web summary (chain voltage, status, hydro temps)
|
|
585
|
+
if web_summary is None:
|
|
586
|
+
try:
|
|
587
|
+
web_summary = await self.web.summary()
|
|
588
|
+
except APIError:
|
|
589
|
+
web_summary = None
|
|
590
|
+
|
|
591
|
+
if isinstance(web_summary, dict):
|
|
592
|
+
miner = web_summary.get("miner") or {}
|
|
593
|
+
chains = miner.get("chains") if isinstance(miner, dict) else None
|
|
594
|
+
if isinstance(chains, list):
|
|
595
|
+
for chain in chains:
|
|
596
|
+
if not isinstance(chain, dict):
|
|
597
|
+
continue
|
|
598
|
+
slot = chain.get("id")
|
|
599
|
+
if not isinstance(slot, int):
|
|
600
|
+
continue
|
|
601
|
+
board = boards_by_slot.get(slot)
|
|
602
|
+
if board is None:
|
|
603
|
+
board = HashBoard(
|
|
604
|
+
slot=slot, expected_chips=self.expected_chips
|
|
605
|
+
)
|
|
606
|
+
boards.append(board)
|
|
607
|
+
boards_by_slot[slot] = board
|
|
608
|
+
|
|
609
|
+
voltage = chain.get("voltage")
|
|
610
|
+
if isinstance(voltage, (int, float)):
|
|
611
|
+
board.voltage = float(voltage)
|
|
612
|
+
|
|
613
|
+
state = (chain.get("status") or {}).get("state")
|
|
614
|
+
if isinstance(state, str):
|
|
615
|
+
board.active = state in _HASHBOARD_ACTIVE_STATES
|
|
616
|
+
if state != "disconnected":
|
|
617
|
+
board.missing = False
|
|
618
|
+
|
|
619
|
+
inlet = chain.get("inlet_water_temp")
|
|
620
|
+
if isinstance(inlet, (int, float)):
|
|
621
|
+
board.inlet_temp = float(inlet)
|
|
622
|
+
outlet = chain.get("outlet_water_temp")
|
|
623
|
+
if isinstance(outlet, (int, float)):
|
|
624
|
+
board.outlet_temp = float(outlet)
|
|
625
|
+
|
|
626
|
+
# enrich serial numbers from factory-info
|
|
627
|
+
if web_factory_info is None:
|
|
628
|
+
try:
|
|
629
|
+
web_factory_info = await self.web.factory_info()
|
|
630
|
+
except APIError:
|
|
631
|
+
web_factory_info = None
|
|
632
|
+
|
|
633
|
+
if isinstance(web_factory_info, dict):
|
|
634
|
+
fi_chains = web_factory_info.get("chains")
|
|
635
|
+
if isinstance(fi_chains, list):
|
|
636
|
+
for chain in fi_chains:
|
|
637
|
+
if not isinstance(chain, dict):
|
|
638
|
+
continue
|
|
639
|
+
slot = chain.get("id")
|
|
640
|
+
serial = chain.get("serial")
|
|
641
|
+
if isinstance(slot, int) and isinstance(serial, str) and serial:
|
|
642
|
+
board = boards_by_slot.get(slot)
|
|
643
|
+
if board is not None:
|
|
644
|
+
board.serial_number = serial
|
|
645
|
+
|
|
646
|
+
return boards
|
|
647
|
+
|
|
648
|
+
async def _get_fans( # type: ignore[override]
|
|
649
|
+
self,
|
|
650
|
+
rpc_stats: dict | None = None,
|
|
651
|
+
web_summary: dict | None = None,
|
|
652
|
+
) -> list[Fan]:
|
|
653
|
+
if web_summary is None:
|
|
654
|
+
try:
|
|
655
|
+
web_summary = await self.web.summary()
|
|
656
|
+
except APIError:
|
|
657
|
+
web_summary = None
|
|
658
|
+
|
|
659
|
+
if isinstance(web_summary, dict):
|
|
660
|
+
miner = web_summary.get("miner") or {}
|
|
661
|
+
cooling = miner.get("cooling") if isinstance(miner, dict) else None
|
|
662
|
+
cooling_fans = (
|
|
663
|
+
cooling.get("fans") if isinstance(cooling, dict) else None
|
|
664
|
+
)
|
|
665
|
+
if isinstance(cooling_fans, list) and cooling_fans:
|
|
666
|
+
return [
|
|
667
|
+
Fan(
|
|
668
|
+
speed=f.get("rpm") if isinstance(f, dict) else None,
|
|
669
|
+
max_speed=f.get("max_rpm") if isinstance(f, dict) else None,
|
|
670
|
+
)
|
|
671
|
+
for f in cooling_fans
|
|
672
|
+
]
|
|
673
|
+
|
|
674
|
+
# fallback to RPC stats via parent
|
|
675
|
+
return await super()._get_fans(rpc_stats=rpc_stats)
|
|
@@ -1211,7 +1211,23 @@ class BTMinerV3RPCAPI(BaseMinerRPCAPI):
|
|
|
1211
1211
|
cmd_dict = cmd.model_dump()
|
|
1212
1212
|
ser = json.dumps(cmd_dict).encode("utf-8")
|
|
1213
1213
|
header = struct.pack("<I", len(ser))
|
|
1214
|
-
|
|
1214
|
+
raw = await self._send_bytes(header + ser)
|
|
1215
|
+
if not raw:
|
|
1216
|
+
# _send_bytes отдаёт b"" если соединение оборвалось до получения
|
|
1217
|
+
# ответа (RST / EOF в _read_bytes). Поднимаем APIError, чтобы
|
|
1218
|
+
# вызывающие _get_* методы могли отработать штатно — иначе
|
|
1219
|
+
# JSONDecodeError утекает наверх и ломает get_data().
|
|
1220
|
+
raise APIError(
|
|
1221
|
+
f"{self} - no data from RPC for command '{command}' "
|
|
1222
|
+
f"(connection reset or EOF)"
|
|
1223
|
+
)
|
|
1224
|
+
try:
|
|
1225
|
+
return json.loads(raw)
|
|
1226
|
+
except json.JSONDecodeError as exc:
|
|
1227
|
+
preview = raw[:80].decode("utf-8", errors="replace")
|
|
1228
|
+
raise APIError(
|
|
1229
|
+
f"{self} - bad JSON for command '{command}': {exc} (got {preview!r})"
|
|
1230
|
+
) from exc
|
|
1215
1231
|
|
|
1216
1232
|
async def _send_bytes(
|
|
1217
1233
|
self,
|
|
@@ -92,7 +92,18 @@ class VNishWebAPI(BaseWebAPI):
|
|
|
92
92
|
# refresh the token, retry
|
|
93
93
|
await self.auth()
|
|
94
94
|
continue
|
|
95
|
-
|
|
95
|
+
# часть VNish-эндпойнтов (mining/stop|resume|pause|start|
|
|
96
|
+
# switch-pool, autotune/reset*, apikeys/delete, lock, notes
|
|
97
|
+
# put/delete, logs/*/clear) отвечает 200 с пустым телом —
|
|
98
|
+
# считаем это успехом, а не JSON-ошибкой
|
|
99
|
+
body = (response.text or "").strip()
|
|
100
|
+
if not body:
|
|
101
|
+
return {"success": True}
|
|
102
|
+
try:
|
|
103
|
+
json_data = response.json()
|
|
104
|
+
except json.JSONDecodeError:
|
|
105
|
+
# 200 OK с не-JSON телом — тоже трактуем как успех
|
|
106
|
+
return {"success": True}
|
|
96
107
|
if json_data:
|
|
97
108
|
return json_data
|
|
98
109
|
return {"success": True}
|
|
@@ -101,14 +112,6 @@ class VNishWebAPI(BaseWebAPI):
|
|
|
101
112
|
raise APIError(
|
|
102
113
|
f"HTTP error sending '{command}' to {self.ip}: {e}"
|
|
103
114
|
)
|
|
104
|
-
except json.JSONDecodeError as e:
|
|
105
|
-
if attempt == retries - 1:
|
|
106
|
-
response_text = (
|
|
107
|
-
response.text if response.text else "empty response"
|
|
108
|
-
)
|
|
109
|
-
raise APIError(
|
|
110
|
-
f"JSON decode error for '{command}' from {self.ip}: {e} - Response: {response_text}"
|
|
111
|
-
)
|
|
112
115
|
except AttributeError as e:
|
|
113
116
|
if attempt == retries - 1:
|
|
114
117
|
raise APIError(
|
|
@@ -122,7 +125,11 @@ class VNishWebAPI(BaseWebAPI):
|
|
|
122
125
|
data: dict[str, Any] = {k: None for k in commands}
|
|
123
126
|
data["multicommand"] = True
|
|
124
127
|
for command in commands:
|
|
125
|
-
|
|
128
|
+
try:
|
|
129
|
+
data[command] = await self.send_command(command)
|
|
130
|
+
except APIError:
|
|
131
|
+
# одной упавшей команды не должно ронять весь батч
|
|
132
|
+
data[command] = None
|
|
126
133
|
return data
|
|
127
134
|
|
|
128
135
|
async def restart_vnish(self) -> dict:
|
|
@@ -180,6 +187,12 @@ class VNishWebAPI(BaseWebAPI):
|
|
|
180
187
|
async def autotune_presets(self) -> dict:
|
|
181
188
|
return await self.send_command("autotune/presets")
|
|
182
189
|
|
|
190
|
+
async def factory_info(self) -> dict:
|
|
191
|
+
return await self.send_command("chains/factory-info")
|
|
192
|
+
|
|
193
|
+
async def model(self) -> dict:
|
|
194
|
+
return await self.send_command("model")
|
|
195
|
+
|
|
183
196
|
async def find_miner(self) -> dict:
|
|
184
197
|
return await self.send_command("find-miner", privileged=True)
|
|
185
198
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyasic-umhost"
|
|
3
|
-
version = "0.2.4.
|
|
3
|
+
version = "0.2.4.dev2"
|
|
4
4
|
description = "Fork of pyasic — a simplified and standardized interface for Bitcoin ASICs."
|
|
5
5
|
authors = [{name = "UpstreamData", email = "brett@upstreamdata.ca"}]
|
|
6
6
|
repository = "https://github.com/UpstreamData/pyasic"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyasic_umhost-0.2.4.dev1 → pyasic_umhost-0.2.4.dev2}/pyasic/data/error_codes/innosilicon.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|