code: def make_tx_signatures(txs_to_sign, privkey_list, pubkey_list):
      
      assert len(privkey_list) == len(pubkey_list) == len(txs_to_sign)
      # in the event of multiple inputs using the same pub/privkey,
      # that privkey should be included multiple times
  
      signatures = []
      for cnt, tx_to_sign in enumerate(txs_to_sign):
          sig = der_encode_sig(*ecdsa_raw_sign(tx_to_sign.rstrip(' \t\r\n\0'), privkey_list[cnt]))
          err_msg = 'Bad Signature: sig %s for tx %s with pubkey %s' % (
              sig,
              tx_to_sign,
              pubkey_list[cnt],
              )
          assert ecdsa_raw_verify(tx_to_sign, der_decode_sig(sig), pubkey_list[cnt]), err_msg
          signatures.append(sig)
      return signatures
docs: Loops through txs_to_sign and makes signatures using privkey_list and pubkey_list
  
      Not sure what privkeys and pubkeys to supply?
      Use get_input_addresses() to return a list of addresses.
      Matching those addresses to keys is up to you and how you store your private keys.
      A future version of this library may handle this for you, but it is not trivial.
  
      Note that if spending multisig funds the process is significantly more complicated.
      Each tx_to_sign must be signed by *each* private key.
      In a 2-of-3 transaction, two of [privkey1, privkey2, privkey3] must sign each tx_to_sign
  
      http://dev.blockcypher.com/#multisig-transactions