(Object markets, Object... optionalArgs)
| 6263 | } |
| 6264 | |
| 6265 | public Object setMarkets(Object markets, Object... optionalArgs) |
| 6266 | { |
| 6267 | Object currencies = Helpers.getArg(optionalArgs, 0, null); |
| 6268 | Object values = new java.util.ArrayList<Object>(java.util.Arrays.asList()); |
| 6269 | this.markets_by_id = this.createSafeDictionary(); |
| 6270 | // handle marketId conflicts |
| 6271 | // we insert spot markets first |
| 6272 | Object marketValues = this.sortBy(this.toArray(markets), "spot", true, true); |
| 6273 | for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(marketValues)); i++) |
| 6274 | { |
| 6275 | Object value = Helpers.GetValue(marketValues, i); |
| 6276 | if (Helpers.isTrue(Helpers.inOp(this.markets_by_id, Helpers.GetValue(value, "id")))) |
| 6277 | { |
| 6278 | Object marketsByIdArray = ((Object)Helpers.GetValue(this.markets_by_id, Helpers.GetValue(value, "id"))); |
| 6279 | ((java.util.List<Object>)marketsByIdArray).add(value); |
| 6280 | Helpers.addElementToObject(this.markets_by_id, Helpers.GetValue(value, "id"), marketsByIdArray); |
| 6281 | } else |
| 6282 | { |
| 6283 | Helpers.addElementToObject(this.markets_by_id, Helpers.GetValue(value, "id"), ((Object)new java.util.ArrayList<Object>(java.util.Arrays.asList(value)))); |
| 6284 | } |
| 6285 | Object market = this.deepExtend(this.safeMarketStructure(), new java.util.HashMap<String, Object>() {{ |
| 6286 | put( "precision", Exchange.this.precision ); |
| 6287 | put( "limits", Exchange.this.limits ); |
| 6288 | }}, Helpers.GetValue(this.fees, "trading"), value); |
| 6289 | if (Helpers.isTrue(Helpers.GetValue(market, "linear"))) |
| 6290 | { |
| 6291 | Helpers.addElementToObject(market, "subType", "linear"); |
| 6292 | } else if (Helpers.isTrue(Helpers.GetValue(market, "inverse"))) |
| 6293 | { |
| 6294 | Helpers.addElementToObject(market, "subType", "inverse"); |
| 6295 | } else |
| 6296 | { |
| 6297 | Helpers.addElementToObject(market, "subType", null); |
| 6298 | } |
| 6299 | ((java.util.List<Object>)values).add(market); |
| 6300 | } |
| 6301 | this.markets = this.mapToSafeMap(((Object)this.indexBy(values, "symbol"))); |
| 6302 | Object marketsSortedBySymbol = this.keysort(this.markets); |
| 6303 | Object marketsSortedById = this.keysort(this.markets_by_id); |
| 6304 | this.symbols = Helpers.objectKeys(marketsSortedBySymbol); |
| 6305 | this.ids = Helpers.objectKeys(marketsSortedById); |
| 6306 | Object numCurrencies = 0; |
| 6307 | if (Helpers.isTrue(!Helpers.isEqual(currencies, null))) |
| 6308 | { |
| 6309 | Object keys = Helpers.objectKeys(currencies); |
| 6310 | numCurrencies = Helpers.getArrayLength(keys); |
| 6311 | } |
| 6312 | if (Helpers.isTrue(Helpers.isGreaterThan(numCurrencies, 0))) |
| 6313 | { |
| 6314 | // currencies is always undefined when called in constructor but not when called from loadMarkets |
| 6315 | this.currencies = this.mapToSafeMap(this.deepExtend(this.currencies, currencies)); |
| 6316 | } else |
| 6317 | { |
| 6318 | Object baseCurrencies = new java.util.ArrayList<Object>(java.util.Arrays.asList()); |
| 6319 | Object quoteCurrencies = new java.util.ArrayList<Object>(java.util.Arrays.asList()); |
| 6320 | for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(values)); i++) |
| 6321 | { |
| 6322 | Object market = Helpers.GetValue(values, i); |
no test coverage detected