def updateToken(self, address):
        if address != '0x0000000000000000000000000000000000000001':
            t = self.web3.eth.contract(
                address=self.web3.toChecksumAddress(address),
                abi=self.TRC21ABI)
            total_supply = t.functions.totalSupply().call()
            symbol = t.functions.symbol().call()
            name = symbol
            decimals = t.functions.decimals().call()
            is_major = False
        else:
            total_supply = '1000000000000000000000000000000'
            symbol = 'TOMO'
            name = 'TomoChain'
            decimals = '18'
            is_major = True

        if symbol == 'BTC' or symbol == 'USDT' or symbol == 'TOMO' or symbol == 'ETH':
            is_major = True

        logger.info('Token address %s symbol %s major %s', address, symbol,
                    is_major)
        rl = (Token.insert(address=address,
                           name=name,
                           symbol=symbol,
                           decimals=decimals,
                           total_supply=total_supply,
                           is_major=is_major).on_conflict(
                               conflict_target=(Token.address, ),
                               update={
                                   Token.is_major: is_major
                               }).execute())