code: def signature_base(self):
          
          network_id = self.network_id
          tx_type = Xdr.StellarXDRPacker()
          tx_type.pack_EnvelopeType(Xdr.const.ENVELOPE_TYPE_TX)
          tx_type = tx_type.get_buffer()
  
          tx = Xdr.StellarXDRPacker()
          tx.pack_Transaction(self.tx.to_xdr_object())
          tx = tx.get_buffer()
          return network_id + tx_type + tx
docs: Get the signature base of this transaction envelope.
  
          Return the "signature base" of this transaction, which is the value
          that, when hashed, should be signed to create a signature that
          validators on the Stellar Network will accept.
  
          It is composed of a 4 prefix bytes followed by the xdr-encoded form of
          this transaction.
  
          :return: The signature base of this transaction envelope.