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

Method sign

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

Source from the content-addressed store, hash-verified

6637 }
6638
6639 public Object sign(Object path, Object... optionalArgs)
6640 {
6641 Object api = Helpers.getArg(optionalArgs, 0, "public");
6642 Object method = Helpers.getArg(optionalArgs, 1, "GET");
6643 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
6644 Object headers = Helpers.getArg(optionalArgs, 3, null);
6645 Object body = Helpers.getArg(optionalArgs, 4, null);
6646 Object section = this.safeString(api, 0);
6647 Object access = this.safeString(api, 1);
6648 var pathparametersVariable = this.resolvePath(path, parameters);
6649 path = ((java.util.List<Object>) pathparametersVariable).get(0);
6650 parameters = ((java.util.List<Object>) pathparametersVariable).get(1);
6651 Object url = null;
6652 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(section, "spot")) || Helpers.isTrue(Helpers.isEqual(section, "broker"))))
6653 {
6654 if (Helpers.isTrue(Helpers.isEqual(section, "broker")))
6655 {
6656 url = Helpers.add(Helpers.add(Helpers.GetValue(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), section), access), "/"), path);
6657 } else
6658 {
6659 url = Helpers.add(Helpers.add(Helpers.add(Helpers.add(Helpers.GetValue(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), section), access), "/api/"), this.version), "/"), path);
6660 }
6661 Object urlParams = parameters;
6662 if (Helpers.isTrue(Helpers.isEqual(access, "private")))
6663 {
6664 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(section, "broker")) && Helpers.isTrue((Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(method, "POST"))) || Helpers.isTrue((Helpers.isEqual(method, "PUT")))) || Helpers.isTrue((Helpers.isEqual(method, "DELETE")))))))
6665 {
6666 urlParams = new java.util.HashMap<String, Object>() {{
6667 put( "timestamp", MexcCore.this.nonce() );
6668 put( "recvWindow", MexcCore.this.safeInteger(MexcCore.this.options, "recvWindow", 5000) );
6669 }};
6670 body = this.json(parameters);
6671 } else
6672 {
6673 Helpers.addElementToObject(urlParams, "timestamp", this.nonce());
6674 Helpers.addElementToObject(urlParams, "recvWindow", this.safeInteger(this.options, "recvWindow", 5000));
6675 }
6676 }
6677 Object paramsEncoded = "";
6678 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(urlParams))))
6679 {
6680 paramsEncoded = this.urlencode(urlParams);
6681 url = Helpers.add(url, Helpers.add("?", paramsEncoded));
6682 }
6683 if (Helpers.isTrue(Helpers.isEqual(access, "private")))
6684 {
6685 this.checkRequiredCredentials();
6686 Object signature = this.hmac(this.encode(paramsEncoded), this.encode(this.secret), sha256());
6687 url = Helpers.add(url, Helpers.add(Helpers.add("&", "signature="), signature));
6688 headers = new java.util.HashMap<String, Object>() {{
6689 put( "X-MEXC-APIKEY", MexcCore.this.apiKey );
6690 put( "source", MexcCore.this.safeString(MexcCore.this.options, "broker", "CCXT") );
6691 }};
6692 }
6693 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(method, "POST"))) || Helpers.isTrue((Helpers.isEqual(method, "PUT")))) || Helpers.isTrue((Helpers.isEqual(method, "DELETE")))))
6694 {
6695 headers = ((Helpers.isTrue((Helpers.isEqual(headers, null))))) ? new java.util.HashMap<String, Object>() {{}} : headers;
6696 Helpers.addElementToObject(headers, "Content-Type", "application/json");

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
addMethod · 0.95
GetValueMethod · 0.95
nonceMethod · 0.95
addElementToObjectMethod · 0.95
getArrayLengthMethod · 0.95
objectKeysMethod · 0.95
safeStringMethod · 0.45
resolvePathMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected