pyasic-umhost 0.3.0.dev5__tar.gz → 0.3.0.dev6__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.
Files changed (649) hide show
  1. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/PKG-INFO +25 -1
  2. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/README.md +24 -0
  3. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/antminer.py +146 -97
  4. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/antminer.py +8 -2
  5. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyproject.toml +1 -1
  6. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/LICENSE.txt +0 -0
  7. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/MinerData.md +0 -0
  8. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/__init__.py +0 -0
  9. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/__init__.py +0 -0
  10. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/base.py +0 -0
  11. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/fans.py +0 -0
  12. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/frequency.py +0 -0
  13. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/mining/__init__.py +0 -0
  14. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/mining/algo.py +0 -0
  15. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/mining/presets.py +0 -0
  16. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/mining/scaling.py +0 -0
  17. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/pools.py +0 -0
  18. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/config/temperature.py +0 -0
  19. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/__init__.py +0 -0
  20. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/boards.py +0 -0
  21. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/device.py +0 -0
  22. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/X19.py +0 -0
  23. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/__init__.py +0 -0
  24. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/base.py +0 -0
  25. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/bos.py +0 -0
  26. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/innosilicon.py +0 -0
  27. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/vnish.py +0 -0
  28. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/error_codes/whatsminer.py +0 -0
  29. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/fans.py +0 -0
  30. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/data/pools.py +0 -0
  31. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/__init__.py +0 -0
  32. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/__init__.py +0 -0
  33. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/base.py +0 -0
  34. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/blake256.py +0 -0
  35. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/blockflow.py +0 -0
  36. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/eaglesong.py +0 -0
  37. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/equihash.py +0 -0
  38. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/ethash.py +0 -0
  39. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/handshake.py +0 -0
  40. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/__init__.py +0 -0
  41. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/base.py +0 -0
  42. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/blake256.py +0 -0
  43. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/blockflow.py +0 -0
  44. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/eaglesong.py +0 -0
  45. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/equihash.py +0 -0
  46. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/ethash.py +0 -0
  47. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/handshake.py +0 -0
  48. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/kadena.py +0 -0
  49. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/kheavyhash.py +0 -0
  50. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/scrypt.py +0 -0
  51. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/sha256.py +0 -0
  52. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/__init__.py +0 -0
  53. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/base.py +0 -0
  54. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/blake256.py +0 -0
  55. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/blockflow.py +0 -0
  56. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/eaglesong.py +0 -0
  57. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/equihash.py +0 -0
  58. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/ethash.py +0 -0
  59. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/handshake.py +0 -0
  60. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/kadena.py +0 -0
  61. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/kheavyhash.py +0 -0
  62. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/scrypt.py +0 -0
  63. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/sha256.py +0 -0
  64. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/x11.py +0 -0
  65. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/unit/zksnark.py +0 -0
  66. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/x11.py +0 -0
  67. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/hashrate/zksnark.py +0 -0
  68. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/kadena.py +0 -0
  69. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/kheavyhash.py +0 -0
  70. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/scrypt.py +0 -0
  71. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/sha256.py +0 -0
  72. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/x11.py +0 -0
  73. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/algorithm/zksnark.py +0 -0
  74. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/firmware.py +0 -0
  75. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/makes.py +0 -0
  76. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/device/models.py +0 -0
  77. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/errors/__init__.py +0 -0
  78. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/load/__init__.py +0 -0
  79. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/logger/__init__.py +0 -0
  80. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/__init__.py +0 -0
  81. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/__init__.py +0 -0
  82. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X15/Z15.py +0 -0
  83. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X15/__init__.py +0 -0
  84. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X17/S17.py +0 -0
  85. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X17/T17.py +0 -0
  86. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X17/__init__.py +0 -0
  87. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X19/S19.py +0 -0
  88. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X19/T19.py +0 -0
  89. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X19/__init__.py +0 -0
  90. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X21/S21.py +0 -0
  91. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X21/T21.py +0 -0
  92. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X21/__init__.py +0 -0
  93. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X3/HS3.py +0 -0
  94. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X3/KA3.py +0 -0
  95. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X3/KS3.py +0 -0
  96. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X3/L3.py +0 -0
  97. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X3/__init__.py +0 -0
  98. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X5/KS5.py +0 -0
  99. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X5/__init__.py +0 -0
  100. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X7/D7.py +0 -0
  101. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X7/K7.py +0 -0
  102. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X7/L7.py +0 -0
  103. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X7/__init__.py +0 -0
  104. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/D9.py +0 -0
  105. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/E9.py +0 -0
  106. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/L9.py +0 -0
  107. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/S9.py +0 -0
  108. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/T9.py +0 -0
  109. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/X9/__init__.py +0 -0
  110. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bmminer/__init__.py +0 -0
  111. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X17/S17.py +0 -0
  112. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X17/T17.py +0 -0
  113. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X17/__init__.py +0 -0
  114. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X19/S19.py +0 -0
  115. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X19/T19.py +0 -0
  116. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X19/__init__.py +0 -0
  117. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X21/S21.py +0 -0
  118. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X21/T21.py +0 -0
  119. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X21/__init__.py +0 -0
  120. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X9/S9.py +0 -0
  121. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/X9/__init__.py +0 -0
  122. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/bosminer/__init__.py +0 -0
  123. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X15/Z15.py +0 -0
  124. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X15/__init__.py +0 -0
  125. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X3/D3.py +0 -0
  126. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X3/__init__.py +0 -0
  127. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X5/DR5.py +0 -0
  128. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/X5/__init__.py +0 -0
  129. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/cgminer/__init__.py +0 -0
  130. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/X19/S19.py +0 -0
  131. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/X19/__init__.py +0 -0
  132. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/X21/S21.py +0 -0
  133. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/X21/T21.py +0 -0
  134. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/X21/__init__.py +0 -0
  135. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/epic/__init__.py +0 -0
  136. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/X19/S19.py +0 -0
  137. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/X19/T19.py +0 -0
  138. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/X19/__init__.py +0 -0
  139. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/X9/T9.py +0 -0
  140. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/X9/__init__.py +0 -0
  141. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/hiveon/__init__.py +0 -0
  142. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X19/S19.py +0 -0
  143. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X19/T19.py +0 -0
  144. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X19/__init__.py +0 -0
  145. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X21/S21.py +0 -0
  146. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X21/T21.py +0 -0
  147. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X21/__init__.py +0 -0
  148. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X9/S9.py +0 -0
  149. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/X9/__init__.py +0 -0
  150. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/luxos/__init__.py +0 -0
  151. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/X19/S19.py +0 -0
  152. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/X19/__init__.py +0 -0
  153. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/X21/S21.py +0 -0
  154. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/X21/T21.py +0 -0
  155. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/X21/__init__.py +0 -0
  156. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/marathon/__init__.py +0 -0
  157. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/mskminer/X19/S19.py +0 -0
  158. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/mskminer/X19/__init__.py +0 -0
  159. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/mskminer/__init__.py +0 -0
  160. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X17/S17.py +0 -0
  161. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X17/__init__.py +0 -0
  162. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X19/S19.py +0 -0
  163. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X19/T19.py +0 -0
  164. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X19/__init__.py +0 -0
  165. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X21/S21.py +0 -0
  166. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X21/T21.py +0 -0
  167. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X21/__init__.py +0 -0
  168. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X3/L3.py +0 -0
  169. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X3/__init__.py +0 -0
  170. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X7/L7.py +0 -0
  171. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X7/__init__.py +0 -0
  172. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X9/L9.py +0 -0
  173. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/X9/__init__.py +0 -0
  174. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/antminer/vnish/__init__.py +0 -0
  175. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/__init__.py +0 -0
  176. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AD/AT1.py +0 -0
  177. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AD/AT2.py +0 -0
  178. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AD/__init__.py +0 -0
  179. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AI/AI2.py +0 -0
  180. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AI/AI3.py +0 -0
  181. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AI/__init__.py +0 -0
  182. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AT/AD2.py +0 -0
  183. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AT/AD3.py +0 -0
  184. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/AT/__init__.py +0 -0
  185. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/auradine/flux/__init__.py +0 -0
  186. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/__init__.py +0 -0
  187. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A10X/A1026.py +0 -0
  188. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A10X/A1047.py +0 -0
  189. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A10X/A1066.py +0 -0
  190. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A10X/__init__.py +0 -0
  191. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A11X/A1126.py +0 -0
  192. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A11X/A1166.py +0 -0
  193. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A11X/__init__.py +0 -0
  194. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A12X/A1246.py +0 -0
  195. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A12X/__init__.py +0 -0
  196. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A13X/A1326.py +0 -0
  197. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A13X/A1346.py +0 -0
  198. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A13X/__init__.py +0 -0
  199. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A15X/A1566.py +0 -0
  200. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A15X/__init__.py +0 -0
  201. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A7X/A721.py +0 -0
  202. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A7X/A741.py +0 -0
  203. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A7X/A761.py +0 -0
  204. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A7X/__init__.py +0 -0
  205. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A8X/A821.py +0 -0
  206. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A8X/A841.py +0 -0
  207. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A8X/A851.py +0 -0
  208. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A8X/__init__.py +0 -0
  209. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A9X/A921.py +0 -0
  210. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/A9X/__init__.py +0 -0
  211. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/Q/Q.py +0 -0
  212. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/Q/__init__.py +0 -0
  213. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/__init__.py +0 -0
  214. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/mini/__init__.py +0 -0
  215. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/mini/mini3.py +0 -0
  216. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/nano/__init__.py +0 -0
  217. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/avalonminer/cgminer/nano/nano3.py +0 -0
  218. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/__init__.py +0 -0
  219. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/auradine.py +0 -0
  220. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/avalonminer.py +0 -0
  221. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/bfgminer.py +0 -0
  222. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/bitaxe.py +0 -0
  223. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/bmminer.py +0 -0
  224. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/braiins_os.py +0 -0
  225. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/btminer.py +0 -0
  226. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/cgminer.py +0 -0
  227. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/elphapex.py +0 -0
  228. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/epic.py +0 -0
  229. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/espminer.py +0 -0
  230. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/fluminer.py +0 -0
  231. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/goldshell.py +0 -0
  232. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/hammer.py +0 -0
  233. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/hiveon.py +0 -0
  234. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/iceriver.py +0 -0
  235. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/innosilicon.py +0 -0
  236. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/luckyminer.py +0 -0
  237. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/luxminer.py +0 -0
  238. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/marathon.py +0 -0
  239. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/mskminer.py +0 -0
  240. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/unknown.py +0 -0
  241. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/vnish.py +0 -0
  242. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/backends/whatsminer.py +0 -0
  243. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/base.py +0 -0
  244. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/__init__.py +0 -0
  245. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/BM/BM1366.py +0 -0
  246. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/BM/BM1368.py +0 -0
  247. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/BM/BM1370.py +0 -0
  248. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/BM/BM1397.py +0 -0
  249. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/BM/__init__.py +0 -0
  250. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/bitaxe/espminer/__init__.py +0 -0
  251. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/blockminer/__init__.py +0 -0
  252. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/blockminer/epic/__init__.py +0 -0
  253. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/blockminer/epic/blockminer/__init__.py +0 -0
  254. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/blockminer/epic/blockminer/blockminer.py +0 -0
  255. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/braiins/__init__.py +0 -0
  256. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/braiins/braiins/BMM/BMM.py +0 -0
  257. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/braiins/braiins/BMM/__init__.py +0 -0
  258. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/braiins/braiins/__init__.py +0 -0
  259. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/data.py +0 -0
  260. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/__init__.py +0 -0
  261. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/firmware.py +0 -0
  262. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/makes.py +0 -0
  263. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/__init__.py +0 -0
  264. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X15/Z15.py +0 -0
  265. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X15/__init__.py +0 -0
  266. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X17/S17.py +0 -0
  267. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X17/T17.py +0 -0
  268. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X17/__init__.py +0 -0
  269. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X19/S19.py +0 -0
  270. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X19/T19.py +0 -0
  271. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X19/__init__.py +0 -0
  272. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X21/S21.py +0 -0
  273. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X21/T21.py +0 -0
  274. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X21/__init__.py +0 -0
  275. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/D3.py +0 -0
  276. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/HS3.py +0 -0
  277. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/KA3.py +0 -0
  278. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/KS3.py +0 -0
  279. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/L3.py +0 -0
  280. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X3/__init__.py +0 -0
  281. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X5/DR5.py +0 -0
  282. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X5/KS5.py +0 -0
  283. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X5/__init__.py +0 -0
  284. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X7/D7.py +0 -0
  285. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X7/K7.py +0 -0
  286. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X7/L7.py +0 -0
  287. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X7/__init__.py +0 -0
  288. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/D9.py +0 -0
  289. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/E9.py +0 -0
  290. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/L9.py +0 -0
  291. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/S9.py +0 -0
  292. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/T9.py +0 -0
  293. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/X9/__init__.py +0 -0
  294. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/antminer/__init__.py +0 -0
  295. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AD/AD2.py +0 -0
  296. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AD/AD3.py +0 -0
  297. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AD/__init__.py +0 -0
  298. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AI/AI2.py +0 -0
  299. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AI/AI3.py +0 -0
  300. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AI/__init__.py +0 -0
  301. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AT/AT1.py +0 -0
  302. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AT/AT2.py +0 -0
  303. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/AT/__init__.py +0 -0
  304. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/auradine/__init__.py +0 -0
  305. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A10X/A1026.py +0 -0
  306. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A10X/A1047.py +0 -0
  307. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A10X/A1066.py +0 -0
  308. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A10X/__init__.py +0 -0
  309. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A11X/A1126.py +0 -0
  310. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A11X/A1166.py +0 -0
  311. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A11X/__init__.py +0 -0
  312. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A12X/A1246.py +0 -0
  313. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A12X/__init__.py +0 -0
  314. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A13X/A1326.py +0 -0
  315. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A13X/A1346.py +0 -0
  316. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A13X/__init__.py +0 -0
  317. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A15X/A1566.py +0 -0
  318. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A15X/__init__.py +0 -0
  319. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A7X/A721.py +0 -0
  320. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A7X/A741.py +0 -0
  321. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A7X/A761.py +0 -0
  322. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A7X/__init__.py +0 -0
  323. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A8X/A821.py +0 -0
  324. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A8X/A841.py +0 -0
  325. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A8X/A851.py +0 -0
  326. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A8X/__init__.py +0 -0
  327. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A9X/A921.py +0 -0
  328. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/A9X/__init__.py +0 -0
  329. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/Q/Q.py +0 -0
  330. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/Q/__init__.py +0 -0
  331. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/__init__.py +0 -0
  332. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/mini/__init__.py +0 -0
  333. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/mini/mini3.py +0 -0
  334. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/nano/__init__.py +0 -0
  335. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/avalonminer/nano/nano3.py +0 -0
  336. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/BM/BM1366.py +0 -0
  337. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/BM/BM1368.py +0 -0
  338. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/BM/BM1370.py +0 -0
  339. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/BM/BM1397.py +0 -0
  340. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/BM/__init__.py +0 -0
  341. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/bitaxe/__init__.py +0 -0
  342. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/braiins/BMM/BMM1.py +0 -0
  343. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/braiins/BMM/__init__.py +0 -0
  344. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/braiins/__init__.py +0 -0
  345. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/elphapex/DGX/DG1.py +0 -0
  346. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/elphapex/DGX/__init__.py +0 -0
  347. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/elphapex/__init__.py +0 -0
  348. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/epic/__init__.py +0 -0
  349. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/epic/blockminer/__init__.py +0 -0
  350. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/epic/blockminer/blockminer.py +0 -0
  351. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/fluminer/T/T3.py +0 -0
  352. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/fluminer/T/__init__.py +0 -0
  353. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/fluminer/__init__.py +0 -0
  354. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/X5/CK5.py +0 -0
  355. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/X5/HS5.py +0 -0
  356. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/X5/KD5.py +0 -0
  357. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/X5/__init__.py +0 -0
  358. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/XBox/KDBox.py +0 -0
  359. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/XBox/__init__.py +0 -0
  360. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/XMax/KDMax.py +0 -0
  361. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/XMax/__init__.py +0 -0
  362. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/__init__.py +0 -0
  363. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/byte/__init__.py +0 -0
  364. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/byte/byte.py +0 -0
  365. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/mini_doge/__init__.py +0 -0
  366. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/goldshell/mini_doge/mini_doge.py +0 -0
  367. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/hammer/DX/D10.py +0 -0
  368. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/hammer/DX/__init__.py +0 -0
  369. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/hammer/__init__.py +0 -0
  370. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/ALX/AL3.py +0 -0
  371. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/ALX/__init__.py +0 -0
  372. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/KS0.py +0 -0
  373. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/KS1.py +0 -0
  374. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/KS2.py +0 -0
  375. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/KS3.py +0 -0
  376. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/KS5.py +0 -0
  377. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/KSX/__init__.py +0 -0
  378. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/iceriver/__init__.py +0 -0
  379. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/A10X/A10X.py +0 -0
  380. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/A10X/__init__.py +0 -0
  381. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/A11X/A11.py +0 -0
  382. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/A11X/A11M.py +0 -0
  383. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/A11X/__init__.py +0 -0
  384. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/T3X/T3H.py +0 -0
  385. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/T3X/__init__.py +0 -0
  386. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/innosilicon/__init__.py +0 -0
  387. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/luckyminer/LV/LV07.py +0 -0
  388. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/luckyminer/LV/LV08.py +0 -0
  389. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/luckyminer/LV/__init__.py +0 -0
  390. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/luckyminer/__init__.py +0 -0
  391. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/volcminer/DX/D1.py +0 -0
  392. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/volcminer/DX/__init__.py +0 -0
  393. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/volcminer/__init__.py +0 -0
  394. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M20.py +0 -0
  395. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M20P.py +0 -0
  396. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M20S.py +0 -0
  397. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M20S_Plus.py +0 -0
  398. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M21.py +0 -0
  399. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M21S.py +0 -0
  400. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M21S_Plus.py +0 -0
  401. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/M29.py +0 -0
  402. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M2X/__init__.py +0 -0
  403. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30.py +0 -0
  404. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30K.py +0 -0
  405. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30L.py +0 -0
  406. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30S.py +0 -0
  407. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30S_Plus.py +0 -0
  408. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M30S_Plus_Plus.py +0 -0
  409. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31.py +0 -0
  410. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31H.py +0 -0
  411. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31L.py +0 -0
  412. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31S.py +0 -0
  413. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31SE.py +0 -0
  414. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M31S_Plus.py +0 -0
  415. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M32.py +0 -0
  416. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M32S.py +0 -0
  417. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M33.py +0 -0
  418. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M33S.py +0 -0
  419. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M33S_Plus.py +0 -0
  420. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M33S_Plus_Plus.py +0 -0
  421. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M34S_Plus.py +0 -0
  422. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M36S.py +0 -0
  423. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M36S_Plus.py +0 -0
  424. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M36S_Plus_Plus.py +0 -0
  425. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/M39.py +0 -0
  426. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M3X/__init__.py +0 -0
  427. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M50.py +0 -0
  428. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M50S.py +0 -0
  429. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M50S_Plus.py +0 -0
  430. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M50S_Plus_Plus.py +0 -0
  431. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M52S.py +0 -0
  432. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M52S_Plus_Plus.py +0 -0
  433. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M53.py +0 -0
  434. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M53H.py +0 -0
  435. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M53S.py +0 -0
  436. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M53S_Plus.py +0 -0
  437. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M53S_Plus_Plus.py +0 -0
  438. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M54S_Plus_Plus.py +0 -0
  439. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M56.py +0 -0
  440. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M56S.py +0 -0
  441. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M56S_Plus.py +0 -0
  442. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M56S_Plus_Plus.py +0 -0
  443. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/M59.py +0 -0
  444. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M5X/__init__.py +0 -0
  445. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M60.py +0 -0
  446. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M60S.py +0 -0
  447. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M60S_Plus.py +0 -0
  448. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M60S_Plus_Plus.py +0 -0
  449. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M61.py +0 -0
  450. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M61S.py +0 -0
  451. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M61S_Plus.py +0 -0
  452. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M62S_Plus.py +0 -0
  453. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M63.py +0 -0
  454. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M63S.py +0 -0
  455. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M63S_Plus.py +0 -0
  456. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M63S_Plus_Plus.py +0 -0
  457. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M64.py +0 -0
  458. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M64S.py +0 -0
  459. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M65S.py +0 -0
  460. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M65S_Plus.py +0 -0
  461. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M66.py +0 -0
  462. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M66S.py +0 -0
  463. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M66S_Plus.py +0 -0
  464. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M66S_Plus_Plus.py +0 -0
  465. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/M67S.py +0 -0
  466. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M6X/__init__.py +0 -0
  467. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M7X/M70.py +0 -0
  468. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/M7X/__init__.py +0 -0
  469. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/device/models/whatsminer/__init__.py +0 -0
  470. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/elphapex/__init__.py +0 -0
  471. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/elphapex/daoge/DGX/DG1.py +0 -0
  472. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/elphapex/daoge/DGX/__init__.py +0 -0
  473. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/elphapex/daoge/__init__.py +0 -0
  474. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/factory.py +0 -0
  475. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/fluminer/__init__.py +0 -0
  476. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/fluminer/native/T/T3.py +0 -0
  477. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/fluminer/native/T/__init__.py +0 -0
  478. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/fluminer/native/__init__.py +0 -0
  479. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/__init__.py +0 -0
  480. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/X5/CK5.py +0 -0
  481. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/X5/HS5.py +0 -0
  482. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/X5/KD5.py +0 -0
  483. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/X5/__init__.py +0 -0
  484. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/XBox/KDBox.py +0 -0
  485. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/XBox/__init__.py +0 -0
  486. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/XMax/KDMax.py +0 -0
  487. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/XMax/__init__.py +0 -0
  488. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/__init__.py +0 -0
  489. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/byte/__init__.py +0 -0
  490. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/byte/byte.py +0 -0
  491. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/mini_doge/__init__.py +0 -0
  492. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/goldshell/bfgminer/mini_doge/mini_doge.py +0 -0
  493. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/hammer/__init__.py +0 -0
  494. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/hammer/blackminer/DX/D10.py +0 -0
  495. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/hammer/blackminer/DX/__init__.py +0 -0
  496. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/hammer/blackminer/__init__.py +0 -0
  497. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/__init__.py +0 -0
  498. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/ALX/AL3.py +0 -0
  499. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/ALX/__init__.py +0 -0
  500. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/KS0.py +0 -0
  501. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/KS1.py +0 -0
  502. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/KS2.py +0 -0
  503. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/KS3.py +0 -0
  504. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/KS5.py +0 -0
  505. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/KSX/__init__.py +0 -0
  506. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/iceriver/iceminer/__init__.py +0 -0
  507. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/__init__.py +0 -0
  508. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/A10X/A10X.py +0 -0
  509. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/A10X/__init__.py +0 -0
  510. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/A11X/A11.py +0 -0
  511. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/A11X/A11M.py +0 -0
  512. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/A11X/__init__.py +0 -0
  513. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/T3X/T3H.py +0 -0
  514. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/T3X/__init__.py +0 -0
  515. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/innosilicon/cgminer/__init__.py +0 -0
  516. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/listener.py +0 -0
  517. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/luckyminer/__init__.py +0 -0
  518. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/luckyminer/espminer/LV/LV07.py +0 -0
  519. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/luckyminer/espminer/LV/LV08.py +0 -0
  520. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/luckyminer/espminer/LV/__init__.py +0 -0
  521. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/luckyminer/espminer/__init__.py +0 -0
  522. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/volcminer/__init__.py +0 -0
  523. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/volcminer/blackminer/DX/D1.py +0 -0
  524. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/volcminer/blackminer/DX/__init__.py +0 -0
  525. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/volcminer/blackminer/__init__.py +0 -0
  526. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/__init__.py +0 -0
  527. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M20.py +0 -0
  528. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M20P.py +0 -0
  529. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M20S.py +0 -0
  530. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M20S_Plus.py +0 -0
  531. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M21.py +0 -0
  532. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M21S.py +0 -0
  533. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M21S_Plus.py +0 -0
  534. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/M29.py +0 -0
  535. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M2X/__init__.py +0 -0
  536. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30.py +0 -0
  537. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30K.py +0 -0
  538. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30L.py +0 -0
  539. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30S.py +0 -0
  540. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30S_Plus.py +0 -0
  541. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M30S_Plus_Plus.py +0 -0
  542. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31.py +0 -0
  543. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31H.py +0 -0
  544. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31L.py +0 -0
  545. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31S.py +0 -0
  546. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31SE.py +0 -0
  547. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M31S_Plus.py +0 -0
  548. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M32.py +0 -0
  549. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M32S.py +0 -0
  550. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M33.py +0 -0
  551. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M33S.py +0 -0
  552. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M33S_Plus.py +0 -0
  553. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M33S_Plus_Plus.py +0 -0
  554. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M34S_Plus.py +0 -0
  555. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M36S.py +0 -0
  556. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M36S_Plus.py +0 -0
  557. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M36S_Plus_Plus.py +0 -0
  558. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/M39.py +0 -0
  559. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M3X/__init__.py +0 -0
  560. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M50.py +0 -0
  561. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M50S.py +0 -0
  562. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M50S_Plus.py +0 -0
  563. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M50S_Plus_Plus.py +0 -0
  564. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M52S.py +0 -0
  565. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M52S_Plus_Plus.py +0 -0
  566. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M53.py +0 -0
  567. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M53H.py +0 -0
  568. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M53S.py +0 -0
  569. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M53S_Plus.py +0 -0
  570. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M53S_Plus_Plus.py +0 -0
  571. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M54S_Plus_Plus.py +0 -0
  572. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M56.py +0 -0
  573. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M56S.py +0 -0
  574. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M56S_Plus.py +0 -0
  575. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M56S_Plus_Plus.py +0 -0
  576. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/M59.py +0 -0
  577. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M5X/__init__.py +0 -0
  578. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M60.py +0 -0
  579. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M60S.py +0 -0
  580. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M60S_Plus.py +0 -0
  581. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M60S_Plus_Plus.py +0 -0
  582. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M61.py +0 -0
  583. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M61S.py +0 -0
  584. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M61S_Plus.py +0 -0
  585. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M62S_Plus.py +0 -0
  586. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M63.py +0 -0
  587. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M63S.py +0 -0
  588. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M63S_Plus.py +0 -0
  589. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M63S_Plus_Plus.py +0 -0
  590. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M64.py +0 -0
  591. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M64S.py +0 -0
  592. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M65S.py +0 -0
  593. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M65S_Plus.py +0 -0
  594. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M66.py +0 -0
  595. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M66S.py +0 -0
  596. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M66S_Plus.py +0 -0
  597. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M66S_Plus_Plus.py +0 -0
  598. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/M67S.py +0 -0
  599. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M6X/__init__.py +0 -0
  600. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M7X/M70.py +0 -0
  601. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/M7X/__init__.py +0 -0
  602. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/miners/whatsminer/btminer/__init__.py +0 -0
  603. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/misc/__init__.py +0 -0
  604. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/network/__init__.py +0 -0
  605. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/__init__.py +0 -0
  606. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/antminer.py +0 -0
  607. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/avalonminer.py +0 -0
  608. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/base.py +0 -0
  609. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/bfgminer.py +0 -0
  610. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/bmminer.py +0 -0
  611. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/bosminer.py +0 -0
  612. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/btminer.py +0 -0
  613. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/ccminer.py +0 -0
  614. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/cgminer.py +0 -0
  615. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/gcminer.py +0 -0
  616. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/luxminer.py +0 -0
  617. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/marathon.py +0 -0
  618. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/rpc/unknown.py +0 -0
  619. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/settings/__init__.py +0 -0
  620. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/ssh/__init__.py +0 -0
  621. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/ssh/antminer.py +0 -0
  622. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/ssh/base.py +0 -0
  623. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/ssh/braiins_os.py +0 -0
  624. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/test.py +0 -0
  625. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/__init__.py +0 -0
  626. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/auradine.py +0 -0
  627. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/avalonminer.py +0 -0
  628. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/base.py +0 -0
  629. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/__init__.py +0 -0
  630. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/better_monkey.py +0 -0
  631. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/boser.py +0 -0
  632. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/bosminer.py +0 -0
  633. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/proto/__init__.py +0 -0
  634. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/proto/braiins/__init__.py +0 -0
  635. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/proto/braiins/bos/__init__.py +0 -0
  636. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/braiins_os/proto/braiins/bos/v1/__init__.py +0 -0
  637. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/elphapex.py +0 -0
  638. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/epic.py +0 -0
  639. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/espminer.py +0 -0
  640. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/fluminer.py +0 -0
  641. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/goldshell.py +0 -0
  642. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/hammer.py +0 -0
  643. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/hiveon.py +0 -0
  644. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/iceriver.py +0 -0
  645. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/innosilicon.py +0 -0
  646. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/luckyminer.py +0 -0
  647. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/marathon.py +0 -0
  648. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/mskminer.py +0 -0
  649. {pyasic_umhost-0.3.0.dev5 → pyasic_umhost-0.3.0.dev6}/pyasic/web/vnish.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyasic-umhost
