code: def approve(self, asset, sender: Account, b58_recv_address: str, amount: int, payer: Account, gas_limit: int,
                  gas_price: int) -> str:
          
          if sender is None:
              raise SDKException(ErrorCode.param_err('the sender should not be None.'))
          if payer is None:
              raise SDKException(ErrorCode.param_err('the payer should not be None.'))
          if amount <= 0:
              raise SDKException(ErrorCode.other_error('the amount should be greater than than zero.'))
          if gas_price < 0:
              raise SDKException(ErrorCode.other_error('the gas price should be equal or greater than zero.'))
          if gas_limit < 0:
              raise SDKException(ErrorCode.other_error('the gas limit should be equal or greater than zero.'))
          b58_sender_address = sender.get_address_base58()
          b58_payer_address = payer.get_address_base58()
          tx = self.new_approve_transaction(asset, b58_sender_address, b58_recv_address, amount, b58_payer_address,
                                            gas_limit, gas_price)
          tx.sign_transaction(sender)
          if sender.get_address_base58() != payer.get_address_base58():
              tx.add_sign_transaction(payer)
          return self.__sdk.get_network().send_raw_transaction(tx)
docs: This is an interface used to send an approve transaction
          which allow receiver to spend a amount of ONT or ONG asset in sender's account.
  
          :param asset: a string which is used to indicate what asset we want to approve.
          :param sender: an Account class that send the approve transaction.
          :param b58_recv_address: a base58 encode address which indicate where the approve to.
          :param amount: the amount of asset want to approve.
          :param payer: an Account class that used to pay for the transaction.
          :param gas_limit: an int value that indicate the gas limit.
          :param gas_price: an int value that indicate the gas price.
          :return: hexadecimal transaction hash value.