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

Method parsedFeeAndFees

java/lib/src/main/java/io/github/ccxt/Exchange.java:7034–7082  ·  view source on GitHub ↗
(Object container)

Source from the content-addressed store, hash-verified

7032 }
7033
7034 public Object parsedFeeAndFees(Object container)
7035 {
7036 Object fee = this.safeDict(container, "fee");
7037 Object fees = this.safeList(container, "fees");
7038 Object feeDefined = !Helpers.isEqual(fee, null);
7039 Object feesDefined = !Helpers.isEqual(fees, null);
7040 // parsing only if at least one of them is defined
7041 Object shouldParseFees = (Helpers.isTrue(feeDefined) || Helpers.isTrue(feesDefined));
7042 if (Helpers.isTrue(shouldParseFees))
7043 {
7044 if (Helpers.isTrue(feeDefined))
7045 {
7046 fee = this.parseFeeNumeric(fee);
7047 }
7048 if (!Helpers.isTrue(feesDefined))
7049 {
7050 // just set it directly, no further processing needed.
7051 fees = new java.util.ArrayList<Object>(java.util.Arrays.asList(fee));
7052 }
7053 // 'fees' were set, so reparse them
7054 Object reducedFees = ((Helpers.isTrue(this.reduceFees))) ? this.reduceFeesByCurrency(fees) : fees;
7055 Object reducedLength = Helpers.getArrayLength(reducedFees);
7056 for (var i = 0; Helpers.isLessThan(i, reducedLength); i++)
7057 {
7058 Helpers.addElementToObject(reducedFees, i, this.parseFeeNumeric(Helpers.GetValue(reducedFees, i)));
7059 }
7060 fees = reducedFees;
7061 if (Helpers.isTrue(Helpers.isEqual(reducedLength, 1)))
7062 {
7063 fee = Helpers.GetValue(reducedFees, 0);
7064 } else if (Helpers.isTrue(Helpers.isEqual(reducedLength, 0)))
7065 {
7066 fee = null;
7067 }
7068 }
7069 // in case `fee & fees` are undefined, set `fees` as empty array
7070 if (Helpers.isTrue(Helpers.isEqual(fee, null)))
7071 {
7072 fee = new java.util.HashMap<String, Object>() {{
7073 put( "cost", null );
7074 put( "currency", null );
7075 }};
7076 }
7077 if (Helpers.isTrue(Helpers.isEqual(fees, null)))
7078 {
7079 fees = new java.util.ArrayList<Object>(java.util.Arrays.asList());
7080 }
7081 return new java.util.ArrayList<Object>(java.util.Arrays.asList(fee, fees));
7082 }
7083
7084 public Object parseFeeNumeric(Object fee)
7085 {

Callers 1

safeTradeMethod · 0.95

Calls 10

safeDictMethod · 0.95
safeListMethod · 0.95
isEqualMethod · 0.95
isTrueMethod · 0.95
parseFeeNumericMethod · 0.95
reduceFeesByCurrencyMethod · 0.95
getArrayLengthMethod · 0.95
isLessThanMethod · 0.95
addElementToObjectMethod · 0.95
GetValueMethod · 0.95

Tested by

no test coverage detected