@ -140,10 +140,9 @@ static CScript PushAll(const std::vector<valtype>& values)
bool ProduceSignature ( const BaseSignatureCreator & creator , const CScript & fromPubKey , SignatureData & sigdata )
bool ProduceSignature ( const BaseSignatureCreator & creator , const CScript & fromPubKey , SignatureData & sigdata )
{
{
CScript script = fromPubKey ;
std : : vector < valtype > result ;
std : : vector < valtype > result ;
txnouttype whichType ;
txnouttype whichType ;
bool solved = SignStep ( creator , script , result , whichType , SIGVERSION_BASE ) ;
bool solved = SignStep ( creator , fromPubKey , result , whichType , SIGVERSION_BASE ) ;
bool P2SH = false ;
bool P2SH = false ;
CScript subscript ;
CScript subscript ;
sigdata . scriptWitness . stack . clear ( ) ;
sigdata . scriptWitness . stack . clear ( ) ;
@ -153,8 +152,8 @@ bool ProduceSignature(const BaseSignatureCreator& creator, const CScript& fromPu
// Solver returns the subscript that needs to be evaluated;
// Solver returns the subscript that needs to be evaluated;
// the final scriptSig is the signatures from that
// the final scriptSig is the signatures from that
// and then the serialized subscript:
// and then the serialized subscript:
s cript = s ubscript = CScript ( result [ 0 ] . begin ( ) , result [ 0 ] . end ( ) ) ;
s ubscript = CScript ( result [ 0 ] . begin ( ) , result [ 0 ] . end ( ) ) ;
solved = solved & & SignStep ( creator , s cript, result , whichType , SIGVERSION_BASE ) & & whichType ! = TX_SCRIPTHASH ;
solved = solved & & SignStep ( creator , s ubs cript, result , whichType , SIGVERSION_BASE ) & & whichType ! = TX_SCRIPTHASH ;
P2SH = true ;
P2SH = true ;
}
}