|
|
@ -473,28 +473,28 @@ void dpow_statemachinestart(void *ptr) |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if ( dpow_haveutxo(myinfo,bp->destcoin,&ep->dest.prev_hash,&ep->dest.prev_vout,destaddr,src->symbol) > 0 ) |
|
|
|
{ |
|
|
|
if ( (strcmp("KMD",dest->symbol) == 0 ) && (ep->dest.prev_vout != -1) ) |
|
|
|
{ |
|
|
|
// lock the dest utxo if destination coin is KMD.
|
|
|
|
if (dpow_lockunspent(myinfo,bp->destcoin,destaddr,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout) != 0) |
|
|
|
printf(">>>> LOCKED %s UTXO.(%s) vout.(%d)\n",dest->symbol,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout); |
|
|
|
else |
|
|
|
printf("<<<< FAILED TO LOCK %s UTXO.(%s) vout.(%d)\n",dest->symbol,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout); |
|
|
|
} |
|
|
|
} |
|
|
|
if ( dpow_haveutxo(myinfo,bp->srccoin,&ep->src.prev_hash,&ep->src.prev_vout,srcaddr,"") > 0 ) |
|
|
|
{ |
|
|
|
if ( ( strcmp("KMD",src->symbol) == 0 ) && (ep->src.prev_vout != -1) ) |
|
|
|
if ( dpow_haveutxo(myinfo,bp->destcoin,&ep->dest.prev_hash,&ep->dest.prev_vout,destaddr,src->symbol) > 0 ) |
|
|
|
{ |
|
|
|
// lock the src coin selected utxo if the source coin is KMD.
|
|
|
|
if (dpow_lockunspent(myinfo,bp->srccoin,srcaddr,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout) != 0) |
|
|
|
printf(">>>> LOCKED %s UTXO.(%s) vout.(%d\n",src->symbol,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout); |
|
|
|
else |
|
|
|
printf("<<<< FAILED TO LOCK %s UTXO.(%s) vout.(%d)\n",src->symbol,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout); |
|
|
|
if ( (strcmp("KMD",dest->symbol) == 0 ) && (ep->dest.prev_vout != -1) ) |
|
|
|
{ |
|
|
|
// lock the dest utxo if destination coin is KMD.
|
|
|
|
if (dpow_lockunspent(myinfo,bp->destcoin,destaddr,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout) != 0) |
|
|
|
printf(">>>> LOCKED %s UTXO.(%s) vout.(%d)\n",dest->symbol,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout); |
|
|
|
else |
|
|
|
printf("<<<< FAILED TO LOCK %s UTXO.(%s) vout.(%d)\n",dest->symbol,bits256_str(str2,ep->dest.prev_hash),ep->dest.prev_vout); |
|
|
|
} |
|
|
|
} |
|
|
|
if ( dpow_haveutxo(myinfo,bp->srccoin,&ep->src.prev_hash,&ep->src.prev_vout,srcaddr,"") > 0 ) |
|
|
|
{ |
|
|
|
if ( ( strcmp("KMD",src->symbol) == 0 ) && (ep->src.prev_vout != -1) ) |
|
|
|
{ |
|
|
|
// lock the src coin selected utxo if the source coin is KMD.
|
|
|
|
if (dpow_lockunspent(myinfo,bp->srccoin,srcaddr,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout) != 0) |
|
|
|
printf(">>>> LOCKED %s UTXO.(%s) vout.(%d\n",src->symbol,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout); |
|
|
|
else |
|
|
|
printf("<<<< FAILED TO LOCK %s UTXO.(%s) vout.(%d)\n",src->symbol,bits256_str(str2,ep->src.prev_hash),ep->src.prev_vout); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ( bp->isratify != 0 ) |
|
|
|
{ |
|
|
|
bp->notaries[myind].ratifysrcutxo = ep->src.prev_hash; |
|
|
@ -529,6 +529,8 @@ void dpow_statemachinestart(void *ptr) |
|
|
|
{ |
|
|
|
//printf("abort %s ht.%d due to new checkpoint.%d\n",dp->symbol,checkpoint.blockhash.height,dp->checkpoint.blockhash.height);
|
|
|
|
dp->ratifying -= bp->isratify; |
|
|
|
// set state to finished.
|
|
|
|
bp->state = 0xffffffff; |
|
|
|
free(ptr); |
|
|
|
return; |
|
|
|
} |
|
|
|