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

Method sign

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

Source from the content-addressed store, hash-verified

3444 }
3445
3446 public Object sign(Object path, Object... optionalArgs)
3447 {
3448 Object section = Helpers.getArg(optionalArgs, 0, "public");
3449 Object method = Helpers.getArg(optionalArgs, 1, "GET");
3450 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
3451 Object headers = Helpers.getArg(optionalArgs, 3, null);
3452 Object body = Helpers.getArg(optionalArgs, 4, null);
3453 Object version = Helpers.GetValue(section, 0);
3454 Object access = Helpers.GetValue(section, 1);
3455 Object pathWithParams = this.implodeParams(path, parameters);
3456 Object url = this.implodeHostname(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), access));
3457 url = Helpers.add(url, Helpers.add(Helpers.add("/", version), "/"));
3458 parameters = this.omit(parameters, this.extractParams(path));
3459 parameters = this.keysort(parameters);
3460 if (Helpers.isTrue(Helpers.isEqual(access, "public")))
3461 {
3462 url = Helpers.add(url, Helpers.add(Helpers.add(access, "/"), pathWithParams));
3463 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(parameters))))
3464 {
3465 url = Helpers.add(url, Helpers.add("?", this.urlencode(parameters)));
3466 }
3467 } else if (Helpers.isTrue(Helpers.isEqual(access, "pub")))
3468 {
3469 url = Helpers.add(url, pathWithParams);
3470 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(parameters))))
3471 {
3472 url = Helpers.add(url, Helpers.add("?", this.urlencode(parameters)));
3473 }
3474 } else
3475 {
3476 this.checkRequiredCredentials();
3477 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "POST")) && Helpers.isTrue((Helpers.isTrue(Helpers.isEqual(path, "trade/algoOrder")) || Helpers.isTrue(Helpers.isEqual(path, "trade/order"))))))
3478 {
3479 Object isSandboxMode = this.safeBool(this.options, "sandboxMode", false);
3480 if (!Helpers.isTrue(isSandboxMode))
3481 {
3482 Object applicationId = "bc830de7-50f3-460b-9ee0-f430f83f9dad";
3483 Object brokerId = this.safeString(this.options, "brokerId", applicationId);
3484 Object isTrigger = Helpers.isGreaterThan(Helpers.getIndexOf(path, "algo"), Helpers.opNeg(1));
3485 if (Helpers.isTrue(isTrigger))
3486 {
3487 Helpers.addElementToObject(parameters, "brokerId", brokerId);
3488 } else
3489 {
3490 Helpers.addElementToObject(parameters, "broker_id", brokerId);
3491 }
3492 }
3493 parameters = this.keysort(parameters);
3494 }
3495 Object auth = "";
3496 Object ts = String.valueOf(this.nonce());
3497 url = Helpers.add(url, pathWithParams);
3498 final Object finalTs = ts;
3499 headers = new java.util.HashMap<String, Object>() {{
3500 put( "x-api-key", WooCore.this.apiKey );
3501 put( "x-api-timestamp", finalTs );
3502 }};
3503 if (Helpers.isTrue(Helpers.isEqual(version, "v3")))

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
GetValueMethod · 0.95
addMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
getArrayLengthMethod · 0.95
objectKeysMethod · 0.95
isGreaterThanMethod · 0.95
getIndexOfMethod · 0.95
opNegMethod · 0.95
addElementToObjectMethod · 0.95
nonceMethod · 0.95

Tested by

no test coverage detected