This commit is contained in:
@@ -48,7 +48,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
int32_t i,flag,utxovout,n,err = 0;
|
int32_t i,flag,utxovout,n,err = 0;
|
||||||
char myaddr[64], destaddr[64], unspendable[64], mytokensaddr[64], mysingletokensaddr[64], unspendabletokensaddr[64],CC1of2CCaddr[64];
|
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;
|
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, *condCC2=0,*mytokenscond = NULL, *mysingletokenscond = NULL, *othertokenscond = NULL;
|
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;
|
||||||
CPubKey unspendablepk /*, tokensunspendablepk*/;
|
CPubKey unspendablepk /*, tokensunspendablepk*/;
|
||||||
struct CCcontract_info *cpTokens, tokensC;
|
struct CCcontract_info *cpTokens, tokensC;
|
||||||
globalpk = GetUnspendable(cp,0);
|
globalpk = GetUnspendable(cp,0);
|
||||||
@@ -156,7 +156,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
Getscriptaddress(destaddr,vintx.vout[utxovout].scriptPubKey);
|
Getscriptaddress(destaddr,vintx.vout[utxovout].scriptPubKey);
|
||||||
fprintf(stderr,"FinalizeCCTx() vin.%d is CC %.8f -> (%s) vs %s\n",i,(double)utxovalues[i]/COIN,destaddr,cp->unspendableaddr2);
|
//fprintf(stderr,"FinalizeCCTx() vin.%d is CC %.8f -> (%s) vs %s\n",i,(double)utxovalues[i]/COIN,destaddr,cp->unspendableaddr2);
|
||||||
//std::cerr << "FinalizeCCtx() searching destaddr=" << destaddr << " for vin[" << i << "] satoshis=" << utxovalues[i] << std::endl;
|
//std::cerr << "FinalizeCCtx() searching destaddr=" << destaddr << " for vin[" << i << "] satoshis=" << utxovalues[i] << std::endl;
|
||||||
if( strcmp(destaddr, myaddr) == 0 )
|
if( strcmp(destaddr, myaddr) == 0 )
|
||||||
{
|
{
|
||||||
@@ -180,7 +180,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
{
|
{
|
||||||
privkey = unspendablepriv;
|
privkey = unspendablepriv;
|
||||||
cond = othercond;
|
cond = othercond;
|
||||||
fprintf(stderr,"FinalizeCCTx evalcode(%d) matched unspendable CC addr.(%s)\n",cp->evalcode,unspendable);
|
//fprintf(stderr,"FinalizeCCTx evalcode(%d) matched unspendable CC addr.(%s)\n",cp->evalcode,unspendable);
|
||||||
}
|
}
|
||||||
else if (strcmp(destaddr, unspendabletokensaddr) == 0)
|
else if (strcmp(destaddr, unspendabletokensaddr) == 0)
|
||||||
{
|
{
|
||||||
@@ -209,7 +209,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
// check if this is spending from 1of2 cc coins addr:
|
// check if this is spending from 1of2 cc coins addr:
|
||||||
else if (strcmp(cp->coins1of2addr, destaddr) == 0)
|
else if (strcmp(cp->coins1of2addr, destaddr) == 0)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"FinalizeCCTx() matched %s unspendable1of2!\n",cp->coins1of2addr);
|
//fprintf(stderr,"FinalizeCCTx() matched %s unspendable1of2!\n",cp->coins1of2addr);
|
||||||
privkey = cp->coins1of2priv;//myprivkey;
|
privkey = cp->coins1of2priv;//myprivkey;
|
||||||
if (othercond1of2 == 0)
|
if (othercond1of2 == 0)
|
||||||
othercond1of2 = MakeCCcond1of2(cp->evalcode, cp->coins1of2pk[0], cp->coins1of2pk[1]);
|
othercond1of2 = MakeCCcond1of2(cp->evalcode, cp->coins1of2pk[0], cp->coins1of2pk[1]);
|
||||||
@@ -279,6 +279,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
} else fprintf(stderr,"FinalizeCCTx couldnt find %s\n",mtx.vin[i].prevout.hash.ToString().c_str());
|
} else fprintf(stderr,"FinalizeCCTx couldnt find %s\n",mtx.vin[i].prevout.hash.ToString().c_str());
|
||||||
fprintf(stderr,"done i.%d of %d\n",i,n);
|
fprintf(stderr,"done i.%d of %d\n",i,n);
|
||||||
}
|
}
|
||||||
|
fprintf(stderr,"free A\n");
|
||||||
if ( mycond != 0 )
|
if ( mycond != 0 )
|
||||||
cc_free(mycond);
|
cc_free(mycond);
|
||||||
if ( condCC2 != 0 )
|
if ( condCC2 != 0 )
|
||||||
@@ -291,6 +292,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
cc_free(othercond3);
|
cc_free(othercond3);
|
||||||
if ( othercond4 != 0 )
|
if ( othercond4 != 0 )
|
||||||
cc_free(othercond4);
|
cc_free(othercond4);
|
||||||
|
fprintf(stderr,"free B\n");
|
||||||
if ( othercond1of2 != 0 )
|
if ( othercond1of2 != 0 )
|
||||||
cc_free(othercond1of2);
|
cc_free(othercond1of2);
|
||||||
if ( othercond1of2tokens != 0 )
|
if ( othercond1of2tokens != 0 )
|
||||||
@@ -301,6 +303,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
cc_free(mysingletokenscond);
|
cc_free(mysingletokenscond);
|
||||||
if ( othertokenscond != 0 )
|
if ( othertokenscond != 0 )
|
||||||
cc_free(othertokenscond);
|
cc_free(othertokenscond);
|
||||||
|
fprintf(stderr,"free C\n");
|
||||||
std::string strHex = EncodeHexTx(mtx);
|
std::string strHex = EncodeHexTx(mtx);
|
||||||
if ( strHex.size() > 0 )
|
if ( strHex.size() > 0 )
|
||||||
return(strHex);
|
return(strHex);
|
||||||
|
|||||||
Reference in New Issue
Block a user