ccxt 4.2.88 → 4.2.90
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/build.sh +2 -2
- package/dist/ccxt.browser.js +1062 -241
- package/dist/ccxt.browser.min.js +6 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +3 -0
- package/dist/cjs/src/base/Exchange.js +53 -7
- package/dist/cjs/src/base/functions/crypto.js +37 -0
- package/dist/cjs/src/base/functions/rsa.js +19 -4
- package/dist/cjs/src/binance.js +92 -9
- package/dist/cjs/src/bingx.js +101 -1
- package/dist/cjs/src/bitfinex2.js +1 -0
- package/dist/cjs/src/bitflyer.js +2 -0
- package/dist/cjs/src/bitget.js +9 -1
- package/dist/cjs/src/bitmart.js +2 -0
- package/dist/cjs/src/bitmex.js +1 -0
- package/dist/cjs/src/bitrue.js +1 -0
- package/dist/cjs/src/bitstamp.js +83 -99
- package/dist/cjs/src/blofin.js +2 -0
- package/dist/cjs/src/bybit.js +63 -0
- package/dist/cjs/src/coinbase.js +48 -24
- package/dist/cjs/src/coinbaseinternational.js +1 -0
- package/dist/cjs/src/coinex.js +102 -8
- package/dist/cjs/src/coinsph.js +2 -0
- package/dist/cjs/src/cryptocom.js +1 -0
- package/dist/cjs/src/delta.js +1 -0
- package/dist/cjs/src/digifinex.js +3 -0
- package/dist/cjs/src/exmo.js +1 -0
- package/dist/cjs/src/gate.js +4 -0
- package/dist/cjs/src/gemini.js +10 -9
- package/dist/cjs/src/hitbtc.js +3 -0
- package/dist/cjs/src/htx.js +3 -0
- package/dist/cjs/src/hyperliquid.js +1 -0
- package/dist/cjs/src/kucoin.js +40 -15
- package/dist/cjs/src/kucoinfutures.js +34 -3
- package/dist/cjs/src/latoken.js +4 -0
- package/dist/cjs/src/lbank.js +3 -1
- package/dist/cjs/src/luno.js +2 -0
- package/dist/cjs/src/mexc.js +55 -6
- package/dist/cjs/src/okx.js +159 -8
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/pro/bitget.js +2 -0
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +48 -0
- package/dist/cjs/src/timex.js +2 -0
- package/dist/cjs/src/woo.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bingx.d.ts +2 -0
- package/js/src/abstract/bybit.d.ts +2 -0
- package/js/src/ascendex.d.ts +3 -3
- package/js/src/ascendex.js +3 -0
- package/js/src/base/Exchange.d.ts +13 -8
- package/js/src/base/Exchange.js +53 -7
- package/js/src/base/functions/crypto.js +37 -0
- package/js/src/base/functions/rsa.d.ts +1 -1
- package/js/src/base/functions/rsa.js +21 -5
- package/js/src/base/types.d.ts +35 -1
- package/js/src/bigone.d.ts +2 -2
- package/js/src/binance.d.ts +6 -15
- package/js/src/binance.js +92 -9
- package/js/src/bingx.d.ts +3 -2
- package/js/src/bingx.js +101 -1
- package/js/src/bit2c.d.ts +2 -2
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex2.d.ts +3 -3
- package/js/src/bitfinex2.js +1 -0
- package/js/src/bitflyer.d.ts +2 -7
- package/js/src/bitflyer.js +2 -0
- package/js/src/bitget.d.ts +6 -9
- package/js/src/bitget.js +9 -1
- package/js/src/bitmart.d.ts +4 -14
- package/js/src/bitmart.js +2 -0
- package/js/src/bitmex.d.ts +2 -2
- package/js/src/bitmex.js +1 -0
- package/js/src/bitopro.d.ts +3 -3
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/bitrue.js +1 -0
- package/js/src/bitso.d.ts +2 -2
- package/js/src/bitstamp.d.ts +7 -19
- package/js/src/bitstamp.js +83 -99
- package/js/src/bitteam.d.ts +2 -2
- package/js/src/bitvavo.d.ts +3 -3
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +2 -2
- package/js/src/blofin.d.ts +2 -7
- package/js/src/blofin.js +2 -0
- package/js/src/bybit.d.ts +7 -15
- package/js/src/bybit.js +63 -0
- package/js/src/cex.d.ts +3 -3
- package/js/src/coinbase.d.ts +2 -2
- package/js/src/coinbase.js +48 -24
- package/js/src/coinbaseinternational.d.ts +2 -2
- package/js/src/coinbaseinternational.js +1 -0
- package/js/src/coinbasepro.d.ts +3 -3
- package/js/src/coincheck.d.ts +2 -2
- package/js/src/coinex.d.ts +7 -19
- package/js/src/coinex.js +102 -8
- package/js/src/coinlist.d.ts +3 -3
- package/js/src/coinmate.d.ts +2 -9
- package/js/src/coinmetro.d.ts +2 -2
- package/js/src/coinone.d.ts +2 -2
- package/js/src/coinsph.d.ts +4 -14
- package/js/src/coinsph.js +2 -0
- package/js/src/cryptocom.js +1 -0
- package/js/src/currencycom.d.ts +3 -3
- package/js/src/delta.d.ts +2 -2
- package/js/src/delta.js +1 -0
- package/js/src/deribit.d.ts +3 -3
- package/js/src/digifinex.d.ts +4 -14
- package/js/src/digifinex.js +3 -0
- package/js/src/exmo.d.ts +3 -3
- package/js/src/exmo.js +1 -0
- package/js/src/gate.d.ts +6 -9
- package/js/src/gate.js +4 -0
- package/js/src/gemini.d.ts +3 -3
- package/js/src/gemini.js +10 -9
- package/js/src/hitbtc.d.ts +5 -15
- package/js/src/hitbtc.js +3 -0
- package/js/src/hollaex.d.ts +3 -3
- package/js/src/htx.d.ts +4 -14
- package/js/src/htx.js +3 -0
- package/js/src/huobijp.d.ts +2 -2
- package/js/src/hyperliquid.d.ts +2 -2
- package/js/src/hyperliquid.js +1 -0
- package/js/src/idex.d.ts +3 -3
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/kraken.d.ts +3 -10
- package/js/src/kucoin.d.ts +3 -10
- package/js/src/kucoin.js +40 -15
- package/js/src/kucoinfutures.d.ts +2 -9
- package/js/src/kucoinfutures.js +34 -3
- package/js/src/kuna.d.ts +2 -2
- package/js/src/latoken.d.ts +7 -8
- package/js/src/latoken.js +4 -0
- package/js/src/lbank.d.ts +4 -9
- package/js/src/lbank.js +3 -1
- package/js/src/luno.d.ts +2 -7
- package/js/src/luno.js +2 -0
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mexc.d.ts +3 -3
- package/js/src/mexc.js +55 -6
- package/js/src/ndax.d.ts +2 -2
- package/js/src/oceanex.d.ts +2 -2
- package/js/src/okcoin.d.ts +2 -2
- package/js/src/okx.d.ts +5 -14
- package/js/src/okx.js +159 -8
- package/js/src/onetrading.d.ts +3 -3
- package/js/src/phemex.d.ts +2 -2
- package/js/src/phemex.js +1 -0
- package/js/src/poloniex.d.ts +3 -3
- package/js/src/pro/bitget.js +2 -0
- package/js/src/pro/bitvavo.d.ts +2 -2
- package/js/src/probit.d.ts +2 -2
- package/js/src/timex.d.ts +4 -14
- package/js/src/timex.js +2 -0
- package/js/src/upbit.d.ts +2 -9
- package/js/src/wazirx.d.ts +2 -2
- package/js/src/whitebit.d.ts +3 -3
- package/js/src/woo.d.ts +3 -3
- package/js/src/woo.js +1 -0
- package/js/src/yobit.d.ts +2 -2
- package/package.json +1 -1
- package/skip-tests.json +6 -1
|
@@ -8,12 +8,19 @@
|
|
|
8
8
|
import { hmac as _hmac } from '../../static_dependencies/noble-hashes/hmac.js';
|
|
9
9
|
import { base16, base64, base58 } from '../../static_dependencies/scure-base/index.js';
|
|
10
10
|
import { Base64 } from '../../static_dependencies/jsencrypt/lib/asn1js/base64.js';
|
|
11
|
+
import { ASN1 } from "../../static_dependencies/jsencrypt/lib/asn1js/asn1.js";
|
|
12
|
+
import { secp256k1 } from '../../static_dependencies/noble-curves/secp256k1.js';
|
|
13
|
+
import { P256 } from '../../static_dependencies/noble-curves/p256.js';
|
|
11
14
|
/* ------------------------------------------------------------------------ */
|
|
12
15
|
const encoders = {
|
|
13
16
|
binary: x => x,
|
|
14
17
|
hex: base16.encode,
|
|
15
18
|
base64: base64.encode,
|
|
16
19
|
};
|
|
20
|
+
const supportedCurve = {
|
|
21
|
+
'1.3.132.0.10': secp256k1,
|
|
22
|
+
'1.2.840.10045.3.1.7': P256,
|
|
23
|
+
};
|
|
17
24
|
/* ............................................. */
|
|
18
25
|
const hash = (request, hash, digest = 'hex') => {
|
|
19
26
|
const binary = hash(request);
|
|
@@ -29,6 +36,36 @@ function ecdsa(request, secret, curve, prehash = null) {
|
|
|
29
36
|
if (prehash) {
|
|
30
37
|
request = hash(request, prehash, 'hex');
|
|
31
38
|
}
|
|
39
|
+
if (typeof secret === 'string' && secret.length > 64) {
|
|
40
|
+
// decode pem key
|
|
41
|
+
if (secret.startsWith('-----BEGIN EC PRIVATE KEY-----')) {
|
|
42
|
+
const der = Base64.unarmor(secret);
|
|
43
|
+
let asn1 = ASN1.decode(der);
|
|
44
|
+
if (asn1.sub.length === 4) {
|
|
45
|
+
// ECPrivateKey ::= SEQUENCE {
|
|
46
|
+
// version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
|
|
47
|
+
// privateKey OCTET STRING,
|
|
48
|
+
// parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
|
|
49
|
+
// publicKey [1] BIT STRING OPTIONAL
|
|
50
|
+
// }
|
|
51
|
+
if (typeof asn1.sub[2].sub !== null && asn1.sub[2].sub.length > 0) {
|
|
52
|
+
const oid = asn1.sub[2].sub[0].content(undefined);
|
|
53
|
+
if (supportedCurve[oid] === undefined)
|
|
54
|
+
throw new Error('Unsupported curve');
|
|
55
|
+
curve = supportedCurve[oid];
|
|
56
|
+
}
|
|
57
|
+
secret = asn1.sub[1].getHexStringValue();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// maybe return false
|
|
61
|
+
throw new Error('Unsupported key format');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// maybe return false
|
|
66
|
+
throw new Error('Unsupported key format');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
32
69
|
const signature = curve.sign(request, secret);
|
|
33
70
|
return {
|
|
34
71
|
'r': signature.r.toString(16),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CHash } from '../../static_dependencies/noble-hashes/utils.js';
|
|
2
2
|
declare function rsa(request: string, secret: string, hash: CHash): string | false;
|
|
3
|
-
declare function jwt(request: {}, secret: Uint8Array, hash: CHash, isRSA?: boolean): string;
|
|
3
|
+
declare function jwt(request: {}, secret: Uint8Array, hash: CHash, isRSA?: boolean, opts?: {}): string;
|
|
4
4
|
export { rsa, jwt };
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
import { JSEncrypt } from "../../static_dependencies/jsencrypt/JSEncrypt.js";
|
|
8
8
|
import { base16, utf8 } from '../../static_dependencies/scure-base/index.js';
|
|
9
|
-
import { urlencodeBase64, stringToBase64 } from './encode.js';
|
|
9
|
+
import { urlencodeBase64, stringToBase64, base16ToBinary, binaryToBase64 } from './encode.js';
|
|
10
10
|
import { hmac } from './crypto.js';
|
|
11
|
+
import { P256 } from '../../static_dependencies/noble-curves/p256.js';
|
|
12
|
+
import { ecdsa } from '../../base/functions/crypto.js';
|
|
11
13
|
function rsa(request, secret, hash) {
|
|
12
14
|
const RSA = new JSEncrypt();
|
|
13
15
|
const digester = (input) => base16.encode(hash(input));
|
|
@@ -15,9 +17,17 @@ function rsa(request, secret, hash) {
|
|
|
15
17
|
const name = (hash.create()).constructor.name.toLowerCase();
|
|
16
18
|
return RSA.sign(request, digester, name);
|
|
17
19
|
}
|
|
18
|
-
function jwt(request, secret, hash, isRSA = false) {
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
function jwt(request, secret, hash, isRSA = false, opts = {}) {
|
|
21
|
+
let alg = (isRSA ? 'RS' : 'HS') + (hash.outputLen * 8);
|
|
22
|
+
if (opts['alg']) {
|
|
23
|
+
alg = opts['alg'].toUpperCase();
|
|
24
|
+
}
|
|
25
|
+
const header = Object.assign({ 'alg': alg, 'typ': 'JWT' }, opts);
|
|
26
|
+
if (header['iat'] !== undefined) {
|
|
27
|
+
request['iat'] = header['iat'];
|
|
28
|
+
delete header['iat'];
|
|
29
|
+
}
|
|
30
|
+
const encodedHeader = urlencodeBase64(stringToBase64(JSON.stringify(header)));
|
|
21
31
|
const encodedData = urlencodeBase64(stringToBase64(JSON.stringify(request)));
|
|
22
32
|
const token = [encodedHeader, encodedData].join('.');
|
|
23
33
|
const algoType = alg.slice(0, 2);
|
|
@@ -25,9 +35,15 @@ function jwt(request, secret, hash, isRSA = false) {
|
|
|
25
35
|
if (algoType === 'HS') {
|
|
26
36
|
signature = urlencodeBase64(hmac(token, secret, hash, 'base64'));
|
|
27
37
|
}
|
|
28
|
-
else if (algoType === 'RS') {
|
|
38
|
+
else if (isRSA || algoType === 'RS') {
|
|
29
39
|
signature = urlencodeBase64(rsa(token, utf8.encode(secret), hash));
|
|
30
40
|
}
|
|
41
|
+
else if (algoType === 'ES') {
|
|
42
|
+
const signedHash = ecdsa(token, utf8.encode(secret), P256, hash);
|
|
43
|
+
const r = (signedHash.r.length === 64) ? signedHash.r : '0' + signedHash.r;
|
|
44
|
+
const s = (signedHash.s.length === 64) ? signedHash.s : '0' + signedHash.s;
|
|
45
|
+
signature = urlencodeBase64(binaryToBase64(base16ToBinary(r + s)));
|
|
46
|
+
}
|
|
31
47
|
return [token, signature].join('.');
|
|
32
48
|
}
|
|
33
49
|
export { rsa, jwt };
|
package/js/src/base/types.d.ts
CHANGED
|
@@ -25,6 +25,14 @@ export interface FeeInterface {
|
|
|
25
25
|
cost: Num;
|
|
26
26
|
rate?: Num;
|
|
27
27
|
}
|
|
28
|
+
export interface TradingFeeInterface {
|
|
29
|
+
info: any;
|
|
30
|
+
symbol: Str;
|
|
31
|
+
maker: Num;
|
|
32
|
+
taker: Num;
|
|
33
|
+
percentage: Bool;
|
|
34
|
+
tierBased: Bool;
|
|
35
|
+
}
|
|
28
36
|
export declare type Fee = FeeInterface | undefined;
|
|
29
37
|
export interface MarketInterface {
|
|
30
38
|
id: string;
|
|
@@ -171,8 +179,29 @@ export interface Tickers extends Dictionary<Ticker> {
|
|
|
171
179
|
export interface CurrencyInterface {
|
|
172
180
|
id: string;
|
|
173
181
|
code: string;
|
|
174
|
-
numericId?:
|
|
182
|
+
numericId?: Int;
|
|
175
183
|
precision: number;
|
|
184
|
+
type?: Str;
|
|
185
|
+
margin?: Bool;
|
|
186
|
+
name?: Str;
|
|
187
|
+
active?: Bool;
|
|
188
|
+
deposit?: Bool;
|
|
189
|
+
withdraw?: Bool;
|
|
190
|
+
fee?: Num;
|
|
191
|
+
limits: {
|
|
192
|
+
amount: {
|
|
193
|
+
min?: Num;
|
|
194
|
+
max?: Num;
|
|
195
|
+
};
|
|
196
|
+
withdraw: {
|
|
197
|
+
min?: Num;
|
|
198
|
+
max?: Num;
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
networks: {
|
|
202
|
+
string: any;
|
|
203
|
+
};
|
|
204
|
+
info: any;
|
|
176
205
|
}
|
|
177
206
|
export interface Balance {
|
|
178
207
|
free: Num;
|
|
@@ -436,6 +465,7 @@ export interface MarginModification {
|
|
|
436
465
|
'info': any;
|
|
437
466
|
'symbol': string;
|
|
438
467
|
'type': 'add' | 'reduce' | 'set' | undefined;
|
|
468
|
+
'marginMode': 'cross' | 'isolated' | undefined;
|
|
439
469
|
'amount': Num;
|
|
440
470
|
'total': Num;
|
|
441
471
|
'code': Str;
|
|
@@ -447,6 +477,10 @@ export interface Leverages extends Dictionary<Leverage> {
|
|
|
447
477
|
}
|
|
448
478
|
export interface LastPrices extends Dictionary<LastPrice> {
|
|
449
479
|
}
|
|
480
|
+
export interface Currencies extends Dictionary<CurrencyInterface> {
|
|
481
|
+
}
|
|
482
|
+
export interface TradingFees extends Dictionary<TradingFeeInterface> {
|
|
483
|
+
}
|
|
450
484
|
export interface MarginModes extends Dictionary<MarginMode> {
|
|
451
485
|
}
|
|
452
486
|
export interface OptionChain extends Dictionary<Option> {
|
package/js/src/bigone.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import Exchange from './abstract/bigone.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Currencies } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bigone
|
|
5
5
|
* @augments Exchange
|
|
6
6
|
*/
|
|
7
7
|
export default class bigone extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchCurrencies(params?: {}): Promise<
|
|
9
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
10
10
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
11
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
12
12
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
package/js/src/binance.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/binance.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class binance
|
|
5
5
|
* @augments Exchange
|
|
@@ -16,7 +16,7 @@ export default class binance extends Exchange {
|
|
|
16
16
|
currencyToPrecision(code: any, fee: any, networkCode?: any): any;
|
|
17
17
|
nonce(): number;
|
|
18
18
|
fetchTime(params?: {}): Promise<number>;
|
|
19
|
-
fetchCurrencies(params?: {}): Promise<
|
|
19
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
20
20
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
21
21
|
parseMarket(market: any): Market;
|
|
22
22
|
parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
|
|
@@ -132,19 +132,9 @@ export default class binance extends Exchange {
|
|
|
132
132
|
fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
|
|
133
133
|
parseDepositWithdrawFee(fee: any, currency?: Currency): any;
|
|
134
134
|
withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
|
|
135
|
-
parseTradingFee(fee: any, market?: Market):
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
maker: number;
|
|
139
|
-
taker: number;
|
|
140
|
-
};
|
|
141
|
-
fetchTradingFee(symbol: string, params?: {}): Promise<{
|
|
142
|
-
info: any;
|
|
143
|
-
symbol: string;
|
|
144
|
-
maker: number;
|
|
145
|
-
taker: number;
|
|
146
|
-
}>;
|
|
147
|
-
fetchTradingFees(params?: {}): Promise<{}>;
|
|
135
|
+
parseTradingFee(fee: any, market?: Market): TradingFeeInterface;
|
|
136
|
+
fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
|
|
137
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
148
138
|
futuresTransfer(code: string, amount: any, type: any, params?: {}): Promise<{
|
|
149
139
|
info: any;
|
|
150
140
|
id: string;
|
|
@@ -448,4 +438,5 @@ export default class binance extends Exchange {
|
|
|
448
438
|
baseVolume: number;
|
|
449
439
|
quoteVolume: any;
|
|
450
440
|
};
|
|
441
|
+
fetchMarginAdjustmentHistory(symbol?: Str, type?: Str, since?: Num, limit?: Num, params?: {}): Promise<MarginModification[]>;
|
|
451
442
|
}
|
package/js/src/binance.js
CHANGED
|
@@ -101,6 +101,7 @@ export default class binance extends Exchange {
|
|
|
101
101
|
'fetchLeverages': true,
|
|
102
102
|
'fetchLeverageTiers': true,
|
|
103
103
|
'fetchLiquidations': false,
|
|
104
|
+
'fetchMarginAdjustmentHistory': true,
|
|
104
105
|
'fetchMarginMode': 'emulated',
|
|
105
106
|
'fetchMarginModes': true,
|
|
106
107
|
'fetchMarketLeverageTiers': 'emulated',
|
|
@@ -8656,6 +8657,8 @@ export default class binance extends Exchange {
|
|
|
8656
8657
|
'symbol': symbol,
|
|
8657
8658
|
'maker': this.safeNumber2(fee, 'makerCommission', 'makerCommissionRate'),
|
|
8658
8659
|
'taker': this.safeNumber2(fee, 'takerCommission', 'takerCommissionRate'),
|
|
8660
|
+
'percentage': undefined,
|
|
8661
|
+
'tierBased': undefined,
|
|
8659
8662
|
};
|
|
8660
8663
|
}
|
|
8661
8664
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -11229,21 +11232,37 @@ export default class binance extends Exchange {
|
|
|
11229
11232
|
// "type": 1
|
|
11230
11233
|
// }
|
|
11231
11234
|
//
|
|
11235
|
+
// fetchMarginAdjustmentHistory
|
|
11236
|
+
//
|
|
11237
|
+
// {
|
|
11238
|
+
// symbol: "XRPUSDT",
|
|
11239
|
+
// type: "1",
|
|
11240
|
+
// deltaType: "TRADE",
|
|
11241
|
+
// amount: "2.57148240",
|
|
11242
|
+
// asset: "USDT",
|
|
11243
|
+
// time: "1711046271555",
|
|
11244
|
+
// positionSide: "BOTH",
|
|
11245
|
+
// clientTranId: ""
|
|
11246
|
+
// }
|
|
11247
|
+
//
|
|
11232
11248
|
const rawType = this.safeInteger(data, 'type');
|
|
11233
|
-
const resultType = (rawType === 1) ? 'add' : 'reduce';
|
|
11234
|
-
const resultAmount = this.safeNumber(data, 'amount');
|
|
11235
11249
|
const errorCode = this.safeString(data, 'code');
|
|
11236
|
-
const
|
|
11250
|
+
const marketId = this.safeString(data, 'symbol');
|
|
11251
|
+
const timestamp = this.safeInteger(data, 'time');
|
|
11252
|
+
market = this.safeMarket(marketId, market, undefined, 'swap');
|
|
11253
|
+
const noErrorCode = errorCode === undefined;
|
|
11254
|
+
const success = errorCode === '200';
|
|
11237
11255
|
return {
|
|
11238
11256
|
'info': data,
|
|
11239
11257
|
'symbol': market['symbol'],
|
|
11240
|
-
'type':
|
|
11241
|
-
'
|
|
11258
|
+
'type': (rawType === 1) ? 'add' : 'reduce',
|
|
11259
|
+
'marginMode': 'isolated',
|
|
11260
|
+
'amount': this.safeNumber(data, 'amount'),
|
|
11261
|
+
'code': this.safeString(data, 'asset'),
|
|
11242
11262
|
'total': undefined,
|
|
11243
|
-
'
|
|
11244
|
-
'
|
|
11245
|
-
'
|
|
11246
|
-
'datetime': undefined,
|
|
11263
|
+
'status': (success || noErrorCode) ? 'ok' : 'failed',
|
|
11264
|
+
'timestamp': timestamp,
|
|
11265
|
+
'datetime': this.iso8601(timestamp),
|
|
11247
11266
|
};
|
|
11248
11267
|
}
|
|
11249
11268
|
async reduceMargin(symbol, amount, params = {}) {
|
|
@@ -12506,4 +12525,68 @@ export default class binance extends Exchange {
|
|
|
12506
12525
|
'quoteVolume': undefined,
|
|
12507
12526
|
};
|
|
12508
12527
|
}
|
|
12528
|
+
async fetchMarginAdjustmentHistory(symbol = undefined, type = undefined, since = undefined, limit = undefined, params = {}) {
|
|
12529
|
+
/**
|
|
12530
|
+
* @method
|
|
12531
|
+
* @description fetches the history of margin added or reduced from contract isolated positions
|
|
12532
|
+
* @see https://binance-docs.github.io/apidocs/futures/en/#get-position-margin-change-history-trade
|
|
12533
|
+
* @see https://binance-docs.github.io/apidocs/delivery/en/#get-position-margin-change-history-trade
|
|
12534
|
+
* @param {string} symbol unified market symbol
|
|
12535
|
+
* @param {string} [type] "add" or "reduce"
|
|
12536
|
+
* @param {int} [since] timestamp in ms of the earliest change to fetch
|
|
12537
|
+
* @param {int} [limit] the maximum amount of changes to fetch
|
|
12538
|
+
* @param {object} params extra parameters specific to the exchange api endpoint
|
|
12539
|
+
* @param {int} [params.until] timestamp in ms of the latest change to fetch
|
|
12540
|
+
* @returns {object[]} a list of [margin structures]{@link https://docs.ccxt.com/#/?id=margin-loan-structure}
|
|
12541
|
+
*/
|
|
12542
|
+
await this.loadMarkets();
|
|
12543
|
+
if (symbol === undefined) {
|
|
12544
|
+
throw new ArgumentsRequired(this.id + ' fetchMarginAdjustmentHistory () requires a symbol argument');
|
|
12545
|
+
}
|
|
12546
|
+
const market = this.market(symbol);
|
|
12547
|
+
const until = this.safeInteger(params, 'until');
|
|
12548
|
+
params = this.omit(params, 'until');
|
|
12549
|
+
const request = {
|
|
12550
|
+
'symbol': market['id'],
|
|
12551
|
+
};
|
|
12552
|
+
if (type !== undefined) {
|
|
12553
|
+
request['type'] = (type === 'add') ? 1 : 2;
|
|
12554
|
+
}
|
|
12555
|
+
if (since !== undefined) {
|
|
12556
|
+
request['startTime'] = since;
|
|
12557
|
+
}
|
|
12558
|
+
if (limit !== undefined) {
|
|
12559
|
+
request['limit'] = limit;
|
|
12560
|
+
}
|
|
12561
|
+
if (until !== undefined) {
|
|
12562
|
+
request['endTime'] = until;
|
|
12563
|
+
}
|
|
12564
|
+
let response = undefined;
|
|
12565
|
+
if (market['linear']) {
|
|
12566
|
+
response = await this.fapiPrivateGetPositionMarginHistory(this.extend(request, params));
|
|
12567
|
+
}
|
|
12568
|
+
else if (market['inverse']) {
|
|
12569
|
+
response = await this.dapiPrivateGetPositionMarginHistory(this.extend(request, params));
|
|
12570
|
+
}
|
|
12571
|
+
else {
|
|
12572
|
+
throw new BadRequest(this.id + 'fetchMarginAdjustmentHistory () is not supported for markets of type ' + market['type']);
|
|
12573
|
+
}
|
|
12574
|
+
//
|
|
12575
|
+
// [
|
|
12576
|
+
// {
|
|
12577
|
+
// symbol: "XRPUSDT",
|
|
12578
|
+
// type: "1",
|
|
12579
|
+
// deltaType: "TRADE",
|
|
12580
|
+
// amount: "2.57148240",
|
|
12581
|
+
// asset: "USDT",
|
|
12582
|
+
// time: "1711046271555",
|
|
12583
|
+
// positionSide: "BOTH",
|
|
12584
|
+
// clientTranId: ""
|
|
12585
|
+
// }
|
|
12586
|
+
// ...
|
|
12587
|
+
// ]
|
|
12588
|
+
//
|
|
12589
|
+
const modifications = this.parseMarginModifications(response);
|
|
12590
|
+
return this.filterBySymbolSinceLimit(modifications, symbol, since, limit);
|
|
12591
|
+
}
|
|
12509
12592
|
}
|
package/js/src/bingx.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bingx.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Dict, Leverage, MarginMode, Num, MarginModification } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Dict, Leverage, MarginMode, Num, MarginModification, Currencies } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bingx
|
|
5
5
|
* @augments Exchange
|
|
@@ -7,7 +7,7 @@ import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, O
|
|
|
7
7
|
export default class bingx extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchTime(params?: {}): Promise<number>;
|
|
10
|
-
fetchCurrencies(params?: {}): Promise<
|
|
10
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
11
11
|
fetchSpotMarkets(params: any): Promise<import("./base/types.js").MarketInterface[]>;
|
|
12
12
|
fetchSwapMarkets(params: any): Promise<import("./base/types.js").MarketInterface[]>;
|
|
13
13
|
parseMarket(market: any): Market;
|
|
@@ -80,6 +80,7 @@ export default class bingx extends Exchange {
|
|
|
80
80
|
cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
|
|
81
81
|
cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<any>;
|
|
82
82
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
83
|
+
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
83
84
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
84
85
|
fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
85
86
|
transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
package/js/src/bingx.js
CHANGED
|
@@ -63,6 +63,7 @@ export default class bingx extends Exchange {
|
|
|
63
63
|
'fetchFundingRates': true,
|
|
64
64
|
'fetchLeverage': true,
|
|
65
65
|
'fetchLiquidations': false,
|
|
66
|
+
'fetchMarginAdjustmentHistory': false,
|
|
66
67
|
'fetchMarginMode': true,
|
|
67
68
|
'fetchMarkets': true,
|
|
68
69
|
'fetchMarkOHLCV': true,
|
|
@@ -72,6 +73,7 @@ export default class bingx extends Exchange {
|
|
|
72
73
|
'fetchOpenOrders': true,
|
|
73
74
|
'fetchOrder': true,
|
|
74
75
|
'fetchOrderBook': true,
|
|
76
|
+
'fetchOrders': true,
|
|
75
77
|
'fetchPositionMode': true,
|
|
76
78
|
'fetchPositions': true,
|
|
77
79
|
'fetchTicker': true,
|
|
@@ -183,6 +185,7 @@ export default class bingx extends Exchange {
|
|
|
183
185
|
'positionSide/dual': 1,
|
|
184
186
|
'market/markPriceKlines': 1,
|
|
185
187
|
'trade/batchCancelReplace': 1,
|
|
188
|
+
'trade/fullOrder': 1,
|
|
186
189
|
},
|
|
187
190
|
'post': {
|
|
188
191
|
'trade/cancelReplace': 1,
|
|
@@ -330,6 +333,7 @@ export default class bingx extends Exchange {
|
|
|
330
333
|
'post': {
|
|
331
334
|
'swap/trace/closeTrackOrder': 1,
|
|
332
335
|
'swap/trace/setTPSL': 1,
|
|
336
|
+
'spot/trader/sellOrder': 1,
|
|
333
337
|
},
|
|
334
338
|
},
|
|
335
339
|
},
|
|
@@ -2760,7 +2764,7 @@ export default class bingx extends Exchange {
|
|
|
2760
2764
|
* @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2761
2765
|
*/
|
|
2762
2766
|
if (symbol === undefined) {
|
|
2763
|
-
throw new ArgumentsRequired(this.id + '
|
|
2767
|
+
throw new ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
|
|
2764
2768
|
}
|
|
2765
2769
|
await this.loadMarkets();
|
|
2766
2770
|
const market = this.market(symbol);
|
|
@@ -2831,6 +2835,101 @@ export default class bingx extends Exchange {
|
|
|
2831
2835
|
const first = this.safeDict(data, 'order', data);
|
|
2832
2836
|
return this.parseOrder(first, market);
|
|
2833
2837
|
}
|
|
2838
|
+
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2839
|
+
/**
|
|
2840
|
+
* @method
|
|
2841
|
+
* @name bingx#fetchOrders
|
|
2842
|
+
* @description fetches information on multiple orders made by the user
|
|
2843
|
+
* @see https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#User's%20All%20Orders
|
|
2844
|
+
* @param {string} symbol unified market symbol of the market orders were made in
|
|
2845
|
+
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
2846
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
2847
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2848
|
+
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
2849
|
+
* @param {int} [params.orderId] Only return subsequent orders, and return the latest order by default
|
|
2850
|
+
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2851
|
+
*/
|
|
2852
|
+
await this.loadMarkets();
|
|
2853
|
+
const request = {};
|
|
2854
|
+
let market = undefined;
|
|
2855
|
+
if (symbol !== undefined) {
|
|
2856
|
+
market = this.market(symbol);
|
|
2857
|
+
request['symbol'] = market['id'];
|
|
2858
|
+
}
|
|
2859
|
+
let type = undefined;
|
|
2860
|
+
[type, params] = this.handleMarketTypeAndParams('fetchOrders', market, params);
|
|
2861
|
+
if (type !== 'swap') {
|
|
2862
|
+
throw new NotSupported(this.id + ' fetchOrders() is only supported for swap markets');
|
|
2863
|
+
}
|
|
2864
|
+
if (limit !== undefined) {
|
|
2865
|
+
request['limit'] = limit;
|
|
2866
|
+
}
|
|
2867
|
+
if (since !== undefined) {
|
|
2868
|
+
request['startTime'] = since;
|
|
2869
|
+
}
|
|
2870
|
+
const until = this.safeInteger2(params, 'until', 'till'); // unified in milliseconds
|
|
2871
|
+
const endTime = this.safeInteger(params, 'endTime', until); // exchange-specific in milliseconds
|
|
2872
|
+
params = this.omit(params, ['endTime', 'till', 'until']);
|
|
2873
|
+
if (endTime !== undefined) {
|
|
2874
|
+
request['endTime'] = endTime;
|
|
2875
|
+
}
|
|
2876
|
+
const response = await this.swapV1PrivateGetTradeFullOrder(this.extend(request, params));
|
|
2877
|
+
//
|
|
2878
|
+
// {
|
|
2879
|
+
// "code": 0,
|
|
2880
|
+
// "msg": "",
|
|
2881
|
+
// "data": {
|
|
2882
|
+
// "orders": [
|
|
2883
|
+
// {
|
|
2884
|
+
// "symbol": "PYTH-USDT",
|
|
2885
|
+
// "orderId": 1736007506620112100,
|
|
2886
|
+
// "side": "SELL",
|
|
2887
|
+
// "positionSide": "SHORT",
|
|
2888
|
+
// "type": "LIMIT",
|
|
2889
|
+
// "origQty": "33",
|
|
2890
|
+
// "price": "0.3916",
|
|
2891
|
+
// "executedQty": "33",
|
|
2892
|
+
// "avgPrice": "0.3916",
|
|
2893
|
+
// "cumQuote": "13",
|
|
2894
|
+
// "stopPrice": "",
|
|
2895
|
+
// "profit": "0.0000",
|
|
2896
|
+
// "commission": "-0.002585",
|
|
2897
|
+
// "status": "FILLED",
|
|
2898
|
+
// "time": 1702731418000,
|
|
2899
|
+
// "updateTime": 1702731470000,
|
|
2900
|
+
// "clientOrderId": "",
|
|
2901
|
+
// "leverage": "15X",
|
|
2902
|
+
// "takeProfit": {
|
|
2903
|
+
// "type": "TAKE_PROFIT",
|
|
2904
|
+
// "quantity": 0,
|
|
2905
|
+
// "stopPrice": 0,
|
|
2906
|
+
// "price": 0,
|
|
2907
|
+
// "workingType": ""
|
|
2908
|
+
// },
|
|
2909
|
+
// "stopLoss": {
|
|
2910
|
+
// "type": "STOP",
|
|
2911
|
+
// "quantity": 0,
|
|
2912
|
+
// "stopPrice": 0,
|
|
2913
|
+
// "price": 0,
|
|
2914
|
+
// "workingType": ""
|
|
2915
|
+
// },
|
|
2916
|
+
// "advanceAttr": 0,
|
|
2917
|
+
// "positionID": 0,
|
|
2918
|
+
// "takeProfitEntrustPrice": 0,
|
|
2919
|
+
// "stopLossEntrustPrice": 0,
|
|
2920
|
+
// "orderType": "",
|
|
2921
|
+
// "workingType": "MARK_PRICE",
|
|
2922
|
+
// "stopGuaranteed": false,
|
|
2923
|
+
// "triggerOrderId": 1736012449498123500
|
|
2924
|
+
// }
|
|
2925
|
+
// ]
|
|
2926
|
+
// }
|
|
2927
|
+
// }
|
|
2928
|
+
//
|
|
2929
|
+
const data = this.safeDict(response, 'data', {});
|
|
2930
|
+
const orders = this.safeList(data, 'orders', []);
|
|
2931
|
+
return this.parseOrders(orders, market, since, limit);
|
|
2932
|
+
}
|
|
2834
2933
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2835
2934
|
/**
|
|
2836
2935
|
* @method
|
|
@@ -3531,6 +3630,7 @@ export default class bingx extends Exchange {
|
|
|
3531
3630
|
'info': data,
|
|
3532
3631
|
'symbol': this.safeString(market, 'symbol'),
|
|
3533
3632
|
'type': (type === '1') ? 'add' : 'reduce',
|
|
3633
|
+
'marginMode': 'isolated',
|
|
3534
3634
|
'amount': this.safeNumber(data, 'amount'),
|
|
3535
3635
|
'total': this.safeNumber(data, 'margin'),
|
|
3536
3636
|
'code': this.safeString(market, 'settle'),
|
package/js/src/bit2c.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bit2c.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bit2c
|
|
5
5
|
* @augments Exchange
|
|
@@ -12,7 +12,7 @@ export default class bit2c extends Exchange {
|
|
|
12
12
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
13
13
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
14
14
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
15
|
-
fetchTradingFees(params?: {}): Promise<
|
|
15
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
16
16
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
17
17
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
18
18
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/bitbank.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bitbank.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bitbank
|
|
5
5
|
* @augments Exchange
|
|
@@ -13,7 +13,7 @@ export default class bitbank extends Exchange {
|
|
|
13
13
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
14
14
|
parseTrade(trade: any, market?: Market): Trade;
|
|
15
15
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
16
|
-
fetchTradingFees(params?: {}): Promise<
|
|
16
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
17
17
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
18
18
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
19
19
|
parseBalance(response: any): Balances;
|
package/js/src/bitfinex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bitfinex.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bitfinex
|
|
5
5
|
* @augments Exchange
|
|
@@ -20,7 +20,7 @@ export default class bitfinex extends Exchange {
|
|
|
20
20
|
networks: {};
|
|
21
21
|
info: any;
|
|
22
22
|
};
|
|
23
|
-
fetchTradingFees(params?: {}): Promise<
|
|
23
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
24
24
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
25
25
|
amountToPrecision(symbol: any, amount: any): any;
|
|
26
26
|
priceToPrecision(symbol: any, price: any): any;
|
package/js/src/bitfinex2.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bitfinex2.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderBook, Str, Transaction, Ticker, Balances, Tickers, Strings, Currency, Market, OpenInterest, Liquidation, OrderRequest, Num, MarginModification } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderBook, Str, Transaction, Ticker, Balances, Tickers, Strings, Currency, Market, OpenInterest, Liquidation, OrderRequest, Num, MarginModification, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bitfinex2
|
|
5
5
|
* @augments Exchange
|
|
@@ -19,7 +19,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
19
19
|
info: any;
|
|
20
20
|
}>;
|
|
21
21
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
22
|
-
fetchCurrencies(params?: {}): Promise<
|
|
22
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
23
23
|
safeNetwork(networkId: any): string;
|
|
24
24
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
25
25
|
transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
@@ -76,7 +76,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
76
76
|
}>;
|
|
77
77
|
parseTransactionStatus(status: any): string;
|
|
78
78
|
parseTransaction(transaction: any, currency?: Currency): Transaction;
|
|
79
|
-
fetchTradingFees(params?: {}): Promise<
|
|
79
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
80
80
|
fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
81
81
|
withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<any>;
|
|
82
82
|
fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
|
package/js/src/bitfinex2.js
CHANGED
package/js/src/bitflyer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bitflyer.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFeeInterface, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bitflyer
|
|
5
5
|
* @augments Exchange
|
|
@@ -16,12 +16,7 @@ export default class bitflyer extends Exchange {
|
|
|
16
16
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
17
17
|
parseTrade(trade: any, market?: Market): Trade;
|
|
18
18
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
19
|
-
fetchTradingFee(symbol: string, params?: {}): Promise<
|
|
20
|
-
info: any;
|
|
21
|
-
symbol: string;
|
|
22
|
-
maker: number;
|
|
23
|
-
taker: number;
|
|
24
|
-
}>;
|
|
19
|
+
fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
|
|
25
20
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
26
21
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
27
22
|
parseOrderStatus(status: any): string;
|