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

Method marketSymbols

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

Source from the content-addressed store, hash-verified

7703 }
7704
7705 public Object marketSymbols(Object... optionalArgs)
7706 {
7707 Object symbols = Helpers.getArg(optionalArgs, 0, null);
7708 Object type = Helpers.getArg(optionalArgs, 1, null);
7709 Object allowEmpty = Helpers.getArg(optionalArgs, 2, true);
7710 Object sameTypeOnly = Helpers.getArg(optionalArgs, 3, false);
7711 Object sameSubTypeOnly = Helpers.getArg(optionalArgs, 4, false);
7712 if (Helpers.isTrue(Helpers.isEqual(symbols, null)))
7713 {
7714 if (!Helpers.isTrue(allowEmpty))
7715 {
7716 throw new ArgumentsRequired((String)Helpers.add(this.id, " empty list of symbols is not supported")) ;
7717 }
7718 return symbols;
7719 }
7720 Object symbolsLength = Helpers.getArrayLength(symbols);
7721 if (Helpers.isTrue(Helpers.isEqual(symbolsLength, 0)))
7722 {
7723 if (!Helpers.isTrue(allowEmpty))
7724 {
7725 throw new ArgumentsRequired((String)Helpers.add(this.id, " empty list of symbols is not supported")) ;
7726 }
7727 return symbols;
7728 }
7729 Object result = new java.util.ArrayList<Object>(java.util.Arrays.asList());
7730 Object marketType = null;
7731 Object isLinearSubType = null;
7732 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(symbols)); i++)
7733 {
7734 Object market = this.market(Helpers.GetValue(symbols, i));
7735 if (Helpers.isTrue(Helpers.isTrue(sameTypeOnly) && Helpers.isTrue((!Helpers.isEqual(marketType, null)))))
7736 {
7737 if (Helpers.isTrue(!Helpers.isEqual(Helpers.GetValue(market, "type"), marketType)))
7738 {
7739 throw new BadRequest((String)Helpers.add(Helpers.add(Helpers.add(Helpers.add(Helpers.add(this.id, " symbols must be of the same type, either "), marketType), " or "), Helpers.GetValue(market, "type")), ".")) ;
7740 }
7741 }
7742 if (Helpers.isTrue(Helpers.isTrue(sameSubTypeOnly) && Helpers.isTrue((!Helpers.isEqual(isLinearSubType, null)))))
7743 {
7744 if (Helpers.isTrue(!Helpers.isEqual(Helpers.GetValue(market, "linear"), isLinearSubType)))
7745 {
7746 throw new BadRequest((String)Helpers.add(this.id, " symbols must be of the same subType, either linear or inverse.")) ;
7747 }
7748 }
7749 if (Helpers.isTrue(Helpers.isTrue(!Helpers.isEqual(type, null)) && Helpers.isTrue(!Helpers.isEqual(Helpers.GetValue(market, "type"), type))))
7750 {
7751 throw new BadRequest((String)Helpers.add(Helpers.add(Helpers.add(this.id, " symbols must be of the same type "), type), ". If the type is incorrect you can change it in options or the params of the request")) ;
7752 }
7753 marketType = Helpers.GetValue(market, "type");
7754 if (!Helpers.isTrue(Helpers.GetValue(market, "spot")))
7755 {
7756 isLinearSubType = Helpers.GetValue(market, "linear");
7757 }
7758 Object symbol = this.safeString(market, "symbol", Helpers.GetValue(symbols, i));
7759 ((java.util.List<Object>)result).add(symbol);
7760 }
7761 return result;
7762 }

Callers 15

parseLeverageTiersMethod · 0.95
parsePositionsMethod · 0.95
parseADLRanksMethod · 0.95
parseLastPricesMethod · 0.95
parseTickersMethod · 0.95
parseAllGreeksMethod · 0.95
fetchTickersMethod · 0.45
fetchLastPricesMethod · 0.45
fetchBidsAsksMethod · 0.45
fetchFundingRatesMethod · 0.45
fetchFundingIntervalsMethod · 0.45
createOrdersMethod · 0.45

Calls 9

getArgMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
addMethod · 0.95
getArrayLengthMethod · 0.95
isLessThanMethod · 0.95
marketMethod · 0.95
GetValueMethod · 0.95
safeStringMethod · 0.95

Tested by

no test coverage detected