diff --git a/iguana/exchanges/LP_portfolio.c b/iguana/exchanges/LP_portfolio.c index 96d30a9fc..a3e6845da 100644 --- a/iguana/exchanges/LP_portfolio.c +++ b/iguana/exchanges/LP_portfolio.c @@ -28,7 +28,7 @@ cJSON *LP_portfolio_entry(struct iguana_info *coin,uint64_t kmdsum) jaddnum(item,"kmdsum",dstr(kmdsum)); jaddnum(item,"goal",dstr(coin->goal)); if ( kmdsum > 0 ) - jaddnum(item,"perc",(double)coin->kmd_equiv/ kmdsum); + jaddnum(item,"perc",100. * (double)coin->kmd_equiv/ kmdsum); jaddnum(item,"balanceA",dstr(coin->balanceA)); jaddnum(item,"valuesumA",dstr(coin->valuesumA)); jaddnum(item,"aliceutil",100. * (double)coin->balanceA/coin->valuesumA); diff --git a/iguana/exchanges/LP_prices.c b/iguana/exchanges/LP_prices.c index eddc1ea69..be8760ca1 100644 --- a/iguana/exchanges/LP_prices.c +++ b/iguana/exchanges/LP_prices.c @@ -646,13 +646,13 @@ void LP_pricefeedupdate(bits256 pubkey,char *base,char *rel,double price) //printf("check PRICEFEED UPDATE.(%s/%s) %.8f %s\n",base,rel,price,bits256_str(str,pubkey)); if ( price > SMALLVAL && (basepp= LP_priceinfofind(base)) != 0 && (relpp= LP_priceinfofind(rel)) != 0 ) { - if ( fabs(basepp->relvals[relpp->ind] - price) > SMALLVAL ) - printf("PRICEFEED UPDATE.(%s/%s) %.8f %s %.8f\n",base,rel,price,bits256_str(str,pubkey),1./price); if ( (pubp= LP_pubkeyadd(pubkey)) != 0 ) { + if ( fabs(pubp->matrix[basepp->ind][relpp->ind] - price) > SMALLVAL ) + printf("PRICEFEED UPDATE.(%s/%s) %.8f %s %.8f\n",base,rel,price,bits256_str(str,pubkey),1./price); pubp->matrix[basepp->ind][relpp->ind] = price; - basepp->relvals[relpp->ind] = price; - relpp->relvals[basepp->ind] = 1. / price; + dxblend(&basepp->relvals[relpp->ind],price,0.9); + dxblend(&relpp->relvals[basepp->ind],1. / price,0.9); pubp->timestamp = (uint32_t)time(NULL); } else printf("error creating pubkey entry\n"); } else printf("error finding %s/%s %.8f\n",base,rel,price);