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

Method sign

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

Source from the content-addressed store, hash-verified

6846 }
6847
6848 public Object sign(Object path, Object... optionalArgs)
6849 {
6850 Object section = Helpers.getArg(optionalArgs, 0, "public");
6851 Object method = Helpers.getArg(optionalArgs, 1, "GET");
6852 Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}});
6853 Object headers = Helpers.getArg(optionalArgs, 3, null);
6854 Object body = Helpers.getArg(optionalArgs, 4, null);
6855 Object type = Helpers.GetValue(section, 0);
6856 Object version = Helpers.GetValue(section, 1);
6857 Object access = Helpers.GetValue(section, 2);
6858 Object isSandbox = this.safeBool(this.options, "sandboxMode", false);
6859 Object url = this.implodeHostname(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), type));
6860 if (Helpers.isTrue(Helpers.isTrue(isSandbox) && Helpers.isTrue(Helpers.isEqual(url, null))))
6861 {
6862 throw new NotSupported((String)Helpers.add(Helpers.add(Helpers.add(this.id, " does not have a testnet/sandbox URL for "), type), " endpoints")) ;
6863 }
6864 path = this.implodeParams(path, parameters);
6865 Object versionIsTransfer = (Helpers.isEqual(version, "transfer"));
6866 Object versionIsAsset = (Helpers.isEqual(version, "asset"));
6867 if (Helpers.isTrue(Helpers.isTrue(versionIsTransfer) || Helpers.isTrue(versionIsAsset)))
6868 {
6869 if (Helpers.isTrue(versionIsTransfer))
6870 {
6871 type = "account/transfer";
6872 } else
6873 {
6874 type = "api/asset";
6875 }
6876 version = Helpers.GetValue(section, 2);
6877 access = Helpers.GetValue(section, 3);
6878 }
6879 if (Helpers.isTrue(!Helpers.isEqual(path, "account/apiPermissions")))
6880 {
6881 if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(type, "spot")) && Helpers.isTrue(Helpers.isEqual(version, "v3"))))
6882 {
6883 url = Helpers.add(url, "/api");
6884 } else
6885 {
6886 url = Helpers.add(url, Helpers.add("/", type));
6887 }
6888 }
6889 url = Helpers.add(url, Helpers.add(Helpers.add(Helpers.add("/", version), "/"), path));
6890 parameters = this.omit(parameters, this.extractParams(path));
6891 Helpers.addElementToObject(parameters, "timestamp", this.nonce());
6892 parameters = this.keysort(parameters);
6893 if (Helpers.isTrue(Helpers.isEqual(access, "public")))
6894 {
6895 if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(parameters))))
6896 {
6897 url = Helpers.add(url, Helpers.add("?", this.urlencode(parameters)));
6898 }
6899 } else if (Helpers.isTrue(Helpers.isEqual(access, "private")))
6900 {
6901 this.checkRequiredCredentials();
6902 Object isJsonContentType = (Helpers.isTrue((Helpers.isTrue((Helpers.isEqual(type, "subAccount"))) || Helpers.isTrue((Helpers.isEqual(type, "account/transfer"))))) && Helpers.isTrue((Helpers.isEqual(method, "POST"))));
6903 Object parsedParams = null;
6904 Object encodeRequest = null;
6905 if (Helpers.isTrue(isJsonContentType))

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
GetValueMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
addMethod · 0.95
addElementToObjectMethod · 0.95
nonceMethod · 0.95
getArrayLengthMethod · 0.95
objectKeysMethod · 0.95
customEncodeMethod · 0.95
parseParamsMethod · 0.95
safeBoolMethod · 0.45

Tested by

no test coverage detected