code: def add_sign_transaction(self, signer: Account):
          
          if self.sig_list is None or len(self.sig_list) == 0:
              self.sig_list = []
          elif len(self.sig_list) >= TX_MAX_SIG_SIZE:
              raise SDKException(ErrorCode.param_err('the number of transaction signatures should not be over 16'))
          tx_hash = self.hash256()
          sig_data = signer.generate_signature(tx_hash)
          sig = Sig([signer.get_public_key_bytes()], 1, [sig_data])
          self.sig_list.append(sig)
docs: This interface is used to add signature into the transaction.
  
          :param signer: an Account object which will sign the transaction.
          :return: a Transaction object which has been signed.