Browse Source

test

release/v0.1
jl777 8 years ago
parent
commit
a4a5e77a73
  1. 8
      basilisk/basilisk_bitcoin.c
  2. 2
      basilisk/basilisk_swap.c
  3. 4
      iguana/iguana_unspents.c
  4. 2
      includes/iguana_funcs.h

8
basilisk/basilisk_bitcoin.c

@ -1009,16 +1009,16 @@ int32_t basilisk_unspentfind(struct supernet_info *myinfo,struct iguana_info *co
return(-1);
}
struct basilisk_spend *basilisk_addspend(struct supernet_info *myinfo,char *symbol,bits256 txid,uint16_t vout)
struct basilisk_spend *basilisk_addspend(struct supernet_info *myinfo,char *symbol,bits256 txid,uint16_t vout,int32_t addflag)
{
int32_t i; struct basilisk_spend *s;
// mutex
for (i=0; i<myinfo->numspends; i++)
{
if ( myinfo->spends[i].vout == vout && bits256_cmp(txid,myinfo->spends[i].txid) == 0 )
break;
return(&myinfo->spends[i]);
}
if ( i == myinfo->numspends )
if ( addflag != 0 && i == myinfo->numspends )
{
myinfo->spends = realloc(myinfo->spends,sizeof(*myinfo->spends) * (myinfo->numspends+1));
s = &myinfo->spends[myinfo->numspends++];
@ -1102,7 +1102,7 @@ void basilisk_unspent_update(struct supernet_info *myinfo,struct iguana_info *co
{
struct basilisk_spend *s;
//{"txid":"cd4fb72f871d481c534f15d7f639883958936d49e965f58276f0925798e762df","vin":1,"height":<spentheight>,"unspentheight":<bu.height>,"relays":2}},
if ( (s= basilisk_addspend(myinfo,coin->symbol,bu.txid,bu.vout)) != 0 )
if ( (s= basilisk_addspend(myinfo,coin->symbol,bu.txid,bu.vout,1)) != 0 )
{
s->spentfrom = jbits256(dest,"spentfrom");
s->vini = jint(dest,"vin");

2
basilisk/basilisk_swap.c

@ -510,7 +510,7 @@ int32_t basilisk_rawtx_return(struct supernet_info *myinfo,struct basilisk_rawtx
if ( bits256_nonz(txid) != 0 )
{
char str[65]; printf("call addspend.(%s) v.%d\n",bits256_str(str,txid),vout);
basilisk_addspend(myinfo,rawtx->coin->symbol,txid,vout);
basilisk_addspend(myinfo,rawtx->coin->symbol,txid,vout,1);
}
}
}

4
iguana/iguana_unspents.c

@ -546,12 +546,12 @@ int32_t iguana_unspentslists(struct supernet_info *myinfo,struct iguana_info *co
{
i = ((j + r) % waddr->numunspents);
bu = &waddr->unspents[i];
if ( bu->status == 0 )
if ( basilisk_addspend(myinfo,coin->symbol,bu->txid,bu->vout,0) == 0 )
{
unspents[0] = ((uint64_t)bu->hdrsi << 32) | bu->unspentind;
unspents[1] = bu->value;
sum += bu->value;
basilisk_addspend(myinfo,coin->symbol,bu->txid,bu->vout);
basilisk_addspend(myinfo,coin->symbol,bu->txid,bu->vout,1);
unspents++;
numunspents++;
} else printf("skip pending txid.%s/v%d\n",bits256_str(str,bu->txid),bu->vout);

2
includes/iguana_funcs.h

@ -414,7 +414,7 @@ cJSON *iguana_unspentjson(struct supernet_info *myinfo,struct iguana_info *coin,
int32_t bitcoin_standardspend(uint8_t *script,int32_t n,uint8_t rmd160[20]);
struct iguana_waddress *iguana_waddresssearch(struct supernet_info *myinfo,struct iguana_waccount **wacctp,char *coinaddr);
void calc_shares(struct supernet_info *myinfo,uint8_t *shares,uint8_t *secret,int32_t size,int32_t width,int32_t M,int32_t N,uint8_t *sharenrs,uint8_t *space,int32_t spacesize);
struct basilisk_spend *basilisk_addspend(struct supernet_info *myinfo,char *symbol,bits256 txid,uint16_t vout);
struct basilisk_spend *basilisk_addspend(struct supernet_info *myinfo,char *symbol,bits256 txid,uint16_t vout,int32_t addflag);
int32_t basilisk_unspentfind(struct supernet_info *myinfo,struct iguana_info *coin,bits256 *txidp,int32_t *voutp,uint8_t *spendscript,int16_t hdrsi,uint32_t unspentind,int64_t value);
int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *coin,cJSON *json,char *remoteaddr,cJSON *txids,cJSON *vouts,cJSON *unspents,cJSON *spends,char *coinaddr,int32_t minconf,int32_t firstheight);
cJSON *iguana_walletjson(struct supernet_info *myinfo);

Loading…
Cancel
Save