This commit is contained in:
@@ -75,7 +75,7 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
othercond = MakeCCcond1(cp->evalcode, unspendablepk);
|
othercond = MakeCCcond1(cp->evalcode, unspendablepk);
|
||||||
GetCCaddress1of2(cp,CC1of2CCaddr,unspendablepk,unspendablepk);
|
GetCCaddress1of2(cp,CC1of2CCaddr,unspendablepk,unspendablepk);
|
||||||
|
|
||||||
fprintf(stderr,"evalcode.%d (%s)\n",cp->evalcode,unspendable);
|
//fprintf(stderr,"evalcode.%d (%s)\n",cp->evalcode,unspendable);
|
||||||
|
|
||||||
// tokens support:
|
// tokens support:
|
||||||
// to spend from dual/three-eval mypk vout
|
// to spend from dual/three-eval mypk vout
|
||||||
@@ -96,7 +96,6 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
//This is a must to avoid hardfork change of validation in every CC, because there could be maximum one normal vin at the begining with current validation.
|
//This is a must to avoid hardfork change of validation in every CC, because there could be maximum one normal vin at the begining with current validation.
|
||||||
for (i=0; i<n; i++)
|
for (i=0; i<n; i++)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"i.%d of %d\n",i,n);
|
|
||||||
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
||||||
{
|
{
|
||||||
if ( vintx.vout[mtx.vin[i].prevout.n].scriptPubKey.IsPayToCryptoCondition() == 0 && ccvins==0)
|
if ( vintx.vout[mtx.vin[i].prevout.n].scriptPubKey.IsPayToCryptoCondition() == 0 && ccvins==0)
|
||||||
@@ -115,7 +114,6 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
memset(utxovalues,0,sizeof(utxovalues));
|
memset(utxovalues,0,sizeof(utxovalues));
|
||||||
for (i=0; i<n; i++)
|
for (i=0; i<n; i++)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"i.%d of %d\n",i,n);
|
|
||||||
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
||||||
{
|
{
|
||||||
utxovout = mtx.vin[i].prevout.n;
|
utxovout = mtx.vin[i].prevout.n;
|
||||||
@@ -147,7 +145,6 @@ std::string FinalizeCCTx(uint64_t CCmask,struct CCcontract_info *cp,CMutableTran
|
|||||||
n = mtx.vin.size();
|
n = mtx.vin.size();
|
||||||
for (i=0; i<n; i++)
|
for (i=0; i<n; i++)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"i.%d of %d\n",i,n);
|
|
||||||
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
if ( GetTransaction(mtx.vin[i].prevout.hash,vintx,hashBlock,false) != 0 )
|
||||||
{
|
{
|
||||||
utxovout = mtx.vin[i].prevout.n;
|
utxovout = mtx.vin[i].prevout.n;
|
||||||
@@ -159,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 )
|
||||||
{
|
{
|
||||||
@@ -183,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)
|
||||||
{
|
{
|
||||||
@@ -212,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]);
|
||||||
@@ -280,6 +277,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);
|
||||||
}
|
}
|
||||||
if ( mycond != 0 )
|
if ( mycond != 0 )
|
||||||
cc_free(mycond);
|
cc_free(mycond);
|
||||||
|
|||||||
Reference in New Issue
Block a user