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

Method sign

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

Source from the content-addressed store, hash-verified

7270 }
7271
7272 public Object sign(Object path, Object... optionalArgs)
7273 {
7274 Object api = Helpers.getArg(optionalArgs, 0, "public");
7275 Object method = Helpers.getArg(optionalArgs, 1, "GET");
7276 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
7277 Object headers = Helpers.getArg(optionalArgs, 3, null);
7278 Object body = Helpers.getArg(optionalArgs, 4, null);
7279 Object isArray = Helpers.isArray(parameters);
7280 Object request = Helpers.add(Helpers.add(Helpers.add("/api/", this.version), "/"), this.implodeParams(path, parameters));
7281 Object query = this.omit(parameters, this.extractParams(path));
7282 Object url = Helpers.add(this.implodeHostname(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), "rest")), request);
7283 // const type = this.getPathAuthenticationType (path);
7284 if (Helpers.isTrue(Helpers.isEqual(api, "public")))
7285 {
7286 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(query))))
7287 {
7288 url = Helpers.add(url, Helpers.add("?", this.urlencode(query)));
7289 }
7290 } else if (Helpers.isTrue(Helpers.isEqual(api, "private")))
7291 {
7292 this.checkRequiredCredentials();
7293 // inject id in implicit api call
7294 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "POST")) && Helpers.isTrue((Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(path, "trade/batch-orders")) || Helpers.isTrue(Helpers.isEqual(path, "trade/order-algo"))) || Helpers.isTrue(Helpers.isEqual(path, "trade/order"))))))
7295 {
7296 Object brokerId = this.safeString(this.options, "brokerId", "6b9ad766b55dBCDE");
7297 if (Helpers.isTrue(Helpers.isArray(parameters)))
7298 {
7299 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(parameters)); i++)
7300 {
7301 Object entry = Helpers.GetValue(parameters, i);
7302 Object clientOrderId = this.safeString(entry, "clOrdId");
7303 if (Helpers.isTrue(Helpers.isEqual(clientOrderId, null)))
7304 {
7305 Helpers.addElementToObject(entry, "clOrdId", Helpers.add(brokerId, this.uuid16()));
7306 Helpers.addElementToObject(entry, "tag", brokerId);
7307 Helpers.addElementToObject(parameters, i, entry);
7308 }
7309 }
7310 } else
7311 {
7312 Object clientOrderId = this.safeString(parameters, "clOrdId");
7313 if (Helpers.isTrue(Helpers.isEqual(clientOrderId, null)))
7314 {
7315 Helpers.addElementToObject(parameters, "clOrdId", Helpers.add(brokerId, this.uuid16()));
7316 Helpers.addElementToObject(parameters, "tag", brokerId);
7317 }
7318 }
7319 }
7320 Object timestamp = this.iso8601(this.nonce());
7321 final Object finalTimestamp = timestamp;
7322 headers = new java.util.HashMap<String, Object>() {{
7323 put( "OK-ACCESS-KEY", OkxCore.this.apiKey );
7324 put( "OK-ACCESS-PASSPHRASE", OkxCore.this.password );
7325 put( "OK-ACCESS-TIMESTAMP", finalTimestamp );
7326 }};
7327 Object auth = Helpers.add(Helpers.add(timestamp, method), request);
7328 if (Helpers.isTrue(Helpers.isEqual(method, "GET")))
7329 {

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
isArrayMethod · 0.95
addMethod · 0.95
GetValueMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
getArrayLengthMethod · 0.95
objectKeysMethod · 0.95
isLessThanMethod · 0.95
addElementToObjectMethod · 0.95
nonceMethod · 0.95
implodeParamsMethod · 0.45

Tested by

no test coverage detected