<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def token_approve(self, spender_address, price, from_account):
 """ Approve the passed address to spend the specified amount of tokens. :param spender_address: Account address, str :param price: Asset price, int :param from_account: Account address, str :return: bool """

        if not Web3Provider.get_web3().isChecksumAddress(spender_address):
            spender_address = Web3Provider.get_web3().toChecksumAddress(spender_address)

        tx_hash = self.send_transaction(
            'approve',
            (spender_address,
             price),
            transact={'from': from_account.address,
                      'passphrase': from_account.password}
        )
        return self.get_tx_receipt(tx_hash).status == 1