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

Method safeMarket

java/lib/src/main/java/io/github/ccxt/Exchange.java:9111–9176  ·  view source on GitHub ↗
(Object... optionalArgs)

Source from the content-addressed store, hash-verified

9109 }
9110
9111 public Object safeMarket(Object... optionalArgs)
9112 {
9113 Object marketId = Helpers.getArg(optionalArgs, 0, null);
9114 Object market = Helpers.getArg(optionalArgs, 1, null);
9115 Object delimiter = Helpers.getArg(optionalArgs, 2, null);
9116 Object marketType = Helpers.getArg(optionalArgs, 3, null);
9117 if (Helpers.isTrue(!Helpers.isEqual(marketId, null)))
9118 {
9119 if (Helpers.isTrue(Helpers.isTrue((!Helpers.isEqual(this.markets_by_id, null))) && Helpers.isTrue((Helpers.inOp(this.markets_by_id, marketId)))))
9120 {
9121 Object markets = Helpers.GetValue(this.markets_by_id, marketId);
9122 Object numMarkets = Helpers.getArrayLength(markets);
9123 if (Helpers.isTrue(Helpers.isEqual(numMarkets, 1)))
9124 {
9125 return Helpers.GetValue(markets, 0);
9126 } else
9127 {
9128 if (Helpers.isTrue(Helpers.isEqual(marketType, null)))
9129 {
9130 if (Helpers.isTrue(Helpers.isEqual(market, null)))
9131 {
9132 throw new ArgumentsRequired((String)Helpers.add(Helpers.add(Helpers.add(this.id, " safeMarket() requires a fourth argument for "), marketId), " to disambiguate between different markets with the same market id")) ;
9133 } else
9134 {
9135 marketType = Helpers.GetValue(market, "type");
9136 }
9137 }
9138 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(markets)); i++)
9139 {
9140 Object currentMarket = Helpers.GetValue(markets, i);
9141 if (Helpers.isTrue(Helpers.GetValue(currentMarket, marketType)))
9142 {
9143 return currentMarket;
9144 }
9145 }
9146 }
9147 } else if (Helpers.isTrue(Helpers.isTrue(!Helpers.isEqual(delimiter, null)) && Helpers.isTrue(!Helpers.isEqual(delimiter, ""))))
9148 {
9149 Object parts = Helpers.split(marketId, delimiter);
9150 Object partsLength = Helpers.getArrayLength(parts);
9151 final Object finalMarketId = marketId;
9152 Object result = this.safeMarketStructure(new java.util.HashMap<String, Object>() {{
9153 put( "symbol", finalMarketId );
9154 put( "marketId", finalMarketId );
9155 }});
9156 if (Helpers.isTrue(Helpers.isEqual(partsLength, 2)))
9157 {
9158 Helpers.addElementToObject(result, "baseId", this.safeString(parts, 0));
9159 Helpers.addElementToObject(result, "quoteId", this.safeString(parts, 1));
9160 Helpers.addElementToObject(result, "base", this.safeCurrencyCode(Helpers.GetValue(result, "baseId")));
9161 Helpers.addElementToObject(result, "quote", this.safeCurrencyCode(Helpers.GetValue(result, "quoteId")));
9162 Helpers.addElementToObject(result, "symbol", Helpers.add(Helpers.add(Helpers.GetValue(result, "base"), "/"), Helpers.GetValue(result, "quote")));
9163 }
9164 return result;
9165 }
9166 }
9167 if (Helpers.isTrue(!Helpers.isEqual(market, null)))
9168 {

Callers 10

parseLeverageTiersMethod · 0.95
parseLastPricesMethod · 0.95
parseTickersMethod · 0.95
safeSymbolMethod · 0.95
parseAllGreeksMethod · 0.95
parseOptionChainMethod · 0.95
parseMarginModesMethod · 0.95
parseLeveragesMethod · 0.95

Calls 13

getArgMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
inOpMethod · 0.95
GetValueMethod · 0.95
getArrayLengthMethod · 0.95
addMethod · 0.95
isLessThanMethod · 0.95
splitMethod · 0.95
safeMarketStructureMethod · 0.95
addElementToObjectMethod · 0.95
safeStringMethod · 0.95

Tested by 1