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

Method sign

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

Source from the content-addressed store, hash-verified

1458 }
1459
1460 public Object sign(Object path, Object... optionalArgs)
1461 {
1462 Object api = Helpers.getArg(optionalArgs, 0, "public");
1463 Object method = Helpers.getArg(optionalArgs, 1, "GET");
1464 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
1465 Object headers = Helpers.getArg(optionalArgs, 3, null);
1466 Object body = Helpers.getArg(optionalArgs, 4, null);
1467 Object url = Helpers.add(Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), api), "/"), this.implodeParams(path, parameters));
1468 parameters = this.omit(parameters, this.extractParams(path));
1469 if (Helpers.isTrue(Helpers.isEqual(method, "GET")))
1470 {
1471 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(parameters))))
1472 {
1473 url = Helpers.add(url, Helpers.add("?", this.urlencode(parameters)));
1474 }
1475 }
1476 if (Helpers.isTrue(Helpers.isEqual(api, "private")))
1477 {
1478 Helpers.addElementToObject(parameters, "request", Helpers.add("/api/v2/", path));
1479 Helpers.addElementToObject(parameters, "nonce", String.valueOf(this.nonce()));
1480 Object payload = this.stringToBase64(this.json(parameters)); // Body json encoded in base64
1481 headers = new java.util.HashMap<String, Object>() {{
1482 put( "Content-Type", "application/json" );
1483 put( "X-TXC-APIKEY", P2bCore.this.apiKey );
1484 put( "X-TXC-PAYLOAD", payload );
1485 put( "X-TXC-SIGNATURE", P2bCore.this.hmac(P2bCore.this.encode(payload), P2bCore.this.encode(P2bCore.this.secret), sha512()) );
1486 }};
1487 body = this.json(parameters);
1488 }
1489 final Object finalUrl = url;
1490 final Object finalMethod = method;
1491 final Object finalBody = body;
1492 final Object finalHeaders = headers;
1493 return new java.util.HashMap<String, Object>() {{
1494 put( "url", finalUrl );
1495 put( "method", finalMethod );
1496 put( "body", finalBody );
1497 put( "headers", finalHeaders );
1498 }};
1499 }
1500
1501 public Object handleErrors(Object code, Object reason, Object url, Object method, Object headers, Object body, Object response, Object requestHeaders, Object requestBody)
1502 {

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
addMethod · 0.95
GetValueMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
getArrayLengthMethod · 0.95
objectKeysMethod · 0.95
addElementToObjectMethod · 0.95
implodeParamsMethod · 0.45
omitMethod · 0.45
extractParamsMethod · 0.45
urlencodeMethod · 0.45

Tested by

no test coverage detected