ccxt 4.3.21 → 4.3.22
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/cjs/ccxt.js +1 -1
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/phemex.js +39 -4
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/coinex.js +1 -1
- package/js/src/phemex.js +39 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -215,13 +215,13 @@ console.log(version, Object.keys(exchanges));
|
|
|
215
215
|
|
|
216
216
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
|
217
217
|
|
|
218
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
|
219
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
|
218
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.22/dist/ccxt.browser.js
|
|
219
|
+
* unpkg: https://unpkg.com/ccxt@4.3.22/dist/ccxt.browser.js
|
|
220
220
|
|
|
221
221
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
|
222
222
|
|
|
223
223
|
```HTML
|
|
224
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
|
224
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.22/dist/ccxt.browser.js"></script>
|
|
225
225
|
```
|
|
226
226
|
|
|
227
227
|
Creates a global `ccxt` object:
|
package/dist/cjs/ccxt.js
CHANGED
|
@@ -184,7 +184,7 @@ var woofipro$1 = require('./src/pro/woofipro.js');
|
|
|
184
184
|
|
|
185
185
|
//-----------------------------------------------------------------------------
|
|
186
186
|
// this is updated by vss.js when building
|
|
187
|
-
const version = '4.3.
|
|
187
|
+
const version = '4.3.22';
|
|
188
188
|
Exchange["default"].ccxtVersion = version;
|
|
189
189
|
const exchanges = {
|
|
190
190
|
'ace': ace,
|
package/dist/cjs/src/coinex.js
CHANGED
|
@@ -5912,7 +5912,7 @@ class coinex extends coinex$1 {
|
|
|
5912
5912
|
const code = this.safeString(response, 'code');
|
|
5913
5913
|
const data = this.safeValue(response, 'data');
|
|
5914
5914
|
const message = this.safeString(response, 'message');
|
|
5915
|
-
if ((code !== '0') || ((message !== 'Success') && (message !== 'Succeeded') && (message !== '
|
|
5915
|
+
if ((code !== '0') || ((message !== 'Success') && (message !== 'Succeeded') && (message.toLowerCase() !== 'ok') && !data)) {
|
|
5916
5916
|
const feedback = this.id + ' ' + message;
|
|
5917
5917
|
this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
|
|
5918
5918
|
this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
|
package/dist/cjs/src/phemex.js
CHANGED
|
@@ -1704,6 +1704,26 @@ class phemex extends phemex$1 {
|
|
|
1704
1704
|
// "execId": "8718cae",
|
|
1705
1705
|
// "execStatus": 6
|
|
1706
1706
|
// }
|
|
1707
|
+
// spot with fees paid using PT token
|
|
1708
|
+
// "createdAt": "1714990724076",
|
|
1709
|
+
// "symbol": "BTCUSDT",
|
|
1710
|
+
// "currency": "USDT",
|
|
1711
|
+
// "action": "1",
|
|
1712
|
+
// "tradeType": "1",
|
|
1713
|
+
// "execQtyRq": "0.003",
|
|
1714
|
+
// "execPriceRp": "64935",
|
|
1715
|
+
// "side": "2",
|
|
1716
|
+
// "orderQtyRq": "0.003",
|
|
1717
|
+
// "priceRp": "51600",
|
|
1718
|
+
// "execValueRv": "194.805",
|
|
1719
|
+
// "feeRateRr": "0.000495",
|
|
1720
|
+
// "execFeeRv": "0",
|
|
1721
|
+
// "ordType": "3",
|
|
1722
|
+
// "execId": "XXXXXX",
|
|
1723
|
+
// "execStatus": "7",
|
|
1724
|
+
// "posSide": "1",
|
|
1725
|
+
// "ptFeeRv": "0.110012249248",
|
|
1726
|
+
// "ptPriceRp": "0.876524893"
|
|
1707
1727
|
//
|
|
1708
1728
|
let priceString;
|
|
1709
1729
|
let amountString;
|
|
@@ -1760,10 +1780,19 @@ class phemex extends phemex$1 {
|
|
|
1760
1780
|
priceString = this.safeString(trade, 'execPriceRp');
|
|
1761
1781
|
amountString = this.safeString(trade, 'execQtyRq');
|
|
1762
1782
|
costString = this.safeString(trade, 'execValueRv');
|
|
1763
|
-
feeCostString = this.safeString(trade, 'execFeeRv');
|
|
1783
|
+
feeCostString = this.omitZero(this.safeString(trade, 'execFeeRv'));
|
|
1764
1784
|
feeRateString = this.safeString(trade, 'feeRateRr');
|
|
1765
|
-
|
|
1766
|
-
|
|
1785
|
+
if (feeCostString !== undefined) {
|
|
1786
|
+
const currencyId = this.safeString(trade, 'currency');
|
|
1787
|
+
feeCurrencyCode = this.safeCurrencyCode(currencyId);
|
|
1788
|
+
}
|
|
1789
|
+
else {
|
|
1790
|
+
const ptFeeRv = this.omitZero(this.safeString(trade, 'ptFeeRv'));
|
|
1791
|
+
if (ptFeeRv !== undefined) {
|
|
1792
|
+
feeCostString = ptFeeRv;
|
|
1793
|
+
feeCurrencyCode = 'PT';
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1767
1796
|
}
|
|
1768
1797
|
else {
|
|
1769
1798
|
side = this.safeStringLower(trade, 'side');
|
|
@@ -1776,7 +1805,7 @@ class phemex extends phemex$1 {
|
|
|
1776
1805
|
amountString = this.fromEv(this.safeString(trade, 'execBaseQtyEv'), market);
|
|
1777
1806
|
amountString = this.safeString(trade, 'execQty', amountString);
|
|
1778
1807
|
costString = this.fromEr(this.safeString2(trade, 'execQuoteQtyEv', 'execValueEv'), market);
|
|
1779
|
-
feeCostString = this.fromEr(this.safeString(trade, 'execFeeEv'), market);
|
|
1808
|
+
feeCostString = this.fromEr(this.omitZero(this.safeString(trade, 'execFeeEv')), market);
|
|
1780
1809
|
if (feeCostString !== undefined) {
|
|
1781
1810
|
feeRateString = this.fromEr(this.safeString(trade, 'feeRateEr'), market);
|
|
1782
1811
|
if (market['spot']) {
|
|
@@ -1790,6 +1819,12 @@ class phemex extends phemex$1 {
|
|
|
1790
1819
|
}
|
|
1791
1820
|
}
|
|
1792
1821
|
}
|
|
1822
|
+
else {
|
|
1823
|
+
feeCostString = this.safeString(trade, 'ptFeeRv');
|
|
1824
|
+
if (feeCostString !== undefined) {
|
|
1825
|
+
feeCurrencyCode = 'PT';
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1793
1828
|
}
|
|
1794
1829
|
fee = {
|
|
1795
1830
|
'cost': feeCostString,
|
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 { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, Leverage, Leverages, Option, OptionChain, Conversion } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.3.
|
|
7
|
+
declare const version = "4.3.21";
|
|
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, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } 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.22';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
package/js/src/coinex.js
CHANGED
|
@@ -5915,7 +5915,7 @@ export default class coinex extends Exchange {
|
|
|
5915
5915
|
const code = this.safeString(response, 'code');
|
|
5916
5916
|
const data = this.safeValue(response, 'data');
|
|
5917
5917
|
const message = this.safeString(response, 'message');
|
|
5918
|
-
if ((code !== '0') || ((message !== 'Success') && (message !== 'Succeeded') && (message !== '
|
|
5918
|
+
if ((code !== '0') || ((message !== 'Success') && (message !== 'Succeeded') && (message.toLowerCase() !== 'ok') && !data)) {
|
|
5919
5919
|
const feedback = this.id + ' ' + message;
|
|
5920
5920
|
this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
|
|
5921
5921
|
this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
|
package/js/src/phemex.js
CHANGED
|
@@ -1707,6 +1707,26 @@ export default class phemex extends Exchange {
|
|
|
1707
1707
|
// "execId": "8718cae",
|
|
1708
1708
|
// "execStatus": 6
|
|
1709
1709
|
// }
|
|
1710
|
+
// spot with fees paid using PT token
|
|
1711
|
+
// "createdAt": "1714990724076",
|
|
1712
|
+
// "symbol": "BTCUSDT",
|
|
1713
|
+
// "currency": "USDT",
|
|
1714
|
+
// "action": "1",
|
|
1715
|
+
// "tradeType": "1",
|
|
1716
|
+
// "execQtyRq": "0.003",
|
|
1717
|
+
// "execPriceRp": "64935",
|
|
1718
|
+
// "side": "2",
|
|
1719
|
+
// "orderQtyRq": "0.003",
|
|
1720
|
+
// "priceRp": "51600",
|
|
1721
|
+
// "execValueRv": "194.805",
|
|
1722
|
+
// "feeRateRr": "0.000495",
|
|
1723
|
+
// "execFeeRv": "0",
|
|
1724
|
+
// "ordType": "3",
|
|
1725
|
+
// "execId": "XXXXXX",
|
|
1726
|
+
// "execStatus": "7",
|
|
1727
|
+
// "posSide": "1",
|
|
1728
|
+
// "ptFeeRv": "0.110012249248",
|
|
1729
|
+
// "ptPriceRp": "0.876524893"
|
|
1710
1730
|
//
|
|
1711
1731
|
let priceString;
|
|
1712
1732
|
let amountString;
|
|
@@ -1763,10 +1783,19 @@ export default class phemex extends Exchange {
|
|
|
1763
1783
|
priceString = this.safeString(trade, 'execPriceRp');
|
|
1764
1784
|
amountString = this.safeString(trade, 'execQtyRq');
|
|
1765
1785
|
costString = this.safeString(trade, 'execValueRv');
|
|
1766
|
-
feeCostString = this.safeString(trade, 'execFeeRv');
|
|
1786
|
+
feeCostString = this.omitZero(this.safeString(trade, 'execFeeRv'));
|
|
1767
1787
|
feeRateString = this.safeString(trade, 'feeRateRr');
|
|
1768
|
-
|
|
1769
|
-
|
|
1788
|
+
if (feeCostString !== undefined) {
|
|
1789
|
+
const currencyId = this.safeString(trade, 'currency');
|
|
1790
|
+
feeCurrencyCode = this.safeCurrencyCode(currencyId);
|
|
1791
|
+
}
|
|
1792
|
+
else {
|
|
1793
|
+
const ptFeeRv = this.omitZero(this.safeString(trade, 'ptFeeRv'));
|
|
1794
|
+
if (ptFeeRv !== undefined) {
|
|
1795
|
+
feeCostString = ptFeeRv;
|
|
1796
|
+
feeCurrencyCode = 'PT';
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1770
1799
|
}
|
|
1771
1800
|
else {
|
|
1772
1801
|
side = this.safeStringLower(trade, 'side');
|
|
@@ -1779,7 +1808,7 @@ export default class phemex extends Exchange {
|
|
|
1779
1808
|
amountString = this.fromEv(this.safeString(trade, 'execBaseQtyEv'), market);
|
|
1780
1809
|
amountString = this.safeString(trade, 'execQty', amountString);
|
|
1781
1810
|
costString = this.fromEr(this.safeString2(trade, 'execQuoteQtyEv', 'execValueEv'), market);
|
|
1782
|
-
feeCostString = this.fromEr(this.safeString(trade, 'execFeeEv'), market);
|
|
1811
|
+
feeCostString = this.fromEr(this.omitZero(this.safeString(trade, 'execFeeEv')), market);
|
|
1783
1812
|
if (feeCostString !== undefined) {
|
|
1784
1813
|
feeRateString = this.fromEr(this.safeString(trade, 'feeRateEr'), market);
|
|
1785
1814
|
if (market['spot']) {
|
|
@@ -1793,6 +1822,12 @@ export default class phemex extends Exchange {
|
|
|
1793
1822
|
}
|
|
1794
1823
|
}
|
|
1795
1824
|
}
|
|
1825
|
+
else {
|
|
1826
|
+
feeCostString = this.safeString(trade, 'ptFeeRv');
|
|
1827
|
+
if (feeCostString !== undefined) {
|
|
1828
|
+
feeCurrencyCode = 'PT';
|
|
1829
|
+
}
|
|
1830
|
+
}
|
|
1796
1831
|
}
|
|
1797
1832
|
fee = {
|
|
1798
1833
|
'cost': feeCostString,
|
package/package.json
CHANGED