|
|
@ -46,7 +46,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran |
|
|
|
auto consensusBranchId = CurrentEpochBranchId(chainActive.Height() + 1, Params().GetConsensus()); |
|
|
|
CTransaction vintx; std::string hex; CPubKey globalpk; uint256 hashBlock; uint64_t mask=0,nmask=0,vinimask=0; |
|
|
|
int64_t utxovalues[CC_MAXVINS],change,normalinputs=0,totaloutputs=0,normaloutputs=0,totalinputs=0,normalvins=0,ccvins=0; |
|
|
|
int32_t i,flag,utxovout,n,err = 0; |
|
|
|
int32_t i,flag,mgret,utxovout,n,err = 0; |
|
|
|
char myaddr[64], destaddr[64], unspendable[64], mytokensaddr[64], mysingletokensaddr[64], unspendabletokensaddr[64],CC1of2CCaddr[64]; |
|
|
|
uint8_t *privkey, myprivkey[32], unspendablepriv[32], /*tokensunspendablepriv[32],*/ *msg32 = 0; |
|
|
|
CC *mycond=0, *othercond=0, *othercond2=0,*othercond4=0, *othercond3=0, *othercond1of2=NULL, *othercond1of2tokens = NULL, *cond=0, *condCC2=0,*mytokenscond = NULL, *mysingletokenscond = NULL, *othertokenscond = NULL; |
|
|
@ -118,7 +118,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran |
|
|
|
for (i=0; i<n; i++) |
|
|
|
{ |
|
|
|
if (i==0 && mtx.vin[i].prevout.n==10e8) continue; |
|
|
|
if ( myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock) != 0 ) |
|
|
|
if ( (mgret= myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock)) != 0 ) |
|
|
|
{ |
|
|
|
utxovout = mtx.vin[i].prevout.n; |
|
|
|
utxovalues[i] = vintx.vout[utxovout].nValue; |
|
|
@ -133,7 +133,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran |
|
|
|
{ |
|
|
|
mask |= (1LL << i); |
|
|
|
} |
|
|
|
} else fprintf(stderr,"FinalizeCCTx couldnt find %s\n",mtx.vin[i].prevout.hash.ToString().c_str()); |
|
|
|
} else fprintf(stderr,"FinalizeCCTx couldnt find %s mgret.%d\n",mtx.vin[i].prevout.hash.ToString().c_str(),mgret); |
|
|
|
} |
|
|
|
nmask = (1LL << n) - 1; |
|
|
|
if ( 0 && (mask & nmask) != (CCmask & nmask) ) |
|
|
@ -151,7 +151,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran |
|
|
|
{ |
|
|
|
if (i==0 && mtx.vin[i].prevout.n==10e8) |
|
|
|
continue; |
|
|
|
if ( myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock) != 0 ) |
|
|
|
if ( (mgret= myGetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock)) != 0 ) |
|
|
|
{ |
|
|
|
utxovout = mtx.vin[i].prevout.n; |
|
|
|
if ( vintx.vout[utxovout].scriptPubKey.IsPayToCryptoCondition() == 0 ) |
|
|
@ -297,7 +297,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran |
|
|
|
return(""); |
|
|
|
} |
|
|
|
} |
|
|
|
} else fprintf(stderr,"FinalizeCCTx couldnt find %s\n",mtx.vin[i].prevout.hash.ToString().c_str()); |
|
|
|
} else fprintf(stderr,"FinalizeCCTx2 couldnt find %s mgret.%d\n",mtx.vin[i].prevout.hash.ToString().c_str(),mgret); |
|
|
|
} |
|
|
|
if ( mycond != 0 ) |
|
|
|
cc_free(mycond); |
|
|
|