Test
This commit is contained in:
@@ -67,7 +67,7 @@ bool ValidateAssetRemainder(uint64_t remaining_price,uint64_t remaining_nValue,u
|
|||||||
}
|
}
|
||||||
if ( remaining_price != 0 )
|
if ( remaining_price != 0 )
|
||||||
newunitprice = (remaining_nValue * COIN) / remaining_price;
|
newunitprice = (remaining_nValue * COIN) / remaining_price;
|
||||||
fprintf(stderr,"recvunitprice %.8f >= %.8f unitprice, new unitprice %.8f\n",(double)recvunitprice/COIN,(double)unitprice/COIN,(double)newunitprice/COIN);
|
fprintf(stderr,"recvunitprice %.16f >= %.16f unitprice, new unitprice %.16f\n",(double)recvunitprice/(COIN*COIN),(double)unitprice/(COIN*COIN),(double)newunitprice/(COIN*COIN));
|
||||||
}
|
}
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,7 @@ bool SetAssetFillamounts(uint64_t &received_nValue,uint64_t &remaining_price,uin
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
remaining_price = (totalunits - paidunits);
|
remaining_price = (totalunits - paidunits);
|
||||||
unitprice = (orig_nValue * COIN) / totalunits;
|
unitprice = (orig_nValue * COIN) / totalunits; // unit price has 10 decimals precision, eg. unitprice of 100 million is 1 COIN per unit
|
||||||
if ( unitprice > 0 && (received_nValue= (paidunits * unitprice)/COIN) > 0 && received_nValue < orig_nValue )
|
if ( unitprice > 0 && (received_nValue= (paidunits * unitprice)/COIN) > 0 && received_nValue < orig_nValue )
|
||||||
{
|
{
|
||||||
remaining_nValue = (orig_nValue - received_nValue);
|
remaining_nValue = (orig_nValue - received_nValue);
|
||||||
|
|||||||
@@ -329,6 +329,8 @@ bool ProcessAssets(Eval* eval, std::vector<uint8_t> paramsNull,const CTransactio
|
|||||||
else if ( AssetValidate(eval,ctx,n,funcid,assetid,assetid2,amount,origpubkey) != 0 )
|
else if ( AssetValidate(eval,ctx,n,funcid,assetid,assetid2,amount,origpubkey) != 0 )
|
||||||
{
|
{
|
||||||
//prevtxid = txid;
|
//prevtxid = txid;
|
||||||
|
if ( funcid == 'B' )
|
||||||
|
return(false);
|
||||||
fprintf(stderr,"AssetValidate.(%c) passed\n",funcid);
|
fprintf(stderr,"AssetValidate.(%c) passed\n",funcid);
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ bool RunCCEval(const CC *cond, const CTransaction &tx, unsigned int nIn)
|
|||||||
EvalRef eval;
|
EvalRef eval;
|
||||||
|
|
||||||
bool out = eval->Dispatch(cond, tx, nIn);
|
bool out = eval->Dispatch(cond, tx, nIn);
|
||||||
|
fprintf(stderr,"out %d vs %d isValid\n",(int32_t)out,(int32_t)eval->state.IsValid());
|
||||||
assert(eval->state.IsValid() == out);
|
assert(eval->state.IsValid() == out);
|
||||||
|
|
||||||
if (eval->state.IsValid()) return true;
|
if (eval->state.IsValid()) return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user