(Object... optionalArgs)
| 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 | } |
no test coverage detected