ccxt-ir 4.9.32 → 4.11.0
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 +4 -4
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +7 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/abstract/asretether.js +11 -0
- package/dist/cjs/src/abstract/bidarz.js +11 -0
- package/dist/cjs/src/asretether.js +325 -0
- package/dist/cjs/src/bidarz.js +337 -0
- package/dist/cjs/src/bit24.js +4 -3
- package/dist/cjs/src/raastin.js +144 -16
- package/js/ccxt.d.ts +8 -2
- package/js/ccxt.js +6 -2
- package/js/src/abstract/asretether.d.ts +8 -0
- package/js/src/abstract/asretether.js +11 -0
- package/js/src/abstract/bidarz.d.ts +9 -0
- package/js/src/abstract/bidarz.js +11 -0
- package/js/src/abstract/raastin.d.ts +1 -0
- package/js/src/asretether.d.ts +21 -0
- package/js/src/asretether.js +324 -0
- package/js/src/bidarz.d.ts +22 -0
- package/js/src/bidarz.js +336 -0
- package/js/src/bit24.js +4 -3
- package/js/src/raastin.d.ts +2 -0
- package/js/src/raastin.js +144 -16
- package/js/src/src/abantether.d.ts +21 -0
- package/js/src/src/abantether.js +353 -0
- package/js/src/src/abstract/abantether.d.ts +8 -0
- package/js/src/src/abstract/abantether.js +11 -0
- package/js/src/src/abstract/afratether.d.ts +9 -0
- package/js/src/src/abstract/afratether.js +11 -0
- package/js/src/src/abstract/alpaca.d.ts +77 -0
- package/js/src/src/abstract/alpaca.js +11 -0
- package/js/src/src/abstract/apex.d.ts +34 -0
- package/js/src/src/abstract/apex.js +11 -0
- package/js/src/src/abstract/arzinja.d.ts +8 -0
- package/js/src/src/abstract/arzinja.js +11 -0
- package/js/src/src/abstract/arzplus.d.ts +11 -0
- package/js/src/src/abstract/arzplus.js +11 -0
- package/js/src/src/abstract/ascendex.d.ts +80 -0
- package/js/src/src/abstract/ascendex.js +11 -0
- package/js/src/src/abstract/asretether.d.ts +8 -0
- package/js/src/src/abstract/asretether.js +11 -0
- package/js/src/src/abstract/bidarz.d.ts +9 -0
- package/js/src/src/abstract/bidarz.js +11 -0
- package/js/src/src/abstract/bigone.d.ts +48 -0
- package/js/src/src/abstract/bigone.js +11 -0
- package/js/src/src/abstract/binance.d.ts +773 -0
- package/js/src/src/abstract/binance.js +11 -0
- package/js/src/src/abstract/bingx.d.ts +165 -0
- package/js/src/src/abstract/bingx.js +11 -0
- package/js/src/src/abstract/bit24.d.ts +9 -0
- package/js/src/src/abstract/bit24.js +11 -0
- package/js/src/src/abstract/bit2c.d.ts +30 -0
- package/js/src/src/abstract/bit2c.js +11 -0
- package/js/src/src/abstract/bitbank.d.ts +35 -0
- package/js/src/src/abstract/bitbank.js +11 -0
- package/js/src/src/abstract/bitbarg.d.ts +8 -0
- package/js/src/src/abstract/bitbarg.js +11 -0
- package/js/src/src/abstract/bitbns.d.ts +43 -0
- package/js/src/src/abstract/bitbns.js +11 -0
- package/js/src/src/abstract/bitfinex.d.ts +143 -0
- package/js/src/src/abstract/bitfinex.js +11 -0
- package/js/src/src/abstract/bitflyer.d.ts +42 -0
- package/js/src/src/abstract/bitflyer.js +11 -0
- package/js/src/src/abstract/bitget.d.ts +578 -0
- package/js/src/src/abstract/bitget.js +11 -0
- package/js/src/src/abstract/bithumb.d.ts +35 -0
- package/js/src/src/abstract/bithumb.js +11 -0
- package/js/src/src/abstract/bitimen.d.ts +10 -0
- package/js/src/src/abstract/bitimen.js +11 -0
- package/js/src/src/abstract/bitir.d.ts +10 -0
- package/js/src/src/abstract/bitir.js +11 -0
- package/js/src/src/abstract/bitmart.d.ts +120 -0
- package/js/src/src/abstract/bitmart.js +11 -0
- package/js/src/src/abstract/bitmex.d.ts +100 -0
- package/js/src/src/abstract/bitmex.js +11 -0
- package/js/src/src/abstract/bitopro.d.ts +33 -0
- package/js/src/src/abstract/bitopro.js +11 -0
- package/js/src/src/abstract/bitpin.d.ts +11 -0
- package/js/src/src/abstract/bitpin.js +11 -0
- package/js/src/src/abstract/bitrue.d.ts +75 -0
- package/js/src/src/abstract/bitrue.js +11 -0
- package/js/src/src/abstract/bitso.d.ts +46 -0
- package/js/src/src/abstract/bitso.js +11 -0
- package/js/src/src/abstract/bitstamp.d.ts +262 -0
- package/js/src/src/abstract/bitstamp.js +11 -0
- package/js/src/src/abstract/bitteam.d.ts +32 -0
- package/js/src/src/abstract/bitteam.js +11 -0
- package/js/src/src/abstract/bittrade.d.ts +117 -0
- package/js/src/src/abstract/bittrade.js +11 -0
- package/js/src/src/abstract/bitunix.d.ts +9 -0
- package/js/src/src/abstract/bitunix.js +11 -0
- package/js/src/src/abstract/bitvavo.d.ts +30 -0
- package/js/src/src/abstract/bitvavo.js +11 -0
- package/js/src/src/abstract/blockchaincom.d.ts +31 -0
- package/js/src/src/abstract/blockchaincom.js +11 -0
- package/js/src/src/abstract/blofin.d.ts +70 -0
- package/js/src/src/abstract/blofin.js +11 -0
- package/js/src/src/abstract/btcalpha.d.ts +21 -0
- package/js/src/src/abstract/btcalpha.js +11 -0
- package/js/src/src/abstract/btcbox.d.ts +18 -0
- package/js/src/src/abstract/btcbox.js +11 -0
- package/js/src/src/abstract/btcmarkets.d.ts +42 -0
- package/js/src/src/abstract/btcmarkets.js +11 -0
- package/js/src/src/abstract/btcturk.d.ts +23 -0
- package/js/src/src/abstract/btcturk.js +11 -0
- package/js/src/src/abstract/bybit.d.ts +316 -0
- package/js/src/src/abstract/bybit.js +11 -0
- package/js/src/src/abstract/bydfi.d.ts +11 -0
- package/js/src/src/abstract/bydfi.js +11 -0
- package/js/src/src/abstract/cafearz.d.ts +8 -0
- package/js/src/src/abstract/cafearz.js +11 -0
- package/js/src/src/abstract/cex.d.ts +35 -0
- package/js/src/src/abstract/cex.js +11 -0
- package/js/src/src/abstract/coinbase.d.ts +97 -0
- package/js/src/src/abstract/coinbase.js +11 -0
- package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
- package/js/src/src/abstract/coinbaseexchange.js +11 -0
- package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
- package/js/src/src/abstract/coinbaseinternational.js +11 -0
- package/js/src/src/abstract/coincatch.d.ts +97 -0
- package/js/src/src/abstract/coincatch.js +11 -0
- package/js/src/src/abstract/coincheck.d.ts +36 -0
- package/js/src/src/abstract/coincheck.js +11 -0
- package/js/src/src/abstract/coinex.d.ts +240 -0
- package/js/src/src/abstract/coinex.js +11 -0
- package/js/src/src/abstract/coinmate.d.ts +65 -0
- package/js/src/src/abstract/coinmate.js +11 -0
- package/js/src/src/abstract/coinmetro.d.ts +37 -0
- package/js/src/src/abstract/coinmetro.js +11 -0
- package/js/src/src/abstract/coinone.d.ts +70 -0
- package/js/src/src/abstract/coinone.js +11 -0
- package/js/src/src/abstract/coinsph.d.ts +57 -0
- package/js/src/src/abstract/coinsph.js +11 -0
- package/js/src/src/abstract/coinspot.d.ts +31 -0
- package/js/src/src/abstract/coinspot.js +11 -0
- package/js/src/src/abstract/cryptocom.d.ts +126 -0
- package/js/src/src/abstract/cryptocom.js +11 -0
- package/js/src/src/abstract/cryptomus.d.ts +23 -0
- package/js/src/src/abstract/cryptomus.js +11 -0
- package/js/src/src/abstract/defx.d.ts +72 -0
- package/js/src/src/abstract/defx.js +11 -0
- package/js/src/src/abstract/delta.d.ts +53 -0
- package/js/src/src/abstract/delta.js +11 -0
- package/js/src/src/abstract/deribit.d.ts +129 -0
- package/js/src/src/abstract/deribit.js +11 -0
- package/js/src/src/abstract/derive.d.ts +120 -0
- package/js/src/src/abstract/derive.js +11 -0
- package/js/src/src/abstract/digifinex.d.ts +95 -0
- package/js/src/src/abstract/digifinex.js +11 -0
- package/js/src/src/abstract/ellipx.d.ts +28 -0
- package/js/src/src/abstract/ellipx.js +11 -0
- package/js/src/src/abstract/eterex.d.ts +8 -0
- package/js/src/src/abstract/eterex.js +11 -0
- package/js/src/src/abstract/excoino.d.ts +10 -0
- package/js/src/src/abstract/excoino.js +11 -0
- package/js/src/src/abstract/exir.d.ts +11 -0
- package/js/src/src/abstract/exir.js +11 -0
- package/js/src/src/abstract/exmo.d.ts +58 -0
- package/js/src/src/abstract/exmo.js +11 -0
- package/js/src/src/abstract/exnovin.d.ts +9 -0
- package/js/src/src/abstract/exnovin.js +11 -0
- package/js/src/src/abstract/farhadexchange.d.ts +8 -0
- package/js/src/src/abstract/farhadexchange.js +11 -0
- package/js/src/src/abstract/foxbit.d.ts +29 -0
- package/js/src/src/abstract/foxbit.js +11 -0
- package/js/src/src/abstract/gate.d.ts +287 -0
- package/js/src/src/abstract/gate.js +11 -0
- package/js/src/src/abstract/gemini.d.ts +62 -0
- package/js/src/src/abstract/gemini.js +11 -0
- package/js/src/src/abstract/hamtapay.d.ts +9 -0
- package/js/src/src/abstract/hamtapay.js +11 -0
- package/js/src/src/abstract/hashkey.d.ts +70 -0
- package/js/src/src/abstract/hashkey.js +11 -0
- package/js/src/src/abstract/hibachi.d.ts +29 -0
- package/js/src/src/abstract/hibachi.js +11 -0
- package/js/src/src/abstract/hitbtc.d.ts +118 -0
- package/js/src/src/abstract/hitbtc.js +11 -0
- package/js/src/src/abstract/hitobit.d.ts +11 -0
- package/js/src/src/abstract/hitobit.js +11 -0
- package/js/src/src/abstract/hollaex.d.ts +36 -0
- package/js/src/src/abstract/hollaex.js +11 -0
- package/js/src/src/abstract/htx.d.ts +551 -0
- package/js/src/src/abstract/htx.js +11 -0
- package/js/src/src/abstract/hyperliquid.d.ts +9 -0
- package/js/src/src/abstract/hyperliquid.js +11 -0
- package/js/src/src/abstract/independentreserve.d.ts +46 -0
- package/js/src/src/abstract/independentreserve.js +11 -0
- package/js/src/src/abstract/indodax.d.ts +29 -0
- package/js/src/src/abstract/indodax.js +11 -0
- package/js/src/src/abstract/iranexchange.d.ts +9 -0
- package/js/src/src/abstract/iranexchange.js +11 -0
- package/js/src/src/abstract/jibitex.d.ts +10 -0
- package/js/src/src/abstract/jibitex.js +11 -0
- package/js/src/src/abstract/kcex.d.ts +10 -0
- package/js/src/src/abstract/kcex.js +11 -0
- package/js/src/src/abstract/kifpoolme.d.ts +9 -0
- package/js/src/src/abstract/kifpoolme.js +11 -0
- package/js/src/src/abstract/kraken.d.ts +61 -0
- package/js/src/src/abstract/kraken.js +11 -0
- package/js/src/src/abstract/krakenfutures.d.ts +45 -0
- package/js/src/src/abstract/krakenfutures.js +11 -0
- package/js/src/src/abstract/kucoin.d.ts +227 -0
- package/js/src/src/abstract/kucoin.js +11 -0
- package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
- package/js/src/src/abstract/kucoinfutures.js +11 -0
- package/js/src/src/abstract/latoken.d.ts +59 -0
- package/js/src/src/abstract/latoken.js +11 -0
- package/js/src/src/abstract/lbank.d.ts +65 -0
- package/js/src/src/abstract/lbank.js +11 -0
- package/js/src/src/abstract/luno.d.ts +41 -0
- package/js/src/src/abstract/luno.js +11 -0
- package/js/src/src/abstract/mazdax.d.ts +11 -0
- package/js/src/src/abstract/mazdax.js +11 -0
- package/js/src/src/abstract/mercado.d.ts +28 -0
- package/js/src/src/abstract/mercado.js +11 -0
- package/js/src/src/abstract/mexc.d.ts +183 -0
- package/js/src/src/abstract/mexc.js +11 -0
- package/js/src/src/abstract/modetrade.d.ts +122 -0
- package/js/src/src/abstract/modetrade.js +11 -0
- package/js/src/src/abstract/ndax.d.ts +100 -0
- package/js/src/src/abstract/ndax.js +11 -0
- package/js/src/src/abstract/nobitex.d.ts +10 -0
- package/js/src/src/abstract/nobitex.js +11 -0
- package/js/src/src/abstract/novadax.d.ts +32 -0
- package/js/src/src/abstract/novadax.js +11 -0
- package/js/src/src/abstract/oceanex.d.ts +30 -0
- package/js/src/src/abstract/oceanex.js +11 -0
- package/js/src/src/abstract/okcoin.d.ts +77 -0
- package/js/src/src/abstract/okcoin.js +11 -0
- package/js/src/src/abstract/okexchange.d.ts +11 -0
- package/js/src/src/abstract/okexchange.js +11 -0
- package/js/src/src/abstract/okx.d.ts +352 -0
- package/js/src/src/abstract/okx.js +11 -0
- package/js/src/src/abstract/ompfinex.d.ts +10 -0
- package/js/src/src/abstract/ompfinex.js +11 -0
- package/js/src/src/abstract/onetrading.d.ts +26 -0
- package/js/src/src/abstract/onetrading.js +11 -0
- package/js/src/src/abstract/oxfun.d.ts +37 -0
- package/js/src/src/abstract/oxfun.js +11 -0
- package/js/src/src/abstract/p2b.d.ts +25 -0
- package/js/src/src/abstract/p2b.js +11 -0
- package/js/src/src/abstract/paradex.d.ts +66 -0
- package/js/src/src/abstract/paradex.js +11 -0
- package/js/src/src/abstract/paymium.d.ts +31 -0
- package/js/src/src/abstract/paymium.js +11 -0
- package/js/src/src/abstract/phemex.d.ts +120 -0
- package/js/src/src/abstract/phemex.js +11 -0
- package/js/src/src/abstract/pingi.d.ts +9 -0
- package/js/src/src/abstract/pingi.js +11 -0
- package/js/src/src/abstract/poloniex.d.ts +108 -0
- package/js/src/src/abstract/poloniex.js +11 -0
- package/js/src/src/abstract/pooleno.d.ts +8 -0
- package/js/src/src/abstract/pooleno.js +11 -0
- package/js/src/src/abstract/probit.d.ts +26 -0
- package/js/src/src/abstract/probit.js +11 -0
- package/js/src/src/abstract/raastin.d.ts +11 -0
- package/js/src/src/abstract/raastin.js +11 -0
- package/js/src/src/abstract/ramzinex.d.ts +10 -0
- package/js/src/src/abstract/ramzinex.js +11 -0
- package/js/src/src/abstract/sarmayex.d.ts +8 -0
- package/js/src/src/abstract/sarmayex.js +11 -0
- package/js/src/src/abstract/sarrafex.d.ts +10 -0
- package/js/src/src/abstract/sarrafex.js +11 -0
- package/js/src/src/abstract/tabdeal.d.ts +10 -0
- package/js/src/src/abstract/tabdeal.js +11 -0
- package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
- package/js/src/src/abstract/tehran_exchange.js +11 -0
- package/js/src/src/abstract/tetherland.d.ts +8 -0
- package/js/src/src/abstract/tetherland.js +11 -0
- package/js/src/src/abstract/timex.d.ts +65 -0
- package/js/src/src/abstract/timex.js +11 -0
- package/js/src/src/abstract/tokocrypto.d.ts +40 -0
- package/js/src/src/abstract/tokocrypto.js +11 -0
- package/js/src/src/abstract/toobit.d.ts +10 -0
- package/js/src/src/abstract/toobit.js +11 -0
- package/js/src/src/abstract/tradeogre.d.ts +21 -0
- package/js/src/src/abstract/tradeogre.js +11 -0
- package/js/src/src/abstract/twox.d.ts +8 -0
- package/js/src/src/abstract/twox.js +11 -0
- package/js/src/src/abstract/ubitex.d.ts +10 -0
- package/js/src/src/abstract/ubitex.js +11 -0
- package/js/src/src/abstract/upbit.d.ts +58 -0
- package/js/src/src/abstract/upbit.js +11 -0
- package/js/src/src/abstract/vertex.d.ts +22 -0
- package/js/src/src/abstract/vertex.js +11 -0
- package/js/src/src/abstract/wallex.d.ts +11 -0
- package/js/src/src/abstract/wallex.js +11 -0
- package/js/src/src/abstract/wavesexchange.d.ts +157 -0
- package/js/src/src/abstract/wavesexchange.js +11 -0
- package/js/src/src/abstract/whitebit.d.ts +117 -0
- package/js/src/src/abstract/whitebit.js +11 -0
- package/js/src/src/abstract/woo.d.ts +144 -0
- package/js/src/src/abstract/woo.js +11 -0
- package/js/src/src/abstract/woofipro.d.ts +122 -0
- package/js/src/src/abstract/woofipro.js +11 -0
- package/js/src/src/abstract/xt.d.ts +160 -0
- package/js/src/src/abstract/xt.js +11 -0
- package/js/src/src/abstract/yobit.d.ts +19 -0
- package/js/src/src/abstract/yobit.js +11 -0
- package/js/src/src/abstract/zaif.d.ts +41 -0
- package/js/src/src/abstract/zaif.js +11 -0
- package/js/src/src/abstract/zonda.d.ts +56 -0
- package/js/src/src/abstract/zonda.js +11 -0
- package/js/src/src/afratether.d.ts +21 -0
- package/js/src/src/afratether.js +356 -0
- package/js/src/src/alpaca.d.ts +332 -0
- package/js/src/src/alpaca.js +1908 -0
- package/js/src/src/apex.d.ts +333 -0
- package/js/src/src/apex.js +1942 -0
- package/js/src/src/arzinja.d.ts +21 -0
- package/js/src/src/arzinja.js +298 -0
- package/js/src/src/arzplus.d.ts +26 -0
- package/js/src/src/arzplus.js +581 -0
- package/js/src/src/ascendex.d.ts +424 -0
- package/js/src/src/ascendex.js +3699 -0
- package/js/src/src/asretether.d.ts +21 -0
- package/js/src/src/asretether.js +324 -0
- package/js/src/src/base/Exchange.d.ts +926 -0
- package/js/src/src/base/Exchange.js +7399 -0
- package/js/src/src/base/Precise.d.ts +42 -0
- package/js/src/src/base/Precise.js +275 -0
- package/js/src/src/base/errors.d.ts +168 -0
- package/js/src/src/base/errors.js +255 -0
- package/js/src/src/base/functions/crypto.d.ts +16 -0
- package/js/src/src/base/functions/crypto.js +131 -0
- package/js/src/src/base/functions/encode.d.ts +4 -0
- package/js/src/src/base/functions/encode.js +32 -0
- package/js/src/src/base/functions/generic.d.ts +29 -0
- package/js/src/src/base/functions/generic.js +203 -0
- package/js/src/src/base/functions/misc.d.ts +9 -0
- package/js/src/src/base/functions/misc.js +101 -0
- package/js/src/src/base/functions/number.d.ts +27 -0
- package/js/src/src/base/functions/number.js +313 -0
- package/js/src/src/base/functions/platform.d.ts +7 -0
- package/js/src/src/base/functions/platform.js +27 -0
- package/js/src/src/base/functions/rsa.d.ts +5 -0
- package/js/src/src/base/functions/rsa.js +49 -0
- package/js/src/src/base/functions/string.d.ts +7 -0
- package/js/src/src/base/functions/string.js +44 -0
- package/js/src/src/base/functions/throttle.d.ts +6 -0
- package/js/src/src/base/functions/throttle.js +67 -0
- package/js/src/src/base/functions/time.d.ts +21 -0
- package/js/src/src/base/functions/time.js +171 -0
- package/js/src/src/base/functions/totp.d.ts +3 -0
- package/js/src/src/base/functions/totp.js +25 -0
- package/js/src/src/base/functions/type.d.ts +37 -0
- package/js/src/src/base/functions/type.js +179 -0
- package/js/src/src/base/functions.d.ts +10 -0
- package/js/src/src/base/functions.js +18 -0
- package/js/src/src/base/types.d.ts +586 -0
- package/js/src/src/base/types.js +7 -0
- package/js/src/src/base/ws/Cache.d.ts +27 -0
- package/js/src/src/base/ws/Cache.js +260 -0
- package/js/src/src/base/ws/Client.d.ts +53 -0
- package/js/src/src/base/ws/Client.js +307 -0
- package/js/src/src/base/ws/Future.d.ts +8 -0
- package/js/src/src/base/ws/Future.js +35 -0
- package/js/src/src/base/ws/OrderBook.d.ts +25 -0
- package/js/src/src/base/ws/OrderBook.js +130 -0
- package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
- package/js/src/src/base/ws/OrderBookSide.js +286 -0
- package/js/src/src/base/ws/WsClient.d.ts +11 -0
- package/js/src/src/base/ws/WsClient.js +69 -0
- package/js/src/src/bequant.d.ts +4 -0
- package/js/src/src/bequant.js +35 -0
- package/js/src/src/bidarz.d.ts +16 -0
- package/js/src/src/bidarz.js +327 -0
- package/js/src/src/bigone.d.ts +296 -0
- package/js/src/src/bigone.js +2340 -0
- package/js/src/src/binance.d.ts +1667 -0
- package/js/src/src/binance.js +14400 -0
- package/js/src/src/binancecoinm.d.ts +6 -0
- package/js/src/src/binancecoinm.js +51 -0
- package/js/src/src/binanceus.d.ts +4 -0
- package/js/src/src/binanceus.js +225 -0
- package/js/src/src/binanceusdm.d.ts +6 -0
- package/js/src/src/binanceusdm.js +63 -0
- package/js/src/src/bingx.d.ts +778 -0
- package/js/src/src/bingx.js +6705 -0
- package/js/src/src/bit24.d.ts +24 -0
- package/js/src/src/bit24.js +520 -0
- package/js/src/src/bit2c.d.ts +146 -0
- package/js/src/src/bit2c.js +1029 -0
- package/js/src/src/bitbank.d.ts +181 -0
- package/js/src/src/bitbank.js +1146 -0
- package/js/src/src/bitbarg.d.ts +21 -0
- package/js/src/src/bitbarg.js +312 -0
- package/js/src/src/bitbns.d.ts +184 -0
- package/js/src/src/bitbns.js +1288 -0
- package/js/src/src/bitfinex.d.ts +516 -0
- package/js/src/src/bitfinex.js +3951 -0
- package/js/src/src/bitflyer.d.ts +229 -0
- package/js/src/src/bitflyer.js +1209 -0
- package/js/src/src/bitget.d.ts +1109 -0
- package/js/src/src/bitget.js +11033 -0
- package/js/src/src/bithumb.d.ts +165 -0
- package/js/src/src/bithumb.js +1257 -0
- package/js/src/src/bitimen.d.ts +23 -0
- package/js/src/src/bitimen.js +424 -0
- package/js/src/src/bitir.d.ts +23 -0
- package/js/src/src/bitir.js +521 -0
- package/js/src/src/bitmart.d.ts +736 -0
- package/js/src/src/bitmart.js +5639 -0
- package/js/src/src/bitmex.d.ts +395 -0
- package/js/src/src/bitmex.js +3088 -0
- package/js/src/src/bitopro.d.ts +295 -0
- package/js/src/src/bitopro.js +1892 -0
- package/js/src/src/bitpin.d.ts +23 -0
- package/js/src/src/bitpin.js +487 -0
- package/js/src/src/bitrue.d.ts +384 -0
- package/js/src/src/bitrue.js +3382 -0
- package/js/src/src/bitso.d.ts +270 -0
- package/js/src/src/bitso.js +1881 -0
- package/js/src/src/bitstamp.d.ts +355 -0
- package/js/src/src/bitstamp.js +2445 -0
- package/js/src/src/bitteam.d.ts +229 -0
- package/js/src/src/bitteam.js +2420 -0
- package/js/src/src/bittrade.d.ts +298 -0
- package/js/src/src/bittrade.js +2050 -0
- package/js/src/src/bitunix.d.ts +21 -0
- package/js/src/src/bitunix.js +326 -0
- package/js/src/src/bitvavo.d.ts +311 -0
- package/js/src/src/bitvavo.js +2204 -0
- package/js/src/src/blockchaincom.d.ts +256 -0
- package/js/src/src/blockchaincom.js +1259 -0
- package/js/src/src/blofin.d.ts +439 -0
- package/js/src/src/blofin.js +2576 -0
- package/js/src/src/btcalpha.d.ts +209 -0
- package/js/src/src/btcalpha.js +1056 -0
- package/js/src/src/btcbox.d.ts +144 -0
- package/js/src/src/btcbox.js +834 -0
- package/js/src/src/btcmarkets.d.ts +253 -0
- package/js/src/src/btcmarkets.js +1418 -0
- package/js/src/src/btcturk.d.ts +161 -0
- package/js/src/src/btcturk.js +1058 -0
- package/js/src/src/bybit.d.ts +1097 -0
- package/js/src/src/bybit.js +9382 -0
- package/js/src/src/bydfi.d.ts +23 -0
- package/js/src/src/bydfi.js +434 -0
- package/js/src/src/cafearz.d.ts +21 -0
- package/js/src/src/cafearz.js +346 -0
- package/js/src/src/cex.d.ts +286 -0
- package/js/src/src/cex.js +1799 -0
- package/js/src/src/coinbase.d.ts +623 -0
- package/js/src/src/coinbase.js +5220 -0
- package/js/src/src/coinbaseadvanced.d.ts +4 -0
- package/js/src/src/coinbaseadvanced.js +18 -0
- package/js/src/src/coinbaseexchange.d.ts +334 -0
- package/js/src/src/coinbaseexchange.js +2127 -0
- package/js/src/src/coinbaseinternational.d.ts +443 -0
- package/js/src/src/coinbaseinternational.js +2336 -0
- package/js/src/src/coincatch.d.ts +786 -0
- package/js/src/src/coincatch.js +5492 -0
- package/js/src/src/coincheck.d.ts +147 -0
- package/js/src/src/coincheck.js +962 -0
- package/js/src/src/coinex.d.ts +719 -0
- package/js/src/src/coinex.js +6166 -0
- package/js/src/src/coinmate.d.ts +202 -0
- package/js/src/src/coinmate.js +1215 -0
- package/js/src/src/coinmetro.d.ts +244 -0
- package/js/src/src/coinmetro.js +2024 -0
- package/js/src/src/coinone.d.ts +158 -0
- package/js/src/src/coinone.js +1278 -0
- package/js/src/src/coinsph.d.ts +310 -0
- package/js/src/src/coinsph.js +2203 -0
- package/js/src/src/coinspot.d.ts +108 -0
- package/js/src/src/coinspot.js +653 -0
- package/js/src/src/cryptocom.d.ts +463 -0
- package/js/src/src/cryptocom.js +3549 -0
- package/js/src/src/cryptomus.d.ts +158 -0
- package/js/src/src/cryptomus.js +1169 -0
- package/js/src/src/defx.d.ts +348 -0
- package/js/src/src/defx.js +2139 -0
- package/js/src/src/delta.d.ts +407 -0
- package/js/src/src/delta.js +3654 -0
- package/js/src/src/deribit.d.ts +516 -0
- package/js/src/src/deribit.js +3790 -0
- package/js/src/src/derive.d.ts +324 -0
- package/js/src/src/derive.js +2655 -0
- package/js/src/src/digifinex.d.ts +544 -0
- package/js/src/src/digifinex.js +4453 -0
- package/js/src/src/ellipx.d.ts +237 -0
- package/js/src/src/ellipx.js +2071 -0
- package/js/src/src/eterex.d.ts +21 -0
- package/js/src/src/eterex.js +299 -0
- package/js/src/src/excoino.d.ts +23 -0
- package/js/src/src/excoino.js +426 -0
- package/js/src/src/exir.d.ts +23 -0
- package/js/src/src/exir.js +403 -0
- package/js/src/src/exmo.d.ts +426 -0
- package/js/src/src/exmo.js +2825 -0
- package/js/src/src/exnovin.d.ts +22 -0
- package/js/src/src/exnovin.js +378 -0
- package/js/src/src/farhadexchange.d.ts +21 -0
- package/js/src/src/farhadexchange.js +280 -0
- package/js/src/src/fmfwio.d.ts +4 -0
- package/js/src/src/fmfwio.js +35 -0
- package/js/src/src/foxbit.d.ts +352 -0
- package/js/src/src/foxbit.js +2016 -0
- package/js/src/src/gate.d.ts +1071 -0
- package/js/src/src/gate.js +8282 -0
- package/js/src/src/gateio.d.ts +4 -0
- package/js/src/src/gateio.js +17 -0
- package/js/src/src/gemini.d.ts +257 -0
- package/js/src/src/gemini.js +2006 -0
- package/js/src/src/hamtapay.d.ts +21 -0
- package/js/src/src/hamtapay.js +303 -0
- package/js/src/src/hashkey.d.ts +628 -0
- package/js/src/src/hashkey.js +4363 -0
- package/js/src/src/hibachi.d.ts +346 -0
- package/js/src/src/hibachi.js +2137 -0
- package/js/src/src/hitbtc.d.ts +558 -0
- package/js/src/src/hitbtc.js +3847 -0
- package/js/src/src/hitobit.d.ts +23 -0
- package/js/src/src/hitobit.js +412 -0
- package/js/src/src/hollaex.d.ts +305 -0
- package/js/src/src/hollaex.js +2046 -0
- package/js/src/src/htx.d.ts +961 -0
- package/js/src/src/htx.js +9668 -0
- package/js/src/src/huobi.d.ts +4 -0
- package/js/src/src/huobi.js +17 -0
- package/js/src/src/hyperliquid.d.ts +651 -0
- package/js/src/src/hyperliquid.js +3937 -0
- package/js/src/src/independentreserve.d.ts +169 -0
- package/js/src/src/independentreserve.js +1115 -0
- package/js/src/src/indodax.d.ts +217 -0
- package/js/src/src/indodax.js +1454 -0
- package/js/src/src/iranexchange.d.ts +21 -0
- package/js/src/src/iranexchange.js +399 -0
- package/js/src/src/jibitex.d.ts +23 -0
- package/js/src/src/jibitex.js +416 -0
- package/js/src/src/kcex.d.ts +21 -0
- package/js/src/src/kcex.js +335 -0
- package/js/src/src/kifpoolme.d.ts +23 -0
- package/js/src/src/kifpoolme.js +410 -0
- package/js/src/src/kraken.d.ts +484 -0
- package/js/src/src/kraken.js +3518 -0
- package/js/src/src/krakenfutures.d.ts +362 -0
- package/js/src/src/krakenfutures.js +2885 -0
- package/js/src/src/kucoin.d.ts +759 -0
- package/js/src/src/kucoin.js +5153 -0
- package/js/src/src/kucoinfutures.d.ts +521 -0
- package/js/src/src/kucoinfutures.js +3381 -0
- package/js/src/src/latoken.d.ts +274 -0
- package/js/src/src/latoken.js +1824 -0
- package/js/src/src/lbank.d.ts +350 -0
- package/js/src/src/lbank.js +3146 -0
- package/js/src/src/luno.d.ts +252 -0
- package/js/src/src/luno.js +1479 -0
- package/js/src/src/mazdax.d.ts +23 -0
- package/js/src/src/mazdax.js +534 -0
- package/js/src/src/mercado.d.ts +160 -0
- package/js/src/src/mercado.js +1011 -0
- package/js/src/src/mexc.d.ts +768 -0
- package/js/src/src/mexc.js +6102 -0
- package/js/src/src/modetrade.d.ts +496 -0
- package/js/src/src/modetrade.js +2936 -0
- package/js/src/src/myokx.d.ts +4 -0
- package/js/src/src/myokx.js +54 -0
- package/js/src/src/ndax.d.ts +285 -0
- package/js/src/src/ndax.js +2598 -0
- package/js/src/src/nobitex.d.ts +23 -0
- package/js/src/src/nobitex.js +454 -0
- package/js/src/src/novadax.d.ts +279 -0
- package/js/src/src/novadax.js +1676 -0
- package/js/src/src/oceanex.d.ts +231 -0
- package/js/src/src/oceanex.js +1123 -0
- package/js/src/src/okcoin.d.ts +346 -0
- package/js/src/src/okcoin.js +3211 -0
- package/js/src/src/okexchange.d.ts +23 -0
- package/js/src/src/okexchange.js +373 -0
- package/js/src/src/okx.d.ts +1125 -0
- package/js/src/src/okx.js +9009 -0
- package/js/src/src/okxus.d.ts +4 -0
- package/js/src/src/okxus.js +54 -0
- package/js/src/src/ompfinex.d.ts +23 -0
- package/js/src/src/ompfinex.js +510 -0
- package/js/src/src/onetrading.d.ts +228 -0
- package/js/src/src/onetrading.js +1769 -0
- package/js/src/src/oxfun.d.ts +442 -0
- package/js/src/src/oxfun.js +2920 -0
- package/js/src/src/p2b.d.ts +189 -0
- package/js/src/src/p2b.js +1344 -0
- package/js/src/src/paradex.d.ts +389 -0
- package/js/src/src/paradex.js +2607 -0
- package/js/src/src/paymium.d.ts +133 -0
- package/js/src/src/paymium.js +644 -0
- package/js/src/src/phemex.d.ts +497 -0
- package/js/src/src/phemex.js +5333 -0
- package/js/src/src/pingi.d.ts +22 -0
- package/js/src/src/pingi.js +446 -0
- package/js/src/src/poloniex.d.ts +441 -0
- package/js/src/src/poloniex.js +3681 -0
- package/js/src/src/pooleno.d.ts +21 -0
- package/js/src/src/pooleno.js +347 -0
- package/js/src/src/pro/alpaca.d.ts +95 -0
- package/js/src/src/pro/alpaca.js +724 -0
- package/js/src/src/pro/apex.d.ts +160 -0
- package/js/src/src/pro/apex.js +1044 -0
- package/js/src/src/pro/ascendex.d.ts +99 -0
- package/js/src/src/pro/ascendex.js +1012 -0
- package/js/src/src/pro/bequant.d.ts +4 -0
- package/js/src/src/pro/bequant.js +42 -0
- package/js/src/src/pro/binance.d.ts +796 -0
- package/js/src/src/pro/binance.js +4373 -0
- package/js/src/src/pro/binancecoinm.d.ts +4 -0
- package/js/src/src/pro/binancecoinm.js +32 -0
- package/js/src/src/pro/binanceus.d.ts +4 -0
- package/js/src/src/pro/binanceus.js +52 -0
- package/js/src/src/pro/binanceusdm.d.ts +4 -0
- package/js/src/src/pro/binanceusdm.js +37 -0
- package/js/src/src/pro/bingx.d.ts +151 -0
- package/js/src/src/pro/bingx.js +1568 -0
- package/js/src/src/pro/bitfinex.d.ts +99 -0
- package/js/src/src/pro/bitfinex.js +1165 -0
- package/js/src/src/pro/bitget.d.ts +257 -0
- package/js/src/src/pro/bitget.js +2327 -0
- package/js/src/src/pro/bithumb.d.ts +59 -0
- package/js/src/src/pro/bithumb.js +395 -0
- package/js/src/src/pro/bitmart.d.ts +168 -0
- package/js/src/src/pro/bitmart.js +1686 -0
- package/js/src/src/pro/bitmex.d.ts +170 -0
- package/js/src/src/pro/bitmex.js +1760 -0
- package/js/src/src/pro/bitopro.d.ts +69 -0
- package/js/src/src/pro/bitopro.js +477 -0
- package/js/src/src/pro/bitrue.d.ts +40 -0
- package/js/src/src/pro/bitrue.js +461 -0
- package/js/src/src/pro/bitstamp.d.ts +53 -0
- package/js/src/src/pro/bitstamp.js +587 -0
- package/js/src/src/pro/bittrade.d.ts +66 -0
- package/js/src/src/pro/bittrade.js +606 -0
- package/js/src/src/pro/bitvavo.d.ts +321 -0
- package/js/src/src/pro/bitvavo.js +1451 -0
- package/js/src/src/pro/blockchaincom.d.ts +89 -0
- package/js/src/src/pro/blockchaincom.js +777 -0
- package/js/src/src/pro/blofin.d.ts +174 -0
- package/js/src/src/pro/blofin.js +743 -0
- package/js/src/src/pro/bybit.d.ts +397 -0
- package/js/src/src/pro/bybit.js +2519 -0
- package/js/src/src/pro/cex.d.ts +220 -0
- package/js/src/src/pro/cex.js +1535 -0
- package/js/src/src/pro/coinbase.d.ts +119 -0
- package/js/src/src/pro/coinbase.js +736 -0
- package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
- package/js/src/src/pro/coinbaseadvanced.js +18 -0
- package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
- package/js/src/src/pro/coinbaseexchange.js +969 -0
- package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
- package/js/src/src/pro/coinbaseinternational.js +804 -0
- package/js/src/src/pro/coincatch.d.ts +207 -0
- package/js/src/src/pro/coincatch.js +1562 -0
- package/js/src/src/pro/coincheck.d.ts +33 -0
- package/js/src/src/pro/coincheck.js +210 -0
- package/js/src/src/pro/coinex.d.ts +147 -0
- package/js/src/src/pro/coinex.js +1426 -0
- package/js/src/src/pro/coinone.d.ts +51 -0
- package/js/src/src/pro/coinone.js +413 -0
- package/js/src/src/pro/cryptocom.d.ts +300 -0
- package/js/src/src/pro/cryptocom.js +1414 -0
- package/js/src/src/pro/defx.d.ts +236 -0
- package/js/src/src/pro/defx.js +865 -0
- package/js/src/src/pro/deribit.d.ts +163 -0
- package/js/src/src/pro/deribit.js +1066 -0
- package/js/src/src/pro/derive.d.ts +100 -0
- package/js/src/src/pro/derive.js +753 -0
- package/js/src/src/pro/exmo.d.ts +97 -0
- package/js/src/src/pro/exmo.js +903 -0
- package/js/src/src/pro/gate.d.ts +360 -0
- package/js/src/src/pro/gate.js +2119 -0
- package/js/src/src/pro/gateio.d.ts +4 -0
- package/js/src/src/pro/gateio.js +17 -0
- package/js/src/src/pro/gemini.d.ts +106 -0
- package/js/src/src/pro/gemini.js +932 -0
- package/js/src/src/pro/hashkey.d.ts +121 -0
- package/js/src/src/pro/hashkey.js +843 -0
- package/js/src/src/pro/hitbtc.d.ts +235 -0
- package/js/src/src/pro/hitbtc.js +1400 -0
- package/js/src/src/pro/hollaex.d.ts +77 -0
- package/js/src/src/pro/hollaex.js +604 -0
- package/js/src/src/pro/htx.d.ts +141 -0
- package/js/src/src/pro/htx.js +2415 -0
- package/js/src/src/pro/huobi.d.ts +4 -0
- package/js/src/src/pro/huobi.js +17 -0
- package/js/src/src/pro/hyperliquid.d.ts +218 -0
- package/js/src/src/pro/hyperliquid.js +1126 -0
- package/js/src/src/pro/independentreserve.d.ts +36 -0
- package/js/src/src/pro/independentreserve.js +287 -0
- package/js/src/src/pro/kraken.d.ts +233 -0
- package/js/src/src/pro/kraken.js +1785 -0
- package/js/src/src/pro/krakenfutures.d.ts +178 -0
- package/js/src/src/pro/krakenfutures.js +1592 -0
- package/js/src/src/pro/kucoin.d.ts +221 -0
- package/js/src/src/pro/kucoin.js +1430 -0
- package/js/src/src/pro/kucoinfutures.d.ts +205 -0
- package/js/src/src/pro/kucoinfutures.js +1295 -0
- package/js/src/src/pro/lbank.d.ts +134 -0
- package/js/src/src/pro/lbank.js +950 -0
- package/js/src/src/pro/luno.d.ts +44 -0
- package/js/src/src/pro/luno.js +322 -0
- package/js/src/src/pro/mexc.d.ts +210 -0
- package/js/src/src/pro/mexc.js +2009 -0
- package/js/src/src/pro/modetrade.d.ts +155 -0
- package/js/src/src/pro/modetrade.js +1335 -0
- package/js/src/src/pro/myokx.d.ts +4 -0
- package/js/src/src/pro/myokx.js +39 -0
- package/js/src/src/pro/ndax.d.ts +60 -0
- package/js/src/src/pro/ndax.js +545 -0
- package/js/src/src/pro/okcoin.d.ts +91 -0
- package/js/src/src/pro/okcoin.js +763 -0
- package/js/src/src/pro/okx.d.ts +408 -0
- package/js/src/src/pro/okx.js +2479 -0
- package/js/src/src/pro/okxus.d.ts +4 -0
- package/js/src/src/pro/okxus.js +39 -0
- package/js/src/src/pro/onetrading.d.ts +107 -0
- package/js/src/src/pro/onetrading.js +1343 -0
- package/js/src/src/pro/oxfun.d.ts +234 -0
- package/js/src/src/pro/oxfun.js +1112 -0
- package/js/src/src/pro/p2b.d.ts +104 -0
- package/js/src/src/pro/p2b.js +506 -0
- package/js/src/src/pro/paradex.d.ts +54 -0
- package/js/src/src/pro/paradex.js +370 -0
- package/js/src/src/pro/phemex.d.ts +129 -0
- package/js/src/src/pro/phemex.js +1569 -0
- package/js/src/src/pro/poloniex.d.ts +214 -0
- package/js/src/src/pro/poloniex.js +1318 -0
- package/js/src/src/pro/probit.d.ts +91 -0
- package/js/src/src/pro/probit.js +593 -0
- package/js/src/src/pro/tradeogre.d.ts +49 -0
- package/js/src/src/pro/tradeogre.js +284 -0
- package/js/src/src/pro/upbit.d.ts +124 -0
- package/js/src/src/pro/upbit.js +689 -0
- package/js/src/src/pro/vertex.d.ts +104 -0
- package/js/src/src/pro/vertex.js +999 -0
- package/js/src/src/pro/whitebit.d.ts +123 -0
- package/js/src/src/pro/whitebit.js +971 -0
- package/js/src/src/pro/woo.d.ts +161 -0
- package/js/src/src/pro/woo.js +1351 -0
- package/js/src/src/pro/woofipro.d.ts +155 -0
- package/js/src/src/pro/woofipro.js +1335 -0
- package/js/src/src/pro/xt.d.ts +165 -0
- package/js/src/src/pro/xt.js +1230 -0
- package/js/src/src/probit.d.ts +283 -0
- package/js/src/src/probit.js +1935 -0
- package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
- package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
- package/js/src/src/raastin.d.ts +24 -0
- package/js/src/src/raastin.js +494 -0
- package/js/src/src/ramzinex.d.ts +23 -0
- package/js/src/src/ramzinex.js +510 -0
- package/js/src/src/sarmayex.d.ts +21 -0
- package/js/src/src/sarmayex.js +376 -0
- package/js/src/src/sarrafex.d.ts +23 -0
- package/js/src/src/sarrafex.js +501 -0
- package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
- package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
- package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
- package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
- package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
- package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
- package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
- package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
- package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
- package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
- package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
- package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
- package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
- package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
- package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
- package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
- package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
- package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
- package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
- package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
- package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
- package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
- package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
- package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
- package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
- package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
- package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
- package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
- package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
- package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
- package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
- package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
- package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
- package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
- package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
- package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
- package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
- package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
- package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
- package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
- package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
- package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
- package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
- package/js/src/src/static_dependencies/ethers/index.js +22 -0
- package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
- package/js/src/src/static_dependencies/ethers/interface.js +990 -0
- package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
- package/js/src/src/static_dependencies/ethers/typed.js +608 -0
- package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
- package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
- package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
- package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
- package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
- package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
- package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
- package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
- package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
- package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
- package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
- package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
- package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
- package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
- package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
- package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
- package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
- package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
- package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
- package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
- package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
- package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
- package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
- package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
- package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
- package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
- package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
- package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
- package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
- package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
- package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
- package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
- package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
- package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
- package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
- package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
- package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
- package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
- package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
- package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
- package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
- package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
- package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
- package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
- package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
- package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
- package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
- package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
- package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
- package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
- package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
- package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
- package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
- package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
- package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
- package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
- package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
- package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
- package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
- package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
- package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
- package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
- package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
- package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
- package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
- package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
- package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
- package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
- package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
- package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
- package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
- package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
- package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
- package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
- package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
- package/js/src/src/static_dependencies/qs/index.cjs +15 -0
- package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
- package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
- package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
- package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
- package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
- package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
- package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
- package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
- package/js/src/src/static_dependencies/scure-base/index.js +420 -0
- package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
- package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
- package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
- package/js/src/src/static_dependencies/starknet/constants.js +67 -0
- package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
- package/js/src/src/static_dependencies/starknet/index.js +9 -0
- package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
- package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
- package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
- package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
- package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
- package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
- package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
- package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
- package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
- package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
- package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
- package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
- package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
- package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
- package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
- package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
- package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
- package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
- package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
- package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
- package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
- package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
- package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
- package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
- package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
- package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
- package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
- package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
- package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
- package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
- package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
- package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
- package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
- package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
- package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
- package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
- package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
- package/js/src/src/tabdeal.d.ts +23 -0
- package/js/src/src/tabdeal.js +387 -0
- package/js/src/src/tehran_exchange.d.ts +21 -0
- package/js/src/src/tehran_exchange.js +333 -0
- package/js/src/src/tetherland.d.ts +21 -0
- package/js/src/src/tetherland.js +367 -0
- package/js/src/src/timex.d.ts +247 -0
- package/js/src/src/timex.js +1792 -0
- package/js/src/src/tokocrypto.d.ts +261 -0
- package/js/src/src/tokocrypto.js +2641 -0
- package/js/src/src/toobit.d.ts +22 -0
- package/js/src/src/toobit.js +445 -0
- package/js/src/src/tradeogre.d.ts +149 -0
- package/js/src/src/tradeogre.js +878 -0
- package/js/src/src/twox.d.ts +21 -0
- package/js/src/src/twox.js +371 -0
- package/js/src/src/ubitex.d.ts +23 -0
- package/js/src/src/ubitex.js +433 -0
- package/js/src/src/upbit.d.ts +377 -0
- package/js/src/src/upbit.js +2340 -0
- package/js/src/src/vertex.d.ts +346 -0
- package/js/src/src/vertex.js +3146 -0
- package/js/src/src/wallex.d.ts +23 -0
- package/js/src/src/wallex.js +467 -0
- package/js/src/src/wavesexchange.d.ts +244 -0
- package/js/src/src/wavesexchange.js +2747 -0
- package/js/src/src/whitebit.d.ts +571 -0
- package/js/src/src/whitebit.js +3437 -0
- package/js/src/src/woo.d.ts +727 -0
- package/js/src/src/woo.js +4183 -0
- package/js/src/src/woofipro.d.ts +497 -0
- package/js/src/src/woofipro.js +2941 -0
- package/js/src/src/xt.d.ts +568 -0
- package/js/src/src/xt.js +5184 -0
- package/js/src/src/yobit.d.ts +197 -0
- package/js/src/src/yobit.js +1453 -0
- package/js/src/src/zaif.d.ts +136 -0
- package/js/src/src/zaif.js +821 -0
- package/js/src/src/zonda.d.ts +214 -0
- package/js/src/src/zonda.js +1984 -0
- package/js/test.d.ts +1 -1
- package/js/test.js +33 -33
- package/package.json +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
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 { TEXT_TO_FELT_MAX_LEN } from '../constants.js';
|
|
8
|
+
import { addHexPrefix, removeHexPrefix } from './encode.js';
|
|
9
|
+
import { isHex, isStringWholeNumber } from './num.js';
|
|
10
|
+
/**
|
|
11
|
+
* Test if string contains only ASCII characters (string can be ascii text)
|
|
12
|
+
*/
|
|
13
|
+
export function isASCII(str) {
|
|
14
|
+
// eslint-disable-next-line no-control-regex
|
|
15
|
+
return /^[\x00-\x7F]*$/.test(str);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Test if string is a Cairo short string (string has less or equal 31 characters)
|
|
19
|
+
*/
|
|
20
|
+
export function isShortString(str) {
|
|
21
|
+
return str.length <= TEXT_TO_FELT_MAX_LEN;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Test if string contains only numbers (string can be converted to decimal number)
|
|
25
|
+
*/
|
|
26
|
+
export function isDecimalString(str) {
|
|
27
|
+
return /^[0-9]*$/i.test(str);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Checks if a given value is a string.
|
|
31
|
+
*
|
|
32
|
+
* @param {unknown} value - The value to be checked.
|
|
33
|
+
* @return {boolean} - Returns true if the value is a string, false otherwise.
|
|
34
|
+
*/
|
|
35
|
+
export function isString(value) {
|
|
36
|
+
return typeof value === 'string';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Test if value is a free-from string text, and not a hex string or number string
|
|
40
|
+
*/
|
|
41
|
+
export function isText(val) {
|
|
42
|
+
return isString(val) && !isHex(val) && !isStringWholeNumber(val);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Test if value is short text
|
|
46
|
+
*/
|
|
47
|
+
export const isShortText = (val) => isText(val) && isShortString(val);
|
|
48
|
+
/**
|
|
49
|
+
* Test if value is long text
|
|
50
|
+
*/
|
|
51
|
+
export const isLongText = (val) => isText(val) && !isShortString(val);
|
|
52
|
+
/**
|
|
53
|
+
* Split long text into short strings
|
|
54
|
+
*/
|
|
55
|
+
export function splitLongString(longStr) {
|
|
56
|
+
const regex = RegExp(`[^]{1,${TEXT_TO_FELT_MAX_LEN}}`, 'g');
|
|
57
|
+
return longStr.match(regex) || [];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Convert an ASCII string to a hexadecimal string.
|
|
61
|
+
* @param str short string (ASCII string, 31 characters max)
|
|
62
|
+
* @returns format: hex-string; 248 bits max
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const myEncodedString: string = encodeShortString("uri/pict/t38.jpg");
|
|
66
|
+
* // return hex string (ex."0x7572692f706963742f7433382e6a7067")
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export function encodeShortString(str) {
|
|
70
|
+
if (!isASCII(str))
|
|
71
|
+
throw new Error(`${str} is not an ASCII string`);
|
|
72
|
+
if (!isShortString(str))
|
|
73
|
+
throw new Error(`${str} is too long`);
|
|
74
|
+
return addHexPrefix(str.replace(/./g, (char) => char.charCodeAt(0).toString(16)));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Convert a hexadecimal or decimal string to an ASCII string.
|
|
78
|
+
* @param str representing a 248 bit max number (ex. "0x1A4F64EA56" or "236942575435676423")
|
|
79
|
+
* @returns format: short string; 31 characters max
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const myDecodedString: string = decodeShortString("0x7572692f706963742f7433382e6a7067");
|
|
83
|
+
* // return string (ex."uri/pict/t38.jpg")
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export function decodeShortString(str) {
|
|
87
|
+
if (!isASCII(str))
|
|
88
|
+
throw new Error(`${str} is not an ASCII string`);
|
|
89
|
+
if (isHex(str)) {
|
|
90
|
+
return removeHexPrefix(str).replace(/.{2}/g, (hex) => String.fromCharCode(parseInt(hex, 16)));
|
|
91
|
+
}
|
|
92
|
+
if (isDecimalString(str)) {
|
|
93
|
+
return decodeShortString('0X'.concat(BigInt(str).toString(16)));
|
|
94
|
+
}
|
|
95
|
+
throw new Error(`${str} is not Hex or decimal`);
|
|
96
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { BigNumberish, TypedDataRevision as Revision, StarknetMerkleType, StarknetType, TypedData } from '../types/index.js';
|
|
2
|
+
/** @deprecated prefer importing from 'types' over 'typedData' */
|
|
3
|
+
interface Context {
|
|
4
|
+
parent?: string;
|
|
5
|
+
key?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Prepares the selector for use.
|
|
9
|
+
*
|
|
10
|
+
* @param {string} selector - The selector to be prepared.
|
|
11
|
+
* @returns {string} The prepared selector.
|
|
12
|
+
*/
|
|
13
|
+
export declare function prepareSelector(selector: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the given Starknet type is a Merkle tree type.
|
|
16
|
+
*
|
|
17
|
+
* @param {StarknetType} type - The StarkNet type to check.
|
|
18
|
+
*
|
|
19
|
+
* @returns {boolean} - True if the type is a Merkle tree type, false otherwise.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isMerkleTreeType(type: StarknetType): type is StarknetMerkleType;
|
|
22
|
+
/**
|
|
23
|
+
* Get the dependencies of a struct type. If a struct has the same dependency multiple times, it's only included once
|
|
24
|
+
* in the resulting array.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getDependencies(types: TypedData['types'], type: string, dependencies?: string[], contains?: string, revision?: Revision): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Encode a type to a string. All dependent types are alphabetically sorted.
|
|
29
|
+
*/
|
|
30
|
+
export declare function encodeType(types: TypedData['types'], type: string, revision?: Revision): string;
|
|
31
|
+
/**
|
|
32
|
+
* Get a type string as hash.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getTypeHash(types: TypedData['types'], type: string, revision?: Revision): string;
|
|
35
|
+
/**
|
|
36
|
+
* Encodes a single value to an ABI serialisable string, number or Buffer. Returns the data as tuple, which consists of
|
|
37
|
+
* an array of ABI compatible types, and an array of corresponding values.
|
|
38
|
+
*/
|
|
39
|
+
export declare function encodeValue(types: TypedData['types'], type: string, data: unknown, ctx?: Context, revision?: Revision): [string, string];
|
|
40
|
+
/**
|
|
41
|
+
* Encode the data to an ABI encoded Buffer. The data should be a key -> value object with all the required values.
|
|
42
|
+
* All dependent types are automatically encoded.
|
|
43
|
+
*/
|
|
44
|
+
export declare function encodeData<T extends TypedData>(types: T['types'], type: string, data: T['message'], revision?: Revision): string[][];
|
|
45
|
+
/**
|
|
46
|
+
* Get encoded data as a hash. The data should be a key -> value object with all the required values.
|
|
47
|
+
* All dependent types are automatically encoded.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getStructHash<T extends TypedData>(types: T['types'], type: string, data: T['message'], revision?: Revision): string;
|
|
50
|
+
/**
|
|
51
|
+
* Get the SNIP-12 encoded message to sign, from the typedData object.
|
|
52
|
+
*/
|
|
53
|
+
export declare function getMessageHash(typedData: TypedData, account: BigNumberish): string;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,321 @@
|
|
|
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
|
+
/* eslint-disable no-param-reassign */
|
|
8
|
+
import { PRIME, RANGE_FELT, RANGE_I128, RANGE_U128 } from '../constants.js';
|
|
9
|
+
import { TypedDataRevision as Revision, } from '../types/index.js';
|
|
10
|
+
import assert from './assert.js';
|
|
11
|
+
import { byteArrayFromString } from './calldata/byteArray.js';
|
|
12
|
+
import { computePedersenHash, computePedersenHashOnElements, computePoseidonHash, computePoseidonHashOnElements, getSelectorFromName, } from './hash/index.js';
|
|
13
|
+
import { MerkleTree } from './merkle.js';
|
|
14
|
+
import { isHex, toHex } from './num.js';
|
|
15
|
+
import { encodeShortString, isString } from './shortString.js';
|
|
16
|
+
const presetTypes = {
|
|
17
|
+
u256: JSON.parse('[{ "name": "low", "type": "u128" }, { "name": "high", "type": "u128" }]'),
|
|
18
|
+
TokenAmount: JSON.parse('[{ "name": "token_address", "type": "ContractAddress" }, { "name": "amount", "type": "u256" }]'),
|
|
19
|
+
NftId: JSON.parse('[{ "name": "collection_address", "type": "ContractAddress" }, { "name": "token_id", "type": "u256" }]'),
|
|
20
|
+
};
|
|
21
|
+
const revisionConfiguration = {
|
|
22
|
+
[Revision.Active]: {
|
|
23
|
+
domain: 'StarknetDomain',
|
|
24
|
+
hashMethod: computePoseidonHashOnElements,
|
|
25
|
+
hashMerkleMethod: computePoseidonHash,
|
|
26
|
+
escapeTypeString: (s) => `"${s}"`,
|
|
27
|
+
presetTypes,
|
|
28
|
+
},
|
|
29
|
+
[Revision.Legacy]: {
|
|
30
|
+
domain: 'StarkNetDomain',
|
|
31
|
+
hashMethod: computePedersenHashOnElements,
|
|
32
|
+
hashMerkleMethod: computePedersenHash,
|
|
33
|
+
escapeTypeString: (s) => s,
|
|
34
|
+
presetTypes: {},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
function assertRange(data, type, { min, max }) {
|
|
38
|
+
const value = BigInt(data);
|
|
39
|
+
assert(value >= min && value <= max, `${value} (${type}) is out of bounds [${min}, ${max}]`);
|
|
40
|
+
}
|
|
41
|
+
function identifyRevision({ types, domain }) {
|
|
42
|
+
if (revisionConfiguration[Revision.Active].domain in types && domain.revision === Revision.Active)
|
|
43
|
+
return Revision.Active;
|
|
44
|
+
if (revisionConfiguration[Revision.Legacy].domain in types &&
|
|
45
|
+
(domain.revision ?? Revision.Legacy) === Revision.Legacy)
|
|
46
|
+
return Revision.Legacy;
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
function getHex(value) {
|
|
50
|
+
try {
|
|
51
|
+
return toHex(value);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
if (isString(value)) {
|
|
55
|
+
return toHex(encodeShortString(value));
|
|
56
|
+
}
|
|
57
|
+
throw new Error(`Invalid BigNumberish: ${value}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validates that `data` matches the EIP-712 JSON schema.
|
|
62
|
+
*/
|
|
63
|
+
function validateTypedData(data) {
|
|
64
|
+
const typedData = data;
|
|
65
|
+
return Boolean(typedData.message && typedData.primaryType && typedData.types && identifyRevision(typedData));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Prepares the selector for use.
|
|
69
|
+
*
|
|
70
|
+
* @param {string} selector - The selector to be prepared.
|
|
71
|
+
* @returns {string} The prepared selector.
|
|
72
|
+
*/
|
|
73
|
+
export function prepareSelector(selector) {
|
|
74
|
+
return isHex(selector) ? selector : getSelectorFromName(selector);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Checks if the given Starknet type is a Merkle tree type.
|
|
78
|
+
*
|
|
79
|
+
* @param {StarknetType} type - The StarkNet type to check.
|
|
80
|
+
*
|
|
81
|
+
* @returns {boolean} - True if the type is a Merkle tree type, false otherwise.
|
|
82
|
+
*/
|
|
83
|
+
export function isMerkleTreeType(type) {
|
|
84
|
+
return type.type === 'merkletree';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the dependencies of a struct type. If a struct has the same dependency multiple times, it's only included once
|
|
88
|
+
* in the resulting array.
|
|
89
|
+
*/
|
|
90
|
+
export function getDependencies(types, type, dependencies = [], contains = '', revision = Revision.Legacy) {
|
|
91
|
+
// Include pointers (struct arrays)
|
|
92
|
+
if (type[type.length - 1] === '*') {
|
|
93
|
+
type = type.slice(0, -1);
|
|
94
|
+
}
|
|
95
|
+
else if (revision === Revision.Active) {
|
|
96
|
+
// enum base
|
|
97
|
+
if (type === 'enum') {
|
|
98
|
+
type = contains;
|
|
99
|
+
}
|
|
100
|
+
// enum element types
|
|
101
|
+
else if (type.match(/^\(.*\)$/)) {
|
|
102
|
+
type = type.slice(1, -1);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (dependencies.includes(type) || !types[type]) {
|
|
106
|
+
return dependencies;
|
|
107
|
+
}
|
|
108
|
+
return [
|
|
109
|
+
type,
|
|
110
|
+
...types[type].reduce((previous, t) => [
|
|
111
|
+
...previous,
|
|
112
|
+
...getDependencies(types, t.type, previous, t.contains, revision).filter((dependency) => !previous.includes(dependency)),
|
|
113
|
+
], []),
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
function getMerkleTreeType(types, ctx) {
|
|
117
|
+
if (ctx.parent && ctx.key) {
|
|
118
|
+
const parentType = types[ctx.parent];
|
|
119
|
+
const merkleType = parentType.find((t) => t.name === ctx.key);
|
|
120
|
+
const isMerkleTree = isMerkleTreeType(merkleType);
|
|
121
|
+
if (!isMerkleTree) {
|
|
122
|
+
throw new Error(`${ctx.key} is not a merkle tree`);
|
|
123
|
+
}
|
|
124
|
+
if (merkleType.contains.endsWith('*')) {
|
|
125
|
+
throw new Error(`Merkle tree contain property must not be an array but was given ${ctx.key}`);
|
|
126
|
+
}
|
|
127
|
+
return merkleType.contains;
|
|
128
|
+
}
|
|
129
|
+
return 'raw';
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Encode a type to a string. All dependent types are alphabetically sorted.
|
|
133
|
+
*/
|
|
134
|
+
export function encodeType(types, type, revision = Revision.Legacy) {
|
|
135
|
+
const allTypes = revision === Revision.Active
|
|
136
|
+
? { ...types, ...revisionConfiguration[revision].presetTypes }
|
|
137
|
+
: types;
|
|
138
|
+
const [primary, ...dependencies] = getDependencies(allTypes, type, undefined, undefined, revision);
|
|
139
|
+
const newTypes = !primary ? [] : [primary, ...dependencies.sort()];
|
|
140
|
+
const esc = revisionConfiguration[revision].escapeTypeString;
|
|
141
|
+
return newTypes
|
|
142
|
+
.map((dependency) => {
|
|
143
|
+
const dependencyElements = allTypes[dependency].map((t) => {
|
|
144
|
+
const targetType = t.type === 'enum' && revision === Revision.Active
|
|
145
|
+
? t.contains
|
|
146
|
+
: t.type;
|
|
147
|
+
// parentheses handling for enum variant types
|
|
148
|
+
const typeString = targetType.match(/^\(.*\)$/)
|
|
149
|
+
? `(${targetType
|
|
150
|
+
.slice(1, -1)
|
|
151
|
+
.split(',')
|
|
152
|
+
.map((e) => (e ? esc(e) : e))
|
|
153
|
+
.join(',')})`
|
|
154
|
+
: esc(targetType);
|
|
155
|
+
return `${esc(t.name)}:${typeString}`;
|
|
156
|
+
});
|
|
157
|
+
return `${esc(dependency)}(${dependencyElements})`;
|
|
158
|
+
})
|
|
159
|
+
.join('');
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get a type string as hash.
|
|
163
|
+
*/
|
|
164
|
+
export function getTypeHash(types, type, revision = Revision.Legacy) {
|
|
165
|
+
return getSelectorFromName(encodeType(types, type, revision));
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Encodes a single value to an ABI serialisable string, number or Buffer. Returns the data as tuple, which consists of
|
|
169
|
+
* an array of ABI compatible types, and an array of corresponding values.
|
|
170
|
+
*/
|
|
171
|
+
export function encodeValue(types, type, data, ctx = {}, revision = Revision.Legacy) {
|
|
172
|
+
if (types[type]) {
|
|
173
|
+
return [type, getStructHash(types, type, data, revision)];
|
|
174
|
+
}
|
|
175
|
+
if (revisionConfiguration[revision].presetTypes[type]) {
|
|
176
|
+
return [
|
|
177
|
+
type,
|
|
178
|
+
getStructHash(revisionConfiguration[revision].presetTypes, type, data, revision),
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
if (type.endsWith('*')) {
|
|
182
|
+
const hashes = data.map((entry) => encodeValue(types, type.slice(0, -1), entry, undefined, revision)[1]);
|
|
183
|
+
return [type, revisionConfiguration[revision].hashMethod(hashes)];
|
|
184
|
+
}
|
|
185
|
+
switch (type) {
|
|
186
|
+
case 'enum': {
|
|
187
|
+
if (revision === Revision.Active) {
|
|
188
|
+
const [variantKey, variantData] = Object.entries(data)[0];
|
|
189
|
+
const parentType = types[ctx.parent][0];
|
|
190
|
+
const enumType = types[parentType.contains];
|
|
191
|
+
const variantType = enumType.find((t) => t.name === variantKey);
|
|
192
|
+
const variantIndex = enumType.indexOf(variantType);
|
|
193
|
+
const encodedSubtypes = variantType.type
|
|
194
|
+
.slice(1, -1)
|
|
195
|
+
.split(',')
|
|
196
|
+
.map((subtype, index) => {
|
|
197
|
+
if (!subtype)
|
|
198
|
+
return subtype;
|
|
199
|
+
const subtypeData = variantData[index];
|
|
200
|
+
return encodeValue(types, subtype, subtypeData, undefined, revision)[1];
|
|
201
|
+
});
|
|
202
|
+
return [
|
|
203
|
+
type,
|
|
204
|
+
revisionConfiguration[revision].hashMethod([variantIndex, ...encodedSubtypes]),
|
|
205
|
+
];
|
|
206
|
+
} // else fall through to default
|
|
207
|
+
return [type, getHex(data)];
|
|
208
|
+
}
|
|
209
|
+
case 'merkletree': {
|
|
210
|
+
const merkleTreeType = getMerkleTreeType(types, ctx);
|
|
211
|
+
const structHashes = data.map((struct) => {
|
|
212
|
+
return encodeValue(types, merkleTreeType, struct, undefined, revision)[1];
|
|
213
|
+
});
|
|
214
|
+
const { root } = new MerkleTree(structHashes, revisionConfiguration[revision].hashMerkleMethod);
|
|
215
|
+
return ['felt', root];
|
|
216
|
+
}
|
|
217
|
+
case 'selector': {
|
|
218
|
+
return ['felt', prepareSelector(data)];
|
|
219
|
+
}
|
|
220
|
+
case 'string': {
|
|
221
|
+
if (revision === Revision.Active) {
|
|
222
|
+
const byteArray = byteArrayFromString(data);
|
|
223
|
+
const elements = [
|
|
224
|
+
byteArray.data.length,
|
|
225
|
+
...byteArray.data,
|
|
226
|
+
byteArray.pending_word,
|
|
227
|
+
byteArray.pending_word_len,
|
|
228
|
+
];
|
|
229
|
+
return [type, revisionConfiguration[revision].hashMethod(elements)];
|
|
230
|
+
} // else fall through to default
|
|
231
|
+
return [type, getHex(data)];
|
|
232
|
+
}
|
|
233
|
+
case 'i128': {
|
|
234
|
+
if (revision === Revision.Active) {
|
|
235
|
+
const value = BigInt(data);
|
|
236
|
+
assertRange(value, type, RANGE_I128);
|
|
237
|
+
return [type, getHex(value < 0n ? PRIME + value : value)];
|
|
238
|
+
} // else fall through to default
|
|
239
|
+
return [type, getHex(data)];
|
|
240
|
+
}
|
|
241
|
+
case 'timestamp':
|
|
242
|
+
case 'u128': {
|
|
243
|
+
if (revision === Revision.Active) {
|
|
244
|
+
assertRange(data, type, RANGE_U128);
|
|
245
|
+
} // else fall through to default
|
|
246
|
+
return [type, getHex(data)];
|
|
247
|
+
}
|
|
248
|
+
case 'felt':
|
|
249
|
+
case 'shortstring': {
|
|
250
|
+
// TODO: should 'shortstring' diverge into directly using encodeShortString()?
|
|
251
|
+
if (revision === Revision.Active) {
|
|
252
|
+
assertRange(getHex(data), type, RANGE_FELT);
|
|
253
|
+
} // else fall through to default
|
|
254
|
+
return [type, getHex(data)];
|
|
255
|
+
}
|
|
256
|
+
case 'ClassHash':
|
|
257
|
+
case 'ContractAddress': {
|
|
258
|
+
if (revision === Revision.Active) {
|
|
259
|
+
assertRange(data, type, RANGE_FELT);
|
|
260
|
+
} // else fall through to default
|
|
261
|
+
return [type, getHex(data)];
|
|
262
|
+
}
|
|
263
|
+
case 'bool': {
|
|
264
|
+
if (revision === Revision.Active) {
|
|
265
|
+
assert(typeof data === 'boolean', `Type mismatch for ${type} ${data}`);
|
|
266
|
+
} // else fall through to default
|
|
267
|
+
return [type, getHex(data)];
|
|
268
|
+
}
|
|
269
|
+
default: {
|
|
270
|
+
if (revision === Revision.Active) {
|
|
271
|
+
throw new Error(`Unsupported type: ${type}`);
|
|
272
|
+
}
|
|
273
|
+
return [type, getHex(data)];
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Encode the data to an ABI encoded Buffer. The data should be a key -> value object with all the required values.
|
|
279
|
+
* All dependent types are automatically encoded.
|
|
280
|
+
*/
|
|
281
|
+
export function encodeData(types, type, data, revision = Revision.Legacy) {
|
|
282
|
+
const targetType = types[type] ?? revisionConfiguration[revision].presetTypes[type];
|
|
283
|
+
const [returnTypes, values] = targetType.reduce(([ts, vs], field) => {
|
|
284
|
+
if (data[field.name] === undefined ||
|
|
285
|
+
(data[field.name] === null && field.type !== 'enum')) {
|
|
286
|
+
throw new Error(`Cannot encode data: missing data for '${field.name}'`);
|
|
287
|
+
}
|
|
288
|
+
const value = data[field.name];
|
|
289
|
+
const ctx = { parent: type, key: field.name };
|
|
290
|
+
const [t, encodedValue] = encodeValue(types, field.type, value, ctx, revision);
|
|
291
|
+
return [
|
|
292
|
+
[...ts, t],
|
|
293
|
+
[...vs, encodedValue],
|
|
294
|
+
];
|
|
295
|
+
}, [['felt'], [getTypeHash(types, type, revision)]]);
|
|
296
|
+
return [returnTypes, values];
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Get encoded data as a hash. The data should be a key -> value object with all the required values.
|
|
300
|
+
* All dependent types are automatically encoded.
|
|
301
|
+
*/
|
|
302
|
+
export function getStructHash(types, type, data, revision = Revision.Legacy) {
|
|
303
|
+
return revisionConfiguration[revision].hashMethod(encodeData(types, type, data, revision)[1]);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Get the SNIP-12 encoded message to sign, from the typedData object.
|
|
307
|
+
*/
|
|
308
|
+
export function getMessageHash(typedData, account) {
|
|
309
|
+
if (!validateTypedData(typedData)) {
|
|
310
|
+
throw new Error('Typed data does not match JSON schema');
|
|
311
|
+
}
|
|
312
|
+
const revision = identifyRevision(typedData);
|
|
313
|
+
const { domain, hashMethod } = revisionConfiguration[revision];
|
|
314
|
+
const message = [
|
|
315
|
+
encodeShortString('StarkNet Message'),
|
|
316
|
+
getStructHash(typedData.types, domain, typedData.domain, revision),
|
|
317
|
+
account,
|
|
318
|
+
getStructHash(typedData.types, typedData.primaryType, typedData.message, revision),
|
|
319
|
+
];
|
|
320
|
+
return hashMethod(message);
|
|
321
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** TYPES */
|
|
2
|
+
/** A promise that exploits a single, memory-safe upstream subscription
|
|
3
|
+
* to a single re-used Unpromise that persists for the VM lifetime of a
|
|
4
|
+
* Promise.
|
|
5
|
+
*
|
|
6
|
+
* Calling unsubscribe() removes the subscription, eliminating
|
|
7
|
+
* all references to the SubscribedPromise. */
|
|
8
|
+
export interface SubscribedPromise<T> extends Promise<T> {
|
|
9
|
+
unsubscribe: () => void;
|
|
10
|
+
}
|
|
11
|
+
/** Duplicate of Promise interface, except each call returns SubscribedPromise */
|
|
12
|
+
export interface ProxyPromise<T> extends Promise<T> {
|
|
13
|
+
subscribe: () => SubscribedPromise<T>;
|
|
14
|
+
then: <TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => SubscribedPromise<TResult1 | TResult2>;
|
|
15
|
+
catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined) => SubscribedPromise<T | TResult>;
|
|
16
|
+
finally: (onfinally?: (() => void) | null | undefined) => SubscribedPromise<T>;
|
|
17
|
+
}
|
|
18
|
+
export declare type PromiseExecutor<T> = (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
|
|
19
|
+
/** A standard pattern for a resolvable, rejectable Promise, based
|
|
20
|
+
* on the emerging ES2023 standard. Type ported from
|
|
21
|
+
* https://github.com/microsoft/TypeScript/pull/56593 */
|
|
22
|
+
export interface PromiseWithResolvers<T> {
|
|
23
|
+
promise: Promise<T>;
|
|
24
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
25
|
+
reject: (reason?: any) => void;
|
|
26
|
+
}
|
|
27
|
+
/** Given an array, this is the union of its members' types. */
|
|
28
|
+
export declare type MemberOf<Arr extends readonly unknown[]> = Arr[number];
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
/** TYPES */
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { PromiseExecutor, PromiseWithResolvers, ProxyPromise, SubscribedPromise } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Every `Promise<T>` can be shadowed by a single `ProxyPromise<T>`. It is
|
|
4
|
+
* created once, cached and reused throughout the lifetime of the Promise. Get a
|
|
5
|
+
* Promise's ProxyPromise using `Unpromise.proxy(promise)`.
|
|
6
|
+
*
|
|
7
|
+
* The `ProxyPromise<T>` attaches handlers to the original `Promise<T>`
|
|
8
|
+
* `.then()` and `.catch()` just once. Promises derived from it use a
|
|
9
|
+
* subscription- (and unsubscription-) based mechanism that monitors these
|
|
10
|
+
* handlers.
|
|
11
|
+
*
|
|
12
|
+
* Every time you call `.subscribe()`, `.then()` `.catch()` or `.finally()` on a
|
|
13
|
+
* `ProxyPromise<T>` it returns a `SubscribedPromise<T>` having an additional
|
|
14
|
+
* `unsubscribe()` method. Calling `unsubscribe()` detaches reference chains
|
|
15
|
+
* from the original, potentially long-lived Promise, eliminating memory leaks.
|
|
16
|
+
*
|
|
17
|
+
* This approach can eliminate the memory leaks that otherwise come about from
|
|
18
|
+
* repeated `race()` or `any()` calls invoking `.then()` and `.catch()` multiple
|
|
19
|
+
* times on the same long-lived native Promise (subscriptions which can never be
|
|
20
|
+
* cleaned up).
|
|
21
|
+
*
|
|
22
|
+
* `Unpromise.race(promises)` is a reference implementation of `Promise.race`
|
|
23
|
+
* avoiding memory leaks when using long-lived unsettled Promises.
|
|
24
|
+
*
|
|
25
|
+
* `Unpromise.any(promises)` is a reference implementation of `Promise.any`
|
|
26
|
+
* avoiding memory leaks when using long-lived unsettled Promises.
|
|
27
|
+
*
|
|
28
|
+
* `Unpromise.resolve(promise)` returns an ephemeral `SubscribedPromise<T>` for
|
|
29
|
+
* any given `Promise<T>` facilitating arbitrary async/await patterns. Behind
|
|
30
|
+
* the scenes, `resolve` is implemented simply as
|
|
31
|
+
* `Unpromise.proxy(promise).subscribe()`. Don't forget to call `.unsubscribe()`
|
|
32
|
+
* to tidy up!
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
export declare class Unpromise<T> implements ProxyPromise<T> {
|
|
36
|
+
/** INSTANCE IMPLEMENTATION */
|
|
37
|
+
/** The promise shadowed by this Unpromise<T> */
|
|
38
|
+
protected readonly promise: Promise<T> | PromiseLike<T>;
|
|
39
|
+
/** Promises expecting eventual settlement (unless unsubscribed first). This list is deleted
|
|
40
|
+
* after the original promise settles - no further notifications will be issued. */
|
|
41
|
+
protected subscribers: ReadonlyArray<PromiseWithResolvers<T>> | null;
|
|
42
|
+
/** The Promise's settlement (recorded when it fulfils or rejects). This is consulted when
|
|
43
|
+
* calling .subscribe() .then() .catch() .finally() to see if an immediately-resolving Promise
|
|
44
|
+
* can be returned, and therefore subscription can be bypassed. */
|
|
45
|
+
protected settlement: PromiseSettledResult<T> | null;
|
|
46
|
+
/** Constructor accepts a normal Promise executor function like `new
|
|
47
|
+
* Unpromise((resolve, reject) => {...})` or accepts a pre-existing Promise
|
|
48
|
+
* like `new Unpromise(existingPromise)`. Adds `.then()` and `.catch()`
|
|
49
|
+
* handlers to the Promise. These handlers pass fulfilment and rejection
|
|
50
|
+
* notifications to downstream subscribers and maintains records of value
|
|
51
|
+
* or error if the Promise ever settles. */
|
|
52
|
+
protected constructor(promise: Promise<T>);
|
|
53
|
+
protected constructor(promise: PromiseLike<T>);
|
|
54
|
+
protected constructor(executor: PromiseExecutor<T>);
|
|
55
|
+
/** Create a promise that mitigates uncontrolled subscription to a long-lived
|
|
56
|
+
* Promise via .then() and .catch() - otherwise a source of memory leaks.
|
|
57
|
+
*
|
|
58
|
+
* The returned promise has an `unsubscribe()` method which can be called when
|
|
59
|
+
* the Promise is no longer being tracked by application logic, and which
|
|
60
|
+
* ensures that there is no reference chain from the original promise to the
|
|
61
|
+
* new one, and therefore no memory leak.
|
|
62
|
+
*
|
|
63
|
+
* If original promise has not yet settled, this adds a new unique promise
|
|
64
|
+
* that listens to then/catch events, along with an `unsubscribe()` method to
|
|
65
|
+
* detach it.
|
|
66
|
+
*
|
|
67
|
+
* If original promise has settled, then creates a new Promise.resolve() or
|
|
68
|
+
* Promise.reject() and provided unsubscribe is a noop.
|
|
69
|
+
*
|
|
70
|
+
* If you call `unsubscribe()` before the returned Promise has settled, it
|
|
71
|
+
* will never settle.
|
|
72
|
+
*/
|
|
73
|
+
subscribe(): SubscribedPromise<T>;
|
|
74
|
+
/** STANDARD PROMISE METHODS (but returning a SubscribedPromise) */
|
|
75
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): SubscribedPromise<TResult1 | TResult2>;
|
|
76
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): SubscribedPromise<T | TResult>;
|
|
77
|
+
finally(onfinally?: (() => void) | null | undefined): SubscribedPromise<T>;
|
|
78
|
+
/** TOSTRING SUPPORT */
|
|
79
|
+
readonly [Symbol.toStringTag] = "Unpromise";
|
|
80
|
+
/** Unpromise STATIC METHODS */
|
|
81
|
+
/** Create or Retrieve the proxy Unpromise (a re-used Unpromise for the VM lifetime
|
|
82
|
+
* of the provided Promise reference) */
|
|
83
|
+
static proxy<T>(promise: PromiseLike<T>): ProxyPromise<T>;
|
|
84
|
+
/** Create and store an Unpromise keyed by an original Promise. */
|
|
85
|
+
protected static createSubscribablePromise<T>(promise: PromiseLike<T>): Unpromise<T>;
|
|
86
|
+
/** Retrieve a previously-created Unpromise keyed by an original Promise. */
|
|
87
|
+
protected static getSubscribablePromise<T>(promise: PromiseLike<T>): ProxyPromise<T>;
|
|
88
|
+
/** Promise STATIC METHODS */
|
|
89
|
+
/** Lookup the Unpromise for this promise, and derive a SubscribedPromise from
|
|
90
|
+
* it (that can be later unsubscribed to eliminate Memory leaks) */
|
|
91
|
+
static resolve<T>(value: T | PromiseLike<T>): SubscribedPromise<Awaited<T>>;
|
|
92
|
+
/** Perform Promise.any() via SubscribedPromises, then unsubscribe them.
|
|
93
|
+
* Equivalent to Promise.any but eliminates memory leaks from long-lived
|
|
94
|
+
* promises accumulating .then() and .catch() subscribers. */
|
|
95
|
+
static any<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
|
|
96
|
+
/** Perform Promise.race via SubscribedPromises, then unsubscribe them.
|
|
97
|
+
* Equivalent to Promise.race but eliminates memory leaks from long-lived
|
|
98
|
+
* promises accumulating .then() and .catch() subscribers. */
|
|
99
|
+
static race<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
|
|
100
|
+
/** Create a race of SubscribedPromises that will fulfil to a single winning
|
|
101
|
+
* Promise (in a 1-Tuple). Eliminates memory leaks from long-lived promises
|
|
102
|
+
* accumulating .then() and .catch() subscribers. Allows simple logic to
|
|
103
|
+
* consume the result, like...
|
|
104
|
+
* ```ts
|
|
105
|
+
* const [ winner ] = await Unpromise.race([ promiseA, promiseB ]);
|
|
106
|
+
* if(winner === promiseB){
|
|
107
|
+
* const result = await promiseB;
|
|
108
|
+
* // do the thing
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
* */
|
|
112
|
+
static raceReferences<P extends Promise<unknown>>(promises: readonly P[]): Promise<readonly [P]>;
|
|
113
|
+
}
|
|
114
|
+
/** Promises a 1-tuple containing the original promise when it resolves. Allows
|
|
115
|
+
* awaiting the eventual Promise ***reference*** (easy to destructure and
|
|
116
|
+
* exactly compare with ===). Avoids resolving to the Promise ***value*** (which
|
|
117
|
+
* may be ambiguous and therefore hard to identify as the winner of a race).
|
|
118
|
+
* You can call unsubscribe on the Promise to mitigate memory leaks.
|
|
119
|
+
* */
|
|
120
|
+
export declare function resolveSelfTuple<P extends Promise<unknown>>(promise: P): SubscribedPromise<readonly [P]>;
|