ccxt 4.5.59 → 4.5.61
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 +53 -52
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +6 -2
- package/dist/cjs/src/abstract/aftermath.js +1 -1
- package/dist/cjs/src/abstract/alpaca.js +1 -1
- package/dist/cjs/src/abstract/apex.js +1 -1
- package/dist/cjs/src/abstract/ascendex.js +1 -1
- package/dist/cjs/src/abstract/aster.js +1 -1
- package/dist/cjs/src/abstract/backpack.js +1 -1
- package/dist/cjs/src/abstract/bigone.js +1 -1
- package/dist/cjs/src/abstract/binance.js +1 -1
- package/dist/cjs/src/abstract/bingx.js +1 -1
- package/dist/cjs/src/abstract/bit2c.js +1 -1
- package/dist/cjs/src/abstract/bitbank.js +1 -1
- package/dist/cjs/src/abstract/bitbns.js +1 -1
- package/dist/cjs/src/abstract/bitfinex.js +1 -1
- package/dist/cjs/src/abstract/bitflyer.js +1 -1
- package/dist/cjs/src/abstract/bitget.js +1 -1
- package/dist/cjs/src/abstract/bithumb.js +1 -1
- package/dist/cjs/src/abstract/bitmart.js +1 -1
- package/dist/cjs/src/abstract/bitmex.js +1 -1
- package/dist/cjs/src/abstract/bitopro.js +1 -1
- package/dist/cjs/src/abstract/bitrue.js +1 -1
- package/dist/cjs/src/abstract/bitso.js +1 -1
- package/dist/cjs/src/abstract/bitstamp.js +1 -1
- package/dist/cjs/src/abstract/bitteam.js +1 -1
- package/dist/cjs/src/abstract/bittrade.js +1 -1
- package/dist/cjs/src/abstract/bitvavo.js +1 -1
- package/dist/cjs/src/abstract/blockchaincom.js +1 -1
- package/dist/cjs/src/abstract/blofin.js +1 -1
- package/dist/cjs/src/abstract/btcbox.js +1 -1
- package/dist/cjs/src/abstract/btcmarkets.js +1 -1
- package/dist/cjs/src/abstract/btcturk.js +1 -1
- package/dist/cjs/src/abstract/bullish.js +1 -1
- package/dist/cjs/src/abstract/bybit.js +1 -1
- package/dist/cjs/src/abstract/bydfi.js +1 -1
- package/dist/cjs/src/abstract/cex.js +1 -1
- package/dist/cjs/src/abstract/coinbase.js +1 -1
- package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
- package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
- package/dist/cjs/src/abstract/coincheck.js +1 -1
- package/dist/cjs/src/abstract/coinex.js +1 -1
- package/dist/cjs/src/abstract/coinmate.js +1 -1
- package/dist/cjs/src/abstract/coinmetro.js +1 -1
- package/dist/cjs/src/abstract/coinone.js +1 -1
- package/dist/cjs/src/abstract/coinsph.js +1 -1
- package/dist/cjs/src/abstract/coinspot.js +1 -1
- package/dist/cjs/src/abstract/cryptocom.js +1 -1
- package/dist/cjs/src/abstract/cryptomus.js +1 -1
- package/dist/cjs/src/abstract/deepcoin.js +1 -1
- package/dist/cjs/src/abstract/delta.js +1 -1
- package/dist/cjs/src/abstract/deribit.js +1 -1
- package/dist/cjs/src/abstract/derive.js +1 -1
- package/dist/cjs/src/abstract/digifinex.js +1 -1
- package/dist/cjs/src/abstract/dydx.js +1 -1
- package/dist/cjs/src/abstract/exmo.js +1 -1
- package/dist/cjs/src/abstract/extended.js +1 -1
- package/dist/cjs/src/abstract/foxbit.js +1 -1
- package/dist/cjs/src/abstract/gate.js +1 -1
- package/dist/cjs/src/abstract/gemini.js +1 -1
- package/dist/cjs/src/abstract/grvt.js +1 -1
- package/dist/cjs/src/abstract/hashkey.js +1 -1
- package/dist/cjs/src/abstract/hibachi.js +1 -1
- package/dist/cjs/src/abstract/hitbtc.js +1 -1
- package/dist/cjs/src/abstract/hollaex.js +1 -1
- package/dist/cjs/src/abstract/htx.js +1 -1
- package/dist/cjs/src/abstract/hyperliquid.js +1 -1
- package/dist/cjs/src/abstract/independentreserve.js +1 -1
- package/dist/cjs/src/abstract/indodax.js +1 -1
- package/dist/cjs/src/abstract/kraken.js +1 -1
- package/dist/cjs/src/abstract/krakenfutures.js +1 -1
- package/dist/cjs/src/abstract/kucoin.js +1 -1
- package/dist/cjs/src/abstract/latoken.js +1 -1
- package/dist/cjs/src/abstract/lbank.js +1 -1
- package/dist/cjs/src/abstract/lighter.js +1 -1
- package/dist/cjs/src/abstract/luno.js +1 -1
- package/dist/cjs/src/abstract/mercado.js +1 -1
- package/dist/cjs/src/abstract/mexc.js +1 -1
- package/dist/cjs/src/abstract/modetrade.js +1 -1
- package/dist/cjs/src/abstract/ndax.js +1 -1
- package/dist/cjs/src/abstract/novadax.js +1 -1
- package/dist/cjs/src/abstract/okx.js +1 -1
- package/dist/cjs/src/abstract/onetrading.js +1 -1
- package/dist/cjs/src/abstract/p2b.js +1 -1
- package/dist/cjs/src/abstract/pacifica.js +1 -1
- package/dist/cjs/src/abstract/paradex.js +1 -1
- package/dist/cjs/src/abstract/paymium.js +1 -1
- package/dist/cjs/src/abstract/phemex.js +1 -1
- package/dist/cjs/src/abstract/poloniex.js +1 -1
- package/dist/cjs/src/abstract/tokocrypto.js +1 -1
- package/dist/cjs/src/abstract/toobit.js +1 -1
- package/dist/cjs/src/abstract/upbit.js +1 -1
- package/dist/cjs/src/abstract/weex.js +1 -1
- package/dist/cjs/src/abstract/whitebit.js +1 -1
- package/dist/cjs/src/abstract/woo.js +1 -1
- package/dist/cjs/src/abstract/woofipro.js +1 -1
- package/dist/cjs/src/abstract/xt.js +1 -1
- package/dist/cjs/src/abstract/zaif.js +1 -1
- package/dist/cjs/src/abstract/zebpay.js +1 -1
- package/dist/cjs/src/aftermath.js +9 -3
- package/dist/cjs/src/alpaca.js +2 -2
- package/dist/cjs/src/apex.js +35 -35
- package/dist/cjs/src/ascendex.js +6 -7
- package/dist/cjs/src/aster.js +23 -25
- package/dist/cjs/src/backpack.js +4 -4
- package/dist/cjs/src/base/Exchange.js +79 -60
- package/dist/cjs/src/base/Precise.js +6 -0
- package/dist/cjs/src/base/errors.js +6 -0
- package/dist/cjs/src/base/functions/crypto.js +73 -16
- package/dist/cjs/src/base/functions/encode.js +1 -1
- package/dist/cjs/src/base/functions/generic.js +1 -1
- package/dist/cjs/src/base/functions/io.js +1 -1
- package/dist/cjs/src/base/functions/misc.js +1 -0
- package/dist/cjs/src/base/functions/number.js +6 -0
- package/dist/cjs/src/base/functions/platform.js +6 -0
- package/dist/cjs/src/base/functions/rsa.js +26 -10
- package/dist/cjs/src/base/functions/string.js +6 -0
- package/dist/cjs/src/base/functions/throttle.js +1 -1
- package/dist/cjs/src/base/functions/time.js +6 -0
- package/dist/cjs/src/base/functions/totp.js +1 -0
- package/dist/cjs/src/base/functions/type.js +19 -13
- package/dist/cjs/src/base/functions.js +3 -2
- package/dist/cjs/src/base/ws/Cache.js +6 -2
- package/dist/cjs/src/base/ws/Client.js +1 -0
- package/dist/cjs/src/base/ws/Future.js +1 -1
- package/dist/cjs/src/base/ws/OrderBook.js +1 -1
- package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
- package/dist/cjs/src/base/ws/WsClient.js +1 -1
- package/dist/cjs/src/bequant.js +2 -2
- package/dist/cjs/src/bigone.js +6 -6
- package/dist/cjs/src/binance.js +65 -18
- package/dist/cjs/src/binancecoinm.js +1 -1
- package/dist/cjs/src/binanceus.js +1 -1
- package/dist/cjs/src/binanceusdm.js +1 -1
- package/dist/cjs/src/bingx.js +30 -30
- package/dist/cjs/src/bit2c.js +3 -3
- package/dist/cjs/src/bitbank.js +2 -2
- package/dist/cjs/src/bitbns.js +3 -2
- package/dist/cjs/src/bitfinex.js +14 -14
- package/dist/cjs/src/bitflyer.js +2 -2
- package/dist/cjs/src/bitget.js +12 -12
- package/dist/cjs/src/bithumb.js +3 -3
- package/dist/cjs/src/bitmart.js +6 -6
- package/dist/cjs/src/bitmex.js +78 -11
- package/dist/cjs/src/bitopro.js +2 -2
- package/dist/cjs/src/bitrue.js +18 -18
- package/dist/cjs/src/bitso.js +3 -3
- package/dist/cjs/src/bitstamp.js +10 -10
- package/dist/cjs/src/bitteam.js +4 -4
- package/dist/cjs/src/bittrade.js +3 -3
- package/dist/cjs/src/bitvavo.js +1 -1
- package/dist/cjs/src/blockchaincom.js +7 -10
- package/dist/cjs/src/blofin.js +16 -18
- package/dist/cjs/src/btcbox.js +2 -2
- package/dist/cjs/src/btcmarkets.js +2 -2
- package/dist/cjs/src/btcturk.js +2 -2
- package/dist/cjs/src/bullish.js +6 -4
- package/dist/cjs/src/bybit.js +52 -58
- package/dist/cjs/src/bybiteu.js +1 -1
- package/dist/cjs/src/bydfi.js +6 -6
- package/dist/cjs/src/cex.js +3 -3
- package/dist/cjs/src/coinbase.js +9 -9
- package/dist/cjs/src/coinbaseexchange.js +8 -3
- package/dist/cjs/src/coincheck.js +9 -5
- package/dist/cjs/src/coinex.js +11 -11
- package/dist/cjs/src/coinmate.js +3 -3
- package/dist/cjs/src/coinmetro.js +6 -6
- package/dist/cjs/src/coinone.js +2 -4
- package/dist/cjs/src/coinsph.js +2 -1
- package/dist/cjs/src/coinspot.js +31 -6
- package/dist/cjs/src/cryptocom.js +2 -2
- package/dist/cjs/src/cryptomus.js +11 -7
- package/dist/cjs/src/deepcoin.js +4 -4
- package/dist/cjs/src/delta.js +11 -11
- package/dist/cjs/src/deribit.js +5 -5
- package/dist/cjs/src/derive.js +17 -18
- package/dist/cjs/src/digifinex.js +8 -8
- package/dist/cjs/src/dydx.js +7 -7
- package/dist/cjs/src/exmo.js +20 -18
- package/dist/cjs/src/extended.js +6 -6
- package/dist/cjs/src/fmfwio.js +1 -1
- package/dist/cjs/src/foxbit.js +4 -4
- package/dist/cjs/src/gate.js +53 -54
- package/dist/cjs/src/gateeu.js +60 -0
- package/dist/cjs/src/gemini.js +2 -2
- package/dist/cjs/src/grvt.js +4 -4
- package/dist/cjs/src/hashkey.js +6 -6
- package/dist/cjs/src/hibachi.js +9 -9
- package/dist/cjs/src/hitbtc.js +20 -19
- package/dist/cjs/src/hollaex.js +2 -2
- package/dist/cjs/src/htx.js +337 -231
- package/dist/cjs/src/hyperliquid.js +8 -8
- package/dist/cjs/src/independentreserve.js +3 -3
- package/dist/cjs/src/indodax.js +6 -6
- package/dist/cjs/src/kraken.js +5 -4
- package/dist/cjs/src/krakenfutures.js +6 -6
- package/dist/cjs/src/kucoin.js +11 -10
- package/dist/cjs/src/kucoinfutures.js +5 -1
- package/dist/cjs/src/latoken.js +11 -11
- package/dist/cjs/src/lbank.js +12 -12
- package/dist/cjs/src/lighter.js +8 -8
- package/dist/cjs/src/luno.js +6 -6
- package/dist/cjs/src/mercado.js +2 -2
- package/dist/cjs/src/mexc.js +32 -28
- package/dist/cjs/src/modetrade.js +9 -11
- package/dist/cjs/src/myokx.js +1 -1
- package/dist/cjs/src/ndax.js +2 -2
- package/dist/cjs/src/novadax.js +2 -2
- package/dist/cjs/src/okx.js +37 -47
- package/dist/cjs/src/okxus.js +1 -1
- package/dist/cjs/src/onetrading.js +3 -3
- package/dist/cjs/src/p2b.js +4 -5
- package/dist/cjs/src/pacifica.js +5 -5
- package/dist/cjs/src/paradex.js +5 -5
- package/dist/cjs/src/paymium.js +2 -2
- package/dist/cjs/src/phemex.js +25 -25
- package/dist/cjs/src/poloniex.js +4 -4
- package/dist/cjs/src/pro/aftermath.js +1 -1
- package/dist/cjs/src/pro/alpaca.js +2 -2
- package/dist/cjs/src/pro/apex.js +3 -3
- package/dist/cjs/src/pro/ascendex.js +2 -2
- package/dist/cjs/src/pro/aster.js +5 -5
- package/dist/cjs/src/pro/backpack.js +6 -6
- package/dist/cjs/src/pro/bequant.js +1 -1
- package/dist/cjs/src/pro/binance.js +14 -14
- package/dist/cjs/src/pro/binancecoinm.js +1 -1
- package/dist/cjs/src/pro/binanceus.js +1 -1
- package/dist/cjs/src/pro/binanceusdm.js +1 -1
- package/dist/cjs/src/pro/bingx.js +15 -15
- package/dist/cjs/src/pro/bitfinex.js +10 -7
- package/dist/cjs/src/pro/bitget.js +5 -5
- package/dist/cjs/src/pro/bithumb.js +2 -2
- package/dist/cjs/src/pro/bitmart.js +13 -10
- package/dist/cjs/src/pro/bitmex.js +24 -4
- package/dist/cjs/src/pro/bitopro.js +2 -2
- package/dist/cjs/src/pro/bitrue.js +2 -2
- package/dist/cjs/src/pro/bitstamp.js +2 -2
- package/dist/cjs/src/pro/bittrade.js +1 -1
- package/dist/cjs/src/pro/bitvavo.js +2 -2
- package/dist/cjs/src/pro/blockchaincom.js +2 -2
- package/dist/cjs/src/pro/blofin.js +12 -11
- package/dist/cjs/src/pro/bullish.js +2 -2
- package/dist/cjs/src/pro/bybit.js +36 -23
- package/dist/cjs/src/pro/bybiteu.js +1 -1
- package/dist/cjs/src/pro/bydfi.js +5 -5
- package/dist/cjs/src/pro/cex.js +2 -2
- package/dist/cjs/src/pro/coinbase.js +4 -4
- package/dist/cjs/src/pro/coinbaseexchange.js +6 -6
- package/dist/cjs/src/pro/coinbaseinternational.js +3 -3
- package/dist/cjs/src/pro/coincheck.js +2 -2
- package/dist/cjs/src/pro/coinex.js +3 -3
- package/dist/cjs/src/pro/coinone.js +2 -2
- package/dist/cjs/src/pro/cryptocom.js +5 -5
- package/dist/cjs/src/pro/deepcoin.js +11 -11
- package/dist/cjs/src/pro/deribit.js +3 -3
- package/dist/cjs/src/pro/derive.js +3 -3
- package/dist/cjs/src/pro/dydx.js +3 -3
- package/dist/cjs/src/pro/exmo.js +2 -2
- package/dist/cjs/src/pro/extended.js +1 -1
- package/dist/cjs/src/pro/gate.js +47 -16
- package/dist/cjs/src/pro/gateeu.js +32 -0
- package/dist/cjs/src/pro/gemini.js +4 -5
- package/dist/cjs/src/pro/grvt.js +9 -9
- package/dist/cjs/src/pro/hashkey.js +2 -2
- package/dist/cjs/src/pro/hitbtc.js +2 -2
- package/dist/cjs/src/pro/hollaex.js +2 -2
- package/dist/cjs/src/pro/htx.js +4 -4
- package/dist/cjs/src/pro/hyperliquid.js +45 -24
- package/dist/cjs/src/pro/independentreserve.js +2 -2
- package/dist/cjs/src/pro/kraken.js +15 -9
- package/dist/cjs/src/pro/krakenfutures.js +6 -6
- package/dist/cjs/src/pro/kucoin.js +7 -7
- package/dist/cjs/src/pro/kucoinfutures.js +1 -1
- package/dist/cjs/src/pro/lbank.js +1 -0
- package/dist/cjs/src/pro/lighter.js +3 -3
- package/dist/cjs/src/pro/luno.js +2 -2
- package/dist/cjs/src/pro/mexc.js +9 -9
- package/dist/cjs/src/pro/modetrade.js +1 -1
- package/dist/cjs/src/pro/myokx.js +1 -1
- package/dist/cjs/src/pro/ndax.js +3 -3
- package/dist/cjs/src/pro/okx.js +5 -5
- package/dist/cjs/src/pro/okxus.js +1 -1
- package/dist/cjs/src/pro/onetrading.js +2 -2
- package/dist/cjs/src/pro/p2b.js +3 -3
- package/dist/cjs/src/pro/pacifica.js +3 -3
- package/dist/cjs/src/pro/paradex.js +2 -2
- package/dist/cjs/src/pro/phemex.js +2 -2
- package/dist/cjs/src/pro/poloniex.js +5 -5
- package/dist/cjs/src/pro/toobit.js +3 -3
- package/dist/cjs/src/pro/upbit.js +2 -2
- package/dist/cjs/src/pro/weex.js +5 -5
- package/dist/cjs/src/pro/whitebit.js +2 -2
- package/dist/cjs/src/pro/woo.js +3 -3
- package/dist/cjs/src/pro/woofipro.js +1 -1
- package/dist/cjs/src/pro/xt.js +1 -1
- package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +38 -59
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -2
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +77 -92
- package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/array.js +2 -2
- package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +2 -2
- package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/number.js +2 -2
- package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/fragments.js +96 -105
- package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +53 -65
- package/dist/cjs/src/static_dependencies/ethers/index.js +1 -14
- package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/typed.js +7 -34
- package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
- package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
- package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
- package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +1 -11
- package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -8
- package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
- package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
- package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +2 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
- package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
- package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
- package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +2 -1
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +2 -1
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/dist/cjs/src/static_dependencies/qs/formats.js +6 -0
- package/dist/cjs/src/static_dependencies/qs/index.js +1 -0
- package/dist/cjs/src/static_dependencies/qs/parse.js +1 -0
- package/dist/cjs/src/static_dependencies/qs/stringify.js +1 -0
- package/dist/cjs/src/static_dependencies/qs/utils.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +2 -2
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +2 -2
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
- package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
- package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
- package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +7 -1
- package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
- package/dist/cjs/src/tokocrypto.js +5 -5
- package/dist/cjs/src/toobit.js +4 -4
- package/dist/cjs/src/upbit.js +11 -8
- package/dist/cjs/src/weex.js +10 -10
- package/dist/cjs/src/whitebit.js +6 -6
- package/dist/cjs/src/woo.js +20 -16
- package/dist/cjs/src/woofipro.js +7 -9
- package/dist/cjs/src/xt.js +5 -4
- package/dist/cjs/src/zaif.js +3 -3
- package/dist/cjs/src/zebpay.js +7 -7
- package/js/ccxt.d.ts +9 -3
- package/js/ccxt.js +12 -3
- package/js/src/abstract/aftermath.js +6 -0
- package/js/src/abstract/alpaca.js +6 -0
- package/js/src/abstract/apex.js +6 -0
- package/js/src/abstract/ascendex.js +6 -0
- package/js/src/abstract/aster.js +6 -0
- package/js/src/abstract/backpack.js +6 -0
- package/js/src/abstract/bequant.js +6 -0
- package/js/src/abstract/bigone.js +6 -0
- package/js/src/abstract/binance.js +6 -0
- package/js/src/abstract/binancecoinm.js +6 -0
- package/js/src/abstract/binanceus.js +6 -0
- package/js/src/abstract/binanceusdm.js +6 -0
- package/js/src/abstract/bingx.js +6 -0
- package/js/src/abstract/bit2c.js +6 -0
- package/js/src/abstract/bitbank.js +6 -0
- package/js/src/abstract/bitbns.js +6 -0
- package/js/src/abstract/bitfinex.js +6 -0
- package/js/src/abstract/bitflyer.js +6 -0
- package/js/src/abstract/bitget.js +6 -0
- package/js/src/abstract/bithumb.js +6 -0
- package/js/src/abstract/bitmart.js +6 -0
- package/js/src/abstract/bitmex.js +6 -0
- package/js/src/abstract/bitopro.js +6 -0
- package/js/src/abstract/bitrue.js +6 -0
- package/js/src/abstract/bitso.js +6 -0
- package/js/src/abstract/bitstamp.js +6 -0
- package/js/src/abstract/bitteam.js +6 -0
- package/js/src/abstract/bittrade.js +6 -0
- package/js/src/abstract/bitvavo.js +6 -0
- package/js/src/abstract/blockchaincom.js +6 -0
- package/js/src/abstract/blofin.js +6 -0
- package/js/src/abstract/btcbox.js +6 -0
- package/js/src/abstract/btcmarkets.js +6 -0
- package/js/src/abstract/btcturk.js +6 -0
- package/js/src/abstract/bullish.js +6 -0
- package/js/src/abstract/bybit.js +6 -0
- package/js/src/abstract/bybiteu.js +6 -0
- package/js/src/abstract/bydfi.js +6 -0
- package/js/src/abstract/cex.js +6 -0
- package/js/src/abstract/coinbase.js +6 -0
- package/js/src/abstract/coinbaseexchange.d.ts +3 -0
- package/js/src/abstract/coinbaseexchange.js +6 -0
- package/js/src/abstract/coinbaseinternational.js +6 -0
- package/js/src/abstract/coincheck.js +6 -0
- package/js/src/abstract/coinex.js +6 -0
- package/js/src/abstract/coinmate.js +6 -0
- package/js/src/abstract/coinmetro.js +6 -0
- package/js/src/abstract/coinone.js +6 -0
- package/js/src/abstract/coinsph.js +6 -0
- package/js/src/abstract/coinspot.js +6 -0
- package/js/src/abstract/cryptocom.js +6 -0
- package/js/src/abstract/cryptomus.js +6 -0
- package/js/src/abstract/deepcoin.js +6 -0
- package/js/src/abstract/delta.js +6 -0
- package/js/src/abstract/deribit.js +6 -0
- package/js/src/abstract/derive.js +6 -0
- package/js/src/abstract/digifinex.js +6 -0
- package/js/src/abstract/dydx.js +6 -0
- package/js/src/abstract/exmo.js +6 -0
- package/js/src/abstract/extended.js +6 -0
- package/js/src/abstract/fmfwio.js +6 -0
- package/js/src/abstract/foxbit.js +6 -0
- package/js/src/abstract/gate.js +6 -0
- package/js/src/abstract/gateeu.d.ts +346 -0
- package/js/src/abstract/gateeu.js +11 -0
- package/js/src/abstract/gemini.js +6 -0
- package/js/src/abstract/grvt.js +6 -0
- package/js/src/abstract/hashkey.js +6 -0
- package/js/src/abstract/hibachi.js +6 -0
- package/js/src/abstract/hitbtc.js +6 -0
- package/js/src/abstract/hollaex.js +6 -0
- package/js/src/abstract/htx.d.ts +20 -124
- package/js/src/abstract/htx.js +6 -0
- package/js/src/abstract/hyperliquid.js +6 -0
- package/js/src/abstract/independentreserve.js +6 -0
- package/js/src/abstract/indodax.js +6 -0
- package/js/src/abstract/kraken.js +6 -0
- package/js/src/abstract/krakenfutures.js +6 -0
- package/js/src/abstract/kucoin.js +6 -0
- package/js/src/abstract/kucoinfutures.js +6 -0
- package/js/src/abstract/latoken.js +6 -0
- package/js/src/abstract/lbank.js +6 -0
- package/js/src/abstract/lighter.js +6 -0
- package/js/src/abstract/luno.js +6 -0
- package/js/src/abstract/mercado.js +6 -0
- package/js/src/abstract/mexc.js +6 -0
- package/js/src/abstract/modetrade.js +6 -0
- package/js/src/abstract/myokx.js +6 -0
- package/js/src/abstract/ndax.js +6 -0
- package/js/src/abstract/novadax.js +6 -0
- package/js/src/abstract/okx.js +6 -0
- package/js/src/abstract/okxus.js +6 -0
- package/js/src/abstract/onetrading.js +6 -0
- package/js/src/abstract/p2b.js +6 -0
- package/js/src/abstract/pacifica.js +6 -0
- package/js/src/abstract/paradex.js +6 -0
- package/js/src/abstract/paymium.js +6 -0
- package/js/src/abstract/phemex.js +6 -0
- package/js/src/abstract/poloniex.js +6 -0
- package/js/src/abstract/tokocrypto.js +6 -0
- package/js/src/abstract/toobit.js +6 -0
- package/js/src/abstract/upbit.js +6 -0
- package/js/src/abstract/weex.js +6 -0
- package/js/src/abstract/whitebit.js +6 -0
- package/js/src/abstract/woo.js +6 -0
- package/js/src/abstract/woofipro.js +6 -0
- package/js/src/abstract/xt.js +6 -0
- package/js/src/abstract/zaif.js +6 -0
- package/js/src/abstract/zebpay.js +6 -0
- package/js/src/aftermath.d.ts +9 -5
- package/js/src/aftermath.js +14 -3
- package/js/src/alpaca.d.ts +4 -4
- package/js/src/alpaca.js +7 -1
- package/js/src/apex.d.ts +29 -29
- package/js/src/apex.js +40 -34
- package/js/src/ascendex.d.ts +4 -4
- package/js/src/ascendex.js +11 -6
- package/js/src/aster.d.ts +10 -10
- package/js/src/aster.js +28 -24
- package/js/src/backpack.d.ts +4 -4
- package/js/src/backpack.js +9 -3
- package/js/src/base/Exchange.d.ts +67 -54
- package/js/src/base/Exchange.js +86 -61
- package/js/src/base/Precise.js +6 -0
- package/js/src/base/errorHierarchy.js +6 -0
- package/js/src/base/errors.js +6 -0
- package/js/src/base/functions/crypto.d.ts +2 -1
- package/js/src/base/functions/crypto.js +78 -16
- package/js/src/base/functions/encode.js +6 -0
- package/js/src/base/functions/generic.js +8 -2
- package/js/src/base/functions/io.js +6 -0
- package/js/src/base/functions/misc.js +6 -0
- package/js/src/base/functions/number.js +6 -0
- package/js/src/base/functions/platform.js +6 -0
- package/js/src/base/functions/rsa.js +24 -7
- package/js/src/base/functions/string.js +6 -0
- package/js/src/base/functions/throttle.js +6 -0
- package/js/src/base/functions/time.js +6 -0
- package/js/src/base/functions/totp.js +6 -0
- package/js/src/base/functions/type.d.ts +13 -7
- package/js/src/base/functions/type.js +19 -13
- package/js/src/base/functions.js +6 -0
- package/js/src/base/types.d.ts +152 -149
- package/js/src/base/types.js +6 -0
- package/js/src/base/ws/Cache.d.ts +5 -4
- package/js/src/base/ws/Cache.js +6 -2
- package/js/src/base/ws/Client.js +6 -0
- package/js/src/base/ws/Future.js +6 -0
- package/js/src/base/ws/OrderBook.d.ts +3 -3
- package/js/src/base/ws/OrderBook.js +8 -2
- package/js/src/base/ws/OrderBookSide.js +6 -0
- package/js/src/base/ws/WsClient.js +6 -0
- package/js/src/base/ws/functions.d.ts +1 -0
- package/js/src/base/ws/functions.js +7 -1
- package/js/src/bequant.js +7 -1
- package/js/src/bigone.d.ts +5 -5
- package/js/src/bigone.js +11 -5
- package/js/src/binance.d.ts +14 -14
- package/js/src/binance.js +70 -17
- package/js/src/binancecoinm.js +6 -0
- package/js/src/binanceus.js +6 -0
- package/js/src/binanceusdm.js +6 -0
- package/js/src/bingx.d.ts +8 -8
- package/js/src/bingx.js +35 -29
- package/js/src/bit2c.d.ts +5 -5
- package/js/src/bit2c.js +8 -2
- package/js/src/bitbank.d.ts +4 -4
- package/js/src/bitbank.js +7 -1
- package/js/src/bitbns.d.ts +6 -6
- package/js/src/bitbns.js +8 -1
- package/js/src/bitfinex.d.ts +7 -7
- package/js/src/bitfinex.js +19 -13
- package/js/src/bitflyer.d.ts +5 -5
- package/js/src/bitflyer.js +7 -1
- package/js/src/bitget.d.ts +10 -10
- package/js/src/bitget.js +17 -11
- package/js/src/bithumb.d.ts +5 -5
- package/js/src/bithumb.js +8 -2
- package/js/src/bitmart.d.ts +7 -7
- package/js/src/bitmart.js +11 -5
- package/js/src/bitmex.d.ts +5 -5
- package/js/src/bitmex.js +83 -10
- package/js/src/bitopro.d.ts +5 -5
- package/js/src/bitopro.js +7 -1
- package/js/src/bitrue.d.ts +12 -12
- package/js/src/bitrue.js +23 -17
- package/js/src/bitso.d.ts +5 -5
- package/js/src/bitso.js +8 -2
- package/js/src/bitstamp.d.ts +5 -5
- package/js/src/bitstamp.js +15 -9
- package/js/src/bitteam.d.ts +4 -4
- package/js/src/bitteam.js +9 -3
- package/js/src/bittrade.d.ts +5 -5
- package/js/src/bittrade.js +8 -2
- package/js/src/bitvavo.d.ts +8 -8
- package/js/src/bitvavo.js +7 -1
- package/js/src/blockchaincom.d.ts +5 -5
- package/js/src/blockchaincom.js +12 -9
- package/js/src/blofin.d.ts +5 -5
- package/js/src/blofin.js +21 -17
- package/js/src/btcbox.d.ts +4 -4
- package/js/src/btcbox.js +7 -1
- package/js/src/btcmarkets.d.ts +6 -6
- package/js/src/btcmarkets.js +7 -1
- package/js/src/btcturk.d.ts +5 -5
- package/js/src/btcturk.js +7 -1
- package/js/src/bullish.d.ts +6 -6
- package/js/src/bullish.js +11 -3
- package/js/src/bybit.d.ts +9 -9
- package/js/src/bybit.js +57 -57
- package/js/src/bybiteu.js +6 -0
- package/js/src/bydfi.js +11 -5
- package/js/src/cex.d.ts +5 -5
- package/js/src/cex.js +8 -2
- package/js/src/coinbase.d.ts +5 -5
- package/js/src/coinbase.js +15 -9
- package/js/src/coinbaseexchange.d.ts +5 -5
- package/js/src/coinbaseexchange.js +14 -3
- package/js/src/coinbaseinternational.d.ts +7 -7
- package/js/src/coinbaseinternational.js +6 -0
- package/js/src/coincheck.d.ts +4 -4
- package/js/src/coincheck.js +14 -4
- package/js/src/coinex.d.ts +7 -7
- package/js/src/coinex.js +16 -10
- package/js/src/coinmate.d.ts +4 -4
- package/js/src/coinmate.js +8 -2
- package/js/src/coinmetro.d.ts +5 -5
- package/js/src/coinmetro.js +11 -5
- package/js/src/coinone.d.ts +5 -5
- package/js/src/coinone.js +7 -3
- package/js/src/coinsph.d.ts +5 -5
- package/js/src/coinsph.js +7 -1
- package/js/src/coinspot.d.ts +6 -5
- package/js/src/coinspot.js +37 -6
- package/js/src/cryptocom.d.ts +7 -7
- package/js/src/cryptocom.js +7 -1
- package/js/src/cryptomus.d.ts +7 -7
- package/js/src/cryptomus.js +16 -6
- package/js/src/deepcoin.d.ts +7 -13
- package/js/src/deepcoin.js +9 -3
- package/js/src/delta.d.ts +5 -5
- package/js/src/delta.js +16 -10
- package/js/src/deribit.d.ts +7 -7
- package/js/src/deribit.js +10 -4
- package/js/src/derive.d.ts +4 -4
- package/js/src/derive.js +22 -17
- package/js/src/digifinex.d.ts +6 -6
- package/js/src/digifinex.js +13 -7
- package/js/src/dydx.d.ts +5 -5
- package/js/src/dydx.js +12 -6
- package/js/src/exmo.d.ts +5 -5
- package/js/src/exmo.js +25 -17
- package/js/src/extended.d.ts +12 -12
- package/js/src/extended.js +11 -5
- package/js/src/fmfwio.js +6 -0
- package/js/src/foxbit.d.ts +5 -5
- package/js/src/foxbit.js +9 -3
- package/js/src/gate.d.ts +16 -29
- package/js/src/gate.js +58 -53
- package/js/src/gateeu.d.ts +4 -0
- package/js/src/gateeu.js +59 -0
- package/js/src/gemini.d.ts +5 -5
- package/js/src/gemini.js +7 -1
- package/js/src/grvt.d.ts +5 -5
- package/js/src/grvt.js +9 -3
- package/js/src/hashkey.d.ts +4 -4
- package/js/src/hashkey.js +11 -5
- package/js/src/hibachi.d.ts +4 -4
- package/js/src/hibachi.js +14 -8
- package/js/src/hitbtc.d.ts +7 -7
- package/js/src/hitbtc.js +25 -19
- package/js/src/hollaex.d.ts +5 -5
- package/js/src/hollaex.js +7 -1
- package/js/src/htx.d.ts +39 -23
- package/js/src/htx.js +342 -230
- package/js/src/hyperliquid.d.ts +11 -11
- package/js/src/hyperliquid.js +13 -7
- package/js/src/independentreserve.d.ts +4 -4
- package/js/src/independentreserve.js +8 -2
- package/js/src/indodax.d.ts +5 -5
- package/js/src/indodax.js +11 -5
- package/js/src/kraken.d.ts +6 -6
- package/js/src/kraken.js +10 -3
- package/js/src/krakenfutures.d.ts +5 -5
- package/js/src/krakenfutures.js +11 -5
- package/js/src/kucoin.d.ts +8 -8
- package/js/src/kucoin.js +16 -9
- package/js/src/kucoinfutures.d.ts +4 -0
- package/js/src/kucoinfutures.js +10 -0
- package/js/src/latoken.d.ts +4 -4
- package/js/src/latoken.js +16 -10
- package/js/src/lbank.d.ts +10 -10
- package/js/src/lbank.js +17 -11
- package/js/src/lighter.d.ts +5 -5
- package/js/src/lighter.js +13 -7
- package/js/src/luno.d.ts +6 -6
- package/js/src/luno.js +11 -5
- package/js/src/mercado.d.ts +5 -5
- package/js/src/mercado.js +7 -1
- package/js/src/mexc.d.ts +15 -15
- package/js/src/mexc.js +37 -27
- package/js/src/modetrade.d.ts +5 -5
- package/js/src/modetrade.js +14 -10
- package/js/src/myokx.js +6 -0
- package/js/src/ndax.d.ts +5 -5
- package/js/src/ndax.js +7 -1
- package/js/src/novadax.d.ts +5 -5
- package/js/src/novadax.js +7 -1
- package/js/src/okx.d.ts +6 -6
- package/js/src/okx.js +42 -46
- package/js/src/okxus.js +6 -0
- package/js/src/onetrading.d.ts +7 -7
- package/js/src/onetrading.js +8 -2
- package/js/src/p2b.d.ts +5 -5
- package/js/src/p2b.js +9 -4
- package/js/src/pacifica.d.ts +7 -7
- package/js/src/pacifica.js +10 -4
- package/js/src/paradex.d.ts +5 -5
- package/js/src/paradex.js +10 -4
- package/js/src/paymium.d.ts +5 -5
- package/js/src/paymium.js +7 -1
- package/js/src/phemex.d.ts +7 -7
- package/js/src/phemex.js +31 -25
- package/js/src/poloniex.d.ts +5 -5
- package/js/src/poloniex.js +9 -3
- package/js/src/pro/aftermath.d.ts +1 -1
- package/js/src/pro/aftermath.js +7 -1
- package/js/src/pro/alpaca.d.ts +1 -1
- package/js/src/pro/alpaca.js +7 -1
- package/js/src/pro/apex.d.ts +3 -4
- package/js/src/pro/apex.js +8 -2
- package/js/src/pro/ascendex.d.ts +2 -2
- package/js/src/pro/ascendex.js +7 -1
- package/js/src/pro/aster.d.ts +10 -10
- package/js/src/pro/aster.js +10 -4
- package/js/src/pro/backpack.d.ts +7 -7
- package/js/src/pro/backpack.js +11 -5
- package/js/src/pro/bequant.js +6 -0
- package/js/src/pro/binance.d.ts +7 -7
- package/js/src/pro/binance.js +20 -14
- package/js/src/pro/binancecoinm.js +6 -0
- package/js/src/pro/binanceus.js +6 -0
- package/js/src/pro/binanceusdm.js +6 -0
- package/js/src/pro/bingx.d.ts +4 -4
- package/js/src/pro/bingx.js +20 -14
- package/js/src/pro/bitfinex.d.ts +5 -5
- package/js/src/pro/bitfinex.js +15 -6
- package/js/src/pro/bitget.d.ts +11 -11
- package/js/src/pro/bitget.js +10 -4
- package/js/src/pro/bithumb.d.ts +4 -4
- package/js/src/pro/bithumb.js +7 -1
- package/js/src/pro/bitmart.d.ts +6 -6
- package/js/src/pro/bitmart.js +18 -9
- package/js/src/pro/bitmex.d.ts +2 -2
- package/js/src/pro/bitmex.js +29 -3
- package/js/src/pro/bitopro.d.ts +1 -1
- package/js/src/pro/bitopro.js +8 -2
- package/js/src/pro/bitrue.d.ts +1 -1
- package/js/src/pro/bitrue.js +7 -1
- package/js/src/pro/bitstamp.d.ts +4 -4
- package/js/src/pro/bitstamp.js +7 -1
- package/js/src/pro/bittrade.d.ts +1 -1
- package/js/src/pro/bittrade.js +7 -1
- package/js/src/pro/bitvavo.d.ts +1 -1
- package/js/src/pro/bitvavo.js +7 -1
- package/js/src/pro/blockchaincom.d.ts +5 -5
- package/js/src/pro/blockchaincom.js +7 -1
- package/js/src/pro/blofin.d.ts +5 -5
- package/js/src/pro/blofin.js +17 -10
- package/js/src/pro/bullish.d.ts +3 -3
- package/js/src/pro/bullish.js +7 -1
- package/js/src/pro/bybit.d.ts +10 -10
- package/js/src/pro/bybit.js +41 -22
- package/js/src/pro/bybiteu.js +6 -0
- package/js/src/pro/bydfi.d.ts +4 -4
- package/js/src/pro/bydfi.js +10 -4
- package/js/src/pro/cex.d.ts +2 -2
- package/js/src/pro/cex.js +7 -1
- package/js/src/pro/coinbase.d.ts +3 -3
- package/js/src/pro/coinbase.js +9 -3
- package/js/src/pro/coinbaseexchange.d.ts +6 -6
- package/js/src/pro/coinbaseexchange.js +11 -5
- package/js/src/pro/coinbaseinternational.d.ts +2 -2
- package/js/src/pro/coinbaseinternational.js +8 -2
- package/js/src/pro/coincheck.d.ts +1 -1
- package/js/src/pro/coincheck.js +7 -1
- package/js/src/pro/coinex.d.ts +8 -8
- package/js/src/pro/coinex.js +8 -2
- package/js/src/pro/coinone.d.ts +2 -2
- package/js/src/pro/coinone.js +7 -1
- package/js/src/pro/cryptocom.d.ts +4 -4
- package/js/src/pro/cryptocom.js +10 -4
- package/js/src/pro/deepcoin.d.ts +5 -5
- package/js/src/pro/deepcoin.js +16 -10
- package/js/src/pro/deribit.d.ts +5 -5
- package/js/src/pro/deribit.js +8 -2
- package/js/src/pro/derive.d.ts +2 -2
- package/js/src/pro/derive.js +9 -3
- package/js/src/pro/dydx.d.ts +2 -2
- package/js/src/pro/dydx.js +8 -2
- package/js/src/pro/exmo.d.ts +1 -1
- package/js/src/pro/exmo.js +7 -1
- package/js/src/pro/extended.d.ts +1 -1
- package/js/src/pro/extended.js +7 -1
- package/js/src/pro/gate.d.ts +4 -3
- package/js/src/pro/gate.js +52 -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 +9 -4
- package/js/src/pro/grvt.d.ts +9 -9
- package/js/src/pro/grvt.js +14 -8
- package/js/src/pro/hashkey.d.ts +2 -2
- package/js/src/pro/hashkey.js +7 -1
- package/js/src/pro/hitbtc.d.ts +1 -1
- package/js/src/pro/hitbtc.js +7 -1
- package/js/src/pro/hollaex.d.ts +1 -1
- package/js/src/pro/hollaex.js +7 -1
- package/js/src/pro/htx.d.ts +5 -5
- package/js/src/pro/htx.js +9 -3
- package/js/src/pro/hyperliquid.d.ts +6 -5
- package/js/src/pro/hyperliquid.js +51 -24
- package/js/src/pro/independentreserve.d.ts +1 -1
- package/js/src/pro/independentreserve.js +7 -1
- package/js/src/pro/kraken.d.ts +2 -2
- package/js/src/pro/kraken.js +20 -8
- package/js/src/pro/krakenfutures.d.ts +2 -2
- package/js/src/pro/krakenfutures.js +11 -5
- package/js/src/pro/kucoin.d.ts +17 -17
- package/js/src/pro/kucoin.js +12 -6
- package/js/src/pro/kucoinfutures.js +6 -0
- package/js/src/pro/lbank.d.ts +1 -1
- package/js/src/pro/lbank.js +6 -0
- package/js/src/pro/lighter.d.ts +6 -6
- package/js/src/pro/lighter.js +8 -2
- package/js/src/pro/luno.d.ts +1 -1
- package/js/src/pro/luno.js +7 -1
- package/js/src/pro/mexc.d.ts +9 -9
- package/js/src/pro/mexc.js +14 -8
- package/js/src/pro/modetrade.d.ts +2 -2
- package/js/src/pro/modetrade.js +7 -1
- package/js/src/pro/myokx.js +6 -0
- package/js/src/pro/ndax.d.ts +1 -1
- package/js/src/pro/ndax.js +8 -2
- package/js/src/pro/okx.d.ts +8 -8
- package/js/src/pro/okx.js +10 -4
- package/js/src/pro/okxus.js +6 -0
- package/js/src/pro/onetrading.d.ts +1 -1
- package/js/src/pro/onetrading.js +7 -1
- package/js/src/pro/p2b.d.ts +1 -1
- package/js/src/pro/p2b.js +8 -2
- package/js/src/pro/pacifica.d.ts +2 -2
- package/js/src/pro/pacifica.js +8 -2
- package/js/src/pro/paradex.d.ts +1 -1
- package/js/src/pro/paradex.js +7 -1
- package/js/src/pro/phemex.d.ts +1 -1
- package/js/src/pro/phemex.js +7 -1
- package/js/src/pro/poloniex.d.ts +1 -1
- package/js/src/pro/poloniex.js +10 -4
- package/js/src/pro/toobit.d.ts +2 -2
- package/js/src/pro/toobit.js +8 -2
- package/js/src/pro/upbit.d.ts +4 -4
- package/js/src/pro/upbit.js +7 -1
- package/js/src/pro/weex.d.ts +4 -4
- package/js/src/pro/weex.js +10 -4
- package/js/src/pro/whitebit.d.ts +4 -4
- package/js/src/pro/whitebit.js +7 -1
- package/js/src/pro/woo.d.ts +7 -7
- package/js/src/pro/woo.js +9 -3
- package/js/src/pro/woofipro.d.ts +7 -7
- package/js/src/pro/woofipro.js +7 -1
- package/js/src/pro/xt.js +6 -0
- package/js/src/protobuf/mexc/compiled.cjs +6 -0
- package/js/src/protobuf/mexc/compiled.d.cts +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +6 -0
- package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +6 -0
- package/js/src/static_dependencies/dydx-v4-client/onboarding.js +6 -0
- package/js/src/static_dependencies/dydx-v4-client/registry.js +6 -0
- package/js/src/static_dependencies/ethers/abi-coder.js +43 -46
- package/js/src/static_dependencies/ethers/address/address.js +6 -0
- package/js/src/static_dependencies/ethers/address/checks.js +6 -0
- package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
- package/js/src/static_dependencies/ethers/address/index.js +6 -0
- package/js/src/static_dependencies/ethers/bytes32.js +6 -0
- package/js/src/static_dependencies/ethers/coders/abstract-coder.js +81 -90
- package/js/src/static_dependencies/ethers/coders/address.js +6 -0
- package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
- package/js/src/static_dependencies/ethers/coders/array.js +6 -0
- package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
- package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/null.js +6 -0
- package/js/src/static_dependencies/ethers/coders/number.js +6 -0
- package/js/src/static_dependencies/ethers/coders/string.js +6 -0
- package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
- package/js/src/static_dependencies/ethers/fragments.js +96 -104
- package/js/src/static_dependencies/ethers/hash/index.js +6 -0
- package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
- package/js/src/static_dependencies/ethers/hash/typed-data.js +58 -65
- package/js/src/static_dependencies/ethers/index.js +6 -0
- package/js/src/static_dependencies/ethers/interface.js +187 -191
- package/js/src/static_dependencies/ethers/typed.js +11 -18
- package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
- package/js/src/static_dependencies/ethers/utils/data.js +6 -0
- package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
- package/js/src/static_dependencies/ethers/utils/events.js +10 -17
- package/js/src/static_dependencies/ethers/utils/fixednumber.js +99 -99
- package/js/src/static_dependencies/ethers/utils/index.js +6 -0
- package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
- package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
- package/js/src/static_dependencies/ethers/utils/units.js +6 -0
- package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
- package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
- package/js/src/static_dependencies/fflake/browser.js +6 -0
- package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/js/src/static_dependencies/node-fetch/body.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/headers.js +6 -0
- package/js/src/static_dependencies/node-fetch/index.d.ts +1 -1
- package/js/src/static_dependencies/node-fetch/index.js +6 -0
- package/js/src/static_dependencies/node-fetch/request.js +6 -0
- package/js/src/static_dependencies/node-fetch/response.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
- package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +7 -1
- package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +7 -1
- package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/js/src/static_dependencies/qs/formats.js +6 -0
- package/js/src/static_dependencies/qs/index.js +6 -0
- package/js/src/static_dependencies/qs/parse.js +6 -0
- package/js/src/static_dependencies/qs/stringify.js +6 -0
- package/js/src/static_dependencies/qs/utils.js +6 -0
- package/js/src/static_dependencies/starknet/constants.js +6 -0
- package/js/src/static_dependencies/starknet/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
- package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/js/src/static_dependencies/starknet/types/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/address.js +6 -0
- package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +7 -1
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +7 -1
- package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
- package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
- package/js/src/static_dependencies/starknet/utils/num.js +6 -0
- package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
- package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
- package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
- package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
- package/js/src/static_dependencies/starknet/utils/url.js +6 -0
- package/js/src/static_dependencies/watchable/src/index.js +6 -0
- package/js/src/static_dependencies/watchable/src/types.js +6 -0
- package/js/src/static_dependencies/watchable/src/unpromise.js +7 -1
- package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
- package/js/src/tokocrypto.d.ts +4 -4
- package/js/src/tokocrypto.js +10 -4
- package/js/src/toobit.d.ts +5 -5
- package/js/src/toobit.js +9 -3
- package/js/src/upbit.d.ts +5 -5
- package/js/src/upbit.js +16 -7
- package/js/src/weex.d.ts +5 -5
- package/js/src/weex.js +15 -9
- package/js/src/whitebit.d.ts +6 -6
- package/js/src/whitebit.js +11 -5
- package/js/src/woo.d.ts +6 -6
- package/js/src/woo.js +25 -15
- package/js/src/woofipro.d.ts +6 -6
- package/js/src/woofipro.js +12 -8
- package/js/src/xt.d.ts +36 -36
- package/js/src/xt.js +10 -3
- package/js/src/zaif.d.ts +4 -4
- package/js/src/zaif.js +8 -2
- package/js/src/zebpay.d.ts +7 -7
- package/js/src/zebpay.js +12 -6
- package/package.json +25 -15
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +0 -116
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -188
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +0 -142
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -301
- package/js/src/static_dependencies/jsencrypt/index.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/index.js +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 -559
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +0 -5
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -88
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -64
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +0 -9
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -85
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.d.ts +0 -9778
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -1962
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -19
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +0 -101
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1751
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +0 -10
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -44
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +0 -3
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -74
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +0 -23
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -371
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +0 -7
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -58
- 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 -1621
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.d.ts +0 -5
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -69
package/js/src/base/Exchange.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// ----------------------------------------------------------------------------
|
|
2
8
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
3
9
|
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
@@ -12,8 +18,7 @@ import * as functions from './functions.js';
|
|
|
12
18
|
// // vwap as vwapFunc,
|
|
13
19
|
// } from './functions.js';
|
|
14
20
|
// import exceptions from "./errors.js"
|
|
15
|
-
import {
|
|
16
|
-
ExchangeError, BadSymbol, NullResponse, InvalidAddress, InvalidOrder, NotSupported, OperationFailed, BadResponse, AuthenticationError, DDoSProtection, RequestTimeout, NetworkError, InvalidProxySettings, ExchangeNotAvailable, ArgumentsRequired, RateLimitExceeded, BadRequest, UnsubscribeError, ExchangeClosedByUser, } from './errors.js';
|
|
21
|
+
import { ExchangeError, BadSymbol, NullResponse, InvalidAddress, InvalidOrder, NotSupported, OperationFailed, BadResponse, AuthenticationError, DDoSProtection, RequestTimeout, NetworkError, InvalidProxySettings, ExchangeNotAvailable, ArgumentsRequired, RateLimitExceeded, BadRequest, UnsubscribeError, ExchangeClosedByUser, } from './errors.js';
|
|
17
22
|
import { Precise } from './Precise.js';
|
|
18
23
|
//-----------------------------------------------------------------------------
|
|
19
24
|
import WsClient from './ws/WsClient.js';
|
|
@@ -22,7 +27,6 @@ import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './
|
|
|
22
27
|
import { totp } from './functions/totp.js';
|
|
23
28
|
import ethers from '../static_dependencies/ethers/index.js';
|
|
24
29
|
import { TypedDataEncoder } from '../static_dependencies/ethers/hash/index.js';
|
|
25
|
-
import { SecureRandom } from '../static_dependencies/jsencrypt/lib/jsbn/rng.js';
|
|
26
30
|
import init, * as zklink from '../static_dependencies/zklink/zklink-sdk-web.js';
|
|
27
31
|
import * as Starknet from '../static_dependencies/starknet/index.js';
|
|
28
32
|
import { exportMnemonicAndPrivateKey, deriveHDKeyFromMnemonic } from '../static_dependencies/dydx-v4-client/onboarding.js';
|
|
@@ -44,14 +48,30 @@ let SignMode = undefined;
|
|
|
44
48
|
* @class Exchange
|
|
45
49
|
*/
|
|
46
50
|
export default class Exchange {
|
|
51
|
+
// this is updated by vss.js when building
|
|
52
|
+
static { this.ccxtVersion = '4.5.60'; }
|
|
47
53
|
constructor(userConfig = {}) {
|
|
48
54
|
this.isSandboxModeEnabled = false;
|
|
49
55
|
this.api = undefined;
|
|
50
56
|
this.certified = false;
|
|
51
57
|
this.pro = false;
|
|
52
58
|
this.countries = undefined;
|
|
59
|
+
this.proxyUrl = undefined;
|
|
60
|
+
this.proxy_url = undefined;
|
|
61
|
+
this.httpProxy = undefined;
|
|
62
|
+
this.http_proxy = undefined;
|
|
63
|
+
this.httpsProxy = undefined;
|
|
64
|
+
this.https_proxy = undefined;
|
|
65
|
+
this.socksProxy = undefined;
|
|
66
|
+
this.socks_proxy = undefined;
|
|
53
67
|
this.userAgent = undefined;
|
|
54
68
|
this.user_agent = undefined;
|
|
69
|
+
this.wsProxy = undefined;
|
|
70
|
+
this.ws_proxy = undefined;
|
|
71
|
+
this.wssProxy = undefined;
|
|
72
|
+
this.wss_proxy = undefined;
|
|
73
|
+
this.wsSocksProxy = undefined;
|
|
74
|
+
this.ws_socks_proxy = undefined;
|
|
55
75
|
//
|
|
56
76
|
this.userAgents = {
|
|
57
77
|
'chrome': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
|
|
@@ -251,7 +271,7 @@ export default class Exchange {
|
|
|
251
271
|
// if (isNode) {
|
|
252
272
|
// this.nodeVersion = process.version.match (/\d+\.\d+\.\d+/)[0]
|
|
253
273
|
// this.userAgent = {
|
|
254
|
-
// 'User-Agent': 'ccxt/' +
|
|
274
|
+
// 'User-Agent': 'ccxt/' + Exchange.ccxtVersion +
|
|
255
275
|
// ' (+https://github.com/ccxt/ccxt)' +
|
|
256
276
|
// ' Node.js/' + this.nodeVersion + ' (JavaScript)'
|
|
257
277
|
// }
|
|
@@ -381,9 +401,7 @@ export default class Exchange {
|
|
|
381
401
|
const nameBytes = new TextEncoder().encode(name);
|
|
382
402
|
const data = new Uint8Array([...nsBytes, ...nameBytes]);
|
|
383
403
|
const nsHash = sha1(data);
|
|
384
|
-
// eslint-disable-next-line
|
|
385
404
|
nsHash[6] = (nsHash[6] & 0x0f) | 0x50;
|
|
386
|
-
// eslint-disable-next-line
|
|
387
405
|
nsHash[8] = (nsHash[8] & 0x3f) | 0x80;
|
|
388
406
|
const hex = [...nsHash.slice(0, 16)]
|
|
389
407
|
.map((b) => b.toString(16).padStart(2, '0'))
|
|
@@ -400,37 +418,6 @@ export default class Exchange {
|
|
|
400
418
|
// @ts-expect-error
|
|
401
419
|
return encodeURIComponent(...args);
|
|
402
420
|
}
|
|
403
|
-
checkRequiredVersion(requiredVersion, error = true) {
|
|
404
|
-
let result = true;
|
|
405
|
-
const [major1, minor1, patch1] = requiredVersion.split('.');
|
|
406
|
-
const [major2, minor2, patch2] = Exchange.ccxtVersion.split('.');
|
|
407
|
-
const intMajor1 = this.parseToInt(major1);
|
|
408
|
-
const intMinor1 = this.parseToInt(minor1);
|
|
409
|
-
const intPatch1 = this.parseToInt(patch1);
|
|
410
|
-
const intMajor2 = this.parseToInt(major2);
|
|
411
|
-
const intMinor2 = this.parseToInt(minor2);
|
|
412
|
-
const intPatch2 = this.parseToInt(patch2);
|
|
413
|
-
if (intMajor1 > intMajor2) {
|
|
414
|
-
result = false;
|
|
415
|
-
}
|
|
416
|
-
if (intMajor1 === intMajor2) {
|
|
417
|
-
if (intMinor1 > intMinor2) {
|
|
418
|
-
result = false;
|
|
419
|
-
}
|
|
420
|
-
else if (intMinor1 === intMinor2 && intPatch1 > intPatch2) {
|
|
421
|
-
result = false;
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
if (!result) {
|
|
425
|
-
if (error) {
|
|
426
|
-
throw new NotSupported('Your current version of CCXT is ' + Exchange.ccxtVersion + ', a newer version ' + requiredVersion + ' is required, please, upgrade your version of CCXT');
|
|
427
|
-
}
|
|
428
|
-
else {
|
|
429
|
-
return error;
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
return result;
|
|
433
|
-
}
|
|
434
421
|
throttle(cost = undefined) {
|
|
435
422
|
return this.throttler.throttle(cost);
|
|
436
423
|
}
|
|
@@ -491,7 +478,6 @@ export default class Exchange {
|
|
|
491
478
|
}
|
|
492
479
|
}
|
|
493
480
|
log(...args) {
|
|
494
|
-
// eslint-disable-next-line no-console
|
|
495
481
|
console.log(...args);
|
|
496
482
|
}
|
|
497
483
|
async loadProxyModules() {
|
|
@@ -512,7 +498,7 @@ export default class Exchange {
|
|
|
512
498
|
// @ts-ignore
|
|
513
499
|
this.httpProxyAgentModule = await import(/* webpackIgnore: true */ 'http-proxy-agent');
|
|
514
500
|
// @ts-ignore
|
|
515
|
-
this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent');
|
|
501
|
+
this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent');
|
|
516
502
|
}
|
|
517
503
|
catch (err) {
|
|
518
504
|
// TODO: handle error
|
|
@@ -721,7 +707,7 @@ export default class Exchange {
|
|
|
721
707
|
// some users having issues with dynamic imports (https://github.com/ccxt/ccxt/pull/20687)
|
|
722
708
|
// so let them to fallback to node's native fetch
|
|
723
709
|
if (typeof fetch === 'function') {
|
|
724
|
-
this.fetchImplementation = fetch;
|
|
710
|
+
this.fetchImplementation = fetch;
|
|
725
711
|
// as it's browser-compatible implementation ( https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#fetch )
|
|
726
712
|
// it throws same error types
|
|
727
713
|
this.AbortError = DOMException;
|
|
@@ -1235,8 +1221,8 @@ export default class Exchange {
|
|
|
1235
1221
|
}
|
|
1236
1222
|
}
|
|
1237
1223
|
}
|
|
1238
|
-
async close() {
|
|
1239
|
-
//
|
|
1224
|
+
async close(cleanInstanceCache = false) {
|
|
1225
|
+
// [WS]
|
|
1240
1226
|
await this.sleep(0); // allow other futures to run
|
|
1241
1227
|
const clients = Object.values(this.clients || {});
|
|
1242
1228
|
const closedClients = [];
|
|
@@ -1250,7 +1236,14 @@ export default class Exchange {
|
|
|
1250
1236
|
delete this.clients[client.url];
|
|
1251
1237
|
closedClients.push(client.close());
|
|
1252
1238
|
}
|
|
1253
|
-
|
|
1239
|
+
await Promise.all(closedClients);
|
|
1240
|
+
if (cleanInstanceCache) {
|
|
1241
|
+
this.cleanWsData();
|
|
1242
|
+
}
|
|
1243
|
+
// [REST]
|
|
1244
|
+
if (cleanInstanceCache) {
|
|
1245
|
+
this.cleanRestData();
|
|
1246
|
+
}
|
|
1254
1247
|
}
|
|
1255
1248
|
async loadOrderBook(client, messageHash, symbol, limit = undefined, params = {}) {
|
|
1256
1249
|
if (!(symbol in this.orderbooks)) {
|
|
@@ -1570,11 +1563,9 @@ export default class Exchange {
|
|
|
1570
1563
|
return dict;
|
|
1571
1564
|
}
|
|
1572
1565
|
randomBytes(length) {
|
|
1573
|
-
const
|
|
1574
|
-
|
|
1575
|
-
x
|
|
1576
|
-
rng.nextBytes(x);
|
|
1577
|
-
return Buffer.from(x).toString('hex');
|
|
1566
|
+
const x = new Uint8Array(length);
|
|
1567
|
+
crypto.getRandomValues(x);
|
|
1568
|
+
return this.binaryToBase16(x);
|
|
1578
1569
|
}
|
|
1579
1570
|
randNumber(size) {
|
|
1580
1571
|
let number = '';
|
|
@@ -1623,7 +1614,6 @@ export default class Exchange {
|
|
|
1623
1614
|
this.checkLighterSignedError(res);
|
|
1624
1615
|
return signer;
|
|
1625
1616
|
}
|
|
1626
|
-
// eslint-disable-next-line no-unused-vars
|
|
1627
1617
|
lighterSignCreateGroupedOrders(signer, request) {
|
|
1628
1618
|
const orders = request['orders'];
|
|
1629
1619
|
const ordersArr = [];
|
|
@@ -1647,7 +1637,6 @@ export default class Exchange {
|
|
|
1647
1637
|
this.checkLighterSignedError(res);
|
|
1648
1638
|
return [res.txType, res.txInfo];
|
|
1649
1639
|
}
|
|
1650
|
-
// eslint-disable-next-line no-unused-vars
|
|
1651
1640
|
lighterSignCreateOrder(signer, request) {
|
|
1652
1641
|
const res = (globalThis.SignCreateOrder(parseInt(request['market_index']), request['client_order_index'], request['base_amount'], request['avg_execution_price'], request['is_ask'], request['order_type'], request['time_in_force'], request['reduce_only'], request['trigger_price'], request['order_expiry'], request['integrator_account_index'], request['integrator_taker_fee'], request['integrator_maker_fee'], 1, // skip nonce
|
|
1653
1642
|
request['nonce'], request['api_key_index'], request['account_index']));
|
|
@@ -1671,7 +1660,6 @@ export default class Exchange {
|
|
|
1671
1660
|
this.checkLighterSignedError(res);
|
|
1672
1661
|
return [res.txType, res.txInfo];
|
|
1673
1662
|
}
|
|
1674
|
-
// eslint-disable-next-line no-unused-vars
|
|
1675
1663
|
lighterSignCreateSubAccount(signer, request) {
|
|
1676
1664
|
const res = (globalThis.SignCreateSubAccount(1, // skip nonce
|
|
1677
1665
|
request['nonce'], request['api_key_index'], request['account_index']));
|
|
@@ -1713,7 +1701,6 @@ export default class Exchange {
|
|
|
1713
1701
|
this.checkLighterSignedError(res);
|
|
1714
1702
|
return [res.txType, res.txInfo];
|
|
1715
1703
|
}
|
|
1716
|
-
// eslint-disable-next-line no-unused-vars
|
|
1717
1704
|
lighterSignApproveIntegrator(signer, request) {
|
|
1718
1705
|
const res = globalThis.SignApproveIntegrator(request['integrator_account_index'], request['integrator_taker_fee'], request['integrator_maker_fee'], request['integrator_taker_fee'], request['integrator_maker_fee'], request['approval_expiry'], 1, // skip nonce
|
|
1719
1706
|
request['nonce'], request['api_key_index'], request['account_index']);
|
|
@@ -1726,14 +1713,26 @@ export default class Exchange {
|
|
|
1726
1713
|
this.checkLighterSignedError(res);
|
|
1727
1714
|
return [res.privateKey, res.publicKey];
|
|
1728
1715
|
}
|
|
1729
|
-
// eslint-disable-next-line no-unused-vars
|
|
1730
1716
|
lighterSignChangePubkey(signer, request) {
|
|
1731
1717
|
const res = globalThis.SignChangePubKey(Buffer.from(request['pubkey']).toString(), 1, // skip nonce
|
|
1732
1718
|
request['nonce'], request['api_key_index'], request['account_index']);
|
|
1733
1719
|
this.checkLighterSignedError(res);
|
|
1734
1720
|
return [res.txType, res.txInfo, res.messageToSign];
|
|
1735
1721
|
}
|
|
1736
|
-
|
|
1722
|
+
setLastRestRequestTimestamp() {
|
|
1723
|
+
// hand-written per language (not transpiled): in most languages this is a
|
|
1724
|
+
// plain assignment, but the Go implementation guards the write with a mutex
|
|
1725
|
+
// because concurrent requests would otherwise data-race on this field
|
|
1726
|
+
this.lastRestRequestTimestamp = this.milliseconds();
|
|
1727
|
+
}
|
|
1728
|
+
setLastRequest(request) {
|
|
1729
|
+
// hand-written per language (not transpiled): plain assignments in most
|
|
1730
|
+
// languages, but the Go implementation guards the writes with a mutex because
|
|
1731
|
+
// concurrent requests would otherwise data-race on these bookkeeping fields
|
|
1732
|
+
this.last_request_headers = request['headers'];
|
|
1733
|
+
this.last_request_body = request['body'];
|
|
1734
|
+
this.last_request_url = request['url'];
|
|
1735
|
+
}
|
|
1737
1736
|
// ------------------------------------------------------------------------
|
|
1738
1737
|
// ########################################################################
|
|
1739
1738
|
// ########################################################################
|
|
@@ -2117,6 +2116,34 @@ export default class Exchange {
|
|
|
2117
2116
|
'rollingWindowSize': 60000, // default 60 seconds, requires rateLimiterAlgorithm to be set as 'rollingWindow'
|
|
2118
2117
|
};
|
|
2119
2118
|
}
|
|
2119
|
+
cleanRestData() {
|
|
2120
|
+
this.ids = undefined;
|
|
2121
|
+
this.markets = undefined;
|
|
2122
|
+
this.markets_by_id = undefined;
|
|
2123
|
+
this.symbols = undefined;
|
|
2124
|
+
this.codes = undefined;
|
|
2125
|
+
this.currencies = this.createSafeDictionary();
|
|
2126
|
+
this.currencies_by_id = undefined;
|
|
2127
|
+
this.baseCurrencies = undefined;
|
|
2128
|
+
this.quoteCurrencies = undefined;
|
|
2129
|
+
this.last_http_response = undefined;
|
|
2130
|
+
// this.last_json_response = undefined; // not unified prop
|
|
2131
|
+
this.last_response_headers = undefined;
|
|
2132
|
+
this.last_request_headers = undefined;
|
|
2133
|
+
}
|
|
2134
|
+
cleanWsData() {
|
|
2135
|
+
this.balance = this.createSafeDictionary(true);
|
|
2136
|
+
this.orderbooks = this.createSafeDictionary(true);
|
|
2137
|
+
this.tickers = this.createSafeDictionary(true);
|
|
2138
|
+
this.liquidations = undefined;
|
|
2139
|
+
this.myLiquidations = undefined;
|
|
2140
|
+
this.orders = undefined;
|
|
2141
|
+
this.trades = this.createSafeDictionary(true);
|
|
2142
|
+
this.transactions = this.createSafeDictionary();
|
|
2143
|
+
this.ohlcvs = this.createSafeDictionary(true);
|
|
2144
|
+
this.myTrades = undefined;
|
|
2145
|
+
this.positions = undefined;
|
|
2146
|
+
}
|
|
2120
2147
|
safeBoolN(dictionaryOrList, keys, defaultValue = undefined) {
|
|
2121
2148
|
/**
|
|
2122
2149
|
* @ignore
|
|
@@ -5173,11 +5200,9 @@ export default class Exchange {
|
|
|
5173
5200
|
[retryDelay, params] = this.handleOptionAndParams(params, path, 'maxRetriesOnFailureDelay', 0);
|
|
5174
5201
|
for (let i = 0; i < retries + 1; i++) {
|
|
5175
5202
|
try {
|
|
5176
|
-
this.
|
|
5203
|
+
this.setLastRestRequestTimestamp();
|
|
5177
5204
|
const request = this.sign(path, api, method, params, headers, body);
|
|
5178
|
-
this.
|
|
5179
|
-
this.last_request_body = request['body'];
|
|
5180
|
-
this.last_request_url = request['url'];
|
|
5205
|
+
this.setLastRequest(request);
|
|
5181
5206
|
return await this.fetch(request['url'], request['method'], request['headers'], request['body']);
|
|
5182
5207
|
}
|
|
5183
5208
|
catch (e) {
|
|
@@ -5373,7 +5398,7 @@ export default class Exchange {
|
|
|
5373
5398
|
if ((currencyId === undefined) && (currency !== undefined)) {
|
|
5374
5399
|
return currency;
|
|
5375
5400
|
}
|
|
5376
|
-
if ((this.currencies_by_id !== undefined) && (currencyId in this.currencies_by_id) && (this.currencies_by_id[currencyId] !== undefined)) {
|
|
5401
|
+
if ((currencyId !== undefined) && (this.currencies_by_id !== undefined) && (currencyId in this.currencies_by_id) && (this.currencies_by_id[currencyId] !== undefined)) {
|
|
5377
5402
|
return this.currencies_by_id[currencyId];
|
|
5378
5403
|
}
|
|
5379
5404
|
let code = currencyId;
|
|
@@ -7633,7 +7658,7 @@ export default class Exchange {
|
|
|
7633
7658
|
errors = 0;
|
|
7634
7659
|
result = this.arrayConcat(result, response);
|
|
7635
7660
|
const last = this.safeValue(response, responseLength - 1);
|
|
7636
|
-
paginationTimestamp = this.safeInteger(last, 'timestamp') + 1;
|
|
7661
|
+
paginationTimestamp = this.safeInteger(last, 'timestamp', 0) + 1;
|
|
7637
7662
|
if ((until !== undefined) && (paginationTimestamp >= until)) {
|
|
7638
7663
|
break;
|
|
7639
7664
|
}
|
|
@@ -8290,7 +8315,7 @@ export default class Exchange {
|
|
|
8290
8315
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
8291
8316
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
8292
8317
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
8293
|
-
* @returns {object}
|
|
8318
|
+
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
|
|
8294
8319
|
*/
|
|
8295
8320
|
throw new NotSupported(this.id + ' fetchOrdersByStatusWs () is not supported yet');
|
|
8296
8321
|
}
|
package/js/src/base/Precise.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
const zero = BigInt(0);
|
|
2
8
|
const minusOne = BigInt(-1);
|
|
3
9
|
const base = BigInt(10);
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
const errorHierarchy = {
|
|
2
8
|
'BaseError': {
|
|
3
9
|
'ExchangeError': {
|
package/js/src/base/errors.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
/* eslint-disable max-classes-per-file */
|
|
2
8
|
class BaseError extends Error {
|
|
3
9
|
constructor(message) {
|
|
@@ -4,6 +4,7 @@ import type { EdDSA as CurveFnEDDSA } from '@noble/curves/abstract/edwards.js';
|
|
|
4
4
|
type Input = string | Uint8Array;
|
|
5
5
|
type Hex = string | Uint8Array;
|
|
6
6
|
type Digest = 'binary' | 'hex' | 'base64';
|
|
7
|
+
declare function pemToDer(pem: string): Uint8Array;
|
|
7
8
|
declare const hash: (request: Input, hash: CHash, digest?: Digest) => any;
|
|
8
9
|
declare const hmac: (request: Input, secret: Input, hash: CHash, digest?: Digest) => any;
|
|
9
10
|
declare function ecdsa(request: Hex, secret: Hex, curve: CurveFn, prehash?: CHash, fixedLength?: boolean): {
|
|
@@ -13,4 +14,4 @@ declare function ecdsa(request: Hex, secret: Hex, curve: CurveFn, prehash?: CHas
|
|
|
13
14
|
};
|
|
14
15
|
declare function eddsa(request: Hex, secret: Input, curve: CurveFnEDDSA): string;
|
|
15
16
|
declare function crc32(str: any, signed?: boolean): number;
|
|
16
|
-
export { hash, hmac, crc32, ecdsa, eddsa, };
|
|
17
|
+
export { hash, hmac, crc32, ecdsa, eddsa, pemToDer, };
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
/* ------------------------------------------------------------------------ */
|
|
2
8
|
import { hmac as _hmac } from '@noble/hashes/hmac.js';
|
|
3
9
|
import { hex as base16, base64 } from '@scure/base';
|
|
4
10
|
import { utf8ToBytes } from '@noble/hashes/utils.js';
|
|
5
|
-
import { Base64 } from '../../static_dependencies/jsencrypt/lib/asn1js/base64.js';
|
|
6
|
-
import { ASN1 } from "../../static_dependencies/jsencrypt/lib/asn1js/asn1.js";
|
|
7
11
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
8
12
|
import { p256 as P256 } from '@noble/curves/nist.js';
|
|
9
13
|
import { numberToBytesLE, hexToBytes } from '@noble/curves/utils.js';
|
|
@@ -20,6 +24,62 @@ const supportedCurve = {
|
|
|
20
24
|
'1.3.132.0.10': secp256k1,
|
|
21
25
|
'1.2.840.10045.3.1.7': P256,
|
|
22
26
|
};
|
|
27
|
+
/* ----- minimal PEM / DER helpers (replace the vendored jsencrypt asn1js) ----- */
|
|
28
|
+
// strip the PEM armor (-----BEGIN/END ...-----) and base64-decode the body to DER bytes
|
|
29
|
+
function pemToDer(pem) {
|
|
30
|
+
const body = pem
|
|
31
|
+
.replace(/-----BEGIN [^-]+-----/g, '')
|
|
32
|
+
.replace(/-----END [^-]+-----/g, '')
|
|
33
|
+
.replace(/\s+/g, '');
|
|
34
|
+
return base64.decode(body);
|
|
35
|
+
}
|
|
36
|
+
// read a definite-form DER length, returns [ length, nextOffset ]
|
|
37
|
+
function readDerLength(bytes, offset) {
|
|
38
|
+
let length = bytes[offset];
|
|
39
|
+
offset += 1;
|
|
40
|
+
if (length & 0x80) {
|
|
41
|
+
const numBytes = length & 0x7f;
|
|
42
|
+
length = 0;
|
|
43
|
+
for (let i = 0; i < numBytes; i++) {
|
|
44
|
+
length = (length * 256) + bytes[offset];
|
|
45
|
+
offset += 1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [length, offset];
|
|
49
|
+
}
|
|
50
|
+
// parse a DER buffer into a flat list of its top-level TLV elements
|
|
51
|
+
function parseDerElements(bytes) {
|
|
52
|
+
const elements = [];
|
|
53
|
+
let offset = 0;
|
|
54
|
+
while (offset < bytes.length) {
|
|
55
|
+
const tag = bytes[offset];
|
|
56
|
+
offset += 1;
|
|
57
|
+
const result = readDerLength(bytes, offset);
|
|
58
|
+
const length = result[0];
|
|
59
|
+
offset = result[1];
|
|
60
|
+
const content = bytes.slice(offset, offset + length);
|
|
61
|
+
elements.push({ 'tag': tag, 'content': content });
|
|
62
|
+
offset += length;
|
|
63
|
+
}
|
|
64
|
+
return elements;
|
|
65
|
+
}
|
|
66
|
+
// decode an OID's content bytes into a dotted-decimal string
|
|
67
|
+
function decodeOid(bytes) {
|
|
68
|
+
const values = [];
|
|
69
|
+
const first = bytes[0];
|
|
70
|
+
values.push(Math.floor(first / 40));
|
|
71
|
+
values.push(first % 40);
|
|
72
|
+
let value = 0;
|
|
73
|
+
for (let i = 1; i < bytes.length; i++) {
|
|
74
|
+
const b = bytes[i];
|
|
75
|
+
value = (value * 128) + (b & 0x7f);
|
|
76
|
+
if ((b & 0x80) === 0) {
|
|
77
|
+
values.push(value);
|
|
78
|
+
value = 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return values.join('.');
|
|
82
|
+
}
|
|
23
83
|
/* ............................................. */
|
|
24
84
|
const hash = (request, hash, digest = 'hex') => {
|
|
25
85
|
const binary = hash(utf8Bytes(request));
|
|
@@ -38,22 +98,24 @@ function ecdsa(request, secret, curve, prehash = null, fixedLength = false) {
|
|
|
38
98
|
if (typeof secret === 'string' && secret.length > 64) {
|
|
39
99
|
// decode pem key
|
|
40
100
|
if (secret.startsWith('-----BEGIN EC PRIVATE KEY-----')) {
|
|
41
|
-
const der =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
101
|
+
const der = pemToDer(secret);
|
|
102
|
+
const top = parseDerElements(der);
|
|
103
|
+
// ECPrivateKey ::= SEQUENCE {
|
|
104
|
+
// version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
|
|
105
|
+
// privateKey OCTET STRING,
|
|
106
|
+
// parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
|
|
107
|
+
// publicKey [1] BIT STRING OPTIONAL
|
|
108
|
+
// }
|
|
109
|
+
const fields = parseDerElements(top[0].content);
|
|
110
|
+
if (fields.length === 4) {
|
|
111
|
+
const params = fields[2];
|
|
112
|
+
if (params !== undefined && params.tag === 0xA0 && params.content.length > 0) {
|
|
113
|
+
const oid = decodeOid(parseDerElements(params.content)[0].content);
|
|
52
114
|
if (supportedCurve[oid] === undefined)
|
|
53
115
|
throw new Error('Unsupported curve');
|
|
54
116
|
curve = supportedCurve[oid];
|
|
55
117
|
}
|
|
56
|
-
secret =
|
|
118
|
+
secret = base16.encode(fields[1].content);
|
|
57
119
|
}
|
|
58
120
|
else {
|
|
59
121
|
// maybe return false
|
|
@@ -101,7 +163,7 @@ function eddsa(request, secret, curve) {
|
|
|
101
163
|
else if (typeof secret === 'string') {
|
|
102
164
|
// secret is the base64 pem encoded key
|
|
103
165
|
// we get the last 32 bytes
|
|
104
|
-
privateKey = new Uint8Array(
|
|
166
|
+
privateKey = new Uint8Array(pemToDer(secret).slice(16));
|
|
105
167
|
}
|
|
106
168
|
const signature = curve.sign(hexBytes(request), privateKey);
|
|
107
169
|
return base64.encode(signature);
|
|
@@ -128,5 +190,5 @@ function crc32(str, signed = false) {
|
|
|
128
190
|
}
|
|
129
191
|
}
|
|
130
192
|
/* ------------------------------------------------------------------------ */
|
|
131
|
-
export { hash, hmac, crc32, ecdsa, eddsa, };
|
|
193
|
+
export { hash, hmac, crc32, ecdsa, eddsa, pemToDer, };
|
|
132
194
|
/* ------------------------------------------------------------------------ */
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
/* eslint-disable */
|
|
2
8
|
/* ------------------------------------------------------------------------ */
|
|
3
9
|
import { hex as base16, base58, base64, utf8 } from "@scure/base";
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
// ----------------------------------------------------------------------------
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
7
|
+
// ----------------------------------------------------------------------------
|
|
8
|
+
import { isNumber, isDict, isArray } from './type.js';
|
|
3
9
|
// ----------------------------------------------------------------------------
|
|
4
10
|
const keys = Object.keys; // eslint-disable-line padding-line-between-statements
|
|
5
11
|
const values = (x) => ((!isArray(x)) ? Object.values(x) : x); // don't copy arrays if they're already arrays
|
|
@@ -20,7 +26,7 @@ const isEmpty = (object) => {
|
|
|
20
26
|
if (Array.isArray(object)) {
|
|
21
27
|
return object.length < 1;
|
|
22
28
|
}
|
|
23
|
-
if (
|
|
29
|
+
if (isDict(object)) {
|
|
24
30
|
return Object.keys(object).length < 1;
|
|
25
31
|
}
|
|
26
32
|
return false;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
/* ------------------------------------------------------------------------ */
|
|
2
8
|
import { isNode } from './platform.js';
|
|
3
9
|
/* ------------------------------------------------------------------------ */
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
import { ROUND_UP, ROUND_DOWN } from './number.js';
|
|
2
8
|
import { asFloat } from './type.js';
|
|
3
9
|
import { NotSupported } from '../errors.js';
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// ------------------------------------------------------------------------
|
|
2
8
|
//
|
|
3
9
|
// NB: initially, I used objects for options passing:
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// @ts-nocheck
|
|
2
8
|
// ----------------------------------------------------------------------------
|
|
3
9
|
// There's been a lot of messing with this code...
|
|
@@ -1,18 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
7
|
+
import crypto from 'crypto';
|
|
8
|
+
import { utf8 } from '@scure/base';
|
|
4
9
|
import { urlencodeBase64, base16ToBinary, base64ToBinary, base64ToBase64Url } from './encode.js';
|
|
5
10
|
import { eddsa, hmac } from './crypto.js';
|
|
6
11
|
import { p256 as P256 } from '@noble/curves/nist.js';
|
|
7
12
|
import { ecdsa } from '../../base/functions/crypto.js';
|
|
8
13
|
import { ed25519 } from "@noble/curves/ed25519.js";
|
|
14
|
+
// RSASSA-PKCS1-v1_5 signing via Node's built-in `crypto` module. This is synchronous
|
|
15
|
+
// and works in Node.js / Bun / Deno (anything exposing node:crypto). It is NOT available
|
|
16
|
+
// in the browser bundle (rspack stubs the `crypto` module), so rsa throws there: RSA
|
|
17
|
+
// signing is currently unsupported in the browser.
|
|
9
18
|
function rsa(request, secret, hash) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
19
|
+
if (crypto === undefined || crypto.createSign === undefined) {
|
|
20
|
+
throw new Error('rsa is currently not supported in the browser');
|
|
21
|
+
}
|
|
13
22
|
// @noble/hashes v2 renamed the digest classes from SHA256 to _SHA256, etc
|
|
14
23
|
const name = (hash.create()).constructor.name.toLowerCase().replace('_', '');
|
|
15
|
-
|
|
24
|
+
const algorithms = {
|
|
25
|
+
'sha256': 'RSA-SHA256',
|
|
26
|
+
'sha384': 'RSA-SHA384',
|
|
27
|
+
'sha512': 'RSA-SHA512',
|
|
28
|
+
};
|
|
29
|
+
const algorithm = algorithms[name];
|
|
30
|
+
const signer = crypto.createSign(algorithm);
|
|
31
|
+
signer.update(request);
|
|
32
|
+
return signer.sign(secret, 'base64');
|
|
16
33
|
}
|
|
17
34
|
function jwt(request, secret, hash, isRSA = false, opts = {}) {
|
|
18
35
|
let alg = (isRSA ? 'RS' : 'HS') + (hash.outputLen * 8);
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// ----------------------------------------------------------------------------
|
|
2
8
|
// unCamelCase has to work with the following edge cases
|
|
3
9
|
//
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
//@ts-nocheck
|
|
2
8
|
/* ------------------------------------------------------------------------ */
|
|
3
9
|
import { now, sleep } from './time.js';
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// @ts-nocheck
|
|
2
8
|
const now = Date.now; // TODO: figure out how to utilize performance.now () properly – it's not as easy as it does not return a unix timestamp...
|
|
3
9
|
const microseconds = () => now() * 1000; // TODO: utilize performance.now for that purpose
|