|
|
@ -263,7 +263,7 @@ bool RewardsValidate(struct CCcontract_info *cp,Eval* eval,const CTransaction &t |
|
|
|
if ( numvins == 1 && tx.vout[0].scriptPubKey.IsPayToCryptoCondition() == 0 ) |
|
|
|
{ |
|
|
|
if ( tx.vout[1].nValue != 10000 ) |
|
|
|
return eval->Invalid("wrong marker vour value"); |
|
|
|
return eval->Invalid("wrong marker vout value"); |
|
|
|
else if ( tx.vout[1].scriptPubKey != tx.vout[0].scriptPubKey ) |
|
|
|
return eval->Invalid("unlock recover tx vout.1 mismatched scriptPubKey"); |
|
|
|
else if ( tx.vout[0].scriptPubKey != vinTx.vout[1].scriptPubKey ) |
|
|
@ -285,7 +285,6 @@ bool RewardsValidate(struct CCcontract_info *cp,Eval* eval,const CTransaction &t |
|
|
|
else if ( tx.vout[1].scriptPubKey != vinTx.vout[1].scriptPubKey ) |
|
|
|
return eval->Invalid("unlock tx vout.1 mismatched scriptPubKey"); |
|
|
|
amount = vinTx.vout[0].nValue; |
|
|
|
reward = RewardsCalc(amount,tx.vin[0].prevout.hash,APR,minseconds,maxseconds,mindeposit); |
|
|
|
if ( RewardsExactAmounts(cp,eval,tx,txfee+tx.vout[1].nValue,sbits,fundingtxid) == 0 ) |
|
|
|
return false; |
|
|
|
else if ( tx.vout[1].nValue > amount+reward ) |
|
|
|