MCPcopy Create free account
hub / github.com/ccxt/ccxt / safe_ledger_entry

Method safe_ledger_entry

python/ccxt/base/exchange.py:3854–3892  ·  view source on GitHub ↗
(self, entry: object, currency: Currency = None)

Source from the content-addressed store, hash-verified

3852 }
3853
3854 def safe_ledger_entry(self, entry: object, currency: Currency = None):
3855 currency = self.safe_currency(None, currency)
3856 direction = self.safe_string(entry, 'direction')
3857 before = self.safe_string(entry, 'before')
3858 after = self.safe_string(entry, 'after')
3859 amount = self.safe_string(entry, 'amount')
3860 if amount is not None:
3861 if before is None and after is not None:
3862 before = Precise.string_sub(after, amount)
3863 elif before is not None and after is None:
3864 after = Precise.string_add(before, amount)
3865 if before is not None and after is not None:
3866 if direction is None:
3867 if Precise.string_gt(before, after):
3868 direction = 'out'
3869 if Precise.string_gt(after, before):
3870 direction = 'in'
3871 fee = self.safe_value(entry, 'fee')
3872 if fee is not None:
3873 fee['cost'] = self.safe_number(fee, 'cost')
3874 timestamp = self.safe_integer(entry, 'timestamp')
3875 info = self.safe_dict(entry, 'info', {})
3876 return {
3877 'id': self.safe_string(entry, 'id'),
3878 'timestamp': timestamp,
3879 'datetime': self.iso8601(timestamp),
3880 'direction': direction,
3881 'account': self.safe_string(entry, 'account'),
3882 'referenceId': self.safe_string(entry, 'referenceId'),
3883 'referenceAccount': self.safe_string(entry, 'referenceAccount'),
3884 'type': self.safe_string(entry, 'type'),
3885 'currency': currency['code'],
3886 'amount': self.parse_number(amount),
3887 'before': self.parse_number(before),
3888 'after': self.parse_number(after),
3889 'status': self.safe_string(entry, 'status'),
3890 'fee': fee,
3891 'info': info,
3892 }
3893
3894 def safe_currency_structure(self, currency: object):
3895 # derive data from networks: deposit, withdraw, active, fee, limits, precision

Callers 15

parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80
parse_ledger_entryMethod · 0.80

Calls 11

safe_currencyMethod · 0.95
safe_stringMethod · 0.95
safe_valueMethod · 0.95
safe_numberMethod · 0.95
safe_integerMethod · 0.95
safe_dictMethod · 0.95
iso8601Method · 0.95
parse_numberMethod · 0.95
string_subMethod · 0.80
string_addMethod · 0.80
string_gtMethod · 0.80

Tested by

no test coverage detected