docs: def create_transaction(self, outputs, fee=None, leftover=None, combine=True,
                             message=None, unspents=None, custom_pushdata=False):  # pragma: no cover
          """Creates a signed P2PKH transaction.
  
          :param outputs: A sequence of outputs you wish to send in the form
                          ``(destination, amount, currency)``. The amount can
                          be either an int, float, or string as long as it is
                          a valid input to ``decimal.Decimal``. The currency
                          must be :ref:`supported <supported currencies>`.
          :type outputs: ``list`` of ``tuple``
          :param fee: The number of satoshi per byte to pay to miners. By default
                      Bitcash will poll `<https://bitcoincashfees.earn.com>`_ and use a fee
                      that will allow your transaction to be confirmed as soon as
                      possible.
          :type fee: ``int``
          :param leftover: The destination that will receive any change from the
                           transaction. By default Bitcash will send any change to
                           the same address you sent from.
          :type leftover: ``str``
          :param combine: Whether or not Bitcash should use all available UTXOs to
                          make future transactions smaller and therefore reduce
                          fees. By default Bitcash will consolidate UTXOs.
          :type combine: ``bool``
          :param message: A message to include in the transaction. This will be
                          stored in the blockchain forever. Due to size limits,
                          each message will be stored in chunks of 220 bytes.
          :type message: ``str``
          :param unspents: The UTXOs to use as the inputs. By default Bitcash will
                           communicate with the blockchain itself.
          :type unspents: ``list`` of :class:`~bitcash.network.meta.Unspent`
          :returns: The signed transaction as hex.
          :rtype: ``str``
          """
  
          unspents, outputs = sanitize_tx_data(
              unspents or self.unspents,
              outputs,
              fee or get_fee(),
              leftover or self.address,
              combine=combine,
              message=message,
              compressed=self.is_compressed(),
              custom_pushdata=custom_pushdata
          )
  
          return create_p2pkh_transaction(self, unspents, outputs, custom_pushdata=custom_pushdata)