bitget 0.0.74__py3-none-any.whl → 0.0.76__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.
- bitget/ccxt/__init__.py +1 -1
- bitget/ccxt/async_support/__init__.py +1 -1
- bitget/ccxt/async_support/base/exchange.py +9 -4
- bitget/ccxt/async_support/base/ws/future.py +5 -3
- bitget/ccxt/async_support/bitget.py +30 -143
- bitget/ccxt/base/decimal_to_precision.py +16 -10
- bitget/ccxt/base/errors.py +6 -0
- bitget/ccxt/base/exchange.py +60 -17
- bitget/ccxt/bitget.py +30 -143
- bitget/ccxt/pro/__init__.py +1 -1
- {bitget-0.0.74.dist-info → bitget-0.0.76.dist-info}/METADATA +1 -1
- {bitget-0.0.74.dist-info → bitget-0.0.76.dist-info}/RECORD +13 -13
- {bitget-0.0.74.dist-info → bitget-0.0.76.dist-info}/WHEEL +0 -0
bitget/ccxt/__init__.py
CHANGED
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
|
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
29
|
-
__version__ = '4.4.
|
29
|
+
__version__ = '4.4.96'
|
30
30
|
|
31
31
|
# ----------------------------------------------------------------------------
|
32
32
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.96'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -231,6 +231,8 @@ class Exchange(BaseExchange):
|
|
231
231
|
self.last_json_response = json_response
|
232
232
|
if self.verbose:
|
233
233
|
self.log("\nfetch Response:", self.id, method, url, http_status_code, "ResponseHeaders:", headers, "ResponseBody:", http_response)
|
234
|
+
if json_response and not isinstance(json_response, list) and self.returnResponseHeaders:
|
235
|
+
json_response['responseHeaders'] = headers
|
234
236
|
self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response)
|
235
237
|
|
236
238
|
except socket.gaierror as e:
|
@@ -668,6 +670,9 @@ class Exchange(BaseExchange):
|
|
668
670
|
async def un_watch_order_book_for_symbols(self, symbols: List[str], params={}):
|
669
671
|
raise NotSupported(self.id + ' unWatchOrderBookForSymbols() is not supported yet')
|
670
672
|
|
673
|
+
async def un_watch_positions(self, symbols: Strings = None, params={}):
|
674
|
+
raise NotSupported(self.id + ' unWatchPositions() is not supported yet')
|
675
|
+
|
671
676
|
async def fetch_deposit_addresses(self, codes: Strings = None, params={}):
|
672
677
|
raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
|
673
678
|
|
@@ -1596,10 +1601,10 @@ class Exchange(BaseExchange):
|
|
1596
1601
|
"""
|
1597
1602
|
raise NotSupported(self.id + ' fetchDepositsWithdrawals() is not supported yet')
|
1598
1603
|
|
1599
|
-
async def fetch_deposits(self,
|
1604
|
+
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1600
1605
|
raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
|
1601
1606
|
|
1602
|
-
async def fetch_withdrawals(self,
|
1607
|
+
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1603
1608
|
raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
|
1604
1609
|
|
1605
1610
|
async def fetch_deposits_ws(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
@@ -1892,7 +1897,7 @@ class Exchange(BaseExchange):
|
|
1892
1897
|
calls = 0
|
1893
1898
|
result = []
|
1894
1899
|
errors = 0
|
1895
|
-
until = self.
|
1900
|
+
until = self.safe_integer_n(params, ['until', 'untill', 'till']) # do not omit it from params here
|
1896
1901
|
maxEntriesPerRequest, params = self.handle_max_entries_per_request_and_params(method, maxEntriesPerRequest, params)
|
1897
1902
|
if (paginationDirection == 'forward'):
|
1898
1903
|
if since is None:
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import asyncio
|
2
2
|
|
3
|
-
|
3
|
+
# Test by running:
|
4
|
+
# - python python/ccxt/pro/test/base/test_close.py
|
5
|
+
# - python python/ccxt/pro/test/base/test_future.py
|
4
6
|
class Future(asyncio.Future):
|
5
7
|
|
6
8
|
def resolve(self, result=None):
|
@@ -30,14 +32,14 @@ class Future(asyncio.Future):
|
|
30
32
|
if err:
|
31
33
|
exceptions.append(err)
|
32
34
|
# if any exceptions return with first exception
|
35
|
+
if future.cancelled():
|
36
|
+
return
|
33
37
|
if len(exceptions) > 0:
|
34
38
|
future.set_exception(exceptions[0])
|
35
39
|
# else return first result
|
36
40
|
elif cancelled:
|
37
41
|
future.cancel()
|
38
42
|
else:
|
39
|
-
if future.cancelled():
|
40
|
-
return
|
41
43
|
first_result = list(complete)[0].result()
|
42
44
|
future.set_result(first_result)
|
43
45
|
task.add_done_callback(callback)
|
@@ -4112,82 +4112,35 @@ class bitget(Exchange, ImplicitAPI):
|
|
4112
4112
|
# "result": "success"
|
4113
4113
|
# }
|
4114
4114
|
#
|
4115
|
-
# spot: fetchOrder
|
4116
|
-
#
|
4117
|
-
# {
|
4118
|
-
# "userId": "7264631750",
|
4119
|
-
# "symbol": "BTCUSDT",
|
4120
|
-
# "orderId": "1111461743123927040",
|
4121
|
-
# "clientOid": "63f95110-93b5-4309-8f77-46339f1bcf3c",
|
4122
|
-
# "price": "25000.0000000000000000",
|
4123
|
-
# "size": "0.0002000000000000",
|
4124
|
-
# "orderType": "limit",
|
4125
|
-
# "side": "buy",
|
4126
|
-
# "status": "live",
|
4127
|
-
# "priceAvg": "0",
|
4128
|
-
# "baseVolume": "0.0000000000000000",
|
4129
|
-
# "quoteVolume": "0.0000000000000000",
|
4130
|
-
# "enterPointSource": "API",
|
4131
|
-
# "feeDetail": "",
|
4132
|
-
# "orderSource": "normal",
|
4133
|
-
# "cTime": "1700719050198",
|
4134
|
-
# "uTime": "1700719050198"
|
4135
|
-
# }
|
4136
|
-
#
|
4137
|
-
# swap and future: fetchOrder
|
4138
|
-
#
|
4139
|
-
# {
|
4140
|
-
# "symbol": "BTCUSDT",
|
4141
|
-
# "size": "0.001",
|
4142
|
-
# "orderId": "1111465253393825792",
|
4143
|
-
# "clientOid": "1111465253431574529",
|
4144
|
-
# "baseVolume": "0",
|
4145
|
-
# "fee": "0",
|
4146
|
-
# "price": "27000",
|
4147
|
-
# "priceAvg": "",
|
4148
|
-
# "state": "live",
|
4149
|
-
# "side": "buy",
|
4150
|
-
# "force": "gtc",
|
4151
|
-
# "totalProfits": "0",
|
4152
|
-
# "posSide": "long",
|
4153
|
-
# "marginCoin": "USDT",
|
4154
|
-
# "presetStopSurplusPrice": "",
|
4155
|
-
# "presetStopLossPrice": "",
|
4156
|
-
# "quoteVolume": "0",
|
4157
|
-
# "orderType": "limit",
|
4158
|
-
# "leverage": "20",
|
4159
|
-
# "marginMode": "crossed",
|
4160
|
-
# "reduceOnly": "NO",
|
4161
|
-
# "enterPointSource": "API",
|
4162
|
-
# "tradeSide": "open",
|
4163
|
-
# "posMode": "hedge_mode",
|
4164
|
-
# "orderSource": "normal",
|
4165
|
-
# "cTime": "1700719887120",
|
4166
|
-
# "uTime": "1700719887120"
|
4167
|
-
# }
|
4168
|
-
#
|
4169
|
-
# spot: fetchOpenOrders
|
4115
|
+
# spot: fetchOrder, fetchOpenOrders, fetchCanceledAndClosedOrders
|
4170
4116
|
#
|
4171
4117
|
# {
|
4172
4118
|
# "userId": "7264631750",
|
4173
4119
|
# "symbol": "BTCUSDT",
|
4174
4120
|
# "orderId": "1111499608327360513",
|
4175
4121
|
# "clientOid": "d0d4dad5-18d0-4869-a074-ec40bb47cba6",
|
4176
|
-
# "
|
4177
|
-
# "
|
4122
|
+
# "size": "0.0002000000000000", # COST for 'buy market' order! AMOUNT in all other cases
|
4123
|
+
# "price": "0", # in fetchOrder: 0 for market order, otherwise limit price(field not present in fetchOpenOrders
|
4178
4124
|
# "orderType": "limit",
|
4179
4125
|
# "side": "buy",
|
4180
4126
|
# "status": "live",
|
4181
4127
|
# "basePrice": "0",
|
4182
|
-
# "
|
4183
|
-
# "
|
4128
|
+
# "priceAvg": "25000.0000000000000000", # 0 if nothing filled
|
4129
|
+
# "baseVolume": "0.0000000000000000", # 0 if nothing filled
|
4130
|
+
# "quoteVolume": "0.0000000000000000", # 0 if nothing filled
|
4184
4131
|
# "enterPointSource": "WEB",
|
4185
4132
|
# "orderSource": "normal",
|
4186
4133
|
# "cTime": "1700728077966",
|
4187
4134
|
# "uTime": "1700728077966"
|
4135
|
+
# "feeDetail": "{\\"newFees\\":{\\"c\\":0,\\"d\\":0,\\"deduction\\":false,\\"r\\":-0.0064699886,\\"t\\":-0.0064699886,\\"totalDeductionFee\\":0},\\"USDT\\":{\\"deduction\\":false,\\"feeCoinCode\\":\\"USDT\\",\\"totalDeductionFee\\":0,\\"totalFee\\":-0.0064699886000000}}", # might not be present in fetchOpenOrders
|
4136
|
+
# "triggerPrice": null,
|
4137
|
+
# "tpslType": "normal",
|
4138
|
+
# "quoteCoin": "USDT", # not present in fetchOpenOrders
|
4139
|
+
# "baseCoin": "DOT", # not present in fetchOpenOrders
|
4140
|
+
# "cancelReason": "", # not present in fetchOpenOrders
|
4188
4141
|
# }
|
4189
4142
|
#
|
4190
|
-
# spot
|
4143
|
+
# spot trigger: fetchOpenOrders, fetchCanceledAndClosedOrders
|
4191
4144
|
#
|
4192
4145
|
# {
|
4193
4146
|
# "orderId": "1111503385931620352",
|
@@ -4228,18 +4181,19 @@ class bitget(Exchange, ImplicitAPI):
|
|
4228
4181
|
# "uTime": "1700729691866"
|
4229
4182
|
# }
|
4230
4183
|
#
|
4231
|
-
# swap: fetchOpenOrders, fetchCanceledAndClosedOrders
|
4184
|
+
# swap and future: fetchOrder, fetchOpenOrders, fetchCanceledAndClosedOrders
|
4232
4185
|
#
|
4233
4186
|
# {
|
4234
4187
|
# "symbol": "BTCUSDT",
|
4235
|
-
# "size": "0.
|
4236
|
-
# "orderId": "
|
4237
|
-
# "clientOid": "
|
4188
|
+
# "size": "0.001",
|
4189
|
+
# "orderId": "1111465253393825792",
|
4190
|
+
# "clientOid": "1111465253431574529",
|
4238
4191
|
# "baseVolume": "0",
|
4239
4192
|
# "fee": "0",
|
4240
|
-
# "price": "
|
4193
|
+
# "price": "27000",
|
4241
4194
|
# "priceAvg": "",
|
4242
|
-
# "
|
4195
|
+
# "state": "live",
|
4196
|
+
# # "status": "live", # key for fetchOpenOrders, fetchClosedOrders
|
4243
4197
|
# "side": "buy",
|
4244
4198
|
# "force": "gtc",
|
4245
4199
|
# "totalProfits": "0",
|
@@ -4248,7 +4202,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
4248
4202
|
# "quoteVolume": "0",
|
4249
4203
|
# "leverage": "20",
|
4250
4204
|
# "marginMode": "crossed",
|
4251
|
-
# "enterPointSource": "
|
4205
|
+
# "enterPointSource": "API",
|
4252
4206
|
# "tradeSide": "open",
|
4253
4207
|
# "posMode": "hedge_mode",
|
4254
4208
|
# "orderType": "limit",
|
@@ -4256,94 +4210,22 @@ class bitget(Exchange, ImplicitAPI):
|
|
4256
4210
|
# "presetStopSurplusPrice": "",
|
4257
4211
|
# "presetStopLossPrice": "",
|
4258
4212
|
# "reduceOnly": "NO",
|
4259
|
-
# "cTime": "
|
4260
|
-
# "uTime": "
|
4261
|
-
# }
|
4213
|
+
# "cTime": "1700719887120",
|
4214
|
+
# "uTime": "1700719887120"
|
4262
4215
|
#
|
4263
|
-
# swap
|
4216
|
+
# for swap trigger order, the additional below fields are present:
|
4264
4217
|
#
|
4265
|
-
# {
|
4266
4218
|
# "planType": "normal_plan",
|
4267
|
-
# "symbol": "BTCUSDT",
|
4268
|
-
# "size": "0.001",
|
4269
|
-
# "orderId": "1111491399869075457",
|
4270
|
-
# "clientOid": "1111491399869075456",
|
4271
|
-
# "price": "27000",
|
4272
4219
|
# "callbackRatio": "",
|
4273
4220
|
# "triggerPrice": "24000",
|
4274
4221
|
# "triggerType": "mark_price",
|
4275
4222
|
# "planStatus": "live",
|
4276
|
-
# "side": "buy",
|
4277
|
-
# "posSide": "long",
|
4278
|
-
# "marginCoin": "USDT",
|
4279
|
-
# "marginMode": "crossed",
|
4280
|
-
# "enterPointSource": "API",
|
4281
|
-
# "tradeSide": "open",
|
4282
|
-
# "posMode": "hedge_mode",
|
4283
|
-
# "orderType": "limit",
|
4284
|
-
# "stopSurplusTriggerPrice": "",
|
4285
|
-
# "stopSurplusExecutePrice": "",
|
4286
|
-
# "stopSurplusTriggerType": "fill_price",
|
4287
|
-
# "stopLossTriggerPrice": "",
|
4288
|
-
# "stopLossExecutePrice": "",
|
4289
|
-
# "stopLossTriggerType": "fill_price",
|
4290
|
-
# "cTime": "1700726120917",
|
4291
|
-
# "uTime": "1700726120917"
|
4292
|
-
# }
|
4293
|
-
#
|
4294
|
-
# spot: fetchCanceledAndClosedOrders
|
4295
|
-
#
|
4296
|
-
# {
|
4297
|
-
# "userId": "7264631750",
|
4298
|
-
# "symbol": "BTCUSDT",
|
4299
|
-
# "orderId": "1111499608327360513",
|
4300
|
-
# "clientOid": "d0d4dad5-18d0-4869-a074-ec40bb47cba6",
|
4301
|
-
# "price": "25000.0000000000000000",
|
4302
|
-
# "size": "0.0002000000000000",
|
4303
|
-
# "orderType": "limit",
|
4304
|
-
# "side": "buy",
|
4305
|
-
# "status": "cancelled",
|
4306
|
-
# "priceAvg": "0",
|
4307
|
-
# "baseVolume": "0.0000000000000000",
|
4308
|
-
# "quoteVolume": "0.0000000000000000",
|
4309
|
-
# "enterPointSource": "WEB",
|
4310
|
-
# "feeDetail": "",
|
4311
|
-
# "orderSource": "normal",
|
4312
|
-
# "cTime": "1700728077966",
|
4313
|
-
# "uTime": "1700728911471"
|
4314
|
-
# }
|
4315
|
-
#
|
4316
|
-
# swap stop: fetchCanceledAndClosedOrders
|
4317
|
-
#
|
4318
|
-
# {
|
4319
|
-
# "planType": "normal_plan",
|
4320
|
-
# "symbol": "BTCUSDT",
|
4321
|
-
# "size": "0.001",
|
4322
|
-
# "orderId": "1111491399869075457",
|
4323
|
-
# "clientOid": "1111491399869075456",
|
4324
|
-
# "planStatus": "cancelled",
|
4325
|
-
# "price": "27000",
|
4326
|
-
# "feeDetail": null,
|
4327
|
-
# "baseVolume": "0",
|
4328
|
-
# "callbackRatio": "",
|
4329
|
-
# "triggerPrice": "24000",
|
4330
|
-
# "triggerType": "mark_price",
|
4331
|
-
# "side": "buy",
|
4332
|
-
# "posSide": "long",
|
4333
|
-
# "marginCoin": "USDT",
|
4334
|
-
# "marginMode": "crossed",
|
4335
|
-
# "enterPointSource": "API",
|
4336
|
-
# "tradeSide": "open",
|
4337
|
-
# "posMode": "hedge_mode",
|
4338
|
-
# "orderType": "limit",
|
4339
4223
|
# "stopSurplusTriggerPrice": "",
|
4340
4224
|
# "stopSurplusExecutePrice": "",
|
4341
4225
|
# "stopSurplusTriggerType": "fill_price",
|
4342
4226
|
# "stopLossTriggerPrice": "",
|
4343
4227
|
# "stopLossExecutePrice": "",
|
4344
4228
|
# "stopLossTriggerType": "fill_price",
|
4345
|
-
# "cTime": "1700726120917",
|
4346
|
-
# "uTime": "1700727879652"
|
4347
4229
|
# }
|
4348
4230
|
#
|
4349
4231
|
errorMessage = self.safe_string(order, 'errorMsg')
|
@@ -4421,6 +4303,11 @@ class bitget(Exchange, ImplicitAPI):
|
|
4421
4303
|
side = 'sell' if (side == 'buy') else 'buy'
|
4422
4304
|
# on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
|
4423
4305
|
# so the side of the reduceOnly order is inversed
|
4306
|
+
orderType = self.safe_string(order, 'orderType')
|
4307
|
+
isBuyMarket = (side == 'buy') and (orderType == 'market')
|
4308
|
+
if market['spot'] and isBuyMarket:
|
4309
|
+
# in top comment, for 'buy market' the 'size' field is COST, not AMOUNT
|
4310
|
+
size = self.safe_string(order, 'baseVolume')
|
4424
4311
|
return self.safe_order({
|
4425
4312
|
'info': order,
|
4426
4313
|
'id': self.safe_string_2(order, 'orderId', 'data'),
|
@@ -4430,7 +4317,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
4430
4317
|
'lastTradeTimestamp': updateTimestamp,
|
4431
4318
|
'lastUpdateTimestamp': updateTimestamp,
|
4432
4319
|
'symbol': market['symbol'],
|
4433
|
-
'type':
|
4320
|
+
'type': orderType,
|
4434
4321
|
'side': side,
|
4435
4322
|
'price': price,
|
4436
4323
|
'amount': size,
|
@@ -33,18 +33,24 @@ NO_PADDING = 5
|
|
33
33
|
PAD_WITH_ZERO = 6
|
34
34
|
|
35
35
|
|
36
|
-
def decimal_to_precision(n, rounding_mode=ROUND,
|
37
|
-
assert
|
36
|
+
def decimal_to_precision(n, rounding_mode=ROUND, numPrecisionDigits=None, counting_mode=DECIMAL_PLACES, padding_mode=NO_PADDING):
|
37
|
+
assert numPrecisionDigits is not None, 'numPrecisionDigits should not be None'
|
38
|
+
|
39
|
+
if isinstance(numPrecisionDigits, str):
|
40
|
+
numPrecisionDigits = float(numPrecisionDigits)
|
41
|
+
assert isinstance(numPrecisionDigits, float) or isinstance(numPrecisionDigits, decimal.Decimal) or isinstance(numPrecisionDigits, numbers.Integral), 'numPrecisionDigits has an invalid number'
|
42
|
+
|
38
43
|
if counting_mode == TICK_SIZE:
|
39
|
-
assert
|
44
|
+
assert numPrecisionDigits > 0, 'negative or zero numPrecisionDigits can not be used with TICK_SIZE precisionMode'
|
40
45
|
else:
|
41
|
-
assert
|
46
|
+
assert isinstance(numPrecisionDigits, numbers.Integral)
|
47
|
+
|
42
48
|
assert rounding_mode in [TRUNCATE, ROUND]
|
43
49
|
assert counting_mode in [DECIMAL_PLACES, SIGNIFICANT_DIGITS, TICK_SIZE]
|
44
50
|
assert padding_mode in [NO_PADDING, PAD_WITH_ZERO]
|
51
|
+
# end of checks
|
45
52
|
|
46
|
-
|
47
|
-
precision = float(precision)
|
53
|
+
precision = numPrecisionDigits # "precision" variable name was in signature, but to make function signature similar to php/js, I had to change the argument name to "numPrecisionDigits". however, the below codes use "precision" variable name, so we have to assign that name here (you can change the usage of 'precision' variable name below everywhere, but i've refrained to do that to avoid many changes)
|
48
54
|
|
49
55
|
context = decimal.getcontext()
|
50
56
|
|
@@ -78,12 +84,12 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
78
84
|
if missing != 0:
|
79
85
|
if rounding_mode == ROUND:
|
80
86
|
if dec > 0:
|
81
|
-
if missing >=
|
87
|
+
if missing >= precision_dec / 2:
|
82
88
|
dec = dec - missing + precision_dec
|
83
89
|
else:
|
84
90
|
dec = dec - missing
|
85
91
|
else:
|
86
|
-
if missing >=
|
92
|
+
if missing >= precision_dec / 2:
|
87
93
|
dec = dec + missing - precision_dec
|
88
94
|
else:
|
89
95
|
dec = dec + missing
|
@@ -117,7 +123,7 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
117
123
|
precise = '{:f}'.format(min((below, above), key=lambda x: abs(x - dec)))
|
118
124
|
else:
|
119
125
|
precise = '{:f}'.format(dec.quantize(sigfig))
|
120
|
-
if precise
|
126
|
+
if precise.startswith('-0') and all(c in '0.' for c in precise[1:]):
|
121
127
|
precise = precise[1:]
|
122
128
|
|
123
129
|
elif rounding_mode == TRUNCATE:
|
@@ -138,7 +144,7 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
138
144
|
precise = string
|
139
145
|
else:
|
140
146
|
precise = string[:end].ljust(dot, '0')
|
141
|
-
if precise
|
147
|
+
if precise.startswith('-0') and all(c in '0.' for c in precise[1:]):
|
142
148
|
precise = precise[1:]
|
143
149
|
precise = precise.rstrip('.')
|
144
150
|
|
bitget/ccxt/base/errors.py
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# ----------------------------------------------------------------------------
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
# EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
6
|
+
|
1
7
|
error_hierarchy = {
|
2
8
|
'BaseError': {
|
3
9
|
'ExchangeError': {
|
bitget/ccxt/base/exchange.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.96'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -229,6 +229,7 @@ class Exchange(object):
|
|
229
229
|
'chrome100': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36',
|
230
230
|
}
|
231
231
|
headers = None
|
232
|
+
returnResponseHeaders = False
|
232
233
|
origin = '*' # CORS origin
|
233
234
|
MAX_VALUE = float('inf')
|
234
235
|
#
|
@@ -579,6 +580,8 @@ class Exchange(object):
|
|
579
580
|
if self.verbose:
|
580
581
|
self.log("\nfetch Response:", self.id, method, url, http_status_code, "ResponseHeaders:", headers, "ResponseBody:", http_response)
|
581
582
|
self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response)
|
583
|
+
if json_response and not isinstance(json_response, list) and self.returnResponseHeaders:
|
584
|
+
json_response['responseHeaders'] = headers
|
582
585
|
response.raise_for_status()
|
583
586
|
|
584
587
|
except Timeout as e:
|
@@ -2130,6 +2133,17 @@ class Exchange(object):
|
|
2130
2133
|
'watchLiquidations': None,
|
2131
2134
|
'watchLiquidationsForSymbols': None,
|
2132
2135
|
'watchMyLiquidations': None,
|
2136
|
+
'unWatchOrders': None,
|
2137
|
+
'unWatchTrades': None,
|
2138
|
+
'unWatchTradesForSymbols': None,
|
2139
|
+
'unWatchOHLCVForSymbols': None,
|
2140
|
+
'unWatchOrderBookForSymbols': None,
|
2141
|
+
'unWatchPositions': None,
|
2142
|
+
'unWatchOrderBook': None,
|
2143
|
+
'unWatchTickers': None,
|
2144
|
+
'unWatchMyTrades': None,
|
2145
|
+
'unWatchTicker': None,
|
2146
|
+
'unWatchOHLCV': None,
|
2133
2147
|
'watchMyLiquidationsForSymbols': None,
|
2134
2148
|
'withdraw': None,
|
2135
2149
|
'ws': None,
|
@@ -2616,6 +2630,9 @@ class Exchange(object):
|
|
2616
2630
|
def un_watch_order_book_for_symbols(self, symbols: List[str], params={}):
|
2617
2631
|
raise NotSupported(self.id + ' unWatchOrderBookForSymbols() is not supported yet')
|
2618
2632
|
|
2633
|
+
def un_watch_positions(self, symbols: Strings = None, params={}):
|
2634
|
+
raise NotSupported(self.id + ' unWatchPositions() is not supported yet')
|
2635
|
+
|
2619
2636
|
def fetch_deposit_addresses(self, codes: Strings = None, params={}):
|
2620
2637
|
raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
|
2621
2638
|
|
@@ -3584,18 +3601,7 @@ class Exchange(object):
|
|
3584
3601
|
symbol = market['symbol'] if (market is not None) else None
|
3585
3602
|
return self.filter_by_symbol_since_limit(results, symbol, since, limit)
|
3586
3603
|
|
3587
|
-
def
|
3588
|
-
"""
|
3589
|
-
calculates the presumptive fee that would be charged for an order
|
3590
|
-
:param str symbol: unified market symbol
|
3591
|
-
:param str type: 'market' or 'limit'
|
3592
|
-
:param str side: 'buy' or 'sell'
|
3593
|
-
:param float amount: how much you want to trade, in units of the base currency on most exchanges, or number of contracts
|
3594
|
-
:param float price: the price for the order to be filled at, in units of the quote currency
|
3595
|
-
:param str takerOrMaker: 'taker' or 'maker'
|
3596
|
-
:param dict params:
|
3597
|
-
:returns dict: contains the rate, the percentage multiplied to the order amount to obtain the fee amount, and cost, the total value of the fee in units of the quote currency, for the order
|
3598
|
-
"""
|
3604
|
+
def calculate_fee_with_rate(self, symbol: str, type: str, side: str, amount: float, price: float, takerOrMaker='taker', feeRate: Num = None, params={}):
|
3599
3605
|
if type == 'market' and takerOrMaker == 'maker':
|
3600
3606
|
raise ArgumentsRequired(self.id + ' calculateFee() - you have provided incompatible arguments - "market" type order can not be "maker". Change either the "type" or the "takerOrMaker" argument to calculate the fee.')
|
3601
3607
|
market = self.markets[symbol]
|
@@ -3624,7 +3630,7 @@ class Exchange(object):
|
|
3624
3630
|
# even if `takerOrMaker` argument was set to 'maker', for 'market' orders we should forcefully override it to 'taker'
|
3625
3631
|
if type == 'market':
|
3626
3632
|
takerOrMaker = 'taker'
|
3627
|
-
rate = self.safe_string(market, takerOrMaker)
|
3633
|
+
rate = self.number_to_string(feeRate) if (feeRate is not None) else self.safe_string(market, takerOrMaker)
|
3628
3634
|
cost = Precise.string_mul(cost, rate)
|
3629
3635
|
return {
|
3630
3636
|
'type': takerOrMaker,
|
@@ -3633,6 +3639,20 @@ class Exchange(object):
|
|
3633
3639
|
'cost': self.parse_number(cost),
|
3634
3640
|
}
|
3635
3641
|
|
3642
|
+
def calculate_fee(self, symbol: str, type: str, side: str, amount: float, price: float, takerOrMaker='taker', params={}):
|
3643
|
+
"""
|
3644
|
+
calculates the presumptive fee that would be charged for an order
|
3645
|
+
:param str symbol: unified market symbol
|
3646
|
+
:param str type: 'market' or 'limit'
|
3647
|
+
:param str side: 'buy' or 'sell'
|
3648
|
+
:param float amount: how much you want to trade, in units of the base currency on most exchanges, or number of contracts
|
3649
|
+
:param float price: the price for the order to be filled at, in units of the quote currency
|
3650
|
+
:param str takerOrMaker: 'taker' or 'maker'
|
3651
|
+
:param dict params:
|
3652
|
+
:returns dict: contains the rate, the percentage multiplied to the order amount to obtain the fee amount, and cost, the total value of the fee in units of the quote currency, for the order
|
3653
|
+
"""
|
3654
|
+
return self.calculate_fee_with_rate(symbol, type, side, amount, price, takerOrMaker, None, params)
|
3655
|
+
|
3636
3656
|
def safe_liquidation(self, liquidation: dict, market: Market = None):
|
3637
3657
|
contracts = self.safe_string(liquidation, 'contracts')
|
3638
3658
|
contractSize = self.safe_string(market, 'contractSize')
|
@@ -3672,6 +3692,21 @@ class Exchange(object):
|
|
3672
3692
|
trade['cost'] = self.parse_number(cost)
|
3673
3693
|
return trade
|
3674
3694
|
|
3695
|
+
def create_ccxt_trade_id(self, timestamp=None, side=None, amount=None, price=None, takerOrMaker=None):
|
3696
|
+
# self approach is being used by multiple exchanges(mexc, woo, coinsbit, dydx, ...)
|
3697
|
+
id = None
|
3698
|
+
if timestamp is not None:
|
3699
|
+
id = self.number_to_string(timestamp)
|
3700
|
+
if side is not None:
|
3701
|
+
id += '-' + side
|
3702
|
+
if amount is not None:
|
3703
|
+
id += '-' + self.number_to_string(amount)
|
3704
|
+
if price is not None:
|
3705
|
+
id += '-' + self.number_to_string(price)
|
3706
|
+
if takerOrMaker is not None:
|
3707
|
+
id += '-' + takerOrMaker
|
3708
|
+
return id
|
3709
|
+
|
3675
3710
|
def parsed_fee_and_fees(self, container: Any):
|
3676
3711
|
fee = self.safe_dict(container, 'fee')
|
3677
3712
|
fees = self.safe_list(container, 'fees')
|
@@ -5495,10 +5530,10 @@ class Exchange(object):
|
|
5495
5530
|
"""
|
5496
5531
|
raise NotSupported(self.id + ' fetchDepositsWithdrawals() is not supported yet')
|
5497
5532
|
|
5498
|
-
def fetch_deposits(self,
|
5533
|
+
def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
5499
5534
|
raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
|
5500
5535
|
|
5501
|
-
def fetch_withdrawals(self,
|
5536
|
+
def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
5502
5537
|
raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
|
5503
5538
|
|
5504
5539
|
def fetch_deposits_ws(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
@@ -6426,7 +6461,7 @@ class Exchange(object):
|
|
6426
6461
|
calls = 0
|
6427
6462
|
result = []
|
6428
6463
|
errors = 0
|
6429
|
-
until = self.
|
6464
|
+
until = self.safe_integer_n(params, ['until', 'untill', 'till']) # do not omit it from params here
|
6430
6465
|
maxEntriesPerRequest, params = self.handle_max_entries_per_request_and_params(method, maxEntriesPerRequest, params)
|
6431
6466
|
if (paginationDirection == 'forward'):
|
6432
6467
|
if since is None:
|
@@ -6988,6 +7023,14 @@ class Exchange(object):
|
|
6988
7023
|
self.myTrades = None
|
6989
7024
|
elif topic == 'orders' and (self.orders is not None):
|
6990
7025
|
self.orders = None
|
7026
|
+
elif topic == 'positions' and (self.positions is not None):
|
7027
|
+
self.positions = None
|
7028
|
+
clients = list(self.clients.values())
|
7029
|
+
for i in range(0, len(clients)):
|
7030
|
+
client = clients[i]
|
7031
|
+
futures = self.safe_dict(client, 'futures')
|
7032
|
+
if (futures is not None) and ('fetchPositionsSnapshot' in futures):
|
7033
|
+
del futures['fetchPositionsSnapshot']
|
6991
7034
|
elif topic == 'ticker' and (self.tickers is not None):
|
6992
7035
|
tickerSymbols = list(self.tickers.keys())
|
6993
7036
|
for i in range(0, len(tickerSymbols)):
|
bitget/ccxt/bitget.py
CHANGED
@@ -4111,82 +4111,35 @@ class bitget(Exchange, ImplicitAPI):
|
|
4111
4111
|
# "result": "success"
|
4112
4112
|
# }
|
4113
4113
|
#
|
4114
|
-
# spot: fetchOrder
|
4115
|
-
#
|
4116
|
-
# {
|
4117
|
-
# "userId": "7264631750",
|
4118
|
-
# "symbol": "BTCUSDT",
|
4119
|
-
# "orderId": "1111461743123927040",
|
4120
|
-
# "clientOid": "63f95110-93b5-4309-8f77-46339f1bcf3c",
|
4121
|
-
# "price": "25000.0000000000000000",
|
4122
|
-
# "size": "0.0002000000000000",
|
4123
|
-
# "orderType": "limit",
|
4124
|
-
# "side": "buy",
|
4125
|
-
# "status": "live",
|
4126
|
-
# "priceAvg": "0",
|
4127
|
-
# "baseVolume": "0.0000000000000000",
|
4128
|
-
# "quoteVolume": "0.0000000000000000",
|
4129
|
-
# "enterPointSource": "API",
|
4130
|
-
# "feeDetail": "",
|
4131
|
-
# "orderSource": "normal",
|
4132
|
-
# "cTime": "1700719050198",
|
4133
|
-
# "uTime": "1700719050198"
|
4134
|
-
# }
|
4135
|
-
#
|
4136
|
-
# swap and future: fetchOrder
|
4137
|
-
#
|
4138
|
-
# {
|
4139
|
-
# "symbol": "BTCUSDT",
|
4140
|
-
# "size": "0.001",
|
4141
|
-
# "orderId": "1111465253393825792",
|
4142
|
-
# "clientOid": "1111465253431574529",
|
4143
|
-
# "baseVolume": "0",
|
4144
|
-
# "fee": "0",
|
4145
|
-
# "price": "27000",
|
4146
|
-
# "priceAvg": "",
|
4147
|
-
# "state": "live",
|
4148
|
-
# "side": "buy",
|
4149
|
-
# "force": "gtc",
|
4150
|
-
# "totalProfits": "0",
|
4151
|
-
# "posSide": "long",
|
4152
|
-
# "marginCoin": "USDT",
|
4153
|
-
# "presetStopSurplusPrice": "",
|
4154
|
-
# "presetStopLossPrice": "",
|
4155
|
-
# "quoteVolume": "0",
|
4156
|
-
# "orderType": "limit",
|
4157
|
-
# "leverage": "20",
|
4158
|
-
# "marginMode": "crossed",
|
4159
|
-
# "reduceOnly": "NO",
|
4160
|
-
# "enterPointSource": "API",
|
4161
|
-
# "tradeSide": "open",
|
4162
|
-
# "posMode": "hedge_mode",
|
4163
|
-
# "orderSource": "normal",
|
4164
|
-
# "cTime": "1700719887120",
|
4165
|
-
# "uTime": "1700719887120"
|
4166
|
-
# }
|
4167
|
-
#
|
4168
|
-
# spot: fetchOpenOrders
|
4114
|
+
# spot: fetchOrder, fetchOpenOrders, fetchCanceledAndClosedOrders
|
4169
4115
|
#
|
4170
4116
|
# {
|
4171
4117
|
# "userId": "7264631750",
|
4172
4118
|
# "symbol": "BTCUSDT",
|
4173
4119
|
# "orderId": "1111499608327360513",
|
4174
4120
|
# "clientOid": "d0d4dad5-18d0-4869-a074-ec40bb47cba6",
|
4175
|
-
# "
|
4176
|
-
# "
|
4121
|
+
# "size": "0.0002000000000000", # COST for 'buy market' order! AMOUNT in all other cases
|
4122
|
+
# "price": "0", # in fetchOrder: 0 for market order, otherwise limit price(field not present in fetchOpenOrders
|
4177
4123
|
# "orderType": "limit",
|
4178
4124
|
# "side": "buy",
|
4179
4125
|
# "status": "live",
|
4180
4126
|
# "basePrice": "0",
|
4181
|
-
# "
|
4182
|
-
# "
|
4127
|
+
# "priceAvg": "25000.0000000000000000", # 0 if nothing filled
|
4128
|
+
# "baseVolume": "0.0000000000000000", # 0 if nothing filled
|
4129
|
+
# "quoteVolume": "0.0000000000000000", # 0 if nothing filled
|
4183
4130
|
# "enterPointSource": "WEB",
|
4184
4131
|
# "orderSource": "normal",
|
4185
4132
|
# "cTime": "1700728077966",
|
4186
4133
|
# "uTime": "1700728077966"
|
4134
|
+
# "feeDetail": "{\\"newFees\\":{\\"c\\":0,\\"d\\":0,\\"deduction\\":false,\\"r\\":-0.0064699886,\\"t\\":-0.0064699886,\\"totalDeductionFee\\":0},\\"USDT\\":{\\"deduction\\":false,\\"feeCoinCode\\":\\"USDT\\",\\"totalDeductionFee\\":0,\\"totalFee\\":-0.0064699886000000}}", # might not be present in fetchOpenOrders
|
4135
|
+
# "triggerPrice": null,
|
4136
|
+
# "tpslType": "normal",
|
4137
|
+
# "quoteCoin": "USDT", # not present in fetchOpenOrders
|
4138
|
+
# "baseCoin": "DOT", # not present in fetchOpenOrders
|
4139
|
+
# "cancelReason": "", # not present in fetchOpenOrders
|
4187
4140
|
# }
|
4188
4141
|
#
|
4189
|
-
# spot
|
4142
|
+
# spot trigger: fetchOpenOrders, fetchCanceledAndClosedOrders
|
4190
4143
|
#
|
4191
4144
|
# {
|
4192
4145
|
# "orderId": "1111503385931620352",
|
@@ -4227,18 +4180,19 @@ class bitget(Exchange, ImplicitAPI):
|
|
4227
4180
|
# "uTime": "1700729691866"
|
4228
4181
|
# }
|
4229
4182
|
#
|
4230
|
-
# swap: fetchOpenOrders, fetchCanceledAndClosedOrders
|
4183
|
+
# swap and future: fetchOrder, fetchOpenOrders, fetchCanceledAndClosedOrders
|
4231
4184
|
#
|
4232
4185
|
# {
|
4233
4186
|
# "symbol": "BTCUSDT",
|
4234
|
-
# "size": "0.
|
4235
|
-
# "orderId": "
|
4236
|
-
# "clientOid": "
|
4187
|
+
# "size": "0.001",
|
4188
|
+
# "orderId": "1111465253393825792",
|
4189
|
+
# "clientOid": "1111465253431574529",
|
4237
4190
|
# "baseVolume": "0",
|
4238
4191
|
# "fee": "0",
|
4239
|
-
# "price": "
|
4192
|
+
# "price": "27000",
|
4240
4193
|
# "priceAvg": "",
|
4241
|
-
# "
|
4194
|
+
# "state": "live",
|
4195
|
+
# # "status": "live", # key for fetchOpenOrders, fetchClosedOrders
|
4242
4196
|
# "side": "buy",
|
4243
4197
|
# "force": "gtc",
|
4244
4198
|
# "totalProfits": "0",
|
@@ -4247,7 +4201,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
4247
4201
|
# "quoteVolume": "0",
|
4248
4202
|
# "leverage": "20",
|
4249
4203
|
# "marginMode": "crossed",
|
4250
|
-
# "enterPointSource": "
|
4204
|
+
# "enterPointSource": "API",
|
4251
4205
|
# "tradeSide": "open",
|
4252
4206
|
# "posMode": "hedge_mode",
|
4253
4207
|
# "orderType": "limit",
|
@@ -4255,94 +4209,22 @@ class bitget(Exchange, ImplicitAPI):
|
|
4255
4209
|
# "presetStopSurplusPrice": "",
|
4256
4210
|
# "presetStopLossPrice": "",
|
4257
4211
|
# "reduceOnly": "NO",
|
4258
|
-
# "cTime": "
|
4259
|
-
# "uTime": "
|
4260
|
-
# }
|
4212
|
+
# "cTime": "1700719887120",
|
4213
|
+
# "uTime": "1700719887120"
|
4261
4214
|
#
|
4262
|
-
# swap
|
4215
|
+
# for swap trigger order, the additional below fields are present:
|
4263
4216
|
#
|
4264
|
-
# {
|
4265
4217
|
# "planType": "normal_plan",
|
4266
|
-
# "symbol": "BTCUSDT",
|
4267
|
-
# "size": "0.001",
|
4268
|
-
# "orderId": "1111491399869075457",
|
4269
|
-
# "clientOid": "1111491399869075456",
|
4270
|
-
# "price": "27000",
|
4271
4218
|
# "callbackRatio": "",
|
4272
4219
|
# "triggerPrice": "24000",
|
4273
4220
|
# "triggerType": "mark_price",
|
4274
4221
|
# "planStatus": "live",
|
4275
|
-
# "side": "buy",
|
4276
|
-
# "posSide": "long",
|
4277
|
-
# "marginCoin": "USDT",
|
4278
|
-
# "marginMode": "crossed",
|
4279
|
-
# "enterPointSource": "API",
|
4280
|
-
# "tradeSide": "open",
|
4281
|
-
# "posMode": "hedge_mode",
|
4282
|
-
# "orderType": "limit",
|
4283
|
-
# "stopSurplusTriggerPrice": "",
|
4284
|
-
# "stopSurplusExecutePrice": "",
|
4285
|
-
# "stopSurplusTriggerType": "fill_price",
|
4286
|
-
# "stopLossTriggerPrice": "",
|
4287
|
-
# "stopLossExecutePrice": "",
|
4288
|
-
# "stopLossTriggerType": "fill_price",
|
4289
|
-
# "cTime": "1700726120917",
|
4290
|
-
# "uTime": "1700726120917"
|
4291
|
-
# }
|
4292
|
-
#
|
4293
|
-
# spot: fetchCanceledAndClosedOrders
|
4294
|
-
#
|
4295
|
-
# {
|
4296
|
-
# "userId": "7264631750",
|
4297
|
-
# "symbol": "BTCUSDT",
|
4298
|
-
# "orderId": "1111499608327360513",
|
4299
|
-
# "clientOid": "d0d4dad5-18d0-4869-a074-ec40bb47cba6",
|
4300
|
-
# "price": "25000.0000000000000000",
|
4301
|
-
# "size": "0.0002000000000000",
|
4302
|
-
# "orderType": "limit",
|
4303
|
-
# "side": "buy",
|
4304
|
-
# "status": "cancelled",
|
4305
|
-
# "priceAvg": "0",
|
4306
|
-
# "baseVolume": "0.0000000000000000",
|
4307
|
-
# "quoteVolume": "0.0000000000000000",
|
4308
|
-
# "enterPointSource": "WEB",
|
4309
|
-
# "feeDetail": "",
|
4310
|
-
# "orderSource": "normal",
|
4311
|
-
# "cTime": "1700728077966",
|
4312
|
-
# "uTime": "1700728911471"
|
4313
|
-
# }
|
4314
|
-
#
|
4315
|
-
# swap stop: fetchCanceledAndClosedOrders
|
4316
|
-
#
|
4317
|
-
# {
|
4318
|
-
# "planType": "normal_plan",
|
4319
|
-
# "symbol": "BTCUSDT",
|
4320
|
-
# "size": "0.001",
|
4321
|
-
# "orderId": "1111491399869075457",
|
4322
|
-
# "clientOid": "1111491399869075456",
|
4323
|
-
# "planStatus": "cancelled",
|
4324
|
-
# "price": "27000",
|
4325
|
-
# "feeDetail": null,
|
4326
|
-
# "baseVolume": "0",
|
4327
|
-
# "callbackRatio": "",
|
4328
|
-
# "triggerPrice": "24000",
|
4329
|
-
# "triggerType": "mark_price",
|
4330
|
-
# "side": "buy",
|
4331
|
-
# "posSide": "long",
|
4332
|
-
# "marginCoin": "USDT",
|
4333
|
-
# "marginMode": "crossed",
|
4334
|
-
# "enterPointSource": "API",
|
4335
|
-
# "tradeSide": "open",
|
4336
|
-
# "posMode": "hedge_mode",
|
4337
|
-
# "orderType": "limit",
|
4338
4222
|
# "stopSurplusTriggerPrice": "",
|
4339
4223
|
# "stopSurplusExecutePrice": "",
|
4340
4224
|
# "stopSurplusTriggerType": "fill_price",
|
4341
4225
|
# "stopLossTriggerPrice": "",
|
4342
4226
|
# "stopLossExecutePrice": "",
|
4343
4227
|
# "stopLossTriggerType": "fill_price",
|
4344
|
-
# "cTime": "1700726120917",
|
4345
|
-
# "uTime": "1700727879652"
|
4346
4228
|
# }
|
4347
4229
|
#
|
4348
4230
|
errorMessage = self.safe_string(order, 'errorMsg')
|
@@ -4420,6 +4302,11 @@ class bitget(Exchange, ImplicitAPI):
|
|
4420
4302
|
side = 'sell' if (side == 'buy') else 'buy'
|
4421
4303
|
# on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
|
4422
4304
|
# so the side of the reduceOnly order is inversed
|
4305
|
+
orderType = self.safe_string(order, 'orderType')
|
4306
|
+
isBuyMarket = (side == 'buy') and (orderType == 'market')
|
4307
|
+
if market['spot'] and isBuyMarket:
|
4308
|
+
# in top comment, for 'buy market' the 'size' field is COST, not AMOUNT
|
4309
|
+
size = self.safe_string(order, 'baseVolume')
|
4423
4310
|
return self.safe_order({
|
4424
4311
|
'info': order,
|
4425
4312
|
'id': self.safe_string_2(order, 'orderId', 'data'),
|
@@ -4429,7 +4316,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
4429
4316
|
'lastTradeTimestamp': updateTimestamp,
|
4430
4317
|
'lastUpdateTimestamp': updateTimestamp,
|
4431
4318
|
'symbol': market['symbol'],
|
4432
|
-
'type':
|
4319
|
+
'type': orderType,
|
4433
4320
|
'side': side,
|
4434
4321
|
'price': price,
|
4435
4322
|
'amount': size,
|
bitget/ccxt/pro/__init__.py
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
bitget/__init__.py,sha256=D5tG1_AjwXjMim3CPnCuWSheOXtq4vlSwVCS5ZG1bMQ,246
|
2
|
-
bitget/ccxt/__init__.py,sha256=
|
3
|
-
bitget/ccxt/bitget.py,sha256=
|
2
|
+
bitget/ccxt/__init__.py,sha256=ATBu0xXeUcJCjDjVN8p-SHX2Oi9tPd-pNYgI4O2D790,6048
|
3
|
+
bitget/ccxt/bitget.py,sha256=7IHFajA2BNw1C349M04z6YybdEz4p7rjsUXssA9CuZU,450352
|
4
4
|
bitget/ccxt/abstract/bitget.py,sha256=6q34nW4J1Vfvls4tExxZRJt0Ct28hCO0TQja_Mb_bmI,99978
|
5
|
-
bitget/ccxt/async_support/__init__.py,sha256=
|
6
|
-
bitget/ccxt/async_support/bitget.py,sha256=
|
5
|
+
bitget/ccxt/async_support/__init__.py,sha256=gYqIM4mM0PYDcLMeIuNv8pJ3EkXfQ3KcXan_JpXJCx8,4781
|
6
|
+
bitget/ccxt/async_support/bitget.py,sha256=bmm9xyMAZ9v9uJW5BR6Sg3QBAurwz7j004Ly-HGMqQM,452095
|
7
7
|
bitget/ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
8
|
-
bitget/ccxt/async_support/base/exchange.py,sha256=
|
8
|
+
bitget/ccxt/async_support/base/exchange.py,sha256=5YrTOaoiX9ws39WT_JWs_g3anZAMiPSc1eXiD56Sh0Q,119773
|
9
9
|
bitget/ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
10
10
|
bitget/ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
11
11
|
bitget/ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
|
12
12
|
bitget/ccxt/async_support/base/ws/client.py,sha256=ekIN5HNgeQgMG3tLZMsE889Aoxs960DLwQnwkTGhdi8,13624
|
13
13
|
bitget/ccxt/async_support/base/ws/functions.py,sha256=qwvEnjtINWL5ZU-dbbeIunjyBxzFqbGWHfVhxqAcKug,1499
|
14
|
-
bitget/ccxt/async_support/base/ws/future.py,sha256=
|
14
|
+
bitget/ccxt/async_support/base/ws/future.py,sha256=hjdQ42zkfju5nar0GpTLJ4zXQBtgBU8DzYM5uPFcjsE,1450
|
15
15
|
bitget/ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6VxhEs8x-Kbj-NI,2894
|
16
16
|
bitget/ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmBJLCI5FHIRdMz1O-g,6551
|
17
17
|
bitget/ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
18
|
-
bitget/ccxt/base/decimal_to_precision.py,sha256=
|
19
|
-
bitget/ccxt/base/errors.py,sha256=
|
20
|
-
bitget/ccxt/base/exchange.py,sha256=
|
18
|
+
bitget/ccxt/base/decimal_to_precision.py,sha256=XQNziSPUz4UqhIvNx0aDx6-3wSSgZBTsMX57rM7WGPM,7330
|
19
|
+
bitget/ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
|
20
|
+
bitget/ccxt/base/exchange.py,sha256=3LI4McirkCUEz1090jMfedqTtOae-Gqcl94_oeNf23c,333932
|
21
21
|
bitget/ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
22
22
|
bitget/ccxt/base/types.py,sha256=vMQfFDVntED4YHrRJt0Q98YaM7OtGhK-DkbkqXFTYHc,11485
|
23
|
-
bitget/ccxt/pro/__init__.py,sha256=
|
23
|
+
bitget/ccxt/pro/__init__.py,sha256=jn8mQixqcA5MpjDArx45_4HgnMHLIPhnZTHcNL7AC4M,4095
|
24
24
|
bitget/ccxt/pro/bitget.py,sha256=g8SkdhTze-idsChWiGIBi1twpiDfRlJyvnG2NL9VsR0,90372
|
25
25
|
bitget/ccxt/static_dependencies/README.md,sha256=3TCvhhn09_Cqf9BDDpao1V7EfKHDpQ6k9oWRsLFixpU,18
|
26
26
|
bitget/ccxt/static_dependencies/__init__.py,sha256=tzFje8cloqmiIE6kola3EaYC0SnD1izWnri69hzHsSw,168
|
@@ -281,6 +281,6 @@ bitget/ccxt/static_dependencies/toolz/curried/exceptions.py,sha256=gKFOHDIayAWnX
|
|
281
281
|
bitget/ccxt/static_dependencies/toolz/curried/operator.py,sha256=ML92mknkAwzBl2NCm-4werSUmJEtSHNY9NSzhseNM9s,525
|
282
282
|
bitget/ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
283
283
|
bitget/ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
|
284
|
-
bitget-0.0.
|
285
|
-
bitget-0.0.
|
286
|
-
bitget-0.0.
|
284
|
+
bitget-0.0.76.dist-info/METADATA,sha256=WAxJrncPtxEPJPwMeF29j3u9Gr_7_cq-0Idkhl7il_g,44111
|
285
|
+
bitget-0.0.76.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
286
|
+
bitget-0.0.76.dist-info/RECORD,,
|
File without changes
|