From d96d11af7978a53630d9eb2994f6e65d83456c12 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 23 Jul 2018 06:18:01 -1100 Subject: [PATCH] Test --- src/cc/faucet.cpp | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/cc/faucet.cpp b/src/cc/faucet.cpp index 5f8cbb107..400f7907a 100644 --- a/src/cc/faucet.cpp +++ b/src/cc/faucet.cpp @@ -78,7 +78,7 @@ bool FaucetExactAmounts(Eval* eval,const CTransaction &tx,int32_t minage) if ( (assetoshis= IsFaucetvout(tx,i)) != 0 ) outputs += assetoshis; } - if ( inputs != outputs ) + if ( inputs != outputs+COIN ) return(false); else return(true); } @@ -89,23 +89,29 @@ bool FaucetValidate(Eval* eval,const CTransaction &tx) numvins = tx.vin.size(); numvouts = tx.vout.size(); preventCCvins = preventCCvouts = -1; - if ( IsCCInput(tx.vin[0].scriptSig) != 0 ) - return eval->Invalid("illegal asset vin0"); - else if ( numvouts < 1 ) + if ( numvouts < 1 ) return eval->Invalid("no vouts"); - else if ( FaucetExactAmounts(eval,tx,1) == false ) - eval->Invalid("asset inputs != outputs"); else { - preventCCvouts = 1; - if ( IsFaucetvout(tx,0) != 0 ) + for (i=0; iInvalid("illegal normal vini"); + } + if ( FaucetExactAmounts(eval,tx,1) == false ) + eval->Invalid("asset inputs != outputs"); + else + { + preventCCvouts = 1; + if ( IsFaucetvout(tx,0) != 0 ) + { + preventCCvouts++; + i = 1; + } else i = 0; + if ( tx.vout[i].nValue != COIN ) + return(false); + return(PreventCC(eval,tx,preventCCvins,numvins,preventCCvouts,numvouts)); + } } }