(self, order: dict, market: Market = None)
| 4209 | return balance |
| 4210 | |
| 4211 | def safe_order(self, order: dict, market: Market = None): |
| 4212 | # parses numbers |
| 4213 | # * it is important pass the trades rawTrades |
| 4214 | amount = self.omit_zero(self.safe_string(order, 'amount')) |
| 4215 | remaining = self.safe_string(order, 'remaining') |
| 4216 | filled = self.safe_string(order, 'filled') |
| 4217 | cost = self.safe_string(order, 'cost') |
| 4218 | average = self.omit_zero(self.safe_string(order, 'average')) |
| 4219 | price = self.omit_zero(self.safe_string(order, 'price')) |
| 4220 | lastTradeTimeTimestamp = self.safe_integer(order, 'lastTradeTimestamp') |
| 4221 | symbol = self.safe_string(order, 'symbol') |
| 4222 | side = self.safe_string(order, 'side') |
| 4223 | status = self.safe_string(order, 'status') |
| 4224 | parseFilled = (filled is None) |
| 4225 | parseCost = (cost is None) |
| 4226 | parseLastTradeTimeTimestamp = (lastTradeTimeTimestamp is None) |
| 4227 | fee = self.safe_value(order, 'fee') |
| 4228 | parseFee = (fee is None) |
| 4229 | parseFees = self.safe_value(order, 'fees') is None |
| 4230 | parseSymbol = symbol is None |
| 4231 | parseSide = side is None |
| 4232 | shouldParseFees = parseFee or parseFees |
| 4233 | fees = self.safe_list(order, 'fees', []) |
| 4234 | trades = [] |
| 4235 | isTriggerOrSLTpOrder = ((self.safe_string(order, 'triggerPrice') is not None or (self.safe_string(order, 'stopLossPrice') is not None)) or (self.safe_string(order, 'takeProfitPrice') is not None)) |
| 4236 | if parseFilled or parseCost or shouldParseFees: |
| 4237 | rawTrades = self.safe_value(order, 'trades', trades) |
| 4238 | # oldNumber = self.number |
| 4239 | # we parse trades here! |
| 4240 | # i don't think self is needed anymore |
| 4241 | # self.number = str |
| 4242 | firstTrade = self.safe_value(rawTrades, 0) |
| 4243 | # parse trades if they haven't already been parsed |
| 4244 | tradesAreParsed = ((firstTrade is not None) and ('info' in firstTrade) and ('id' in firstTrade)) |
| 4245 | if not tradesAreParsed: |
| 4246 | trades = self.parse_trades(rawTrades, market) |
| 4247 | else: |
| 4248 | trades = rawTrades |
| 4249 | # self.number = oldNumber; why parse trades if you read the value using `safeString` ? |
| 4250 | tradesLength = 0 |
| 4251 | isArray = isinstance(trades, list) |
| 4252 | if isArray: |
| 4253 | tradesLength = len(trades) |
| 4254 | if isArray and (tradesLength > 0): |
| 4255 | # move properties that are defined in trades up into the order |
| 4256 | if order['symbol'] is None: |
| 4257 | order['symbol'] = trades[0]['symbol'] |
| 4258 | if order['side'] is None: |
| 4259 | order['side'] = trades[0]['side'] |
| 4260 | if order['type'] is None: |
| 4261 | order['type'] = trades[0]['type'] |
| 4262 | if order['id'] is None: |
| 4263 | order['id'] = trades[0]['order'] |
| 4264 | if parseFilled: |
| 4265 | filled = '0' |
| 4266 | if parseCost: |
| 4267 | cost = '0' |
| 4268 | for i in range(0, len(trades)): |
no test coverage detected