corr dualUnspendable use in AssetOrders

This commit is contained in:
dimxy
2019-01-16 19:39:56 +05:00
parent 0588f5dc67
commit 06e5d6fc6e
2 changed files with 8 additions and 2 deletions

View File

@@ -165,7 +165,10 @@ UniValue AssetOrders(uint256 refassetid)
SetCCunspents(unspentOutputsTokens, (char *)cpTokens->unspendableCCaddr); SetCCunspents(unspentOutputsTokens, (char *)cpTokens->unspendableCCaddr);
SetCCunspents(unspentOutputsAssets, (char *)cpAssets->unspendableCCaddr);
char dualEvalUnspendableAddr[64];
GetTokensCCaddress(cpAssets, dualEvalUnspendableAddr, GetUnspendable(cpAssets, NULL));
SetCCunspents(unspentOutputsAssets, dualEvalUnspendableAddr /*(char *)cpAssets->unspendableCCaddr*/);
for (std::vector<std::pair<CAddressUnspentKey, CAddressUnspentValue> >::const_iterator itTokens = unspentOutputsTokens.begin(); for (std::vector<std::pair<CAddressUnspentKey, CAddressUnspentValue> >::const_iterator itTokens = unspentOutputsTokens.begin();
itTokens != unspentOutputsTokens.end(); itTokens != unspentOutputsTokens.end();

View File

@@ -356,12 +356,13 @@ bool AssetsValidate(struct CCcontract_info *cpAssets,Eval* eval,const CTransacti
else if( remaining_price != 0 ) else if( remaining_price != 0 )
{ {
if ( ConstrainVout(tx.vout[0], 1, dualEvalUnspendableAddr /*(char *)cpAssets->unspendableCCaddr*/, 0) == 0 ) if ( ConstrainVout(tx.vout[0], 1, dualEvalUnspendableAddr /*(char *)cpAssets->unspendableCCaddr*/, 0) == 0 )
return eval->Invalid("mismatched vout0 assets unspendable CCaddr for fill sell"); return eval->Invalid("mismatched vout0 assets dual unspendable CCaddr for fill sell");
} }
} }
fprintf(stderr,"fill validated\n"); fprintf(stderr,"fill validated\n");
break; break;
case 'E': // fillexchange case 'E': // fillexchange
////////// not implemented yet ////////////
return eval->Invalid("unexpected assets fillexchange funcid"); return eval->Invalid("unexpected assets fillexchange funcid");
break; // disable asset swaps break; // disable asset swaps
//vin.0: normal input //vin.0: normal input
@@ -377,6 +378,7 @@ bool AssetsValidate(struct CCcontract_info *cpAssets,Eval* eval,const CTransacti
//if ( AssetExactAmounts(false, cp,inputs,outputs,eval,tx,assetid2) == false ) //if ( AssetExactAmounts(false, cp,inputs,outputs,eval,tx,assetid2) == false )
// eval->Invalid("asset2 inputs != outputs"); // eval->Invalid("asset2 inputs != outputs");
////////// not implemented yet ////////////
if( (assetoshis= AssetValidateSellvin(cpTokens, eval, totalunits, tmporigpubkey, tokensCCaddr, origaddr, tx, assetid)) == 0 ) if( (assetoshis= AssetValidateSellvin(cpTokens, eval, totalunits, tmporigpubkey, tokensCCaddr, origaddr, tx, assetid)) == 0 )
return(false); return(false);
else if( numvouts < 3 ) else if( numvouts < 3 )
@@ -412,6 +414,7 @@ bool AssetsValidate(struct CCcontract_info *cpAssets,Eval* eval,const CTransacti
return eval->Invalid("mismatched vout0 AssetsCCaddr for fillex"); return eval->Invalid("mismatched vout0 AssetsCCaddr for fillex");
} }
} }
////////// not implemented yet ////////////
fprintf(stderr,"fill validated\n"); fprintf(stderr,"fill validated\n");
break; break;