(Object entry, Object... optionalArgs)
| 5987 | } |
| 5988 | |
| 5989 | public Object safeLedgerEntry(Object entry, Object... optionalArgs) |
| 5990 | { |
| 5991 | Object currency = Helpers.getArg(optionalArgs, 0, null); |
| 5992 | currency = this.safeCurrency(null, currency); |
| 5993 | Object direction = this.safeString(entry, "direction"); |
| 5994 | Object before = this.safeString(entry, "before"); |
| 5995 | Object after = this.safeString(entry, "after"); |
| 5996 | Object amount = this.safeString(entry, "amount"); |
| 5997 | if (Helpers.isTrue(!Helpers.isEqual(amount, null))) |
| 5998 | { |
| 5999 | if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(before, null)) && Helpers.isTrue(!Helpers.isEqual(after, null)))) |
| 6000 | { |
| 6001 | before = Precise.stringSub(after, amount); |
| 6002 | } else if (Helpers.isTrue(Helpers.isTrue(!Helpers.isEqual(before, null)) && Helpers.isTrue(Helpers.isEqual(after, null)))) |
| 6003 | { |
| 6004 | after = Precise.stringAdd(before, amount); |
| 6005 | } |
| 6006 | } |
| 6007 | if (Helpers.isTrue(Helpers.isTrue(!Helpers.isEqual(before, null)) && Helpers.isTrue(!Helpers.isEqual(after, null)))) |
| 6008 | { |
| 6009 | if (Helpers.isTrue(Helpers.isEqual(direction, null))) |
| 6010 | { |
| 6011 | if (Helpers.isTrue(Precise.stringGt(before, after))) |
| 6012 | { |
| 6013 | direction = "out"; |
| 6014 | } |
| 6015 | if (Helpers.isTrue(Precise.stringGt(after, before))) |
| 6016 | { |
| 6017 | direction = "in"; |
| 6018 | } |
| 6019 | } |
| 6020 | } |
| 6021 | Object fee = this.safeValue(entry, "fee"); |
| 6022 | if (Helpers.isTrue(!Helpers.isEqual(fee, null))) |
| 6023 | { |
| 6024 | Helpers.addElementToObject(fee, "cost", this.safeNumber(fee, "cost")); |
| 6025 | } |
| 6026 | Object timestamp = this.safeInteger(entry, "timestamp"); |
| 6027 | Object info = this.safeDict(entry, "info", new java.util.HashMap<String, Object>() {{}}); |
| 6028 | final Object finalDirection = direction; |
| 6029 | final Object finalCurrency = currency; |
| 6030 | final Object finalAmount = amount; |
| 6031 | final Object finalBefore = before; |
| 6032 | final Object finalAfter = after; |
| 6033 | final Object finalFee = fee; |
| 6034 | return new java.util.HashMap<String, Object>() {{ |
| 6035 | put( "id", Exchange.this.safeString(entry, "id") ); |
| 6036 | put( "timestamp", timestamp ); |
| 6037 | put( "datetime", Exchange.this.iso8601(timestamp) ); |
| 6038 | put( "direction", finalDirection ); |
| 6039 | put( "account", Exchange.this.safeString(entry, "account") ); |
| 6040 | put( "referenceId", Exchange.this.safeString(entry, "referenceId") ); |
| 6041 | put( "referenceAccount", Exchange.this.safeString(entry, "referenceAccount") ); |
| 6042 | put( "type", Exchange.this.safeString(entry, "type") ); |
| 6043 | put( "currency", Helpers.GetValue(finalCurrency, "code") ); |
| 6044 | put( "amount", Exchange.this.parseNumber(finalAmount) ); |
| 6045 | put( "before", Exchange.this.parseNumber(finalBefore) ); |
| 6046 | put( "after", Exchange.this.parseNumber(finalAfter) ); |
no test coverage detected