This commit is contained in:
jl777
2018-07-24 00:24:49 -11:00
parent 32406f1be7
commit b9f95c74f6

View File

@@ -28,12 +28,12 @@
// start of consensus code // start of consensus code
uint64_t IsFaucetvout(const CTransaction& tx,int32_t v) uint64_t IsFaucetvout(struct CCcontract_info *cp,const CTransaction& tx,int32_t v)
{ {
char destaddr[64]; char destaddr[64];
if ( tx.vout[v].scriptPubKey.IsPayToCryptoCondition() != 0 ) if ( tx.vout[v].scriptPubKey.IsPayToCryptoCondition() != 0 )
{ {
if ( Getscriptaddress(destaddr,tx.vout[v].scriptPubKey) > 0 && strcmp(destaddr,FaucetCCaddr) == 0 ) if ( Getscriptaddress(destaddr,tx.vout[v].scriptPubKey) > 0 && strcmp(destaddr,cp->unspendableCCaddr) == 0 )
return(tx.vout[v].nValue); return(tx.vout[v].nValue);
} }
return(0); return(0);
@@ -58,7 +58,7 @@ bool FaucetExactAmounts(struct CCcontract_info *cp,Eval* eval,const CTransaction
//fprintf(stderr,"vini.%d check hash and vout\n",i); //fprintf(stderr,"vini.%d check hash and vout\n",i);
if ( hashBlock == zerohash ) if ( hashBlock == zerohash )
return eval->Invalid("cant faucet from mempool"); return eval->Invalid("cant faucet from mempool");
if ( (assetoshis= IsFaucetvout(vinTx,tx.vin[i].prevout.n)) != 0 ) if ( (assetoshis= IsFaucetvout(cp,vinTx,tx.vin[i].prevout.n)) != 0 )
inputs += assetoshis; inputs += assetoshis;
} }
} }
@@ -66,7 +66,7 @@ bool FaucetExactAmounts(struct CCcontract_info *cp,Eval* eval,const CTransaction
for (i=0; i<numvouts; i++) for (i=0; i<numvouts; i++)
{ {
//fprintf(stderr,"i.%d of numvouts.%d\n",i,numvouts); //fprintf(stderr,"i.%d of numvouts.%d\n",i,numvouts);
if ( (assetoshis= IsFaucetvout(tx,i)) != 0 ) if ( (assetoshis= IsFaucetvout(cp,tx,i)) != 0 )
outputs += assetoshis; outputs += assetoshis;
} }
if ( inputs != outputs+COIN+txfee ) if ( inputs != outputs+COIN+txfee )
@@ -100,7 +100,7 @@ bool FaucetValidate(struct CCcontract_info *cp,Eval* eval,const CTransaction &tx
{ {
fprintf(stderr,"check rest\n"); fprintf(stderr,"check rest\n");
preventCCvouts = 1; preventCCvouts = 1;
if ( IsFaucetvout(tx,0) != 0 ) if ( IsFaucetvout(cp,tx,0) != 0 )
{ {
preventCCvouts++; preventCCvouts++;
i = 1; i = 1;