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

Method sign

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

Source from the content-addressed store, hash-verified

5790 }
5791
5792 public Object sign(Object path, Object... optionalArgs)
5793 {
5794 Object api = Helpers.getArg(optionalArgs, 0, new java.util.ArrayList<Object>(java.util.Arrays.asList()));
5795 Object method = Helpers.getArg(optionalArgs, 1, "GET");
5796 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
5797 Object headers = Helpers.getArg(optionalArgs, 3, null);
5798 Object body = Helpers.getArg(optionalArgs, 4, null);
5799 Object signed = Helpers.isEqual(Helpers.GetValue(api, 0), "private");
5800 Object endpoint = Helpers.GetValue(api, 1);
5801 Object request = Helpers.add("/", this.implodeParams(path, parameters));
5802 Object payload = null;
5803 if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(endpoint, "spot"))) || Helpers.isTrue((Helpers.isEqual(endpoint, "user")))))
5804 {
5805 if (Helpers.isTrue(signed))
5806 {
5807 payload = Helpers.add(Helpers.add("/", this.version), request);
5808 } else
5809 {
5810 payload = Helpers.add(Helpers.add(Helpers.add("/", this.version), "/public"), request);
5811 }
5812 } else
5813 {
5814 payload = request;
5815 }
5816 Object url = Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), endpoint), payload);
5817 Object query = this.omit(parameters, this.extractParams(path));
5818 Object urlencoded = this.urlencode(this.keysort(query));
5819 headers = new java.util.HashMap<String, Object>() {{
5820 put( "Content-Type", "application/json" );
5821 }};
5822 if (Helpers.isTrue(signed))
5823 {
5824 this.checkRequiredCredentials();
5825 Object defaultRecvWindow = this.safeString(this.options, "recvWindow");
5826 Object recvWindow = this.safeString(query, "recvWindow", defaultRecvWindow);
5827 Object timestamp = this.numberToString(this.nonce());
5828 body = query;
5829 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(payload, "/v4/order"))) || Helpers.isTrue((Helpers.isEqual(payload, "/future/trade/v1/order/create")))) || Helpers.isTrue((Helpers.isEqual(payload, "/future/trade/v1/entrust/create-plan")))) || Helpers.isTrue((Helpers.isEqual(payload, "/future/trade/v1/entrust/create-profit")))) || Helpers.isTrue((Helpers.isEqual(payload, "/future/trade/v1/order/create-batch")))))
5830 {
5831 Object id = "CCXT";
5832 if (Helpers.isTrue(Helpers.isGreaterThan(Helpers.getIndexOf(payload, "future"), Helpers.opNeg(1))))
5833 {
5834 Helpers.addElementToObject(body, "clientMedia", id);
5835 } else
5836 {
5837 Helpers.addElementToObject(body, "media", id);
5838 }
5839 }
5840 Object isUndefinedBody = (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(method, "GET"))) || Helpers.isTrue((Helpers.isEqual(path, "order/{orderId}")))) || Helpers.isTrue((Helpers.isEqual(path, "ws-token"))));
5841 if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(method, "PUT"))) && Helpers.isTrue((Helpers.isEqual(endpoint, "spot")))))
5842 {
5843 isUndefinedBody = false;
5844 }
5845 body = ((Helpers.isTrue(isUndefinedBody))) ? null : this.json(body);
5846 Object payloadString = null;
5847 if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(endpoint, "spot"))) || Helpers.isTrue((Helpers.isEqual(endpoint, "user")))))
5848 {
5849 payloadString = Helpers.add(Helpers.add(Helpers.add(Helpers.add(Helpers.add(Helpers.add("xt-validate-algorithms=HmacSHA256&xt-validate-appkey=", this.apiKey), "&xt-validate-recvwindow="), recvWindow), "&xt-validate-t"), "imestamp="), timestamp);

Callers 3

rsaSignMethod · 0.45
es256SignMethod · 0.45
EddsaMethod · 0.45

Calls 15

getArgMethod · 0.95
isEqualMethod · 0.95
GetValueMethod · 0.95
addMethod · 0.95
isTrueMethod · 0.95
nonceMethod · 0.95
isGreaterThanMethod · 0.95
getIndexOfMethod · 0.95
opNegMethod · 0.95
addElementToObjectMethod · 0.95
implodeParamsMethod · 0.45
omitMethod · 0.45

Tested by

no test coverage detected