修复币本位期权杠杆显示:按1/卖一而非指数/卖一
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -946,6 +946,11 @@
|
||||
return Number(v).toFixed(2);
|
||||
}
|
||||
|
||||
function isCoinMarginMode() {
|
||||
const ch = state.chain || {};
|
||||
return ch.margin_mode === "coin" || ch.options_margin_mode === "coin";
|
||||
}
|
||||
|
||||
function calcContractLeverage(indexPx, ethAmount, totalPremium) {
|
||||
if (indexPx == null || ethAmount == null || totalPremium == null) return null;
|
||||
const idx = Number(indexPx);
|
||||
@@ -954,6 +959,10 @@
|
||||
if (!Number.isFinite(idx) || !Number.isFinite(amt) || !Number.isFinite(prem) || amt <= 0 || prem <= 0) {
|
||||
return null;
|
||||
}
|
||||
// USDC: 名义(U)/权利金(U)=指数×币数/权利金; 币本位权利金为币: 名义(U)/(权利金币×指数)=币数/权利金币
|
||||
if (isCoinMarginMode()) {
|
||||
return Math.round((amt / prem) * 10) / 10;
|
||||
}
|
||||
return Math.round((idx * amt) / prem * 10) / 10;
|
||||
}
|
||||
|
||||
@@ -962,12 +971,15 @@
|
||||
return "约 " + Number(v).toFixed(1) + "×";
|
||||
}
|
||||
|
||||
/** 链上展示:指数 ÷ 卖一(每1币). */
|
||||
/** 链上展示:USDC=指数÷卖一(美元);币本位卖一为币报价 → 1÷卖一. */
|
||||
function calcAskLeverage(indexPx, askPx) {
|
||||
if (indexPx == null || askPx == null) return null;
|
||||
const idx = Number(indexPx);
|
||||
const ask = Number(askPx);
|
||||
if (!Number.isFinite(idx) || !Number.isFinite(ask) || ask <= 0) return null;
|
||||
if (isCoinMarginMode()) {
|
||||
return Math.round((1 / ask) * 10) / 10;
|
||||
}
|
||||
return Math.round((idx / ask) * 10) / 10;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user