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

Method parse_dust_trade

python/ccxt/binance.py:8058–8123  ·  view source on GitHub ↗
(self, trade, market: Market = None)

Source from the content-addressed store, hash-verified

8056 return self.filter_by_since_limit(trades, since, limit)
8057
8058 def parse_dust_trade(self, trade, market: Market = None):
8059 #
8060 # {
8061 # "fromAsset": "USDT",
8062 # "amount": "0.009669",
8063 # "transferedAmount": "0.00002992",
8064 # "serviceChargeAmount": "0.00000059",
8065 # "operateTime": "1628076010000",
8066 # "transId": "71416578712",
8067 # "isDustTrade": True
8068 # }
8069 #
8070 orderId = self.safe_string(trade, 'transId')
8071 timestamp = self.safe_integer(trade, 'operateTime')
8072 currencyId = self.safe_string(trade, 'fromAsset')
8073 tradedCurrency = self.safe_currency_code(currencyId)
8074 bnb = self.currency('BNB')
8075 earnedCurrency = bnb['code']
8076 applicantSymbol = earnedCurrency + '/' + tradedCurrency
8077 tradedCurrencyIsQuote = False
8078 if applicantSymbol in self.markets:
8079 tradedCurrencyIsQuote = True
8080 feeCostString = self.safe_string(trade, 'serviceChargeAmount')
8081 fee = {
8082 'currency': earnedCurrency,
8083 'cost': self.parse_number(feeCostString),
8084 }
8085 symbol = None
8086 amountString = None
8087 costString = None
8088 side = None
8089 if tradedCurrencyIsQuote:
8090 symbol = applicantSymbol
8091 amountString = self.safe_string(trade, 'transferedAmount')
8092 costString = self.safe_string(trade, 'amount')
8093 side = 'buy'
8094 else:
8095 symbol = tradedCurrency + '/' + earnedCurrency
8096 amountString = self.safe_string(trade, 'amount')
8097 costString = self.safe_string(trade, 'transferedAmount')
8098 side = 'sell'
8099 priceString = None
8100 if costString is not None:
8101 if amountString:
8102 priceString = Precise.string_div(costString, amountString)
8103 id = None
8104 amount = self.parse_number(amountString)
8105 price = self.parse_number(priceString)
8106 cost = self.parse_number(costString)
8107 type = None
8108 takerOrMaker = None
8109 return {
8110 'id': id,
8111 'timestamp': timestamp,
8112 'datetime': self.iso8601(timestamp),
8113 'symbol': symbol,
8114 'order': orderId,
8115 'type': type,

Callers 1

parse_tradeMethod · 0.95

Calls 7

safe_stringMethod · 0.80
safe_integerMethod · 0.80
parse_numberMethod · 0.80
string_divMethod · 0.80
safe_currency_codeMethod · 0.45
currencyMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected