@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.
Files changed (428) hide show
  1. package/.nvmrc +1 -0
  2. package/LICENSE +21 -0
  3. package/README.md +90 -0
  4. package/dist/abis/ERC20.json +288 -0
  5. package/dist/abis/EarningsEscrow.json +468 -0
  6. package/dist/abis/Exchange_v1.json +3644 -0
  7. package/dist/abis/IOFT.json +447 -0
  8. package/dist/bridge/config.d.ts +262 -0
  9. package/dist/bridge/config.d.ts.map +1 -0
  10. package/dist/bridge/config.js +221 -0
  11. package/dist/bridge/deposit.d.ts +107 -0
  12. package/dist/bridge/deposit.d.ts.map +1 -0
  13. package/dist/bridge/deposit.js +284 -0
  14. package/dist/bridge/index.d.ts +5 -0
  15. package/dist/bridge/index.d.ts.map +1 -0
  16. package/dist/bridge/index.js +7 -0
  17. package/dist/bridge/utils.d.ts +140 -0
  18. package/dist/bridge/utils.d.ts.map +1 -0
  19. package/dist/bridge/utils.js +66 -0
  20. package/dist/bridge/withdraw.d.ts +42 -0
  21. package/dist/bridge/withdraw.d.ts.map +1 -0
  22. package/dist/bridge/withdraw.js +86 -0
  23. package/dist/client/index.d.ts +4 -0
  24. package/dist/client/index.d.ts.map +1 -0
  25. package/dist/client/index.js +6 -0
  26. package/dist/client/orderBook/index.d.ts +2 -0
  27. package/dist/client/orderBook/index.d.ts.map +1 -0
  28. package/dist/client/orderBook/index.js +4 -0
  29. package/dist/client/orderBook/realTime.d.ts +180 -0
  30. package/dist/client/orderBook/realTime.d.ts.map +1 -0
  31. package/dist/client/orderBook/realTime.js +344 -0
  32. package/dist/client/orderBook/utils.d.ts +15 -0
  33. package/dist/client/orderBook/utils.d.ts.map +1 -0
  34. package/dist/client/orderBook/utils.js +77 -0
  35. package/dist/client/rest/authenticated.d.ts +1199 -0
  36. package/dist/client/rest/authenticated.d.ts.map +1 -0
  37. package/dist/client/rest/authenticated.js +1311 -0
  38. package/dist/client/rest/index.d.ts +3 -0
  39. package/dist/client/rest/index.d.ts.map +1 -0
  40. package/dist/client/rest/index.js +5 -0
  41. package/dist/client/rest/public.d.ts +436 -0
  42. package/dist/client/rest/public.d.ts.map +1 -0
  43. package/dist/client/rest/public.js +502 -0
  44. package/dist/client/webSocket/guards.d.ts +15 -0
  45. package/dist/client/webSocket/guards.d.ts.map +1 -0
  46. package/dist/client/webSocket/guards.js +37 -0
  47. package/dist/client/webSocket/index.d.ts +632 -0
  48. package/dist/client/webSocket/index.d.ts.map +1 -0
  49. package/dist/client/webSocket/index.js +1048 -0
  50. package/dist/client/webSocket/transform.d.ts +3 -0
  51. package/dist/client/webSocket/transform.d.ts.map +1 -0
  52. package/dist/client/webSocket/transform.js +244 -0
  53. package/dist/constants.d.ts +34 -0
  54. package/dist/constants.d.ts.map +1 -0
  55. package/dist/constants.js +38 -0
  56. package/dist/index.d.ts +9 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +14 -0
  59. package/dist/orderbook/apiConversions.d.ts +8 -0
  60. package/dist/orderbook/apiConversions.d.ts.map +1 -0
  61. package/dist/orderbook/apiConversions.js +100 -0
  62. package/dist/orderbook/demo.d.ts +2 -0
  63. package/dist/orderbook/demo.d.ts.map +1 -0
  64. package/dist/orderbook/demo.js +68 -0
  65. package/dist/orderbook/index.d.ts +3 -0
  66. package/dist/orderbook/index.d.ts.map +1 -0
  67. package/dist/orderbook/index.js +5 -0
  68. package/dist/orderbook/quantities.d.ts +112 -0
  69. package/dist/orderbook/quantities.d.ts.map +1 -0
  70. package/dist/orderbook/quantities.js +257 -0
  71. package/dist/orderbook/utils.d.ts +8 -0
  72. package/dist/orderbook/utils.d.ts.map +1 -0
  73. package/dist/orderbook/utils.js +28 -0
  74. package/dist/pipmath.d.ts +21 -0
  75. package/dist/pipmath.d.ts.map +1 -0
  76. package/dist/pipmath.js +110 -0
  77. package/dist/signatures.d.ts +37 -0
  78. package/dist/signatures.d.ts.map +1 -0
  79. package/dist/signatures.js +450 -0
  80. package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts +2 -0
  81. package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts.map +1 -0
  82. package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.js +49 -0
  83. package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts +2 -0
  84. package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts.map +1 -0
  85. package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.js +122 -0
  86. package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts +2 -0
  87. package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts.map +1 -0
  88. package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.js +138 -0
  89. package/dist/tests/orderbook/quantities.test.d.ts +2 -0
  90. package/dist/tests/orderbook/quantities.test.d.ts.map +1 -0
  91. package/dist/tests/orderbook/quantities.test.js +310 -0
  92. package/dist/tests/testHelpers.d.ts +2 -0
  93. package/dist/tests/testHelpers.d.ts.map +1 -0
  94. package/dist/tests/testHelpers.js +16 -0
  95. package/dist/tests/utils/deriveBaseURL.test.d.ts +2 -0
  96. package/dist/tests/utils/deriveBaseURL.test.d.ts.map +1 -0
  97. package/dist/tests/utils/deriveBaseURL.test.js +46 -0
  98. package/dist/typechain-types/ERC20.d.ts +170 -0
  99. package/dist/typechain-types/ERC20.d.ts.map +1 -0
  100. package/dist/typechain-types/ERC20.js +2 -0
  101. package/dist/typechain-types/EarningsEscrow.d.ts +210 -0
  102. package/dist/typechain-types/EarningsEscrow.d.ts.map +1 -0
  103. package/dist/typechain-types/EarningsEscrow.js +2 -0
  104. package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts +253 -0
  105. package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts.map +1 -0
  106. package/dist/typechain-types/ExchangeLayerZeroAdapter.js +2 -0
  107. package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts +338 -0
  108. package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts.map +1 -0
  109. package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.js +2 -0
  110. package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts +413 -0
  111. package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts.map +1 -0
  112. package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.js +2 -0
  113. package/dist/typechain-types/Exchange_v1.d.ts +2172 -0
  114. package/dist/typechain-types/Exchange_v1.d.ts.map +1 -0
  115. package/dist/typechain-types/Exchange_v1.js +2 -0
  116. package/dist/typechain-types/Exchange_v2.d.ts +2148 -0
  117. package/dist/typechain-types/Exchange_v2.d.ts.map +1 -0
  118. package/dist/typechain-types/Exchange_v2.js +2 -0
  119. package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts +148 -0
  120. package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts.map +1 -0
  121. package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.js +2 -0
  122. package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts +1204 -0
  123. package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts.map +1 -0
  124. package/dist/typechain-types/FixedIncomeVaultProvider_v1.js +2 -0
  125. package/dist/typechain-types/IOFT.d.ts +247 -0
  126. package/dist/typechain-types/IOFT.d.ts.map +1 -0
  127. package/dist/typechain-types/IOFT.js +2 -0
  128. package/dist/typechain-types/IRewardVault.d.ts +649 -0
  129. package/dist/typechain-types/IRewardVault.d.ts.map +1 -0
  130. package/dist/typechain-types/IRewardVault.js +2 -0
  131. package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts +638 -0
  132. package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts.map +1 -0
  133. package/dist/typechain-types/KumaOFTAdapterUSDC.js +2 -0
  134. package/dist/typechain-types/KumaOFTUSDC.d.ts +756 -0
  135. package/dist/typechain-types/KumaOFTUSDC.d.ts.map +1 -0
  136. package/dist/typechain-types/KumaOFTUSDC.js +2 -0
  137. package/dist/typechain-types/KumaStargateForwarder_v1.d.ts +252 -0
  138. package/dist/typechain-types/KumaStargateForwarder_v1.d.ts.map +1 -0
  139. package/dist/typechain-types/KumaStargateForwarder_v1.js +2 -0
  140. package/dist/typechain-types/KumaStargateForwarder_v2.d.ts +252 -0
  141. package/dist/typechain-types/KumaStargateForwarder_v2.d.ts.map +1 -0
  142. package/dist/typechain-types/KumaStargateForwarder_v2.js +2 -0
  143. package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts +1095 -0
  144. package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts.map +1 -0
  145. package/dist/typechain-types/ProfitShareVaultProvider_v1.js +2 -0
  146. package/dist/typechain-types/StargatePoolUSDC.d.ts +956 -0
  147. package/dist/typechain-types/StargatePoolUSDC.d.ts.map +1 -0
  148. package/dist/typechain-types/StargatePoolUSDC.js +2 -0
  149. package/dist/typechain-types/common.d.ts +51 -0
  150. package/dist/typechain-types/common.d.ts.map +1 -0
  151. package/dist/typechain-types/common.js +2 -0
  152. package/dist/typechain-types/factories/ERC20__factory.d.ts +226 -0
  153. package/dist/typechain-types/factories/ERC20__factory.d.ts.map +1 -0
  154. package/dist/typechain-types/factories/ERC20__factory.js +305 -0
  155. package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts +370 -0
  156. package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts.map +1 -0
  157. package/dist/typechain-types/factories/EarningsEscrow__factory.js +485 -0
  158. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts +359 -0
  159. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts.map +1 -0
  160. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.js +471 -0
  161. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts +419 -0
  162. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts.map +1 -0
  163. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.js +545 -0
  164. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts +546 -0
  165. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts.map +1 -0
  166. package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.js +710 -0
  167. package/dist/typechain-types/factories/Exchange_v1__factory.d.ts +2852 -0
  168. package/dist/typechain-types/factories/Exchange_v1__factory.d.ts.map +1 -0
  169. package/dist/typechain-types/factories/Exchange_v1__factory.js +3661 -0
  170. package/dist/typechain-types/factories/Exchange_v2__factory.d.ts +2832 -0
  171. package/dist/typechain-types/factories/Exchange_v2__factory.d.ts.map +1 -0
  172. package/dist/typechain-types/factories/Exchange_v2__factory.js +3636 -0
  173. package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts +180 -0
  174. package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts.map +1 -0
  175. package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.js +246 -0
  176. package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts +2092 -0
  177. package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts.map +1 -0
  178. package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.js +2702 -0
  179. package/dist/typechain-types/factories/IOFT__factory.d.ts +352 -0
  180. package/dist/typechain-types/factories/IOFT__factory.d.ts.map +1 -0
  181. package/dist/typechain-types/factories/IOFT__factory.js +464 -0
  182. package/dist/typechain-types/factories/IRewardVault__factory.d.ts +1019 -0
  183. package/dist/typechain-types/factories/IRewardVault__factory.d.ts.map +1 -0
  184. package/dist/typechain-types/factories/IRewardVault__factory.js +1311 -0
  185. package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts +996 -0
  186. package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts.map +1 -0
  187. package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.js +1306 -0
  188. package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts +1234 -0
  189. package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts.map +1 -0
  190. package/dist/typechain-types/factories/KumaOFTUSDC__factory.js +1619 -0
  191. package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts +354 -0
  192. package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts.map +1 -0
  193. package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.js +464 -0
  194. package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts +370 -0
  195. package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts.map +1 -0
  196. package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.js +486 -0
  197. package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts +1914 -0
  198. package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts.map +1 -0
  199. package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.js +2475 -0
  200. package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts +1557 -0
  201. package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts.map +1 -0
  202. package/dist/typechain-types/factories/StargatePoolUSDC__factory.js +2019 -0
  203. package/dist/typechain-types/factories/index.d.ts +5 -0
  204. package/dist/typechain-types/factories/index.d.ts.map +1 -0
  205. package/dist/typechain-types/factories/index.js +13 -0
  206. package/dist/typechain-types/index.d.ts +10 -0
  207. package/dist/typechain-types/index.d.ts.map +1 -0
  208. package/dist/typechain-types/index.js +15 -0
  209. package/dist/types/delegatedKeys.d.ts +44 -0
  210. package/dist/types/delegatedKeys.d.ts.map +1 -0
  211. package/dist/types/delegatedKeys.js +2 -0
  212. package/dist/types/enums/index.d.ts +4 -0
  213. package/dist/types/enums/index.d.ts.map +1 -0
  214. package/dist/types/enums/index.js +6 -0
  215. package/dist/types/enums/request.d.ts +980 -0
  216. package/dist/types/enums/request.d.ts.map +1 -0
  217. package/dist/types/enums/request.js +906 -0
  218. package/dist/types/enums/response.d.ts +329 -0
  219. package/dist/types/enums/response.d.ts.map +1 -0
  220. package/dist/types/enums/response.js +296 -0
  221. package/dist/types/enums/signature.d.ts +118 -0
  222. package/dist/types/enums/signature.d.ts.map +1 -0
  223. package/dist/types/enums/signature.js +131 -0
  224. package/dist/types/errors.d.ts +5 -0
  225. package/dist/types/errors.d.ts.map +1 -0
  226. package/dist/types/errors.js +2 -0
  227. package/dist/types/index.d.ts +9 -0
  228. package/dist/types/index.d.ts.map +1 -0
  229. package/dist/types/index.js +10 -0
  230. package/dist/types/orderBook.d.ts +72 -0
  231. package/dist/types/orderBook.d.ts.map +1 -0
  232. package/dist/types/orderBook.js +2 -0
  233. package/dist/types/rest/common/common.d.ts +118 -0
  234. package/dist/types/rest/common/common.d.ts.map +1 -0
  235. package/dist/types/rest/common/common.js +2 -0
  236. package/dist/types/rest/common/guards.d.ts +8 -0
  237. package/dist/types/rest/common/guards.d.ts.map +1 -0
  238. package/dist/types/rest/common/guards.js +14 -0
  239. package/dist/types/rest/endpoints/AssociateWallet.d.ts +40 -0
  240. package/dist/types/rest/endpoints/AssociateWallet.d.ts.map +1 -0
  241. package/dist/types/rest/endpoints/AssociateWallet.js +2 -0
  242. package/dist/types/rest/endpoints/CancelOrders.d.ts +134 -0
  243. package/dist/types/rest/endpoints/CancelOrders.d.ts.map +1 -0
  244. package/dist/types/rest/endpoints/CancelOrders.js +2 -0
  245. package/dist/types/rest/endpoints/CreateOrder.d.ts +401 -0
  246. package/dist/types/rest/endpoints/CreateOrder.d.ts.map +1 -0
  247. package/dist/types/rest/endpoints/CreateOrder.js +2 -0
  248. package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts +39 -0
  249. package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts.map +1 -0
  250. package/dist/types/rest/endpoints/GetAuthenticationToken.js +2 -0
  251. package/dist/types/rest/endpoints/GetCandles.d.ts +115 -0
  252. package/dist/types/rest/endpoints/GetCandles.d.ts.map +1 -0
  253. package/dist/types/rest/endpoints/GetCandles.js +2 -0
  254. package/dist/types/rest/endpoints/GetDeposits.d.ts +109 -0
  255. package/dist/types/rest/endpoints/GetDeposits.d.ts.map +1 -0
  256. package/dist/types/rest/endpoints/GetDeposits.js +2 -0
  257. package/dist/types/rest/endpoints/GetExchange.d.ts +78 -0
  258. package/dist/types/rest/endpoints/GetExchange.d.ts.map +1 -0
  259. package/dist/types/rest/endpoints/GetExchange.js +9 -0
  260. package/dist/types/rest/endpoints/GetFills.d.ts +178 -0
  261. package/dist/types/rest/endpoints/GetFills.d.ts.map +1 -0
  262. package/dist/types/rest/endpoints/GetFills.js +2 -0
  263. package/dist/types/rest/endpoints/GetFundingPayments.d.ts +52 -0
  264. package/dist/types/rest/endpoints/GetFundingPayments.d.ts.map +1 -0
  265. package/dist/types/rest/endpoints/GetFundingPayments.js +2 -0
  266. package/dist/types/rest/endpoints/GetFundingRates.d.ts +34 -0
  267. package/dist/types/rest/endpoints/GetFundingRates.d.ts.map +1 -0
  268. package/dist/types/rest/endpoints/GetFundingRates.js +2 -0
  269. package/dist/types/rest/endpoints/GetGasFees.d.ts +23 -0
  270. package/dist/types/rest/endpoints/GetGasFees.d.ts.map +1 -0
  271. package/dist/types/rest/endpoints/GetGasFees.js +2 -0
  272. package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts +39 -0
  273. package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts.map +1 -0
  274. package/dist/types/rest/endpoints/GetHistoricalPnL.js +2 -0
  275. package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts +31 -0
  276. package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts.map +1 -0
  277. package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.js +2 -0
  278. package/dist/types/rest/endpoints/GetLiquidations.d.ts +52 -0
  279. package/dist/types/rest/endpoints/GetLiquidations.d.ts.map +1 -0
  280. package/dist/types/rest/endpoints/GetLiquidations.js +2 -0
  281. package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts +534 -0
  282. package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts.map +1 -0
  283. package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.js +2 -0
  284. package/dist/types/rest/endpoints/GetMarkets.d.ts +161 -0
  285. package/dist/types/rest/endpoints/GetMarkets.d.ts.map +1 -0
  286. package/dist/types/rest/endpoints/GetMarkets.js +2 -0
  287. package/dist/types/rest/endpoints/GetOrderBook.d.ts +176 -0
  288. package/dist/types/rest/endpoints/GetOrderBook.d.ts.map +1 -0
  289. package/dist/types/rest/endpoints/GetOrderBook.js +2 -0
  290. package/dist/types/rest/endpoints/GetOrders.d.ts +188 -0
  291. package/dist/types/rest/endpoints/GetOrders.d.ts.map +1 -0
  292. package/dist/types/rest/endpoints/GetOrders.js +2 -0
  293. package/dist/types/rest/endpoints/GetPing.d.ts +8 -0
  294. package/dist/types/rest/endpoints/GetPing.d.ts.map +1 -0
  295. package/dist/types/rest/endpoints/GetPing.js +2 -0
  296. package/dist/types/rest/endpoints/GetPositions.d.ts +104 -0
  297. package/dist/types/rest/endpoints/GetPositions.d.ts.map +1 -0
  298. package/dist/types/rest/endpoints/GetPositions.js +2 -0
  299. package/dist/types/rest/endpoints/GetTickers.d.ts +129 -0
  300. package/dist/types/rest/endpoints/GetTickers.d.ts.map +1 -0
  301. package/dist/types/rest/endpoints/GetTickers.js +2 -0
  302. package/dist/types/rest/endpoints/GetTime.d.ts +14 -0
  303. package/dist/types/rest/endpoints/GetTime.d.ts.map +1 -0
  304. package/dist/types/rest/endpoints/GetTime.js +2 -0
  305. package/dist/types/rest/endpoints/GetTrades.d.ts +62 -0
  306. package/dist/types/rest/endpoints/GetTrades.d.ts.map +1 -0
  307. package/dist/types/rest/endpoints/GetTrades.js +2 -0
  308. package/dist/types/rest/endpoints/GetWallets.d.ts +121 -0
  309. package/dist/types/rest/endpoints/GetWallets.d.ts.map +1 -0
  310. package/dist/types/rest/endpoints/GetWallets.js +2 -0
  311. package/dist/types/rest/endpoints/GetWithdrawals.d.ts +98 -0
  312. package/dist/types/rest/endpoints/GetWithdrawals.d.ts.map +1 -0
  313. package/dist/types/rest/endpoints/GetWithdrawals.js +2 -0
  314. package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts +98 -0
  315. package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts.map +1 -0
  316. package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.js +2 -0
  317. package/dist/types/rest/endpoints/Payouts.d.ts +199 -0
  318. package/dist/types/rest/endpoints/Payouts.d.ts.map +1 -0
  319. package/dist/types/rest/endpoints/Payouts.js +2 -0
  320. package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts +83 -0
  321. package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts.map +1 -0
  322. package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.js +2 -0
  323. package/dist/types/rest/endpoints/WithdrawFunds.d.ts +144 -0
  324. package/dist/types/rest/endpoints/WithdrawFunds.d.ts.map +1 -0
  325. package/dist/types/rest/endpoints/WithdrawFunds.js +2 -0
  326. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts +161 -0
  327. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts.map +1 -0
  328. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.js +2 -0
  329. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts +160 -0
  330. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts.map +1 -0
  331. package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.js +2 -0
  332. package/dist/types/rest/endpoints/index.d.ts +33 -0
  333. package/dist/types/rest/endpoints/index.d.ts.map +1 -0
  334. package/dist/types/rest/endpoints/index.js +35 -0
  335. package/dist/types/rest/endpoints/internal.d.ts +329 -0
  336. package/dist/types/rest/endpoints/internal.d.ts.map +1 -0
  337. package/dist/types/rest/endpoints/internal.js +14 -0
  338. package/dist/types/rest/index.d.ts +4 -0
  339. package/dist/types/rest/index.d.ts.map +1 -0
  340. package/dist/types/rest/index.js +6 -0
  341. package/dist/types/swaps.d.ts +11 -0
  342. package/dist/types/swaps.d.ts.map +1 -0
  343. package/dist/types/swaps.js +2 -0
  344. package/dist/types/utils.d.ts +67 -0
  345. package/dist/types/utils.d.ts.map +1 -0
  346. package/dist/types/utils.js +3 -0
  347. package/dist/types/webSocket/base.d.ts +83 -0
  348. package/dist/types/webSocket/base.d.ts.map +1 -0
  349. package/dist/types/webSocket/base.js +2 -0
  350. package/dist/types/webSocket/constants.d.ts +41 -0
  351. package/dist/types/webSocket/constants.d.ts.map +1 -0
  352. package/dist/types/webSocket/constants.js +54 -0
  353. package/dist/types/webSocket/index.d.ts +6 -0
  354. package/dist/types/webSocket/index.d.ts.map +1 -0
  355. package/dist/types/webSocket/index.js +8 -0
  356. package/dist/types/webSocket/options.d.ts +276 -0
  357. package/dist/types/webSocket/options.d.ts.map +1 -0
  358. package/dist/types/webSocket/options.js +2 -0
  359. package/dist/types/webSocket/request/index.d.ts +3 -0
  360. package/dist/types/webSocket/request/index.d.ts.map +1 -0
  361. package/dist/types/webSocket/request/index.js +5 -0
  362. package/dist/types/webSocket/request/request.d.ts +137 -0
  363. package/dist/types/webSocket/request/request.d.ts.map +1 -0
  364. package/dist/types/webSocket/request/request.js +2 -0
  365. package/dist/types/webSocket/request/subscriptions.d.ts +498 -0
  366. package/dist/types/webSocket/request/subscriptions.d.ts.map +1 -0
  367. package/dist/types/webSocket/request/subscriptions.js +2 -0
  368. package/dist/types/webSocket/response/candles.d.ts +138 -0
  369. package/dist/types/webSocket/response/candles.d.ts.map +1 -0
  370. package/dist/types/webSocket/response/candles.js +2 -0
  371. package/dist/types/webSocket/response/deposits.d.ts +80 -0
  372. package/dist/types/webSocket/response/deposits.d.ts.map +1 -0
  373. package/dist/types/webSocket/response/deposits.js +2 -0
  374. package/dist/types/webSocket/response/fundingPayments.d.ts +78 -0
  375. package/dist/types/webSocket/response/fundingPayments.d.ts.map +1 -0
  376. package/dist/types/webSocket/response/fundingPayments.js +2 -0
  377. package/dist/types/webSocket/response/index.d.ts +13 -0
  378. package/dist/types/webSocket/response/index.d.ts.map +1 -0
  379. package/dist/types/webSocket/response/index.js +15 -0
  380. package/dist/types/webSocket/response/liquidations.d.ts +78 -0
  381. package/dist/types/webSocket/response/liquidations.d.ts.map +1 -0
  382. package/dist/types/webSocket/response/liquidations.js +2 -0
  383. package/dist/types/webSocket/response/orderbook.d.ts +214 -0
  384. package/dist/types/webSocket/response/orderbook.d.ts.map +1 -0
  385. package/dist/types/webSocket/response/orderbook.js +2 -0
  386. package/dist/types/webSocket/response/orders.d.ts +355 -0
  387. package/dist/types/webSocket/response/orders.d.ts.map +1 -0
  388. package/dist/types/webSocket/response/orders.js +2 -0
  389. package/dist/types/webSocket/response/ordersFill.d.ts +138 -0
  390. package/dist/types/webSocket/response/ordersFill.d.ts.map +1 -0
  391. package/dist/types/webSocket/response/ordersFill.js +2 -0
  392. package/dist/types/webSocket/response/positions.d.ts +120 -0
  393. package/dist/types/webSocket/response/positions.d.ts.map +1 -0
  394. package/dist/types/webSocket/response/positions.js +2 -0
  395. package/dist/types/webSocket/response/tickers.d.ts +131 -0
  396. package/dist/types/webSocket/response/tickers.d.ts.map +1 -0
  397. package/dist/types/webSocket/response/tickers.js +2 -0
  398. package/dist/types/webSocket/response/trades.d.ts +90 -0
  399. package/dist/types/webSocket/response/trades.d.ts.map +1 -0
  400. package/dist/types/webSocket/response/trades.js +2 -0
  401. package/dist/types/webSocket/response/webclient/base.d.ts +24 -0
  402. package/dist/types/webSocket/response/webclient/base.d.ts.map +1 -0
  403. package/dist/types/webSocket/response/webclient/base.js +2 -0
  404. package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts +31 -0
  405. package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts.map +1 -0
  406. package/dist/types/webSocket/response/webclient/events/exchangeStatus.js +2 -0
  407. package/dist/types/webSocket/response/webclient/events/index.d.ts +4 -0
  408. package/dist/types/webSocket/response/webclient/events/index.d.ts.map +1 -0
  409. package/dist/types/webSocket/response/webclient/events/index.js +6 -0
  410. package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts +17 -0
  411. package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts.map +1 -0
  412. package/dist/types/webSocket/response/webclient/events/reloadBanners.js +2 -0
  413. package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts +76 -0
  414. package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts.map +1 -0
  415. package/dist/types/webSocket/response/webclient/events/transactionSettled.js +2 -0
  416. package/dist/types/webSocket/response/webclient/index.d.ts +3 -0
  417. package/dist/types/webSocket/response/webclient/index.d.ts.map +1 -0
  418. package/dist/types/webSocket/response/webclient/index.js +5 -0
  419. package/dist/types/webSocket/response/webclient/webclient.d.ts +13 -0
  420. package/dist/types/webSocket/response/webclient/webclient.d.ts.map +1 -0
  421. package/dist/types/webSocket/response/webclient/webclient.js +2 -0
  422. package/dist/types/webSocket/response/withdrawals.d.ts +83 -0
  423. package/dist/types/webSocket/response/withdrawals.d.ts.map +1 -0
  424. package/dist/types/webSocket/response/withdrawals.js +2 -0
  425. package/dist/utils.d.ts +63 -0
  426. package/dist/utils.d.ts.map +1 -0
  427. package/dist/utils.js +136 -0
  428. 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;