ccxt 4.3.79 → 4.3.80
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.
- package/README.md +3 -3
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +24 -36
- package/dist/cjs/src/binance.js +1 -1
- package/dist/cjs/src/bitmart.js +4 -3
- package/dist/cjs/src/bybit.js +10 -1
- package/dist/cjs/src/poloniex.js +4 -2
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/base/Exchange.js +24 -36
- package/js/src/binance.js +1 -1
- package/js/src/bitmart.js +4 -3
- package/js/src/bybit.js +10 -1
- package/js/src/poloniex.js +4 -2
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -194,7 +194,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
194
194
|
|
|
195
195
|
//-----------------------------------------------------------------------------
|
|
196
196
|
// this is updated by vss.js when building
|
|
197
|
-
const version = '4.3.
|
|
197
|
+
const version = '4.3.80';
|
|
198
198
|
Exchange["default"].ccxtVersion = version;
|
|
199
199
|
const exchanges = {
|
|
200
200
|
'ace': ace,
|
|
@@ -1775,55 +1775,43 @@ class Exchange {
|
|
|
1775
1775
|
let httpsProxy = undefined;
|
|
1776
1776
|
let socksProxy = undefined;
|
|
1777
1777
|
// httpProxy
|
|
1778
|
-
|
|
1778
|
+
const isHttpProxyDefined = this.valueIsDefined(this.httpProxy);
|
|
1779
|
+
const isHttp_proxy_defined = this.valueIsDefined(this.http_proxy);
|
|
1780
|
+
if (isHttpProxyDefined || isHttp_proxy_defined) {
|
|
1779
1781
|
usedProxies.push('httpProxy');
|
|
1780
|
-
httpProxy = this.httpProxy;
|
|
1782
|
+
httpProxy = isHttpProxyDefined ? this.httpProxy : this.http_proxy;
|
|
1781
1783
|
}
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
}
|
|
1786
|
-
if (this.httpProxyCallback !== undefined) {
|
|
1784
|
+
const ishttpProxyCallbackDefined = this.valueIsDefined(this.httpProxyCallback);
|
|
1785
|
+
const ishttp_proxy_callback_defined = this.valueIsDefined(this.http_proxy_callback);
|
|
1786
|
+
if (ishttpProxyCallbackDefined || ishttp_proxy_callback_defined) {
|
|
1787
1787
|
usedProxies.push('httpProxyCallback');
|
|
1788
|
-
httpProxy = this.httpProxyCallback(url, method, headers, body);
|
|
1789
|
-
}
|
|
1790
|
-
if (this.http_proxy_callback !== undefined) {
|
|
1791
|
-
usedProxies.push('http_proxy_callback');
|
|
1792
|
-
httpProxy = this.http_proxy_callback(url, method, headers, body);
|
|
1788
|
+
httpProxy = ishttpProxyCallbackDefined ? this.httpProxyCallback(url, method, headers, body) : this.http_proxy_callback(url, method, headers, body);
|
|
1793
1789
|
}
|
|
1794
1790
|
// httpsProxy
|
|
1795
|
-
|
|
1791
|
+
const isHttpsProxyDefined = this.valueIsDefined(this.httpsProxy);
|
|
1792
|
+
const isHttps_proxy_defined = this.valueIsDefined(this.https_proxy);
|
|
1793
|
+
if (isHttpsProxyDefined || isHttps_proxy_defined) {
|
|
1796
1794
|
usedProxies.push('httpsProxy');
|
|
1797
|
-
httpsProxy = this.httpsProxy;
|
|
1798
|
-
}
|
|
1799
|
-
if (this.valueIsDefined(this.https_proxy)) {
|
|
1800
|
-
usedProxies.push('https_proxy');
|
|
1801
|
-
httpsProxy = this.https_proxy;
|
|
1795
|
+
httpsProxy = isHttpsProxyDefined ? this.httpsProxy : this.https_proxy;
|
|
1802
1796
|
}
|
|
1803
|
-
|
|
1797
|
+
const ishttpsProxyCallbackDefined = this.valueIsDefined(this.httpsProxyCallback);
|
|
1798
|
+
const ishttps_proxy_callback_defined = this.valueIsDefined(this.https_proxy_callback);
|
|
1799
|
+
if (ishttpsProxyCallbackDefined || ishttps_proxy_callback_defined) {
|
|
1804
1800
|
usedProxies.push('httpsProxyCallback');
|
|
1805
|
-
httpsProxy = this.httpsProxyCallback(url, method, headers, body);
|
|
1806
|
-
}
|
|
1807
|
-
if (this.https_proxy_callback !== undefined) {
|
|
1808
|
-
usedProxies.push('https_proxy_callback');
|
|
1809
|
-
httpsProxy = this.https_proxy_callback(url, method, headers, body);
|
|
1801
|
+
httpsProxy = ishttpsProxyCallbackDefined ? this.httpsProxyCallback(url, method, headers, body) : this.https_proxy_callback(url, method, headers, body);
|
|
1810
1802
|
}
|
|
1811
1803
|
// socksProxy
|
|
1812
|
-
|
|
1804
|
+
const isSocksProxyDefined = this.valueIsDefined(this.socksProxy);
|
|
1805
|
+
const isSocks_proxy_defined = this.valueIsDefined(this.socks_proxy);
|
|
1806
|
+
if (isSocksProxyDefined || isSocks_proxy_defined) {
|
|
1813
1807
|
usedProxies.push('socksProxy');
|
|
1814
|
-
socksProxy = this.socksProxy;
|
|
1815
|
-
}
|
|
1816
|
-
if (this.valueIsDefined(this.socks_proxy)) {
|
|
1817
|
-
usedProxies.push('socks_proxy');
|
|
1818
|
-
socksProxy = this.socks_proxy;
|
|
1808
|
+
socksProxy = isSocksProxyDefined ? this.socksProxy : this.socks_proxy;
|
|
1819
1809
|
}
|
|
1820
|
-
|
|
1810
|
+
const issocksProxyCallbackDefined = this.valueIsDefined(this.socksProxyCallback);
|
|
1811
|
+
const issocks_proxy_callback_defined = this.valueIsDefined(this.socks_proxy_callback);
|
|
1812
|
+
if (issocksProxyCallbackDefined || issocks_proxy_callback_defined) {
|
|
1821
1813
|
usedProxies.push('socksProxyCallback');
|
|
1822
|
-
socksProxy = this.socksProxyCallback(url, method, headers, body);
|
|
1823
|
-
}
|
|
1824
|
-
if (this.socks_proxy_callback !== undefined) {
|
|
1825
|
-
usedProxies.push('socks_proxy_callback');
|
|
1826
|
-
socksProxy = this.socks_proxy_callback(url, method, headers, body);
|
|
1814
|
+
socksProxy = issocksProxyCallbackDefined ? this.socksProxyCallback(url, method, headers, body) : this.socks_proxy_callback(url, method, headers, body);
|
|
1827
1815
|
}
|
|
1828
1816
|
// check
|
|
1829
1817
|
const length = usedProxies.length;
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -51,7 +51,7 @@ class binance extends binance$1 {
|
|
|
51
51
|
'createMarketSellOrderWithCost': true,
|
|
52
52
|
'createOrder': true,
|
|
53
53
|
'createOrders': true,
|
|
54
|
-
'createOrderWithTakeProfitAndStopLoss':
|
|
54
|
+
'createOrderWithTakeProfitAndStopLoss': false,
|
|
55
55
|
'createPostOnlyOrder': true,
|
|
56
56
|
'createReduceOnlyOrder': true,
|
|
57
57
|
'createStopLimitOrder': true,
|
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -2461,8 +2461,6 @@ class bitmart extends bitmart$1 {
|
|
|
2461
2461
|
* @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
|
|
2462
2462
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2463
2463
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2464
|
-
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2465
|
-
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2466
2464
|
* @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
|
2467
2465
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
2468
2466
|
* @param {string} type 'market', 'limit' or 'trailing' for swap markets only
|
|
@@ -2609,6 +2607,7 @@ class bitmart extends bitmart$1 {
|
|
|
2609
2607
|
* @description create a trade order
|
|
2610
2608
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2611
2609
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2610
|
+
* @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
|
2612
2611
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
2613
2612
|
* @param {string} type 'market', 'limit' or 'trailing'
|
|
2614
2613
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -2668,7 +2667,9 @@ class bitmart extends bitmart$1 {
|
|
|
2668
2667
|
request['activation_price_type'] = this.safeInteger(params, 'activation_price_type', 1);
|
|
2669
2668
|
}
|
|
2670
2669
|
if (isTriggerOrder) {
|
|
2671
|
-
|
|
2670
|
+
if (isLimitOrder || price !== undefined) {
|
|
2671
|
+
request['executive_price'] = this.priceToPrecision(symbol, price);
|
|
2672
|
+
}
|
|
2672
2673
|
request['trigger_price'] = this.priceToPrecision(symbol, triggerPrice);
|
|
2673
2674
|
request['price_type'] = this.safeInteger(params, 'price_type', 1);
|
|
2674
2675
|
if (side === 'buy') {
|
package/dist/cjs/src/bybit.js
CHANGED
|
@@ -5889,10 +5889,12 @@ class bybit extends bybit$1 {
|
|
|
5889
5889
|
* @name bybit#fetchLedger
|
|
5890
5890
|
* @description fetch the history of changes, actions done by the user or operations that altered balance of the user
|
|
5891
5891
|
* @see https://bybit-exchange.github.io/docs/v5/account/transaction-log
|
|
5892
|
+
* @see https://bybit-exchange.github.io/docs/v5/account/contract-transaction-log
|
|
5892
5893
|
* @param {string} code unified currency code, default is undefined
|
|
5893
5894
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
5894
5895
|
* @param {int} [limit] max number of ledger entrys to return, default is undefined
|
|
5895
5896
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
5897
|
+
* @param {string} [params.subType] if inverse will use v5/account/contract-transaction-log
|
|
5896
5898
|
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
|
|
5897
5899
|
*/
|
|
5898
5900
|
await this.loadMarkets();
|
|
@@ -5936,9 +5938,16 @@ class bybit extends bybit$1 {
|
|
|
5936
5938
|
if (limit !== undefined) {
|
|
5937
5939
|
request['limit'] = limit;
|
|
5938
5940
|
}
|
|
5941
|
+
let subType = undefined;
|
|
5942
|
+
[subType, params] = this.handleSubTypeAndParams('fetchLedger', undefined, params);
|
|
5939
5943
|
let response = undefined;
|
|
5940
5944
|
if (enableUnified[1]) {
|
|
5941
|
-
|
|
5945
|
+
if (subType === 'inverse') {
|
|
5946
|
+
response = await this.privateGetV5AccountContractTransactionLog(this.extend(request, params));
|
|
5947
|
+
}
|
|
5948
|
+
else {
|
|
5949
|
+
response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
|
|
5950
|
+
}
|
|
5942
5951
|
}
|
|
5943
5952
|
else {
|
|
5944
5953
|
response = await this.privateGetV2PrivateWalletFundRecords(this.extend(request, params));
|
package/dist/cjs/src/poloniex.js
CHANGED
|
@@ -1105,8 +1105,10 @@ class poloniex extends poloniex$1 {
|
|
|
1105
1105
|
market = this.safeMarket(marketId, market, '_');
|
|
1106
1106
|
const symbol = market['symbol'];
|
|
1107
1107
|
let resultingTrades = this.safeValue(order, 'resultingTrades');
|
|
1108
|
-
if (
|
|
1109
|
-
|
|
1108
|
+
if (resultingTrades !== undefined) {
|
|
1109
|
+
if (!Array.isArray(resultingTrades)) {
|
|
1110
|
+
resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
|
|
1111
|
+
}
|
|
1110
1112
|
}
|
|
1111
1113
|
const price = this.safeString2(order, 'price', 'rate');
|
|
1112
1114
|
const amount = this.safeString(order, 'quantity');
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.3.
|
|
7
|
+
declare const version = "4.3.79";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.3.
|
|
41
|
+
const version = '4.3.80';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
package/js/src/base/Exchange.js
CHANGED
|
@@ -1758,55 +1758,43 @@ export default class Exchange {
|
|
|
1758
1758
|
let httpsProxy = undefined;
|
|
1759
1759
|
let socksProxy = undefined;
|
|
1760
1760
|
// httpProxy
|
|
1761
|
-
|
|
1761
|
+
const isHttpProxyDefined = this.valueIsDefined(this.httpProxy);
|
|
1762
|
+
const isHttp_proxy_defined = this.valueIsDefined(this.http_proxy);
|
|
1763
|
+
if (isHttpProxyDefined || isHttp_proxy_defined) {
|
|
1762
1764
|
usedProxies.push('httpProxy');
|
|
1763
|
-
httpProxy = this.httpProxy;
|
|
1765
|
+
httpProxy = isHttpProxyDefined ? this.httpProxy : this.http_proxy;
|
|
1764
1766
|
}
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
}
|
|
1769
|
-
if (this.httpProxyCallback !== undefined) {
|
|
1767
|
+
const ishttpProxyCallbackDefined = this.valueIsDefined(this.httpProxyCallback);
|
|
1768
|
+
const ishttp_proxy_callback_defined = this.valueIsDefined(this.http_proxy_callback);
|
|
1769
|
+
if (ishttpProxyCallbackDefined || ishttp_proxy_callback_defined) {
|
|
1770
1770
|
usedProxies.push('httpProxyCallback');
|
|
1771
|
-
httpProxy = this.httpProxyCallback(url, method, headers, body);
|
|
1772
|
-
}
|
|
1773
|
-
if (this.http_proxy_callback !== undefined) {
|
|
1774
|
-
usedProxies.push('http_proxy_callback');
|
|
1775
|
-
httpProxy = this.http_proxy_callback(url, method, headers, body);
|
|
1771
|
+
httpProxy = ishttpProxyCallbackDefined ? this.httpProxyCallback(url, method, headers, body) : this.http_proxy_callback(url, method, headers, body);
|
|
1776
1772
|
}
|
|
1777
1773
|
// httpsProxy
|
|
1778
|
-
|
|
1774
|
+
const isHttpsProxyDefined = this.valueIsDefined(this.httpsProxy);
|
|
1775
|
+
const isHttps_proxy_defined = this.valueIsDefined(this.https_proxy);
|
|
1776
|
+
if (isHttpsProxyDefined || isHttps_proxy_defined) {
|
|
1779
1777
|
usedProxies.push('httpsProxy');
|
|
1780
|
-
httpsProxy = this.httpsProxy;
|
|
1781
|
-
}
|
|
1782
|
-
if (this.valueIsDefined(this.https_proxy)) {
|
|
1783
|
-
usedProxies.push('https_proxy');
|
|
1784
|
-
httpsProxy = this.https_proxy;
|
|
1778
|
+
httpsProxy = isHttpsProxyDefined ? this.httpsProxy : this.https_proxy;
|
|
1785
1779
|
}
|
|
1786
|
-
|
|
1780
|
+
const ishttpsProxyCallbackDefined = this.valueIsDefined(this.httpsProxyCallback);
|
|
1781
|
+
const ishttps_proxy_callback_defined = this.valueIsDefined(this.https_proxy_callback);
|
|
1782
|
+
if (ishttpsProxyCallbackDefined || ishttps_proxy_callback_defined) {
|
|
1787
1783
|
usedProxies.push('httpsProxyCallback');
|
|
1788
|
-
httpsProxy = this.httpsProxyCallback(url, method, headers, body);
|
|
1789
|
-
}
|
|
1790
|
-
if (this.https_proxy_callback !== undefined) {
|
|
1791
|
-
usedProxies.push('https_proxy_callback');
|
|
1792
|
-
httpsProxy = this.https_proxy_callback(url, method, headers, body);
|
|
1784
|
+
httpsProxy = ishttpsProxyCallbackDefined ? this.httpsProxyCallback(url, method, headers, body) : this.https_proxy_callback(url, method, headers, body);
|
|
1793
1785
|
}
|
|
1794
1786
|
// socksProxy
|
|
1795
|
-
|
|
1787
|
+
const isSocksProxyDefined = this.valueIsDefined(this.socksProxy);
|
|
1788
|
+
const isSocks_proxy_defined = this.valueIsDefined(this.socks_proxy);
|
|
1789
|
+
if (isSocksProxyDefined || isSocks_proxy_defined) {
|
|
1796
1790
|
usedProxies.push('socksProxy');
|
|
1797
|
-
socksProxy = this.socksProxy;
|
|
1798
|
-
}
|
|
1799
|
-
if (this.valueIsDefined(this.socks_proxy)) {
|
|
1800
|
-
usedProxies.push('socks_proxy');
|
|
1801
|
-
socksProxy = this.socks_proxy;
|
|
1791
|
+
socksProxy = isSocksProxyDefined ? this.socksProxy : this.socks_proxy;
|
|
1802
1792
|
}
|
|
1803
|
-
|
|
1793
|
+
const issocksProxyCallbackDefined = this.valueIsDefined(this.socksProxyCallback);
|
|
1794
|
+
const issocks_proxy_callback_defined = this.valueIsDefined(this.socks_proxy_callback);
|
|
1795
|
+
if (issocksProxyCallbackDefined || issocks_proxy_callback_defined) {
|
|
1804
1796
|
usedProxies.push('socksProxyCallback');
|
|
1805
|
-
socksProxy = this.socksProxyCallback(url, method, headers, body);
|
|
1806
|
-
}
|
|
1807
|
-
if (this.socks_proxy_callback !== undefined) {
|
|
1808
|
-
usedProxies.push('socks_proxy_callback');
|
|
1809
|
-
socksProxy = this.socks_proxy_callback(url, method, headers, body);
|
|
1797
|
+
socksProxy = issocksProxyCallbackDefined ? this.socksProxyCallback(url, method, headers, body) : this.socks_proxy_callback(url, method, headers, body);
|
|
1810
1798
|
}
|
|
1811
1799
|
// check
|
|
1812
1800
|
const length = usedProxies.length;
|
package/js/src/binance.js
CHANGED
|
@@ -54,7 +54,7 @@ export default class binance extends Exchange {
|
|
|
54
54
|
'createMarketSellOrderWithCost': true,
|
|
55
55
|
'createOrder': true,
|
|
56
56
|
'createOrders': true,
|
|
57
|
-
'createOrderWithTakeProfitAndStopLoss':
|
|
57
|
+
'createOrderWithTakeProfitAndStopLoss': false,
|
|
58
58
|
'createPostOnlyOrder': true,
|
|
59
59
|
'createReduceOnlyOrder': true,
|
|
60
60
|
'createStopLimitOrder': true,
|
package/js/src/bitmart.js
CHANGED
|
@@ -2464,8 +2464,6 @@ export default class bitmart extends Exchange {
|
|
|
2464
2464
|
* @see https://developer-pro.bitmart.com/en/spot/#place-margin-order
|
|
2465
2465
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2466
2466
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2467
|
-
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2468
|
-
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2469
2467
|
* @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
|
2470
2468
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
2471
2469
|
* @param {string} type 'market', 'limit' or 'trailing' for swap markets only
|
|
@@ -2612,6 +2610,7 @@ export default class bitmart extends Exchange {
|
|
|
2612
2610
|
* @description create a trade order
|
|
2613
2611
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-order-signed
|
|
2614
2612
|
* @see https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
|
|
2613
|
+
* @see https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
|
|
2615
2614
|
* @param {string} symbol unified symbol of the market to create an order in
|
|
2616
2615
|
* @param {string} type 'market', 'limit' or 'trailing'
|
|
2617
2616
|
* @param {string} side 'buy' or 'sell'
|
|
@@ -2671,7 +2670,9 @@ export default class bitmart extends Exchange {
|
|
|
2671
2670
|
request['activation_price_type'] = this.safeInteger(params, 'activation_price_type', 1);
|
|
2672
2671
|
}
|
|
2673
2672
|
if (isTriggerOrder) {
|
|
2674
|
-
|
|
2673
|
+
if (isLimitOrder || price !== undefined) {
|
|
2674
|
+
request['executive_price'] = this.priceToPrecision(symbol, price);
|
|
2675
|
+
}
|
|
2675
2676
|
request['trigger_price'] = this.priceToPrecision(symbol, triggerPrice);
|
|
2676
2677
|
request['price_type'] = this.safeInteger(params, 'price_type', 1);
|
|
2677
2678
|
if (side === 'buy') {
|
package/js/src/bybit.js
CHANGED
|
@@ -5892,10 +5892,12 @@ export default class bybit extends Exchange {
|
|
|
5892
5892
|
* @name bybit#fetchLedger
|
|
5893
5893
|
* @description fetch the history of changes, actions done by the user or operations that altered balance of the user
|
|
5894
5894
|
* @see https://bybit-exchange.github.io/docs/v5/account/transaction-log
|
|
5895
|
+
* @see https://bybit-exchange.github.io/docs/v5/account/contract-transaction-log
|
|
5895
5896
|
* @param {string} code unified currency code, default is undefined
|
|
5896
5897
|
* @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
|
|
5897
5898
|
* @param {int} [limit] max number of ledger entrys to return, default is undefined
|
|
5898
5899
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
5900
|
+
* @param {string} [params.subType] if inverse will use v5/account/contract-transaction-log
|
|
5899
5901
|
* @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
|
|
5900
5902
|
*/
|
|
5901
5903
|
await this.loadMarkets();
|
|
@@ -5939,9 +5941,16 @@ export default class bybit extends Exchange {
|
|
|
5939
5941
|
if (limit !== undefined) {
|
|
5940
5942
|
request['limit'] = limit;
|
|
5941
5943
|
}
|
|
5944
|
+
let subType = undefined;
|
|
5945
|
+
[subType, params] = this.handleSubTypeAndParams('fetchLedger', undefined, params);
|
|
5942
5946
|
let response = undefined;
|
|
5943
5947
|
if (enableUnified[1]) {
|
|
5944
|
-
|
|
5948
|
+
if (subType === 'inverse') {
|
|
5949
|
+
response = await this.privateGetV5AccountContractTransactionLog(this.extend(request, params));
|
|
5950
|
+
}
|
|
5951
|
+
else {
|
|
5952
|
+
response = await this.privateGetV5AccountTransactionLog(this.extend(request, params));
|
|
5953
|
+
}
|
|
5945
5954
|
}
|
|
5946
5955
|
else {
|
|
5947
5956
|
response = await this.privateGetV2PrivateWalletFundRecords(this.extend(request, params));
|
package/js/src/poloniex.js
CHANGED
|
@@ -1108,8 +1108,10 @@ export default class poloniex extends Exchange {
|
|
|
1108
1108
|
market = this.safeMarket(marketId, market, '_');
|
|
1109
1109
|
const symbol = market['symbol'];
|
|
1110
1110
|
let resultingTrades = this.safeValue(order, 'resultingTrades');
|
|
1111
|
-
if (
|
|
1112
|
-
|
|
1111
|
+
if (resultingTrades !== undefined) {
|
|
1112
|
+
if (!Array.isArray(resultingTrades)) {
|
|
1113
|
+
resultingTrades = this.safeValue(resultingTrades, this.safeString(market, 'id', marketId));
|
|
1114
|
+
}
|
|
1113
1115
|
}
|
|
1114
1116
|
const price = this.safeString2(order, 'price', 'rate');
|
|
1115
1117
|
const amount = this.safeString(order, 'quantity');
|
package/package.json
CHANGED