added check for isrekt set by final tx
This commit is contained in:
@@ -1775,12 +1775,12 @@ int32_t prices_getbetinfo(uint256 bettxid, BetInfo &betinfo)
|
|||||||
CTransaction finaltx;
|
CTransaction finaltx;
|
||||||
uint256 hashBlock;
|
uint256 hashBlock;
|
||||||
vscript_t vopret;
|
vscript_t vopret;
|
||||||
if (myGetTransaction(finaltxid, finaltx, hashBlock) && finaltx.vout.size() > 0 && PricesCheckOpret(finaltx, vopret) != 0) {
|
if (myGetTransaction(finaltxid, finaltx, hashBlock) && finaltx.vout.size() > 0 && PricesCheckOpret(finaltx, vopret) != 0) {
|
||||||
uint8_t funcId = prices_finalopretdecode(finaltx.vout.back().scriptPubKey, betinfo.txid, betinfo.pk, betinfo.lastheight, betinfo.averageCostbasis, betinfo.lastprice, betinfo.liquidationprice, betinfo.equity, betinfo.exitfee);
|
uint8_t funcId = prices_finalopretdecode(finaltx.vout.back().scriptPubKey, betinfo.txid, betinfo.pk, betinfo.lastheight, betinfo.averageCostbasis, betinfo.lastprice, betinfo.liquidationprice, betinfo.equity, betinfo.exitfee);
|
||||||
if (funcId == 0)
|
if (funcId == 0)
|
||||||
return -3;
|
return -3;
|
||||||
|
|
||||||
betinfo.isRekt = (funcId == 'R');
|
betinfo.isRekt = (funcId == 'R');
|
||||||
|
|
||||||
// return 0;
|
// return 0;
|
||||||
}
|
}
|
||||||
@@ -1849,15 +1849,18 @@ int32_t prices_getbetinfo(uint256 bettxid, BetInfo &betinfo)
|
|||||||
|
|
||||||
betinfo.liquidationprice = 0;
|
betinfo.liquidationprice = 0;
|
||||||
if (betinfo.leverage != 0) {// prevent zero div
|
if (betinfo.leverage != 0) {// prevent zero div
|
||||||
betinfo.liquidationprice = betinfo.averageCostbasis - (betinfo.averageCostbasis * (1 - prices_minmarginpercent(betinfo.leverage)))/ betinfo.leverage;
|
betinfo.liquidationprice = betinfo.averageCostbasis - (betinfo.averageCostbasis * (1 - prices_minmarginpercent(betinfo.leverage))) / betinfo.leverage;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (betinfo.equity > (int64_t)((double)totalposition * prices_minmarginpercent(betinfo.leverage)))
|
if (!betinfo.isRekt) { // not set by check for final tx
|
||||||
betinfo.isRekt = false;
|
|
||||||
else
|
if (betinfo.equity > (int64_t)((double)totalposition * prices_minmarginpercent(betinfo.leverage)))
|
||||||
{
|
betinfo.isRekt = false;
|
||||||
betinfo.isRekt = true;
|
else
|
||||||
betinfo.exitfee = (totalposition - betinfo.equity) / 10; // was: totalposition / 500
|
{
|
||||||
|
betinfo.isRekt = true;
|
||||||
|
betinfo.exitfee = (totalposition - betinfo.equity) / 10; // was: totalposition / 500
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mpz_clear(mpzTotalPosition);
|
mpz_clear(mpzTotalPosition);
|
||||||
|
|||||||
Reference in New Issue
Block a user