From 8ce8aff26dca2fae4480e2a6af18a791b5d8c4fb Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 19 Jul 2018 07:15:49 -1100 Subject: [PATCH] Test --- src/cc/assets.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/cc/assets.cpp b/src/cc/assets.cpp index 353ef478b..a2a9f8399 100644 --- a/src/cc/assets.cpp +++ b/src/cc/assets.cpp @@ -247,7 +247,7 @@ uint64_t IsAssetTx(uint64_t *origamountp,uint8_t funcid,int32_t vini,uint256 ass return(0); } -uint64_t AssetIsvalidCCvin(uint8_t funcid,uint256 assetid,uint64_t *origamountp,uint64_t *origoutp,char *origaddr,const CTransaction &tx,int32_t vini) +uint64_t AssetIsvalidCCvin(Eval* eval,uint8_t funcid,uint256 assetid,uint64_t *origamountp,uint64_t *origoutp,char *origaddr,const CTransaction &tx,int32_t vini) { CTransaction inputTx,origTx; CTxDestination address; uint256 hashBlock; int32_t v; uint64_t nValue = 0; v = tx.vin[vini].prevout.n; @@ -272,7 +272,7 @@ uint64_t AssetIsvalidCCvin(uint8_t funcid,uint256 assetid,uint64_t *origamountp, return(nValue); } -uint64_t AssetIsvalidvin(uint64_t *origamountp,uint64_t *origoutp,char *origaddr,const CTransaction &tx,int32_t vini) +uint64_t AssetIsvalidvin(Eval* eval,uint64_t *origamountp,uint64_t *origoutp,char *origaddr,const CTransaction &tx,int32_t vini) { CTransaction inputTx,origTx; CTxDestination address; uint256 hashBlock,inputassetid,inputassetid2; int32_t v; uint64_t amount,nValue = 0; v = tx.vin[vini].prevout.n; @@ -297,7 +297,7 @@ uint64_t AssetIsvalidvin(uint64_t *origamountp,uint64_t *origoutp,char *origaddr return(nValue); } -uint64_t Assetvini2val(int32_t needasset,uint256 assetid,const CTransaction &tx) +uint64_t Assetvini2val(Eval* eval,int32_t needasset,uint256 assetid,const CTransaction &tx) { CTransaction inputTx; uint256 hashBlock; if ( needasset != 0 && IsAssetInput(tx.vin[2].scriptSig) == 0 ) @@ -307,7 +307,7 @@ uint64_t Assetvini2val(int32_t needasset,uint256 assetid,const CTransaction &tx) return(inputTx.vout[tx.vin[2].prevout.n]); } -uint64_t AssetIsvalidvout0(const CTransaction &tx,uint64_t nValue) +uint64_t AssetIsvalidvout0(Eval* eval,const CTransaction &tx,uint64_t nValue) { CTxDestination address; if ( tx.vout[0].scriptPubKey.IsPayToCryptoCondition() == 0 ) @@ -375,9 +375,9 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu //vout.n-1: opreturn [EVAL_ASSETS] ['s'] [assetid] [amount of native coin required] if ( amount == 0 ) return eval->Invalid("illegal null amount for selloffer"); - if ( (nValue= AssetIsvalidCCvin(funcid,assetid,0,0,0,tx,1)) != 0 ) + if ( (nValue= AssetIsvalidCCvin(eval,funcid,assetid,0,0,0,tx,1)) != 0 ) { - if ( AssetIsvalidvout0(tx,nValue) != nValue ) + if ( AssetIsvalidvout0(eval,tx,nValue) != nValue ) return(false); } else return eval->Invalid("illegal standard vini.1 for selloffer"); break; @@ -391,7 +391,7 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu return eval->Invalid("illegal null amount for buyoffer"); for (i=1; iInvalid("invalid CC vin for buyoffer"); } for (i=0; iInvalid("illegal assetid2 for exchange"); if ( amount == 0 ) return eval->Invalid("illegal null amount for exchange"); - if ( (nValue= AssetIsvalidCCvin(funcid,assetid,0,0,0,tx,1)) != 0 ) + if ( (nValue= AssetIsvalidCCvin(eval,funcid,assetid,0,0,0,tx,1)) != 0 ) { - if ( AssetIsvalidvout0(tx,nValue) != nValue ) + if ( AssetIsvalidvout0(eval,tx,nValue) != nValue ) return(false); } else return eval->Invalid("illegal standard vini.1 for exchange"); break; @@ -424,7 +424,7 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu //vout.0: vin.1 value to original pubkey //vout.1: normal output for change (if any) //vout.n-1: opreturn [EVAL_ASSETS] ['o'] [assetid] - if ( AssetIsvalidCCvin(funcid,0,&origamount,&origout,origaddr,tx,1) != 0 ) + if ( AssetIsvalidCCvin(eval,funcid,0,&origamount,&origout,origaddr,tx,1) != 0 ) return eval->Invalid("illegal CC vin.1 for cancelbuy"); if ( strcmp(Unspendableaddr,(char *)CBitcoinAddress(address).ToString().c_str()) != 0 ) return eval->Invalid("invalid vout0 address for cancelbuy"); @@ -442,7 +442,7 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu //vout.0: vin.1 assetoshis to original pubkey CC //vout.1: normal output for change (if any) //vout.n-1: opreturn [EVAL_ASSETS] ['x'] [assetid] - if ( (nValue= AssetIsvalidCCvin(funcid,assetid,&origamount,&origout,origaddr,tx,1)) != 0 ) + if ( (nValue= AssetIsvalidCCvin(eval,funcid,assetid,&origamount,&origout,origaddr,tx,1)) != 0 ) { if ( origout != tx.vout[0].nValue ) return eval->Invalid("mismatched value for cancel"); @@ -461,9 +461,9 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu //vout.1: vin.2 value to original pubkey //vout.2: normal output for change (if any) //vout.n-1: opreturn [EVAL_ASSETS] ['S'] [assetid] - if ( (vini2val= Assetvini2val(0,assetid,tx)) == 0 ) + if ( (vini2val= Assetvini2val(eval,0,assetid,tx)) == 0 ) return eval->Invalid("no vini2val for fillsell"); - if ( (nValue= AssetIsvalidCCvin(funcid,assetid,&origamount,&origout,origaddr,tx,1)) != 0 ) + if ( (nValue= AssetIsvalidCCvin(eval,funcid,assetid,&origamount,&origout,origaddr,tx,1)) != 0 ) { if ( origout != tx.vout[0].nValue ) return eval->Invalid("mismatched value for fillsell"); @@ -487,9 +487,9 @@ bool AssetValidate(Eval* eval,const CTransaction &tx,int32_t numvouts,uint8_t fu //vout.1: vin.2 assetoshis to original pubkey //vout.2: normal output for change (if any) //vout.n-1: opreturn [EVAL_ASSETS] ['B'] [assetid] - if ( (vini2val= Assetvini2val(1,assetid,tx)) == 0 ) + if ( (vini2val= Assetvini2val(eval,1,assetid,tx)) == 0 ) return eval->Invalid("no vini2val for fillbuy"); - if ( (nValue= AssetIsvalidvin(&origamount,&origout,origaddr,tx,1)) != 0 ) + if ( (nValue= AssetIsvalidvin(eval,&origamount,&origout,origaddr,tx,1)) != 0 ) { if ( origout != tx.vout[0].nValue ) return eval->Invalid("mismatched value for fillbuy");