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

Method sign

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

Source from the content-addressed store, hash-verified

2325 }
2326
2327 public Object sign(Object path, Object... optionalArgs)
2328 {
2329 Object api = Helpers.getArg(optionalArgs, 0, new java.util.ArrayList<Object>(java.util.Arrays.asList()));
2330 Object method = Helpers.getArg(optionalArgs, 1, "GET");
2331 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
2332 Object headers = Helpers.getArg(optionalArgs, 3, null);
2333 Object body = Helpers.getArg(optionalArgs, 4, null);
2334 Object version = Helpers.GetValue(api, 0);
2335 Object urlPath = Helpers.GetValue(api, 1);
2336 Object fullPath = Helpers.add(Helpers.add(Helpers.add("/rest/", version), "/"), this.implodeParams(path, parameters));
2337 if (Helpers.isTrue(Helpers.isEqual(version, "status")))
2338 {
2339 fullPath = "/status";
2340 urlPath = "status";
2341 }
2342 Object url = Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), urlPath), fullPath);
2343 parameters = this.omit(parameters, this.extractParams(path));
2344 Object timestamp = this.milliseconds();
2345 Object query = "";
2346 Object signatureQuery = "";
2347 if (Helpers.isTrue(Helpers.isEqual(method, "GET")))
2348 {
2349 Object paramKeys = Helpers.objectKeys(parameters);
2350 Object paramKeysLength = Helpers.getArrayLength(paramKeys);
2351 if (Helpers.isTrue(Helpers.isGreaterThan(paramKeysLength, 0)))
2352 {
2353 query = this.urlencode(parameters);
2354 url = Helpers.add(url, Helpers.add("?", query));
2355 }
2356 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(paramKeys)); i++)
2357 {
2358 Object key = Helpers.GetValue(paramKeys, i);
2359 Object value = this.safeString(parameters, key);
2360 if (Helpers.isTrue(!Helpers.isEqual(value, null)))
2361 {
2362 signatureQuery = Helpers.add(signatureQuery, Helpers.add(Helpers.add(key, "="), value));
2363 }
2364 if (Helpers.isTrue(Helpers.isLessThan(i, Helpers.subtract(paramKeysLength, 1))))
2365 {
2366 signatureQuery = Helpers.add(signatureQuery, "&");
2367 }
2368 }
2369 }
2370 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "POST")) || Helpers.isTrue(Helpers.isEqual(method, "PUT"))))
2371 {
2372 body = this.json(parameters);
2373 }
2374 Object bodyToSignature = "";
2375 if (Helpers.isTrue(!Helpers.isEqual(body, null)))
2376 {
2377 bodyToSignature = body;
2378 }
2379 headers = new java.util.HashMap<String, Object>() {{
2380 put( "Content-Type", "application/json" );
2381 }};
2382 if (Helpers.isTrue(Helpers.isEqual(urlPath, "private")))
2383 {
2384 this.checkRequiredCredentials();

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
GetValueMethod · 0.95
addMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
objectKeysMethod · 0.95
getArrayLengthMethod · 0.95
isGreaterThanMethod · 0.95
isLessThanMethod · 0.95
subtractMethod · 0.95
addElementToObjectMethod · 0.95
implodeParamsMethod · 0.45

Tested by

no test coverage detected