Browse Source

test

release/v0.1
jl777 8 years ago
parent
commit
a2da63f1ca
  1. 11
      iguana/iguana_unspents.c

11
iguana/iguana_unspents.c

@ -958,7 +958,7 @@ int64_t iguana_utxoaddrtablefind(struct iguana_info *coin,int16_t search_hdrsi,u
{ {
struct iguana_utxoaddr UA; int32_t ind,num,i; uint8_t *ptr; struct iguana_utxoaddr UA; int32_t ind,num,i; uint8_t *ptr;
memset(&UA,0,sizeof(UA)); memset(&UA,0,sizeof(UA));
ind = rmd160[0] + ((int32_t)rmd160[1] << 8); ind = rmd160[0] + ((uint32_t)rmd160[1] << 8);
if ( (num= iguana_utxotable_numinds(ind)) > 0 ) if ( (num= iguana_utxotable_numinds(ind)) > 0 )
{ {
for (i=0; i<num; i++) for (i=0; i<num; i++)
@ -1303,7 +1303,7 @@ int64_t iguana_utxoaddr_gen(struct supernet_info *myinfo,struct iguana_info *coi
if ( utxoaddr->histbalance > 0 ) if ( utxoaddr->histbalance > 0 )
{ {
checkbalance += utxoaddr->histbalance; checkbalance += utxoaddr->histbalance;
ind = utxoaddr->rmd160[0] + ((int32_t)utxoaddr->rmd160[1] << 8); ind = utxoaddr->rmd160[0] + ((uint32_t)utxoaddr->rmd160[1] << 8);
counts[ind]++; counts[ind]++;
} else printf("error neg or zero balance %.8f\n",dstr(utxoaddr->histbalance)); } else printf("error neg or zero balance %.8f\n",dstr(utxoaddr->histbalance));
} }
@ -1322,13 +1322,15 @@ int64_t iguana_utxoaddr_gen(struct supernet_info *myinfo,struct iguana_info *coi
counts[ind] = 0; counts[ind] = 0;
offset += n; offset += n;
} }
printf("total %d offset %d\n",total,offset);
total = 0;
HASH_ITER(hh,coin->utxoaddrs,utxoaddr,tmp) HASH_ITER(hh,coin->utxoaddrs,utxoaddr,tmp)
{ {
if ( utxoaddr->histbalance > 0 ) if ( utxoaddr->histbalance > 0 )
{ {
bitcoin_address(coinaddr,coin->chain->pubtype,utxoaddr->rmd160,sizeof(utxoaddr->rmd160)); bitcoin_address(coinaddr,coin->chain->pubtype,utxoaddr->rmd160,sizeof(utxoaddr->rmd160));
memset(item,0,UTXOADDR_ITEMSIZE); memset(item,0,UTXOADDR_ITEMSIZE);
ind = utxoaddr->rmd160[0] + ((int32_t)utxoaddr->rmd160[1] << 8); ind = utxoaddr->rmd160[0] + ((uint32_t)utxoaddr->rmd160[1] << 8);
iguana_rwutxoaddr(1,ind,item,utxoaddr); iguana_rwutxoaddr(1,ind,item,utxoaddr);
memcpy(&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],item,UTXOADDR_ITEMSIZE); memcpy(&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],item,UTXOADDR_ITEMSIZE);
iguana_rwutxoaddr(0,ind,&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],&UA); iguana_rwutxoaddr(0,ind,&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],&UA);
@ -1336,7 +1338,8 @@ int64_t iguana_utxoaddr_gen(struct supernet_info *myinfo,struct iguana_info *coi
bitcoin_address(checkaddr,coin->chain->pubtype,UA.rmd160,sizeof(UA.rmd160)); bitcoin_address(checkaddr,coin->chain->pubtype,UA.rmd160,sizeof(UA.rmd160));
if ( strcmp(checkaddr,coinaddr) != 0 ) if ( strcmp(checkaddr,coinaddr) != 0 )
printf("rw coinaddr error %s != %s\n",coinaddr,checkaddr); printf("rw coinaddr error %s != %s\n",coinaddr,checkaddr);
//else printf("ind.%04x %s %.8f %.8f %d\n",ind,coinaddr,dstr(UA.histbalance),dstr(utxoaddr->histbalance),counts[ind]); else printf("%d: ind.%04x %s %.8f %.8f %d\n",total,ind,coinaddr,dstr(UA.histbalance),dstr(utxoaddr->histbalance),counts[ind]);
total++;
if ( memcmp(&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],item,UTXOADDR_ITEMSIZE) != 0 ) if ( memcmp(&table[(offsets[ind] + counts[ind]) * UTXOADDR_ITEMSIZE],item,UTXOADDR_ITEMSIZE) != 0 )
printf("rwutxoaddr cmp error\n"); printf("rwutxoaddr cmp error\n");
counts[ind]++; counts[ind]++;

Loading…
Cancel
Save