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

Method sign

java/lib/src/main/java/io/github/ccxt/exchanges/KucoinCore.java:12669–12787  ·  view source on GitHub ↗
(Object path, Object... optionalArgs)

Source from the content-addressed store, hash-verified

12667 }
12668
12669 public Object sign(Object path, Object... optionalArgs)
12670 {
12671 //
12672 // the v2 URL is https://openapi-v2.kucoin.com/api/v1/endpoint
12673 // ↑ ↑
12674 // ↑ ↑
12675 //
12676 Object api = Helpers.getArg(optionalArgs, 0, "public");
12677 Object method = Helpers.getArg(optionalArgs, 1, "GET");
12678 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
12679 Object headers = Helpers.getArg(optionalArgs, 3, null);
12680 Object body = Helpers.getArg(optionalArgs, 4, null);
12681 Object versions = this.safeDict(this.options, "versions", new java.util.HashMap<String, Object>() {{}});
12682 Object apiVersions = this.safeDict(versions, api, new java.util.HashMap<String, Object>() {{}});
12683 Object methodVersions = this.safeDict(apiVersions, method, new java.util.HashMap<String, Object>() {{}});
12684 Object defaultVersion = this.safeString(methodVersions, path, Helpers.GetValue(this.options, "version"));
12685 Object version = this.safeString(parameters, "version", defaultVersion);
12686 parameters = this.omit(parameters, "version");
12687 Object endpoint = Helpers.add(Helpers.add(Helpers.add("/api/", version), "/"), this.implodeParams(path, parameters));
12688 if (Helpers.isTrue(Helpers.isEqual(api, "webExchange")))
12689 {
12690 endpoint = Helpers.add("/", this.implodeParams(path, parameters));
12691 }
12692 if (Helpers.isTrue(Helpers.isEqual(api, "earn")))
12693 {
12694 endpoint = Helpers.add("/api/v1/", this.implodeParams(path, parameters));
12695 }
12696 Object isUtaPrivate = false;
12697 if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(api, "uta"))) || Helpers.isTrue((Helpers.isEqual(api, "utaPrivate")))))
12698 {
12699 endpoint = Helpers.add("/api/ua/v1/", this.implodeParams(path, parameters));
12700 if (Helpers.isTrue(Helpers.isEqual(api, "utaPrivate")))
12701 {
12702 isUtaPrivate = true;
12703 }
12704 }
12705 Object query = this.omit(parameters, this.extractParams(path));
12706 Object endpart = "";
12707 headers = ((Helpers.isTrue((!Helpers.isEqual(headers, null))))) ? headers : new java.util.HashMap<String, Object>() {{}};
12708 Object url = Helpers.GetValue(Helpers.GetValue(this.urls, "api"), api);
12709 Object tradeType = this.safeString(query, "tradeType");
12710 if (!Helpers.isTrue(this.isEmpty(query)))
12711 {
12712 if (Helpers.isTrue(Helpers.isTrue((Helpers.isTrue((Helpers.isEqual(method, "GET"))) || Helpers.isTrue((Helpers.isEqual(method, "DELETE"))))) && Helpers.isTrue((!Helpers.isEqual(path, "orders/multi-cancel")))))
12713 {
12714 endpoint = Helpers.add(endpoint, Helpers.add("?", this.rawencode(query)));
12715 } else
12716 {
12717 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(endpoint, "/api/ua/v1/classic/order/place"))) || Helpers.isTrue((Helpers.isEqual(endpoint, "/api/ua/v1/classic/order/place/batch")))) || Helpers.isTrue((Helpers.isEqual(endpoint, "/api/ua/v1/classic/order/cancel")))) || Helpers.isTrue((Helpers.isEqual(endpoint, "/api/ua/v1/classic/order/cancel/batch")))))
12718 {
12719 endpoint = Helpers.add(endpoint, Helpers.add("?tradeType=", tradeType));
12720 }
12721 body = this.json(query);
12722 endpart = body;
12723 Helpers.addElementToObject(headers, "Content-Type", "application/json");
12724 }
12725 }
12726 url = Helpers.add(url, endpoint);

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
GetValueMethod · 0.95
addMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
addElementToObjectMethod · 0.95
nonceMethod · 0.95
isEmptyMethod · 0.80
safeDictMethod · 0.45
safeStringMethod · 0.45
omitMethod · 0.45
implodeParamsMethod · 0.45

Tested by

no test coverage detected