|
|
@ -268,11 +268,12 @@ int32_t LP_address_utxo_ptrs(struct iguana_info *coin,int32_t iambob,struct LP_a |
|
|
|
struct LP_address_utxo *up,*tmp; struct LP_transaction *tx; cJSON *txout; int32_t n = 0; |
|
|
|
if ( strcmp(ap->coinaddr,coinaddr) != 0 ) |
|
|
|
printf("UNEXPECTED coinaddr mismatch (%s) != (%s)\n",ap->coinaddr,coinaddr); |
|
|
|
//LP_listunspent_issue(coin->symbol,coin->smartaddr,2);
|
|
|
|
if ( coin->electrum != 0 ) |
|
|
|
LP_listunspent_issue(coin->symbol,coin->smartaddr,2); |
|
|
|
//portable_mutex_lock(&LP_utxomutex);
|
|
|
|
DL_FOREACH_SAFE(ap->utxos,up,tmp) |
|
|
|
{ |
|
|
|
//char str[65]; printf("LP_address_utxo_ptrs %s n.%d %.8f %s v%d spendheight.%d allocated.%d\n",ap->coinaddr,n,dstr(up->U.value),bits256_str(str,up->U.txid),up->U.vout,up->spendheight,LP_allocated(up->U.txid,up->U.vout));
|
|
|
|
char str[65]; printf("LP_address_utxo_ptrs %s n.%d %.8f %s v%d spendheight.%d allocated.%d\n",ap->coinaddr,n,dstr(up->U.value),bits256_str(str,up->U.txid),up->U.vout,up->spendheight,LP_allocated(up->U.txid,up->U.vout)); |
|
|
|
if ( up->spendheight <= 0 && LP_RTmetrics_avoidtxid(up->U.txid) < 0 ) |
|
|
|
{ |
|
|
|
if ( coin->electrum == 0 ) |
|
|
@ -281,7 +282,7 @@ int32_t LP_address_utxo_ptrs(struct iguana_info *coin,int32_t iambob,struct LP_a |
|
|
|
{ |
|
|
|
if ( LP_value_extract(txout,0) == 0 ) |
|
|
|
{ |
|
|
|
//printf("LP_address_utxo_ptrs skip zero value %s/v%d\n",bits256_str(str,up->U.txid),up->U.vout);
|
|
|
|
printf("LP_address_utxo_ptrs skip zero value %s/v%d\n",bits256_str(str,up->U.txid),up->U.vout); |
|
|
|
free_json(txout); |
|
|
|
up->spendheight = 1; |
|
|
|
if ( (tx= LP_transactionfind(coin,up->U.txid)) != 0 && up->U.vout < tx->numvouts ) |
|
|
@ -292,7 +293,7 @@ int32_t LP_address_utxo_ptrs(struct iguana_info *coin,int32_t iambob,struct LP_a |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
//printf("LP_address_utxo_ptrs skips %s %s payment %s/v%d is spent\n",coin->symbol,coinaddr,bits256_str(str,up->U.txid),up->U.vout);
|
|
|
|
printf("LP_address_utxo_ptrs skips %s %s payment %s/v%d is spent\n",coin->symbol,coinaddr,bits256_str(str,up->U.txid),up->U.vout); |
|
|
|
up->spendheight = 1; |
|
|
|
if ( (tx= LP_transactionfind(coin,up->U.txid)) != 0 && up->U.vout < tx->numvouts ) |
|
|
|
tx->outpoints[up->U.vout].spendheight = 1; |
|
|
@ -303,7 +304,7 @@ int32_t LP_address_utxo_ptrs(struct iguana_info *coin,int32_t iambob,struct LP_a |
|
|
|
{ |
|
|
|
if ( up->SPV < 0 || up->U.height == 0 ) |
|
|
|
{ |
|
|
|
//printf("LP_address_utxo_ptrs skips %s/v%u due to SPV.%d ht.%d\n",bits256_str(str,up->U.txid),up->U.vout,up->SPV,up->U.height);
|
|
|
|
printf("LP_address_utxo_ptrs skips %s/v%u due to SPV.%d ht.%d\n",bits256_str(str,up->U.txid),up->U.vout,up->SPV,up->U.height); |
|
|
|
if ( (tx= LP_transactionfind(coin,up->U.txid)) != 0 && up->U.vout < tx->numvouts ) |
|
|
|
tx->outpoints[up->U.vout].spendheight = 1; |
|
|
|
continue; |
|
|
@ -314,7 +315,7 @@ int32_t LP_address_utxo_ptrs(struct iguana_info *coin,int32_t iambob,struct LP_a |
|
|
|
utxos[n++] = up; |
|
|
|
if ( n >= max ) |
|
|
|
break; |
|
|
|
} //else printf("LP_allocated skip\n");
|
|
|
|
} else printf("LP_allocated skip\n"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|