MCPcopy Index your code
hub / github.com/ccxt/ccxt / safeMarket

Method safeMarket

java/lib/src/main/java/io/github/ccxt/exchanges/OkxCore.java:1478–1503  ·  view source on GitHub ↗
(Object... optionalArgs)

Source from the content-addressed store, hash-verified

1476 }
1477
1478 public Object safeMarket(Object... optionalArgs)
1479 {
1480 Object marketId = Helpers.getArg(optionalArgs, 0, null);
1481 Object market = Helpers.getArg(optionalArgs, 1, null);
1482 Object delimiter = Helpers.getArg(optionalArgs, 2, null);
1483 Object marketType = Helpers.getArg(optionalArgs, 3, null);
1484 Object isOption = false;
1485 if (Helpers.isTrue(!Helpers.isEqual(marketId, null)))
1486 {
1487 Object parts = Helpers.split(marketId, "-");
1488 Object partsLength = Helpers.getArrayLength(parts);
1489 // a valid OKX option ends with the call/put flag and carries expiry+strike segments,
1490 // e.g. the market id BTC-USD-220325-194000-P (5 parts) or the unified symbol
1491 // BTC/USD:USD-260611-54000-C (4 parts). Requiring more than 3 dash-separated parts avoids
1492 // misclassifying ordinary ids that merely contain "-C"/"-P" (such as a SPOT id like
1493 // "PERFTESTA-PERFTESTB") as expired options, which would crash createExpiredOptionMarket
1494 // on the missing expiry.
1495 isOption = Helpers.isTrue((Helpers.isGreaterThan(partsLength, 3))) && Helpers.isTrue((Helpers.isTrue(((String)marketId).endsWith(((String)"-C"))) || Helpers.isTrue(((String)marketId).endsWith(((String)"-P")))));
1496 }
1497 if (Helpers.isTrue(Helpers.isTrue(isOption) && !Helpers.isTrue((Helpers.inOp(this.markets_by_id, marketId)))))
1498 {
1499 // handle expired option contracts
1500 return this.createExpiredOptionMarket(marketId);
1501 }
1502 return super.safeMarket(marketId, market, delimiter, marketType);
1503 }
1504
1505 /**
1506 * @method

Callers 15

parseTickerMethod · 0.95
parseTradeMethod · 0.95
parseOrderMethod · 0.95
parsePositionMethod · 0.95
fetchFundingHistoryMethod · 0.95
parseBorrowInterestMethod · 0.95
parseOpenInterestMethod · 0.95
parseOptionMethod · 0.95
handleTickerMethod · 0.95
parseWsBidAskMethod · 0.95
parseWsMyLiquidationMethod · 0.95

Calls 8

getArgMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
splitMethod · 0.95
getArrayLengthMethod · 0.95
isGreaterThanMethod · 0.95
inOpMethod · 0.95

Tested by

no test coverage detected