(Object path, Object... optionalArgs)
| 5749 | } |
| 5750 | |
| 5751 | public Object sign(Object path, Object... optionalArgs) |
| 5752 | { |
| 5753 | Object api = Helpers.getArg(optionalArgs, 0, new java.util.ArrayList<Object>(java.util.Arrays.asList())); |
| 5754 | Object method = Helpers.getArg(optionalArgs, 1, "GET"); |
| 5755 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 5756 | Object headers = Helpers.getArg(optionalArgs, 3, null); |
| 5757 | Object body = Helpers.getArg(optionalArgs, 4, null); |
| 5758 | path = this.implodeParams(path, parameters); |
| 5759 | Object version = Helpers.GetValue(api, 0); |
| 5760 | Object requestUrl = Helpers.GetValue(api, 1); |
| 5761 | Object url = Helpers.add(Helpers.add(Helpers.add(Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), requestUrl), "/"), version), "/"), path); |
| 5762 | Object query = this.omit(parameters, this.extractParams(path)); |
| 5763 | Object nonce = String.valueOf(this.nonce()); |
| 5764 | if (Helpers.isTrue(Helpers.isEqual(method, "POST"))) |
| 5765 | { |
| 5766 | Object parts = Helpers.split(path, "/"); |
| 5767 | Object firstPart = this.safeString(parts, 0, ""); |
| 5768 | Object numParts = Helpers.getArrayLength(parts); |
| 5769 | Object lastPart = this.safeString(parts, Helpers.subtract(numParts, 1), ""); |
| 5770 | Object lastWords = Helpers.split(lastPart, "_"); |
| 5771 | Object numWords = Helpers.getArrayLength(lastWords); |
| 5772 | Object lastWord = this.safeString(lastWords, Helpers.subtract(numWords, 1), ""); |
| 5773 | if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(firstPart, "order"))) && Helpers.isTrue((Helpers.isTrue(Helpers.isEqual(lastWord, "limit")) || Helpers.isTrue(Helpers.isEqual(lastWord, "market")))))) |
| 5774 | { |
| 5775 | // inject in implicit API calls |
| 5776 | // POST /order/limit - Place limit orders |
| 5777 | // POST /order/market - Place market orders |
| 5778 | // POST /order/stop/limit - Place stop limit orders |
| 5779 | // POST /order/stop/market - Place stop market orders |
| 5780 | // POST /perpetual/v1/order/put_limit - Place limit orders |
| 5781 | // POST /perpetual/v1/order/put_market - Place market orders |
| 5782 | // POST /perpetual/v1/order/put_stop_limit - Place stop limit orders |
| 5783 | // POST /perpetual/v1/order/put_stop_market - Place stop market orders |
| 5784 | Object clientOrderId = this.safeString(parameters, "client_id"); |
| 5785 | if (Helpers.isTrue(Helpers.isEqual(clientOrderId, null))) |
| 5786 | { |
| 5787 | Object defaultId = "x-167673045"; |
| 5788 | Object brokerId = this.safeValue(this.options, "brokerId", defaultId); |
| 5789 | Helpers.addElementToObject(query, "client_id", Helpers.add(Helpers.add(brokerId, "_"), this.uuid16())); |
| 5790 | } |
| 5791 | } |
| 5792 | } |
| 5793 | if (Helpers.isTrue(Helpers.isEqual(requestUrl, "perpetualPrivate"))) |
| 5794 | { |
| 5795 | this.checkRequiredCredentials(); |
| 5796 | final Object finalNonce = nonce; |
| 5797 | query = this.extend(new java.util.HashMap<String, Object>() {{ |
| 5798 | put( "access_id", CoinexCore.this.apiKey ); |
| 5799 | put( "timestamp", finalNonce ); |
| 5800 | }}, query); |
| 5801 | query = this.keysort(query); |
| 5802 | Object urlencoded = this.rawencode(query); |
| 5803 | Object signature = this.hash(this.encode(Helpers.add(Helpers.add(urlencoded, "&secret_key="), this.secret)), sha256()); |
| 5804 | headers = new java.util.HashMap<String, Object>() {{ |
| 5805 | put( "Authorization", ((String)signature).toLowerCase() ); |
| 5806 | put( "AccessId", CoinexCore.this.apiKey ); |
| 5807 | }}; |
| 5808 | if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(method, "GET"))) || Helpers.isTrue((Helpers.isEqual(method, "PUT"))))) |
nothing calls this directly
no test coverage detected