# coding: utf-8

"""
    GoPlus Security API Document

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 1.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class ResponseWrapperTokenSecurityResult(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'note': 'str',
        'lp_total_supply': 'str',
        'lp_holders': 'list[ResponseWrapperTokenSecurityLpHolders]',
        'is_airdrop_scam': 'str',
        'other_potential_risks': 'str',
        'transfer_pausable': 'str',
        'trading_cooldown': 'str',
        'hidden_owner': 'str',
        'selfdestruct': 'str',
        'owner_percent': 'str',
        'is_whitelisted': 'str',
        'holder_count': 'str',
        'trust_list': 'str',
        'is_honeypot': 'str',
        'honeypot_with_same_creator': 'str',
        'holders': 'list[ResponseWrapperTokenSecurityLpHolders]',
        'dex': 'list[ResponseWrapperTokenSecurityDex]',
        'is_open_source': 'str',
        'sell_tax': 'str',
        'token_name': 'str',
        'creator_address': 'str',
        'creator_percent': 'str',
        'is_proxy': 'str',
        'creator_balance': 'str',
        'is_in_dex': 'str',
        'owner_balance': 'str',
        'total_supply': 'str',
        'is_true_token': 'str',
        'can_take_back_ownership': 'str',
        'is_blacklisted': 'str',
        'owner_address': 'str',
        'slippage_modifiable': 'str',
        'buy_tax': 'str',
        'external_call': 'str',
        'cannot_sell_all': 'str',
        'lp_holder_count': 'str',
        'personal_slippage_modifiable': 'str',
        'is_anti_whale': 'str',
        'is_mintable': 'str',
        'owner_change_balance': 'str',
        'cannot_buy': 'str',
        'anti_whale_modifiable': 'str',
        'token_symbol': 'str'
    }

    attribute_map = {
        'note': 'note',
        'lp_total_supply': 'lp_total_supply',
        'lp_holders': 'lp_holders',
        'is_airdrop_scam': 'is_airdrop_scam',
        'other_potential_risks': 'other_potential_risks',
        'transfer_pausable': 'transfer_pausable',
        'trading_cooldown': 'trading_cooldown',
        'hidden_owner': 'hidden_owner',
        'selfdestruct': 'selfdestruct',
        'owner_percent': 'owner_percent',
        'is_whitelisted': 'is_whitelisted',
        'holder_count': 'holder_count',
        'trust_list': 'trust_list',
        'is_honeypot': 'is_honeypot',
        'honeypot_with_same_creator': 'honeypot_with_same_creator',
        'holders': 'holders',
        'dex': 'dex',
        'is_open_source': 'is_open_source',
        'sell_tax': 'sell_tax',
        'token_name': 'token_name',
        'creator_address': 'creator_address',
        'creator_percent': 'creator_percent',
        'is_proxy': 'is_proxy',
        'creator_balance': 'creator_balance',
        'is_in_dex': 'is_in_dex',
        'owner_balance': 'owner_balance',
        'total_supply': 'total_supply',
        'is_true_token': 'is_true_token',
        'can_take_back_ownership': 'can_take_back_ownership',
        'is_blacklisted': 'is_blacklisted',
        'owner_address': 'owner_address',
        'slippage_modifiable': 'slippage_modifiable',
        'buy_tax': 'buy_tax',
        'external_call': 'external_call',
        'cannot_sell_all': 'cannot_sell_all',
        'lp_holder_count': 'lp_holder_count',
        'personal_slippage_modifiable': 'personal_slippage_modifiable',
        'is_anti_whale': 'is_anti_whale',
        'is_mintable': 'is_mintable',
        'owner_change_balance': 'owner_change_balance',
        'cannot_buy': 'cannot_buy',
        'anti_whale_modifiable': 'anti_whale_modifiable',
        'token_symbol': 'token_symbol'
    }

    def __init__(self, note=None, lp_total_supply=None, lp_holders=None, is_airdrop_scam=None, other_potential_risks=None, transfer_pausable=None, trading_cooldown=None, hidden_owner=None, selfdestruct=None, owner_percent=None, is_whitelisted=None, holder_count=None, trust_list=None, is_honeypot=None, honeypot_with_same_creator=None, holders=None, dex=None, is_open_source=None, sell_tax=None, token_name=None, creator_address=None, creator_percent=None, is_proxy=None, creator_balance=None, is_in_dex=None, owner_balance=None, total_supply=None, is_true_token=None, can_take_back_ownership=None, is_blacklisted=None, owner_address=None, slippage_modifiable=None, buy_tax=None, external_call=None, cannot_sell_all=None, lp_holder_count=None, personal_slippage_modifiable=None, is_anti_whale=None, is_mintable=None, owner_change_balance=None, cannot_buy=None, anti_whale_modifiable=None, token_symbol=None):  # noqa: E501
        """ResponseWrapperTokenSecurityResult - a model defined in Swagger"""  # noqa: E501
        self._note = None
        self._lp_total_supply = None
        self._lp_holders = None
        self._is_airdrop_scam = None
        self._other_potential_risks = None
        self._transfer_pausable = None
        self._trading_cooldown = None
        self._hidden_owner = None
        self._selfdestruct = None
        self._owner_percent = None
        self._is_whitelisted = None
        self._holder_count = None
        self._trust_list = None
        self._is_honeypot = None
        self._honeypot_with_same_creator = None
        self._holders = None
        self._dex = None
        self._is_open_source = None
        self._sell_tax = None
        self._token_name = None
        self._creator_address = None
        self._creator_percent = None
        self._is_proxy = None
        self._creator_balance = None
        self._is_in_dex = None
        self._owner_balance = None
        self._total_supply = None
        self._is_true_token = None
        self._can_take_back_ownership = None
        self._is_blacklisted = None
        self._owner_address = None
        self._slippage_modifiable = None
        self._buy_tax = None
        self._external_call = None
        self._cannot_sell_all = None
        self._lp_holder_count = None
        self._personal_slippage_modifiable = None
        self._is_anti_whale = None
        self._is_mintable = None
        self._owner_change_balance = None
        self._cannot_buy = None
        self._anti_whale_modifiable = None
        self._token_symbol = None
        self.discriminator = None
        if note is not None:
            self.note = note
        if lp_total_supply is not None:
            self.lp_total_supply = lp_total_supply
        if lp_holders is not None:
            self.lp_holders = lp_holders
        if is_airdrop_scam is not None:
            self.is_airdrop_scam = is_airdrop_scam
        if other_potential_risks is not None:
            self.other_potential_risks = other_potential_risks
        if transfer_pausable is not None:
            self.transfer_pausable = transfer_pausable
        if trading_cooldown is not None:
            self.trading_cooldown = trading_cooldown
        if hidden_owner is not None:
            self.hidden_owner = hidden_owner
        if selfdestruct is not None:
            self.selfdestruct = selfdestruct
        if owner_percent is not None:
            self.owner_percent = owner_percent
        if is_whitelisted is not None:
            self.is_whitelisted = is_whitelisted
        if holder_count is not None:
            self.holder_count = holder_count
        if trust_list is not None:
            self.trust_list = trust_list
        if is_honeypot is not None:
            self.is_honeypot = is_honeypot
        if honeypot_with_same_creator is not None:
            self.honeypot_with_same_creator = honeypot_with_same_creator
        if holders is not None:
            self.holders = holders
        if dex is not None:
            self.dex = dex
        if is_open_source is not None:
            self.is_open_source = is_open_source
        if sell_tax is not None:
            self.sell_tax = sell_tax
        if token_name is not None:
            self.token_name = token_name
        if creator_address is not None:
            self.creator_address = creator_address
        if creator_percent is not None:
            self.creator_percent = creator_percent
        if is_proxy is not None:
            self.is_proxy = is_proxy
        if creator_balance is not None:
            self.creator_balance = creator_balance
        if is_in_dex is not None:
            self.is_in_dex = is_in_dex
        if owner_balance is not None:
            self.owner_balance = owner_balance
        if total_supply is not None:
            self.total_supply = total_supply
        if is_true_token is not None:
            self.is_true_token = is_true_token
        if can_take_back_ownership is not None:
            self.can_take_back_ownership = can_take_back_ownership
        if is_blacklisted is not None:
            self.is_blacklisted = is_blacklisted
        if owner_address is not None:
            self.owner_address = owner_address
        if slippage_modifiable is not None:
            self.slippage_modifiable = slippage_modifiable
        if buy_tax is not None:
            self.buy_tax = buy_tax
        if external_call is not None:
            self.external_call = external_call
        if cannot_sell_all is not None:
            self.cannot_sell_all = cannot_sell_all
        if lp_holder_count is not None:
            self.lp_holder_count = lp_holder_count
        if personal_slippage_modifiable is not None:
            self.personal_slippage_modifiable = personal_slippage_modifiable
        if is_anti_whale is not None:
            self.is_anti_whale = is_anti_whale
        if is_mintable is not None:
            self.is_mintable = is_mintable
        if owner_change_balance is not None:
            self.owner_change_balance = owner_change_balance
        if cannot_buy is not None:
            self.cannot_buy = cannot_buy
        if anti_whale_modifiable is not None:
            self.anti_whale_modifiable = anti_whale_modifiable
        if token_symbol is not None:
            self.token_symbol = token_symbol

    @property
    def note(self):
        """Gets the note of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has other things investors need to know.  Example:  \"note\": \"Contract owner is a multisign contract.\"(Notice:(1) If we haven't found any other thing which is valuable yet, there will be no return.  (2) Type: string.)  # noqa: E501

        :return: The note of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._note

    @note.setter
    def note(self, note):
        """Sets the note of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has other things investors need to know.  Example:  \"note\": \"Contract owner is a multisign contract.\"(Notice:(1) If we haven't found any other thing which is valuable yet, there will be no return.  (2) Type: string.)  # noqa: E501

        :param note: The note of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._note = note

    @property
    def lp_total_supply(self):
        """Gets the lp_total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the supply number of the LP token. Example:\"lp_total_supply\": \"100000000\". No return means no LP.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) It is LP token number, NOT token number)  # noqa: E501

        :return: The lp_total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._lp_total_supply

    @lp_total_supply.setter
    def lp_total_supply(self, lp_total_supply):
        """Sets the lp_total_supply of this ResponseWrapperTokenSecurityResult.

        It describes the supply number of the LP token. Example:\"lp_total_supply\": \"100000000\". No return means no LP.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) It is LP token number, NOT token number)  # noqa: E501

        :param lp_total_supply: The lp_total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._lp_total_supply = lp_total_supply

    @property
    def lp_holders(self):
        """Gets the lp_holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        Top10 LP token holders info(Notice:When \"is_in_dex\": \"0\", there will be no return. )  # noqa: E501

        :return: The lp_holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: list[ResponseWrapperTokenSecurityLpHolders]
        """
        return self._lp_holders

    @lp_holders.setter
    def lp_holders(self, lp_holders):
        """Sets the lp_holders of this ResponseWrapperTokenSecurityResult.

        Top10 LP token holders info(Notice:When \"is_in_dex\": \"0\", there will be no return. )  # noqa: E501

        :param lp_holders: The lp_holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: list[ResponseWrapperTokenSecurityLpHolders]
        """

        self._lp_holders = lp_holders

    @property
    def is_airdrop_scam(self):
        """Gets the is_airdrop_scam of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the token is an airdrop scam. \"1\" means true; \"0\" means false; None means no result (Because We did not find conclusive information on whether token is an airdrop scam).(Notice:Only \"is_airdrop_scam\": \"1\" means it is an airdrop scam.)  # noqa: E501

        :return: The is_airdrop_scam of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_airdrop_scam

    @is_airdrop_scam.setter
    def is_airdrop_scam(self, is_airdrop_scam):
        """Sets the is_airdrop_scam of this ResponseWrapperTokenSecurityResult.

        It describes whether the token is an airdrop scam. \"1\" means true; \"0\" means false; None means no result (Because We did not find conclusive information on whether token is an airdrop scam).(Notice:Only \"is_airdrop_scam\": \"1\" means it is an airdrop scam.)  # noqa: E501

        :param is_airdrop_scam: The is_airdrop_scam of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_airdrop_scam = is_airdrop_scam

    @property
    def other_potential_risks(self):
        """Gets the other_potential_risks of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has other potential risks. Example: \"other_potential_risks\": \"Owner can set different transaction taxes for each user, which can trigger serious losses.\"(Notice:(1) If we haven't found any other potential risk yet, there will be no return.  (2) Type: string.)  # noqa: E501

        :return: The other_potential_risks of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._other_potential_risks

    @other_potential_risks.setter
    def other_potential_risks(self, other_potential_risks):
        """Sets the other_potential_risks of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has other potential risks. Example: \"other_potential_risks\": \"Owner can set different transaction taxes for each user, which can trigger serious losses.\"(Notice:(1) If we haven't found any other potential risk yet, there will be no return.  (2) Type: string.)  # noqa: E501

        :param other_potential_risks: The other_potential_risks of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._other_potential_risks = other_potential_risks

    @property
    def transfer_pausable(self):
        """Gets the transfer_pausable of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether trading can be pausable by token contract. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) This feature means that the contract owner will be able to suspend trading at any time, after that anyone will not be able to sell, except those who have special authority.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :return: The transfer_pausable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._transfer_pausable

    @transfer_pausable.setter
    def transfer_pausable(self, transfer_pausable):
        """Sets the transfer_pausable of this ResponseWrapperTokenSecurityResult.

        It describes whether trading can be pausable by token contract. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) This feature means that the contract owner will be able to suspend trading at any time, after that anyone will not be able to sell, except those who have special authority.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :param transfer_pausable: The transfer_pausable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._transfer_pausable = transfer_pausable

    @property
    def trading_cooldown(self):
        """Gets the trading_cooldown of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has trading-cool-down mechanism which can limits the minimum time between two transactions. \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return. )  # noqa: E501

        :return: The trading_cooldown of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._trading_cooldown

    @trading_cooldown.setter
    def trading_cooldown(self, trading_cooldown):
        """Sets the trading_cooldown of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has trading-cool-down mechanism which can limits the minimum time between two transactions. \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return. )  # noqa: E501

        :param trading_cooldown: The trading_cooldown of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._trading_cooldown = trading_cooldown

    @property
    def hidden_owner(self):
        """Gets the hidden_owner of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has hidden owners. For contract with a hidden owner, developer can still manipulate the contract even if the ownership has been abandoned. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Hidden owner is often used by developers to hide ownership and is often accompanied by malicious functionality. When the hidden owner exists, it is assumed that ownership has not been abandoned.)  # noqa: E501

        :return: The hidden_owner of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._hidden_owner

    @hidden_owner.setter
    def hidden_owner(self, hidden_owner):
        """Sets the hidden_owner of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has hidden owners. For contract with a hidden owner, developer can still manipulate the contract even if the ownership has been abandoned. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Hidden owner is often used by developers to hide ownership and is often accompanied by malicious functionality. When the hidden owner exists, it is assumed that ownership has not been abandoned.)  # noqa: E501

        :param hidden_owner: The hidden_owner of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._hidden_owner = hidden_owner

    @property
    def selfdestruct(self):
        """Gets the selfdestruct of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether this contract can self destruct. \"1\" means true;  \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) When the self-destruct function is triggered, this contract will be destroyed, all functions will be unavailable, and all related assets will be erased.)  # noqa: E501

        :return: The selfdestruct of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._selfdestruct

    @selfdestruct.setter
    def selfdestruct(self, selfdestruct):
        """Sets the selfdestruct of this ResponseWrapperTokenSecurityResult.

        It describes whether this contract can self destruct. \"1\" means true;  \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) When the self-destruct function is triggered, this contract will be destroyed, all functions will be unavailable, and all related assets will be erased.)  # noqa: E501

        :param selfdestruct: The selfdestruct of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._selfdestruct = selfdestruct

    @property
    def owner_percent(self):
        """Gets the owner_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the percentage of tokens held by the contract owner.  Example:\"owner_balance\": \"0.1\".  No return or return empty means there is no ownership or can't find ownership.(Notice:(1) 1 means 100% here. (2) When \"owner_address\" returns empty, or no return, there will be no return.)  # noqa: E501

        :return: The owner_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._owner_percent

    @owner_percent.setter
    def owner_percent(self, owner_percent):
        """Sets the owner_percent of this ResponseWrapperTokenSecurityResult.

        It describes the percentage of tokens held by the contract owner.  Example:\"owner_balance\": \"0.1\".  No return or return empty means there is no ownership or can't find ownership.(Notice:(1) 1 means 100% here. (2) When \"owner_address\" returns empty, or no return, there will be no return.)  # noqa: E501

        :param owner_percent: The owner_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._owner_percent = owner_percent

    @property
    def is_whitelisted(self):
        """Gets the is_whitelisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the whitelist function is not included in the contract. If there is a whitelist, some addresses may not be able to trade normally. \"1\" means true; \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Whitelisting is mostly used to allow specific addresses to make early transactions, tax-free, and not affected by transaction suspension. (4) For contracts without an owner (or the owner is a black hole address), the whitelist will not be able to get updated. However, the existing whitelist is still in effect.)  # noqa: E501

        :return: The is_whitelisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_whitelisted

    @is_whitelisted.setter
    def is_whitelisted(self, is_whitelisted):
        """Sets the is_whitelisted of this ResponseWrapperTokenSecurityResult.

        It describes whether the whitelist function is not included in the contract. If there is a whitelist, some addresses may not be able to trade normally. \"1\" means true; \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Whitelisting is mostly used to allow specific addresses to make early transactions, tax-free, and not affected by transaction suspension. (4) For contracts without an owner (or the owner is a black hole address), the whitelist will not be able to get updated. However, the existing whitelist is still in effect.)  # noqa: E501

        :param is_whitelisted: The is_whitelisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_whitelisted = is_whitelisted

    @property
    def holder_count(self):
        """Gets the holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the number of token holders. Example:\"holder_count\": \"4342\"  # noqa: E501

        :return: The holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._holder_count

    @holder_count.setter
    def holder_count(self, holder_count):
        """Sets the holder_count of this ResponseWrapperTokenSecurityResult.

        It describes the number of token holders. Example:\"holder_count\": \"4342\"  # noqa: E501

        :param holder_count: The holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._holder_count = holder_count

    @property
    def trust_list(self):
        """Gets the trust_list of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the token is a famous and trustworthy one. \"1\" means true; No return no result (Because We did not find conclusive information on whether token is a airdrop scam).(Notice:(1) Only \"trust_list\": \"1\" means it is a famous and trustworthy token.  (2) No return doesn't mean it is risky.)  # noqa: E501

        :return: The trust_list of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._trust_list

    @trust_list.setter
    def trust_list(self, trust_list):
        """Sets the trust_list of this ResponseWrapperTokenSecurityResult.

        It describes whether the token is a famous and trustworthy one. \"1\" means true; No return no result (Because We did not find conclusive information on whether token is a airdrop scam).(Notice:(1) Only \"trust_list\": \"1\" means it is a famous and trustworthy token.  (2) No return doesn't mean it is risky.)  # noqa: E501

        :param trust_list: The trust_list of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._trust_list = trust_list

    @property
    def is_honeypot(self):
        """Gets the is_honeypot of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the token is a honeypot. \"HoneyPot\" means that the token maybe cannot be sold because of the token contract's function, Or the token contains malicious code.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Hight risk, definitely scam.)  # noqa: E501

        :return: The is_honeypot of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_honeypot

    @is_honeypot.setter
    def is_honeypot(self, is_honeypot):
        """Sets the is_honeypot of this ResponseWrapperTokenSecurityResult.

        It describes whether the token is a honeypot. \"HoneyPot\" means that the token maybe cannot be sold because of the token contract's function, Or the token contains malicious code.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Hight risk, definitely scam.)  # noqa: E501

        :param is_honeypot: The is_honeypot of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_honeypot = is_honeypot

    @property
    def honeypot_with_same_creator(self):
        """Gets the honeypot_with_same_creator of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the number of honeypot tokens created by this creator.  # noqa: E501

        :return: The honeypot_with_same_creator of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._honeypot_with_same_creator

    @honeypot_with_same_creator.setter
    def honeypot_with_same_creator(self, honeypot_with_same_creator):
        """Sets the honeypot_with_same_creator of this ResponseWrapperTokenSecurityResult.

        It describes the number of honeypot tokens created by this creator.  # noqa: E501

        :param honeypot_with_same_creator: The honeypot_with_same_creator of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._honeypot_with_same_creator = honeypot_with_same_creator

    @property
    def holders(self):
        """Gets the holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        Top10 holders info  # noqa: E501

        :return: The holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: list[ResponseWrapperTokenSecurityLpHolders]
        """
        return self._holders

    @holders.setter
    def holders(self, holders):
        """Sets the holders of this ResponseWrapperTokenSecurityResult.

        Top10 holders info  # noqa: E501

        :param holders: The holders of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: list[ResponseWrapperTokenSecurityLpHolders]
        """

        self._holders = holders

    @property
    def dex(self):
        """Gets the dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes Dex information of where the token that can be traded.(Notice:When \"is_in_dex\": \"0\", there will be empty array. )  # noqa: E501

        :return: The dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: list[ResponseWrapperTokenSecurityDex]
        """
        return self._dex

    @dex.setter
    def dex(self, dex):
        """Sets the dex of this ResponseWrapperTokenSecurityResult.

        It describes Dex information of where the token that can be traded.(Notice:When \"is_in_dex\": \"0\", there will be empty array. )  # noqa: E501

        :param dex: The dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: list[ResponseWrapperTokenSecurityDex]
        """

        self._dex = dex

    @property
    def is_open_source(self):
        """Gets the is_open_source of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether this contract is open source.  \"1\" means true;  \"0\" means false.(Notice:Un-open-sourced contracts may hide various unknown mechanisms and are extremely risky. When the contract is not open source, we will not be able to detect other risk items.)  # noqa: E501

        :return: The is_open_source of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_open_source

    @is_open_source.setter
    def is_open_source(self, is_open_source):
        """Sets the is_open_source of this ResponseWrapperTokenSecurityResult.

        It describes whether this contract is open source.  \"1\" means true;  \"0\" means false.(Notice:Un-open-sourced contracts may hide various unknown mechanisms and are extremely risky. When the contract is not open source, we will not be able to detect other risk items.)  # noqa: E501

        :param is_open_source: The is_open_source of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_open_source = is_open_source

    @property
    def sell_tax(self):
        """Gets the sell_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the tax when selling the token.  Example: \"sell_tax\": 0.1%.  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) Sell tax will cause the actual value received when selling a token to be less than expected, and too much buy tax may lead to large losses. (3) When \"sell_tax\": \"1\", it means sell-tax is 100% or this token cannot be sold. (4) Sometimes token's  trading-cool-down mechanism would affect our sandbox system. When \"trading_cooldown\": \"1\", \"sell_tax\" may return \"1\".)  # noqa: E501

        :return: The sell_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._sell_tax

    @sell_tax.setter
    def sell_tax(self, sell_tax):
        """Sets the sell_tax of this ResponseWrapperTokenSecurityResult.

        It describes the tax when selling the token.  Example: \"sell_tax\": 0.1%.  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) Sell tax will cause the actual value received when selling a token to be less than expected, and too much buy tax may lead to large losses. (3) When \"sell_tax\": \"1\", it means sell-tax is 100% or this token cannot be sold. (4) Sometimes token's  trading-cool-down mechanism would affect our sandbox system. When \"trading_cooldown\": \"1\", \"sell_tax\" may return \"1\".)  # noqa: E501

        :param sell_tax: The sell_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._sell_tax = sell_tax

    @property
    def token_name(self):
        """Gets the token_name of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        Token Name  # noqa: E501

        :return: The token_name of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._token_name

    @token_name.setter
    def token_name(self, token_name):
        """Sets the token_name of this ResponseWrapperTokenSecurityResult.

        Token Name  # noqa: E501

        :param token_name: The token_name of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._token_name = token_name

    @property
    def creator_address(self):
        """Gets the creator_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes this contract's owner address.  Example: \"creator_address\": \"0x744aF9cBb7606BB040f6FBf1c0a0B0dcBA6385E5\";  # noqa: E501

        :return: The creator_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._creator_address

    @creator_address.setter
    def creator_address(self, creator_address):
        """Sets the creator_address of this ResponseWrapperTokenSecurityResult.

        It describes this contract's owner address.  Example: \"creator_address\": \"0x744aF9cBb7606BB040f6FBf1c0a0B0dcBA6385E5\";  # noqa: E501

        :param creator_address: The creator_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._creator_address = creator_address

    @property
    def creator_percent(self):
        """Gets the creator_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the percentage of tokens held by the contract owner. Example:\"owner_balance\": 0.1.(Notice:1 means 100% here.)  # noqa: E501

        :return: The creator_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._creator_percent

    @creator_percent.setter
    def creator_percent(self, creator_percent):
        """Sets the creator_percent of this ResponseWrapperTokenSecurityResult.

        It describes the percentage of tokens held by the contract owner. Example:\"owner_balance\": 0.1.(Notice:1 means 100% here.)  # noqa: E501

        :param creator_percent: The creator_percent of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._creator_percent = creator_percent

    @property
    def is_proxy(self):
        """Gets the is_proxy of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether this contract has a proxy contract.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Most Proxy contracts are accompanied by modifiable implementation contracts, and implementation contracts may contain significant potential risk. When the contract is a Proxy, we will stop detecting other risk items.)  # noqa: E501

        :return: The is_proxy of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_proxy

    @is_proxy.setter
    def is_proxy(self, is_proxy):
        """Sets the is_proxy of this ResponseWrapperTokenSecurityResult.

        It describes whether this contract has a proxy contract.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Most Proxy contracts are accompanied by modifiable implementation contracts, and implementation contracts may contain significant potential risk. When the contract is a Proxy, we will stop detecting other risk items.)  # noqa: E501

        :param is_proxy: The is_proxy of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_proxy = is_proxy

    @property
    def creator_balance(self):
        """Gets the creator_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the balance of the contract owner.  Example:\"owner_balance\": 100000000.  # noqa: E501

        :return: The creator_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._creator_balance

    @creator_balance.setter
    def creator_balance(self, creator_balance):
        """Sets the creator_balance of this ResponseWrapperTokenSecurityResult.

        It describes the balance of the contract owner.  Example:\"owner_balance\": 100000000.  # noqa: E501

        :param creator_balance: The creator_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._creator_balance = creator_balance

    @property
    def is_in_dex(self):
        """Gets the is_in_dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the token can be traded on the main Dex. \"1\" means true; \"0\" means false(Notice:It only counts when the token has a marketing pair with mainstream coins/tokens.)  # noqa: E501

        :return: The is_in_dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_in_dex

    @is_in_dex.setter
    def is_in_dex(self, is_in_dex):
        """Sets the is_in_dex of this ResponseWrapperTokenSecurityResult.

        It describes whether the token can be traded on the main Dex. \"1\" means true; \"0\" means false(Notice:It only counts when the token has a marketing pair with mainstream coins/tokens.)  # noqa: E501

        :param is_in_dex: The is_in_dex of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_in_dex = is_in_dex

    @property
    def owner_balance(self):
        """Gets the owner_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the balance of the contract owner.  Example: \"owner_balance\": \"100000000\".  No return or return empty means there is no ownership or can't find ownership.(Notice:When \"owner_address\" returns empty, or no return, there will be no return.)  # noqa: E501

        :return: The owner_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._owner_balance

    @owner_balance.setter
    def owner_balance(self, owner_balance):
        """Sets the owner_balance of this ResponseWrapperTokenSecurityResult.

        It describes the balance of the contract owner.  Example: \"owner_balance\": \"100000000\".  No return or return empty means there is no ownership or can't find ownership.(Notice:When \"owner_address\" returns empty, or no return, there will be no return.)  # noqa: E501

        :param owner_balance: The owner_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._owner_balance = owner_balance

    @property
    def total_supply(self):
        """Gets the total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the supply number of the token. Example:\"total_supply\": 100000000  # noqa: E501

        :return: The total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._total_supply

    @total_supply.setter
    def total_supply(self, total_supply):
        """Sets the total_supply of this ResponseWrapperTokenSecurityResult.

        It describes the supply number of the token. Example:\"total_supply\": 100000000  # noqa: E501

        :param total_supply: The total_supply of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._total_supply = total_supply

    @property
    def is_true_token(self):
        """Gets the is_true_token of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the token is true or fake. \"1\" means true token; \"0\" means fake token; None means no result (Because we did not find decisive information about the truth or falsity)(Notice:Only \"is_true_token\": \"0\" means it is a fake token.)  # noqa: E501

        :return: The is_true_token of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_true_token

    @is_true_token.setter
    def is_true_token(self, is_true_token):
        """Sets the is_true_token of this ResponseWrapperTokenSecurityResult.

        It describes whether the token is true or fake. \"1\" means true token; \"0\" means fake token; None means no result (Because we did not find decisive information about the truth or falsity)(Notice:Only \"is_true_token\": \"0\" means it is a fake token.)  # noqa: E501

        :param is_true_token: The is_true_token of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_true_token = is_true_token

    @property
    def can_take_back_ownership(self):
        """Gets the can_take_back_ownership of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether this contract has the function to take back ownership.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Ownership is mostly used to adjust the parameters and status of the contract, such as minting, modification of slippage, suspension of trading, setting blacklsit, etc.  When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, these functions will most likely be disabled.)  # noqa: E501

        :return: The can_take_back_ownership of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._can_take_back_ownership

    @can_take_back_ownership.setter
    def can_take_back_ownership(self, can_take_back_ownership):
        """Sets the can_take_back_ownership of this ResponseWrapperTokenSecurityResult.

        It describes whether this contract has the function to take back ownership.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Ownership is mostly used to adjust the parameters and status of the contract, such as minting, modification of slippage, suspension of trading, setting blacklsit, etc.  When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, these functions will most likely be disabled.)  # noqa: E501

        :param can_take_back_ownership: The can_take_back_ownership of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._can_take_back_ownership = can_take_back_ownership

    @property
    def is_blacklisted(self):
        """Gets the is_blacklisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the blacklist function is not included in the contract. If there is a blacklist, some addresses may not be able to trade normally. \"1\" means true; \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\",  there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) The contract owner may add any address into the blacklist, and the token holder in blacklist will not be able to trade. Abuse of the blacklist function will lead to great risks.  (4) For contracts without an owner (or the owner is a black hole address), the blacklist will not be able to get updated. However, the existing blacklist is still in effect.)  # noqa: E501

        :return: The is_blacklisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_blacklisted

    @is_blacklisted.setter
    def is_blacklisted(self, is_blacklisted):
        """Sets the is_blacklisted of this ResponseWrapperTokenSecurityResult.

        It describes whether the blacklist function is not included in the contract. If there is a blacklist, some addresses may not be able to trade normally. \"1\" means true; \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\",  there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) The contract owner may add any address into the blacklist, and the token holder in blacklist will not be able to trade. Abuse of the blacklist function will lead to great risks.  (4) For contracts without an owner (or the owner is a black hole address), the blacklist will not be able to get updated. However, the existing blacklist is still in effect.)  # noqa: E501

        :param is_blacklisted: The is_blacklisted of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_blacklisted = is_blacklisted

    @property
    def owner_address(self):
        """Gets the owner_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes this contract's owner address.  Example: \"owner_address\": \"0x744aF9cBb7606BB040f6FBf1c0a0B0dcBA6385E5\";  No return means unknown; Return empty means there is no ownership or can't find ownership.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Ownership is mostly used to adjust the parameters and status of the contract, such as minting, modification of slippage, suspension of trading, setting blacklist, etc.  When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, these functions will most likely be disabled.)  # noqa: E501

        :return: The owner_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._owner_address

    @owner_address.setter
    def owner_address(self, owner_address):
        """Sets the owner_address of this ResponseWrapperTokenSecurityResult.

        It describes this contract's owner address.  Example: \"owner_address\": \"0x744aF9cBb7606BB040f6FBf1c0a0B0dcBA6385E5\";  No return means unknown; Return empty means there is no ownership or can't find ownership.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Ownership is mostly used to adjust the parameters and status of the contract, such as minting, modification of slippage, suspension of trading, setting blacklist, etc.  When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, these functions will most likely be disabled.)  # noqa: E501

        :param owner_address: The owner_address of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._owner_address = owner_address

    @property
    def slippage_modifiable(self):
        """Gets the slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the trading tax can be modifiable by token contract. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Token with modifiable tax means that the contract owner can modify the buy tax or sell tax of the token. This may cause some losses, especially since some contracts have unlimited modifiable tax rates, which would make the token untradeable.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :return: The slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._slippage_modifiable

    @slippage_modifiable.setter
    def slippage_modifiable(self, slippage_modifiable):
        """Sets the slippage_modifiable of this ResponseWrapperTokenSecurityResult.

        It describes whether the trading tax can be modifiable by token contract. \"1\" means true; \"0\" means false; No return means unknown.(Notice:(1) When When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Token with modifiable tax means that the contract owner can modify the buy tax or sell tax of the token. This may cause some losses, especially since some contracts have unlimited modifiable tax rates, which would make the token untradeable.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :param slippage_modifiable: The slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._slippage_modifiable = slippage_modifiable

    @property
    def buy_tax(self):
        """Gets the buy_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the tax when buying the token.  Example: \"buy_tax\": 0.1%.  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) Buy tax will cause the actual value received when buying a token to be less than expected, and too much buy tax may lead to heavy losses. (3) When \"buy_tax\": \"1\", it means buy tax is 100% or cannot buy. (4) Sometimes token's anti-bot mechanism would affect our sandbox system, leading to \"cannoy_buy\": \"1\",  causing the display of \"buy_tax\": \"1\". (5)Some of the token is deisgned not for sale, leading to \"cannot_buy\":1, causing the display of \"buy_tax\": \"1\".)  # noqa: E501

        :return: The buy_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._buy_tax

    @buy_tax.setter
    def buy_tax(self, buy_tax):
        """Sets the buy_tax of this ResponseWrapperTokenSecurityResult.

        It describes the tax when buying the token.  Example: \"buy_tax\": 0.1%.  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) Buy tax will cause the actual value received when buying a token to be less than expected, and too much buy tax may lead to heavy losses. (3) When \"buy_tax\": \"1\", it means buy tax is 100% or cannot buy. (4) Sometimes token's anti-bot mechanism would affect our sandbox system, leading to \"cannoy_buy\": \"1\",  causing the display of \"buy_tax\": \"1\". (5)Some of the token is deisgned not for sale, leading to \"cannot_buy\":1, causing the display of \"buy_tax\": \"1\".)  # noqa: E501

        :param buy_tax: The buy_tax of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._buy_tax = buy_tax

    @property
    def external_call(self):
        """Gets the external_call of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract would call functions of other contracts when primary methods are executed. \"1\" means true;  \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) External call would cause the implementation of this contract to be highly dependent on other external contracts, which may be a potential risk.)  # noqa: E501

        :return: The external_call of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._external_call

    @external_call.setter
    def external_call(self, external_call):
        """Sets the external_call of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract would call functions of other contracts when primary methods are executed. \"1\" means true;  \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) External call would cause the implementation of this contract to be highly dependent on other external contracts, which may be a potential risk.)  # noqa: E501

        :param external_call: The external_call of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._external_call = external_call

    @property
    def cannot_sell_all(self):
        """Gets the cannot_sell_all of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has the function restricting token holder selling all the token.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) This feature means that you will not be able to sell all your tokens in a single sale. Sometimes you need to leave a certain percentage of the token, e.g. 10%, sometimes you need to leave a fixed number of token, such as 10 token. (3) When \"buy_tax\": \"1\", there will be no return.)  # noqa: E501

        :return: The cannot_sell_all of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._cannot_sell_all

    @cannot_sell_all.setter
    def cannot_sell_all(self, cannot_sell_all):
        """Sets the cannot_sell_all of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has the function restricting token holder selling all the token.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_in_dex\": \"0\", there will be no return.  (2) This feature means that you will not be able to sell all your tokens in a single sale. Sometimes you need to leave a certain percentage of the token, e.g. 10%, sometimes you need to leave a fixed number of token, such as 10 token. (3) When \"buy_tax\": \"1\", there will be no return.)  # noqa: E501

        :param cannot_sell_all: The cannot_sell_all of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._cannot_sell_all = cannot_sell_all

    @property
    def lp_holder_count(self):
        """Gets the lp_holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes the number of LP token holders. Example:\"lp_holder_count\": \"4342\". No return means no LP.(Notice:When \"is_in_dex\": \"0\", there will be no return.)  # noqa: E501

        :return: The lp_holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._lp_holder_count

    @lp_holder_count.setter
    def lp_holder_count(self, lp_holder_count):
        """Sets the lp_holder_count of this ResponseWrapperTokenSecurityResult.

        It describes the number of LP token holders. Example:\"lp_holder_count\": \"4342\". No return means no LP.(Notice:When \"is_in_dex\": \"0\", there will be no return.)  # noqa: E501

        :param lp_holder_count: The lp_holder_count of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._lp_holder_count = lp_holder_count

    @property
    def personal_slippage_modifiable(self):
        """Gets the personal_slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the owner can set a different tax rate for every assigned address. \"1\" means ture; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\",  there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) The contract owner may set a very outrageous tax rate for assigned address to block it from trading. Abuse of this funtcion will lead to great risks.  (4) For contracts without an owner (or the owner is a black hole address), this function would not able to be used. However, the existing tax rate would be still in effect.)  # noqa: E501

        :return: The personal_slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._personal_slippage_modifiable

    @personal_slippage_modifiable.setter
    def personal_slippage_modifiable(self, personal_slippage_modifiable):
        """Sets the personal_slippage_modifiable of this ResponseWrapperTokenSecurityResult.

        It describes whether the owner can set a different tax rate for every assigned address. \"1\" means ture; \"0\" means false; No return means unknown.(Notice:(1) When \"is_open_source\": \"0\",  there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) The contract owner may set a very outrageous tax rate for assigned address to block it from trading. Abuse of this funtcion will lead to great risks.  (4) For contracts without an owner (or the owner is a black hole address), this function would not able to be used. However, the existing tax rate would be still in effect.)  # noqa: E501

        :param personal_slippage_modifiable: The personal_slippage_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._personal_slippage_modifiable = personal_slippage_modifiable

    @property
    def is_anti_whale(self):
        """Gets the is_anti_whale of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has the function to limit the maximum amount of transactions or the maximum token position that for single address.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return. )  # noqa: E501

        :return: The is_anti_whale of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_anti_whale

    @is_anti_whale.setter
    def is_anti_whale(self, is_anti_whale):
        """Sets the is_anti_whale of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has the function to limit the maximum amount of transactions or the maximum token position that for single address.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return. )  # noqa: E501

        :param is_anti_whale: The is_anti_whale of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_anti_whale = is_anti_whale

    @property
    def is_mintable(self):
        """Gets the is_mintable of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether this contract has the function to mint tokens.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Mint function will directly trigger a massive sell-off, causing the coin price to plummet. It is extremely risky.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :return: The is_mintable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._is_mintable

    @is_mintable.setter
    def is_mintable(self, is_mintable):
        """Sets the is_mintable of this ResponseWrapperTokenSecurityResult.

        It describes whether this contract has the function to mint tokens.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Mint function will directly trigger a massive sell-off, causing the coin price to plummet. It is extremely risky.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :param is_mintable: The is_mintable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._is_mintable = is_mintable

    @property
    def owner_change_balance(self):
        """Gets the owner_change_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract owner has the authority to change the balance of any token holder.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Token with this feature means that the owner can modify anyone's balance, resulting in an asset straight to zero or a massive minting and sell-off.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :return: The owner_change_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._owner_change_balance

    @owner_change_balance.setter
    def owner_change_balance(self, owner_change_balance):
        """Sets the owner_change_balance of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract owner has the authority to change the balance of any token holder.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return.  (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3) Token with this feature means that the owner can modify anyone's balance, resulting in an asset straight to zero or a massive minting and sell-off.  (4) This function generally relies on ownership. When the contract does not have an owner (or if the owner is a black hole address) and the owner cannot be retrieved, this function will most likely be disabled.)  # noqa: E501

        :param owner_change_balance: The owner_change_balance of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._owner_change_balance = owner_change_balance

    @property
    def cannot_buy(self):
        """Gets the cannot_buy of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It deiscribes whether the Token can be bought. \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) Generally, \"cannot_buy\": \"1\" would be found in Reward Tokens. Such Tokens are issued as rewards for some on-chain applications and cannot be bought directly by users. (2) Sometimes token's anti-bot mechanism would affect our sandbox system, causing the display of \"buy_tax\": \"1\". (3) When \"cannot_buy\": \"1\", our sandbox system might be bloked, causing the display of \"buy_tax\": \"1\" and \"sell_tax\": \"1\")  # noqa: E501

        :return: The cannot_buy of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._cannot_buy

    @cannot_buy.setter
    def cannot_buy(self, cannot_buy):
        """Sets the cannot_buy of this ResponseWrapperTokenSecurityResult.

        It deiscribes whether the Token can be bought. \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) Generally, \"cannot_buy\": \"1\" would be found in Reward Tokens. Such Tokens are issued as rewards for some on-chain applications and cannot be bought directly by users. (2) Sometimes token's anti-bot mechanism would affect our sandbox system, causing the display of \"buy_tax\": \"1\". (3) When \"cannot_buy\": \"1\", our sandbox system might be bloked, causing the display of \"buy_tax\": \"1\" and \"sell_tax\": \"1\")  # noqa: E501

        :param cannot_buy: The cannot_buy of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._cannot_buy = cannot_buy

    @property
    def anti_whale_modifiable(self):
        """Gets the anti_whale_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        It describes whether the contract has the function to modify the maximum amount of transactions or the maximum token position.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3)When the anti whale value is set to a very small value, all tradinge would fail.)  # noqa: E501

        :return: The anti_whale_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._anti_whale_modifiable

    @anti_whale_modifiable.setter
    def anti_whale_modifiable(self, anti_whale_modifiable):
        """Sets the anti_whale_modifiable of this ResponseWrapperTokenSecurityResult.

        It describes whether the contract has the function to modify the maximum amount of transactions or the maximum token position.  \"1\" means true;  \"0\" means false;  No return means unknown.(Notice:(1) When \"is_open_source\": \"0\", there will be no return. (2) Sometimes, when \"is_proxy\": \"1\", there will be no return.  (3)When the anti whale value is set to a very small value, all tradinge would fail.)  # noqa: E501

        :param anti_whale_modifiable: The anti_whale_modifiable of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._anti_whale_modifiable = anti_whale_modifiable

    @property
    def token_symbol(self):
        """Gets the token_symbol of this ResponseWrapperTokenSecurityResult.  # noqa: E501

        Token Symbol  # noqa: E501

        :return: The token_symbol of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :rtype: str
        """
        return self._token_symbol

    @token_symbol.setter
    def token_symbol(self, token_symbol):
        """Sets the token_symbol of this ResponseWrapperTokenSecurityResult.

        Token Symbol  # noqa: E501

        :param token_symbol: The token_symbol of this ResponseWrapperTokenSecurityResult.  # noqa: E501
        :type: str
        """

        self._token_symbol = token_symbol

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(ResponseWrapperTokenSecurityResult, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, ResponseWrapperTokenSecurityResult):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
