|
|
@ -209,7 +209,7 @@ int64_t jumblr_balance(struct supernet_info *myinfo,struct iguana_info *coin,cha |
|
|
|
} |
|
|
|
else if ( (retstr= dex_getbalance(myinfo,coin,0,0,coin->symbol,addr)) != 0 ) |
|
|
|
{ |
|
|
|
printf("retstr.(%s)\n",retstr); |
|
|
|
//printf("retstr.(%s)\n",retstr);
|
|
|
|
if ( (retjson= cJSON_Parse(retstr)) != 0 ) |
|
|
|
{ |
|
|
|
balance = jdouble(retjson,"balance") * SATOSHIDEN; |
|
|
@ -366,8 +366,14 @@ bits256 jumblr_privkey(struct supernet_info *myinfo,char *BTCaddr,char *KMDaddr, |
|
|
|
|
|
|
|
void jumblr_DEXcheck(struct supernet_info *myinfo,struct iguana_info *coinkmd,char *BTCaddr,char *KMDaddr,bits256 privkey) |
|
|
|
{ |
|
|
|
double btcavail,minbtc,kmdprice,avebid,aveask,highbid,lowask,CMC_average,USD_average,changes[3]; struct iguana_info *coinbtc = iguana_coinfind("BTC"); |
|
|
|
if ( (kmdprice= get_theoretical(&avebid,&aveask,&highbid,&lowask,&CMC_average,changes,"komodo","KMD","BTC",&USD_average)) != 0. ) |
|
|
|
static double kmdprice; static uint32_t lasttime; |
|
|
|
double btcavail,minbtc,avebid,aveask,highbid,lowask,CMC_average,USD_average,changes[3]; struct iguana_info *coinbtc = iguana_coinfind("BTC"); |
|
|
|
if ( kmdprice == 0. || time(NULL) > lasttime+600 ) |
|
|
|
{ |
|
|
|
kmdprice = get_theoretical(&avebid,&aveask,&highbid,&lowask,&CMC_average,changes,"komodo","KMD","BTC",&USD_average); |
|
|
|
lasttime = (uint32_t)time(NULL); |
|
|
|
} |
|
|
|
if ( kmdprice > SMALLVAL ) |
|
|
|
{ |
|
|
|
minbtc = (kmdprice * 1.1) * (JUMBLR_INCR + 3*(JUMBLR_INCR * JUMBLR_FEE + JUMBLR_TXFEE)); |
|
|
|
if ( coinbtc != 0 && (btcavail= dstr(jumblr_balance(myinfo,coinbtc,BTCaddr))) > minbtc ) |
|
|
@ -379,11 +385,16 @@ void jumblr_DEXcheck(struct supernet_info *myinfo,struct iguana_info *coinkmd,ch |
|
|
|
|
|
|
|
void jumblr_iteration(struct supernet_info *myinfo,struct iguana_info *coin,int32_t selector,int32_t modval) |
|
|
|
{ |
|
|
|
static uint32_t lasttime; |
|
|
|
char BTCaddr[64],KMDaddr[64],*zaddr,*retstr; bits256 privkey; uint64_t amount=0,total=0; double fee; struct jumblr_item *ptr,*tmp; uint8_t r; |
|
|
|
// if BTC has arrived in deposit address, invoke DEX -> KMD
|
|
|
|
// if BTC has arrived in destination address, invoke DEX -> BTC
|
|
|
|
privkey = jumblr_privkey(myinfo,BTCaddr,KMDaddr,JUMBLR_DEPOSITPREFIX); |
|
|
|
jumblr_DEXcheck(myinfo,coin,BTCaddr,KMDaddr,privkey); |
|
|
|
if ( time(NULL) > lasttime+60 ) |
|
|
|
{ |
|
|
|
jumblr_DEXcheck(myinfo,coin,BTCaddr,KMDaddr,privkey); |
|
|
|
lasttime = (uint32_t)time(NULL); |
|
|
|
} |
|
|
|
fee = JUMBLR_INCR * JUMBLR_FEE; |
|
|
|
OS_randombytes(&r,sizeof(r)); |
|
|
|
r = 0; |
|
|
|