(self, item: dict, currency: Currency = None)
| 1634 | return self.safe_string(types, type, type) |
| 1635 | |
| 1636 | def parse_ledger_entry(self, item: dict, currency: Currency = None) -> LedgerEntry: |
| 1637 | # { |
| 1638 | # "id": "12087495079", |
| 1639 | # "amount": "-0.0100000000000000", |
| 1640 | # "balance": "0.0645419900000000", |
| 1641 | # "created_at": "2021-10-28T17:14:32.593168Z", |
| 1642 | # "type": "transfer", |
| 1643 | # "details": { |
| 1644 | # "from": "2f74edf7-1440-4586-86dc-ae58c5693691", |
| 1645 | # "profile_transfer_id": "3ef093ad-2482-40d1-8ede-2f89cff5099e", |
| 1646 | # "to": "dda99503-4980-4b60-9549-0b770ee51336" |
| 1647 | # } |
| 1648 | # }, |
| 1649 | # { |
| 1650 | # "id": "11740725774", |
| 1651 | # "amount": "-1.7565669701255000", |
| 1652 | # "balance": "0.0016490047745000", |
| 1653 | # "created_at": "2021-10-22T03:47:34.764122Z", |
| 1654 | # "type": "fee", |
| 1655 | # "details": { |
| 1656 | # "order_id": "ad06abf4-95ab-432a-a1d8-059ef572e296", |
| 1657 | # "product_id": "ETH-DAI", |
| 1658 | # "trade_id": "1740617" |
| 1659 | # } |
| 1660 | # } |
| 1661 | id = self.safe_string(item, 'id') |
| 1662 | amountString = self.safe_string(item, 'amount') |
| 1663 | direction = None |
| 1664 | afterString = self.safe_string(item, 'balance') |
| 1665 | beforeString = Precise.string_sub(afterString, amountString) |
| 1666 | if Precise.string_lt(amountString, '0'): |
| 1667 | direction = 'out' |
| 1668 | amountString = Precise.string_abs(amountString) |
| 1669 | else: |
| 1670 | direction = 'in' |
| 1671 | amount = self.parse_number(amountString) |
| 1672 | after = self.parse_number(afterString) |
| 1673 | before = self.parse_number(beforeString) |
| 1674 | timestamp = self.parse8601(self.safe_value(item, 'created_at')) |
| 1675 | type = self.parse_ledger_entry_type(self.safe_string(item, 'type')) |
| 1676 | code = self.safe_currency_code(None, currency) |
| 1677 | details = self.safe_value(item, 'details', {}) |
| 1678 | account = None |
| 1679 | referenceAccount = None |
| 1680 | referenceId = None |
| 1681 | if type == 'transfer': |
| 1682 | account = self.safe_string(details, 'from') |
| 1683 | referenceAccount = self.safe_string(details, 'to') |
| 1684 | referenceId = self.safe_string(details, 'profile_transfer_id') |
| 1685 | else: |
| 1686 | referenceId = self.safe_string(details, 'order_id') |
| 1687 | status = 'ok' |
| 1688 | return self.safe_ledger_entry({ |
| 1689 | 'info': item, |
| 1690 | 'id': id, |
| 1691 | 'timestamp': timestamp, |
| 1692 | 'datetime': self.iso8601(timestamp), |
| 1693 | 'direction': direction, |
nothing calls this directly
no test coverage detected