(self, position: dict, market: Market = None)
| 1040 | return self.fetch_orders(symbol, since, limit, self.extend(request, params)) |
| 1041 | |
| 1042 | def parse_position(self, position: dict, market: Market = None): |
| 1043 | # |
| 1044 | # { |
| 1045 | # "market": "BTC-USD", |
| 1046 | # "status": "OPEN", |
| 1047 | # "side": "SHORT", |
| 1048 | # "size": "-0.407", |
| 1049 | # "maxSize": "-0.009", |
| 1050 | # "entryPrice": "118692.04840909090909090909", |
| 1051 | # "exitPrice": "119526.565625", |
| 1052 | # "realizedPnl": "476.42665909090909090909088", |
| 1053 | # "unrealizedPnl": "-57.26681734000000000000037", |
| 1054 | # "createdAt": "2025-07-14T07:53:55.631Z", |
| 1055 | # "createdAtHeight": "44140908", |
| 1056 | # "closedAt": null, |
| 1057 | # "sumOpen": "0.44", |
| 1058 | # "sumClose": "0.032", |
| 1059 | # "netFunding": "503.13121", |
| 1060 | # "subaccountNumber": 0 |
| 1061 | # } |
| 1062 | # |
| 1063 | marketId = self.safe_string(position, 'market') |
| 1064 | market = self.safe_market(marketId, market) |
| 1065 | symbol = market['symbol'] |
| 1066 | side = self.safe_string_lower(position, 'side') |
| 1067 | quantity = self.safe_string(position, 'size') |
| 1068 | if side != 'long': |
| 1069 | quantity = Precise.string_mul('-1', quantity) |
| 1070 | timestamp = self.parse8601(self.safe_string(position, 'createdAt')) |
| 1071 | return self.safe_position({ |
| 1072 | 'info': position, |
| 1073 | 'id': None, |
| 1074 | 'symbol': symbol, |
| 1075 | 'entryPrice': self.safe_number(position, 'entryPrice'), |
| 1076 | 'markPrice': None, |
| 1077 | 'notional': None, |
| 1078 | 'collateral': None, |
| 1079 | 'unrealizedPnl': self.safe_number(position, 'unrealizedPnl'), |
| 1080 | 'side': side, |
| 1081 | 'contracts': self.parse_number(quantity), |
| 1082 | 'contractSize': None, |
| 1083 | 'timestamp': timestamp, |
| 1084 | 'datetime': self.iso8601(timestamp), |
| 1085 | 'hedged': None, |
| 1086 | 'maintenanceMargin': None, |
| 1087 | 'maintenanceMarginPercentage': None, |
| 1088 | 'initialMargin': None, |
| 1089 | 'initialMarginPercentage': None, |
| 1090 | 'leverage': None, |
| 1091 | 'liquidationPrice': None, |
| 1092 | 'marginRatio': None, |
| 1093 | 'marginMode': None, |
| 1094 | 'percentage': None, |
| 1095 | }) |
| 1096 | |
| 1097 | def fetch_position(self, symbol: str, params={}): |
| 1098 | """ |
nothing calls this directly
no test coverage detected