# ------------------------------------------------------------------------------
#  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.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake


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

    expected_chips = 215


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

    expected_chips = 255


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


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

    expected_chips = 235


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

    expected_chips = 225


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

    expected_chips = 245


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

    expected_chips = 235


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

    expected_chips = 245


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

    expected_chips = 225


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

    expected_chips = 215


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

    expected_chips = 148


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

    expected_chips = 156


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

    expected_chips = 164


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

    expected_chips = 172


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


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


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


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


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

    expected_chips = 111


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

    expected_chips = 117


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

    expected_chips = 82


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

    expected_chips = 78


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

    expected_chips = 105


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

    expected_chips = 111


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

    expected_chips = 86


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

    expected_chips = 64


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

    expected_chips = 66


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

    expected_chips = 70


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

    expected_chips = 74


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

    expected_chips = 64


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

    expected_chips = 66
