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); 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; int32_t i; struct basilisk_spend *s;
// mutex // mutex
for (i=0; i<myinfo->numspends; i++) for (i=0; i<myinfo->numspends; i++)
{ {
if ( myinfo->spends[i].vout == vout && bits256_cmp(txid,myinfo->spends[i].txid) == 0 ) 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)); myinfo->spends = realloc(myinfo->spends,sizeof(*myinfo->spends) * (myinfo->numspends+1));
s = &myinfo->spends[myinfo->numspends++]; 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; struct basilisk_spend *s;
//{"txid":"cd4fb72f871d481c534f15d7f639883958936d49e965f58276f0925798e762df","vin":1,"height":<spentheight>,"unspentheight":<bu.height>,"relays":2}}, //{"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->spentfrom = jbits256(dest,"spentfrom");
s->vini = jint(dest,"vin"); 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 ) if ( bits256_nonz(txid) != 0 )
{ {
char str[65]; printf("call addspend.(%s) v.%d\n",bits256_str(str,txid),vout); 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); i = ((j + r) % waddr->numunspents);
bu = &waddr->unspents[i]; 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[0] = ((uint64_t)bu->hdrsi << 32) | bu->unspentind;
unspents[1] = bu->value; unspents[1] = bu->value;
sum += 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++; unspents++;
numunspents++; numunspents++;
} else printf("skip pending txid.%s/v%d\n",bits256_str(str,bu->txid),bu->vout); } 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]); 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); 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); 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); 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); 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); cJSON *iguana_walletjson(struct supernet_info *myinfo);

Loading…
Cancel
Save