ccxt 4.5.60 → 4.5.62
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 +56 -54
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +6 -2
- package/dist/cjs/src/aftermath.js +1 -1
- package/dist/cjs/src/apex.js +2 -2
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/aster.js +3 -4
- package/dist/cjs/src/backpack.js +1 -1
- package/dist/cjs/src/base/Exchange.js +6 -38
- package/dist/cjs/src/base/functions/crypto.js +72 -15
- package/dist/cjs/src/base/functions/rsa.js +25 -10
- package/dist/cjs/src/base/functions.js +1 -0
- package/dist/cjs/src/bequant.js +1 -1
- package/dist/cjs/src/bigone.js +1 -1
- package/dist/cjs/src/binance.js +1 -1
- package/dist/cjs/src/bingx.js +4 -4
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +1 -1
- package/dist/cjs/src/bitbns.js +1 -1
- package/dist/cjs/src/bitfinex.js +5 -5
- package/dist/cjs/src/bitflyer.js +1 -1
- package/dist/cjs/src/bitget.js +2 -2
- package/dist/cjs/src/bithumb.js +1 -1
- package/dist/cjs/src/bitmart.js +2 -2
- package/dist/cjs/src/bitmex.js +3 -3
- package/dist/cjs/src/bitopro.js +1 -1
- package/dist/cjs/src/bitrue.js +1 -1
- package/dist/cjs/src/bitso.js +2 -2
- package/dist/cjs/src/bitstamp.js +1 -1
- package/dist/cjs/src/bittrade.js +2 -2
- package/dist/cjs/src/bitvavo.js +2 -2
- package/dist/cjs/src/blockchaincom.js +1 -1
- package/dist/cjs/src/blofin.js +3 -4
- package/dist/cjs/src/btcbox.js +1 -1
- package/dist/cjs/src/btcmarkets.js +1 -1
- package/dist/cjs/src/btcturk.js +2 -2
- package/dist/cjs/src/bullish.js +1 -1
- package/dist/cjs/src/bybit.js +1 -1
- package/dist/cjs/src/bydfi.js +1 -1
- package/dist/cjs/src/cex.js +2 -2
- package/dist/cjs/src/coinbase.js +1 -1
- package/dist/cjs/src/coinbaseexchange.js +2 -2
- package/dist/cjs/src/coincheck.js +2 -2
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/coinmate.js +1 -1
- package/dist/cjs/src/coinmetro.js +1 -1
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/coinsph.js +1 -1
- package/dist/cjs/src/coinspot.js +1 -1
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/cryptomus.js +2 -2
- package/dist/cjs/src/deepcoin.js +1 -1
- package/dist/cjs/src/delta.js +1 -1
- package/dist/cjs/src/deribit.js +1 -1
- package/dist/cjs/src/derive.js +2 -3
- package/dist/cjs/src/digifinex.js +1 -1
- package/dist/cjs/src/dydx.js +2 -2
- package/dist/cjs/src/exmo.js +1 -1
- package/dist/cjs/src/extended.js +5 -5
- package/dist/cjs/src/foxbit.js +1 -1
- package/dist/cjs/src/gate.js +3 -3
- package/dist/cjs/src/gateeu.js +60 -0
- package/dist/cjs/src/gemini.js +1 -1
- package/dist/cjs/src/grvt.js +1 -1
- package/dist/cjs/src/hashkey.js +2 -2
- package/dist/cjs/src/hibachi.js +1 -1
- package/dist/cjs/src/hitbtc.js +1 -1
- package/dist/cjs/src/hollaex.js +1 -1
- package/dist/cjs/src/htx.js +1 -1
- package/dist/cjs/src/hyperliquid.js +1 -1
- package/dist/cjs/src/independentreserve.js +1 -1
- package/dist/cjs/src/indodax.js +1 -1
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/lbank.js +1 -1
- package/dist/cjs/src/lighter.js +1 -1
- package/dist/cjs/src/luno.js +2 -2
- package/dist/cjs/src/mercado.js +1 -1
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/modetrade.js +3 -5
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/novadax.js +1 -1
- package/dist/cjs/src/okx.js +1 -1
- package/dist/cjs/src/onetrading.js +2 -2
- package/dist/cjs/src/p2b.js +2 -3
- package/dist/cjs/src/pacifica.js +2 -2
- package/dist/cjs/src/paradex.js +1 -1
- package/dist/cjs/src/paymium.js +1 -1
- package/dist/cjs/src/phemex.js +1 -1
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/pro/aftermath.js +1 -1
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +2 -2
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/aster.js +4 -4
- package/dist/cjs/src/pro/backpack.js +4 -4
- package/dist/cjs/src/pro/binance.js +5 -5
- package/dist/cjs/src/pro/bingx.js +2 -2
- package/dist/cjs/src/pro/bitfinex.js +1 -1
- package/dist/cjs/src/pro/bitget.js +4 -4
- package/dist/cjs/src/pro/bitmart.js +4 -4
- package/dist/cjs/src/pro/bitmex.js +2 -2
- package/dist/cjs/src/pro/bitopro.js +1 -1
- package/dist/cjs/src/pro/bitstamp.js +1 -1
- package/dist/cjs/src/pro/bittrade.js +1 -1
- package/dist/cjs/src/pro/bitvavo.js +1 -1
- package/dist/cjs/src/pro/blockchaincom.js +1 -1
- package/dist/cjs/src/pro/blofin.js +2 -2
- package/dist/cjs/src/pro/bullish.js +1 -1
- package/dist/cjs/src/pro/bybit.js +4 -4
- package/dist/cjs/src/pro/bydfi.js +4 -4
- package/dist/cjs/src/pro/cex.js +1 -1
- package/dist/cjs/src/pro/coinbase.js +3 -3
- package/dist/cjs/src/pro/coinbaseexchange.js +2 -2
- package/dist/cjs/src/pro/coinbaseinternational.js +2 -2
- package/dist/cjs/src/pro/coincheck.js +1 -1
- package/dist/cjs/src/pro/coinex.js +2 -2
- package/dist/cjs/src/pro/coinone.js +1 -1
- package/dist/cjs/src/pro/cryptocom.js +4 -4
- package/dist/cjs/src/pro/deepcoin.js +2 -2
- package/dist/cjs/src/pro/deribit.js +2 -2
- package/dist/cjs/src/pro/derive.js +2 -2
- package/dist/cjs/src/pro/dydx.js +2 -2
- package/dist/cjs/src/pro/exmo.js +1 -1
- package/dist/cjs/src/pro/extended.js +1 -1
- package/dist/cjs/src/pro/gate.js +46 -15
- package/dist/cjs/src/pro/gateeu.js +32 -0
- package/dist/cjs/src/pro/gemini.js +2 -3
- package/dist/cjs/src/pro/grvt.js +2 -2
- package/dist/cjs/src/pro/hashkey.js +1 -1
- package/dist/cjs/src/pro/hitbtc.js +1 -1
- package/dist/cjs/src/pro/hollaex.js +1 -1
- package/dist/cjs/src/pro/htx.js +440 -102
- package/dist/cjs/src/pro/hyperliquid.js +2 -2
- package/dist/cjs/src/pro/independentreserve.js +1 -1
- package/dist/cjs/src/pro/kraken.js +2 -2
- package/dist/cjs/src/pro/krakenfutures.js +2 -2
- package/dist/cjs/src/pro/kucoin.js +4 -4
- package/dist/cjs/src/pro/lighter.js +2 -2
- package/dist/cjs/src/pro/luno.js +1 -1
- package/dist/cjs/src/pro/mexc.js +2 -2
- package/dist/cjs/src/pro/modetrade.js +1 -1
- package/dist/cjs/src/pro/ndax.js +1 -1
- package/dist/cjs/src/pro/okx.js +4 -4
- package/dist/cjs/src/pro/onetrading.js +1 -1
- package/dist/cjs/src/pro/p2b.js +1 -1
- package/dist/cjs/src/pro/pacifica.js +2 -2
- package/dist/cjs/src/pro/paradex.js +1 -1
- package/dist/cjs/src/pro/phemex.js +1 -1
- package/dist/cjs/src/pro/poloniex.js +1 -1
- package/dist/cjs/src/pro/toobit.js +2 -2
- package/dist/cjs/src/pro/upbit.js +1 -1
- package/dist/cjs/src/pro/weex.js +4 -4
- package/dist/cjs/src/pro/whitebit.js +1 -1
- package/dist/cjs/src/pro/woo.js +2 -2
- package/dist/cjs/src/pro/woofipro.js +1 -1
- package/dist/cjs/src/tokocrypto.js +1 -1
- package/dist/cjs/src/toobit.js +2 -2
- package/dist/cjs/src/upbit.js +1 -1
- package/dist/cjs/src/weex.js +2 -2
- package/dist/cjs/src/whitebit.js +1 -1
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/woofipro.js +2 -4
- package/dist/cjs/src/xt.js +1 -1
- package/dist/cjs/src/zaif.js +2 -2
- package/dist/cjs/src/zebpay.js +2 -2
- package/js/ccxt.d.ts +8 -2
- package/js/ccxt.js +6 -3
- package/js/src/abstract/gateeu.d.ts +346 -0
- package/js/src/{static_dependencies/jsencrypt/index.js → abstract/gateeu.js} +5 -3
- package/js/src/aftermath.d.ts +1 -1
- package/js/src/aftermath.js +1 -1
- package/js/src/apex.d.ts +1 -1
- package/js/src/apex.js +2 -2
- package/js/src/ascendex.d.ts +1 -1
- package/js/src/ascendex.js +1 -1
- package/js/src/aster.d.ts +1 -1
- package/js/src/aster.js +3 -4
- package/js/src/backpack.js +1 -1
- package/js/src/base/Exchange.d.ts +1 -1
- package/js/src/base/Exchange.js +6 -38
- package/js/src/base/functions/crypto.d.ts +2 -1
- package/js/src/base/functions/crypto.js +72 -16
- package/js/src/base/functions/rsa.js +18 -7
- package/js/src/bequant.js +1 -1
- package/js/src/bigone.d.ts +1 -1
- package/js/src/bigone.js +1 -1
- package/js/src/binance.d.ts +1 -1
- package/js/src/binance.js +1 -1
- package/js/src/bingx.d.ts +1 -1
- package/js/src/bingx.js +4 -4
- package/js/src/bit2c.d.ts +1 -1
- package/js/src/bit2c.js +1 -1
- package/js/src/bitbank.d.ts +1 -1
- package/js/src/bitbank.js +1 -1
- package/js/src/bitbns.d.ts +1 -1
- package/js/src/bitbns.js +1 -1
- package/js/src/bitfinex.d.ts +1 -1
- package/js/src/bitfinex.js +5 -5
- package/js/src/bitflyer.d.ts +1 -1
- package/js/src/bitflyer.js +1 -1
- package/js/src/bitget.d.ts +1 -1
- package/js/src/bitget.js +2 -2
- package/js/src/bithumb.d.ts +1 -1
- package/js/src/bithumb.js +1 -1
- package/js/src/bitmart.d.ts +1 -1
- package/js/src/bitmart.js +2 -2
- package/js/src/bitmex.d.ts +1 -1
- package/js/src/bitmex.js +3 -3
- package/js/src/bitopro.d.ts +1 -1
- package/js/src/bitopro.js +1 -1
- package/js/src/bitrue.d.ts +1 -1
- package/js/src/bitrue.js +1 -1
- package/js/src/bitso.d.ts +1 -1
- package/js/src/bitso.js +2 -2
- package/js/src/bitstamp.d.ts +1 -1
- package/js/src/bitstamp.js +1 -1
- package/js/src/bittrade.d.ts +1 -1
- package/js/src/bittrade.js +2 -2
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/bitvavo.js +2 -2
- package/js/src/blockchaincom.d.ts +1 -1
- package/js/src/blockchaincom.js +1 -1
- package/js/src/blofin.d.ts +1 -1
- package/js/src/blofin.js +3 -4
- package/js/src/btcbox.d.ts +1 -1
- package/js/src/btcbox.js +1 -1
- package/js/src/btcmarkets.d.ts +1 -1
- package/js/src/btcmarkets.js +1 -1
- package/js/src/btcturk.d.ts +1 -1
- package/js/src/btcturk.js +2 -2
- package/js/src/bullish.d.ts +1 -1
- package/js/src/bullish.js +1 -1
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +1 -1
- package/js/src/bydfi.js +1 -1
- package/js/src/cex.d.ts +1 -1
- package/js/src/cex.js +2 -2
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbase.js +1 -1
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/coinbaseexchange.js +2 -2
- package/js/src/coincheck.d.ts +1 -1
- package/js/src/coincheck.js +2 -2
- package/js/src/coinex.d.ts +1 -1
- package/js/src/coinex.js +1 -1
- package/js/src/coinmate.d.ts +1 -1
- package/js/src/coinmate.js +1 -1
- package/js/src/coinmetro.d.ts +1 -1
- package/js/src/coinmetro.js +1 -1
- package/js/src/coinone.d.ts +1 -1
- package/js/src/coinone.js +1 -1
- package/js/src/coinsph.d.ts +1 -1
- package/js/src/coinsph.js +1 -1
- package/js/src/coinspot.d.ts +1 -1
- package/js/src/coinspot.js +1 -1
- package/js/src/cryptocom.d.ts +1 -1
- package/js/src/cryptocom.js +1 -1
- package/js/src/cryptomus.d.ts +1 -1
- package/js/src/cryptomus.js +2 -2
- package/js/src/deepcoin.d.ts +1 -1
- package/js/src/deepcoin.js +1 -1
- package/js/src/delta.d.ts +1 -1
- package/js/src/delta.js +1 -1
- package/js/src/deribit.d.ts +1 -1
- package/js/src/deribit.js +1 -1
- package/js/src/derive.js +2 -3
- package/js/src/digifinex.d.ts +1 -1
- package/js/src/digifinex.js +1 -1
- package/js/src/dydx.d.ts +1 -1
- package/js/src/dydx.js +2 -2
- package/js/src/exmo.d.ts +1 -1
- package/js/src/exmo.js +1 -1
- package/js/src/extended.d.ts +1 -1
- package/js/src/extended.js +5 -5
- package/js/src/foxbit.d.ts +1 -1
- package/js/src/foxbit.js +1 -1
- package/js/src/gate.d.ts +1 -1
- package/js/src/gate.js +3 -3
- package/js/src/gateeu.d.ts +4 -0
- package/js/src/gateeu.js +59 -0
- package/js/src/gemini.d.ts +1 -1
- package/js/src/gemini.js +1 -1
- package/js/src/grvt.js +1 -1
- package/js/src/hashkey.d.ts +1 -1
- package/js/src/hashkey.js +2 -2
- package/js/src/hibachi.js +1 -1
- package/js/src/hitbtc.d.ts +1 -1
- package/js/src/hitbtc.js +1 -1
- package/js/src/hollaex.d.ts +1 -1
- package/js/src/hollaex.js +1 -1
- package/js/src/htx.d.ts +1 -1
- package/js/src/htx.js +1 -1
- package/js/src/hyperliquid.d.ts +1 -1
- package/js/src/hyperliquid.js +1 -1
- package/js/src/independentreserve.d.ts +1 -1
- package/js/src/independentreserve.js +1 -1
- package/js/src/indodax.d.ts +1 -1
- package/js/src/indodax.js +1 -1
- package/js/src/kraken.d.ts +1 -1
- package/js/src/kraken.js +1 -1
- package/js/src/kucoin.d.ts +1 -1
- package/js/src/kucoin.js +1 -1
- package/js/src/latoken.d.ts +1 -1
- package/js/src/latoken.js +1 -1
- package/js/src/lbank.d.ts +1 -1
- package/js/src/lbank.js +1 -1
- package/js/src/lighter.d.ts +1 -1
- package/js/src/lighter.js +1 -1
- package/js/src/luno.d.ts +1 -1
- package/js/src/luno.js +2 -2
- package/js/src/mercado.d.ts +1 -1
- package/js/src/mercado.js +1 -1
- package/js/src/mexc.d.ts +1 -1
- package/js/src/mexc.js +1 -1
- package/js/src/modetrade.d.ts +1 -1
- package/js/src/modetrade.js +3 -5
- package/js/src/ndax.d.ts +1 -1
- package/js/src/ndax.js +1 -1
- package/js/src/novadax.d.ts +1 -1
- package/js/src/novadax.js +1 -1
- package/js/src/okx.d.ts +1 -1
- package/js/src/okx.js +1 -1
- package/js/src/onetrading.d.ts +1 -1
- package/js/src/onetrading.js +2 -2
- package/js/src/p2b.d.ts +1 -1
- package/js/src/p2b.js +2 -3
- package/js/src/pacifica.d.ts +1 -1
- package/js/src/pacifica.js +2 -2
- package/js/src/paradex.d.ts +1 -1
- package/js/src/paradex.js +1 -1
- package/js/src/paymium.d.ts +1 -1
- package/js/src/paymium.js +1 -1
- package/js/src/phemex.d.ts +1 -1
- package/js/src/phemex.js +1 -1
- package/js/src/poloniex.d.ts +1 -1
- package/js/src/poloniex.js +1 -1
- package/js/src/pro/aftermath.d.ts +1 -1
- package/js/src/pro/aftermath.js +1 -1
- package/js/src/pro/alpaca.d.ts +1 -1
- package/js/src/pro/alpaca.js +1 -1
- package/js/src/pro/apex.d.ts +2 -2
- package/js/src/pro/apex.js +2 -2
- package/js/src/pro/ascendex.d.ts +1 -1
- package/js/src/pro/ascendex.js +1 -1
- package/js/src/pro/aster.d.ts +4 -4
- package/js/src/pro/aster.js +4 -4
- package/js/src/pro/backpack.d.ts +4 -4
- package/js/src/pro/backpack.js +4 -4
- package/js/src/pro/binance.d.ts +5 -5
- package/js/src/pro/binance.js +5 -5
- package/js/src/pro/bingx.d.ts +2 -2
- package/js/src/pro/bingx.js +2 -2
- package/js/src/pro/bitfinex.d.ts +1 -1
- package/js/src/pro/bitfinex.js +1 -1
- package/js/src/pro/bitget.d.ts +4 -4
- package/js/src/pro/bitget.js +4 -4
- package/js/src/pro/bitmart.d.ts +4 -4
- package/js/src/pro/bitmart.js +4 -4
- package/js/src/pro/bitmex.d.ts +2 -2
- package/js/src/pro/bitmex.js +2 -2
- package/js/src/pro/bitopro.d.ts +1 -1
- package/js/src/pro/bitopro.js +1 -1
- package/js/src/pro/bitstamp.d.ts +1 -1
- package/js/src/pro/bitstamp.js +1 -1
- package/js/src/pro/bittrade.d.ts +1 -1
- package/js/src/pro/bittrade.js +1 -1
- package/js/src/pro/bitvavo.d.ts +1 -1
- package/js/src/pro/bitvavo.js +1 -1
- package/js/src/pro/blockchaincom.d.ts +1 -1
- package/js/src/pro/blockchaincom.js +1 -1
- package/js/src/pro/blofin.d.ts +2 -2
- package/js/src/pro/blofin.js +2 -2
- package/js/src/pro/bullish.d.ts +1 -1
- package/js/src/pro/bullish.js +1 -1
- package/js/src/pro/bybit.d.ts +4 -4
- package/js/src/pro/bybit.js +4 -4
- package/js/src/pro/bydfi.d.ts +4 -4
- package/js/src/pro/bydfi.js +4 -4
- package/js/src/pro/cex.d.ts +1 -1
- package/js/src/pro/cex.js +1 -1
- package/js/src/pro/coinbase.d.ts +3 -3
- package/js/src/pro/coinbase.js +3 -3
- package/js/src/pro/coinbaseexchange.d.ts +2 -2
- package/js/src/pro/coinbaseexchange.js +2 -2
- package/js/src/pro/coinbaseinternational.d.ts +2 -2
- package/js/src/pro/coinbaseinternational.js +2 -2
- package/js/src/pro/coincheck.d.ts +1 -1
- package/js/src/pro/coincheck.js +1 -1
- package/js/src/pro/coinex.d.ts +2 -2
- package/js/src/pro/coinex.js +2 -2
- package/js/src/pro/coinone.d.ts +1 -1
- package/js/src/pro/coinone.js +1 -1
- package/js/src/pro/cryptocom.d.ts +4 -4
- package/js/src/pro/cryptocom.js +4 -4
- package/js/src/pro/deepcoin.d.ts +2 -2
- package/js/src/pro/deepcoin.js +2 -2
- package/js/src/pro/deribit.d.ts +2 -2
- package/js/src/pro/deribit.js +2 -2
- package/js/src/pro/derive.d.ts +2 -2
- package/js/src/pro/derive.js +2 -2
- package/js/src/pro/dydx.d.ts +2 -2
- package/js/src/pro/dydx.js +2 -2
- package/js/src/pro/exmo.d.ts +1 -1
- package/js/src/pro/exmo.js +1 -1
- package/js/src/pro/extended.d.ts +1 -1
- package/js/src/pro/extended.js +1 -1
- package/js/src/pro/gate.d.ts +3 -2
- package/js/src/pro/gate.js +46 -15
- package/js/src/pro/gateeu.d.ts +4 -0
- package/js/src/pro/gateeu.js +31 -0
- package/js/src/pro/gemini.d.ts +2 -2
- package/js/src/pro/gemini.js +2 -3
- package/js/src/pro/grvt.d.ts +2 -2
- package/js/src/pro/grvt.js +2 -2
- package/js/src/pro/hashkey.d.ts +1 -1
- package/js/src/pro/hashkey.js +1 -1
- package/js/src/pro/hitbtc.d.ts +1 -1
- package/js/src/pro/hitbtc.js +1 -1
- package/js/src/pro/hollaex.d.ts +1 -1
- package/js/src/pro/hollaex.js +1 -1
- package/js/src/pro/htx.d.ts +9 -8
- package/js/src/pro/htx.js +440 -100
- package/js/src/pro/hyperliquid.d.ts +2 -2
- package/js/src/pro/hyperliquid.js +2 -2
- package/js/src/pro/independentreserve.d.ts +1 -1
- package/js/src/pro/independentreserve.js +1 -1
- package/js/src/pro/kraken.d.ts +2 -2
- package/js/src/pro/kraken.js +2 -2
- package/js/src/pro/krakenfutures.d.ts +2 -2
- package/js/src/pro/krakenfutures.js +2 -2
- package/js/src/pro/kucoin.d.ts +4 -4
- package/js/src/pro/kucoin.js +4 -4
- package/js/src/pro/lighter.d.ts +2 -2
- package/js/src/pro/lighter.js +2 -2
- package/js/src/pro/luno.d.ts +1 -1
- package/js/src/pro/luno.js +1 -1
- package/js/src/pro/mexc.d.ts +2 -2
- package/js/src/pro/mexc.js +2 -2
- package/js/src/pro/modetrade.d.ts +1 -1
- package/js/src/pro/modetrade.js +1 -1
- package/js/src/pro/ndax.d.ts +1 -1
- package/js/src/pro/ndax.js +1 -1
- package/js/src/pro/okx.d.ts +4 -4
- package/js/src/pro/okx.js +4 -4
- package/js/src/pro/onetrading.d.ts +1 -1
- package/js/src/pro/onetrading.js +1 -1
- package/js/src/pro/p2b.d.ts +1 -1
- package/js/src/pro/p2b.js +1 -1
- package/js/src/pro/pacifica.d.ts +2 -2
- package/js/src/pro/pacifica.js +2 -2
- package/js/src/pro/paradex.d.ts +1 -1
- package/js/src/pro/paradex.js +1 -1
- package/js/src/pro/phemex.d.ts +1 -1
- package/js/src/pro/phemex.js +1 -1
- package/js/src/pro/poloniex.d.ts +1 -1
- package/js/src/pro/poloniex.js +1 -1
- package/js/src/pro/toobit.d.ts +2 -2
- package/js/src/pro/toobit.js +2 -2
- package/js/src/pro/upbit.d.ts +1 -1
- package/js/src/pro/upbit.js +1 -1
- package/js/src/pro/weex.d.ts +4 -4
- package/js/src/pro/weex.js +4 -4
- package/js/src/pro/whitebit.d.ts +1 -1
- package/js/src/pro/whitebit.js +1 -1
- package/js/src/pro/woo.d.ts +2 -2
- package/js/src/pro/woo.js +2 -2
- package/js/src/pro/woofipro.d.ts +1 -1
- package/js/src/pro/woofipro.js +1 -1
- package/js/src/tokocrypto.d.ts +1 -1
- package/js/src/tokocrypto.js +1 -1
- package/js/src/toobit.d.ts +1 -1
- package/js/src/toobit.js +2 -2
- package/js/src/upbit.d.ts +1 -1
- package/js/src/upbit.js +1 -1
- package/js/src/weex.d.ts +1 -1
- package/js/src/weex.js +2 -2
- package/js/src/whitebit.d.ts +1 -1
- package/js/src/whitebit.js +1 -1
- package/js/src/woo.d.ts +1 -1
- package/js/src/woo.js +1 -1
- package/js/src/woofipro.d.ts +1 -1
- package/js/src/woofipro.js +2 -4
- package/js/src/xt.js +1 -1
- package/js/src/zaif.d.ts +1 -1
- package/js/src/zaif.js +2 -2
- package/js/src/zebpay.d.ts +1 -1
- package/js/src/zebpay.js +2 -2
- package/package.json +18 -8
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +0 -116
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -194
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +0 -142
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -307
- package/js/src/static_dependencies/jsencrypt/index.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +0 -51
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -565
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +0 -5
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +0 -9
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.d.ts +0 -9778
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -1968
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -25
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +0 -101
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1757
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +0 -10
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -50
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -80
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +0 -23
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -377
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +0 -7
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -64
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +0 -24
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1627
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.d.ts +0 -5
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -75
package/dist/cjs/ccxt.js
CHANGED
|
@@ -70,6 +70,7 @@ var extended = require('./src/extended.js');
|
|
|
70
70
|
var fmfwio = require('./src/fmfwio.js');
|
|
71
71
|
var foxbit = require('./src/foxbit.js');
|
|
72
72
|
var gate = require('./src/gate.js');
|
|
73
|
+
var gateeu = require('./src/gateeu.js');
|
|
73
74
|
var gemini = require('./src/gemini.js');
|
|
74
75
|
var grvt = require('./src/grvt.js');
|
|
75
76
|
var hashkey = require('./src/hashkey.js');
|
|
@@ -156,6 +157,7 @@ var dydx$1 = require('./src/pro/dydx.js');
|
|
|
156
157
|
var exmo$1 = require('./src/pro/exmo.js');
|
|
157
158
|
var extended$1 = require('./src/pro/extended.js');
|
|
158
159
|
var gate$1 = require('./src/pro/gate.js');
|
|
160
|
+
var gateeu$1 = require('./src/pro/gateeu.js');
|
|
159
161
|
var gemini$1 = require('./src/pro/gemini.js');
|
|
160
162
|
var grvt$1 = require('./src/pro/grvt.js');
|
|
161
163
|
var hashkey$1 = require('./src/pro/hashkey.js');
|
|
@@ -193,8 +195,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
193
195
|
|
|
194
196
|
//-----------------------------------------------------------------------------
|
|
195
197
|
// this is updated by vss.js when building
|
|
196
|
-
const version = '4.5.
|
|
197
|
-
Exchange["default"].ccxtVersion = version;
|
|
198
|
+
const version = '4.5.62';
|
|
198
199
|
const exchanges = {
|
|
199
200
|
'aftermath': aftermath["default"],
|
|
200
201
|
'alpaca': alpaca["default"],
|
|
@@ -258,6 +259,7 @@ const exchanges = {
|
|
|
258
259
|
'fmfwio': fmfwio["default"],
|
|
259
260
|
'foxbit': foxbit["default"],
|
|
260
261
|
'gate': gate["default"],
|
|
262
|
+
'gateeu': gateeu["default"],
|
|
261
263
|
'gemini': gemini["default"],
|
|
262
264
|
'grvt': grvt["default"],
|
|
263
265
|
'hashkey': hashkey["default"],
|
|
@@ -346,6 +348,7 @@ const pro = {
|
|
|
346
348
|
'exmo': exmo$1["default"],
|
|
347
349
|
'extended': extended$1["default"],
|
|
348
350
|
'gate': gate$1["default"],
|
|
351
|
+
'gateeu': gateeu$1["default"],
|
|
349
352
|
'gemini': gemini$1["default"],
|
|
350
353
|
'grvt': grvt$1["default"],
|
|
351
354
|
'hashkey': hashkey$1["default"],
|
|
@@ -494,6 +497,7 @@ exports.extended = extended["default"];
|
|
|
494
497
|
exports.fmfwio = fmfwio["default"];
|
|
495
498
|
exports.foxbit = foxbit["default"];
|
|
496
499
|
exports.gate = gate["default"];
|
|
500
|
+
exports.gateeu = gateeu["default"];
|
|
497
501
|
exports.gemini = gemini["default"];
|
|
498
502
|
exports.grvt = grvt["default"];
|
|
499
503
|
exports.hashkey = hashkey["default"];
|
|
@@ -473,7 +473,7 @@ class aftermath extends aftermath$1["default"] {
|
|
|
473
473
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
474
474
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
475
475
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
476
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
476
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
477
477
|
*/
|
|
478
478
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
479
479
|
await this.loadMarkets();
|
package/dist/cjs/src/apex.js
CHANGED
|
@@ -144,7 +144,7 @@ class apex extends apex$1["default"] {
|
|
|
144
144
|
},
|
|
145
145
|
'hostname': 'omni.apex.exchange',
|
|
146
146
|
'urls': {
|
|
147
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
147
|
+
'logo': 'https://github.com/user-attachments/assets/8ba7fbfa-0dd0-4ab9-8b72-ff60abe08ac6',
|
|
148
148
|
'api': {
|
|
149
149
|
'public': 'https://{hostname}/api',
|
|
150
150
|
'private': 'https://{hostname}/api',
|
|
@@ -856,7 +856,7 @@ class apex extends apex$1["default"] {
|
|
|
856
856
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
857
857
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
858
858
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
859
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
859
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
860
860
|
*/
|
|
861
861
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
862
862
|
await this.loadMarkets();
|
package/dist/cjs/src/ascendex.js
CHANGED
|
@@ -1078,7 +1078,7 @@ class ascendex extends ascendex$1["default"] {
|
|
|
1078
1078
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1079
1079
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1080
1080
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1081
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1081
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1082
1082
|
*/
|
|
1083
1083
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1084
1084
|
await this.loadMarkets();
|
package/dist/cjs/src/aster.js
CHANGED
|
@@ -26,12 +26,11 @@ class aster extends aster$1["default"] {
|
|
|
26
26
|
// 150 req/s for subscribers: https://aster.markets/data
|
|
27
27
|
// for brokers: https://aster.markets/docs/api-references/broker-api/#authentication-and-rate-limit
|
|
28
28
|
'rateLimit': 333,
|
|
29
|
-
'hostname': 'aster.markets',
|
|
30
29
|
'certified': false,
|
|
31
30
|
'pro': true,
|
|
32
31
|
'dex': true,
|
|
33
32
|
'urls': {
|
|
34
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
33
|
+
'logo': 'https://github.com/user-attachments/assets/5e5909d6-c4de-4435-992f-4339c80edbd7',
|
|
35
34
|
'www': 'https://www.asterdex.com/en',
|
|
36
35
|
'api': {
|
|
37
36
|
'fapiPublic': 'https://fapi.asterdex.com/fapi',
|
|
@@ -1308,7 +1307,7 @@ class aster extends aster$1["default"] {
|
|
|
1308
1307
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1309
1308
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1310
1309
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1311
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1310
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1312
1311
|
*/
|
|
1313
1312
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1314
1313
|
await this.loadMarkets();
|
|
@@ -4105,7 +4104,7 @@ class aster extends aster$1["default"] {
|
|
|
4105
4104
|
return '0x' + r.padStart(64, '0') + s.padStart(64, '0') + v;
|
|
4106
4105
|
}
|
|
4107
4106
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
4108
|
-
let url = this.
|
|
4107
|
+
let url = this.urls['api'][api] + '/' + path;
|
|
4109
4108
|
if (api === 'fapiPublic' || api === 'sapiPublic') {
|
|
4110
4109
|
if (Object.keys(params).length) {
|
|
4111
4110
|
url += '?' + this.rawencode(params);
|
package/dist/cjs/src/backpack.js
CHANGED
|
@@ -146,7 +146,7 @@ class backpack extends backpack$1["default"] {
|
|
|
146
146
|
'1M': '1month',
|
|
147
147
|
},
|
|
148
148
|
'urls': {
|
|
149
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
149
|
+
'logo': 'https://github.com/user-attachments/assets/7f682234-3eb1-48ab-a5ec-250a3227c985',
|
|
150
150
|
'api': {
|
|
151
151
|
'public': 'https://api.backpack.exchange',
|
|
152
152
|
'private': 'https://api.backpack.exchange',
|
|
@@ -22,7 +22,6 @@ require('../static_dependencies/ethers/utils/maths.js');
|
|
|
22
22
|
require('../static_dependencies/ethers/utils/utf8.js');
|
|
23
23
|
require('../static_dependencies/ethers/address/address.js');
|
|
24
24
|
var typedData = require('../static_dependencies/ethers/hash/typed-data.js');
|
|
25
|
-
var rng = require('../static_dependencies/jsencrypt/lib/jsbn/rng.js');
|
|
26
25
|
var zklinkSdkWeb = require('../static_dependencies/zklink/zklink-sdk-web.js');
|
|
27
26
|
require('@noble/curves/abstract/poseidon.js');
|
|
28
27
|
var selector = require('../static_dependencies/starknet/utils/selector.js');
|
|
@@ -70,6 +69,8 @@ let SignMode = undefined;
|
|
|
70
69
|
* @class Exchange
|
|
71
70
|
*/
|
|
72
71
|
class Exchange {
|
|
72
|
+
// this is updated by vss.js when building
|
|
73
|
+
static { this.ccxtVersion = '4.5.61'; }
|
|
73
74
|
constructor(userConfig = {}) {
|
|
74
75
|
this.isSandboxModeEnabled = false;
|
|
75
76
|
this.api = undefined;
|
|
@@ -291,7 +292,7 @@ class Exchange {
|
|
|
291
292
|
// if (isNode) {
|
|
292
293
|
// this.nodeVersion = process.version.match (/\d+\.\d+\.\d+/)[0]
|
|
293
294
|
// this.userAgent = {
|
|
294
|
-
// 'User-Agent': 'ccxt/' +
|
|
295
|
+
// 'User-Agent': 'ccxt/' + Exchange.ccxtVersion +
|
|
295
296
|
// ' (+https://github.com/ccxt/ccxt)' +
|
|
296
297
|
// ' Node.js/' + this.nodeVersion + ' (JavaScript)'
|
|
297
298
|
// }
|
|
@@ -432,37 +433,6 @@ class Exchange {
|
|
|
432
433
|
// @ts-expect-error
|
|
433
434
|
return encodeURIComponent(...args);
|
|
434
435
|
}
|
|
435
|
-
checkRequiredVersion(requiredVersion, error = true) {
|
|
436
|
-
let result = true;
|
|
437
|
-
const [major1, minor1, patch1] = requiredVersion.split('.');
|
|
438
|
-
const [major2, minor2, patch2] = Exchange.ccxtVersion.split('.');
|
|
439
|
-
const intMajor1 = this.parseToInt(major1);
|
|
440
|
-
const intMinor1 = this.parseToInt(minor1);
|
|
441
|
-
const intPatch1 = this.parseToInt(patch1);
|
|
442
|
-
const intMajor2 = this.parseToInt(major2);
|
|
443
|
-
const intMinor2 = this.parseToInt(minor2);
|
|
444
|
-
const intPatch2 = this.parseToInt(patch2);
|
|
445
|
-
if (intMajor1 > intMajor2) {
|
|
446
|
-
result = false;
|
|
447
|
-
}
|
|
448
|
-
if (intMajor1 === intMajor2) {
|
|
449
|
-
if (intMinor1 > intMinor2) {
|
|
450
|
-
result = false;
|
|
451
|
-
}
|
|
452
|
-
else if (intMinor1 === intMinor2 && intPatch1 > intPatch2) {
|
|
453
|
-
result = false;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
if (!result) {
|
|
457
|
-
if (error) {
|
|
458
|
-
throw new errors.NotSupported('Your current version of CCXT is ' + Exchange.ccxtVersion + ', a newer version ' + requiredVersion + ' is required, please, upgrade your version of CCXT');
|
|
459
|
-
}
|
|
460
|
-
else {
|
|
461
|
-
return error;
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
return result;
|
|
465
|
-
}
|
|
466
436
|
throttle(cost = undefined) {
|
|
467
437
|
return this.throttler.throttle(cost);
|
|
468
438
|
}
|
|
@@ -1606,11 +1576,9 @@ class Exchange {
|
|
|
1606
1576
|
return dict;
|
|
1607
1577
|
}
|
|
1608
1578
|
randomBytes(length) {
|
|
1609
|
-
const
|
|
1610
|
-
|
|
1611
|
-
x
|
|
1612
|
-
rng$1.nextBytes(x);
|
|
1613
|
-
return Buffer.from(x).toString('hex');
|
|
1579
|
+
const x = new Uint8Array(length);
|
|
1580
|
+
crypto.getRandomValues(x);
|
|
1581
|
+
return this.binaryToBase16(x);
|
|
1614
1582
|
}
|
|
1615
1583
|
randNumber(size) {
|
|
1616
1584
|
let number = '';
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var hmac_js = require('@noble/hashes/hmac.js');
|
|
6
6
|
var base = require('@scure/base');
|
|
7
7
|
var utils_js$1 = require('@noble/hashes/utils.js');
|
|
8
|
-
var base64 = require('../../static_dependencies/jsencrypt/lib/asn1js/base64.js');
|
|
9
|
-
var asn1 = require('../../static_dependencies/jsencrypt/lib/asn1js/asn1.js');
|
|
10
8
|
var secp256k1_js = require('@noble/curves/secp256k1.js');
|
|
11
9
|
var nist_js = require('@noble/curves/nist.js');
|
|
12
10
|
var utils_js = require('@noble/curves/utils.js');
|
|
@@ -25,6 +23,62 @@ const supportedCurve = {
|
|
|
25
23
|
'1.3.132.0.10': secp256k1_js.secp256k1,
|
|
26
24
|
'1.2.840.10045.3.1.7': nist_js.p256,
|
|
27
25
|
};
|
|
26
|
+
/* ----- minimal PEM / DER helpers (replace the vendored jsencrypt asn1js) ----- */
|
|
27
|
+
// strip the PEM armor (-----BEGIN/END ...-----) and base64-decode the body to DER bytes
|
|
28
|
+
function pemToDer(pem) {
|
|
29
|
+
const body = pem
|
|
30
|
+
.replace(/-----BEGIN [^-]+-----/g, '')
|
|
31
|
+
.replace(/-----END [^-]+-----/g, '')
|
|
32
|
+
.replace(/\s+/g, '');
|
|
33
|
+
return base.base64.decode(body);
|
|
34
|
+
}
|
|
35
|
+
// read a definite-form DER length, returns [ length, nextOffset ]
|
|
36
|
+
function readDerLength(bytes, offset) {
|
|
37
|
+
let length = bytes[offset];
|
|
38
|
+
offset += 1;
|
|
39
|
+
if (length & 0x80) {
|
|
40
|
+
const numBytes = length & 0x7f;
|
|
41
|
+
length = 0;
|
|
42
|
+
for (let i = 0; i < numBytes; i++) {
|
|
43
|
+
length = (length * 256) + bytes[offset];
|
|
44
|
+
offset += 1;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return [length, offset];
|
|
48
|
+
}
|
|
49
|
+
// parse a DER buffer into a flat list of its top-level TLV elements
|
|
50
|
+
function parseDerElements(bytes) {
|
|
51
|
+
const elements = [];
|
|
52
|
+
let offset = 0;
|
|
53
|
+
while (offset < bytes.length) {
|
|
54
|
+
const tag = bytes[offset];
|
|
55
|
+
offset += 1;
|
|
56
|
+
const result = readDerLength(bytes, offset);
|
|
57
|
+
const length = result[0];
|
|
58
|
+
offset = result[1];
|
|
59
|
+
const content = bytes.slice(offset, offset + length);
|
|
60
|
+
elements.push({ 'tag': tag, 'content': content });
|
|
61
|
+
offset += length;
|
|
62
|
+
}
|
|
63
|
+
return elements;
|
|
64
|
+
}
|
|
65
|
+
// decode an OID's content bytes into a dotted-decimal string
|
|
66
|
+
function decodeOid(bytes) {
|
|
67
|
+
const values = [];
|
|
68
|
+
const first = bytes[0];
|
|
69
|
+
values.push(Math.floor(first / 40));
|
|
70
|
+
values.push(first % 40);
|
|
71
|
+
let value = 0;
|
|
72
|
+
for (let i = 1; i < bytes.length; i++) {
|
|
73
|
+
const b = bytes[i];
|
|
74
|
+
value = (value * 128) + (b & 0x7f);
|
|
75
|
+
if ((b & 0x80) === 0) {
|
|
76
|
+
values.push(value);
|
|
77
|
+
value = 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return values.join('.');
|
|
81
|
+
}
|
|
28
82
|
/* ............................................. */
|
|
29
83
|
const hash = (request, hash, digest = 'hex') => {
|
|
30
84
|
const binary = hash(utf8Bytes(request));
|
|
@@ -43,22 +97,24 @@ function ecdsa(request, secret, curve, prehash = null, fixedLength = false) {
|
|
|
43
97
|
if (typeof secret === 'string' && secret.length > 64) {
|
|
44
98
|
// decode pem key
|
|
45
99
|
if (secret.startsWith('-----BEGIN EC PRIVATE KEY-----')) {
|
|
46
|
-
const der =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
100
|
+
const der = pemToDer(secret);
|
|
101
|
+
const top = parseDerElements(der);
|
|
102
|
+
// ECPrivateKey ::= SEQUENCE {
|
|
103
|
+
// version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
|
|
104
|
+
// privateKey OCTET STRING,
|
|
105
|
+
// parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
|
|
106
|
+
// publicKey [1] BIT STRING OPTIONAL
|
|
107
|
+
// }
|
|
108
|
+
const fields = parseDerElements(top[0].content);
|
|
109
|
+
if (fields.length === 4) {
|
|
110
|
+
const params = fields[2];
|
|
111
|
+
if (params !== undefined && params.tag === 0xA0 && params.content.length > 0) {
|
|
112
|
+
const oid = decodeOid(parseDerElements(params.content)[0].content);
|
|
57
113
|
if (supportedCurve[oid] === undefined)
|
|
58
114
|
throw new Error('Unsupported curve');
|
|
59
115
|
curve = supportedCurve[oid];
|
|
60
116
|
}
|
|
61
|
-
secret =
|
|
117
|
+
secret = base.hex.encode(fields[1].content);
|
|
62
118
|
}
|
|
63
119
|
else {
|
|
64
120
|
// maybe return false
|
|
@@ -106,7 +162,7 @@ function eddsa(request, secret, curve) {
|
|
|
106
162
|
else if (typeof secret === 'string') {
|
|
107
163
|
// secret is the base64 pem encoded key
|
|
108
164
|
// we get the last 32 bytes
|
|
109
|
-
privateKey = new Uint8Array(
|
|
165
|
+
privateKey = new Uint8Array(pemToDer(secret).slice(16));
|
|
110
166
|
}
|
|
111
167
|
const signature = curve.sign(hexBytes(request), privateKey);
|
|
112
168
|
return base.base64.encode(signature);
|
|
@@ -139,3 +195,4 @@ exports.ecdsa = ecdsa;
|
|
|
139
195
|
exports.eddsa = eddsa;
|
|
140
196
|
exports.hash = hash;
|
|
141
197
|
exports.hmac = hmac;
|
|
198
|
+
exports.pemToDer = pemToDer;
|
|
@@ -2,22 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var utils_js = require('@noble/hashes/utils.js');
|
|
5
|
+
var crypto = require('crypto');
|
|
7
6
|
var base = require('@scure/base');
|
|
8
7
|
var encode = require('./encode.js');
|
|
9
|
-
var crypto = require('./crypto.js');
|
|
8
|
+
var crypto$1 = require('./crypto.js');
|
|
10
9
|
var nist_js = require('@noble/curves/nist.js');
|
|
11
10
|
var ed25519_js = require('@noble/curves/ed25519.js');
|
|
12
11
|
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto);
|
|
15
|
+
|
|
13
16
|
// ----------------------------------------------------------------------------
|
|
17
|
+
// RSASSA-PKCS1-v1_5 signing via Node's built-in `crypto` module. This is synchronous
|
|
18
|
+
// and works in Node.js / Bun / Deno (anything exposing node:crypto). It is NOT available
|
|
19
|
+
// in the browser bundle (rspack stubs the `crypto` module), so rsa throws there: RSA
|
|
20
|
+
// signing is currently unsupported in the browser.
|
|
14
21
|
function rsa(request, secret, hash) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
if (crypto__default["default"] === undefined || crypto__default["default"].createSign === undefined) {
|
|
23
|
+
throw new Error('rsa is currently not supported in the browser');
|
|
24
|
+
}
|
|
18
25
|
// @noble/hashes v2 renamed the digest classes from SHA256 to _SHA256, etc
|
|
19
26
|
const name = (hash.create()).constructor.name.toLowerCase().replace('_', '');
|
|
20
|
-
|
|
27
|
+
const algorithms = {
|
|
28
|
+
'sha256': 'RSA-SHA256',
|
|
29
|
+
'sha384': 'RSA-SHA384',
|
|
30
|
+
'sha512': 'RSA-SHA512',
|
|
31
|
+
};
|
|
32
|
+
const algorithm = algorithms[name];
|
|
33
|
+
const signer = crypto__default["default"].createSign(algorithm);
|
|
34
|
+
signer.update(request);
|
|
35
|
+
return signer.sign(secret, 'base64');
|
|
21
36
|
}
|
|
22
37
|
function jwt(request, secret, hash, isRSA = false, opts = {}) {
|
|
23
38
|
let alg = (isRSA ? 'RS' : 'HS') + (hash.outputLen * 8);
|
|
@@ -35,19 +50,19 @@ function jwt(request, secret, hash, isRSA = false, opts = {}) {
|
|
|
35
50
|
const algoType = alg.slice(0, 2);
|
|
36
51
|
let signature = undefined;
|
|
37
52
|
if (algoType === 'HS') {
|
|
38
|
-
signature = encode.urlencodeBase64(crypto.hmac(token, secret, hash, 'binary'));
|
|
53
|
+
signature = encode.urlencodeBase64(crypto$1.hmac(token, secret, hash, 'binary'));
|
|
39
54
|
}
|
|
40
55
|
else if (isRSA || algoType === 'RS') {
|
|
41
56
|
signature = encode.urlencodeBase64(encode.base64ToBinary(rsa(token, base.utf8.encode(secret), hash)));
|
|
42
57
|
}
|
|
43
58
|
else if (algoType === 'ES') {
|
|
44
|
-
const signedHash = crypto.ecdsa(token, base.utf8.encode(secret), nist_js.p256, hash);
|
|
59
|
+
const signedHash = crypto$1.ecdsa(token, base.utf8.encode(secret), nist_js.p256, hash);
|
|
45
60
|
const r = signedHash.r.padStart(64, '0');
|
|
46
61
|
const s = signedHash.s.padStart(64, '0');
|
|
47
62
|
signature = encode.urlencodeBase64(encode.base16ToBinary(r + s));
|
|
48
63
|
}
|
|
49
64
|
else if (algoType === 'ED') {
|
|
50
|
-
const base64str = crypto.eddsa(toHex(token), secret, ed25519_js.ed25519);
|
|
65
|
+
const base64str = crypto$1.eddsa(toHex(token), secret, ed25519_js.ed25519);
|
|
51
66
|
// we need urlencoded64 not base64
|
|
52
67
|
signature = encode.base64ToBase64Url(base64str);
|
|
53
68
|
}
|
|
@@ -134,6 +134,7 @@ exports.ecdsa = crypto.ecdsa;
|
|
|
134
134
|
exports.eddsa = crypto.eddsa;
|
|
135
135
|
exports.hash = crypto.hash;
|
|
136
136
|
exports.hmac = crypto.hmac;
|
|
137
|
+
exports.pemToDer = crypto.pemToDer;
|
|
137
138
|
exports.TimedOut = time.TimedOut;
|
|
138
139
|
exports.iso8601 = time.iso8601;
|
|
139
140
|
exports.mdy = time.mdy;
|
package/dist/cjs/src/bequant.js
CHANGED
|
@@ -22,7 +22,7 @@ class bequant extends hitbtc["default"] {
|
|
|
22
22
|
'option': undefined,
|
|
23
23
|
},
|
|
24
24
|
'urls': {
|
|
25
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
25
|
+
'logo': 'https://github.com/user-attachments/assets/01e199a6-5c65-4b03-83ab-7f9827c140f9',
|
|
26
26
|
'api': {
|
|
27
27
|
// v3
|
|
28
28
|
'public': 'https://api.bequant.io/api/3',
|
package/dist/cjs/src/bigone.js
CHANGED
|
@@ -1027,7 +1027,7 @@ class bigone extends bigone$1["default"] {
|
|
|
1027
1027
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1028
1028
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1029
1029
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1030
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1030
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1031
1031
|
*/
|
|
1032
1032
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1033
1033
|
await this.loadMarkets();
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -4123,7 +4123,7 @@ class binance extends binance$1["default"] {
|
|
|
4123
4123
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
4124
4124
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
4125
4125
|
* @param {boolean} [params.rpi] *future only* set to true to use the RPI endpoint
|
|
4126
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
4126
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
4127
4127
|
*/
|
|
4128
4128
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
4129
4129
|
await this.loadMarkets();
|
package/dist/cjs/src/bingx.js
CHANGED
|
@@ -1537,7 +1537,7 @@ class bingx extends bingx$1["default"] {
|
|
|
1537
1537
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1538
1538
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1539
1539
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1540
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1540
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1541
1541
|
*/
|
|
1542
1542
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1543
1543
|
await this.loadMarkets();
|
|
@@ -6650,7 +6650,6 @@ class bingx extends bingx$1["default"] {
|
|
|
6650
6650
|
};
|
|
6651
6651
|
let response = undefined;
|
|
6652
6652
|
let commission = {};
|
|
6653
|
-
const data = this.safeDict(response, 'data', {});
|
|
6654
6653
|
if (market['spot']) {
|
|
6655
6654
|
response = await this.spotV1PrivateGetUserCommissionRate(this.extend(request, params));
|
|
6656
6655
|
//
|
|
@@ -6664,7 +6663,7 @@ class bingx extends bingx$1["default"] {
|
|
|
6664
6663
|
// }
|
|
6665
6664
|
// }
|
|
6666
6665
|
//
|
|
6667
|
-
commission = data;
|
|
6666
|
+
commission = this.safeDict(response, 'data', {});
|
|
6668
6667
|
}
|
|
6669
6668
|
else {
|
|
6670
6669
|
if (market['inverse']) {
|
|
@@ -6680,7 +6679,7 @@ class bingx extends bingx$1["default"] {
|
|
|
6680
6679
|
// }
|
|
6681
6680
|
// }
|
|
6682
6681
|
//
|
|
6683
|
-
commission = data;
|
|
6682
|
+
commission = this.safeDict(response, 'data', {});
|
|
6684
6683
|
}
|
|
6685
6684
|
else {
|
|
6686
6685
|
response = await this.swapV2PrivateGetUserCommissionRate(params);
|
|
@@ -6696,6 +6695,7 @@ class bingx extends bingx$1["default"] {
|
|
|
6696
6695
|
// }
|
|
6697
6696
|
// }
|
|
6698
6697
|
//
|
|
6698
|
+
const data = this.safeDict(response, 'data', {});
|
|
6699
6699
|
commission = this.safeDict(data, 'commission', {});
|
|
6700
6700
|
}
|
|
6701
6701
|
}
|
package/dist/cjs/src/bit2c.js
CHANGED
|
@@ -366,7 +366,7 @@ class bit2c extends bit2c$1["default"] {
|
|
|
366
366
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
367
367
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
368
368
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
369
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
369
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
370
370
|
*/
|
|
371
371
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
372
372
|
await this.loadMarkets();
|
package/dist/cjs/src/bitbank.js
CHANGED
|
@@ -418,7 +418,7 @@ class bitbank extends bitbank$1["default"] {
|
|
|
418
418
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
419
419
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
420
420
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
421
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
421
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
422
422
|
*/
|
|
423
423
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
424
424
|
await this.loadMarkets();
|
package/dist/cjs/src/bitbns.js
CHANGED
|
@@ -359,7 +359,7 @@ class bitbns extends bitbns$1["default"] {
|
|
|
359
359
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
360
360
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
361
361
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
362
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
362
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
363
363
|
*/
|
|
364
364
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
365
365
|
await this.loadMarkets();
|
package/dist/cjs/src/bitfinex.js
CHANGED
|
@@ -606,13 +606,13 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
606
606
|
async fetchMarkets(params = {}) {
|
|
607
607
|
const labels = [
|
|
608
608
|
'pub:info:pair',
|
|
609
|
-
//
|
|
609
|
+
// sample: 'AAVE:USD' with fields null,null,null,"0.02","5000.0",null,null,null,null,null,null,null
|
|
610
610
|
'pub:info:pair:futures',
|
|
611
|
-
//
|
|
611
|
+
// sample: 'AAVEF0:USTF0' with fields null,null,null,"0.02","5000.0",null,null,null,0.01,0.005
|
|
612
612
|
'pub:list:pair:securities',
|
|
613
|
-
// ALT2612:USD","ALT2612:UST","BMN2:BTC","BMN2:USD","TITAN1:GBP","TITAN1:USD","TITAN2:GBP","TITAN2:USD","USTBL:USD","USTBL:UST"
|
|
613
|
+
// sample: "ALT2612:USD","ALT2612:UST","BMN2:BTC","BMN2:USD","TITAN1:GBP","TITAN1:USD","TITAN2:GBP","TITAN2:USD","USTBL:USD","USTBL:UST"
|
|
614
614
|
'pub:list:pair:margin',
|
|
615
|
-
//
|
|
615
|
+
// sample: 'ADABTC', 'AVAX:BTC', ... // delimiter inconsistency
|
|
616
616
|
];
|
|
617
617
|
const config = labels.join(',');
|
|
618
618
|
const request = {
|
|
@@ -1133,7 +1133,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
1133
1133
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1134
1134
|
* @param {int} [limit] the maximum amount of order book entries to return, bitfinex only allows 1, 25, or 100
|
|
1135
1135
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1136
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1136
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1137
1137
|
*/
|
|
1138
1138
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1139
1139
|
await this.loadMarkets();
|
package/dist/cjs/src/bitflyer.js
CHANGED
|
@@ -461,7 +461,7 @@ class bitflyer extends bitflyer$1["default"] {
|
|
|
461
461
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
462
462
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
463
463
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
464
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
464
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
465
465
|
*/
|
|
466
466
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
467
467
|
await this.loadMarkets();
|
package/dist/cjs/src/bitget.js
CHANGED
|
@@ -162,7 +162,7 @@ class bitget extends bitget$1["default"] {
|
|
|
162
162
|
},
|
|
163
163
|
'hostname': 'bitget.com',
|
|
164
164
|
'urls': {
|
|
165
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
165
|
+
'logo': 'https://github.com/user-attachments/assets/b54bb4c2-416d-4231-8968-85a77748ba45',
|
|
166
166
|
'api': {
|
|
167
167
|
'spot': 'https://api.{hostname}',
|
|
168
168
|
'mix': 'https://api.{hostname}',
|
|
@@ -3166,7 +3166,7 @@ class bitget extends bitget$1["default"] {
|
|
|
3166
3166
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
3167
3167
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3168
3168
|
* @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
|
|
3169
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
3169
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
3170
3170
|
*/
|
|
3171
3171
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
3172
3172
|
await this.loadMarkets();
|
package/dist/cjs/src/bithumb.js
CHANGED
|
@@ -453,7 +453,7 @@ class bithumb extends bithumb$1["default"] {
|
|
|
453
453
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
454
454
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
455
455
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
456
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
456
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
457
457
|
*/
|
|
458
458
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
459
459
|
await this.loadMarkets();
|
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -115,7 +115,7 @@ class bitmart extends bitmart$1["default"] {
|
|
|
115
115
|
},
|
|
116
116
|
'hostname': 'bitmart.com', // bitmart.info, bitmart.news for Hong Kong users
|
|
117
117
|
'urls': {
|
|
118
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
118
|
+
'logo': 'https://github.com/user-attachments/assets/3741e8c0-83a8-4504-ae68-32b00e3c27ee',
|
|
119
119
|
'api': {
|
|
120
120
|
'spot': 'https://api-cloud.{hostname}',
|
|
121
121
|
'swap': 'https://api-cloud-v2.{hostname}', // bitmart.info for Hong Kong users
|
|
@@ -1810,7 +1810,7 @@ class bitmart extends bitmart$1["default"] {
|
|
|
1810
1810
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1811
1811
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1812
1812
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1813
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1813
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1814
1814
|
*/
|
|
1815
1815
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1816
1816
|
await this.loadMarkets();
|
package/dist/cjs/src/bitmex.js
CHANGED
|
@@ -138,7 +138,7 @@ class bitmex extends bitmex$1["default"] {
|
|
|
138
138
|
'public': 'https://testnet.bitmex.com',
|
|
139
139
|
'private': 'https://testnet.bitmex.com',
|
|
140
140
|
},
|
|
141
|
-
'logo': 'https://github.com/user-attachments/assets/
|
|
141
|
+
'logo': 'https://github.com/user-attachments/assets/3360333d-35a6-4503-bbba-92a6bc0c174f',
|
|
142
142
|
'api': {
|
|
143
143
|
'public': 'https://www.bitmex.com',
|
|
144
144
|
'private': 'https://www.bitmex.com',
|
|
@@ -850,7 +850,7 @@ class bitmex extends bitmex$1["default"] {
|
|
|
850
850
|
}
|
|
851
851
|
expiryDatetime = this.safeString2(market, 'expiry', 'closingTimestamp');
|
|
852
852
|
expiry = this.parse8601(expiryDatetime);
|
|
853
|
-
if (expiry !== undefined) {
|
|
853
|
+
if (expiry !== undefined && future) {
|
|
854
854
|
symbol = symbol + '-' + this.yymmdd(expiry);
|
|
855
855
|
}
|
|
856
856
|
}
|
|
@@ -1056,7 +1056,7 @@ class bitmex extends bitmex$1["default"] {
|
|
|
1056
1056
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
1057
1057
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
1058
1058
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1059
|
-
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1059
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
1060
1060
|
*/
|
|
1061
1061
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
1062
1062
|
await this.loadMarkets();
|