(self, conversion: dict, fromCurrency: Currency = None, toCurrency: Currency = None)
| 5038 | return self.parse_conversions(rows, code, 'fromCurrency', 'toCurrency', since, limit) |
| 5039 | |
| 5040 | def parse_conversion(self, conversion: dict, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion: |
| 5041 | # |
| 5042 | # fetchConvertQuote |
| 5043 | # |
| 5044 | # { |
| 5045 | # "code": "GIF...AAA", |
| 5046 | # "quoteArgs": { |
| 5047 | # "origin": 10, |
| 5048 | # "price": "0.00000939", |
| 5049 | # "proceeds": "0.00000000", |
| 5050 | # "ttlMs": 7000, |
| 5051 | # "expireAt": 1739875826009, |
| 5052 | # "requestAt": 1739875818009, |
| 5053 | # "quoteAt": 1739875816594 |
| 5054 | # } |
| 5055 | # } |
| 5056 | # |
| 5057 | # createConvertTrade |
| 5058 | # |
| 5059 | # { |
| 5060 | # "moveOp": 0, |
| 5061 | # "fromCurrency": "USDT", |
| 5062 | # "toCurrency": "BTC", |
| 5063 | # "fromAmountEv": 4000000000, |
| 5064 | # "toAmountEv": 41511, |
| 5065 | # "linkKey": "45c8ed8e-d3f4-472d-8262-e464e8c46247", |
| 5066 | # "status": 10 |
| 5067 | # } |
| 5068 | # |
| 5069 | # fetchConvertTradeHistory |
| 5070 | # |
| 5071 | # { |
| 5072 | # "linkKey": "45c8ed8e-d3f4-472d-8262-e464e8c46247", |
| 5073 | # "createTime": 1739882294000, |
| 5074 | # "fromCurrency": "USDT", |
| 5075 | # "toCurrency": "BTC", |
| 5076 | # "fromAmountEv": 4000000000, |
| 5077 | # "toAmountEv": 41511, |
| 5078 | # "status": 10, |
| 5079 | # "conversionRate": 1037, |
| 5080 | # "errorCode": 0 |
| 5081 | # } |
| 5082 | # |
| 5083 | quoteArgs = self.safe_dict(conversion, 'quoteArgs', {}) |
| 5084 | requestTime = self.safe_integer(quoteArgs, 'requestAt') |
| 5085 | timestamp = self.safe_integer(conversion, 'createTime', requestTime) |
| 5086 | fromCoin = self.safe_string(conversion, 'fromCurrency', self.safe_string(fromCurrency, 'code')) |
| 5087 | fromCode = self.safe_currency_code(fromCoin, fromCurrency) |
| 5088 | toCoin = self.safe_string(conversion, 'toCurrency', self.safe_string(toCurrency, 'code')) |
| 5089 | toCode = self.safe_currency_code(toCoin, toCurrency) |
| 5090 | fromValueScale = self.safe_integer(fromCurrency, 'valueScale') |
| 5091 | toValueScale = self.safe_integer(toCurrency, 'valueScale') |
| 5092 | fromAmount = self.from_en(self.safe_string(conversion, 'fromAmountEv'), fromValueScale) |
| 5093 | if fromAmount is None and quoteArgs is not None: |
| 5094 | fromAmount = self.from_en(self.safe_string(quoteArgs, 'origin'), fromValueScale) |
| 5095 | toAmount = self.from_en(self.safe_string(conversion, 'toAmountEv'), toValueScale) |
| 5096 | if toAmount is None and quoteArgs is not None: |
| 5097 | toAmount = self.from_en(self.safe_string(quoteArgs, 'proceeds'), toValueScale) |
no test coverage detected