@katanaperps/katana-perps-sdk 0.0.0-placeholder
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/.nvmrc +1 -0
- package/LICENSE +21 -0
- package/README.md +90 -0
- package/dist/abis/ERC20.json +288 -0
- package/dist/abis/EarningsEscrow.json +468 -0
- package/dist/abis/Exchange_v1.json +3644 -0
- package/dist/abis/IOFT.json +447 -0
- package/dist/bridge/config.d.ts +262 -0
- package/dist/bridge/config.d.ts.map +1 -0
- package/dist/bridge/config.js +221 -0
- package/dist/bridge/deposit.d.ts +107 -0
- package/dist/bridge/deposit.d.ts.map +1 -0
- package/dist/bridge/deposit.js +284 -0
- package/dist/bridge/index.d.ts +5 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +7 -0
- package/dist/bridge/utils.d.ts +140 -0
- package/dist/bridge/utils.d.ts.map +1 -0
- package/dist/bridge/utils.js +66 -0
- package/dist/bridge/withdraw.d.ts +42 -0
- package/dist/bridge/withdraw.d.ts.map +1 -0
- package/dist/bridge/withdraw.js +86 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/orderBook/index.d.ts +2 -0
- package/dist/client/orderBook/index.d.ts.map +1 -0
- package/dist/client/orderBook/index.js +4 -0
- package/dist/client/orderBook/realTime.d.ts +180 -0
- package/dist/client/orderBook/realTime.d.ts.map +1 -0
- package/dist/client/orderBook/realTime.js +344 -0
- package/dist/client/orderBook/utils.d.ts +15 -0
- package/dist/client/orderBook/utils.d.ts.map +1 -0
- package/dist/client/orderBook/utils.js +77 -0
- package/dist/client/rest/authenticated.d.ts +1199 -0
- package/dist/client/rest/authenticated.d.ts.map +1 -0
- package/dist/client/rest/authenticated.js +1311 -0
- package/dist/client/rest/index.d.ts +3 -0
- package/dist/client/rest/index.d.ts.map +1 -0
- package/dist/client/rest/index.js +5 -0
- package/dist/client/rest/public.d.ts +436 -0
- package/dist/client/rest/public.d.ts.map +1 -0
- package/dist/client/rest/public.js +502 -0
- package/dist/client/webSocket/guards.d.ts +15 -0
- package/dist/client/webSocket/guards.d.ts.map +1 -0
- package/dist/client/webSocket/guards.js +37 -0
- package/dist/client/webSocket/index.d.ts +632 -0
- package/dist/client/webSocket/index.d.ts.map +1 -0
- package/dist/client/webSocket/index.js +1048 -0
- package/dist/client/webSocket/transform.d.ts +3 -0
- package/dist/client/webSocket/transform.d.ts.map +1 -0
- package/dist/client/webSocket/transform.js +244 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +38 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/orderbook/apiConversions.d.ts +8 -0
- package/dist/orderbook/apiConversions.d.ts.map +1 -0
- package/dist/orderbook/apiConversions.js +100 -0
- package/dist/orderbook/demo.d.ts +2 -0
- package/dist/orderbook/demo.d.ts.map +1 -0
- package/dist/orderbook/demo.js +68 -0
- package/dist/orderbook/index.d.ts +3 -0
- package/dist/orderbook/index.d.ts.map +1 -0
- package/dist/orderbook/index.js +5 -0
- package/dist/orderbook/quantities.d.ts +112 -0
- package/dist/orderbook/quantities.d.ts.map +1 -0
- package/dist/orderbook/quantities.js +257 -0
- package/dist/orderbook/utils.d.ts +8 -0
- package/dist/orderbook/utils.d.ts.map +1 -0
- package/dist/orderbook/utils.js +28 -0
- package/dist/pipmath.d.ts +21 -0
- package/dist/pipmath.d.ts.map +1 -0
- package/dist/pipmath.js +110 -0
- package/dist/signatures.d.ts +37 -0
- package/dist/signatures.d.ts.map +1 -0
- package/dist/signatures.js +450 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.js +49 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.js +122 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.js +138 -0
- package/dist/tests/orderbook/quantities.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities.test.js +310 -0
- package/dist/tests/testHelpers.d.ts +2 -0
- package/dist/tests/testHelpers.d.ts.map +1 -0
- package/dist/tests/testHelpers.js +16 -0
- package/dist/tests/utils/deriveBaseURL.test.d.ts +2 -0
- package/dist/tests/utils/deriveBaseURL.test.d.ts.map +1 -0
- package/dist/tests/utils/deriveBaseURL.test.js +46 -0
- package/dist/typechain-types/ERC20.d.ts +170 -0
- package/dist/typechain-types/ERC20.d.ts.map +1 -0
- package/dist/typechain-types/ERC20.js +2 -0
- package/dist/typechain-types/EarningsEscrow.d.ts +210 -0
- package/dist/typechain-types/EarningsEscrow.d.ts.map +1 -0
- package/dist/typechain-types/EarningsEscrow.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts +253 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts +338 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts +413 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.js +2 -0
- package/dist/typechain-types/Exchange_v1.d.ts +2172 -0
- package/dist/typechain-types/Exchange_v1.d.ts.map +1 -0
- package/dist/typechain-types/Exchange_v1.js +2 -0
- package/dist/typechain-types/Exchange_v2.d.ts +2148 -0
- package/dist/typechain-types/Exchange_v2.d.ts.map +1 -0
- package/dist/typechain-types/Exchange_v2.js +2 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts +148 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts.map +1 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.js +2 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts +1204 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts.map +1 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.js +2 -0
- package/dist/typechain-types/IOFT.d.ts +247 -0
- package/dist/typechain-types/IOFT.d.ts.map +1 -0
- package/dist/typechain-types/IOFT.js +2 -0
- package/dist/typechain-types/IRewardVault.d.ts +649 -0
- package/dist/typechain-types/IRewardVault.d.ts.map +1 -0
- package/dist/typechain-types/IRewardVault.js +2 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts +638 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts.map +1 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.js +2 -0
- package/dist/typechain-types/KumaOFTUSDC.d.ts +756 -0
- package/dist/typechain-types/KumaOFTUSDC.d.ts.map +1 -0
- package/dist/typechain-types/KumaOFTUSDC.js +2 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.d.ts +252 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.d.ts.map +1 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.js +2 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.d.ts +252 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.d.ts.map +1 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.js +2 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts +1095 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts.map +1 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.js +2 -0
- package/dist/typechain-types/StargatePoolUSDC.d.ts +956 -0
- package/dist/typechain-types/StargatePoolUSDC.d.ts.map +1 -0
- package/dist/typechain-types/StargatePoolUSDC.js +2 -0
- package/dist/typechain-types/common.d.ts +51 -0
- package/dist/typechain-types/common.d.ts.map +1 -0
- package/dist/typechain-types/common.js +2 -0
- package/dist/typechain-types/factories/ERC20__factory.d.ts +226 -0
- package/dist/typechain-types/factories/ERC20__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ERC20__factory.js +305 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts +370 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.js +485 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts +359 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.js +471 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts +419 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.js +545 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts +546 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.js +710 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.d.ts +2852 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.js +3661 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.d.ts +2832 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.js +3636 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts +180 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.js +246 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts +2092 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.js +2702 -0
- package/dist/typechain-types/factories/IOFT__factory.d.ts +352 -0
- package/dist/typechain-types/factories/IOFT__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/IOFT__factory.js +464 -0
- package/dist/typechain-types/factories/IRewardVault__factory.d.ts +1019 -0
- package/dist/typechain-types/factories/IRewardVault__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/IRewardVault__factory.js +1311 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts +996 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.js +1306 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts +1234 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.js +1619 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts +354 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.js +464 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts +370 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.js +486 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts +1914 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.js +2475 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts +1557 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.js +2019 -0
- package/dist/typechain-types/factories/index.d.ts +5 -0
- package/dist/typechain-types/factories/index.d.ts.map +1 -0
- package/dist/typechain-types/factories/index.js +13 -0
- package/dist/typechain-types/index.d.ts +10 -0
- package/dist/typechain-types/index.d.ts.map +1 -0
- package/dist/typechain-types/index.js +15 -0
- package/dist/types/delegatedKeys.d.ts +44 -0
- package/dist/types/delegatedKeys.d.ts.map +1 -0
- package/dist/types/delegatedKeys.js +2 -0
- package/dist/types/enums/index.d.ts +4 -0
- package/dist/types/enums/index.d.ts.map +1 -0
- package/dist/types/enums/index.js +6 -0
- package/dist/types/enums/request.d.ts +980 -0
- package/dist/types/enums/request.d.ts.map +1 -0
- package/dist/types/enums/request.js +906 -0
- package/dist/types/enums/response.d.ts +329 -0
- package/dist/types/enums/response.d.ts.map +1 -0
- package/dist/types/enums/response.js +296 -0
- package/dist/types/enums/signature.d.ts +118 -0
- package/dist/types/enums/signature.d.ts.map +1 -0
- package/dist/types/enums/signature.js +131 -0
- package/dist/types/errors.d.ts +5 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +2 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/orderBook.d.ts +72 -0
- package/dist/types/orderBook.d.ts.map +1 -0
- package/dist/types/orderBook.js +2 -0
- package/dist/types/rest/common/common.d.ts +118 -0
- package/dist/types/rest/common/common.d.ts.map +1 -0
- package/dist/types/rest/common/common.js +2 -0
- package/dist/types/rest/common/guards.d.ts +8 -0
- package/dist/types/rest/common/guards.d.ts.map +1 -0
- package/dist/types/rest/common/guards.js +14 -0
- package/dist/types/rest/endpoints/AssociateWallet.d.ts +40 -0
- package/dist/types/rest/endpoints/AssociateWallet.d.ts.map +1 -0
- package/dist/types/rest/endpoints/AssociateWallet.js +2 -0
- package/dist/types/rest/endpoints/CancelOrders.d.ts +134 -0
- package/dist/types/rest/endpoints/CancelOrders.d.ts.map +1 -0
- package/dist/types/rest/endpoints/CancelOrders.js +2 -0
- package/dist/types/rest/endpoints/CreateOrder.d.ts +401 -0
- package/dist/types/rest/endpoints/CreateOrder.d.ts.map +1 -0
- package/dist/types/rest/endpoints/CreateOrder.js +2 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts +39 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.js +2 -0
- package/dist/types/rest/endpoints/GetCandles.d.ts +115 -0
- package/dist/types/rest/endpoints/GetCandles.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetCandles.js +2 -0
- package/dist/types/rest/endpoints/GetDeposits.d.ts +109 -0
- package/dist/types/rest/endpoints/GetDeposits.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetDeposits.js +2 -0
- package/dist/types/rest/endpoints/GetExchange.d.ts +78 -0
- package/dist/types/rest/endpoints/GetExchange.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetExchange.js +9 -0
- package/dist/types/rest/endpoints/GetFills.d.ts +178 -0
- package/dist/types/rest/endpoints/GetFills.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFills.js +2 -0
- package/dist/types/rest/endpoints/GetFundingPayments.d.ts +52 -0
- package/dist/types/rest/endpoints/GetFundingPayments.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFundingPayments.js +2 -0
- package/dist/types/rest/endpoints/GetFundingRates.d.ts +34 -0
- package/dist/types/rest/endpoints/GetFundingRates.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFundingRates.js +2 -0
- package/dist/types/rest/endpoints/GetGasFees.d.ts +23 -0
- package/dist/types/rest/endpoints/GetGasFees.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetGasFees.js +2 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts +39 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.js +2 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts +31 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.js +2 -0
- package/dist/types/rest/endpoints/GetLiquidations.d.ts +52 -0
- package/dist/types/rest/endpoints/GetLiquidations.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetLiquidations.js +2 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts +534 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.js +2 -0
- package/dist/types/rest/endpoints/GetMarkets.d.ts +161 -0
- package/dist/types/rest/endpoints/GetMarkets.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetMarkets.js +2 -0
- package/dist/types/rest/endpoints/GetOrderBook.d.ts +176 -0
- package/dist/types/rest/endpoints/GetOrderBook.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetOrderBook.js +2 -0
- package/dist/types/rest/endpoints/GetOrders.d.ts +188 -0
- package/dist/types/rest/endpoints/GetOrders.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetOrders.js +2 -0
- package/dist/types/rest/endpoints/GetPing.d.ts +8 -0
- package/dist/types/rest/endpoints/GetPing.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetPing.js +2 -0
- package/dist/types/rest/endpoints/GetPositions.d.ts +104 -0
- package/dist/types/rest/endpoints/GetPositions.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetPositions.js +2 -0
- package/dist/types/rest/endpoints/GetTickers.d.ts +129 -0
- package/dist/types/rest/endpoints/GetTickers.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTickers.js +2 -0
- package/dist/types/rest/endpoints/GetTime.d.ts +14 -0
- package/dist/types/rest/endpoints/GetTime.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTime.js +2 -0
- package/dist/types/rest/endpoints/GetTrades.d.ts +62 -0
- package/dist/types/rest/endpoints/GetTrades.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTrades.js +2 -0
- package/dist/types/rest/endpoints/GetWallets.d.ts +121 -0
- package/dist/types/rest/endpoints/GetWallets.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWallets.js +2 -0
- package/dist/types/rest/endpoints/GetWithdrawals.d.ts +98 -0
- package/dist/types/rest/endpoints/GetWithdrawals.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWithdrawals.js +2 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts +98 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.js +2 -0
- package/dist/types/rest/endpoints/Payouts.d.ts +199 -0
- package/dist/types/rest/endpoints/Payouts.d.ts.map +1 -0
- package/dist/types/rest/endpoints/Payouts.js +2 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts +83 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts.map +1 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFunds.d.ts +144 -0
- package/dist/types/rest/endpoints/WithdrawFunds.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFunds.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts +161 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts +160 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.js +2 -0
- package/dist/types/rest/endpoints/index.d.ts +33 -0
- package/dist/types/rest/endpoints/index.d.ts.map +1 -0
- package/dist/types/rest/endpoints/index.js +35 -0
- package/dist/types/rest/endpoints/internal.d.ts +329 -0
- package/dist/types/rest/endpoints/internal.d.ts.map +1 -0
- package/dist/types/rest/endpoints/internal.js +14 -0
- package/dist/types/rest/index.d.ts +4 -0
- package/dist/types/rest/index.d.ts.map +1 -0
- package/dist/types/rest/index.js +6 -0
- package/dist/types/swaps.d.ts +11 -0
- package/dist/types/swaps.d.ts.map +1 -0
- package/dist/types/swaps.js +2 -0
- package/dist/types/utils.d.ts +67 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +3 -0
- package/dist/types/webSocket/base.d.ts +83 -0
- package/dist/types/webSocket/base.d.ts.map +1 -0
- package/dist/types/webSocket/base.js +2 -0
- package/dist/types/webSocket/constants.d.ts +41 -0
- package/dist/types/webSocket/constants.d.ts.map +1 -0
- package/dist/types/webSocket/constants.js +54 -0
- package/dist/types/webSocket/index.d.ts +6 -0
- package/dist/types/webSocket/index.d.ts.map +1 -0
- package/dist/types/webSocket/index.js +8 -0
- package/dist/types/webSocket/options.d.ts +276 -0
- package/dist/types/webSocket/options.d.ts.map +1 -0
- package/dist/types/webSocket/options.js +2 -0
- package/dist/types/webSocket/request/index.d.ts +3 -0
- package/dist/types/webSocket/request/index.d.ts.map +1 -0
- package/dist/types/webSocket/request/index.js +5 -0
- package/dist/types/webSocket/request/request.d.ts +137 -0
- package/dist/types/webSocket/request/request.d.ts.map +1 -0
- package/dist/types/webSocket/request/request.js +2 -0
- package/dist/types/webSocket/request/subscriptions.d.ts +498 -0
- package/dist/types/webSocket/request/subscriptions.d.ts.map +1 -0
- package/dist/types/webSocket/request/subscriptions.js +2 -0
- package/dist/types/webSocket/response/candles.d.ts +138 -0
- package/dist/types/webSocket/response/candles.d.ts.map +1 -0
- package/dist/types/webSocket/response/candles.js +2 -0
- package/dist/types/webSocket/response/deposits.d.ts +80 -0
- package/dist/types/webSocket/response/deposits.d.ts.map +1 -0
- package/dist/types/webSocket/response/deposits.js +2 -0
- package/dist/types/webSocket/response/fundingPayments.d.ts +78 -0
- package/dist/types/webSocket/response/fundingPayments.d.ts.map +1 -0
- package/dist/types/webSocket/response/fundingPayments.js +2 -0
- package/dist/types/webSocket/response/index.d.ts +13 -0
- package/dist/types/webSocket/response/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/index.js +15 -0
- package/dist/types/webSocket/response/liquidations.d.ts +78 -0
- package/dist/types/webSocket/response/liquidations.d.ts.map +1 -0
- package/dist/types/webSocket/response/liquidations.js +2 -0
- package/dist/types/webSocket/response/orderbook.d.ts +214 -0
- package/dist/types/webSocket/response/orderbook.d.ts.map +1 -0
- package/dist/types/webSocket/response/orderbook.js +2 -0
- package/dist/types/webSocket/response/orders.d.ts +355 -0
- package/dist/types/webSocket/response/orders.d.ts.map +1 -0
- package/dist/types/webSocket/response/orders.js +2 -0
- package/dist/types/webSocket/response/ordersFill.d.ts +138 -0
- package/dist/types/webSocket/response/ordersFill.d.ts.map +1 -0
- package/dist/types/webSocket/response/ordersFill.js +2 -0
- package/dist/types/webSocket/response/positions.d.ts +120 -0
- package/dist/types/webSocket/response/positions.d.ts.map +1 -0
- package/dist/types/webSocket/response/positions.js +2 -0
- package/dist/types/webSocket/response/tickers.d.ts +131 -0
- package/dist/types/webSocket/response/tickers.d.ts.map +1 -0
- package/dist/types/webSocket/response/tickers.js +2 -0
- package/dist/types/webSocket/response/trades.d.ts +90 -0
- package/dist/types/webSocket/response/trades.d.ts.map +1 -0
- package/dist/types/webSocket/response/trades.js +2 -0
- package/dist/types/webSocket/response/webclient/base.d.ts +24 -0
- package/dist/types/webSocket/response/webclient/base.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/base.js +2 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts +31 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.js +2 -0
- package/dist/types/webSocket/response/webclient/events/index.d.ts +4 -0
- package/dist/types/webSocket/response/webclient/events/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/index.js +6 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts +17 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.js +2 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts +76 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.js +2 -0
- package/dist/types/webSocket/response/webclient/index.d.ts +3 -0
- package/dist/types/webSocket/response/webclient/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/index.js +5 -0
- package/dist/types/webSocket/response/webclient/webclient.d.ts +13 -0
- package/dist/types/webSocket/response/webclient/webclient.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/webclient.js +2 -0
- package/dist/types/webSocket/response/withdrawals.d.ts +83 -0
- package/dist/types/webSocket/response/withdrawals.d.ts.map +1 -0
- package/dist/types/webSocket/response/withdrawals.js +2 -0
- package/dist/utils.d.ts +63 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +136 -0
- package/package.json +200 -0
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadExchangeResponseFromApiIfNeeded = exports.RestPublicClient = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const http = tslib_1.__importStar(require("http"));
|
|
6
|
+
const https = tslib_1.__importStar(require("https"));
|
|
7
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
8
|
+
const _constants_1 = require("#constants");
|
|
9
|
+
const _utils_1 = require("#utils");
|
|
10
|
+
/**
|
|
11
|
+
* The {@link RestPublicClient} is used to make public requests to the Katana Perps API. It does not require
|
|
12
|
+
* any special options to access.
|
|
13
|
+
*
|
|
14
|
+
* - An {@link RestPublicClientOptions.apiKey apiKey} can be provided
|
|
15
|
+
* to increase rate limits.
|
|
16
|
+
* - Optionally, a {@link RestPublicClientOptions.sandbox sandbox} option can
|
|
17
|
+
* be set to `true` in order to point to the Katana Perps Sandbox API.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { RestPublicClient } from '@katanaperps/katana-perps-sdk';
|
|
22
|
+
*
|
|
23
|
+
* // works without any options
|
|
24
|
+
* // const publicClient = new RestPublicClient();
|
|
25
|
+
*
|
|
26
|
+
* const publicClient = new RestPublicClient({
|
|
27
|
+
* sandbox: true,
|
|
28
|
+
* // Optionally provide an API key to increase rate limits
|
|
29
|
+
* apiKey: '1f7c4f52-4af7-4e1b-aa94-94fac8d931aa',
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* const tickers = await publicClient.getTickers('ETH-USD');
|
|
33
|
+
* console.log('Tickers: ', tickers);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* <br />
|
|
37
|
+
*
|
|
38
|
+
* ---
|
|
39
|
+
*
|
|
40
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html)
|
|
41
|
+
* @see options {@link RestPublicClientOptions}
|
|
42
|
+
*
|
|
43
|
+
* @category API Clients
|
|
44
|
+
* @category KatanaPerps - Get Time
|
|
45
|
+
* @category KatanaPerps - Get Ping
|
|
46
|
+
* @category KatanaPerps - Get Exchange
|
|
47
|
+
* @category KatanaPerps - Get Gas Fees
|
|
48
|
+
* @category KatanaPerps - Get Markets
|
|
49
|
+
* @category KatanaPerps - Get Tickers
|
|
50
|
+
* @category KatanaPerps - Get Candles
|
|
51
|
+
* @category KatanaPerps - Get Trades
|
|
52
|
+
* @category KatanaPerps - Get OrderBook
|
|
53
|
+
* @category KatanaPerps - Get Liquidations
|
|
54
|
+
* @category KatanaPerps - Get Funding Rates
|
|
55
|
+
*/
|
|
56
|
+
class RestPublicClient {
|
|
57
|
+
/**
|
|
58
|
+
* The {@link RestPublicClient} is used to make public requests to the Katana Perps API. It does not require
|
|
59
|
+
* any special options to access.
|
|
60
|
+
*
|
|
61
|
+
* - An {@link RestPublicClientOptions.apiKey apiKey} can be provided
|
|
62
|
+
* to increase rate limits.
|
|
63
|
+
* - Optionally, a {@link RestPublicClientOptions.sandbox sandbox} option can
|
|
64
|
+
* be set to `true` in order to point to the Katana Perps Sandbox API.
|
|
65
|
+
*
|
|
66
|
+
* @param options
|
|
67
|
+
* Options for configuring the RestPublicClient
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* import { RestPublicClient } from '@katanaperps/katana-perps-sdk';
|
|
72
|
+
*
|
|
73
|
+
* // works without any options
|
|
74
|
+
* // const publicClient = new RestPublicClient();
|
|
75
|
+
*
|
|
76
|
+
* const publicClient = new RestPublicClient({
|
|
77
|
+
* sandbox: true,
|
|
78
|
+
* // Optionally provide an API key to increase rate limits
|
|
79
|
+
* apiKey: '1f7c4f52-4af7-4e1b-aa94-94fac8d931aa',
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* const tickers = await publicClient.getTickers('ETH-USD');
|
|
83
|
+
* console.log('Tickers: ', tickers);
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* <br />
|
|
87
|
+
*
|
|
88
|
+
* ---
|
|
89
|
+
*
|
|
90
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html)
|
|
91
|
+
* @see options {@link RestPublicClientOptions}
|
|
92
|
+
*
|
|
93
|
+
* @category Constructor
|
|
94
|
+
*/
|
|
95
|
+
constructor(options = {}) {
|
|
96
|
+
const { sandbox = false } = options;
|
|
97
|
+
const baseURL = (0, _utils_1.deriveBaseURL)({
|
|
98
|
+
sandbox,
|
|
99
|
+
api: 'rest',
|
|
100
|
+
overrideBaseURL: options.baseURL ?? options.axiosConfig?.baseURL,
|
|
101
|
+
});
|
|
102
|
+
if (!baseURL) {
|
|
103
|
+
throw new Error(`Invalid configuration, baseURL could not be derived (sandbox? ${String(sandbox)})`);
|
|
104
|
+
}
|
|
105
|
+
this.#axiosConfig = Object.freeze({
|
|
106
|
+
paramsSerializer(params) {
|
|
107
|
+
return (0, _utils_1.sanitizeSearchParams)(params ?? {}).toString();
|
|
108
|
+
},
|
|
109
|
+
...(_utils_1.isNode ?
|
|
110
|
+
{
|
|
111
|
+
httpAgent: options.axiosConfig?.httpAgent ??
|
|
112
|
+
new http.Agent({ keepAlive: true }),
|
|
113
|
+
httpsAgent: options.axiosConfig?.httpsAgent ??
|
|
114
|
+
new https.Agent({ keepAlive: true }),
|
|
115
|
+
}
|
|
116
|
+
: {}),
|
|
117
|
+
...(options.axiosConfig ?? {}),
|
|
118
|
+
baseURL,
|
|
119
|
+
headers: {
|
|
120
|
+
...(options.apiKey ?
|
|
121
|
+
{
|
|
122
|
+
[_constants_1.REST_API_KEY_HEADER]: options.apiKey,
|
|
123
|
+
}
|
|
124
|
+
: {}),
|
|
125
|
+
...(options.axiosConfig?.headers ?? {}),
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
this.axios = axios_1.default.create(this.#axiosConfig);
|
|
129
|
+
}
|
|
130
|
+
#realtime = false;
|
|
131
|
+
/**
|
|
132
|
+
* Tests connectivity to the REST API
|
|
133
|
+
*
|
|
134
|
+
* ---
|
|
135
|
+
* **Endpoint Parameters**
|
|
136
|
+
*
|
|
137
|
+
* > - **HTTP Request**: `GET /v1/ping`
|
|
138
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
139
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
140
|
+
* ---
|
|
141
|
+
*
|
|
142
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#ping)
|
|
143
|
+
* @see response {@link katanaperps.RestResponseGetPing RestResponseGetPing}
|
|
144
|
+
*
|
|
145
|
+
* @category Utility
|
|
146
|
+
*/
|
|
147
|
+
async ping() {
|
|
148
|
+
return this.get('/ping');
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Returns the current server time
|
|
152
|
+
*
|
|
153
|
+
* ---
|
|
154
|
+
* **Endpoint Parameters**
|
|
155
|
+
*
|
|
156
|
+
* > - **HTTP Request**: `GET /v1/time`
|
|
157
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
158
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
159
|
+
* ---
|
|
160
|
+
*
|
|
161
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getServerTime)
|
|
162
|
+
* @see response {@link katanaperps.RestResponseGetTime RestResponseGetTime}
|
|
163
|
+
*
|
|
164
|
+
* @returns An object with the current server time in `UTC`
|
|
165
|
+
*
|
|
166
|
+
* @category Utility
|
|
167
|
+
*/
|
|
168
|
+
async getServerTime() {
|
|
169
|
+
return this.get('/time');
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns basic information about the exchange.
|
|
173
|
+
*
|
|
174
|
+
* - Some of the returned parmeters can be used to configure contract calls
|
|
175
|
+
* required for other methods.
|
|
176
|
+
*
|
|
177
|
+
* ---
|
|
178
|
+
* **Endpoint Parameters**
|
|
179
|
+
*
|
|
180
|
+
* > - **HTTP Request**: `GET /v1/exchange`
|
|
181
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
182
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
183
|
+
* ---
|
|
184
|
+
*
|
|
185
|
+
* @returns
|
|
186
|
+
* > An object matching {@link katanaperps.KatanaPerpsExchange KatanaPerpsExchange} providing properties relating
|
|
187
|
+
* to the exchange.
|
|
188
|
+
*
|
|
189
|
+
* ---
|
|
190
|
+
*
|
|
191
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getExchange)
|
|
192
|
+
* @see response {@link katanaperps.RestResponseGetExchange RestResponseGetExchange}
|
|
193
|
+
*
|
|
194
|
+
* @category Exchange Data
|
|
195
|
+
*/
|
|
196
|
+
async getExchange() {
|
|
197
|
+
return this.get('/exchange');
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Returns estimated gas fees by bridge and target chain
|
|
201
|
+
*
|
|
202
|
+
* ---
|
|
203
|
+
* **Endpoint Parameters**
|
|
204
|
+
*
|
|
205
|
+
* > - **HTTP Request**: `GET /v1/gasFees`
|
|
206
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
207
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
208
|
+
* ---
|
|
209
|
+
*
|
|
210
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getGasFees)
|
|
211
|
+
* @see response {@link katanaperps.RestResponseGetGasFees RestResponseGetGasFees}
|
|
212
|
+
* @see type {@link katanaperps.KatanaPerpsGasFees KatanaPerpsGasFees}
|
|
213
|
+
*
|
|
214
|
+
* @category Exchange Data
|
|
215
|
+
*/
|
|
216
|
+
async getGasFees() {
|
|
217
|
+
return this.get('/gasFees');
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Returns information about the currently listed markets
|
|
221
|
+
*
|
|
222
|
+
* - Optionally filter for a specific market by providing a `market` request
|
|
223
|
+
* parameter.
|
|
224
|
+
*
|
|
225
|
+
* ---
|
|
226
|
+
* **Endpoint Parameters**
|
|
227
|
+
*
|
|
228
|
+
* > - **HTTP Request**: `GET /v1/markets`
|
|
229
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
230
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
231
|
+
* ---
|
|
232
|
+
*
|
|
233
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getMarkets)
|
|
234
|
+
* @see request {@link katanaperps.RestRequestGetMarkets RestRequestGetMarkets}
|
|
235
|
+
* @see response {@link katanaperps.RestResponseGetMarkets RestResponseGetMarkets}
|
|
236
|
+
* @see type {@link katanaperps.KatanaPerpsMarket KatanaPerpsMarket}
|
|
237
|
+
*
|
|
238
|
+
* @category Exchange Data
|
|
239
|
+
*/
|
|
240
|
+
async getMarkets(params) {
|
|
241
|
+
return this.get('/markets', params);
|
|
242
|
+
}
|
|
243
|
+
// Market Data Endpoints
|
|
244
|
+
/**
|
|
245
|
+
* Returns market statistics for the trailing 24-hour period
|
|
246
|
+
*
|
|
247
|
+
* - **TIP:** Automatic ticker updates are avilable via the WebSocket API tickers subscription,
|
|
248
|
+
* which is both faster and more efficient than polling this endpoint!
|
|
249
|
+
*
|
|
250
|
+
* ---
|
|
251
|
+
* **Endpoint Parameters**
|
|
252
|
+
*
|
|
253
|
+
* > - **HTTP Request**: `GET /v1/tickers`
|
|
254
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
255
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
256
|
+
* ---
|
|
257
|
+
*
|
|
258
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getTickers)
|
|
259
|
+
* @see request {@link katanaperps.RestRequestGetTickers RestRequestGetTickers}
|
|
260
|
+
* @see response {@link katanaperps.RestResponseGetTickers RestResponseGetTickers}
|
|
261
|
+
* @see type {@link katanaperps.KatanaPerpsTicker KatanaPerpsTicker}
|
|
262
|
+
*
|
|
263
|
+
* @category Exchange Data
|
|
264
|
+
*/
|
|
265
|
+
async getTickers(params) {
|
|
266
|
+
return this.get('/tickers', params);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Returns candle (OHLCV) data for a market
|
|
270
|
+
*
|
|
271
|
+
* - For autocompletion and inline documentation, use the {@link katanaperps.CandleInterval CandleInterval} enum
|
|
272
|
+
* when specifying the `interval` property (see example)
|
|
273
|
+
* - **TIP:** Automatic candle updates are avilable via the WebSocket API candles subscription,
|
|
274
|
+
* which is both faster and more efficient than polling this endpoint!
|
|
275
|
+
*
|
|
276
|
+
* ---
|
|
277
|
+
* **Endpoint Parameters**
|
|
278
|
+
*
|
|
279
|
+
* > - **HTTP Request**: `GET /v1/candles`
|
|
280
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
281
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
282
|
+
* > - **Pagination:**
|
|
283
|
+
* > {@link katanaperps.RestRequestPagination.start start},
|
|
284
|
+
* > {@link katanaperps.RestRequestPagination.end end},
|
|
285
|
+
* > {@link katanaperps.RestRequestPagination.limit limit}
|
|
286
|
+
* ---
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* import { RestPublicClient, CandleInterval } from '@katanaperps/katana-perps-sdk';
|
|
291
|
+
*
|
|
292
|
+
* const client = new RestPublicClient();
|
|
293
|
+
*
|
|
294
|
+
* const candles = await client.getCandles({
|
|
295
|
+
* market: 'ETH-USD',
|
|
296
|
+
* interval: CandleInterval.ONE_MINUTE
|
|
297
|
+
* })
|
|
298
|
+
* ```
|
|
299
|
+
*
|
|
300
|
+
* <br />
|
|
301
|
+
*
|
|
302
|
+
* ---
|
|
303
|
+
*
|
|
304
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getCandles)
|
|
305
|
+
* @see request {@link katanaperps.RestRequestGetCandles RestRequestGetCandles}
|
|
306
|
+
* @see response {@link katanaperps.RestResponseGetCandles RestResponseGetCandles}
|
|
307
|
+
* @see type {@link katanaperps.KatanaPerpsCandle KatanaPerpsCandle}
|
|
308
|
+
*
|
|
309
|
+
* @category Exchange Data
|
|
310
|
+
*/
|
|
311
|
+
async getCandles(params) {
|
|
312
|
+
return this.get('/candles', params);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Returns trade data for a market. In this documentation, "trades" refers to public information about trades, whereas "fills" refers to detailed non-public information about trades resulting from orders placed by the API account.
|
|
316
|
+
*
|
|
317
|
+
* - **TIP:** Automatic trades updates are available via the WebSocket API trades subscription,
|
|
318
|
+
* which is both faster and more efficient than polling this endpoint!
|
|
319
|
+
* - **TIP:** There is also a call on the authenticated client {@link katanaPerps.RestAuthenticatedClient.getFills RestAuthenticatedClient.getFills}
|
|
320
|
+
* which includes the {@link katanaperps.KatanaPerpsFill KatanaPerpsFill} properties, if required.
|
|
321
|
+
*
|
|
322
|
+
* ---
|
|
323
|
+
* **Endpoint Parameters**
|
|
324
|
+
*
|
|
325
|
+
* > - **HTTP Request**: `GET /v1/trades`
|
|
326
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
327
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
328
|
+
* > - **Pagination:**
|
|
329
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.start start},
|
|
330
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.end end},
|
|
331
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.limit limit},
|
|
332
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.fromId fromId}
|
|
333
|
+
* ---
|
|
334
|
+
*
|
|
335
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getTrades)
|
|
336
|
+
* @see request {@link katanaperps.RestRequestGetTrades RestRequestGetTrades}
|
|
337
|
+
* @see response {@link katanaperps.RestResponseGetTrades RestResponseGetTrades}
|
|
338
|
+
* @see type {@link katanaperps.KatanaPerpsTrade KatanaPerpsTrade}
|
|
339
|
+
* @see related {@link katanaPerps.RestAuthenticatedClient.getFills RestAuthenticatedClient.getFills}
|
|
340
|
+
*
|
|
341
|
+
* @category Exchange Data
|
|
342
|
+
*/
|
|
343
|
+
async getTrades(params) {
|
|
344
|
+
return this.get('/trades', params);
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Returns a level-1 order book of a market.
|
|
348
|
+
*
|
|
349
|
+
* ---
|
|
350
|
+
* **Endpoint Parameters**
|
|
351
|
+
*
|
|
352
|
+
* > - **HTTP Request**: `GET /v1/orderbook`
|
|
353
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
354
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
355
|
+
* > - **Pagination:**
|
|
356
|
+
* > {@link katanaperps.RestRequestPagination.limit limit},
|
|
357
|
+
* ---
|
|
358
|
+
*
|
|
359
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getOrderBookLevel1)
|
|
360
|
+
* @see request {@link katanaperps.RestRequestGetOrderBookLevel1 RestRequestGetOrderBookLevel1}
|
|
361
|
+
* @see response {@link katanaperps.RestResponseGetOrderBookLevel1 RestResponseGetOrderBookLevel1}
|
|
362
|
+
* @see related {@link getOrderBookLevel2 client.getOrderBookLevel2}
|
|
363
|
+
*
|
|
364
|
+
* @category Exchange Data
|
|
365
|
+
*/
|
|
366
|
+
async getOrderBookLevel1(params) {
|
|
367
|
+
return this.get('/orderbook', {
|
|
368
|
+
...params,
|
|
369
|
+
level: 1,
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Get current order book price levels for a market
|
|
374
|
+
*
|
|
375
|
+
* ---
|
|
376
|
+
* **Endpoint Parameters**
|
|
377
|
+
*
|
|
378
|
+
* > - **HTTP Request**: `GET /v1/orderbook`
|
|
379
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
380
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
381
|
+
* > - **Pagination:**
|
|
382
|
+
* > {@link katanaperps.RestRequestPagination.limit limit},
|
|
383
|
+
* ---
|
|
384
|
+
*
|
|
385
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getOrderBookLevel2)
|
|
386
|
+
* @see request {@link katanaperps.RestRequestGetOrderBookLevel2 RestRequestGetOrderBookLevel2}
|
|
387
|
+
* @see response {@link katanaperps.RestResponseGetOrderBookLevel2 RestResponseGetOrderBookLevel2}
|
|
388
|
+
* @see related {@link getOrderBookLevel1 client.getOrderBookLevel1}
|
|
389
|
+
*
|
|
390
|
+
* @category Exchange Data
|
|
391
|
+
*/
|
|
392
|
+
async getOrderBookLevel2(params) {
|
|
393
|
+
return this.get('/orderbook', {
|
|
394
|
+
...params,
|
|
395
|
+
level: 2,
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Get liquidations for a market
|
|
400
|
+
*
|
|
401
|
+
* ---
|
|
402
|
+
* **Endpoint Parameters**
|
|
403
|
+
*
|
|
404
|
+
* > - **HTTP Request**: `GET /v1/liquidations`
|
|
405
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
406
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
407
|
+
* > - **Pagination:**
|
|
408
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.start start},
|
|
409
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.end end},
|
|
410
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.limit limit},
|
|
411
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.fromId fromId}
|
|
412
|
+
* ---
|
|
413
|
+
*
|
|
414
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getLiquidations)
|
|
415
|
+
* @see request {@link katanaperps.RestRequestGetLiquidations RestRequestGetLiquidations}
|
|
416
|
+
* @see response {@link katanaperps.RestResponseGetLiquidations RestResponseGetLiquidations}
|
|
417
|
+
* @see type {@link katanaperps.KatanaPerpsLiquidation KatanaPerpsLiquidation}
|
|
418
|
+
*
|
|
419
|
+
* @category Exchange Data
|
|
420
|
+
*/
|
|
421
|
+
async getLiquidations(params) {
|
|
422
|
+
return this.get('/liquidations', params);
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Get Funding Rates
|
|
426
|
+
*
|
|
427
|
+
* ---
|
|
428
|
+
* **Endpoint Parameters**
|
|
429
|
+
*
|
|
430
|
+
* > - **HTTP Request**: `GET /v1/fundingRates`
|
|
431
|
+
* > - **Endpoint Security:** [Public](https://api-docs-v1-perps.katana.network/#endpointSecurityPublic)
|
|
432
|
+
* > - **API Key Scope:** [None](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
433
|
+
* > - **Pagination:**
|
|
434
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.start start},
|
|
435
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.end end},
|
|
436
|
+
* > {@link katanaperps.RestRequestPaginationWithFromId.limit limit}
|
|
437
|
+
* ---
|
|
438
|
+
*
|
|
439
|
+
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestPublicClient.html#getFundingRates)
|
|
440
|
+
* @see request {@link katanaperps.RestRequestGetFundingRates RestRequestGetFundingRates}
|
|
441
|
+
* @see response {@link katanaperps.RestResponseGetFundingRates RestResponseGetFundingRates}
|
|
442
|
+
* @see type {@link katanaperps.KatanaPerpsFundingRate KatanaPerpsFundingRate}
|
|
443
|
+
*
|
|
444
|
+
* @category Exchange Data
|
|
445
|
+
*/
|
|
446
|
+
async getFundingRates(params) {
|
|
447
|
+
return this.get('/fundingRates', params);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* - All requests within the internal symbol are undocumented internal methods which may change or be removed without notice.
|
|
451
|
+
* - API handling of the parameters used within these methods is likely to change without notice without changes to the SDK to match.
|
|
452
|
+
* - These methods or parameters may require additional permissions to use and result in errors or blocking of your request if used.
|
|
453
|
+
* - If you need to use these methods for your use case, please contact support to discuss your requirements before using them.
|
|
454
|
+
*
|
|
455
|
+
* @internal
|
|
456
|
+
*/
|
|
457
|
+
[_utils_1.INTERNAL_SYMBOL] = Object.freeze({
|
|
458
|
+
realtime: () => {
|
|
459
|
+
this.#realtime = true;
|
|
460
|
+
},
|
|
461
|
+
});
|
|
462
|
+
// Internal methods exposed for advanced usage.
|
|
463
|
+
async get(endpoint, params, axiosConfig = {}) {
|
|
464
|
+
return (await this.request(endpoint, {
|
|
465
|
+
...axiosConfig,
|
|
466
|
+
method: 'GET',
|
|
467
|
+
url: endpoint,
|
|
468
|
+
params: new URLSearchParams(params),
|
|
469
|
+
})).data;
|
|
470
|
+
}
|
|
471
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
472
|
+
request(endpoint, config) {
|
|
473
|
+
const request = {
|
|
474
|
+
...config,
|
|
475
|
+
headers: config.headers ?? {},
|
|
476
|
+
url: endpoint,
|
|
477
|
+
};
|
|
478
|
+
if (this.#realtime && !request.headers['KP-Web-Client']) {
|
|
479
|
+
request.headers['KP-Web-Client'] = 'realtime-sdk';
|
|
480
|
+
}
|
|
481
|
+
return this.axios(request);
|
|
482
|
+
}
|
|
483
|
+
axios;
|
|
484
|
+
#axiosConfig;
|
|
485
|
+
}
|
|
486
|
+
exports.RestPublicClient = RestPublicClient;
|
|
487
|
+
const EXCHANGE_RESPONSE_CACHE_DURATION_MS = 300_000;
|
|
488
|
+
let cachedExchangeResponse;
|
|
489
|
+
let exchangeResponseCachedAt = 0;
|
|
490
|
+
async function loadExchangeResponseFromApiIfNeeded(opts) {
|
|
491
|
+
const client = new RestPublicClient(opts);
|
|
492
|
+
const now = Date.now();
|
|
493
|
+
const cachedValueIsStale = now - exchangeResponseCachedAt > EXCHANGE_RESPONSE_CACHE_DURATION_MS;
|
|
494
|
+
const exchange = !cachedExchangeResponse || cachedValueIsStale ?
|
|
495
|
+
await client.getExchange()
|
|
496
|
+
: cachedExchangeResponse;
|
|
497
|
+
cachedExchangeResponse = exchange;
|
|
498
|
+
exchangeResponseCachedAt =
|
|
499
|
+
cachedValueIsStale ? now : exchangeResponseCachedAt;
|
|
500
|
+
return [exchange, client];
|
|
501
|
+
}
|
|
502
|
+
exports.loadExchangeResponseFromApiIfNeeded = loadExchangeResponseFromApiIfNeeded;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type KatanaPerpsSubscribeTypeAuthenticated, type KatanaPerpsSubscribeTypePublic, type KatanaPerpsSubscribeType, type WebSocketClientOptionsPublicOnly, type WebSocketClientOptionsWithAPIKey, type WebSocketClientOptionsWithFetch, type WebSocketClientOptionsBase, type WebSocketSubscriptionShortNameAuthenticated, type WebSocketSubscriptionShortNamePublic } from '#types/webSocket/index';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*
|
|
5
|
+
* A type guard that checks if a given value is a subscription object which represents
|
|
6
|
+
* an authenticated subscription. These subscriptions require the `wallet` property
|
|
7
|
+
* (local to katana-perps-sdk only) and require that the `WebSocketClient` was created
|
|
8
|
+
* with the `websocketAuthTokenFetch` function provided.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isWebSocketAuthenticatedSubscription(subscription: KatanaPerpsSubscribeType | WebSocketSubscriptionShortNameAuthenticated | WebSocketSubscriptionShortNamePublic, walletAuthAvailable?: boolean): subscription is KatanaPerpsSubscribeTypeAuthenticated;
|
|
11
|
+
export declare function isWebSocketPublicSubscription(subscription: KatanaPerpsSubscribeType | WebSocketSubscriptionShortNamePublic | WebSocketSubscriptionShortNameAuthenticated): subscription is KatanaPerpsSubscribeTypePublic;
|
|
12
|
+
export declare function isWebSocketOptionsPublicOnly(options: WebSocketClientOptionsBase): options is WebSocketClientOptionsPublicOnly;
|
|
13
|
+
export declare function isWebSocketOptionsAutoFetch(options: WebSocketClientOptionsBase): options is WebSocketClientOptionsWithAPIKey;
|
|
14
|
+
export declare function isWebSocketOptionsCustomFetch(options: WebSocketClientOptionsBase): options is WebSocketClientOptionsWithFetch;
|
|
15
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../src/client/webSocket/guards.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,2CAA2C,EAChD,KAAK,oCAAoC,EAG1C,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAClD,YAAY,EACR,wBAAwB,GACxB,2CAA2C,GAC3C,oCAAoC,EACxC,mBAAmB,GAAE,OAAe,GACnC,YAAY,IAAI,qCAAqC,CAWvD;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EACR,wBAAwB,GACxB,oCAAoC,GACpC,2CAA2C,GAC9C,YAAY,IAAI,8BAA8B,CAOhD;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,0BAA0B,GAClC,OAAO,IAAI,gCAAgC,CAE7C;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,OAAO,IAAI,gCAAgC,CAE7C;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,GAClC,OAAO,IAAI,+BAA+B,CAE5C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isWebSocketOptionsCustomFetch = exports.isWebSocketOptionsAutoFetch = exports.isWebSocketOptionsPublicOnly = exports.isWebSocketPublicSubscription = exports.isWebSocketAuthenticatedSubscription = void 0;
|
|
4
|
+
const index_1 = require("#types/webSocket/index");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*
|
|
8
|
+
* A type guard that checks if a given value is a subscription object which represents
|
|
9
|
+
* an authenticated subscription. These subscriptions require the `wallet` property
|
|
10
|
+
* (local to katana-perps-sdk only) and require that the `WebSocketClient` was created
|
|
11
|
+
* with the `websocketAuthTokenFetch` function provided.
|
|
12
|
+
*/
|
|
13
|
+
function isWebSocketAuthenticatedSubscription(subscription, walletAuthAvailable = false) {
|
|
14
|
+
const name = typeof subscription === 'string' ? subscription : subscription?.name;
|
|
15
|
+
if (name === 'webclient') {
|
|
16
|
+
return walletAuthAvailable;
|
|
17
|
+
}
|
|
18
|
+
return index_1.WebSocketSubscriptionShortNamesAuthenticated.includes(name);
|
|
19
|
+
}
|
|
20
|
+
exports.isWebSocketAuthenticatedSubscription = isWebSocketAuthenticatedSubscription;
|
|
21
|
+
function isWebSocketPublicSubscription(subscription) {
|
|
22
|
+
const name = typeof subscription === 'string' ? subscription : subscription?.name;
|
|
23
|
+
return index_1.WebSocketSubscriptionShortNamesPublic.includes(name);
|
|
24
|
+
}
|
|
25
|
+
exports.isWebSocketPublicSubscription = isWebSocketPublicSubscription;
|
|
26
|
+
function isWebSocketOptionsPublicOnly(options) {
|
|
27
|
+
return !options.auth && !options.wallet && !options.websocketAuthTokenFetch;
|
|
28
|
+
}
|
|
29
|
+
exports.isWebSocketOptionsPublicOnly = isWebSocketOptionsPublicOnly;
|
|
30
|
+
function isWebSocketOptionsAutoFetch(options) {
|
|
31
|
+
return !!options.auth && !options.websocketAuthTokenFetch;
|
|
32
|
+
}
|
|
33
|
+
exports.isWebSocketOptionsAutoFetch = isWebSocketOptionsAutoFetch;
|
|
34
|
+
function isWebSocketOptionsCustomFetch(options) {
|
|
35
|
+
return !!options.websocketAuthTokenFetch && !options.auth && !!options.wallet;
|
|
36
|
+
}
|
|
37
|
+
exports.isWebSocketOptionsCustomFetch = isWebSocketOptionsCustomFetch;
|