ccxt 4.4.29__py2.py3-none-any.whl → 4.4.31__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +1 -1
- ccxt/abstract/alpaca.py +1 -0
- ccxt/abstract/binance.py +9 -0
- ccxt/abstract/binancecoinm.py +9 -0
- ccxt/abstract/binanceus.py +9 -0
- ccxt/abstract/binanceusdm.py +9 -0
- ccxt/ace.py +36 -12
- ccxt/alpaca.py +113 -28
- ccxt/ascendex.py +65 -30
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/ace.py +36 -12
- ccxt/async_support/alpaca.py +113 -28
- ccxt/async_support/ascendex.py +65 -30
- ccxt/async_support/base/exchange.py +3 -3
- ccxt/async_support/bigone.py +71 -27
- ccxt/async_support/binance.py +564 -323
- ccxt/async_support/bingx.py +208 -108
- ccxt/async_support/bit2c.py +34 -12
- ccxt/async_support/bitbank.py +42 -14
- ccxt/async_support/bitbns.py +29 -21
- ccxt/async_support/bitfinex.py +77 -33
- ccxt/async_support/bitfinex2.py +116 -44
- ccxt/async_support/bitflyer.py +54 -18
- ccxt/async_support/bitget.py +277 -145
- ccxt/async_support/bithumb.py +39 -14
- ccxt/async_support/bitmart.py +198 -132
- ccxt/async_support/bitmex.py +90 -30
- ccxt/async_support/bitopro.py +66 -22
- ccxt/async_support/bitrue.py +109 -57
- ccxt/async_support/bitso.py +55 -19
- ccxt/async_support/bitstamp.py +84 -36
- ccxt/async_support/bitteam.py +51 -17
- ccxt/async_support/bitvavo.py +57 -19
- ccxt/async_support/bl3p.py +26 -10
- ccxt/async_support/blockchaincom.py +63 -21
- ccxt/async_support/blofin.py +95 -38
- ccxt/async_support/btcalpha.py +48 -16
- ccxt/async_support/btcbox.py +27 -9
- ccxt/async_support/btcmarkets.py +57 -19
- ccxt/async_support/btcturk.py +36 -12
- ccxt/async_support/bybit.py +251 -95
- ccxt/async_support/cex.py +65 -22
- ccxt/async_support/coinbase.py +138 -56
- ccxt/async_support/coinbaseexchange.py +76 -28
- ccxt/async_support/coinbaseinternational.py +75 -27
- ccxt/async_support/coincatch.py +191 -97
- ccxt/async_support/coincheck.py +33 -11
- ccxt/async_support/coinex.py +212 -101
- ccxt/async_support/coinlist.py +87 -30
- ccxt/async_support/coinmate.py +55 -24
- ccxt/async_support/coinmetro.py +52 -18
- ccxt/async_support/coinone.py +27 -10
- ccxt/async_support/coinsph.py +73 -27
- ccxt/async_support/coinspot.py +25 -9
- ccxt/async_support/cryptocom.py +103 -38
- ccxt/async_support/currencycom.py +70 -23
- ccxt/async_support/delta.py +90 -30
- ccxt/async_support/deribit.py +138 -53
- ccxt/async_support/digifinex.py +114 -51
- ccxt/async_support/exmo.py +104 -45
- ccxt/async_support/gate.py +298 -155
- ccxt/async_support/gemini.py +57 -20
- ccxt/async_support/hashkey.py +151 -66
- ccxt/async_support/hitbtc.py +156 -73
- ccxt/async_support/hollaex.py +76 -25
- ccxt/async_support/htx.py +297 -240
- ccxt/async_support/huobijp.py +1 -0
- ccxt/async_support/hyperliquid.py +203 -42
- ccxt/async_support/idex.py +73 -24
- ccxt/async_support/independentreserve.py +12 -5
- ccxt/async_support/indodax.py +53 -16
- ccxt/async_support/kraken.py +107 -35
- ccxt/async_support/krakenfutures.py +88 -34
- ccxt/async_support/kucoin.py +211 -109
- ccxt/async_support/kucoinfutures.py +119 -42
- ccxt/async_support/kuna.py +80 -39
- ccxt/async_support/latoken.py +70 -33
- ccxt/async_support/lbank.py +90 -39
- ccxt/async_support/luno.py +54 -19
- ccxt/async_support/lykke.py +54 -19
- ccxt/async_support/mercado.py +1 -0
- ccxt/async_support/mexc.py +226 -108
- ccxt/async_support/ndax.py +58 -19
- ccxt/async_support/novadax.py +67 -22
- ccxt/async_support/oceanex.py +58 -19
- ccxt/async_support/okcoin.py +81 -38
- ccxt/async_support/okx.py +270 -109
- ccxt/async_support/onetrading.py +3 -1
- ccxt/async_support/oxfun.py +95 -36
- ccxt/async_support/p2b.py +49 -23
- ccxt/async_support/paradex.py +75 -27
- ccxt/async_support/paymium.py +31 -11
- ccxt/async_support/phemex.py +91 -41
- ccxt/async_support/poloniex.py +80 -30
- ccxt/async_support/poloniexfutures.py +72 -30
- ccxt/async_support/probit.py +64 -22
- ccxt/async_support/timex.py +58 -19
- ccxt/async_support/tokocrypto.py +63 -22
- ccxt/async_support/tradeogre.py +7 -2
- ccxt/async_support/upbit.py +72 -25
- ccxt/async_support/vertex.py +74 -28
- ccxt/async_support/wavesexchange.py +29 -8
- ccxt/async_support/wazirx.py +51 -17
- ccxt/async_support/whitebit.py +105 -41
- ccxt/async_support/woo.py +162 -65
- ccxt/async_support/woofipro.py +118 -49
- ccxt/async_support/xt.py +150 -73
- ccxt/async_support/yobit.py +49 -16
- ccxt/async_support/zaif.py +30 -10
- ccxt/async_support/zonda.py +46 -16
- ccxt/base/exchange.py +34 -34
- ccxt/base/types.py +1 -0
- ccxt/bigone.py +71 -27
- ccxt/binance.py +564 -323
- ccxt/bingx.py +208 -108
- ccxt/bit2c.py +34 -12
- ccxt/bitbank.py +42 -14
- ccxt/bitbns.py +29 -21
- ccxt/bitfinex.py +77 -33
- ccxt/bitfinex2.py +116 -44
- ccxt/bitflyer.py +54 -18
- ccxt/bitget.py +277 -145
- ccxt/bithumb.py +39 -14
- ccxt/bitmart.py +198 -132
- ccxt/bitmex.py +90 -30
- ccxt/bitopro.py +66 -22
- ccxt/bitrue.py +109 -57
- ccxt/bitso.py +55 -19
- ccxt/bitstamp.py +84 -36
- ccxt/bitteam.py +51 -17
- ccxt/bitvavo.py +57 -19
- ccxt/bl3p.py +26 -10
- ccxt/blockchaincom.py +63 -21
- ccxt/blofin.py +95 -38
- ccxt/btcalpha.py +48 -16
- ccxt/btcbox.py +27 -9
- ccxt/btcmarkets.py +57 -19
- ccxt/btcturk.py +36 -12
- ccxt/bybit.py +251 -95
- ccxt/cex.py +65 -22
- ccxt/coinbase.py +138 -56
- ccxt/coinbaseexchange.py +76 -28
- ccxt/coinbaseinternational.py +75 -27
- ccxt/coincatch.py +191 -97
- ccxt/coincheck.py +33 -11
- ccxt/coinex.py +212 -101
- ccxt/coinlist.py +87 -30
- ccxt/coinmate.py +55 -24
- ccxt/coinmetro.py +52 -18
- ccxt/coinone.py +27 -10
- ccxt/coinsph.py +73 -27
- ccxt/coinspot.py +25 -9
- ccxt/cryptocom.py +103 -38
- ccxt/currencycom.py +70 -23
- ccxt/delta.py +90 -30
- ccxt/deribit.py +138 -53
- ccxt/digifinex.py +114 -51
- ccxt/exmo.py +104 -45
- ccxt/gate.py +298 -155
- ccxt/gemini.py +57 -20
- ccxt/hashkey.py +151 -66
- ccxt/hitbtc.py +156 -73
- ccxt/hollaex.py +76 -25
- ccxt/htx.py +297 -240
- ccxt/huobijp.py +1 -0
- ccxt/hyperliquid.py +203 -42
- ccxt/idex.py +73 -24
- ccxt/independentreserve.py +12 -5
- ccxt/indodax.py +53 -16
- ccxt/kraken.py +107 -35
- ccxt/krakenfutures.py +88 -34
- ccxt/kucoin.py +211 -109
- ccxt/kucoinfutures.py +119 -42
- ccxt/kuna.py +80 -39
- ccxt/latoken.py +70 -33
- ccxt/lbank.py +90 -39
- ccxt/luno.py +54 -19
- ccxt/lykke.py +54 -19
- ccxt/mercado.py +1 -0
- ccxt/mexc.py +226 -108
- ccxt/ndax.py +58 -19
- ccxt/novadax.py +67 -22
- ccxt/oceanex.py +58 -19
- ccxt/okcoin.py +81 -38
- ccxt/okx.py +270 -109
- ccxt/onetrading.py +3 -1
- ccxt/oxfun.py +95 -36
- ccxt/p2b.py +49 -23
- ccxt/paradex.py +75 -27
- ccxt/paymium.py +31 -11
- ccxt/phemex.py +91 -41
- ccxt/poloniex.py +80 -30
- ccxt/poloniexfutures.py +72 -30
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/alpaca.py +15 -5
- ccxt/pro/ascendex.py +18 -6
- ccxt/pro/binance.py +200 -119
- ccxt/pro/bingx.py +44 -24
- ccxt/pro/bitfinex.py +13 -5
- ccxt/pro/bitget.py +75 -36
- ccxt/pro/bithumb.py +12 -4
- ccxt/pro/bitmart.py +44 -20
- ccxt/pro/bitmex.py +42 -14
- ccxt/pro/bitopro.py +15 -5
- ccxt/pro/bitrue.py +7 -3
- ccxt/pro/bitvavo.py +51 -17
- ccxt/pro/blockchaincom.py +18 -6
- ccxt/pro/blofin.py +38 -13
- ccxt/pro/bybit.py +100 -42
- ccxt/pro/cex.py +48 -16
- ccxt/pro/coinbase.py +32 -12
- ccxt/pro/coinbaseexchange.py +1 -1
- ccxt/pro/coinbaseinternational.py +34 -14
- ccxt/pro/coincatch.py +54 -19
- ccxt/pro/coincheck.py +6 -2
- ccxt/pro/coinex.py +40 -20
- ccxt/pro/coinone.py +9 -3
- ccxt/pro/cryptocom.py +70 -26
- ccxt/pro/deribit.py +36 -12
- ccxt/pro/exmo.py +10 -4
- ccxt/pro/gate.py +64 -30
- ccxt/pro/gemini.py +21 -7
- ccxt/pro/hashkey.py +26 -8
- ccxt/pro/hitbtc.py +61 -37
- ccxt/pro/hollaex.py +15 -5
- ccxt/pro/htx.py +39 -21
- ccxt/pro/hyperliquid.py +41 -14
- ccxt/pro/kraken.py +49 -17
- ccxt/pro/krakenfutures.py +47 -24
- ccxt/pro/kucoin.py +60 -31
- ccxt/pro/kucoinfutures.py +41 -19
- ccxt/pro/lbank.py +27 -9
- ccxt/pro/luno.py +3 -1
- ccxt/pro/mexc.py +35 -17
- ccxt/pro/ndax.py +12 -4
- ccxt/pro/okcoin.py +18 -6
- ccxt/pro/okx.py +76 -28
- ccxt/pro/onetrading.py +21 -7
- ccxt/pro/oxfun.py +54 -20
- ccxt/pro/p2b.py +23 -11
- ccxt/pro/paradex.py +12 -4
- ccxt/pro/phemex.py +31 -19
- ccxt/pro/poloniex.py +50 -22
- ccxt/pro/poloniexfutures.py +17 -7
- ccxt/pro/probit.py +18 -6
- ccxt/pro/upbit.py +25 -9
- ccxt/pro/vertex.py +20 -6
- ccxt/pro/wazirx.py +21 -7
- ccxt/pro/whitebit.py +25 -9
- ccxt/pro/woo.py +32 -12
- ccxt/pro/woofipro.py +35 -13
- ccxt/pro/xt.py +46 -26
- ccxt/probit.py +64 -22
- ccxt/test/tests_helpers.py +2 -2
- ccxt/timex.py +58 -19
- ccxt/tokocrypto.py +63 -22
- ccxt/tradeogre.py +7 -2
- ccxt/upbit.py +72 -25
- ccxt/vertex.py +74 -28
- ccxt/wavesexchange.py +29 -8
- ccxt/wazirx.py +51 -17
- ccxt/whitebit.py +105 -41
- ccxt/woo.py +162 -65
- ccxt/woofipro.py +118 -49
- ccxt/xt.py +150 -73
- ccxt/yobit.py +49 -16
- ccxt/zaif.py +30 -10
- ccxt/zonda.py +46 -16
- {ccxt-4.4.29.dist-info → ccxt-4.4.31.dist-info}/METADATA +5 -5
- {ccxt-4.4.29.dist-info → ccxt-4.4.31.dist-info}/RECORD +273 -273
- {ccxt-4.4.29.dist-info → ccxt-4.4.31.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.29.dist-info → ccxt-4.4.31.dist-info}/WHEEL +0 -0
- {ccxt-4.4.29.dist-info → ccxt-4.4.31.dist-info}/top_level.txt +0 -0
ccxt/async_support/alpaca.py
CHANGED
@@ -61,6 +61,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
61
61
|
'closeAllPositions': False,
|
62
62
|
'closePosition': False,
|
63
63
|
'createOrder': True,
|
64
|
+
'editOrder': True,
|
64
65
|
'fetchBalance': False,
|
65
66
|
'fetchBidsAsks': False,
|
66
67
|
'fetchClosedOrders': True,
|
@@ -142,6 +143,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
142
143
|
'v2/wallets/transfers',
|
143
144
|
],
|
144
145
|
'put': [
|
146
|
+
'v2/orders/{order_id}',
|
145
147
|
'v2/watchlists/{watchlist_id}',
|
146
148
|
'v2/watchlists:by_name',
|
147
149
|
],
|
@@ -312,7 +314,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
312
314
|
async def fetch_markets(self, params={}) -> List[Market]:
|
313
315
|
"""
|
314
316
|
retrieves data on all markets for alpaca
|
315
|
-
|
317
|
+
|
318
|
+
https://docs.alpaca.markets/reference/get-v2-assets
|
319
|
+
|
316
320
|
:param dict [params]: extra parameters specific to the exchange api endpoint
|
317
321
|
:returns dict[]: an array of objects representing market data
|
318
322
|
"""
|
@@ -436,8 +440,10 @@ class alpaca(Exchange, ImplicitAPI):
|
|
436
440
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
437
441
|
"""
|
438
442
|
get the list of most recent trades for a particular symbol
|
439
|
-
|
440
|
-
|
443
|
+
|
444
|
+
https://docs.alpaca.markets/reference/cryptotrades
|
445
|
+
https://docs.alpaca.markets/reference/cryptolatesttrades
|
446
|
+
|
441
447
|
:param str symbol: unified symbol of the market to fetch trades for
|
442
448
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
443
449
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -506,7 +512,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
506
512
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
507
513
|
"""
|
508
514
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
509
|
-
|
515
|
+
|
516
|
+
https://docs.alpaca.markets/reference/cryptolatestorderbooks
|
517
|
+
|
510
518
|
:param str symbol: unified symbol of the market to fetch the order book for
|
511
519
|
:param int [limit]: the maximum amount of order book entries to return
|
512
520
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -567,8 +575,10 @@ class alpaca(Exchange, ImplicitAPI):
|
|
567
575
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
568
576
|
"""
|
569
577
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
570
|
-
|
571
|
-
|
578
|
+
|
579
|
+
https://docs.alpaca.markets/reference/cryptobars
|
580
|
+
https://docs.alpaca.markets/reference/cryptolatestbars
|
581
|
+
|
572
582
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
573
583
|
:param str timeframe: the length of time each candle represents
|
574
584
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
@@ -679,7 +689,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
679
689
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
680
690
|
"""
|
681
691
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
682
|
-
|
692
|
+
|
693
|
+
https://docs.alpaca.markets/reference/cryptosnapshots-1
|
694
|
+
|
683
695
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
684
696
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
685
697
|
:param str [params.loc]: crypto location, default: us
|
@@ -693,7 +705,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
693
705
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
694
706
|
"""
|
695
707
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
696
|
-
|
708
|
+
|
709
|
+
https://docs.alpaca.markets/reference/cryptosnapshots-1
|
710
|
+
|
697
711
|
:param str[] symbols: unified symbols of the markets to fetch tickers for
|
698
712
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
699
713
|
:param str [params.loc]: crypto location, default: us
|
@@ -800,10 +814,21 @@ class alpaca(Exchange, ImplicitAPI):
|
|
800
814
|
results.append(ticker)
|
801
815
|
return self.filter_by_array(results, 'symbol', symbols)
|
802
816
|
|
817
|
+
def generate_client_order_id(self, params):
|
818
|
+
clientOrderIdprefix = self.safe_string(self.options, 'clientOrderId')
|
819
|
+
uuid = self.uuid()
|
820
|
+
parts = uuid.split('-')
|
821
|
+
random_id = ''.join(parts)
|
822
|
+
defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
|
823
|
+
clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
|
824
|
+
return clientOrderId
|
825
|
+
|
803
826
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
804
827
|
"""
|
805
828
|
create a trade order
|
806
|
-
|
829
|
+
|
830
|
+
https://docs.alpaca.markets/reference/postorder
|
831
|
+
|
807
832
|
:param str symbol: unified symbol of the market to create an order in
|
808
833
|
:param str type: 'market', 'limit' or 'stop_limit'
|
809
834
|
:param str side: 'buy' or 'sell'
|
@@ -836,13 +861,7 @@ class alpaca(Exchange, ImplicitAPI):
|
|
836
861
|
defaultTIF = self.safe_string(self.options, 'defaultTimeInForce')
|
837
862
|
request['time_in_force'] = self.safe_string(params, 'timeInForce', defaultTIF)
|
838
863
|
params = self.omit(params, ['timeInForce', 'triggerPrice'])
|
839
|
-
|
840
|
-
uuid = self.uuid()
|
841
|
-
parts = uuid.split('-')
|
842
|
-
random_id = ''.join(parts)
|
843
|
-
defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
|
844
|
-
clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
|
845
|
-
request['client_order_id'] = clientOrderId
|
864
|
+
request['client_order_id'] = self.generate_client_order_id(params)
|
846
865
|
params = self.omit(params, ['clientOrderId'])
|
847
866
|
order = await self.traderPrivatePostV2Orders(self.extend(request, params))
|
848
867
|
#
|
@@ -886,7 +905,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
886
905
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
887
906
|
"""
|
888
907
|
cancels an open order
|
889
|
-
|
908
|
+
|
909
|
+
https://docs.alpaca.markets/reference/deleteorderbyorderid
|
910
|
+
|
890
911
|
:param str id: order id
|
891
912
|
:param str symbol: unified symbol of the market the order was made in
|
892
913
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -907,7 +928,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
907
928
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
908
929
|
"""
|
909
930
|
cancel all open orders in a market
|
910
|
-
|
931
|
+
|
932
|
+
https://docs.alpaca.markets/reference/deleteallorders
|
933
|
+
|
911
934
|
:param str symbol: alpaca cancelAllOrders cannot setting symbol, it will cancel all open orders
|
912
935
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
913
936
|
:returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
@@ -926,7 +949,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
926
949
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
927
950
|
"""
|
928
951
|
fetches information on an order made by the user
|
929
|
-
|
952
|
+
|
953
|
+
https://docs.alpaca.markets/reference/getorderbyorderid
|
954
|
+
|
930
955
|
:param str id: the order id
|
931
956
|
:param str symbol: unified symbol of the market the order was made in
|
932
957
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -944,7 +969,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
944
969
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
945
970
|
"""
|
946
971
|
fetches information on multiple orders made by the user
|
947
|
-
|
972
|
+
|
973
|
+
https://docs.alpaca.markets/reference/getallorders
|
974
|
+
|
948
975
|
:param str symbol: unified market symbol of the market orders were made in
|
949
976
|
:param int [since]: the earliest time in ms to fetch orders for
|
950
977
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -1014,7 +1041,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1014
1041
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1015
1042
|
"""
|
1016
1043
|
fetch all unfilled currently open orders
|
1017
|
-
|
1044
|
+
|
1045
|
+
https://docs.alpaca.markets/reference/getallorders
|
1046
|
+
|
1018
1047
|
:param str symbol: unified market symbol of the market orders were made in
|
1019
1048
|
:param int [since]: the earliest time in ms to fetch orders for
|
1020
1049
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -1030,7 +1059,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1030
1059
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1031
1060
|
"""
|
1032
1061
|
fetches information on multiple closed orders made by the user
|
1033
|
-
|
1062
|
+
|
1063
|
+
https://docs.alpaca.markets/reference/getallorders
|
1064
|
+
|
1034
1065
|
:param str symbol: unified market symbol of the market orders were made in
|
1035
1066
|
:param int [since]: the earliest time in ms to fetch orders for
|
1036
1067
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -1043,6 +1074,48 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1043
1074
|
}
|
1044
1075
|
return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
1045
1076
|
|
1077
|
+
async def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
|
1078
|
+
"""
|
1079
|
+
edit a trade order
|
1080
|
+
|
1081
|
+
https://docs.alpaca.markets/reference/patchorderbyorderid-1
|
1082
|
+
|
1083
|
+
:param str id: order id
|
1084
|
+
:param str [symbol]: unified symbol of the market to create an order in
|
1085
|
+
:param str [type]: 'market', 'limit' or 'stop_limit'
|
1086
|
+
:param str [side]: 'buy' or 'sell'
|
1087
|
+
:param float [amount]: how much of the currency you want to trade in units of the base currency
|
1088
|
+
:param float [price]: the price for the order, in units of the quote currency, ignored in market orders
|
1089
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1090
|
+
:param str [params.triggerPrice]: the price to trigger a stop order
|
1091
|
+
:param str [params.timeInForce]: for crypto trading either 'gtc' or 'ioc' can be used
|
1092
|
+
:param str [params.clientOrderId]: a unique identifier for the order, automatically generated if not sent
|
1093
|
+
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
1094
|
+
"""
|
1095
|
+
await self.load_markets()
|
1096
|
+
request: dict = {
|
1097
|
+
'order_id': id,
|
1098
|
+
}
|
1099
|
+
market = None
|
1100
|
+
if symbol is not None:
|
1101
|
+
market = self.market(symbol)
|
1102
|
+
if amount is not None:
|
1103
|
+
request['qty'] = self.amount_to_precision(symbol, amount)
|
1104
|
+
triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price'])
|
1105
|
+
if triggerPrice is not None:
|
1106
|
+
request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
|
1107
|
+
params = self.omit(params, 'triggerPrice')
|
1108
|
+
if price is not None:
|
1109
|
+
request['limit_price'] = self.price_to_precision(symbol, price)
|
1110
|
+
timeInForce = None
|
1111
|
+
timeInForce, params = self.handle_option_and_params_2(params, 'editOrder', 'timeInForce', 'defaultTimeInForce')
|
1112
|
+
if timeInForce is not None:
|
1113
|
+
request['time_in_force'] = timeInForce
|
1114
|
+
request['client_order_id'] = self.generate_client_order_id(params)
|
1115
|
+
params = self.omit(params, ['clientOrderId'])
|
1116
|
+
response = await self.traderPrivatePatchV2OrdersOrderId(self.extend(request, params))
|
1117
|
+
return self.parse_order(response, market)
|
1118
|
+
|
1046
1119
|
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1047
1120
|
#
|
1048
1121
|
# {
|
@@ -1146,7 +1219,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1146
1219
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1147
1220
|
"""
|
1148
1221
|
fetch all trades made by the user
|
1149
|
-
|
1222
|
+
|
1223
|
+
https://docs.alpaca.markets/reference/getaccountactivitiesbyactivitytype-1
|
1224
|
+
|
1150
1225
|
:param str [symbol]: unified market symbol
|
1151
1226
|
:param int [since]: the earliest time in ms to fetch trades for
|
1152
1227
|
:param int [limit]: the maximum number of trade structures to retrieve
|
@@ -1250,7 +1325,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1250
1325
|
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
1251
1326
|
"""
|
1252
1327
|
fetch the deposit address for a currency associated with self account
|
1253
|
-
|
1328
|
+
|
1329
|
+
https://docs.alpaca.markets/reference/listcryptofundingwallets
|
1330
|
+
|
1254
1331
|
:param str code: unified currency code
|
1255
1332
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1256
1333
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
@@ -1292,7 +1369,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1292
1369
|
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
|
1293
1370
|
"""
|
1294
1371
|
make a withdrawal
|
1295
|
-
|
1372
|
+
|
1373
|
+
https://docs.alpaca.markets/reference/createcryptotransferforaccount
|
1374
|
+
|
1296
1375
|
:param str code: unified currency code
|
1297
1376
|
:param float amount: the amount to withdraw
|
1298
1377
|
:param str address: the address to withdraw to
|
@@ -1367,7 +1446,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1367
1446
|
async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1368
1447
|
"""
|
1369
1448
|
fetch history of deposits and withdrawals
|
1370
|
-
|
1449
|
+
|
1450
|
+
https://docs.alpaca.markets/reference/listcryptofundingtransfers
|
1451
|
+
|
1371
1452
|
:param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
|
1372
1453
|
:param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
|
1373
1454
|
:param int [limit]: max number of deposit/withdrawals to return, default is None
|
@@ -1379,7 +1460,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1379
1460
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1380
1461
|
"""
|
1381
1462
|
fetch all deposits made to an account
|
1382
|
-
|
1463
|
+
|
1464
|
+
https://docs.alpaca.markets/reference/listcryptofundingtransfers
|
1465
|
+
|
1383
1466
|
:param str [code]: unified currency code
|
1384
1467
|
:param int [since]: the earliest time in ms to fetch deposits for
|
1385
1468
|
:param int [limit]: the maximum number of deposit structures to retrieve
|
@@ -1391,7 +1474,9 @@ class alpaca(Exchange, ImplicitAPI):
|
|
1391
1474
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1392
1475
|
"""
|
1393
1476
|
fetch all withdrawals made from an account
|
1394
|
-
|
1477
|
+
|
1478
|
+
https://docs.alpaca.markets/reference/listcryptofundingtransfers
|
1479
|
+
|
1395
1480
|
:param str [code]: unified currency code
|
1396
1481
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
1397
1482
|
:param int [limit]: the maximum number of withdrawal structures to retrieve
|
ccxt/async_support/ascendex.py
CHANGED
@@ -802,9 +802,11 @@ class ascendex(Exchange, ImplicitAPI):
|
|
802
802
|
async def fetch_balance(self, params={}) -> Balances:
|
803
803
|
"""
|
804
804
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
805
|
-
|
806
|
-
|
807
|
-
|
805
|
+
|
806
|
+
https://ascendex.github.io/ascendex-pro-api/#cash-account-balance
|
807
|
+
https://ascendex.github.io/ascendex-pro-api/#margin-account-balance
|
808
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#position
|
809
|
+
|
808
810
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
809
811
|
:param str [params.type]: wallet type, 'spot', 'margin', or 'swap'
|
810
812
|
:param str [params.marginMode]: 'cross' or None, for spot margin trading, value of 'isolated' is invalid
|
@@ -1013,8 +1015,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1013
1015
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
1014
1016
|
"""
|
1015
1017
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
1016
|
-
|
1017
|
-
|
1018
|
+
|
1019
|
+
https://ascendex.github.io/ascendex-pro-api/#ticker
|
1020
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#ticker
|
1021
|
+
|
1018
1022
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
1019
1023
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1020
1024
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -1172,7 +1176,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1172
1176
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
1173
1177
|
"""
|
1174
1178
|
get the list of most recent trades for a particular symbol
|
1175
|
-
|
1179
|
+
|
1180
|
+
https://ascendex.github.io/ascendex-pro-api/#market-trades
|
1181
|
+
|
1176
1182
|
:param str symbol: unified symbol of the market to fetch trades for
|
1177
1183
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
1178
1184
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -1438,7 +1444,7 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1438
1444
|
|
1439
1445
|
def create_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
1440
1446
|
"""
|
1441
|
-
|
1447
|
+
@ignore
|
1442
1448
|
helper function to build request
|
1443
1449
|
:param str symbol: unified symbol of the market to create an order in
|
1444
1450
|
:param str type: 'market' or 'limit'
|
@@ -1511,8 +1517,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1511
1517
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
1512
1518
|
"""
|
1513
1519
|
create a trade order on the exchange
|
1514
|
-
|
1515
|
-
|
1520
|
+
|
1521
|
+
https://ascendex.github.io/ascendex-pro-api/#place-order
|
1522
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#new-order
|
1523
|
+
|
1516
1524
|
:param str symbol: unified CCXT market symbol
|
1517
1525
|
:param str type: "limit" or "market"
|
1518
1526
|
:param str side: "buy" or "sell"
|
@@ -1607,8 +1615,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1607
1615
|
async def create_orders(self, orders: List[OrderRequest], params={}):
|
1608
1616
|
"""
|
1609
1617
|
create a list of trade orders
|
1610
|
-
|
1611
|
-
|
1618
|
+
|
1619
|
+
https://ascendex.github.io/ascendex-pro-api/#place-batch-orders
|
1620
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#place-batch-orders
|
1621
|
+
|
1612
1622
|
:param Array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
1613
1623
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1614
1624
|
:param str [params.timeInForce]: "GTC", "IOC", "FOK", or "PO"
|
@@ -1693,8 +1703,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1693
1703
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
1694
1704
|
"""
|
1695
1705
|
fetches information on an order made by the user
|
1696
|
-
|
1697
|
-
|
1706
|
+
|
1707
|
+
https://ascendex.github.io/ascendex-pro-api/#query-order
|
1708
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#query-order-by-id
|
1709
|
+
|
1698
1710
|
:param str id: the order id
|
1699
1711
|
:param str symbol: unified symbol of the market the order was made in
|
1700
1712
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -1796,8 +1808,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1796
1808
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1797
1809
|
"""
|
1798
1810
|
fetch all unfilled currently open orders
|
1799
|
-
|
1800
|
-
|
1811
|
+
|
1812
|
+
https://ascendex.github.io/ascendex-pro-api/#list-open-orders
|
1813
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#list-open-orders
|
1814
|
+
|
1801
1815
|
:param str symbol: unified market symbol
|
1802
1816
|
:param int [since]: the earliest time in ms to fetch open orders for
|
1803
1817
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
@@ -1907,8 +1921,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
1907
1921
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1908
1922
|
"""
|
1909
1923
|
fetches information on multiple closed orders made by the user
|
1910
|
-
|
1911
|
-
|
1924
|
+
|
1925
|
+
https://ascendex.github.io/ascendex-pro-api/#list-history-orders-v2
|
1926
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#list-current-history-orders
|
1927
|
+
|
1912
1928
|
:param str symbol: unified market symbol of the market orders were made in
|
1913
1929
|
:param int [since]: the earliest time in ms to fetch orders for
|
1914
1930
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -2070,8 +2086,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2070
2086
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
2071
2087
|
"""
|
2072
2088
|
cancels an open order
|
2073
|
-
|
2074
|
-
|
2089
|
+
|
2090
|
+
https://ascendex.github.io/ascendex-pro-api/#cancel-order
|
2091
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#cancel-order
|
2092
|
+
|
2075
2093
|
:param str id: order id
|
2076
2094
|
:param str symbol: unified symbol of the market the order was made in
|
2077
2095
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -2178,8 +2196,10 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2178
2196
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
2179
2197
|
"""
|
2180
2198
|
cancel all open orders
|
2181
|
-
|
2182
|
-
|
2199
|
+
|
2200
|
+
https://ascendex.github.io/ascendex-pro-api/#cancel-all-orders
|
2201
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#cancel-all-open-orders
|
2202
|
+
|
2183
2203
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
2184
2204
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2185
2205
|
:returns dict[]: a list with a single `order structure <https://docs.ccxt.com/#/?id=order-structure>` with the response assigned to the info property
|
@@ -2279,7 +2299,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2279
2299
|
async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
|
2280
2300
|
"""
|
2281
2301
|
fetch the deposit address for a currency associated with self account
|
2282
|
-
|
2302
|
+
|
2303
|
+
https://ascendex.github.io/ascendex-pro-api/#query-deposit-addresses
|
2304
|
+
|
2283
2305
|
:param str code: unified currency code
|
2284
2306
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2285
2307
|
:param str [params.network]: unified network code for deposit chain
|
@@ -2770,7 +2792,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2770
2792
|
async def set_leverage(self, leverage: Int, symbol: Str = None, params={}):
|
2771
2793
|
"""
|
2772
2794
|
set the level of leverage for a market
|
2773
|
-
|
2795
|
+
|
2796
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#change-contract-leverage
|
2797
|
+
|
2774
2798
|
:param float leverage: the rate of leverage
|
2775
2799
|
:param str symbol: unified market symbol
|
2776
2800
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -2797,7 +2821,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2797
2821
|
async def set_margin_mode(self, marginMode: str, symbol: Str = None, params={}):
|
2798
2822
|
"""
|
2799
2823
|
set margin mode to 'cross' or 'isolated'
|
2800
|
-
|
2824
|
+
|
2825
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#change-margin-type
|
2826
|
+
|
2801
2827
|
:param str marginMode: 'cross' or 'isolated'
|
2802
2828
|
:param str symbol: unified market symbol
|
2803
2829
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -2894,14 +2920,15 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2894
2920
|
# }
|
2895
2921
|
#
|
2896
2922
|
marginRequirements = self.safe_list(info, 'marginRequirements', [])
|
2897
|
-
|
2898
|
-
market = self.safe_market(
|
2923
|
+
marketId = self.safe_string(info, 'symbol')
|
2924
|
+
market = self.safe_market(marketId, market)
|
2899
2925
|
tiers = []
|
2900
2926
|
for i in range(0, len(marginRequirements)):
|
2901
2927
|
tier = marginRequirements[i]
|
2902
2928
|
initialMarginRate = self.safe_string(tier, 'initialMarginRate')
|
2903
2929
|
tiers.append({
|
2904
2930
|
'tier': self.sum(i, 1),
|
2931
|
+
'symbol': self.safe_symbol(marketId, market, None, 'contract'),
|
2905
2932
|
'currency': market['quote'],
|
2906
2933
|
'minNotional': self.safe_number(tier, 'positionNotionalLowerBound'),
|
2907
2934
|
'maxNotional': self.safe_number(tier, 'positionNotionalUpperBound'),
|
@@ -2962,7 +2989,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
2962
2989
|
async def fetch_deposit_withdraw_fees(self, codes: Strings = None, params={}):
|
2963
2990
|
"""
|
2964
2991
|
fetch deposit and withdraw fees
|
2965
|
-
|
2992
|
+
|
2993
|
+
https://ascendex.github.io/ascendex-pro-api/#list-all-assets
|
2994
|
+
|
2966
2995
|
:param str[]|None codes: list of unified currency codes
|
2967
2996
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2968
2997
|
:returns dict: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
|
@@ -3039,7 +3068,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
3039
3068
|
async def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
3040
3069
|
"""
|
3041
3070
|
fetch the history of funding payments paid and received on self account
|
3042
|
-
|
3071
|
+
|
3072
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#funding-payment-history
|
3073
|
+
|
3043
3074
|
:param str [symbol]: unified market symbol
|
3044
3075
|
:param int [since]: the earliest time in ms to fetch funding history for
|
3045
3076
|
:param int [limit]: the maximum number of funding history structures to retrieve
|
@@ -3111,7 +3142,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
3111
3142
|
async def fetch_margin_modes(self, symbols: Strings = None, params={}) -> MarginModes:
|
3112
3143
|
"""
|
3113
3144
|
fetches the set margin mode of the user
|
3114
|
-
|
3145
|
+
|
3146
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#position
|
3147
|
+
|
3115
3148
|
:param str[] [symbols]: a list of unified market symbols
|
3116
3149
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3117
3150
|
:returns dict: a list of `margin mode structures <https://docs.ccxt.com/#/?id=margin-mode-structure>`
|
@@ -3180,7 +3213,9 @@ class ascendex(Exchange, ImplicitAPI):
|
|
3180
3213
|
async def fetch_leverages(self, symbols: Strings = None, params={}) -> Leverages:
|
3181
3214
|
"""
|
3182
3215
|
fetch the set leverage for all contract markets
|
3183
|
-
|
3216
|
+
|
3217
|
+
https://ascendex.github.io/ascendex-futures-pro-api-v2/#position
|
3218
|
+
|
3184
3219
|
:param str[] [symbols]: a list of unified market symbols
|
3185
3220
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
3186
3221
|
:returns dict: a list of `leverage structures <https://docs.ccxt.com/#/?id=leverage-structure>`
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.31'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1766,7 +1766,7 @@ class Exchange(BaseExchange):
|
|
1766
1766
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
1767
1767
|
:param int [limit]: the maximum amount of candles to fetch
|
1768
1768
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1769
|
-
|
1769
|
+
@returns {} A list of candles ordered, open, high, low, close, None
|
1770
1770
|
"""
|
1771
1771
|
if self.has['fetchIndexOHLCV']:
|
1772
1772
|
request: dict = {
|
@@ -1796,7 +1796,7 @@ class Exchange(BaseExchange):
|
|
1796
1796
|
|
1797
1797
|
async def fetch_transactions(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1798
1798
|
"""
|
1799
|
-
|
1799
|
+
@deprecated
|
1800
1800
|
*DEPRECATED* use fetchDepositsWithdrawals instead
|
1801
1801
|
:param str code: unified currency code for the currency of the deposit/withdrawals, default is None
|
1802
1802
|
:param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
|