3
- Version: 0.3.0.dev5
3
+ Version: 0.3.0.dev6
4
4
  Summary: Fork of pyasic — a simplified and standardized interface for Bitcoin ASICs.
5
5
  License: Apache 2.0
6
6
  License-File: LICENSE.txt
@@ -165,6 +165,30 @@ average = sum(data, start=MinerData("0.0.0.0")) / len(data)
165
165
  `get_hostname`, `get_model`, `reboot`, `restart_backend`, `stop_mining`, `resume_mining`,
166
166
  `is_mining`, `send_config`, `set_power_limit`.
167
167
 
168
+ Для stock Antminer `stop_mining()` и `resume_mining()` проверяют результат
169
+ повторным чтением `bitmain-work-mode`: ответ CGI `M000` сам по себе не
170
+ подтверждает смену режима. Сначала используется поле записи `miner-mode`.
171
+ Если прошивка его игнорирует или возвращает структурированный CGI-отказ,
172
+ а чтение подтверждает прежний режим, библиотека пробует `bitmain-work-mode`.
173
+ Поддерживаются числовое и строковое значения обоих полей; подтвержденный
174
+ формат запоминается в экземпляре майнера. Наличие
175
+ `bitmain-user-ip-cat` не определяет формат: это поле есть и у T21 с прошивкой
176
+ 26.01.2025, которая принимает только `miner-mode`.
177
+
178
+ Пулы и остальные параметры сохраняются из текущей конфигурации. После
179
+ потерянного HTTP-ответа (встречается на KS5 при перезапуске сервиса) режим
180
+ также проверяется чтением: подтвержденная цель означает успех без повторной
181
+ записи. При неизвестном или неподтвержденном режиме методы выбрасывают
182
+ `APIError`, чтобы агент мог записать причину и повторить задачу. Ошибка HTTP
183
+ сама по себе не разрешает подбор другого формата. Выход из сна подтверждает
184
+ режим работы; запуск плат и восстановление хешрейта могут занять дополнительное время.
185
+
186
+ Эта совместимость относится к stock-прошивкам с JSON CGI (`AntminerModern`).
187
+ Она не добавляет сон прошивкам, в которых такой функции нет, и не заменяет
188
+ отдельные протоколы старого form CGI, VNish, Braiins OS или LuxOS.
189
+ Новая схема `bitmain-work-mode` и необходимость передавать текущие пулы
190
+ описаны в [официальной документации Bitmain](https://docs.bitmain.com/en/antminer/CONTENTS.html#modify-miner-configuration).
191
+
168
192
  ```python
169
193
  import asyncio
170
194
  from pyasic import get_miner
@@ -131,6 +131,30 @@ average = sum(data, start=MinerData("0.0.0.0")) / len(data)
131
131
  `get_hostname`, `get_model`, `reboot`, `restart_backend`, `stop_mining`, `resume_mining`,
132
132
  `is_mining`, `send_config`, `set_power_limit`.
133
133
 
134
+ Для stock Antminer `stop_mining()` и `resume_mining()` проверяют результат
135
+ повторным чтением `bitmain-work-mode`: ответ CGI `M000` сам по себе не
136
+ подтверждает смену режима. Сначала используется поле записи `miner-mode`.
137
+ Если прошивка его игнорирует или возвращает структурированный CGI-отказ,
138
+ а чтение подтверждает прежний режим, библиотека пробует `bitmain-work-mode`.
139
+ Поддерживаются числовое и строковое значения обоих полей; подтвержденный
140
+ формат запоминается в экземпляре майнера. Наличие
141
+ `bitmain-user-ip-cat` не определяет формат: это поле есть и у T21 с прошивкой
142
+ 26.01.2025, которая принимает только `miner-mode`.
143
+
144
+ Пулы и остальные параметры сохраняются из текущей конфигурации. После
145
+ потерянного HTTP-ответа (встречается на KS5 при перезапуске сервиса) режим
146
+ также проверяется чтением: подтвержденная цель означает успех без повторной
147
+ записи. При неизвестном или неподтвержденном режиме методы выбрасывают
148
+ `APIError`, чтобы агент мог записать причину и повторить задачу. Ошибка HTTP
149
+ сама по себе не разрешает подбор другого формата. Выход из сна подтверждает
150
+ режим работы; запуск плат и восстановление хешрейта могут занять дополнительное время.
151
+
152
+ Эта совместимость относится к stock-прошивкам с JSON CGI (`AntminerModern`).
153
+ Она не добавляет сон прошивкам, в которых такой функции нет, и не заменяет
154
+ отдельные протоколы старого form CGI, VNish, Braiins OS или LuxOS.
155
+ Новая схема `bitmain-work-mode` и необходимость передавать текущие пулы
156
+ описаны в [официальной документации Bitmain](https://docs.bitmain.com/en/antminer/CONTENTS.html#modify-miner-configuration).
157
+
134
158
  ```python
135
159
  import asyncio
136
160
  from pyasic import get_miner
@@ -14,10 +14,12 @@
14
14
  # limitations under the License. -
15
15
  # ------------------------------------------------------------------------------
16
16
 
17
+ import asyncio
17
18
  import logging
18
19
  from pathlib import Path
19
20
 
20
- from pyasic.config import MinerConfig, MiningModeConfig, MiningModeSleep, PoolConfig
21
+ from pyasic import settings
22
+ from pyasic.config import MinerConfig, PoolConfig
21
23
  from pyasic.data import Fan, HashBoard
22
24
  from pyasic.data.error_codes import X19Error
23
25
  from pyasic.data.pools import PoolMetrics, PoolUrl
@@ -36,7 +38,7 @@ from pyasic.rpc.antminer import AntminerRPCAPI
36
38
  from pyasic.ssh.antminer import AntminerModernSSH
37
39
  from pyasic.web.antminer import AntminerModernWebAPI, AntminerOldWebAPI
38
40
 
39
- ANTMINER_NEW_FIRMWARE_CONFIG_MARKER = "bitmain-user-ip-cat"
41
+ _POWER_MODE_VERIFY_DELAYS = (1, 2, 5)
40
42
 
41
43
 
42
44
  def _pick_stats_payload(
@@ -290,69 +292,133 @@ class AntminerModern(BMMiner):
290
292
  return False
291
293
 
292
294
  @staticmethod
293
- def _uses_new_firmware_power_mode(config: dict) -> bool:
294
- """Определяет новый CGI-формат конфигурации без привязки к модели."""
295
- return ANTMINER_NEW_FIRMWARE_CONFIG_MARKER in config
296
-
297
- async def _set_new_firmware_power_mode(
298
- self, config: dict, work_mode: int
299
- ) -> bool:
300
- """Отправляет полный конфиг новой прошивке, меняя только work mode."""
301
- try:
302
- current_mode = int(config["bitmain-work-mode"])
303
- except (KeyError, TypeError, ValueError) as error:
295
+ def _read_power_mode(config: dict) -> int:
296
+ value = config.get("bitmain-work-mode") if isinstance(config, dict) else None
297
+ if (
298
+ isinstance(value, bool)
299
+ or not isinstance(value, (str, int))
300
+ or not str(value).isdigit()
301
+ ):
304
302
  raise APIError(
305
- "Invalid bitmain-work-mode in Antminer configuration: "
306
- f"{config.get('bitmain-work-mode')!r}"
307
- ) from error
303
+ f"Invalid bitmain-work-mode in Antminer configuration: {value!r}"
304
+ )
305
+ mode = int(value)
306
+ if mode not in (0, 1, 2, 3, 5):
307
+ raise APIError(
308
+ f"Unknown bitmain-work-mode in Antminer configuration: {value!r}"
309
+ )
310
+ return mode
308
311
 
309
- if current_mode == work_mode:
312
+ async def _set_power_mode(self, work_mode: int) -> bool:
313
+ """Меняет только режим, подтверждая формат CGI чтением конфигурации.
314
+
315
+ bitmain-user-ip-cat встречается и у прошивок с miner-mode, поэтому
316
+ не определяет формат записи. Даже M000 может означать, что неизвестное
317
+ поле молча проигнорировано. Другой формат пробуем только после чтения
318
+ прежнего режима; при недоступном API повторную запись не делаем.
319
+ """
320
+ config = await self.web.get_miner_conf()
321
+ current_mode = self._read_power_mode(config)
322
+ if current_mode == work_mode or (work_mode == 0 and current_mode != 1):
310
323
  return True
324
+ initial_mode = current_mode
325
+
326
+ legacy_as_str = settings.get("antminer_mining_mode_as_str", False)
327
+ candidates = [
328
+ ("miner-mode", legacy_as_str),
329
+ ("bitmain-work-mode", True),
330
+ ("miner-mode", not legacy_as_str),
331
+ ("bitmain-work-mode", False),
332
+ ]
333
+ preferred = getattr(self, "_power_mode_format", None)
334
+ if preferred in candidates:
335
+ candidates.remove(preferred)
336
+ candidates.insert(0, preferred)
337
+ for index, (field, as_str) in enumerate(candidates):
338
+ # Сохраняем пулы, лимит хешрейта и специфичные поля прошивки:
339
+ # преобразование через MinerConfig теряет неизвестные ему опции.
340
+ payload = {key: value for key, value in config.items() if value is not None}
341
+ payload.pop("miner-mode", None)
342
+ payload.pop("bitmain-work-mode", None)
343
+ payload[field] = str(work_mode) if as_str else work_mode
344
+ if field == "miner-mode":
345
+ if "bitmain-freq-level" in payload:
346
+ payload["freq-level"] = payload.pop("bitmain-freq-level")
347
+ response = await self.web.set_miner_conf(payload)
348
+ response_stats = (
349
+ str(response.get("stats", "")).lower()
350
+ if isinstance(response, dict)
351
+ else ""
352
+ )
353
+ response_code = (
354
+ str(response.get("code", "")) if isinstance(response, dict) else ""
355
+ )
356
+ accepted = response_stats == "success" and response_code == "M000"
357
+ # Некоторые CGI явно отвергают незнакомое поле. Только такой
358
+ # структурированный отказ допускает проверку альтернативы;
359
+ # HTTP/auth/сетевой сбой не является признаком формата прошивки.
360
+ rejected = response_stats in ("error", "fail") and response_code.startswith(
361
+ "M"
362
+ )
363
+ # Ответ POST может потеряться при перезапуске сервиса (KS5).
364
+ # Проверяем фактический режим даже после HTTP timeout, но такой
365
+ # сбой сам по себе не разрешает повторную запись другим форматом.
366
+ details = (
367
+ {key: response.get(key) for key in ("stats", "code", "msg", "message")}
368
+ if isinstance(response, dict)
369
+ else type(response).__name__
370
+ )
311
371
 
312
- payload = dict(config)
313
- payload["bitmain-work-mode"] = work_mode
314
- response = await self.web.set_miner_conf(payload)
315
- if not isinstance(response, dict) or not (
316
- str(response.get("stats", "")).lower() == "success"
317
- and response.get("code") == "M000"
318
- ):
319
- raise APIError(
320
- f"Antminer rejected bitmain-work-mode={work_mode}: {response!r}"
372
+ last_error = None
373
+ for delay in _POWER_MODE_VERIFY_DELAYS:
374
+ await asyncio.sleep(delay)
375
+ try:
376
+ observed = await self.web.get_miner_conf()
377
+ current_mode = self._read_power_mode(observed)
378
+ except APIError as exc:
379
+ last_error = exc
380
+ continue
381
+ config = observed
382
+ last_error = None
383
+ if current_mode == work_mode:
384
+ self._power_mode_format = (field, as_str)
385
+ return True
386
+ if last_error is not None:
387
+ raise APIError(
388
+ f"Antminer {self.ip}: cannot verify {field}={work_mode}: {last_error}; "
389
+ f"command response={details}"
390
+ ) from last_error
391
+ if not accepted and not rejected:
392
+ raise APIError(
393
+ f"Antminer {self.ip} rejected {field}={work_mode}: {details}; "
394
+ f"observed={current_mode}"
395
+ )
396
+ if current_mode != initial_mode:
397
+ raise APIError(
398
+ f"Antminer {self.ip}: unexpected power mode change "
399
+ f"(initial={initial_mode}, expected={work_mode}, observed={current_mode})"
400
+ )
401
+ logging.warning(
402
+ "%s: %s=%r returned %s/%s but readback bitmain-work-mode=%s%s",
403
+ self.ip,
404
+ field,
405
+ payload[field],
406
+ response_stats,
407
+ response_code,
408
+ current_mode,
409
+ "; trying alternate CGI format" if index < len(candidates) - 1 else "",
321
410
  )
322
- return True
411
+
412
+ raise APIError(
413
+ f"Antminer {self.ip}: power mode not applied after both CGI formats "
414
+ f"(expected={work_mode}, observed={current_mode})"
415
+ )
323
416
 
324
417
  async def stop_mining(self) -> bool:
325
- raw_config = await self.web.get_miner_conf()
326
- if not raw_config:
327
- raise APIError("No data was returned from the API")
328
- if self._uses_new_firmware_power_mode(raw_config):
329
- return await self._set_new_firmware_power_mode(raw_config, work_mode=1)
330
-
331
- # send_config -> set_miner_conf.cgi на стоковой прошивке Antminer
332
- # применяется через системный reboot. Не пушим конфиг, если режим
333
- # уже sleep — иначе получим лишнюю перезагрузку устройства.
334
- self.config = MinerConfig.from_am_modern(raw_config)
335
- cfg = self.config
336
- if isinstance(cfg.mining_mode, MiningModeSleep):
337
- return True
338
- cfg.mining_mode = MiningModeConfig.sleep()
339
- await self.send_config(cfg)
340
- return True
418
+ return await self._set_power_mode(work_mode=1)
341
419
 
342
420
  async def resume_mining(self) -> bool:
343
- raw_config = await self.web.get_miner_conf()
344
- if not raw_config:
345
- raise APIError("No data was returned from the API")
346
- if self._uses_new_firmware_power_mode(raw_config):
347
- return await self._set_new_firmware_power_mode(raw_config, work_mode=0)
348
-
349
- self.config = MinerConfig.from_am_modern(raw_config)
350
- cfg = self.config
351
- if not isinstance(cfg.mining_mode, MiningModeSleep):
352
- return True
353
- cfg.mining_mode = MiningModeConfig.normal()
354
- await self.send_config(cfg)
355
- return True
421
+ return await self._set_power_mode(work_mode=0)
356
422
 
357
423
  async def _get_hostname(
358
424
  self, web_get_system_info: dict | None = None
@@ -632,18 +698,11 @@ class AntminerModern(BMMiner):
632
698
  try:
633
699
  web_get_conf = await self.web.get_miner_conf()
634
700
  except APIError:
635
- pass
636
-
637
- if web_get_conf is not None:
638
- try:
639
- if str(web_get_conf["bitmain-work-mode"]).isdigit():
640
- return (
641
- False if int(web_get_conf["bitmain-work-mode"]) == 1 else True
642
- )
643
- return False
644
- except LookupError:
645
- pass
646
- return None
701
+ return None
702
+ try:
703
+ return self._read_power_mode(web_get_conf) != 1
704
+ except APIError:
705
+ return None
647
706
 
648
707
  async def _get_uptime(
649
708
  self,
@@ -773,17 +832,11 @@ class AntminerModern(BMMiner):
773
832
  try:
774
833
  web_get_conf = await self.web.get_miner_conf()
775
834
  except APIError:
776
- pass
777
-
778
- if web_get_conf is not None:
779
- try:
780
- if str(web_get_conf["bitmain-work-mode"]).isdigit():
781
- return (
782
- True if int(web_get_conf["bitmain-work-mode"]) == 1 else False
783
- )
784
- return False
785
- except LookupError:
786
- pass
835
+ return None
836
+ try:
837
+ return self._read_power_mode(web_get_conf) == 1
838
+ except APIError:
839
+ return None
787
840
 
788
841
  async def _get_kernel_log(self) -> str | None:
789
842
  return await self.web.get_kernel_log()
@@ -1255,27 +1308,23 @@ class AntminerOld(CGMiner):
1255
1308
  pass
1256
1309
  return None
1257
1310
 
1258
- async def _is_sleep(self, web_get_conf: dict = None) -> bool:
1259
- """
1260
- Определяет, находится ли майнер в режиме "sleep" на основе параметра "bitmain-work-mode".
1261
-
1262
- Если значение "bitmain-work-mode" равно 1, возвращается True, иначе False.
1263
- В случае ошибки получения конфигурации или отсутствия нужного ключа возвращается False.
1264
-
1265
- :param web_get_conf: (необязательный) словарь с конфигурацией майнера.
1266
- :return: True, если режим равен 1, иначе False.
1267
- """
1311
+ async def _is_sleep(self, web_get_conf: dict | None = None) -> bool | None:
1312
+ """Возвращает состояние сна; неизвестный режим не считается пробуждением."""
1268
1313
  if web_get_conf is None:
1269
1314
  try:
1270
1315
  web_get_conf = await self.web.get_miner_conf()
1271
1316
  except APIError:
1272
- return False
1317
+ return None
1273
1318
 
1319
+ if not isinstance(web_get_conf, dict):
1320
+ return None
1321
+ value = web_get_conf.get("bitmain-work-mode")
1322
+ if isinstance(value, bool) or not isinstance(value, (str, int)):
1323
+ return None
1274
1324
  try:
1275
- mode_str = str(web_get_conf["bitmain-work-mode"])
1276
- if mode_str.isdigit():
1277
- mode = int(mode_str)
1278
- return True if mode == "1" else False
1279
- return False
1280
- except (KeyError, LookupError, ValueError):
1281
- return False
1325
+ mode = int(value)
1326
+ except ValueError:
1327
+ return None
1328
+ if mode not in (0, 1, 2, 3, 5):
1329
+ return None
1330
+ return mode == 1
@@ -75,7 +75,10 @@ class AntminerModernWebAPI(BaseWebAPI):
75
75
  else:
76
76
  data = await client.get(url, auth=auth)
77
77
  except httpx.HTTPError as e:
78
- return {"success": False, "message": f"HTTP error occurred: {str(e)}"}
78
+ return {
79
+ "success": False,
80
+ "message": f"HTTP {type(e).__name__} from Antminer CGI {command}: {e}",
81
+ }
79
82
  else:
80
83
  if data.status_code == 200:
81
84
  try:
@@ -84,7 +87,10 @@ class AntminerModernWebAPI(BaseWebAPI):
84
87
  return data.json()
85
88
  except json.decoder.JSONDecodeError:
86
89
  return {"success": False, "message": "Failed to decode JSON"}
87
- return {"success": False, "message": "Unknown error occurred"}
90
+ return {
91
+ "success": False,
92
+ "message": f"HTTP {data.status_code} from Antminer CGI {command}",
93
+ }
88
94
 
89
95
  async def multicommand(
90
96
  self, *commands: str, ignore_errors: bool = False, allow_warning: bool = True
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyasic-umhost"
3
- version = "0.3.0.dev5"
3
+ version = "0.3.0.dev6"
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"