from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake


class M30SV10(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV10

    expected_chips = 148
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV20

    expected_chips = 156
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV30(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV30

    expected_chips = 164
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV40(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV40

    expected_chips = 172
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV50(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV50

    expected_chips = 156
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV60(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV60

    expected_chips = 164
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV70(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV70

    expected_chips = None
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SV80(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SV80

    expected_chips = 129
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE10(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE10

    expected_chips = 105
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE20

    expected_chips = 111
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE30(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE30

    expected_chips = 117
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE40(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE40

    expected_chips = 123
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE50(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE50

    expected_chips = 129
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE60(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE60

    expected_chips = None
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVE70(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVE70

    expected_chips = None
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVF10(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVF10

    expected_chips = 70
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVF20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVF20

    expected_chips = 74
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVF30(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVF30

    expected_chips = 78
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVG10(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVG10

    expected_chips = 66
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVG20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVG20

    expected_chips = 70
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVG30(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVG30

    expected_chips = 74
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVG40(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVG40

    expected_chips = 78
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH10(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH10

    expected_chips = 64
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH20

    expected_chips = 66
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH30(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH30

    expected_chips = None
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH40(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH40

    expected_chips = 64
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH50(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH50

    expected_chips = 66
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVH60(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVH60

    expected_chips = 70
    expected_fans = 2
    expected_hashboards = 3
    algo = MinerAlgo.SHA256


class M30SVI20(WhatsMinerMake):
    raw_model = MinerModel.WHATSMINER.M30SVI20

    expected_chips = 70
    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
