@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,3 @@
|
|
|
1
|
+
import type * as katanaPerps from '#types/index';
|
|
2
|
+
export declare const transformWebsocketShortResponseMessage: (message: katanaPerps.KatanaPerpsErrorEvent | katanaPerps.KatanaPerpsSubscriptionsListEvent | katanaPerps.WebSocketResponseSubscriptionMessageShort) => katanaPerps.KatanaPerpsMessageEvent;
|
|
3
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/client/webSocket/transform.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,WAAW,MAAM,cAAc,CAAC;AAwPjD,eAAO,MAAM,sCAAsC,YAE7C,YAAY,qBAAqB,GACjC,YAAY,iCAAiC,GAC7C,YAAY,yCAAyC,KACxD,YAAY,uBA8Cd,CAAC"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformWebsocketShortResponseMessage = void 0;
|
|
4
|
+
const _utils_1 = require("#utils");
|
|
5
|
+
const response_1 = require("#types/enums/response");
|
|
6
|
+
function removeUndefinedFromObj(obj) {
|
|
7
|
+
return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v !== undefined));
|
|
8
|
+
}
|
|
9
|
+
const transformTickersMessage = (short) => removeUndefinedFromObj({
|
|
10
|
+
market: short.m,
|
|
11
|
+
time: short.t,
|
|
12
|
+
open: short.o,
|
|
13
|
+
high: short.h,
|
|
14
|
+
low: short.l,
|
|
15
|
+
close: short.c,
|
|
16
|
+
closeQuantity: short.Q,
|
|
17
|
+
baseVolume: short.v,
|
|
18
|
+
quoteVolume: short.q,
|
|
19
|
+
percentChange: short.P,
|
|
20
|
+
trades: short.n,
|
|
21
|
+
ask: short.a,
|
|
22
|
+
bid: short.b,
|
|
23
|
+
markPrice: short.mp,
|
|
24
|
+
indexPrice: short.ip,
|
|
25
|
+
indexPrice24h: short.id,
|
|
26
|
+
indexPricePercentChange: short.iP,
|
|
27
|
+
lastFundingRate: short.lf,
|
|
28
|
+
currentFundingRate: short.nf,
|
|
29
|
+
nextFundingTime: short.ft,
|
|
30
|
+
openInterest: short.oi,
|
|
31
|
+
sequence: short.u,
|
|
32
|
+
});
|
|
33
|
+
const transformTradesMessage = (short) => removeUndefinedFromObj({
|
|
34
|
+
market: short.m,
|
|
35
|
+
fillId: short.i,
|
|
36
|
+
price: short.p,
|
|
37
|
+
quantity: short.q,
|
|
38
|
+
quoteQuantity: short.Q,
|
|
39
|
+
time: short.t,
|
|
40
|
+
makerSide: short.s,
|
|
41
|
+
sequence: short.u,
|
|
42
|
+
});
|
|
43
|
+
const transformLiquidationsMessage = (short) => removeUndefinedFromObj({
|
|
44
|
+
market: short.m,
|
|
45
|
+
fillId: short.i,
|
|
46
|
+
price: short.p,
|
|
47
|
+
quantity: short.q,
|
|
48
|
+
quoteQuantity: short.Q,
|
|
49
|
+
time: short.t,
|
|
50
|
+
liquidationSide: short.s,
|
|
51
|
+
});
|
|
52
|
+
const transformCandlesMessage = (short) => removeUndefinedFromObj({
|
|
53
|
+
market: short.m,
|
|
54
|
+
time: short.t,
|
|
55
|
+
interval: short.i,
|
|
56
|
+
start: short.s,
|
|
57
|
+
end: short.e,
|
|
58
|
+
open: short.o,
|
|
59
|
+
high: short.h,
|
|
60
|
+
low: short.l,
|
|
61
|
+
close: short.c,
|
|
62
|
+
baseVolume: short.v,
|
|
63
|
+
quoteVolume: short.q,
|
|
64
|
+
trades: short.n,
|
|
65
|
+
sequence: short.u,
|
|
66
|
+
});
|
|
67
|
+
const transformL1orderbookMessage = (short) => removeUndefinedFromObj({
|
|
68
|
+
market: short.m,
|
|
69
|
+
time: short.t,
|
|
70
|
+
bidPrice: short.b,
|
|
71
|
+
bidQuantity: short.B,
|
|
72
|
+
askPrice: short.a,
|
|
73
|
+
askQuantity: short.A,
|
|
74
|
+
lastPrice: short.lp,
|
|
75
|
+
markPrice: short.mp,
|
|
76
|
+
indexPrice: short.ip,
|
|
77
|
+
});
|
|
78
|
+
const transformL2orderbookMessage = (short) => removeUndefinedFromObj({
|
|
79
|
+
market: short.m,
|
|
80
|
+
time: short.t,
|
|
81
|
+
sequence: short.u,
|
|
82
|
+
...(short.b && { bids: short.b }),
|
|
83
|
+
...(short.a && { asks: short.a }),
|
|
84
|
+
lastPrice: short.lp,
|
|
85
|
+
markPrice: short.mp,
|
|
86
|
+
indexPrice: short.ip,
|
|
87
|
+
});
|
|
88
|
+
function transformOrderFill(short) {
|
|
89
|
+
return removeUndefinedFromObj({
|
|
90
|
+
type: short.y,
|
|
91
|
+
fillId: short.i,
|
|
92
|
+
price: short.p,
|
|
93
|
+
quantity: short.q,
|
|
94
|
+
quoteQuantity: short.Q,
|
|
95
|
+
realizedPnL: short.rn,
|
|
96
|
+
time: short.t,
|
|
97
|
+
...(isWebSocketResponseOrderFillShortGeneral(short) ?
|
|
98
|
+
{
|
|
99
|
+
makerSide: short.s,
|
|
100
|
+
sequence: short.u,
|
|
101
|
+
}
|
|
102
|
+
: {}),
|
|
103
|
+
fee: short.f,
|
|
104
|
+
...(isWebSocketResponseOrderFillShortGeneral(short) ?
|
|
105
|
+
{
|
|
106
|
+
liquidity: short.l,
|
|
107
|
+
}
|
|
108
|
+
: {}),
|
|
109
|
+
action: short.a,
|
|
110
|
+
position: short.P,
|
|
111
|
+
txId: short.T,
|
|
112
|
+
txStatus: short.S,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function transformOrdersMessage(short) {
|
|
116
|
+
if (!short.o) {
|
|
117
|
+
return removeUndefinedFromObj({
|
|
118
|
+
market: short.m,
|
|
119
|
+
wallet: short.w,
|
|
120
|
+
executionTime: short.t,
|
|
121
|
+
side: short.s,
|
|
122
|
+
// should only include a single fill but we map for future compat
|
|
123
|
+
fills: short.F.map(transformOrderFill),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return removeUndefinedFromObj({
|
|
127
|
+
market: short.m,
|
|
128
|
+
orderId: short.i,
|
|
129
|
+
clientOrderId: short.c,
|
|
130
|
+
wallet: short.w,
|
|
131
|
+
executionTime: short.t,
|
|
132
|
+
time: short.T,
|
|
133
|
+
update: short.x,
|
|
134
|
+
status: short.X,
|
|
135
|
+
sequence: short.u,
|
|
136
|
+
errorCode: short.ec,
|
|
137
|
+
errorMessage: short.em,
|
|
138
|
+
type: short.o,
|
|
139
|
+
subType: short.O,
|
|
140
|
+
side: short.s,
|
|
141
|
+
originalQuantity: short.q,
|
|
142
|
+
executedQuantity: short.z,
|
|
143
|
+
cumulativeQuoteQuantity: short.Z,
|
|
144
|
+
avgExecutionPrice: short.v,
|
|
145
|
+
price: short.p,
|
|
146
|
+
triggerPrice: short.P,
|
|
147
|
+
triggerType: short.tt,
|
|
148
|
+
// callbackRate: short.cr,
|
|
149
|
+
conditionalOrderId: short.ci,
|
|
150
|
+
reduceOnly: short.r,
|
|
151
|
+
timeInForce: short.f,
|
|
152
|
+
selfTradePrevention: short.V,
|
|
153
|
+
delegatedKey: short.dk,
|
|
154
|
+
isLiquidationAcquisitionOnly: short.la,
|
|
155
|
+
...(short.F && { fills: short.F.map(transformOrderFill) }),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
const transformDepositsMessage = (short) => removeUndefinedFromObj({
|
|
159
|
+
wallet: short.w,
|
|
160
|
+
depositId: short.i,
|
|
161
|
+
asset: short.a,
|
|
162
|
+
quantity: short.q,
|
|
163
|
+
quoteBalance: short.qb,
|
|
164
|
+
time: short.t,
|
|
165
|
+
});
|
|
166
|
+
const transformWithdrawalsMessage = (short) => removeUndefinedFromObj({
|
|
167
|
+
wallet: short.w,
|
|
168
|
+
withdrawalId: short.i,
|
|
169
|
+
asset: short.a,
|
|
170
|
+
quantity: short.q,
|
|
171
|
+
gas: short.g,
|
|
172
|
+
quoteBalance: short.qb,
|
|
173
|
+
time: short.t,
|
|
174
|
+
});
|
|
175
|
+
const transformPositionsMessage = (short) => removeUndefinedFromObj({
|
|
176
|
+
wallet: short.w,
|
|
177
|
+
market: short.m,
|
|
178
|
+
status: short.X,
|
|
179
|
+
quantity: short.q,
|
|
180
|
+
maximumQuantity: short.mq,
|
|
181
|
+
entryPrice: short.np,
|
|
182
|
+
exitPrice: short.xp,
|
|
183
|
+
realizedPnL: short.rn,
|
|
184
|
+
totalFunding: short.f,
|
|
185
|
+
totalOpen: short.to,
|
|
186
|
+
totalClose: short.tc,
|
|
187
|
+
openedByFillId: short.of,
|
|
188
|
+
lastFillId: short.lf,
|
|
189
|
+
quoteBalance: short.qb,
|
|
190
|
+
time: short.t,
|
|
191
|
+
});
|
|
192
|
+
const transformFundingPaymentsMessage = (short) => removeUndefinedFromObj({
|
|
193
|
+
wallet: short.w,
|
|
194
|
+
market: short.m,
|
|
195
|
+
paymentQuantity: short.Q,
|
|
196
|
+
positionQuantity: short.q,
|
|
197
|
+
fundingRate: short.f,
|
|
198
|
+
indexPrice: short.ip,
|
|
199
|
+
time: short.t,
|
|
200
|
+
});
|
|
201
|
+
const transformWebsocketShortResponseMessage = (message) => {
|
|
202
|
+
if (message.type === response_1.MessageEventType.error ||
|
|
203
|
+
message.type === response_1.MessageEventType.subscriptions) {
|
|
204
|
+
return message;
|
|
205
|
+
}
|
|
206
|
+
const { type } = message;
|
|
207
|
+
switch (type) {
|
|
208
|
+
case response_1.MessageEventType.tickers:
|
|
209
|
+
return { ...message, data: transformTickersMessage(message.data) };
|
|
210
|
+
case response_1.MessageEventType.trades:
|
|
211
|
+
return { ...message, data: transformTradesMessage(message.data) };
|
|
212
|
+
case response_1.MessageEventType.liquidations:
|
|
213
|
+
return { ...message, data: transformLiquidationsMessage(message.data) };
|
|
214
|
+
case response_1.MessageEventType.candles:
|
|
215
|
+
return { ...message, data: transformCandlesMessage(message.data) };
|
|
216
|
+
case response_1.MessageEventType.l1orderbook:
|
|
217
|
+
return { ...message, data: transformL1orderbookMessage(message.data) };
|
|
218
|
+
case response_1.MessageEventType.l2orderbook:
|
|
219
|
+
return { ...message, data: transformL2orderbookMessage(message.data) };
|
|
220
|
+
case response_1.MessageEventType.orders:
|
|
221
|
+
return { ...message, data: transformOrdersMessage(message.data) };
|
|
222
|
+
case response_1.MessageEventType.deposits:
|
|
223
|
+
return { ...message, data: transformDepositsMessage(message.data) };
|
|
224
|
+
case response_1.MessageEventType.withdrawals:
|
|
225
|
+
return { ...message, data: transformWithdrawalsMessage(message.data) };
|
|
226
|
+
case response_1.MessageEventType.positions:
|
|
227
|
+
return { ...message, data: transformPositionsMessage(message.data) };
|
|
228
|
+
case response_1.MessageEventType.fundingPayments:
|
|
229
|
+
return {
|
|
230
|
+
...message,
|
|
231
|
+
data: transformFundingPaymentsMessage(message.data),
|
|
232
|
+
};
|
|
233
|
+
// due to their dynamic and internal nature, webclient events
|
|
234
|
+
// are not transformed like other messages
|
|
235
|
+
case response_1.MessageEventType.webclient:
|
|
236
|
+
return message;
|
|
237
|
+
default:
|
|
238
|
+
throw new _utils_1.UnreachableCaseError(type, 'transformWebsocketShortResponseMessage');
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
exports.transformWebsocketShortResponseMessage = transformWebsocketShortResponseMessage;
|
|
242
|
+
const isWebSocketResponseOrderFillShortGeneral = (short) => short.y !== response_1.FillType.closure &&
|
|
243
|
+
short.y !== response_1.FillType.liquidation &&
|
|
244
|
+
short.y !== response_1.FillType.deleverage;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const REST_API_KEY_HEADER = "kp-api-key";
|
|
2
|
+
export declare const REST_HMAC_SIGNATURE_HEADER = "kp-hmac-signature";
|
|
3
|
+
export declare const EIP_712_DOMAIN_NAME = "KatanaPerps";
|
|
4
|
+
export declare const EIP_712_DOMAIN_VERSION = "1.0.0";
|
|
5
|
+
export declare const EIP_712_DOMAIN_VERSION_SANDBOX = "1.0.0-sandbox";
|
|
6
|
+
export declare const VAULT_NAME_CHARACTER_LIMIT = 30;
|
|
7
|
+
export declare const VAULT_DESCRIPTION_CHARACTER_LIMIT = 2000;
|
|
8
|
+
export declare const WALLET_SIGNATURE_MESSAGE = "Sign this free message to prove you control this wallet";
|
|
9
|
+
/**
|
|
10
|
+
* The URI that will be used based on the configuration given. This includes
|
|
11
|
+
* sandbox vs production as well as the multi-verse chain that should be used
|
|
12
|
+
* (eth default for all clients).
|
|
13
|
+
*
|
|
14
|
+
* @see docs [Websocket API Interaction Docs](https://api-docs-v1-perps.katana.network/#websocket-api-interaction)
|
|
15
|
+
* @see docs [REST API Interaction Docs](https://api-docs-v1-perps.katana.network/#rest-api-interaction)
|
|
16
|
+
* @see docs [Sandbox API Docs](https://api-docs-v1-perps.katana.network/#sandbox)
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare const URLS: Readonly<{
|
|
21
|
+
readonly sandbox: {
|
|
22
|
+
readonly v1: {
|
|
23
|
+
readonly rest: "https://api-perps-sandbox.katana.network/v1";
|
|
24
|
+
readonly websocket: "wss://websocket-perps-sandbox.katana.network/v1";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly production: {
|
|
28
|
+
readonly v1: {
|
|
29
|
+
readonly rest: "https://api-perps.katana.network/v1";
|
|
30
|
+
readonly websocket: "wss://websocket-perps.katana.network/v1";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}>;
|
|
34
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAE9D,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,eAAO,MAAM,8BAA8B,kBAAkB,CAAC;AAK9D,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,eAAO,MAAM,wBAAwB,4DACsB,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;EAaN,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.URLS = exports.WALLET_SIGNATURE_MESSAGE = exports.VAULT_DESCRIPTION_CHARACTER_LIMIT = exports.VAULT_NAME_CHARACTER_LIMIT = exports.EIP_712_DOMAIN_VERSION_SANDBOX = exports.EIP_712_DOMAIN_VERSION = exports.EIP_712_DOMAIN_NAME = exports.REST_HMAC_SIGNATURE_HEADER = exports.REST_API_KEY_HEADER = void 0;
|
|
4
|
+
exports.REST_API_KEY_HEADER = 'kp-api-key';
|
|
5
|
+
exports.REST_HMAC_SIGNATURE_HEADER = 'kp-hmac-signature';
|
|
6
|
+
exports.EIP_712_DOMAIN_NAME = 'KatanaPerps';
|
|
7
|
+
exports.EIP_712_DOMAIN_VERSION = '1.0.0';
|
|
8
|
+
exports.EIP_712_DOMAIN_VERSION_SANDBOX = '1.0.0-sandbox';
|
|
9
|
+
// sdk-js-docs-v1-perps.katana.network
|
|
10
|
+
// api-docs-v1-perps.katana.network
|
|
11
|
+
exports.VAULT_NAME_CHARACTER_LIMIT = 30;
|
|
12
|
+
exports.VAULT_DESCRIPTION_CHARACTER_LIMIT = 2_000;
|
|
13
|
+
exports.WALLET_SIGNATURE_MESSAGE = 'Sign this free message to prove you control this wallet';
|
|
14
|
+
/**
|
|
15
|
+
* The URI that will be used based on the configuration given. This includes
|
|
16
|
+
* sandbox vs production as well as the multi-verse chain that should be used
|
|
17
|
+
* (eth default for all clients).
|
|
18
|
+
*
|
|
19
|
+
* @see docs [Websocket API Interaction Docs](https://api-docs-v1-perps.katana.network/#websocket-api-interaction)
|
|
20
|
+
* @see docs [REST API Interaction Docs](https://api-docs-v1-perps.katana.network/#rest-api-interaction)
|
|
21
|
+
* @see docs [Sandbox API Docs](https://api-docs-v1-perps.katana.network/#sandbox)
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
exports.URLS = Object.freeze({
|
|
26
|
+
sandbox: {
|
|
27
|
+
v1: {
|
|
28
|
+
rest: 'https://api-perps-sandbox.katana.network/v1',
|
|
29
|
+
websocket: 'wss://websocket-perps-sandbox.katana.network/v1',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
production: {
|
|
33
|
+
v1: {
|
|
34
|
+
rest: 'https://api-perps.katana.network/v1',
|
|
35
|
+
websocket: 'wss://websocket-perps.katana.network/v1',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
});
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from '#bridge/index';
|
|
2
|
+
export * from '#client/index';
|
|
3
|
+
export * from '#constants';
|
|
4
|
+
export * from '#orderbook/index';
|
|
5
|
+
export * from '#pipmath';
|
|
6
|
+
export * from '#signatures';
|
|
7
|
+
export * from '#types/index';
|
|
8
|
+
export { createDelegatedKeyWalletAndNonce, INTERNAL_SYMBOL } from '#utils';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INTERNAL_SYMBOL = exports.createDelegatedKeyWalletAndNonce = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("#bridge/index"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("#client/index"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("#constants"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("#orderbook/index"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("#pipmath"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("#signatures"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("#types/index"), exports);
|
|
12
|
+
var _utils_1 = require("#utils");
|
|
13
|
+
Object.defineProperty(exports, "createDelegatedKeyWalletAndNonce", { enumerable: true, get: function () { return _utils_1.createDelegatedKeyWalletAndNonce; } });
|
|
14
|
+
Object.defineProperty(exports, "INTERNAL_SYMBOL", { enumerable: true, get: function () { return _utils_1.INTERNAL_SYMBOL; } });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { L1OrderBook, L2OrderBook } from '#types/orderBook';
|
|
2
|
+
import type { RestResponseGetOrderBookLevel1, RestResponseGetOrderBookLevel2 } from '#types/rest/endpoints/GetOrderBook';
|
|
3
|
+
import type { KatanaPerpsOrderBookLevel2EventData } from '#types/webSocket/response/orderbook';
|
|
4
|
+
export declare function L1OrderBookToRestResponse(l1: L1OrderBook): RestResponseGetOrderBookLevel1;
|
|
5
|
+
export declare function L2OrderBookToRestResponse(l2: L2OrderBook, limit?: number): RestResponseGetOrderBookLevel2;
|
|
6
|
+
export declare function restResponseToL2OrderBook(restResponseL2: RestResponseGetOrderBookLevel2): L2OrderBook;
|
|
7
|
+
export declare function webSocketResponseToL2OrderBook(response: KatanaPerpsOrderBookLevel2EventData): L2OrderBook;
|
|
8
|
+
//# sourceMappingURL=apiConversions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiConversions.d.ts","sourceRoot":"","sources":["../../src/orderbook/apiConversions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAE/F,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,WAAW,GACd,8BAA8B,CAsBhC;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,WAAW,EACf,KAAK,SAAO,GACX,8BAA8B,CAwBhC;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,8BAA8B,GAC7C,WAAW,CAwBb;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,mCAAmC,GAC5C,WAAW,CAoBb"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webSocketResponseToL2OrderBook = exports.restResponseToL2OrderBook = exports.L2OrderBookToRestResponse = exports.L1OrderBookToRestResponse = void 0;
|
|
4
|
+
const _pipmath_1 = require("#pipmath");
|
|
5
|
+
const response_1 = require("#types/enums/response");
|
|
6
|
+
function L1OrderBookToRestResponse(l1) {
|
|
7
|
+
const asks = [
|
|
8
|
+
[
|
|
9
|
+
(0, _pipmath_1.pipToDecimal)(l1.asks.price),
|
|
10
|
+
(0, _pipmath_1.pipToDecimal)(l1.asks.size),
|
|
11
|
+
l1.asks.numOrders,
|
|
12
|
+
],
|
|
13
|
+
];
|
|
14
|
+
const bids = [
|
|
15
|
+
[
|
|
16
|
+
(0, _pipmath_1.pipToDecimal)(l1.bids.price),
|
|
17
|
+
(0, _pipmath_1.pipToDecimal)(l1.bids.size),
|
|
18
|
+
l1.bids.numOrders,
|
|
19
|
+
],
|
|
20
|
+
];
|
|
21
|
+
return {
|
|
22
|
+
...l1,
|
|
23
|
+
asks,
|
|
24
|
+
bids,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.L1OrderBookToRestResponse = L1OrderBookToRestResponse;
|
|
28
|
+
function L2OrderBookToRestResponse(l2, limit = 1000) {
|
|
29
|
+
if (limit < 2 || limit > 1000) {
|
|
30
|
+
throw new Error('limit must be between 2 and 1000');
|
|
31
|
+
}
|
|
32
|
+
const perSide = Math.ceil(limit / 2);
|
|
33
|
+
const asks = l2.asks
|
|
34
|
+
.slice(0, perSide)
|
|
35
|
+
.map((ask) => [
|
|
36
|
+
(0, _pipmath_1.pipToDecimal)(ask.price),
|
|
37
|
+
(0, _pipmath_1.pipToDecimal)(ask.size),
|
|
38
|
+
ask.numOrders,
|
|
39
|
+
]);
|
|
40
|
+
const bids = l2.bids
|
|
41
|
+
.slice(0, perSide)
|
|
42
|
+
.map((bid) => [
|
|
43
|
+
(0, _pipmath_1.pipToDecimal)(bid.price),
|
|
44
|
+
(0, _pipmath_1.pipToDecimal)(bid.size),
|
|
45
|
+
bid.numOrders,
|
|
46
|
+
]);
|
|
47
|
+
return {
|
|
48
|
+
...l2,
|
|
49
|
+
asks,
|
|
50
|
+
bids,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
exports.L2OrderBookToRestResponse = L2OrderBookToRestResponse;
|
|
54
|
+
function restResponseToL2OrderBook(restResponseL2) {
|
|
55
|
+
const type = response_1.OrderBookLevelType.limit;
|
|
56
|
+
const asks = restResponseL2.asks.map((ask) => {
|
|
57
|
+
return {
|
|
58
|
+
price: (0, _pipmath_1.decimalToPip)(ask[0]),
|
|
59
|
+
size: (0, _pipmath_1.decimalToPip)(ask[1]),
|
|
60
|
+
numOrders: ask[2],
|
|
61
|
+
type,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
const bids = restResponseL2.bids.map((bid) => {
|
|
65
|
+
return {
|
|
66
|
+
price: (0, _pipmath_1.decimalToPip)(bid[0]),
|
|
67
|
+
size: (0, _pipmath_1.decimalToPip)(bid[1]),
|
|
68
|
+
numOrders: bid[2],
|
|
69
|
+
type,
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
...restResponseL2,
|
|
74
|
+
asks,
|
|
75
|
+
bids,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
exports.restResponseToL2OrderBook = restResponseToL2OrderBook;
|
|
79
|
+
function webSocketResponseToL2OrderBook(response) {
|
|
80
|
+
return {
|
|
81
|
+
...response,
|
|
82
|
+
asks: response.asks.map((ask) => {
|
|
83
|
+
return {
|
|
84
|
+
price: (0, _pipmath_1.decimalToPip)(ask[0]),
|
|
85
|
+
size: (0, _pipmath_1.decimalToPip)(ask[1]),
|
|
86
|
+
numOrders: ask[2],
|
|
87
|
+
type: response_1.OrderBookLevelType.limit,
|
|
88
|
+
};
|
|
89
|
+
}),
|
|
90
|
+
bids: response.bids.map((bid) => {
|
|
91
|
+
return {
|
|
92
|
+
price: (0, _pipmath_1.decimalToPip)(bid[0]),
|
|
93
|
+
size: (0, _pipmath_1.decimalToPip)(bid[1]),
|
|
94
|
+
numOrders: bid[2],
|
|
95
|
+
type: response_1.OrderBookLevelType.limit,
|
|
96
|
+
};
|
|
97
|
+
}),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
exports.webSocketResponseToL2OrderBook = webSocketResponseToL2OrderBook;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/orderbook/demo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const katana_perps_sdk_1 = require("@katanaperps/katana-perps-sdk");
|
|
4
|
+
const isSandbox = true;
|
|
5
|
+
const market = 'ETH-USD';
|
|
6
|
+
const l2LevelsToDisplay = 5;
|
|
7
|
+
const client = new katana_perps_sdk_1.OrderBookRealTimeClient({
|
|
8
|
+
sandbox: isSandbox,
|
|
9
|
+
});
|
|
10
|
+
async function main() {
|
|
11
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.connected, () => {
|
|
12
|
+
console.log('ORDER BOOK CONNECTED ==========>');
|
|
13
|
+
});
|
|
14
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.disconnected, () => {
|
|
15
|
+
console.log('ORDER BOOK DISCONNECTED ==========>');
|
|
16
|
+
});
|
|
17
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.error, (e) => {
|
|
18
|
+
console.log(e);
|
|
19
|
+
});
|
|
20
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.ready, (readyMarket) => {
|
|
21
|
+
console.log('ORDER BOOK READY ==========>');
|
|
22
|
+
client.getOrderBookL2(readyMarket, l2LevelsToDisplay).then(console.log);
|
|
23
|
+
});
|
|
24
|
+
// trades generate multiple L2 events (one for token price(s), one for l2update)
|
|
25
|
+
// we can throttle updates with a dirty flag here
|
|
26
|
+
let orderBookIsDirtyL1 = false;
|
|
27
|
+
let orderBookIsDirtyL2 = false;
|
|
28
|
+
const orderBookRefreshDelay = 100;
|
|
29
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.l1, (readyMarket) => {
|
|
30
|
+
console.log('L1 EVENT ==========>');
|
|
31
|
+
if (!orderBookIsDirtyL1) {
|
|
32
|
+
orderBookIsDirtyL1 = true;
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
console.log('L1 ORDER BOOK UPDATED ==========>');
|
|
35
|
+
client.getOrderBookL1(readyMarket).then(console.log);
|
|
36
|
+
orderBookIsDirtyL1 = false;
|
|
37
|
+
}, orderBookRefreshDelay);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
client.on(katana_perps_sdk_1.OrderBookRealTimeClientEvent.l2, (readyMarket) => {
|
|
41
|
+
console.log('L2 EVENT ==========>');
|
|
42
|
+
if (!orderBookIsDirtyL2) {
|
|
43
|
+
orderBookIsDirtyL2 = true;
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
console.log('L2 ORDER BOOK UPDATED ==========>');
|
|
46
|
+
client.getOrderBookL2(readyMarket, l2LevelsToDisplay).then(console.log);
|
|
47
|
+
orderBookIsDirtyL2 = false;
|
|
48
|
+
}, orderBookRefreshDelay * 2);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
await start();
|
|
52
|
+
}
|
|
53
|
+
async function start() {
|
|
54
|
+
try {
|
|
55
|
+
await client.start([market]);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
if (e instanceof Error) {
|
|
59
|
+
console.log(`client.start ${e.name}`, e.message);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw e;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
main().catch((error) => {
|
|
67
|
+
console.error('Error During Demo Setup: ', error);
|
|
68
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orderbook/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|