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

Method safeBalance

java/lib/src/main/java/io/github/ccxt/Exchange.java:6423–6469  ·  view source on GitHub ↗
(Object balance)

Source from the content-addressed store, hash-verified

6421 }
6422
6423 public Object safeBalance(Object balance)
6424 {
6425 Object balances = this.omit(balance, new java.util.ArrayList<Object>(java.util.Arrays.asList("info", "timestamp", "datetime", "free", "used", "total")));
6426 Object codes = Helpers.objectKeys(balances);
6427 Helpers.addElementToObject(balance, "free", new java.util.HashMap<String, Object>() {{}});
6428 Helpers.addElementToObject(balance, "used", new java.util.HashMap<String, Object>() {{}});
6429 Helpers.addElementToObject(balance, "total", new java.util.HashMap<String, Object>() {{}});
6430 Object debtBalance = new java.util.HashMap<String, Object>() {{}};
6431 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(codes)); i++)
6432 {
6433 Object code = Helpers.GetValue(codes, i);
6434 Object total = this.safeString(Helpers.GetValue(balance, code), "total");
6435 Object free = this.safeString(Helpers.GetValue(balance, code), "free");
6436 Object used = this.safeString(Helpers.GetValue(balance, code), "used");
6437 Object debt = this.safeString(Helpers.GetValue(balance, code), "debt");
6438 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(total, null))) && Helpers.isTrue((!Helpers.isEqual(free, null)))) && Helpers.isTrue((!Helpers.isEqual(used, null)))))
6439 {
6440 total = Precise.stringAdd(free, used);
6441 }
6442 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(free, null))) && Helpers.isTrue((!Helpers.isEqual(total, null)))) && Helpers.isTrue((!Helpers.isEqual(used, null)))))
6443 {
6444 free = Precise.stringSub(total, used);
6445 }
6446 if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(used, null))) && Helpers.isTrue((!Helpers.isEqual(total, null)))) && Helpers.isTrue((!Helpers.isEqual(free, null)))))
6447 {
6448 used = Precise.stringSub(total, free);
6449 }
6450 Helpers.addElementToObject(Helpers.GetValue(balance, code), "free", this.parseNumber(free));
6451 Helpers.addElementToObject(Helpers.GetValue(balance, code), "used", this.parseNumber(used));
6452 Helpers.addElementToObject(Helpers.GetValue(balance, code), "total", this.parseNumber(total));
6453 Helpers.addElementToObject(Helpers.GetValue(balance, "free"), code, Helpers.GetValue(Helpers.GetValue(balance, code), "free"));
6454 Helpers.addElementToObject(Helpers.GetValue(balance, "used"), code, Helpers.GetValue(Helpers.GetValue(balance, code), "used"));
6455 Helpers.addElementToObject(Helpers.GetValue(balance, "total"), code, Helpers.GetValue(Helpers.GetValue(balance, code), "total"));
6456 if (Helpers.isTrue(!Helpers.isEqual(debt, null)))
6457 {
6458 Helpers.addElementToObject(Helpers.GetValue(balance, code), "debt", this.parseNumber(debt));
6459 Helpers.addElementToObject(debtBalance, code, Helpers.GetValue(Helpers.GetValue(balance, code), "debt"));
6460 }
6461 }
6462 Object debtBalanceArray = Helpers.objectKeys(debtBalance);
6463 Object length = Helpers.getArrayLength(debtBalanceArray);
6464 if (Helpers.isTrue(length))
6465 {
6466 Helpers.addElementToObject(balance, "debt", debtBalance);
6467 }
6468 return balance;
6469 }
6470
6471 public Object safeOrder(Object order, Object... optionalArgs)
6472 {

Callers 15

parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
parseBalanceMethod · 0.45
fetchBalanceMethod · 0.45
parseTradingBalanceMethod · 0.45
parseFundingBalanceMethod · 0.45
parseBalanceMethod · 0.45

Calls 12

omitMethod · 0.95
objectKeysMethod · 0.95
addElementToObjectMethod · 0.95
isLessThanMethod · 0.95
getArrayLengthMethod · 0.95
GetValueMethod · 0.95
safeStringMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
stringAddMethod · 0.95
stringSubMethod · 0.95
parseNumberMethod · 0.95

Tested by

no test coverage detected