feature: add support for a lot of whatsminers

This commit is contained in:
Upstream Data
2025-01-02 14:39:12 -07:00
committed by Brett Rowan
parent bb399fe362
commit fe9894919e
156 changed files with 4211 additions and 2447 deletions

227
poetry.lock generated
View File

@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
[[package]]
name = "aiofiles"
@@ -205,116 +205,103 @@ files = [
[[package]]
name = "charset-normalizer"
version = "3.4.0"
version = "3.4.1"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
python-versions = ">=3.7.0"
python-versions = ">=3.7"
files = [
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"},
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"},
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"},
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"},
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"},
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"},
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"},
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"},
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"},
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"},
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"},
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"},
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"},
{file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"},
{file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"},
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"},
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"},
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"},
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"},
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"},
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"},
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"},
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"},
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"},
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"},
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"},
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"},
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"},
{file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"},
{file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"},
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"},
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"},
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"},
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"},
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"},
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"},
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"},
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"},
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"},
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"},
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"},
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"},
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"},
{file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"},
{file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"},
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"},
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"},
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"},
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"},
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"},
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"},
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"},
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"},
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"},
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"},
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"},
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"},
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"},
{file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"},
{file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"},
{file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"},
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"},
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"},
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"},
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"},
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"},
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"},
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"},
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"},
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"},
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"},
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"},
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"},
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"},
{file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"},
{file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"},
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"},
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"},
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"},
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"},
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"},
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"},
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"},
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"},
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"},
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"},
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"},
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"},
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"},
{file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"},
{file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"},
{file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"},
{file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"},
{file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"},
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"},
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"},
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"},
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"},
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"},
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"},
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"},
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"},
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"},
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"},
{file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"},
{file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"},
{file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"},
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"},
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"},
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"},
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"},
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"},
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"},
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"},
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"},
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"},
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"},
{file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"},
{file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"},
{file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"},
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"},
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"},
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"},
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"},
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"},
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"},
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"},
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"},
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"},
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"},
{file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"},
{file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"},
{file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"},
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"},
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"},
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"},
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"},
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"},
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"},
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"},
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"},
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"},
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"},
{file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"},
{file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"},
{file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"},
{file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"},
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"},
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"},
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"},
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"},
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"},
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"},
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"},
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"},
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"},
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"},
{file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"},
{file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"},
{file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"},
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"},
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"},
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"},
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"},
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"},
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"},
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"},
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"},
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"},
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"},
{file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"},
{file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"},
{file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"},
{file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"},
]
[[package]]
@@ -451,13 +438,13 @@ dev = ["flake8", "markdown", "twine", "wheel"]
[[package]]
name = "griffe"
version = "1.5.1"
version = "1.5.4"
description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API."
optional = false
python-versions = ">=3.9"
files = [
{file = "griffe-1.5.1-py3-none-any.whl", hash = "sha256:ad6a7980f8c424c9102160aafa3bcdf799df0e75f7829d75af9ee5aef656f860"},
{file = "griffe-1.5.1.tar.gz", hash = "sha256:72964f93e08c553257706d6cd2c42d1c172213feb48b2be386f243380b405d4b"},
{file = "griffe-1.5.4-py3-none-any.whl", hash = "sha256:ed33af890586a5bebc842fcb919fc694b3dc1bc55b7d9e0228de41ce566b4a1d"},
{file = "griffe-1.5.4.tar.gz", hash = "sha256:073e78ad3e10c8378c2f798bd4ef87b92d8411e9916e157fd366a17cc4fd4e52"},
]
[package.dependencies]
@@ -575,13 +562,13 @@ files = [
[[package]]
name = "identify"
version = "2.6.3"
version = "2.6.4"
description = "File identification library for Python"
optional = false
python-versions = ">=3.9"
files = [
{file = "identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd"},
{file = "identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02"},
{file = "identify-2.6.4-py2.py3-none-any.whl", hash = "sha256:993b0f01b97e0568c179bb9196391ff391bfb88a99099dbf5ce392b68f42d0af"},
{file = "identify-2.6.4.tar.gz", hash = "sha256:285a7d27e397652e8cafe537a6cc97dd470a970f48fb2e9d979aa38eae5513ac"},
]
[package.extras]
@@ -889,13 +876,13 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"]
[[package]]
name = "mkdocstrings-python"
version = "1.12.2"
version = "1.13.0"
description = "A Python handler for mkdocstrings."
optional = false
python-versions = ">=3.9"
files = [
{file = "mkdocstrings_python-1.12.2-py3-none-any.whl", hash = "sha256:7f7d40d6db3cb1f5d19dbcd80e3efe4d0ba32b073272c0c0de9de2e604eda62a"},
{file = "mkdocstrings_python-1.12.2.tar.gz", hash = "sha256:7a1760941c0b52a2cd87b960a9e21112ffe52e7df9d0b9583d04d47ed2e186f3"},
{file = "mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97"},
{file = "mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c"},
]
[package.dependencies]
@@ -1108,13 +1095,13 @@ virtualenv = ">=20.10.0"
[[package]]
name = "pyaml"
version = "24.12.1"
version = "25.1.0"
description = "PyYAML-based module to produce a bit more pretty and readable YAML-serialized data"
optional = false
python-versions = ">=3.8"
files = [
{file = "pyaml-24.12.1-py3-none-any.whl", hash = "sha256:97ed4d31ecc1d7bb93f3d2a66e53548c53d6f572d75d166957abc64a06033b76"},
{file = "pyaml-24.12.1.tar.gz", hash = "sha256:3938c2b47924ed74524f844961a011852f7968fb8cc7b3933276087c5d1e45b3"},
{file = "pyaml-25.1.0-py3-none-any.whl", hash = "sha256:f7b40629d2dae88035657c860f539db3525ddd0120a11e0bcb44d47d5968b3bc"},
{file = "pyaml-25.1.0.tar.gz", hash = "sha256:33a93ac49218f57e020b81e280d2706cea554ac5a76445ac79add760d019c709"},
]
[package.dependencies]

View File

@@ -65,23 +65,84 @@ class AntminerModels(MinerModelType):
class WhatsminerModels(MinerModelType):
M20V10 = "M20 V10"
M20SV10 = "M20S V10"
M20SV20 = "M20S V20"
M20SV30 = "M20S V30"
M20PV10 = "M20P V10"
M20PV30 = "M20P V30"
M20SPlusV30 = "M20S+ V30"
M21V10 = "M21 V10"
M20SV10 = "M20S V10"
M20SV20 = "M20S V20"
M20SV30 = "M20S V30"
M20V10 = "M20 V10"
M21SPlusV20 = "M21S+ V20"
M21SV20 = "M21S V20"
M21SV60 = "M21S V60"
M21SV70 = "M21S V70"
M21SPlusV20 = "M21S+ V20"
M21V10 = "M21 V10"
M29V10 = "M29 V10"
M30V10 = "M30 V10"
M30V20 = "M30 V20"
M30KV10 = "M30K V10"
M30LV10 = "M30L V10"
M30SPlusPlusV10 = "M30S++ V10"
M30SPlusPlusV20 = "M30S++ V20"
M30SPlusPlusVE30 = "M30S++ VE30"
M30SPlusPlusVE40 = "M30S++ VE40"
M30SPlusPlusVE50 = "M30S++ VE50"
M30SPlusPlusVF40 = "M30S++ VF40"
M30SPlusPlusVG30 = "M30S++ VG30"
M30SPlusPlusVG40 = "M30S++ VG40"
M30SPlusPlusVG50 = "M30S++ VG50"
M30SPlusPlusVH10 = "M30S++ VH10"
M30SPlusPlusVH100 = "M30S++ VH100"
M30SPlusPlusVH110 = "M30S++ VH110"
M30SPlusPlusVH20 = "M30S++ VH20"
M30SPlusPlusVH30 = "M30S++ VH30"
M30SPlusPlusVH40 = "M30S++ VH40"
M30SPlusPlusVH50 = "M30S++ VH50"
M30SPlusPlusVH60 = "M30S++ VH60"
M30SPlusPlusVH70 = "M30S++ VH70"
M30SPlusPlusVH80 = "M30S++ VH80"
M30SPlusPlusVH90 = "M30S++ VH90"
M30SPlusPlusVI30 = "M30S++ VI30"
M30SPlusPlusVJ20 = "M30S++ VJ20"
M30SPlusPlusVJ30 = "M30S++ VJ30"
M30SPlusPlusVJ50 = "M30S++ VJ50"
M30SPlusPlusVJ60 = "M30S++ VJ60"
M30SPlusPlusVJ70 = "M30S++ VJ70"
M30SPlusPlusVK30 = "M30S++ VK30"
M30SPlusPlusVK40 = "M30S++ VK40"
M30SPlusV10 = "M30S+ V10"
M30SPlusV100 = "M30S+ V100"
M30SPlusV20 = "M30S+ V20"
M30SPlusV30 = "M30S+ V30"
M30SPlusV40 = "M30S+ V40"
M30SPlusV50 = "M30S+ V50"
M30SPlusV60 = "M30S+ V60"
M30SPlusV70 = "M30S+ V70"
M30SPlusV80 = "M30S+ V80"
M30SPlusV90 = "M30S+ V90"
M30SPlusVE100 = "M30S+ VE100"
M30SPlusVE30 = "M30S+ VE30"
M30SPlusVE40 = "M30S+ VE40"
M30SPlusVE50 = "M30S+ VE50"
M30SPlusVE60 = "M30S+ VE60"
M30SPlusVE70 = "M30S+ VE70"
M30SPlusVE80 = "M30S+ VE80"
M30SPlusVE90 = "M30S+ VE90"
M30SPlusVF20 = "M30S+ VF20"
M30SPlusVF30 = "M30S+ VF30"
M30SPlusVG20 = "M30S+ VG20"
M30SPlusVG30 = "M30S+ VG30"
M30SPlusVG40 = "M30S+ VG40"
M30SPlusVG50 = "M30S+ VG50"
M30SPlusVG60 = "M30S+ VG60"
M30SPlusVH10 = "M30S+ VH10"
M30SPlusVH20 = "M30S+ VH20"
M30SPlusVH30 = "M30S+ VH30"
M30SPlusVH40 = "M30S+ VH40"
M30SPlusVH50 = "M30S+ VH50"
M30SPlusVH60 = "M30S+ VH60"
M30SPlusVH70 = "M30S+ VH70"
M30SPlusVI30 = "M30S+ VI30"
M30SPlusVJ30 = "M30S+ VJ30"
M30SPlusVJ40 = "M30S+ VJ40"
M30SV10 = "M30S V10"
M30SV20 = "M30S V20"
M30SV30 = "M30S V30"
@@ -111,63 +172,35 @@ class WhatsminerModels(MinerModelType):
M30SVH50 = "M30S VH50"
M30SVH60 = "M30S VH60"
M30SVI20 = "M30S VI20"
M30SPlusV10 = "M30S+ V10"
M30SPlusV20 = "M30S+ V20"
M30SPlusV30 = "M30S+ V30"
M30SPlusV40 = "M30S+ V40"
M30SPlusV50 = "M30S+ V50"
M30SPlusV60 = "M30S+ V60"
M30SPlusV70 = "M30S+ V70"
M30SPlusV80 = "M30S+ V80"
M30SPlusV90 = "M30S+ V90"
M30SPlusV100 = "M30S+ V100"
M30SPlusVE30 = "M30S+ VE30"
M30SPlusVE40 = "M30S+ VE40"
M30SPlusVE50 = "M30S+ VE50"
M30SPlusVE60 = "M30S+ VE60"
M30SPlusVE70 = "M30S+ VE70"
M30SPlusVE80 = "M30S+ VE80"
M30SPlusVE90 = "M30S+ VE90"
M30SPlusVE100 = "M30S+ VE100"
M30SPlusVF20 = "M30S+ VF20"
M30SPlusVF30 = "M30S+ VF30"
M30SPlusVG20 = "M30S+ VG20"
M30SPlusVG30 = "M30S+ VG30"
M30SPlusVG40 = "M30S+ VG40"
M30SPlusVG50 = "M30S+ VG50"
M30SPlusVG60 = "M30S+ VG60"
M30SPlusVH10 = "M30S+ VH10"
M30SPlusVH20 = "M30S+ VH20"
M30SPlusVH30 = "M30S+ VH30"
M30SPlusVH40 = "M30S+ VH40"
M30SPlusVH50 = "M30S+ VH50"
M30SPlusVH60 = "M30S+ VH60"
M30SPlusPlusV10 = "M30S++ V10"
M30SPlusPlusV20 = "M30S++ V20"
M30SPlusPlusVE30 = "M30S++ VE30"
M30SPlusPlusVE40 = "M30S++ VE40"
M30SPlusPlusVE50 = "M30S++ VE50"
M30SPlusPlusVF40 = "M30S++ VF40"
M30SPlusPlusVG30 = "M30S++ VG30"
M30SPlusPlusVG40 = "M30S++ VG40"
M30SPlusPlusVG50 = "M30S++ VG50"
M30SPlusPlusVH10 = "M30S++ VH10"
M30SPlusPlusVH20 = "M30S++ VH20"
M30SPlusPlusVH30 = "M30S++ VH30"
M30SPlusPlusVH40 = "M30S++ VH40"
M30SPlusPlusVH50 = "M30S++ VH50"
M30SPlusPlusVH60 = "M30S++ VH60"
M30SPlusPlusVH70 = "M30S++ VH70"
M30SPlusPlusVH80 = "M30S++ VH80"
M30SPlusPlusVH90 = "M30S++ VH90"
M30SPlusPlusVH100 = "M30S++ VH100"
M30SPlusPlusVJ20 = "M30S++ VJ20"
M30SPlusPlusVJ30 = "M30S++ VJ30"
M31V10 = "M31 V10"
M31V20 = "M31 V20"
M30SVJ30 = "M30S VJ30"
M30V10 = "M30 V10"
M30V20 = "M30 V20"
M31HV10 = "M31H V10"
M31HV40 = "M31H V40"
M31LV10 = "M30L V10"
M31LV10 = "M31L V10"
M31SPlusV10 = "M31S+ V10"
M31SPlusV100 = "M31S+ V100"
M31SPlusV20 = "M31S+ V20"
M31SPlusV30 = "M31S+ V30"
M31SPlusV40 = "M31S+ V40"
M31SPlusV50 = "M31S+ V50"
M31SPlusV60 = "M31S+ V60"
M31SPlusV80 = "M31S+ V80"
M31SPlusV90 = "M31S+ V90"
M31SPlusVE10 = "M31S+ VE10"
M31SPlusVE20 = "M31S+ VE20"
M31SPlusVE30 = "M31S+ VE30"
M31SPlusVE40 = "M31S+ VE40"
M31SPlusVE50 = "M31S+ VE50"
M31SPlusVE60 = "M31S+ VE60"
M31SPlusVE80 = "M31S+ VE80"
M31SPlusVF20 = "M31S+ VF20"
M31SPlusVF30 = "M31S+ VF30"
M31SPlusVG20 = "M31S+ VG20"
M31SPlusVG30 = "M31S+ VG30"
M31SEV10 = "M31SE V10"
M31SEV20 = "M31SE V20"
M31SEV30 = "M31SE V30"
M31SV10 = "M31S V10"
M31SV20 = "M31S V20"
M31SV30 = "M31S V30"
@@ -180,49 +213,69 @@ class WhatsminerModels(MinerModelType):
M31SVE10 = "M31S VE10"
M31SVE20 = "M31S VE20"
M31SVE30 = "M31S VE30"
M31SEV10 = "M31SE V10"
M31SEV20 = "M31SE V20"
M31SEV30 = "M31SE V30"
M31SPlusV10 = "M31S+ V10"
M31SPlusV20 = "M31S+ V20"
M31SPlusV30 = "M31S+ V30"
M31SPlusV40 = "M31S+ V40"
M31SPlusV50 = "M31S+ V50"
M31SPlusV60 = "M31S+ V60"
M31SPlusV80 = "M31S+ V80"
M31SPlusV90 = "M31S+ V90"
M31SPlusV100 = "M31S+ V100"
M31SPlusVE10 = "M31S+ VE10"
M31SPlusVE20 = "M31S+ VE20"
M31SPlusVE30 = "M31S+ VE30"
M31SPlusVE40 = "M31S+ VE40"
M31SPlusVE50 = "M31S+ VE50"
M31SPlusVE60 = "M31S+ VE60"
M31SPlusVE80 = "M31S+ VE80"
M31SPlusVF20 = "M31S+ VF20"
M31SPlusVF30 = "M31S+ VF30"
M31SPlusVG20 = "M31S+ VG20"
M31SPlusVG30 = "M31S+ VG30"
M31V10 = "M31 V10"
M31V20 = "M31 V20"
M32V10 = "M32 V10"
M32V20 = "M32 V20"
M32S = "M32S"
M33SPlusPlusVG40 = "M33S++ VG40"
M33SPlusPlusVH20 = "M33S++ VH20"
M33SPlusPlusVH30 = "M33S++ VH30"
M33SPlusVG20 = "M33S+ VG20"
M33SPlusVG30 = "M33S+ VG30"
M33SPlusVH20 = "M33S+ VH20"
M33SPlusVH30 = "M33S+ VH30"
M33SVG30 = "M33S VG30"
M33V10 = "M33 V10"
M33V20 = "M33 V20"
M33V30 = "M33 V30"
M33SVG30 = "M33S VG30"
M33SPlusVG20 = "M33S+ VG20"
M33SPlusVH20 = "M33S+ VH20"
M33SPlusVH30 = "M33S+ VH30"
M33SPlusPlusVH20 = "M33S++ VH20"
M33SPlusPlusVH30 = "M33S++ VH30"
M33SPlusPlusVG40 = "M33S++ VG40"
M34SPlusVE10 = "M34S+ VE10"
M36SVE10 = "M36S VE10"
M36SPlusVG30 = "M36S+ VG30"
M36SPlusPlusVH30 = "M36S++ VH30"
M36SPlusVG30 = "M36S+ VG30"
M36SVE10 = "M36S VE10"
M39V10 = "M39 V10"
M39V20 = "M39 V20"
M39V30 = "M39 V30"
M50SPlusPlusVK10 = "M50S++ VK10"
M50SPlusPlusVK20 = "M50S++ VK20"
M50SPlusPlusVK30 = "M50S++ VK30"
M50SPlusPlusVK40 = "M50S++ VK40"
M50SPlusPlusVK50 = "M50S++ VK50"
M50SPlusPlusVK60 = "M50S++ VK60"
M50SPlusPlusVL20 = "M50S++ VL20"
M50SPlusPlusVL30 = "M50S++ VL30"
M50SPlusPlusVL40 = "M50S++ VL40"
M50SPlusPlusVL50 = "M50S++ VL50"
M50SPlusPlusVL60 = "M50S++ VL60"
M50SPlusVH30 = "M50S+ VH30"
M50SPlusVH40 = "M50S+ VH40"
M50SPlusVJ30 = "M50S+ VJ30"
M50SPlusVJ40 = "M50S+ VJ40"
M50SPlusVJ60 = "M50S+ VJ60"
M50SPlusVK10 = "M50S+ VK10"
M50SPlusVK20 = "M50S+ VK20"
M50SPlusVK30 = "M50S+ VK30"
M50SPlusVL10 = "M50S+ VL10"
M50SPlusVL20 = "M50S+ VL20"
M50SPlusVL30 = "M50S+ VL30"
M50SVH10 = "M50S VH10"
M50SVH20 = "M50S VH20"
M50SVH30 = "M50S VH30"
M50SVH40 = "M50S VH40"
M50SVH50 = "M50S VH50"
M50SVJ10 = "M50S VJ10"
M50SVJ20 = "M50S VJ20"
M50SVJ30 = "M50S VJ30"
M50SVJ40 = "M50S VJ40"
M50SVJ50 = "M50S VJ50"
M50SVK10 = "M50S VK10"
M50SVK20 = "M50S VK20"
M50SVK30 = "M50S VK30"
M50SVK50 = "M50S VK50"
M50SVK60 = "M50S VK60"
M50SVK70 = "M50S VK70"
M50SVK80 = "M50S VK80"
M50SVL20 = "M50S VL20"
M50SVL30 = "M50S VL30"
M50VE30 = "M50 VE30"
M50VG30 = "M50 VG30"
M50VH10 = "M50 VH10"
@@ -237,50 +290,143 @@ class WhatsminerModels(MinerModelType):
M50VJ10 = "M50 VJ10"
M50VJ20 = "M50 VJ20"
M50VJ30 = "M50 VJ30"
M50SVJ10 = "M50S VJ10"
M50SVJ20 = "M50S VJ20"
M50SVJ30 = "M50S VJ30"
M50SVH10 = "M50S VH10"
M50SVH20 = "M50S VH20"
M50SVH30 = "M50S VH30"
M50SVH40 = "M50S VH40"
M50SVH50 = "M50S VH50"
M50SPlusVH30 = "M50S+ VH30"
M50SPlusVH40 = "M50S+ VH40"
M50SPlusVJ30 = "M50S+ VJ30"
M50SPlusVK20 = "M50S+ VK20"
M50SPlusPlusVK10 = "M50S++ VK10"
M50SPlusPlusVK20 = "M50S++ VK20"
M50SPlusPlusVK30 = "M50S++ VK30"
M50SPlusPlusVL30 = "M50S++ VL30"
M53VH30 = "M53 VH30"
M53SVH30 = "M53S VH30"
M53SVJ40 = "M53S VJ40"
M53SPlusVJ30 = "M53S+ VJ30"
M50VJ40 = "M50 VJ40"
M50VJ60 = "M50 VJ60"
M50VK40 = "M50 VK40"
M50VK50 = "M50 VK50"
M52SPlusPlusVL10 = "M52S++ VL10"
M52SVK30 = "M52S VK30"
M53HVH10 = "M53H VH10"
M53SPlusPlusVK10 = "M53S++ VK10"
M56VH30 = "M56 VH30"
M56SVH30 = "M56S VH30"
M53SPlusPlusVK20 = "M53S++ VK20"
M53SPlusPlusVK30 = "M53S++ VK30"
M53SPlusPlusVK50 = "M53S++ VK50"
M53SPlusPlusVL10 = "M53S++ VL10"
M53SPlusPlusVL30 = "M53S++ VL30"
M53SPlusVJ30 = "M53S+ VJ30"
M53SPlusVJ40 = "M53S+ VJ40"
M53SPlusVJ50 = "M53S+ VJ50"
M53SPlusVK30 = "M53S+ VK30"
M53SVH20 = "M53S VH20"
M53SVH30 = "M53S VH30"
M53SVJ30 = "M53S VJ30"
M53SVJ40 = "M53S VJ40"
M53SVK30 = "M53S VK30"
M53VH30 = "M53 VH30"
M53VH40 = "M53 VH40"
M53VH50 = "M53 VH50"
M53VK30 = "M53 VK30"
M53VK60 = "M53 VK60"
M54SPlusPlusVK30 = "M54S++ VK30"
M54SPlusPlusVL30 = "M54S++ VL30"
M54SPlusPlusVL40 = "M54S++ VL40"
M56SPlusPlusVK10 = "M56S++ VK10"
M56SPlusPlusVK30 = "M56S++ VK30"
M56SPlusPlusVK40 = "M56S++ VK40"
M56SPlusPlusVK50 = "M56S++ VK50"
M56SPlusVJ30 = "M56S+ VJ30"
M56SPlusVK30 = "M56S+ VK30"
M56SPlusVK40 = "M56S+ VK40"
M56SPlusVK50 = "M56S+ VK50"
M56SVH30 = "M56S VH30"
M56SVJ30 = "M56S VJ30"
M56SVJ40 = "M56S VJ40"
M56VH30 = "M56 VH30"
M59VH30 = "M59 VH30"
M60VK10 = "M60 VK10"
M60VK20 = "M60 VK20"
M60VK30 = "M60 VK30"
M60VK40 = "M60 VK40"
M60SPlusPlusVL30 = "M60S++ VL30"
M60SPlusPlusVL40 = "M60S++ VL40"
M60SPlusVK30 = "M60S+ VK30"
M60SPlusVK40 = "M60S+ VK40"
M60SPlusVK50 = "M60S+ VK50"
M60SPlusVK60 = "M60S+ VK60"
M60SPlusVK70 = "M60S+ VK70"
M60SPlusVL10 = "M60S+ VL10"
M60SPlusVL30 = "M60S+ VL30"
M60SPlusVL40 = "M60S+ VL40"
M60SPlusVL50 = "M60S+ VL50"
M60SPlusVL60 = "M60S+ VL60"
M60SVK10 = "M60S VK10"
M60SVK20 = "M60S VK20"
M60SVK30 = "M60S VK30"
M60SVK40 = "M60S VK40"
M63VK10 = "M63 VK10"
M63VK20 = "M63 VK20"
M63VK30 = "M63 VK30"
M60SVL10 = "M60S VL10"
M60SVL20 = "M60S VL20"
M60SVL30 = "M60S VL30"
M60SVL40 = "M60S VL40"
M60SVL50 = "M60S VL50"
M60SVL60 = "M60S VL60"
M60SVL70 = "M60S VL70"
M60VK10 = "M60 VK10"
M60VK20 = "M60 VK20"
M60VK30 = "M60 VK30"
M60VK40 = "M60 VK40"
M60VK6A = "M60 VK6A"
M60VL10 = "M60 VL10"
M60VL20 = "M60 VL20"
M60VL30 = "M60 VL30"
M60VL40 = "M60 VL40"
M60VL50 = "M60 VL50"
M61SPlusVL30 = "M61S+ VL30"
M61SVL10 = "M61S VL10"
M61SVL20 = "M61S VL20"
M61SVL30 = "M61S VL30"
M61VK10 = "M61 VK10"
M61VK20 = "M61 VK20"
M61VK30 = "M61 VK30"
M61VK40 = "M61 VK40"
M61VL10 = "M61 VL10"
M61VL30 = "M61 VL30"
M61VL40 = "M61 VL40"
M61VL50 = "M61 VL50"
M61VL60 = "M61 VL60"
M62SPlusVK30 = "M62S+ VK30"
M63SPlusPlusVL20 = "M63S++ VL20"
M63SPlusVK30 = "M63S+ VK30"
M63SPlusVL10 = "M63S+ VL10"
M63SPlusVL20 = "M63S+ VL20"
M63SPlusVL30 = "M63S+ VL30"
M63SPlusVL50 = "M63S+ VL50"
M63SVK10 = "M63S VK10"
M63SVK20 = "M63S VK20"
M63SVK30 = "M63S VK30"
M66VK20 = "M66 VK20"
M66VK30 = "M66 VK30"
M63SVK60 = "M63S VK60"
M63SVL10 = "M63S VL10"
M63SVL50 = "M63S VL50"
M63SVL60 = "M63S VL60"
M63VK10 = "M63 VK10"
M63VK20 = "M63 VK20"
M63VK30 = "M63 VK30"
M63VL10 = "M63 VL10"
M63VL30 = "M63 VL30"
M64SVL30 = "M64S VL30"
M64VL30 = "M64 VL30"
M64VL40 = "M64 VL40"
M65SPlusVK30 = "M65S+ VK30"
M65SVK20 = "M65S VK20"
M65SVL60 = "M65S VL60"
M66SPlusPlusVL20 = "M66S++ VL20"
M66SPlusVK30 = "M66S+ VK30"
M66SPlusVL10 = "M66S+ VL10"
M66SPlusVL20 = "M66S+ VL20"
M66SPlusVL30 = "M66S+ VL30"
M66SPlusVL40 = "M66S+ VL40"
M66SPlusVL60 = "M66S+ VL60"
M66SVK20 = "M66S VK20"
M66SVK30 = "M66S VK30"
M66SVK40 = "M66S VK40"
M66SVK50 = "M66S VK50"
M66SVK60 = "M66S VK60"
M66SVL10 = "M66S VL10"
M66SVL20 = "M66S VL20"
M66SVL30 = "M66S VL30"
M66SVL40 = "M66S VL40"
M66SVL50 = "M66S VL50"
M66VK20 = "M66 VK20"
M66VK30 = "M66 VK30"
M66VL20 = "M66 VL20"
M66VL30 = "M66 VL30"
M67SVK30 = "M67S VK30"
M70VM30 = "M70 VM30"
def __str__(self):
return self.value

View File

@@ -32,4 +32,4 @@ from .luxminer import LUXMiner
from .marathon import MaraMiner
from .unknown import UnknownMiner
from .vnish import VNish
from .whatsminer import M2X, M3X, M5X, M6X
from .whatsminer import M2X, M3X, M5X, M6X, M7X

View File

@@ -229,7 +229,7 @@ class BlackMiner(StockFirmware):
hashrate = boards[1].get(f"chain_rate{i}")
if hashrate:
hashboard.hashrate = self.algo.hashrate(
rate=float(hashrate), unit=self.algo.unit.MH
rate=float(hashrate), unit=self.algo.unit.GH
).into(self.algo.unit.default)
chips = boards[1].get(f"chain_acn{i}")

View File

@@ -16,6 +16,10 @@
from pyasic.miners.backends.btminer import BTMiner
class M7X(BTMiner):
supports_autotuning = True
class M6X(BTMiner):
supports_autotuning = True

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M20SPlusV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M20SPlusV30
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M21SPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M21SPlusV20
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M20 import M20V10
from .M20P import M20PV10, M20PV30
from .M20S import M20SV10, M20SV20, M20SV30

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M30KV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30KV10
expected_hashboards = 4
expected_chips = 240
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -75,6 +60,7 @@ class M30SV60(WhatsMinerMake):
class M30SV70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV70
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -137,6 +123,7 @@ class M30SVE50(WhatsMinerMake):
class M30SVE60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE60
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -145,6 +132,7 @@ class M30SVE60(WhatsMinerMake):
class M30SVE70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE70
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -234,6 +222,7 @@ class M30SVH20(WhatsMinerMake):
class M30SVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH30
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -260,6 +249,7 @@ class M30SVH50(WhatsMinerMake):
class M30SVH60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH60
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -272,3 +262,12 @@ class M30SVI20(WhatsMinerMake):
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVJ30
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -27,6 +12,15 @@ class M30SPlusV10(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M30SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV100
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV20
@@ -39,6 +33,7 @@ class M30SPlusV20(WhatsMinerMake):
class M30SPlusV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV30
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -98,10 +93,10 @@ class M30SPlusV90(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M30SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV100
class M30SPlusVE100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE100
expected_chips = 215
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -146,6 +141,7 @@ class M30SPlusVE60(WhatsMinerMake):
class M30SPlusVE70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE70
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -154,6 +150,7 @@ class M30SPlusVE70(WhatsMinerMake):
class M30SPlusVE80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE80
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -162,14 +159,7 @@ class M30SPlusVE80(WhatsMinerMake):
class M30SPlusVE90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE90
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE100
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -290,3 +280,39 @@ class M30SPlusVH60(WhatsMinerMake):
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH70
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVI30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVI30
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVJ30
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVJ40
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,18 +6,18 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M30SPlusPlusV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV10
expected_hashboards = 4
expected_chips = 255
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M30SPlusPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV20
expected_hashboards = 4
expected_chips = 255
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256
@@ -93,6 +78,7 @@ class M30SPlusPlusVG40(WhatsMinerMake):
class M30SPlusPlusVG50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVG50
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -107,6 +93,24 @@ class M30SPlusPlusVH10(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M30SPlusPlusVH100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH100
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH110(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH110
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH20
@@ -179,10 +183,10 @@ class M30SPlusPlusVH90(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M30SPlusPlusVH100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH100
class M30SPlusPlusVI30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVI30
expected_chips = 82
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -191,6 +195,7 @@ class M30SPlusPlusVH100(WhatsMinerMake):
class M30SPlusPlusVJ20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ20
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -199,6 +204,52 @@ class M30SPlusPlusVJ20(WhatsMinerMake):
class M30SPlusPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ30
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVJ50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ50
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVJ60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ60
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVJ70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ70
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVK30
expected_chips = 74
expected_fans = 2
expected_hashboards = 2
algo = MinerAlgo.SHA256
class M30SPlusPlusVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVK40
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -22,7 +7,7 @@ class M31HV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31HV10
expected_chips = 114
expected_fans = 0
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -30,7 +15,7 @@ class M31HV10(WhatsMinerMake):
class M31HV40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31HV40
expected_hashboards = 4
expected_chips = 136
expected_fans = 0
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M31LV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31LV10
expected_chips = 114
expected_chips = 144
expected_fans = 2
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -84,6 +69,7 @@ class M31SV70(WhatsMinerMake):
class M31SV80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV80
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -119,6 +105,7 @@ class M31SVE20(WhatsMinerMake):
class M31SVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SVE30
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -27,6 +12,15 @@ class M31SPlusV10(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M31SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV100
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV20
@@ -90,15 +84,6 @@ class M31SPlusV90(WhatsMinerMake):
algo = MinerAlgo.SHA256
class M31SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV100
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE10
@@ -147,6 +132,7 @@ class M31SPlusVE50(WhatsMinerMake):
class M31SPlusVE60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE60
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -155,6 +141,7 @@ class M31SPlusVE60(WhatsMinerMake):
class M31SPlusVE80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE80
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -172,6 +159,7 @@ class M31SPlusVF20(WhatsMinerMake):
class M31SPlusVF30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVF30
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M33SVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SVG30
expected_hashboards = 4
expected_chips = 116
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,24 +6,34 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M33SPlusVG20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusVG20
expected_hashboards = 4
expected_chips = 112
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M33SPlusVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusVG30
expected_chips = 162
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M33SPlusVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusVH20
expected_hashboards = 4
expected_chips = 100
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M33SPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusVH30
expected_hashboards = 4
expected_chips = None
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,44 +1,30 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M33SPlusPlusVG40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVG40
expected_chips = 174
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M33SPlusPlusVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVH20
expected_hashboards = 4
expected_chips = 112
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M33SPlusPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVH30
expected_hashboards = 4
expected_chips = None
expected_fans = 0
algo = MinerAlgo.SHA256
class M33SPlusPlusVG40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M33SPlusPlusVG40
expected_hashboards = 4
expected_chips = 174
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M34SPlusVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M34SPlusVE10
expected_hashboards = 4
expected_chips = 116
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M36SVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M36SVE10
expected_hashboards = 4
expected_chips = 114
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M36SPlusVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M36SPlusVG30
expected_hashboards = 4
expected_chips = 108
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M36SPlusPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M36SPlusPlusVH30
expected_hashboards = 4
expected_chips = 80
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M30 import M30V10, M30V20
from .M30K import M30KV10
from .M30L import M30LV10
@@ -47,6 +31,7 @@ from .M30S import (
M30SVH50,
M30SVH60,
M30SVI20,
M30SVJ30,
)
from .M30S_Plus import (
M30SPlusV10,
@@ -80,6 +65,10 @@ from .M30S_Plus import (
M30SPlusVH40,
M30SPlusVH50,
M30SPlusVH60,
M30SPlusVH70,
M30SPlusVI30,
M30SPlusVJ30,
M30SPlusVJ40,
)
from .M30S_Plus_Plus import (
M30SPlusPlusV10,
@@ -101,8 +90,15 @@ from .M30S_Plus_Plus import (
M30SPlusPlusVH80,
M30SPlusPlusVH90,
M30SPlusPlusVH100,
M30SPlusPlusVH110,
M30SPlusPlusVI30,
M30SPlusPlusVJ20,
M30SPlusPlusVJ30,
M30SPlusPlusVJ50,
M30SPlusPlusVJ60,
M30SPlusPlusVJ70,
M30SPlusPlusVK30,
M30SPlusPlusVK40,
)
from .M31 import M31V10, M31V20
from .M31H import M31HV10, M31HV40
@@ -145,10 +141,9 @@ from .M31S_Plus import (
)
from .M31SE import M31SEV10, M31SEV20, M31SEV30
from .M32 import M32V10, M32V20
from .M32S import M32S
from .M33 import M33V10, M33V20, M33V30
from .M33S import M33SVG30
from .M33S_Plus import M33SPlusVG20, M33SPlusVH20, M33SPlusVH30
from .M33S_Plus import M33SPlusVG20, M33SPlusVG30, M33SPlusVH20, M33SPlusVH30
from .M33S_Plus_Plus import M33SPlusPlusVG40, M33SPlusPlusVH20, M33SPlusPlusVH30
from .M34S_Plus import M34SPlusVE10
from .M36S import M36SVE10

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,9 +6,9 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M50VE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VE30
expected_hashboards = 4
expected_chips = 255
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256
@@ -120,6 +105,7 @@ class M50VH90(WhatsMinerMake):
class M50VJ10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VJ10
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -141,3 +127,39 @@ class M50VJ30(WhatsMinerMake):
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50VJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VJ40
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50VJ60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VJ60
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50VK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VK40
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50VK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50VK50
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,50 +1,12 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M50SVJ10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ10
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ20
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVH10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVH10
expected_chips = None
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -71,6 +33,7 @@ class M50SVH30(WhatsMinerMake):
class M50SVH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVH40
expected_chips = 148
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -83,3 +46,129 @@ class M50SVH50(WhatsMinerMake):
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ10
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ20
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ30
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ40
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVJ50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVJ50
expected_chips = 135
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK10
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK30
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK50
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK60
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK70
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVK80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVK80
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVL20
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SVL30
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M50SPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVH30
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -29,6 +15,7 @@ class M50SPlusVH30(WhatsMinerMake):
class M50SPlusVH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVH40
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -37,6 +24,34 @@ class M50SPlusVH40(WhatsMinerMake):
class M50SPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVJ30
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVJ40
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVJ60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVJ60
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVK10
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -49,3 +64,39 @@ class M50SPlusVK20(WhatsMinerMake):
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVK30
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVL10
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVL20
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusVL30
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -30,6 +15,7 @@ class M50SPlusPlusVK10(WhatsMinerMake):
class M50SPlusPlusVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK20
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -38,7 +24,43 @@ class M50SPlusPlusVK20(WhatsMinerMake):
class M50SPlusPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK30
expected_chips = 76
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK40
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK50
expected_chips = 135
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVK60
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL20
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -47,6 +69,34 @@ class M50SPlusPlusVK30(WhatsMinerMake):
class M50SPlusPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL30
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL40
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL50
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M50SPlusPlusVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M50SPlusPlusVL60
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M52SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M52SVK30
expected_chips = 62
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M52SPlusPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M52SPlusPlusVL10
expected_chips = 87
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,43 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M53VH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53VH30
expected_hashboards = 4
expected_chips = 128
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53VH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53VH40
expected_chips = 174
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53VH50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53VH50
expected_chips = 162
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53VK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53VK30
expected_chips = 100
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53VK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53VK60
expected_chips = 100
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M53HVH10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53HVH10
expected_chips = 56
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,34 +1,48 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M53SVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SVH20
expected_chips = 198
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SVH30
expected_chips = 204
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SVJ30
expected_chips = 180
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SVJ40
expected_chips = 192
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SVK30
expected_chips = 128
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,34 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M53SPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusVJ30
expected_chips = 240
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusVJ40
expected_chips = 248
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusVJ50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusVJ50
expected_chips = 264
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusVK30
expected_chips = 168
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,52 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M53SPlusPlusVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVK10
expected_chips = 198
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusPlusVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVK20
expected_chips = 192
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVK30
expected_chips = 240
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusPlusVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVK50
expected_chips = 186
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVL10
expected_chips = 128
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M53SPlusPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M53SPlusPlusVL30
expected_chips = 174
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,30 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M54SPlusPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M54SPlusPlusVK30
expected_chips = 96
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M54SPlusPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M54SPlusPlusVL30
expected_chips = 68
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M54SPlusPlusVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M54SPlusPlusVL40
expected_chips = 90
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,7 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M56VH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56VH30
expected_hashboards = 4
expected_chips = 108
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,25 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M56SVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SVH30
expected_chips = 152
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SVJ30
expected_chips = 132
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SVJ40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SVJ40
expected_chips = 152
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,34 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M56SPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusVJ30
expected_chips = 176
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusVK30
expected_chips = 108
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusVK40
expected_chips = 114
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusVK50
expected_chips = 120
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,39 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M56SPlusPlusVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusPlusVK10
expected_chips = 160
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusPlusVK30
expected_chips = 176
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusPlusVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusPlusVK40
expected_chips = 132
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M56SPlusPlusVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M56SPlusPlusVK50
expected_chips = 152
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M59VH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M59VH30
expected_chips = 132
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M50 import (
M50VE30,
M50VG30,
@@ -29,6 +13,10 @@ from .M50 import (
M50VJ10,
M50VJ20,
M50VJ30,
M50VJ40,
M50VJ60,
M50VK40,
M50VK50,
)
from .M50S import (
M50SVH10,
@@ -39,19 +27,66 @@ from .M50S import (
M50SVJ10,
M50SVJ20,
M50SVJ30,
M50SVJ40,
M50SVJ50,
M50SVK10,
M50SVK20,
M50SVK30,
M50SVK50,
M50SVK60,
M50SVK70,
M50SVK80,
M50SVL20,
M50SVL30,
)
from .M50S_Plus import (
M50SPlusVH30,
M50SPlusVH40,
M50SPlusVJ30,
M50SPlusVJ40,
M50SPlusVJ60,
M50SPlusVK10,
M50SPlusVK20,
M50SPlusVK30,
M50SPlusVL10,
M50SPlusVL20,
M50SPlusVL30,
)
from .M50S_Plus import M50SPlusVH30, M50SPlusVH40, M50SPlusVJ30, M50SPlusVK20
from .M50S_Plus_Plus import (
M50SPlusPlusVK10,
M50SPlusPlusVK20,
M50SPlusPlusVK30,
M50SPlusPlusVK40,
M50SPlusPlusVK50,
M50SPlusPlusVK60,
M50SPlusPlusVL20,
M50SPlusPlusVL30,
M50SPlusPlusVL40,
M50SPlusPlusVL50,
M50SPlusPlusVL60,
)
from .M53 import M53VH30
from .M53S import M53SVH30, M53SVJ40
from .M53S_Plus import M53SPlusVJ30
from .M53S_Plus_Plus import M53SPlusPlusVK10
from .M52S import M52SVK30
from .M52S_Plus_Plus import M52SPlusPlusVL10
from .M53 import M53VH30, M53VH40, M53VH50, M53VK30, M53VK60
from .M53H import M53HVH10
from .M53S import M53SVH20, M53SVH30, M53SVJ30, M53SVJ40, M53SVK30
from .M53S_Plus import M53SPlusVJ30, M53SPlusVJ40, M53SPlusVJ50, M53SPlusVK30
from .M53S_Plus_Plus import (
M53SPlusPlusVK10,
M53SPlusPlusVK20,
M53SPlusPlusVK30,
M53SPlusPlusVK50,
M53SPlusPlusVL10,
M53SPlusPlusVL30,
)
from .M54S_Plus_Plus import M54SPlusPlusVK30, M54SPlusPlusVL30, M54SPlusPlusVL40
from .M56 import M56VH30
from .M56S import M56SVH30
from .M56S_Plus import M56SPlusVJ30
from .M56S import M56SVH30, M56SVJ30, M56SVJ40
from .M56S_Plus import M56SPlusVJ30, M56SPlusVK30, M56SPlusVK40, M56SPlusVK50
from .M56S_Plus_Plus import (
M56SPlusPlusVK10,
M56SPlusPlusVK30,
M56SPlusPlusVK40,
M56SPlusPlusVK50,
)
from .M59 import M59VH30

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M60VK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VK10
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -38,6 +24,7 @@ class M60VK20(WhatsMinerMake):
class M60VK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VK30
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -46,6 +33,61 @@ class M60VK30(WhatsMinerMake):
class M60VK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VK40
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VK6A(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VK6A
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VL10
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VL20
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VL30
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VL40
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60VL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60VL50
expected_chips = 135
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M60SVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVK10
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -29,6 +15,7 @@ class M60SVK10(WhatsMinerMake):
class M60SVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVK20
expected_chips = 235
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -37,7 +24,7 @@ class M60SVK20(WhatsMinerMake):
class M60SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVK30
expected_chips = 78
expected_chips = 245
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -46,6 +33,70 @@ class M60SVK30(WhatsMinerMake):
class M60SVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVK40
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL10
expected_chips = 147
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL20
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL30
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL40
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL50
expected_chips = 188
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL60
expected_chips = 196
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SVL70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SVL70
expected_chips = 141
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,93 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M60SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVK30
expected_chips = 245
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVK40
expected_chips = 215
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M60SPlusVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVK50
expected_chips = 225
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M60SPlusVK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVK60
expected_chips = 294
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVK70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVK70
expected_chips = 306
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVL10
expected_chips = 196
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVL30
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVL40
expected_chips = 188
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVL50
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusVL60
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,21 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M60SPlusPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusPlusVL30
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M60SPlusPlusVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M60SPlusPlusVL40
expected_chips = 235
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,84 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M61VK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VK10
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VK20
expected_chips = 184
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VK30
expected_chips = 188
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VK40
expected_chips = 192
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VL10
expected_chips = 135
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VL30
expected_chips = 141
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VL40
expected_chips = 144
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VL50
expected_chips = 147
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61VL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61VL60
expected_chips = 150
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,30 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M61SVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61SVL10
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61SVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61SVL20
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M61SVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61SVL30
expected_chips = 180
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M61SPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M61SPlusVL30
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M62SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M62SPlusVK30
expected_chips = 430
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,23 +6,43 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M63VK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63VK10
expected_chips = None
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63VK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63VK20
expected_chips = 264
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63VK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63VK30
expected_chips = 68
expected_hashboards = 4
expected_chips = 272
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63VL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63VL10
expected_chips = 174
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63VL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63VL30
expected_chips = 216
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,22 +6,61 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M63SVK10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVK10
expected_chips = 340
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVK20
expected_chips = 350
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVK30
expected_chips = 370
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVK60
expected_chips = 350
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVL10
expected_chips = 228
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVL50
expected_chips = 288
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SVL60
expected_chips = 288
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,48 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M63SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusVK30
expected_chips = 456
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusVL10
expected_chips = 304
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusVL20
expected_chips = 340
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusVL30
expected_chips = 370
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M63SPlusVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusVL50
expected_chips = 272
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M63SPlusPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M63SPlusPlusVL20
expected_chips = 380
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,21 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M64VL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M64VL30
expected_chips = 114
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M64VL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M64VL40
expected_chips = 120
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M64SVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M64SVL30
expected_chips = 152
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,21 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M65SVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M65SVK20
expected_chips = 350
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M65SVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M65SVL60
expected_chips = 288
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M65SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M65SPlusVK30
expected_chips = 456
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,14 +6,34 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M66VK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66VK20
expected_chips = 184
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66VK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66VK30
expected_chips = 192
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66VL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66VL20
expected_chips = 160
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66VL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66VL30
expected_chips = 168
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -1,18 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,6 +6,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M66SVK20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVK20
expected_chips = 368
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
@@ -29,15 +15,79 @@ class M66SVK20(WhatsMinerMake):
class M66SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVK30
expected_chips = 96
expected_hashboards = 4
expected_chips = 384
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M66SVK40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVK40
expected_chips = 240
expected_fans = 0
expected_hashboards = 3
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVK50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVK50
expected_chips = 250
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVK60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVK60
expected_chips = 250
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVL10
expected_chips = 168
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVL20
expected_chips = 176
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVL30
expected_chips = 192
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVL40
expected_chips = 200
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SVL50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SVL50
expected_chips = 210
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,57 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M66SPlusVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVK30
expected_chips = 440
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M66SPlusVL10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVL10
expected_chips = 220
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVL20
expected_chips = 230
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SPlusVL30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVL30
expected_chips = 240
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SPlusVL40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVL40
expected_chips = 250
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256
class M66SPlusVL60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusVL60
expected_chips = 200
expected_fans = 0
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M66SPlusPlusVL20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M66SPlusPlusVL20
expected_chips = 368
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M67SVK30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M67SVK30
expected_chips = 440
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -1,22 +1,89 @@
# ------------------------------------------------------------------------------
# Copyright 2023 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M60 import M60VK10, M60VK20, M60VK30, M60VK40
from .M60S import M60SVK10, M60SVK20, M60SVK30, M60SVK40
from .M63 import M63VK10, M63VK20, M63VK30
from .M63S import M63SVK10, M63SVK20, M63SVK30
from .M66 import M66VK20, M66VK30
from .M66S import M66SVK20, M66SVK30, M66SVK40
from .M60 import (
M60VK6A,
M60VK10,
M60VK20,
M60VK30,
M60VK40,
M60VL10,
M60VL20,
M60VL30,
M60VL40,
M60VL50,
)
from .M60S import (
M60SVK10,
M60SVK20,
M60SVK30,
M60SVK40,
M60SVL10,
M60SVL20,
M60SVL30,
M60SVL40,
M60SVL50,
M60SVL60,
M60SVL70,
)
from .M60S_Plus import (
M60SPlusVK30,
M60SPlusVK40,
M60SPlusVK50,
M60SPlusVK60,
M60SPlusVK70,
M60SPlusVL10,
M60SPlusVL30,
M60SPlusVL40,
M60SPlusVL50,
M60SPlusVL60,
)
from .M60S_Plus_Plus import M60SPlusPlusVL30, M60SPlusPlusVL40
from .M61 import (
M61VK10,
M61VK20,
M61VK30,
M61VK40,
M61VL10,
M61VL30,
M61VL40,
M61VL50,
M61VL60,
)
from .M61S import M61SVL10, M61SVL20, M61SVL30
from .M61S_Plus import M61SPlusVL30
from .M62S_Plus import M62SPlusVK30
from .M63 import M63VK10, M63VK20, M63VK30, M63VL10, M63VL30
from .M63S import M63SVK10, M63SVK20, M63SVK30, M63SVK60, M63SVL10, M63SVL50, M63SVL60
from .M63S_Plus import (
M63SPlusVK30,
M63SPlusVL10,
M63SPlusVL20,
M63SPlusVL30,
M63SPlusVL50,
)
from .M63S_Plus_Plus import M63SPlusPlusVL20
from .M64 import M64VL30, M64VL40
from .M64S import M64SVL30
from .M65S import M65SVK20, M65SVL60
from .M65S_Plus import M65SPlusVK30
from .M66 import M66VK20, M66VK30, M66VL20, M66VL30
from .M66S import (
M66SVK20,
M66SVK30,
M66SVK40,
M66SVK50,
M66SVK60,
M66SVL10,
M66SVL20,
M66SVL30,
M66SVL40,
M66SVL50,
)
from .M66S_Plus import (
M66SPlusVK30,
M66SPlusVL10,
M66SPlusVL20,
M66SPlusVL30,
M66SPlusVL40,
M66SPlusVL60,
)
from .M66S_Plus_Plus import M66SPlusPlusVL20
from .M67S import M67SVK30

View File

@@ -0,0 +1,12 @@
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M70VM30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M70VM30
expected_chips = 147
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -0,0 +1 @@
from .M70 import M70VM30

View File

@@ -1,20 +1,5 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M2X import *
from .M3X import *
from .M5X import *
from .M6X import *
from .M7X import *

View File

@@ -117,23 +117,84 @@ MINER_CLASSES = {
},
MinerTypes.WHATSMINER: {
None: type("WhatsminerUnknown", (BTMiner, WhatsMinerMake), {}),
"M20V10": BTMinerM20V10,
"M20SV10": BTMinerM20SV10,
"M20SV20": BTMinerM20SV20,
"M20SV30": BTMinerM20SV30,
"M20PV10": BTMinerM20PV10,
"M20PV30": BTMinerM20PV30,
"M20S+V30": BTMinerM20SPlusV30,
"M21V10": BTMinerM21V10,
"M20SV10": BTMinerM20SV10,
"M20SV20": BTMinerM20SV20,
"M20SV30": BTMinerM20SV30,
"M20V10": BTMinerM20V10,
"M21S+V20": BTMinerM21SPlusV20,
"M21SV20": BTMinerM21SV20,
"M21SV60": BTMinerM21SV60,
"M21SV70": BTMinerM21SV70,
"M21S+V20": BTMinerM21SPlusV20,
"M21V10": BTMinerM21V10,
"M29V10": BTMinerM29V10,
"M30V10": BTMinerM30V10,
"M30V20": BTMinerM30V20,
"M30KV10": BTMinerM30KV10,
"M30LV10": BTMinerM30LV10,
"M30S++V10": BTMinerM30SPlusPlusV10,
"M30S++V20": BTMinerM30SPlusPlusV20,
"M30S++VE30": BTMinerM30SPlusPlusVE30,
"M30S++VE40": BTMinerM30SPlusPlusVE40,
"M30S++VE50": BTMinerM30SPlusPlusVE50,
"M30S++VF40": BTMinerM30SPlusPlusVF40,
"M30S++VG30": BTMinerM30SPlusPlusVG30,
"M30S++VG40": BTMinerM30SPlusPlusVG40,
"M30S++VG50": BTMinerM30SPlusPlusVG50,
"M30S++VH10": BTMinerM30SPlusPlusVH10,
"M30S++VH100": BTMinerM30SPlusPlusVH100,
"M30S++VH110": BTMinerM30SPlusPlusVH110,
"M30S++VH20": BTMinerM30SPlusPlusVH20,
"M30S++VH30": BTMinerM30SPlusPlusVH30,
"M30S++VH40": BTMinerM30SPlusPlusVH40,
"M30S++VH50": BTMinerM30SPlusPlusVH50,
"M30S++VH60": BTMinerM30SPlusPlusVH60,
"M30S++VH70": BTMinerM30SPlusPlusVH70,
"M30S++VH80": BTMinerM30SPlusPlusVH80,
"M30S++VH90": BTMinerM30SPlusPlusVH90,
"M30S++VI30": BTMinerM30SPlusPlusVI30,
"M30S++VJ20": BTMinerM30SPlusPlusVJ20,
"M30S++VJ30": BTMinerM30SPlusPlusVJ30,
"M30S++VJ50": BTMinerM30SPlusPlusVJ50,
"M30S++VJ60": BTMinerM30SPlusPlusVJ60,
"M30S++VJ70": BTMinerM30SPlusPlusVJ70,
"M30S++VK30": BTMinerM30SPlusPlusVK30,
"M30S++VK40": BTMinerM30SPlusPlusVK40,
"M30S+V10": BTMinerM30SPlusV10,
"M30S+V100": BTMinerM30SPlusV100,
"M30S+V20": BTMinerM30SPlusV20,
"M30S+V30": BTMinerM30SPlusV30,
"M30S+V40": BTMinerM30SPlusV40,
"M30S+V50": BTMinerM30SPlusV50,
"M30S+V60": BTMinerM30SPlusV60,
"M30S+V70": BTMinerM30SPlusV70,
"M30S+V80": BTMinerM30SPlusV80,
"M30S+V90": BTMinerM30SPlusV90,
"M30S+VE100": BTMinerM30SPlusVE100,
"M30S+VE30": BTMinerM30SPlusVE30,
"M30S+VE40": BTMinerM30SPlusVE40,
"M30S+VE50": BTMinerM30SPlusVE50,
"M30S+VE60": BTMinerM30SPlusVE60,
"M30S+VE70": BTMinerM30SPlusVE70,
"M30S+VE80": BTMinerM30SPlusVE80,
"M30S+VE90": BTMinerM30SPlusVE90,
"M30S+VF20": BTMinerM30SPlusVF20,
"M30S+VF30": BTMinerM30SPlusVF30,
"M30S+VG20": BTMinerM30SPlusVG20,
"M30S+VG30": BTMinerM30SPlusVG30,
"M30S+VG40": BTMinerM30SPlusVG40,
"M30S+VG50": BTMinerM30SPlusVG50,
"M30S+VG60": BTMinerM30SPlusVG60,
"M30S+VH10": BTMinerM30SPlusVH10,
"M30S+VH20": BTMinerM30SPlusVH20,
"M30S+VH30": BTMinerM30SPlusVH30,
"M30S+VH40": BTMinerM30SPlusVH40,
"M30S+VH50": BTMinerM30SPlusVH50,
"M30S+VH60": BTMinerM30SPlusVH60,
"M30S+VH70": BTMinerM30SPlusVH70,
"M30S+VI30": BTMinerM30SPlusVI30,
"M30S+VJ30": BTMinerM30SPlusVJ30,
"M30S+VJ40": BTMinerM30SPlusVJ40,
"M30SV10": BTMinerM30SV10,
"M30SV20": BTMinerM30SV20,
"M30SV30": BTMinerM30SV30,
@@ -163,63 +224,35 @@ MINER_CLASSES = {
"M30SVH50": BTMinerM30SVH50,
"M30SVH60": BTMinerM30SVH60,
"M30SVI20": BTMinerM30SVI20,
"M30S+V10": BTMinerM30SPlusV10,
"M30S+V20": BTMinerM30SPlusV20,
"M30S+V30": BTMinerM30SPlusV30,
"M30S+V40": BTMinerM30SPlusV40,
"M30S+V50": BTMinerM30SPlusV50,
"M30S+V60": BTMinerM30SPlusV60,
"M30S+V70": BTMinerM30SPlusV70,
"M30S+V80": BTMinerM30SPlusV80,
"M30S+V90": BTMinerM30SPlusV90,
"M30S+V100": BTMinerM30SPlusV100,
"M30S+VE30": BTMinerM30SPlusVE30,
"M30S+VE40": BTMinerM30SPlusVE40,
"M30S+VE50": BTMinerM30SPlusVE50,
"M30S+VE60": BTMinerM30SPlusVE60,
"M30S+VE70": BTMinerM30SPlusVE70,
"M30S+VE80": BTMinerM30SPlusVE80,
"M30S+VE90": BTMinerM30SPlusVE90,
"M30S+VE100": BTMinerM30SPlusVE100,
"M30S+VF20": BTMinerM30SPlusVF20,
"M30S+VF30": BTMinerM30SPlusVF30,
"M30S+VG20": BTMinerM30SPlusVG20,
"M30S+VG30": BTMinerM30SPlusVG30,
"M30S+VG40": BTMinerM30SPlusVG40,
"M30S+VG50": BTMinerM30SPlusVG50,
"M30S+VG60": BTMinerM30SPlusVG60,
"M30S+VH10": BTMinerM30SPlusVH10,
"M30S+VH20": BTMinerM30SPlusVH20,
"M30S+VH30": BTMinerM30SPlusVH30,
"M30S+VH40": BTMinerM30SPlusVH40,
"M30S+VH50": BTMinerM30SPlusVH50,
"M30S+VH60": BTMinerM30SPlusVH60,
"M30S++V10": BTMinerM30SPlusPlusV10,
"M30S++V20": BTMinerM30SPlusPlusV20,
"M30S++VE30": BTMinerM30SPlusPlusVE30,
"M30S++VE40": BTMinerM30SPlusPlusVE40,
"M30S++VE50": BTMinerM30SPlusPlusVE50,
"M30S++VF40": BTMinerM30SPlusPlusVF40,
"M30S++VG30": BTMinerM30SPlusPlusVG30,
"M30S++VG40": BTMinerM30SPlusPlusVG40,
"M30S++VG50": BTMinerM30SPlusPlusVG50,
"M30S++VH10": BTMinerM30SPlusPlusVH10,
"M30S++VH20": BTMinerM30SPlusPlusVH20,
"M30S++VH30": BTMinerM30SPlusPlusVH30,
"M30S++VH40": BTMinerM30SPlusPlusVH40,
"M30S++VH50": BTMinerM30SPlusPlusVH50,
"M30S++VH60": BTMinerM30SPlusPlusVH60,
"M30S++VH70": BTMinerM30SPlusPlusVH70,
"M30S++VH80": BTMinerM30SPlusPlusVH80,
"M30S++VH90": BTMinerM30SPlusPlusVH90,
"M30S++VH100": BTMinerM30SPlusPlusVH100,
"M30S++VJ20": BTMinerM30SPlusPlusVJ20,
"M30S++VJ30": BTMinerM30SPlusPlusVJ30,
"M31V10": BTMinerM31V10,
"M31V20": BTMinerM31V20,
"M30SVJ30": BTMinerM30SVJ30,
"M30V10": BTMinerM30V10,
"M30V20": BTMinerM30V20,
"M31HV10": BTMinerM31HV10,
"M31HV40": BTMinerM31HV40,
"M31LV10": BTMinerM31LV10,
"M31S+V10": BTMinerM31SPlusV10,
"M31S+V100": BTMinerM31SPlusV100,
"M31S+V20": BTMinerM31SPlusV20,
"M31S+V30": BTMinerM31SPlusV30,
"M31S+V40": BTMinerM31SPlusV40,
"M31S+V50": BTMinerM31SPlusV50,
"M31S+V60": BTMinerM31SPlusV60,
"M31S+V80": BTMinerM31SPlusV80,
"M31S+V90": BTMinerM31SPlusV90,
"M31S+VE10": BTMinerM31SPlusVE10,
"M31S+VE20": BTMinerM31SPlusVE20,
"M31S+VE30": BTMinerM31SPlusVE30,
"M31S+VE40": BTMinerM31SPlusVE40,
"M31S+VE50": BTMinerM31SPlusVE50,
"M31S+VE60": BTMinerM31SPlusVE60,
"M31S+VE80": BTMinerM31SPlusVE80,
"M31S+VF20": BTMinerM31SPlusVF20,
"M31S+VF30": BTMinerM31SPlusVF30,
"M31S+VG20": BTMinerM31SPlusVG20,
"M31S+VG30": BTMinerM31SPlusVG30,
"M31SEV10": BTMinerM31SEV10,
"M31SEV20": BTMinerM31SEV20,
"M31SEV30": BTMinerM31SEV30,
"M31SV10": BTMinerM31SV10,
"M31SV20": BTMinerM31SV20,
"M31SV30": BTMinerM31SV30,
@@ -232,48 +265,69 @@ MINER_CLASSES = {
"M31SVE10": BTMinerM31SVE10,
"M31SVE20": BTMinerM31SVE20,
"M31SVE30": BTMinerM31SVE30,
"M31SEV10": BTMinerM31SEV10,
"M31SEV20": BTMinerM31SEV20,
"M31SEV30": BTMinerM31SEV30,
"M31S+V10": BTMinerM31SPlusV10,
"M31S+V20": BTMinerM31SPlusV20,
"M31S+V30": BTMinerM31SPlusV30,
"M31S+V40": BTMinerM31SPlusV40,
"M31S+V50": BTMinerM31SPlusV50,
"M31S+V60": BTMinerM31SPlusV60,
"M31S+V80": BTMinerM31SPlusV80,
"M31S+V90": BTMinerM31SPlusV90,
"M31S+V100": BTMinerM31SPlusV100,
"M31S+VE10": BTMinerM31SPlusVE10,
"M31S+VE20": BTMinerM31SPlusVE20,
"M31S+VE30": BTMinerM31SPlusVE30,
"M31S+VE40": BTMinerM31SPlusVE40,
"M31S+VE50": BTMinerM31SPlusVE50,
"M31S+VE60": BTMinerM31SPlusVE60,
"M31S+VE80": BTMinerM31SPlusVE80,
"M31S+VF20": BTMinerM31SPlusVF20,
"M31S+VF30": BTMinerM31SPlusVF30,
"M31S+VG20": BTMinerM31SPlusVG20,
"M31S+VG30": BTMinerM31SPlusVG30,
"M31V10": BTMinerM31V10,
"M31V20": BTMinerM31V20,
"M32V10": BTMinerM32V10,
"M32V20": BTMinerM32V20,
"M33S++VG40": BTMinerM33SPlusPlusVG40,
"M33S++VH20": BTMinerM33SPlusPlusVH20,
"M33S++VH30": BTMinerM33SPlusPlusVH30,
"M33S+VG20": BTMinerM33SPlusVG20,
"M33S+VG30": BTMinerM33SPlusVG30,
"M33S+VH20": BTMinerM33SPlusVH20,
"M33S+VH30": BTMinerM33SPlusVH30,
"M33SVG30": BTMinerM33SVG30,
"M33V10": BTMinerM33V10,
"M33V20": BTMinerM33V20,
"M33V30": BTMinerM33V30,
"M33SVG30": BTMinerM33SVG30,
"M33S+VG20": BTMinerM33SPlusVG20,
"M33S+VH20": BTMinerM33SPlusVH20,
"M33S+VH30": BTMinerM33SPlusVH30,
"M33S++VH20": BTMinerM33SPlusPlusVH20,
"M33S++VH30": BTMinerM33SPlusPlusVH30,
"M33S++VG40": BTMinerM33SPlusPlusVG40,
"M34S+VE10": BTMinerM34SPlusVE10,
"M36SVE10": BTMinerM36SVE10,
"M36S+VG30": BTMinerM36SPlusVG30,
"M36S++VH30": BTMinerM36SPlusPlusVH30,
"M36S+VG30": BTMinerM36SPlusVG30,
"M36SVE10": BTMinerM36SVE10,
"M39V10": BTMinerM39V10,
"M39V20": BTMinerM39V20,
"M39V30": BTMinerM39V30,
"M50S++VK10": BTMinerM50SPlusPlusVK10,
"M50S++VK20": BTMinerM50SPlusPlusVK20,
"M50S++VK30": BTMinerM50SPlusPlusVK30,
"M50S++VK40": BTMinerM50SPlusPlusVK40,
"M50S++VK50": BTMinerM50SPlusPlusVK50,
"M50S++VK60": BTMinerM50SPlusPlusVK60,
"M50S++VL20": BTMinerM50SPlusPlusVL20,
"M50S++VL30": BTMinerM50SPlusPlusVL30,
"M50S++VL40": BTMinerM50SPlusPlusVL40,
"M50S++VL50": BTMinerM50SPlusPlusVL50,
"M50S++VL60": BTMinerM50SPlusPlusVL60,
"M50S+VH30": BTMinerM50SPlusVH30,
"M50S+VH40": BTMinerM50SPlusVH40,
"M50S+VJ30": BTMinerM50SPlusVJ30,
"M50S+VJ40": BTMinerM50SPlusVJ40,
"M50S+VJ60": BTMinerM50SPlusVJ60,
"M50S+VK10": BTMinerM50SPlusVK10,
"M50S+VK20": BTMinerM50SPlusVK20,
"M50S+VK30": BTMinerM50SPlusVK30,
"M50S+VL10": BTMinerM50SPlusVL10,
"M50S+VL20": BTMinerM50SPlusVL20,
"M50S+VL30": BTMinerM50SPlusVL30,
"M50SVH10": BTMinerM50SVH10,
"M50SVH20": BTMinerM50SVH20,
"M50SVH30": BTMinerM50SVH30,
"M50SVH40": BTMinerM50SVH40,
"M50SVH50": BTMinerM50SVH50,
"M50SVJ10": BTMinerM50SVJ10,
"M50SVJ20": BTMinerM50SVJ20,
"M50SVJ30": BTMinerM50SVJ30,
"M50SVJ40": BTMinerM50SVJ40,
"M50SVJ50": BTMinerM50SVJ50,
"M50SVK10": BTMinerM50SVK10,
"M50SVK20": BTMinerM50SVK20,
"M50SVK30": BTMinerM50SVK30,
"M50SVK50": BTMinerM50SVK50,
"M50SVK60": BTMinerM50SVK60,
"M50SVK70": BTMinerM50SVK70,
"M50SVK80": BTMinerM50SVK80,
"M50SVL20": BTMinerM50SVL20,
"M50SVL30": BTMinerM50SVL30,
"M50VE30": BTMinerM50VE30,
"M50VG30": BTMinerM50VG30,
"M50VH10": BTMinerM50VH10,
@@ -288,50 +342,143 @@ MINER_CLASSES = {
"M50VJ10": BTMinerM50VJ10,
"M50VJ20": BTMinerM50VJ20,
"M50VJ30": BTMinerM50VJ30,
"M50SVJ10": BTMinerM50SVJ10,
"M50SVJ20": BTMinerM50SVJ20,
"M50SVJ30": BTMinerM50SVJ30,
"M50SVH10": BTMinerM50SVH10,
"M50SVH20": BTMinerM50SVH20,
"M50SVH30": BTMinerM50SVH30,
"M50SVH40": BTMinerM50SVH40,
"M50SVH50": BTMinerM50SVH50,
"M50S+VH30": BTMinerM50SPlusVH30,
"M50S+VH40": BTMinerM50SPlusVH40,
"M50S+VJ30": BTMinerM50SPlusVJ30,
"M50S+VK20": BTMinerM50SPlusVK20,
"M50S++VK10": BTMinerM50SPlusPlusVK10,
"M50S++VK20": BTMinerM50SPlusPlusVK20,
"M50S++VK30": BTMinerM50SPlusPlusVK30,
"M50S++VL30": BTMinerM50SPlusPlusVL30,
"M53VH30": BTMinerM53VH30,
"M53SVH30": BTMinerM53SVH30,
"M53SVJ40": BTMinerM53SVJ40,
"M53S+VJ30": BTMinerM53SPlusVJ30,
"M50VJ40": BTMinerM50VJ40,
"M50VJ60": BTMinerM50VJ60,
"M50VK40": BTMinerM50VK40,
"M50VK50": BTMinerM50VK50,
"M52S++VL10": BTMinerM52SPlusPlusVL10,
"M52SVK30": BTMinerM52SVK30,
"M53HVH10": BTMinerM53HVH10,
"M53S++VK10": BTMinerM53SPlusPlusVK10,
"M56VH30": BTMinerM56VH30,
"M56SVH30": BTMinerM56SVH30,
"M53S++VK20": BTMinerM53SPlusPlusVK20,
"M53S++VK30": BTMinerM53SPlusPlusVK30,
"M53S++VK50": BTMinerM53SPlusPlusVK50,
"M53S++VL10": BTMinerM53SPlusPlusVL10,
"M53S++VL30": BTMinerM53SPlusPlusVL30,
"M53S+VJ30": BTMinerM53SPlusVJ30,
"M53S+VJ40": BTMinerM53SPlusVJ40,
"M53S+VJ50": BTMinerM53SPlusVJ50,
"M53S+VK30": BTMinerM53SPlusVK30,
"M53SVH20": BTMinerM53SVH20,
"M53SVH30": BTMinerM53SVH30,
"M53SVJ30": BTMinerM53SVJ30,
"M53SVJ40": BTMinerM53SVJ40,
"M53SVK30": BTMinerM53SVK30,
"M53VH30": BTMinerM53VH30,
"M53VH40": BTMinerM53VH40,
"M53VH50": BTMinerM53VH50,
"M53VK30": BTMinerM53VK30,
"M53VK60": BTMinerM53VK60,
"M54S++VK30": BTMinerM54SPlusPlusVK30,
"M54S++VL30": BTMinerM54SPlusPlusVL30,
"M54S++VL40": BTMinerM54SPlusPlusVL40,
"M56S++VK10": BTMinerM56SPlusPlusVK10,
"M56S++VK30": BTMinerM56SPlusPlusVK30,
"M56S++VK40": BTMinerM56SPlusPlusVK40,
"M56S++VK50": BTMinerM56SPlusPlusVK50,
"M56S+VJ30": BTMinerM56SPlusVJ30,
"M56S+VK30": BTMinerM56SPlusVK30,
"M56S+VK40": BTMinerM56SPlusVK40,
"M56S+VK50": BTMinerM56SPlusVK50,
"M56SVH30": BTMinerM56SVH30,
"M56SVJ30": BTMinerM56SVJ30,
"M56SVJ40": BTMinerM56SVJ40,
"M56VH30": BTMinerM56VH30,
"M59VH30": BTMinerM59VH30,
"M60VK10": BTMinerM60VK10,
"M60VK20": BTMinerM60VK20,
"M60VK30": BTMinerM60VK30,
"M60VK40": BTMinerM60VK40,
"M60S++VL30": BTMinerM60SPlusPlusVL30,
"M60S++VL40": BTMinerM60SPlusPlusVL40,
"M60S+VK30": BTMinerM60SPlusVK30,
"M60S+VK40": BTMinerM60SPlusVK40,
"M60S+VK50": BTMinerM60SPlusVK50,
"M60S+VK60": BTMinerM60SPlusVK60,
"M60S+VK70": BTMinerM60SPlusVK70,
"M60S+VL10": BTMinerM60SPlusVL10,
"M60S+VL30": BTMinerM60SPlusVL30,
"M60S+VL40": BTMinerM60SPlusVL40,
"M60S+VL50": BTMinerM60SPlusVL50,
"M60S+VL60": BTMinerM60SPlusVL60,
"M60SVK10": BTMinerM60SVK10,
"M60SVK20": BTMinerM60SVK20,
"M60SVK30": BTMinerM60SVK30,
"M60SVK40": BTMinerM60SVK40,
"M63VK10": BTMinerM63VK10,
"M63VK20": BTMinerM63VK20,
"M63VK30": BTMinerM63VK30,
"M60SVL10": BTMinerM60SVL10,
"M60SVL20": BTMinerM60SVL20,
"M60SVL30": BTMinerM60SVL30,
"M60SVL40": BTMinerM60SVL40,
"M60SVL50": BTMinerM60SVL50,
"M60SVL60": BTMinerM60SVL60,
"M60SVL70": BTMinerM60SVL70,
"M60VK10": BTMinerM60VK10,
"M60VK20": BTMinerM60VK20,
"M60VK30": BTMinerM60VK30,
"M60VK40": BTMinerM60VK40,
"M60VK6A": BTMinerM60VK6A,
"M60VL10": BTMinerM60VL10,
"M60VL20": BTMinerM60VL20,
"M60VL30": BTMinerM60VL30,
"M60VL40": BTMinerM60VL40,
"M60VL50": BTMinerM60VL50,
"M61S+VL30": BTMinerM61SPlusVL30,
"M61SVL10": BTMinerM61SVL10,
"M61SVL20": BTMinerM61SVL20,
"M61SVL30": BTMinerM61SVL30,
"M61VK10": BTMinerM61VK10,
"M61VK20": BTMinerM61VK20,
"M61VK30": BTMinerM61VK30,
"M61VK40": BTMinerM61VK40,
"M61VL10": BTMinerM61VL10,
"M61VL30": BTMinerM61VL30,
"M61VL40": BTMinerM61VL40,
"M61VL50": BTMinerM61VL50,
"M61VL60": BTMinerM61VL60,
"M62S+VK30": BTMinerM62SPlusVK30,
"M63S++VL20": BTMinerM63SPlusPlusVL20,
"M63S+VK30": BTMinerM63SPlusVK30,
"M63S+VL10": BTMinerM63SPlusVL10,
"M63S+VL20": BTMinerM63SPlusVL20,
"M63S+VL30": BTMinerM63SPlusVL30,
"M63S+VL50": BTMinerM63SPlusVL50,
"M63SVK10": BTMinerM63SVK10,
"M63SVK20": BTMinerM63SVK20,
"M63SVK30": BTMinerM63SVK30,
"M66VK20": BTMinerM66VK20,
"M66VK30": BTMinerM66VK30,
"M63SVK60": BTMinerM63SVK60,
"M63SVL10": BTMinerM63SVL10,
"M63SVL50": BTMinerM63SVL50,
"M63SVL60": BTMinerM63SVL60,
"M63VK10": BTMinerM63VK10,
"M63VK20": BTMinerM63VK20,
"M63VK30": BTMinerM63VK30,
"M63VL10": BTMinerM63VL10,
"M63VL30": BTMinerM63VL30,
"M64SVL30": BTMinerM64SVL30,
"M64VL30": BTMinerM64VL30,
"M64VL40": BTMinerM64VL40,
"M65S+VK30": BTMinerM65SPlusVK30,
"M65SVK20": BTMinerM65SVK20,
"M65SVL60": BTMinerM65SVL60,
"M66S++VL20": BTMinerM66SPlusPlusVL20,
"M66S+VK30": BTMinerM66SPlusVK30,
"M66S+VL10": BTMinerM66SPlusVL10,
"M66S+VL20": BTMinerM66SPlusVL20,
"M66S+VL30": BTMinerM66SPlusVL30,
"M66S+VL40": BTMinerM66SPlusVL40,
"M66S+VL60": BTMinerM66SPlusVL60,
"M66SVK20": BTMinerM66SVK20,
"M66SVK30": BTMinerM66SVK30,
"M66SVK40": BTMinerM66SVK40,
"M66SVK50": BTMinerM66SVK50,
"M66SVK60": BTMinerM66SVK60,
"M66SVL10": BTMinerM66SVL10,
"M66SVL20": BTMinerM66SVL20,
"M66SVL30": BTMinerM66SVL30,
"M66SVL40": BTMinerM66SVL40,
"M66SVL50": BTMinerM66SVL50,
"M66VK20": BTMinerM66VK20,
"M66VK30": BTMinerM66VK30,
"M66VL20": BTMinerM66VL20,
"M66VL30": BTMinerM66VL30,
"M67SVK30": BTMinerM67SVK30,
"M70VM30": BTMinerM70VM30,
},
MinerTypes.AVALONMINER: {
None: type("AvalonUnknown", (AvalonMiner, AvalonMinerMake), {}),

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M20V10

View File

@@ -1,26 +1,13 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M20PV10, M20PV30
from pyasic.miners.device.models import M20PV10
class BTMinerM20PV10(M2X, M20PV10):
pass
from pyasic.miners.device.models import M20PV30
class BTMinerM20PV30(M2X, M20PV30):
pass

View File

@@ -1,30 +1,20 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M20SV10, M20SV20, M20SV30
from pyasic.miners.device.models import M20SV10
class BTMinerM20SV10(M2X, M20SV10):
pass
from pyasic.miners.device.models import M20SV20
class BTMinerM20SV20(M2X, M20SV20):
pass
from pyasic.miners.device.models import M20SV30
class BTMinerM20SV30(M2X, M20SV30):
pass

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M20SPlusV30

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M21V10

View File

@@ -1,30 +1,20 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M21SV20, M21SV60, M21SV70
from pyasic.miners.device.models import M21SV20
class BTMinerM21SV20(M2X, M21SV20):
pass
from pyasic.miners.device.models import M21SV60
class BTMinerM21SV60(M2X, M21SV60):
pass
from pyasic.miners.device.models import M21SV70
class BTMinerM21SV70(M2X, M21SV70):
pass

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M21SPlusV20

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M2X
from pyasic.miners.device.models import M29V10

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from .M20 import BTMinerM20V10
from .M20P import BTMinerM20PV10, BTMinerM20PV30
from .M20S import BTMinerM20SV10, BTMinerM20SV20, BTMinerM20SV30

View File

@@ -1,26 +1,13 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M30V10, M30V20
from pyasic.miners.device.models import M30V10
class BTMinerM30V10(M3X, M30V10):
pass
from pyasic.miners.device.models import M30V20
class BTMinerM30V20(M3X, M30V20):
pass

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M30KV10

View File

@@ -1,19 +1,3 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M30LV10

View File

@@ -1,164 +1,209 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import (
M30SV10,
M30SV20,
M30SV30,
M30SV40,
M30SV50,
M30SV60,
M30SV70,
M30SV80,
M30SVE10,
M30SVE20,
M30SVE30,
M30SVE40,
M30SVE50,
M30SVE60,
M30SVE70,
M30SVF10,
M30SVF20,
M30SVF30,
M30SVG10,
M30SVG20,
M30SVG30,
M30SVG40,
M30SVH10,
M30SVH20,
M30SVH30,
M30SVH40,
M30SVH50,
M30SVH60,
M30SVI20,
)
from pyasic.miners.device.models import M30SV10
class BTMinerM30SV10(M3X, M30SV10):
pass
from pyasic.miners.device.models import M30SV20
class BTMinerM30SV20(M3X, M30SV20):
pass
from pyasic.miners.device.models import M30SV30
class BTMinerM30SV30(M3X, M30SV30):
pass
from pyasic.miners.device.models import M30SV40
class BTMinerM30SV40(M3X, M30SV40):
pass
from pyasic.miners.device.models import M30SV50
class BTMinerM30SV50(M3X, M30SV50):
pass
from pyasic.miners.device.models import M30SV60
class BTMinerM30SV60(M3X, M30SV60):
pass
from pyasic.miners.device.models import M30SV70
class BTMinerM30SV70(M3X, M30SV70):
pass
from pyasic.miners.device.models import M30SV80
class BTMinerM30SV80(M3X, M30SV80):
pass
from pyasic.miners.device.models import M30SVE10
class BTMinerM30SVE10(M3X, M30SVE10):
pass
from pyasic.miners.device.models import M30SVE20
class BTMinerM30SVE20(M3X, M30SVE20):
pass
from pyasic.miners.device.models import M30SVE30
class BTMinerM30SVE30(M3X, M30SVE30):
pass
from pyasic.miners.device.models import M30SVE40
class BTMinerM30SVE40(M3X, M30SVE40):
pass
from pyasic.miners.device.models import M30SVE50
class BTMinerM30SVE50(M3X, M30SVE50):
pass
from pyasic.miners.device.models import M30SVE60
class BTMinerM30SVE60(M3X, M30SVE60):
pass
from pyasic.miners.device.models import M30SVE70
class BTMinerM30SVE70(M3X, M30SVE70):
pass
from pyasic.miners.device.models import M30SVF10
class BTMinerM30SVF10(M3X, M30SVF10):
pass
from pyasic.miners.device.models import M30SVF20
class BTMinerM30SVF20(M3X, M30SVF20):
pass
from pyasic.miners.device.models import M30SVF30
class BTMinerM30SVF30(M3X, M30SVF30):
pass
from pyasic.miners.device.models import M30SVG10
class BTMinerM30SVG10(M3X, M30SVG10):
pass
from pyasic.miners.device.models import M30SVG20
class BTMinerM30SVG20(M3X, M30SVG20):
pass
from pyasic.miners.device.models import M30SVG30
class BTMinerM30SVG30(M3X, M30SVG30):
pass
from pyasic.miners.device.models import M30SVG40
class BTMinerM30SVG40(M3X, M30SVG40):
pass
from pyasic.miners.device.models import M30SVH10
class BTMinerM30SVH10(M3X, M30SVH10):
pass
from pyasic.miners.device.models import M30SVH20
class BTMinerM30SVH20(M3X, M30SVH20):
pass
from pyasic.miners.device.models import M30SVH30
class BTMinerM30SVH30(M3X, M30SVH30):
pass
from pyasic.miners.device.models import M30SVH40
class BTMinerM30SVH40(M3X, M30SVH40):
pass
from pyasic.miners.device.models import M30SVH50
class BTMinerM30SVH50(M3X, M30SVH50):
pass
from pyasic.miners.device.models import M30SVH60
class BTMinerM30SVH60(M3X, M30SVH60):
pass
from pyasic.miners.device.models import M30SVI20
class BTMinerM30SVI20(M3X, M30SVI20):
pass
from pyasic.miners.device.models import M30SVJ30
class BTMinerM30SVJ30(M3X, M30SVJ30):
pass

View File

@@ -1,174 +1,244 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import (
M30SPlusV10,
M30SPlusV20,
M30SPlusV30,
M30SPlusV40,
M30SPlusV50,
M30SPlusV60,
M30SPlusV70,
M30SPlusV80,
M30SPlusV90,
M30SPlusV100,
M30SPlusVE30,
M30SPlusVE40,
M30SPlusVE50,
M30SPlusVE60,
M30SPlusVE70,
M30SPlusVE80,
M30SPlusVE90,
M30SPlusVE100,
M30SPlusVF20,
M30SPlusVF30,
M30SPlusVG20,
M30SPlusVG30,
M30SPlusVG40,
M30SPlusVG50,
M30SPlusVG60,
M30SPlusVH10,
M30SPlusVH20,
M30SPlusVH30,
M30SPlusVH40,
M30SPlusVH50,
M30SPlusVH60,
)
from pyasic.miners.device.models import M30SPlusV10
class BTMinerM30SPlusV10(M3X, M30SPlusV10):
pass
class BTMinerM30SPlusV20(M3X, M30SPlusV20):
pass
class BTMinerM30SPlusV30(M3X, M30SPlusV30):
pass
class BTMinerM30SPlusV40(M3X, M30SPlusV40):
pass
class BTMinerM30SPlusV50(M3X, M30SPlusV50):
pass
class BTMinerM30SPlusV60(M3X, M30SPlusV60):
pass
class BTMinerM30SPlusV70(M3X, M30SPlusV70):
pass
class BTMinerM30SPlusV80(M3X, M30SPlusV80):
pass
class BTMinerM30SPlusV90(M3X, M30SPlusV90):
pass
from pyasic.miners.device.models import M30SPlusV100
class BTMinerM30SPlusV100(M3X, M30SPlusV100):
pass
class BTMinerM30SPlusVE30(M3X, M30SPlusVE30):
from pyasic.miners.device.models import M30SPlusV20
class BTMinerM30SPlusV20(M3X, M30SPlusV20):
pass
class BTMinerM30SPlusVE40(M3X, M30SPlusVE40):
from pyasic.miners.device.models import M30SPlusV30
class BTMinerM30SPlusV30(M3X, M30SPlusV30):
pass
class BTMinerM30SPlusVE50(M3X, M30SPlusVE50):
from pyasic.miners.device.models import M30SPlusV40
class BTMinerM30SPlusV40(M3X, M30SPlusV40):
pass
class BTMinerM30SPlusVE60(M3X, M30SPlusVE60):
from pyasic.miners.device.models import M30SPlusV50
class BTMinerM30SPlusV50(M3X, M30SPlusV50):
pass
class BTMinerM30SPlusVE70(M3X, M30SPlusVE70):
from pyasic.miners.device.models import M30SPlusV60
class BTMinerM30SPlusV60(M3X, M30SPlusV60):
pass
class BTMinerM30SPlusVE80(M3X, M30SPlusVE80):
from pyasic.miners.device.models import M30SPlusV70
class BTMinerM30SPlusV70(M3X, M30SPlusV70):
pass
class BTMinerM30SPlusVE90(M3X, M30SPlusVE90):
from pyasic.miners.device.models import M30SPlusV80
class BTMinerM30SPlusV80(M3X, M30SPlusV80):
pass
from pyasic.miners.device.models import M30SPlusV90
class BTMinerM30SPlusV90(M3X, M30SPlusV90):
pass
from pyasic.miners.device.models import M30SPlusVE100
class BTMinerM30SPlusVE100(M3X, M30SPlusVE100):
pass
from pyasic.miners.device.models import M30SPlusVE30
class BTMinerM30SPlusVE30(M3X, M30SPlusVE30):
pass
from pyasic.miners.device.models import M30SPlusVE40
class BTMinerM30SPlusVE40(M3X, M30SPlusVE40):
pass
from pyasic.miners.device.models import M30SPlusVE50
class BTMinerM30SPlusVE50(M3X, M30SPlusVE50):
pass
from pyasic.miners.device.models import M30SPlusVE60
class BTMinerM30SPlusVE60(M3X, M30SPlusVE60):
pass
from pyasic.miners.device.models import M30SPlusVE70
class BTMinerM30SPlusVE70(M3X, M30SPlusVE70):
pass
from pyasic.miners.device.models import M30SPlusVE80
class BTMinerM30SPlusVE80(M3X, M30SPlusVE80):
pass
from pyasic.miners.device.models import M30SPlusVE90
class BTMinerM30SPlusVE90(M3X, M30SPlusVE90):
pass
from pyasic.miners.device.models import M30SPlusVF20
class BTMinerM30SPlusVF20(M3X, M30SPlusVF20):
pass
from pyasic.miners.device.models import M30SPlusVF30
class BTMinerM30SPlusVF30(M3X, M30SPlusVF30):
pass
from pyasic.miners.device.models import M30SPlusVG20
class BTMinerM30SPlusVG20(M3X, M30SPlusVG20):
pass
from pyasic.miners.device.models import M30SPlusVG30
class BTMinerM30SPlusVG30(M3X, M30SPlusVG30):
pass
from pyasic.miners.device.models import M30SPlusVG40
class BTMinerM30SPlusVG40(M3X, M30SPlusVG40):
pass
from pyasic.miners.device.models import M30SPlusVG50
class BTMinerM30SPlusVG50(M3X, M30SPlusVG50):
pass
from pyasic.miners.device.models import M30SPlusVG60
class BTMinerM30SPlusVG60(M3X, M30SPlusVG60):
pass
from pyasic.miners.device.models import M30SPlusVH10
class BTMinerM30SPlusVH10(M3X, M30SPlusVH10):
pass
from pyasic.miners.device.models import M30SPlusVH20
class BTMinerM30SPlusVH20(M3X, M30SPlusVH20):
pass
from pyasic.miners.device.models import M30SPlusVH30
class BTMinerM30SPlusVH30(M3X, M30SPlusVH30):
pass
from pyasic.miners.device.models import M30SPlusVH40
class BTMinerM30SPlusVH40(M3X, M30SPlusVH40):
pass
from pyasic.miners.device.models import M30SPlusVH50
class BTMinerM30SPlusVH50(M3X, M30SPlusVH50):
pass
from pyasic.miners.device.models import M30SPlusVH60
class BTMinerM30SPlusVH60(M3X, M30SPlusVH60):
pass
from pyasic.miners.device.models import M30SPlusVH70
class BTMinerM30SPlusVH70(M3X, M30SPlusVH70):
pass
from pyasic.miners.device.models import M30SPlusVI30
class BTMinerM30SPlusVI30(M3X, M30SPlusVI30):
pass
from pyasic.miners.device.models import M30SPlusVJ30
class BTMinerM30SPlusVJ30(M3X, M30SPlusVJ30):
pass
from pyasic.miners.device.models import M30SPlusVJ40
class BTMinerM30SPlusVJ40(M3X, M30SPlusVJ40):
pass

View File

@@ -1,124 +1,195 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import (
M30SPlusPlusV10,
M30SPlusPlusV20,
M30SPlusPlusVE30,
M30SPlusPlusVE40,
M30SPlusPlusVE50,
M30SPlusPlusVF40,
M30SPlusPlusVG30,
M30SPlusPlusVG40,
M30SPlusPlusVG50,
M30SPlusPlusVH10,
M30SPlusPlusVH20,
M30SPlusPlusVH30,
M30SPlusPlusVH40,
M30SPlusPlusVH50,
M30SPlusPlusVH60,
M30SPlusPlusVH70,
M30SPlusPlusVH80,
M30SPlusPlusVH90,
M30SPlusPlusVH100,
M30SPlusPlusVJ20,
M30SPlusPlusVJ30,
)
from pyasic.miners.device.models import M30SPlusPlusV10
class BTMinerM30SPlusPlusV10(M3X, M30SPlusPlusV10):
pass
from pyasic.miners.device.models import M30SPlusPlusV20
class BTMinerM30SPlusPlusV20(M3X, M30SPlusPlusV20):
pass
from pyasic.miners.device.models import M30SPlusPlusVE30
class BTMinerM30SPlusPlusVE30(M3X, M30SPlusPlusVE30):
pass
from pyasic.miners.device.models import M30SPlusPlusVE40
class BTMinerM30SPlusPlusVE40(M3X, M30SPlusPlusVE40):
pass
from pyasic.miners.device.models import M30SPlusPlusVE50
class BTMinerM30SPlusPlusVE50(M3X, M30SPlusPlusVE50):
pass
from pyasic.miners.device.models import M30SPlusPlusVF40
class BTMinerM30SPlusPlusVF40(M3X, M30SPlusPlusVF40):
pass
from pyasic.miners.device.models import M30SPlusPlusVG30
class BTMinerM30SPlusPlusVG30(M3X, M30SPlusPlusVG30):
pass
from pyasic.miners.device.models import M30SPlusPlusVG40
class BTMinerM30SPlusPlusVG40(M3X, M30SPlusPlusVG40):
pass
from pyasic.miners.device.models import M30SPlusPlusVG50
class BTMinerM30SPlusPlusVG50(M3X, M30SPlusPlusVG50):
pass
from pyasic.miners.device.models import M30SPlusPlusVH10
class BTMinerM30SPlusPlusVH10(M3X, M30SPlusPlusVH10):
pass
class BTMinerM30SPlusPlusVH20(M3X, M30SPlusPlusVH20):
pass
class BTMinerM30SPlusPlusVH30(M3X, M30SPlusPlusVH30):
pass
class BTMinerM30SPlusPlusVH40(M3X, M30SPlusPlusVH40):
pass
class BTMinerM30SPlusPlusVH50(M3X, M30SPlusPlusVH50):
pass
class BTMinerM30SPlusPlusVH60(M3X, M30SPlusPlusVH60):
pass
class BTMinerM30SPlusPlusVH70(M3X, M30SPlusPlusVH70):
pass
class BTMinerM30SPlusPlusVH80(M3X, M30SPlusPlusVH80):
pass
class BTMinerM30SPlusPlusVH90(M3X, M30SPlusPlusVH90):
pass
from pyasic.miners.device.models import M30SPlusPlusVH100
class BTMinerM30SPlusPlusVH100(M3X, M30SPlusPlusVH100):
pass
from pyasic.miners.device.models import M30SPlusPlusVH110
class BTMinerM30SPlusPlusVH110(M3X, M30SPlusPlusVH110):
pass
from pyasic.miners.device.models import M30SPlusPlusVH20
class BTMinerM30SPlusPlusVH20(M3X, M30SPlusPlusVH20):
pass
from pyasic.miners.device.models import M30SPlusPlusVH30
class BTMinerM30SPlusPlusVH30(M3X, M30SPlusPlusVH30):
pass
from pyasic.miners.device.models import M30SPlusPlusVH40
class BTMinerM30SPlusPlusVH40(M3X, M30SPlusPlusVH40):
pass
from pyasic.miners.device.models import M30SPlusPlusVH50
class BTMinerM30SPlusPlusVH50(M3X, M30SPlusPlusVH50):
pass
from pyasic.miners.device.models import M30SPlusPlusVH60
class BTMinerM30SPlusPlusVH60(M3X, M30SPlusPlusVH60):
pass
from pyasic.miners.device.models import M30SPlusPlusVH70
class BTMinerM30SPlusPlusVH70(M3X, M30SPlusPlusVH70):
pass
from pyasic.miners.device.models import M30SPlusPlusVH80
class BTMinerM30SPlusPlusVH80(M3X, M30SPlusPlusVH80):
pass
from pyasic.miners.device.models import M30SPlusPlusVH90
class BTMinerM30SPlusPlusVH90(M3X, M30SPlusPlusVH90):
pass
from pyasic.miners.device.models import M30SPlusPlusVI30
class BTMinerM30SPlusPlusVI30(M3X, M30SPlusPlusVI30):
pass
from pyasic.miners.device.models import M30SPlusPlusVJ20
class BTMinerM30SPlusPlusVJ20(M3X, M30SPlusPlusVJ20):
pass
from pyasic.miners.device.models import M30SPlusPlusVJ30
class BTMinerM30SPlusPlusVJ30(M3X, M30SPlusPlusVJ30):
pass
from pyasic.miners.device.models import M30SPlusPlusVJ50
class BTMinerM30SPlusPlusVJ50(M3X, M30SPlusPlusVJ50):
pass
from pyasic.miners.device.models import M30SPlusPlusVJ60
class BTMinerM30SPlusPlusVJ60(M3X, M30SPlusPlusVJ60):
pass
from pyasic.miners.device.models import M30SPlusPlusVJ70
class BTMinerM30SPlusPlusVJ70(M3X, M30SPlusPlusVJ70):
pass
from pyasic.miners.device.models import M30SPlusPlusVK30
class BTMinerM30SPlusPlusVK30(M3X, M30SPlusPlusVK30):
pass
from pyasic.miners.device.models import M30SPlusPlusVK40
class BTMinerM30SPlusPlusVK40(M3X, M30SPlusPlusVK40):
pass

View File

@@ -1,26 +1,13 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M31V10, M31V20
from pyasic.miners.device.models import M31V10
class BTMinerM31V10(M3X, M31V10):
pass
from pyasic.miners.device.models import M31V20
class BTMinerM31V20(M3X, M31V20):
pass

View File

@@ -1,26 +1,13 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M31HV10, M31HV40
from pyasic.miners.device.models import M31HV10
class BTMinerM31HV10(M3X, M31HV10):
pass
from pyasic.miners.device.models import M31HV40
class BTMinerM31HV40(M3X, M31HV40):
pass

View File

@@ -1,22 +1,6 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import M30LV10
from pyasic.miners.device.models import M31LV10
class BTMinerM31LV10(M3X, M30LV10):
class BTMinerM31LV10(M3X, M31LV10):
pass

View File

@@ -1,79 +1,83 @@
# ------------------------------------------------------------------------------
# Copyright 2022 Upstream Data Inc -
# -
# Licensed under the Apache License, Version 2.0 (the "License"); -
# you may not use this file except in compliance with the License. -
# You may obtain a copy of the License at -
# -
# http://www.apache.org/licenses/LICENSE-2.0 -
# -
# Unless required by applicable law or agreed to in writing, software -
# distributed under the License is distributed on an "AS IS" BASIS, -
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.miners.backends import M3X
from pyasic.miners.device.models import (
M31SV10,
M31SV20,
M31SV30,
M31SV40,
M31SV50,
M31SV60,
M31SV70,
M31SV80,
M31SV90,
M31SVE10,
M31SVE20,
M31SVE30,
)
from pyasic.miners.device.models import M31SV10
class BTMinerM31SV10(M3X, M31SV10):
pass
from pyasic.miners.device.models import M31SV20
class BTMinerM31SV20(M3X, M31SV20):
pass
from pyasic.miners.device.models import M31SV30
class BTMinerM31SV30(M3X, M31SV30):
pass
from pyasic.miners.device.models import M31SV40
class BTMinerM31SV40(M3X, M31SV40):
pass
from pyasic.miners.device.models import M31SV50
class BTMinerM31SV50(M3X, M31SV50):
pass
from pyasic.miners.device.models import M31SV60
class BTMinerM31SV60(M3X, M31SV60):
pass
from pyasic.miners.device.models import M31SV70
class BTMinerM31SV70(M3X, M31SV70):
pass
from pyasic.miners.device.models import M31SV80
class BTMinerM31SV80(M3X, M31SV80):
pass
from pyasic.miners.device.models import M31SV90
class BTMinerM31SV90(M3X, M31SV90):
pass
from pyasic.miners.device.models import M31SVE10
class BTMinerM31SVE10(M3X, M31SVE10):
pass
from pyasic.miners.device.models import M31SVE20
class BTMinerM31SVE20(M3X, M31SVE20):
pass
from pyasic.miners.device.models import M31SVE30
class BTMinerM31SVE30(M3X, M31SVE30):
pass

Some files were not shown because too many files have changed in this diff Show More