(self, transfer: dict, currency: Currency = None)
| 2541 | return self.parse_transfers(data, currency, since, limit) |
| 2542 | |
| 2543 | def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry: |
| 2544 | # |
| 2545 | # transfer |
| 2546 | # { |
| 2547 | # "code": 200, |
| 2548 | # "message": "success", |
| 2549 | # "success": True |
| 2550 | # } |
| 2551 | # |
| 2552 | # fetchTransfers |
| 2553 | # { |
| 2554 | # "orderId": "1209991065294581760", |
| 2555 | # "txId": "6km5fRK83Gwdp43HA479DW1Colh2pKyS", |
| 2556 | # "sourceWallet": "SPOT", |
| 2557 | # "targetWallet": "SWAP", |
| 2558 | # "asset": "USDC", |
| 2559 | # "amount": "100", |
| 2560 | # "status": "SUCCESS", |
| 2561 | # "timestamp": 1766413950000 |
| 2562 | # } |
| 2563 | # |
| 2564 | status = self.safe_string_upper_2(transfer, 'message', 'status') |
| 2565 | accountsById = self.safe_dict(self.options, 'accountsById', {}) |
| 2566 | fromId = self.safe_string_upper(transfer, 'sourceWallet') |
| 2567 | toId = self.safe_string_upper(transfer, 'targetWallet') |
| 2568 | fromAccount = self.safe_string(accountsById, fromId, fromId) |
| 2569 | toAccount = self.safe_string(accountsById, toId, toId) |
| 2570 | timestamp = self.safe_integer(transfer, 'timestamp') |
| 2571 | currencyId = self.safe_string(transfer, 'asset') |
| 2572 | return { |
| 2573 | 'info': transfer, |
| 2574 | 'id': self.safe_string(transfer, 'txId'), |
| 2575 | 'timestamp': timestamp, |
| 2576 | 'datetime': self.iso8601(timestamp), |
| 2577 | 'currency': self.safe_currency_code(currencyId, currency), |
| 2578 | 'amount': self.safe_number(transfer, 'amount'), |
| 2579 | 'fromAccount': fromAccount, |
| 2580 | 'toAccount': toAccount, |
| 2581 | 'status': self.parase_transfer_status(status), |
| 2582 | } |
| 2583 | |
| 2584 | def parase_transfer_status(self, status: Str) -> Str: |
| 2585 | statuses = { |
no test coverage detected