diff --git a/src/cc/prices.cpp b/src/cc/prices.cpp index ef0dfc680..5683f7b3d 100644 --- a/src/cc/prices.cpp +++ b/src/cc/prices.cpp @@ -23,6 +23,8 @@ typedef struct BetInfo { int32_t firstheight; int64_t costbasis; int64_t profits; + + BetInfo() { amount = 0; firstheight = 0; costbasis = 0; profits = 0; } } betinfo; /* @@ -798,9 +800,9 @@ void prices_betjson(UniValue &result, std::vector bets, int16_t leverag result.push_back(Pair("bets", resultbets)); result.push_back(Pair("leverage", (int64_t)leverage)); - result.push_back(Pair("TotalPositionSize", totalbets)); - result.push_back(Pair("TotalProfits", totalprofits)); - result.push_back(Pair("equity", equity)); + result.push_back(Pair("TotalPositionSize", ValueFromAmount(totalbets))); + result.push_back(Pair("TotalProfits", ValueFromAmount(totalprofits))); + result.push_back(Pair("equity", ValueFromAmount(equity))); result.push_back(Pair("LastPrice", ValueFromAmount(lastprice))); result.push_back(Pair("LastHeight", endheight)); } @@ -1215,30 +1217,26 @@ int32_t prices_scanchain(std::vector &bets, int16_t leverage, std::vect bool stop = false; for (int32_t h = bets[0].firstheight; ; h++) // the last datum for 24h is the costbasis value { - int64_t total = 0; + int64_t totalbets = 0; int64_t totalprofits = 0; for (int i = 0; i < bets.size(); i++) { int64_t costbasis, profits; - - int32_t retcode = prices_syntheticprofits(costbasis, bets[i].firstheight, h, leverage, vec, bets[i].amount, profits, lastprice); + int32_t retcode = prices_syntheticprofits(bets[i].costbasis, bets[i].firstheight, h, leverage, vec, bets[i].amount, bets[i].profits, lastprice); if (retcode < 0) { std::cerr << "prices_scanchain() error: prices_syntheticprofits returned -1 for addedbet" << std::endl; stop = true; break; } - total += bets[i].amount; - totalprofits += profits; - - bets[i].costbasis = costbasis; - bets[i].profits = profits; + totalbets += bets[i].amount; + totalprofits += bets[i].profits; } if (stop) break; endheight = h; - int64_t equity = total + totalprofits; + int64_t equity = totalbets + totalprofits; if (equity < 0) { // we are in loss break;