@metamask-previews/perps-controller 0.0.0-preview-685dbf46b → 1.0.0-preview-bc00f2c

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 (482) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/dist/PerpsController.cjs +3077 -65
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +969 -82
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +969 -82
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +3073 -62
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/aggregation/SubscriptionMultiplexer.cjs +441 -0
  11. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
  12. package/dist/aggregation/SubscriptionMultiplexer.d.cts +171 -0
  13. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
  14. package/dist/aggregation/SubscriptionMultiplexer.d.mts +171 -0
  15. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
  16. package/dist/aggregation/SubscriptionMultiplexer.mjs +437 -0
  17. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
  18. package/dist/aggregation/index.cjs +9 -0
  19. package/dist/aggregation/index.cjs.map +1 -0
  20. package/dist/aggregation/index.d.cts +6 -0
  21. package/dist/aggregation/index.d.cts.map +1 -0
  22. package/dist/aggregation/index.d.mts +6 -0
  23. package/dist/aggregation/index.d.mts.map +1 -0
  24. package/dist/aggregation/index.mjs +5 -0
  25. package/dist/aggregation/index.mjs.map +1 -0
  26. package/dist/constants/chartConfig.cjs +227 -0
  27. package/dist/constants/chartConfig.cjs.map +1 -0
  28. package/dist/constants/chartConfig.d.cts +216 -0
  29. package/dist/constants/chartConfig.d.cts.map +1 -0
  30. package/dist/constants/chartConfig.d.mts +216 -0
  31. package/dist/constants/chartConfig.d.mts.map +1 -0
  32. package/dist/constants/chartConfig.mjs +221 -0
  33. package/dist/constants/chartConfig.mjs.map +1 -0
  34. package/dist/constants/eventNames.cjs +436 -0
  35. package/dist/constants/eventNames.cjs.map +1 -0
  36. package/dist/constants/eventNames.d.cts +387 -0
  37. package/dist/constants/eventNames.d.cts.map +1 -0
  38. package/dist/constants/eventNames.d.mts +387 -0
  39. package/dist/constants/eventNames.d.mts.map +1 -0
  40. package/dist/constants/eventNames.mjs +433 -0
  41. package/dist/constants/eventNames.mjs.map +1 -0
  42. package/dist/constants/hyperLiquidConfig.cjs +380 -0
  43. package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
  44. package/dist/constants/hyperLiquidConfig.d.cts +236 -0
  45. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
  46. package/dist/constants/hyperLiquidConfig.d.mts +236 -0
  47. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
  48. package/dist/constants/hyperLiquidConfig.mjs +371 -0
  49. package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
  50. package/dist/constants/index.cjs +28 -0
  51. package/dist/constants/index.cjs.map +1 -0
  52. package/dist/constants/index.d.cts +12 -0
  53. package/dist/constants/index.d.cts.map +1 -0
  54. package/dist/constants/index.d.mts +12 -0
  55. package/dist/constants/index.d.mts.map +1 -0
  56. package/dist/constants/index.mjs +12 -0
  57. package/dist/constants/index.mjs.map +1 -0
  58. package/dist/constants/myxConfig.cjs +229 -0
  59. package/dist/constants/myxConfig.cjs.map +1 -0
  60. package/dist/constants/myxConfig.d.cts +106 -0
  61. package/dist/constants/myxConfig.d.cts.map +1 -0
  62. package/dist/constants/myxConfig.d.mts +106 -0
  63. package/dist/constants/myxConfig.d.mts.map +1 -0
  64. package/dist/constants/myxConfig.mjs +219 -0
  65. package/dist/constants/myxConfig.mjs.map +1 -0
  66. package/dist/constants/orderTypes.cjs +31 -0
  67. package/dist/constants/orderTypes.cjs.map +1 -0
  68. package/dist/constants/orderTypes.d.cts +19 -0
  69. package/dist/constants/orderTypes.d.cts.map +1 -0
  70. package/dist/constants/orderTypes.d.mts +19 -0
  71. package/dist/constants/orderTypes.d.mts.map +1 -0
  72. package/dist/constants/orderTypes.mjs +27 -0
  73. package/dist/constants/orderTypes.mjs.map +1 -0
  74. package/dist/constants/performanceMetrics.cjs +63 -0
  75. package/dist/constants/performanceMetrics.cjs.map +1 -0
  76. package/dist/constants/performanceMetrics.d.cts +46 -0
  77. package/dist/constants/performanceMetrics.d.cts.map +1 -0
  78. package/dist/constants/performanceMetrics.d.mts +46 -0
  79. package/dist/constants/performanceMetrics.d.mts.map +1 -0
  80. package/dist/constants/performanceMetrics.mjs +60 -0
  81. package/dist/constants/performanceMetrics.mjs.map +1 -0
  82. package/dist/constants/perpsConfig.cjs +295 -0
  83. package/dist/constants/perpsConfig.cjs.map +1 -0
  84. package/dist/constants/perpsConfig.d.cts +221 -0
  85. package/dist/constants/perpsConfig.d.cts.map +1 -0
  86. package/dist/constants/perpsConfig.d.mts +221 -0
  87. package/dist/constants/perpsConfig.d.mts.map +1 -0
  88. package/dist/constants/perpsConfig.mjs +292 -0
  89. package/dist/constants/perpsConfig.mjs.map +1 -0
  90. package/dist/constants/transactionsHistoryConfig.cjs +19 -0
  91. package/dist/constants/transactionsHistoryConfig.cjs.map +1 -0
  92. package/dist/constants/transactionsHistoryConfig.d.cts +16 -0
  93. package/dist/constants/transactionsHistoryConfig.d.cts.map +1 -0
  94. package/dist/constants/transactionsHistoryConfig.d.mts +16 -0
  95. package/dist/constants/transactionsHistoryConfig.d.mts.map +1 -0
  96. package/dist/constants/transactionsHistoryConfig.mjs +16 -0
  97. package/dist/constants/transactionsHistoryConfig.mjs.map +1 -0
  98. package/dist/index.cjs +63 -1
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.cts +38 -2
  101. package/dist/index.d.cts.map +1 -1
  102. package/dist/index.d.mts +38 -2
  103. package/dist/index.d.mts.map +1 -1
  104. package/dist/index.mjs +46 -1
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/perpsErrorCodes.cjs +80 -0
  107. package/dist/perpsErrorCodes.cjs.map +1 -0
  108. package/dist/perpsErrorCodes.d.cts +65 -0
  109. package/dist/perpsErrorCodes.d.cts.map +1 -0
  110. package/dist/perpsErrorCodes.d.mts +65 -0
  111. package/dist/perpsErrorCodes.d.mts.map +1 -0
  112. package/dist/perpsErrorCodes.mjs +77 -0
  113. package/dist/perpsErrorCodes.mjs.map +1 -0
  114. package/dist/providers/AggregatedPerpsProvider.cjs +508 -0
  115. package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
  116. package/dist/providers/AggregatedPerpsProvider.d.cts +171 -0
  117. package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
  118. package/dist/providers/AggregatedPerpsProvider.d.mts +171 -0
  119. package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
  120. package/dist/providers/AggregatedPerpsProvider.mjs +504 -0
  121. package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
  122. package/dist/providers/HyperLiquidProvider.cjs +5679 -0
  123. package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
  124. package/dist/providers/HyperLiquidProvider.d.cts +516 -0
  125. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
  126. package/dist/providers/HyperLiquidProvider.d.mts +516 -0
  127. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
  128. package/dist/providers/HyperLiquidProvider.mjs +5675 -0
  129. package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
  130. package/dist/providers/MYXProvider.cjs +514 -0
  131. package/dist/providers/MYXProvider.cjs.map +1 -0
  132. package/dist/providers/MYXProvider.d.cts +105 -0
  133. package/dist/providers/MYXProvider.d.cts.map +1 -0
  134. package/dist/providers/MYXProvider.d.mts +105 -0
  135. package/dist/providers/MYXProvider.d.mts.map +1 -0
  136. package/dist/providers/MYXProvider.mjs +510 -0
  137. package/dist/providers/MYXProvider.mjs.map +1 -0
  138. package/dist/routing/ProviderRouter.cjs +154 -0
  139. package/dist/routing/ProviderRouter.cjs.map +1 -0
  140. package/dist/routing/ProviderRouter.d.cts +112 -0
  141. package/dist/routing/ProviderRouter.d.cts.map +1 -0
  142. package/dist/routing/ProviderRouter.d.mts +112 -0
  143. package/dist/routing/ProviderRouter.d.mts.map +1 -0
  144. package/dist/routing/ProviderRouter.mjs +150 -0
  145. package/dist/routing/ProviderRouter.mjs.map +1 -0
  146. package/dist/routing/index.cjs +9 -0
  147. package/dist/routing/index.cjs.map +1 -0
  148. package/dist/routing/index.d.cts +6 -0
  149. package/dist/routing/index.d.cts.map +1 -0
  150. package/dist/routing/index.d.mts +6 -0
  151. package/dist/routing/index.d.mts.map +1 -0
  152. package/dist/routing/index.mjs +5 -0
  153. package/dist/routing/index.mjs.map +1 -0
  154. package/dist/selectors.cjs +166 -0
  155. package/dist/selectors.cjs.map +1 -0
  156. package/dist/selectors.d.cts +362 -0
  157. package/dist/selectors.d.cts.map +1 -0
  158. package/dist/selectors.d.mts +362 -0
  159. package/dist/selectors.d.mts.map +1 -0
  160. package/dist/selectors.mjs +158 -0
  161. package/dist/selectors.mjs.map +1 -0
  162. package/dist/services/AccountService.cjs +324 -0
  163. package/dist/services/AccountService.cjs.map +1 -0
  164. package/dist/services/AccountService.d.cts +56 -0
  165. package/dist/services/AccountService.d.cts.map +1 -0
  166. package/dist/services/AccountService.d.mts +56 -0
  167. package/dist/services/AccountService.d.mts.map +1 -0
  168. package/dist/services/AccountService.mjs +320 -0
  169. package/dist/services/AccountService.mjs.map +1 -0
  170. package/dist/services/DataLakeService.cjs +233 -0
  171. package/dist/services/DataLakeService.cjs.map +1 -0
  172. package/dist/services/DataLakeService.d.cts +51 -0
  173. package/dist/services/DataLakeService.d.cts.map +1 -0
  174. package/dist/services/DataLakeService.d.mts +51 -0
  175. package/dist/services/DataLakeService.d.mts.map +1 -0
  176. package/dist/services/DataLakeService.mjs +229 -0
  177. package/dist/services/DataLakeService.mjs.map +1 -0
  178. package/dist/services/DepositService.cjs +98 -0
  179. package/dist/services/DepositService.cjs.map +1 -0
  180. package/dist/services/DepositService.d.cts +39 -0
  181. package/dist/services/DepositService.d.cts.map +1 -0
  182. package/dist/services/DepositService.d.mts +39 -0
  183. package/dist/services/DepositService.d.mts.map +1 -0
  184. package/dist/services/DepositService.mjs +94 -0
  185. package/dist/services/DepositService.mjs.map +1 -0
  186. package/dist/services/EligibilityService.cjs +173 -0
  187. package/dist/services/EligibilityService.cjs.map +1 -0
  188. package/dist/services/EligibilityService.d.cts +39 -0
  189. package/dist/services/EligibilityService.d.cts.map +1 -0
  190. package/dist/services/EligibilityService.d.mts +39 -0
  191. package/dist/services/EligibilityService.d.mts.map +1 -0
  192. package/dist/services/EligibilityService.mjs +169 -0
  193. package/dist/services/EligibilityService.mjs.map +1 -0
  194. package/dist/services/FeatureFlagConfigurationService.cjs +257 -0
  195. package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
  196. package/dist/services/FeatureFlagConfigurationService.d.cts +73 -0
  197. package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
  198. package/dist/services/FeatureFlagConfigurationService.d.mts +73 -0
  199. package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
  200. package/dist/services/FeatureFlagConfigurationService.mjs +253 -0
  201. package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
  202. package/dist/services/HyperLiquidClientService.cjs +867 -0
  203. package/dist/services/HyperLiquidClientService.cjs.map +1 -0
  204. package/dist/services/HyperLiquidClientService.d.cts +214 -0
  205. package/dist/services/HyperLiquidClientService.d.cts.map +1 -0
  206. package/dist/services/HyperLiquidClientService.d.mts +214 -0
  207. package/dist/services/HyperLiquidClientService.d.mts.map +1 -0
  208. package/dist/services/HyperLiquidClientService.mjs +862 -0
  209. package/dist/services/HyperLiquidClientService.mjs.map +1 -0
  210. package/dist/services/HyperLiquidSubscriptionService.cjs +2199 -0
  211. package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -0
  212. package/dist/services/HyperLiquidSubscriptionService.d.cts +187 -0
  213. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -0
  214. package/dist/services/HyperLiquidSubscriptionService.d.mts +187 -0
  215. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -0
  216. package/dist/services/HyperLiquidSubscriptionService.mjs +2195 -0
  217. package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -0
  218. package/dist/services/HyperLiquidWalletService.cjs +163 -0
  219. package/dist/services/HyperLiquidWalletService.cjs.map +1 -0
  220. package/dist/services/HyperLiquidWalletService.d.cts +78 -0
  221. package/dist/services/HyperLiquidWalletService.d.cts.map +1 -0
  222. package/dist/services/HyperLiquidWalletService.d.mts +78 -0
  223. package/dist/services/HyperLiquidWalletService.d.mts.map +1 -0
  224. package/dist/services/HyperLiquidWalletService.mjs +159 -0
  225. package/dist/services/HyperLiquidWalletService.mjs.map +1 -0
  226. package/dist/services/MYXClientService.cjs +304 -0
  227. package/dist/services/MYXClientService.cjs.map +1 -0
  228. package/dist/services/MYXClientService.d.cts +81 -0
  229. package/dist/services/MYXClientService.d.cts.map +1 -0
  230. package/dist/services/MYXClientService.d.mts +81 -0
  231. package/dist/services/MYXClientService.d.mts.map +1 -0
  232. package/dist/services/MYXClientService.mjs +300 -0
  233. package/dist/services/MYXClientService.mjs.map +1 -0
  234. package/dist/services/MarketDataService.cjs +848 -0
  235. package/dist/services/MarketDataService.cjs.map +1 -0
  236. package/dist/services/MarketDataService.d.cts +291 -0
  237. package/dist/services/MarketDataService.d.cts.map +1 -0
  238. package/dist/services/MarketDataService.d.mts +291 -0
  239. package/dist/services/MarketDataService.d.mts.map +1 -0
  240. package/dist/services/MarketDataService.mjs +844 -0
  241. package/dist/services/MarketDataService.mjs.map +1 -0
  242. package/dist/services/RewardsIntegrationService.cjs +120 -0
  243. package/dist/services/RewardsIntegrationService.cjs.map +1 -0
  244. package/dist/services/RewardsIntegrationService.d.cts +28 -0
  245. package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
  246. package/dist/services/RewardsIntegrationService.d.mts +28 -0
  247. package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
  248. package/dist/services/RewardsIntegrationService.mjs +116 -0
  249. package/dist/services/RewardsIntegrationService.mjs.map +1 -0
  250. package/dist/services/ServiceContext.cjs +3 -0
  251. package/dist/services/ServiceContext.cjs.map +1 -0
  252. package/dist/services/ServiceContext.d.cts +86 -0
  253. package/dist/services/ServiceContext.d.cts.map +1 -0
  254. package/dist/services/ServiceContext.d.mts +86 -0
  255. package/dist/services/ServiceContext.d.mts.map +1 -0
  256. package/dist/services/ServiceContext.mjs +2 -0
  257. package/dist/services/ServiceContext.mjs.map +1 -0
  258. package/dist/services/TradingReadinessCache.cjs +288 -0
  259. package/dist/services/TradingReadinessCache.cjs.map +1 -0
  260. package/dist/services/TradingReadinessCache.d.cts +174 -0
  261. package/dist/services/TradingReadinessCache.d.cts.map +1 -0
  262. package/dist/services/TradingReadinessCache.d.mts +174 -0
  263. package/dist/services/TradingReadinessCache.d.mts.map +1 -0
  264. package/dist/services/TradingReadinessCache.mjs +285 -0
  265. package/dist/services/TradingReadinessCache.mjs.map +1 -0
  266. package/dist/services/TradingService.cjs +1457 -0
  267. package/dist/services/TradingService.cjs.map +1 -0
  268. package/dist/services/TradingService.d.cts +195 -0
  269. package/dist/services/TradingService.d.cts.map +1 -0
  270. package/dist/services/TradingService.d.mts +195 -0
  271. package/dist/services/TradingService.d.mts.map +1 -0
  272. package/dist/services/TradingService.mjs +1453 -0
  273. package/dist/services/TradingService.mjs.map +1 -0
  274. package/dist/types/config.cjs +3 -0
  275. package/dist/types/config.cjs.map +1 -0
  276. package/dist/types/config.d.cts +49 -0
  277. package/dist/types/config.d.cts.map +1 -0
  278. package/dist/types/config.d.mts +49 -0
  279. package/dist/types/config.d.mts.map +1 -0
  280. package/dist/types/config.mjs +2 -0
  281. package/dist/types/config.mjs.map +1 -0
  282. package/dist/types/hyperliquid-types.cjs +3 -0
  283. package/dist/types/hyperliquid-types.cjs.map +1 -0
  284. package/dist/types/hyperliquid-types.d.cts +20 -0
  285. package/dist/types/hyperliquid-types.d.cts.map +1 -0
  286. package/dist/types/hyperliquid-types.d.mts +20 -0
  287. package/dist/types/hyperliquid-types.d.mts.map +1 -0
  288. package/dist/types/hyperliquid-types.mjs +2 -0
  289. package/dist/types/hyperliquid-types.mjs.map +1 -0
  290. package/dist/types/index.cjs +115 -0
  291. package/dist/types/index.cjs.map +1 -0
  292. package/dist/types/index.d.cts +1262 -0
  293. package/dist/types/index.d.cts.map +1 -0
  294. package/dist/types/index.d.mts +1262 -0
  295. package/dist/types/index.d.mts.map +1 -0
  296. package/dist/types/index.mjs +97 -0
  297. package/dist/types/index.mjs.map +1 -0
  298. package/dist/types/messenger.cjs +3 -0
  299. package/dist/types/messenger.cjs.map +1 -0
  300. package/dist/types/messenger.d.cts +27 -0
  301. package/dist/types/messenger.d.cts.map +1 -0
  302. package/dist/types/messenger.d.mts +27 -0
  303. package/dist/types/messenger.d.mts.map +1 -0
  304. package/dist/types/messenger.mjs +2 -0
  305. package/dist/types/messenger.mjs.map +1 -0
  306. package/dist/types/myx-types.cjs +25 -0
  307. package/dist/types/myx-types.cjs.map +1 -0
  308. package/dist/types/myx-types.d.cts +63 -0
  309. package/dist/types/myx-types.d.cts.map +1 -0
  310. package/dist/types/myx-types.d.mts +63 -0
  311. package/dist/types/myx-types.d.mts.map +1 -0
  312. package/dist/types/myx-types.mjs +22 -0
  313. package/dist/types/myx-types.mjs.map +1 -0
  314. package/dist/types/perps-types.cjs +4 -0
  315. package/dist/types/perps-types.cjs.map +1 -0
  316. package/dist/types/perps-types.d.cts +105 -0
  317. package/dist/types/perps-types.d.cts.map +1 -0
  318. package/dist/types/perps-types.d.mts +105 -0
  319. package/dist/types/perps-types.d.mts.map +1 -0
  320. package/dist/types/perps-types.mjs +2 -0
  321. package/dist/types/perps-types.mjs.map +1 -0
  322. package/dist/types/token.cjs +3 -0
  323. package/dist/types/token.cjs.map +1 -0
  324. package/dist/types/token.d.cts +25 -0
  325. package/dist/types/token.d.cts.map +1 -0
  326. package/dist/types/token.d.mts +25 -0
  327. package/dist/types/token.d.mts.map +1 -0
  328. package/dist/types/token.mjs +2 -0
  329. package/dist/types/token.mjs.map +1 -0
  330. package/dist/types/transactionTypes.cjs +28 -0
  331. package/dist/types/transactionTypes.cjs.map +1 -0
  332. package/dist/types/transactionTypes.d.cts +64 -0
  333. package/dist/types/transactionTypes.d.cts.map +1 -0
  334. package/dist/types/transactionTypes.d.mts +64 -0
  335. package/dist/types/transactionTypes.d.mts.map +1 -0
  336. package/dist/types/transactionTypes.mjs +23 -0
  337. package/dist/types/transactionTypes.mjs.map +1 -0
  338. package/dist/utils/accountUtils.cjs +100 -0
  339. package/dist/utils/accountUtils.cjs.map +1 -0
  340. package/dist/utils/accountUtils.d.cts +30 -0
  341. package/dist/utils/accountUtils.d.cts.map +1 -0
  342. package/dist/utils/accountUtils.d.mts +30 -0
  343. package/dist/utils/accountUtils.d.mts.map +1 -0
  344. package/dist/utils/accountUtils.mjs +92 -0
  345. package/dist/utils/accountUtils.mjs.map +1 -0
  346. package/dist/utils/errorUtils.cjs +35 -0
  347. package/dist/utils/errorUtils.cjs.map +1 -0
  348. package/dist/utils/errorUtils.d.cts +15 -0
  349. package/dist/utils/errorUtils.d.cts.map +1 -0
  350. package/dist/utils/errorUtils.d.mts +15 -0
  351. package/dist/utils/errorUtils.d.mts.map +1 -0
  352. package/dist/utils/errorUtils.mjs +31 -0
  353. package/dist/utils/errorUtils.mjs.map +1 -0
  354. package/dist/utils/hyperLiquidAdapter.cjs +331 -0
  355. package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
  356. package/dist/utils/hyperLiquidAdapter.d.cts +42 -0
  357. package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
  358. package/dist/utils/hyperLiquidAdapter.d.mts +42 -0
  359. package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
  360. package/dist/utils/hyperLiquidAdapter.mjs +316 -0
  361. package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
  362. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +83 -0
  363. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
  364. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +55 -0
  365. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
  366. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +55 -0
  367. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
  368. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +78 -0
  369. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
  370. package/dist/utils/hyperLiquidValidation.cjs +426 -0
  371. package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
  372. package/dist/utils/hyperLiquidValidation.d.cts +143 -0
  373. package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
  374. package/dist/utils/hyperLiquidValidation.d.mts +143 -0
  375. package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
  376. package/dist/utils/hyperLiquidValidation.mjs +413 -0
  377. package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
  378. package/dist/utils/idUtils.cjs +18 -0
  379. package/dist/utils/idUtils.cjs.map +1 -0
  380. package/dist/utils/idUtils.d.cts +6 -0
  381. package/dist/utils/idUtils.d.cts.map +1 -0
  382. package/dist/utils/idUtils.d.mts +6 -0
  383. package/dist/utils/idUtils.d.mts.map +1 -0
  384. package/dist/utils/idUtils.mjs +10 -0
  385. package/dist/utils/idUtils.mjs.map +1 -0
  386. package/dist/utils/index.cjs +59 -0
  387. package/dist/utils/index.cjs.map +1 -0
  388. package/dist/utils/index.d.cts +25 -0
  389. package/dist/utils/index.d.cts.map +1 -0
  390. package/dist/utils/index.d.mts +25 -0
  391. package/dist/utils/index.d.mts.map +1 -0
  392. package/dist/utils/index.mjs +30 -0
  393. package/dist/utils/index.mjs.map +1 -0
  394. package/dist/utils/marketDataTransform.cjs +211 -0
  395. package/dist/utils/marketDataTransform.cjs.map +1 -0
  396. package/dist/utils/marketDataTransform.d.cts +40 -0
  397. package/dist/utils/marketDataTransform.d.cts.map +1 -0
  398. package/dist/utils/marketDataTransform.d.mts +40 -0
  399. package/dist/utils/marketDataTransform.d.mts.map +1 -0
  400. package/dist/utils/marketDataTransform.mjs +205 -0
  401. package/dist/utils/marketDataTransform.mjs.map +1 -0
  402. package/dist/utils/marketUtils.cjs +151 -0
  403. package/dist/utils/marketUtils.cjs.map +1 -0
  404. package/dist/utils/marketUtils.d.cts +30 -0
  405. package/dist/utils/marketUtils.d.cts.map +1 -0
  406. package/dist/utils/marketUtils.d.mts +30 -0
  407. package/dist/utils/marketUtils.d.mts.map +1 -0
  408. package/dist/utils/marketUtils.mjs +138 -0
  409. package/dist/utils/marketUtils.mjs.map +1 -0
  410. package/dist/utils/myxAdapter.cjs +224 -0
  411. package/dist/utils/myxAdapter.cjs.map +1 -0
  412. package/dist/utils/myxAdapter.d.cts +81 -0
  413. package/dist/utils/myxAdapter.d.cts.map +1 -0
  414. package/dist/utils/myxAdapter.d.mts +81 -0
  415. package/dist/utils/myxAdapter.d.mts.map +1 -0
  416. package/dist/utils/myxAdapter.mjs +213 -0
  417. package/dist/utils/myxAdapter.mjs.map +1 -0
  418. package/dist/utils/orderCalculations.cjs +283 -0
  419. package/dist/utils/orderCalculations.cjs.map +1 -0
  420. package/dist/utils/orderCalculations.d.cts +107 -0
  421. package/dist/utils/orderCalculations.d.cts.map +1 -0
  422. package/dist/utils/orderCalculations.d.mts +107 -0
  423. package/dist/utils/orderCalculations.d.mts.map +1 -0
  424. package/dist/utils/orderCalculations.mjs +274 -0
  425. package/dist/utils/orderCalculations.mjs.map +1 -0
  426. package/dist/utils/rewardsUtils.cjs +98 -0
  427. package/dist/utils/rewardsUtils.cjs.map +1 -0
  428. package/dist/utils/rewardsUtils.d.cts +33 -0
  429. package/dist/utils/rewardsUtils.d.cts.map +1 -0
  430. package/dist/utils/rewardsUtils.d.mts +33 -0
  431. package/dist/utils/rewardsUtils.d.mts.map +1 -0
  432. package/dist/utils/rewardsUtils.mjs +92 -0
  433. package/dist/utils/rewardsUtils.mjs.map +1 -0
  434. package/dist/utils/significantFigures.cjs +88 -0
  435. package/dist/utils/significantFigures.cjs.map +1 -0
  436. package/dist/utils/significantFigures.d.cts +25 -0
  437. package/dist/utils/significantFigures.d.cts.map +1 -0
  438. package/dist/utils/significantFigures.d.mts +25 -0
  439. package/dist/utils/significantFigures.d.mts.map +1 -0
  440. package/dist/utils/significantFigures.mjs +82 -0
  441. package/dist/utils/significantFigures.mjs.map +1 -0
  442. package/dist/utils/sortMarkets.cjs +93 -0
  443. package/dist/utils/sortMarkets.cjs.map +1 -0
  444. package/dist/utils/sortMarkets.d.cts +27 -0
  445. package/dist/utils/sortMarkets.d.cts.map +1 -0
  446. package/dist/utils/sortMarkets.d.mts +27 -0
  447. package/dist/utils/sortMarkets.d.mts.map +1 -0
  448. package/dist/utils/sortMarkets.mjs +88 -0
  449. package/dist/utils/sortMarkets.mjs.map +1 -0
  450. package/dist/utils/standaloneInfoClient.cjs +70 -0
  451. package/dist/utils/standaloneInfoClient.cjs.map +1 -0
  452. package/dist/utils/standaloneInfoClient.d.cts +37 -0
  453. package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
  454. package/dist/utils/standaloneInfoClient.d.mts +37 -0
  455. package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
  456. package/dist/utils/standaloneInfoClient.mjs +64 -0
  457. package/dist/utils/standaloneInfoClient.mjs.map +1 -0
  458. package/dist/utils/stringParseUtils.cjs +18 -0
  459. package/dist/utils/stringParseUtils.cjs.map +1 -0
  460. package/dist/utils/stringParseUtils.d.cts +3 -0
  461. package/dist/utils/stringParseUtils.d.cts.map +1 -0
  462. package/dist/utils/stringParseUtils.d.mts +3 -0
  463. package/dist/utils/stringParseUtils.d.mts.map +1 -0
  464. package/dist/utils/stringParseUtils.mjs +13 -0
  465. package/dist/utils/stringParseUtils.mjs.map +1 -0
  466. package/dist/utils/transferData.cjs +33 -0
  467. package/dist/utils/transferData.cjs.map +1 -0
  468. package/dist/utils/transferData.d.cts +9 -0
  469. package/dist/utils/transferData.d.cts.map +1 -0
  470. package/dist/utils/transferData.d.mts +9 -0
  471. package/dist/utils/transferData.d.mts.map +1 -0
  472. package/dist/utils/transferData.mjs +29 -0
  473. package/dist/utils/transferData.mjs.map +1 -0
  474. package/dist/utils/wait.cjs +6 -0
  475. package/dist/utils/wait.cjs.map +1 -0
  476. package/dist/utils/wait.d.cts +2 -0
  477. package/dist/utils/wait.d.cts.map +1 -0
  478. package/dist/utils/wait.d.mts +2 -0
  479. package/dist/utils/wait.d.mts.map +1 -0
  480. package/dist/utils/wait.mjs +2 -0
  481. package/dist/utils/wait.mjs.map +1 -0
  482. package/package.json +16 -2
@@ -0,0 +1,219 @@
1
+ /**
2
+ * MYX Protocol Configuration Constants
3
+ *
4
+ * Stage 1 configuration for market display and price fetching.
5
+ * Based on MYX SDK patterns but simplified for read-only operations.
6
+ */
7
+ import { BigNumber } from "bignumber.js";
8
+ // ============================================================================
9
+ // Network Constants
10
+ // ============================================================================
11
+ /**
12
+ * BNB Chain IDs - MYX's primary network
13
+ */
14
+ export const BNB_MAINNET_CHAIN_ID = '56';
15
+ export const BNB_TESTNET_CHAIN_ID = '97';
16
+ export const BNB_MAINNET_CAIP_CHAIN_ID = `eip155:${BNB_MAINNET_CHAIN_ID}`;
17
+ export const BNB_TESTNET_CAIP_CHAIN_ID = `eip155:${BNB_TESTNET_CHAIN_ID}`;
18
+ /**
19
+ * Get numeric chain ID for MYX network
20
+ *
21
+ * @param network - The MYX network environment (mainnet or testnet).
22
+ * @returns The numeric chain ID for the specified network.
23
+ */
24
+ export function getMYXChainId(network) {
25
+ return network === 'testnet'
26
+ ? parseInt(BNB_TESTNET_CHAIN_ID, 10)
27
+ : parseInt(BNB_MAINNET_CHAIN_ID, 10);
28
+ }
29
+ // ============================================================================
30
+ // API Endpoints
31
+ // ============================================================================
32
+ /**
33
+ * MYX REST and WebSocket endpoints
34
+ */
35
+ export const MYX_ENDPOINTS = {
36
+ mainnet: {
37
+ http: 'https://api.myx.finance',
38
+ ws: 'wss://ws.myx.finance',
39
+ },
40
+ testnet: {
41
+ http: 'https://api-beta.myx.finance',
42
+ ws: 'wss://ws-beta.myx.finance',
43
+ },
44
+ };
45
+ /**
46
+ * Get HTTP endpoint for network
47
+ *
48
+ * @param network - The MYX network environment (mainnet or testnet).
49
+ * @returns The HTTP API endpoint URL for the specified network.
50
+ */
51
+ export function getMYXHttpEndpoint(network) {
52
+ return MYX_ENDPOINTS[network].http;
53
+ }
54
+ // ============================================================================
55
+ // Decimal Constants
56
+ // ============================================================================
57
+ /**
58
+ * MYX uses 30 decimals for price representation
59
+ * This is consistent with the SDK's internal format
60
+ */
61
+ export const MYX_PRICE_DECIMALS = 30;
62
+ /**
63
+ * MYX uses 18 decimals for position sizes
64
+ */
65
+ export const MYX_SIZE_DECIMALS = 18;
66
+ /**
67
+ * MYX uses 18 decimals for collateral amounts (USDT on BNB)
68
+ */
69
+ export const MYX_COLLATERAL_DECIMALS = 18;
70
+ // ============================================================================
71
+ // Token Addresses
72
+ // ============================================================================
73
+ /**
74
+ * USDT token address on BNB testnet
75
+ */
76
+ export const USDT_BNB_TESTNET = '0x337610d27c682e347c9cd60bd4b3b107c9d34ddd';
77
+ /**
78
+ * USDT token address on BNB mainnet
79
+ */
80
+ export const USDT_BNB_MAINNET = '0x55d398326f99059ff775485246999027b3197955';
81
+ /**
82
+ * USDT configuration by network
83
+ */
84
+ export const MYX_ASSET_CONFIGS = {
85
+ USDT: {
86
+ mainnet: {
87
+ chainId: BNB_MAINNET_CAIP_CHAIN_ID,
88
+ tokenAddress: USDT_BNB_MAINNET,
89
+ },
90
+ testnet: {
91
+ chainId: BNB_TESTNET_CAIP_CHAIN_ID,
92
+ tokenAddress: USDT_BNB_TESTNET,
93
+ },
94
+ },
95
+ };
96
+ // ============================================================================
97
+ // Decimal Conversion Helpers
98
+ // ============================================================================
99
+ /**
100
+ * Convert MYX SDK price (30 decimals) to standard number
101
+ *
102
+ * @param myxPrice - Price string in 30-decimal format from SDK
103
+ * @returns Standard decimal number
104
+ */
105
+ export function fromMYXPrice(myxPrice) {
106
+ if (!myxPrice || myxPrice === '0') {
107
+ return 0;
108
+ }
109
+ try {
110
+ const bn = new BigNumber(myxPrice);
111
+ if (bn.isNaN()) {
112
+ return 0;
113
+ }
114
+ const divisor = new BigNumber(10).pow(MYX_PRICE_DECIMALS);
115
+ return bn.dividedBy(divisor).toNumber();
116
+ }
117
+ catch {
118
+ return 0;
119
+ }
120
+ }
121
+ /**
122
+ * Convert standard number to MYX SDK price format (30 decimals)
123
+ *
124
+ * @param price - Standard decimal number
125
+ * @returns Price string in 30-decimal format for SDK
126
+ */
127
+ export function toMYXPrice(price) {
128
+ try {
129
+ const bn = new BigNumber(price);
130
+ if (bn.isNaN()) {
131
+ return '0';
132
+ }
133
+ const multiplier = new BigNumber(10).pow(MYX_PRICE_DECIMALS);
134
+ return bn.multipliedBy(multiplier).toFixed(0);
135
+ }
136
+ catch {
137
+ return '0';
138
+ }
139
+ }
140
+ /**
141
+ * Convert MYX SDK size (18 decimals) to standard number
142
+ *
143
+ * @param myxSize - Size string in 18-decimal format from SDK
144
+ * @returns Standard decimal number
145
+ */
146
+ export function fromMYXSize(myxSize) {
147
+ if (!myxSize || myxSize === '0') {
148
+ return 0;
149
+ }
150
+ try {
151
+ const bn = new BigNumber(myxSize);
152
+ if (bn.isNaN()) {
153
+ return 0;
154
+ }
155
+ const divisor = new BigNumber(10).pow(MYX_SIZE_DECIMALS);
156
+ return bn.dividedBy(divisor).toNumber();
157
+ }
158
+ catch {
159
+ return 0;
160
+ }
161
+ }
162
+ /**
163
+ * Convert standard number to MYX SDK size format (18 decimals)
164
+ *
165
+ * @param size - Standard decimal number
166
+ * @returns Size string in 18-decimal format for SDK
167
+ */
168
+ export function toMYXSize(size) {
169
+ try {
170
+ const bn = new BigNumber(size);
171
+ if (bn.isNaN()) {
172
+ return '0';
173
+ }
174
+ const multiplier = new BigNumber(10).pow(MYX_SIZE_DECIMALS);
175
+ return bn.multipliedBy(multiplier).toFixed(0);
176
+ }
177
+ catch {
178
+ return '0';
179
+ }
180
+ }
181
+ /**
182
+ * Convert MYX SDK collateral (18 decimals) to standard number
183
+ *
184
+ * @param myxCollateral - Collateral string in 18-decimal format from SDK
185
+ * @returns Standard decimal number
186
+ */
187
+ export function fromMYXCollateral(myxCollateral) {
188
+ if (!myxCollateral || myxCollateral === '0') {
189
+ return 0;
190
+ }
191
+ try {
192
+ const bn = new BigNumber(myxCollateral);
193
+ if (bn.isNaN()) {
194
+ return 0;
195
+ }
196
+ const divisor = new BigNumber(10).pow(MYX_COLLATERAL_DECIMALS);
197
+ return bn.dividedBy(divisor).toNumber();
198
+ }
199
+ catch {
200
+ return 0;
201
+ }
202
+ }
203
+ // ============================================================================
204
+ // REST API Configuration
205
+ // ============================================================================
206
+ /**
207
+ * Price polling interval in milliseconds
208
+ * Using 5 seconds as a fallback for unreliable WebSocket
209
+ */
210
+ export const MYX_PRICE_POLLING_INTERVAL_MS = 5000;
211
+ /**
212
+ * HTTP request timeout in milliseconds
213
+ */
214
+ export const MYX_HTTP_TIMEOUT_MS = 10000;
215
+ /**
216
+ * Maximum retries for failed API requests
217
+ */
218
+ export const MYX_MAX_RETRIES = 3;
219
+ //# sourceMappingURL=myxConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"myxConfig.mjs","sourceRoot":"","sources":["../../src/constants/myxConfig.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MYX Protocol Configuration Constants\n *\n * Stage 1 configuration for market display and price fetching.\n * Based on MYX SDK patterns but simplified for read-only operations.\n */\n\nimport type { CaipChainId } from '@metamask/utils';\nimport { BigNumber } from 'bignumber.js';\n\nimport type {\n MYXNetwork,\n MYXEndpoints,\n MYXAssetConfigs,\n} from '../types/myx-types';\n\n// ============================================================================\n// Network Constants\n// ============================================================================\n\n/**\n * BNB Chain IDs - MYX's primary network\n */\nexport const BNB_MAINNET_CHAIN_ID = '56' as const;\nexport const BNB_TESTNET_CHAIN_ID = '97' as const;\nexport const BNB_MAINNET_CAIP_CHAIN_ID =\n `eip155:${BNB_MAINNET_CHAIN_ID}` as CaipChainId;\nexport const BNB_TESTNET_CAIP_CHAIN_ID =\n `eip155:${BNB_TESTNET_CHAIN_ID}` as CaipChainId;\n\n/**\n * Get numeric chain ID for MYX network\n *\n * @param network - The MYX network environment (mainnet or testnet).\n * @returns The numeric chain ID for the specified network.\n */\nexport function getMYXChainId(network: MYXNetwork): number {\n return network === 'testnet'\n ? parseInt(BNB_TESTNET_CHAIN_ID, 10)\n : parseInt(BNB_MAINNET_CHAIN_ID, 10);\n}\n\n// ============================================================================\n// API Endpoints\n// ============================================================================\n\n/**\n * MYX REST and WebSocket endpoints\n */\nexport const MYX_ENDPOINTS: MYXEndpoints = {\n mainnet: {\n http: 'https://api.myx.finance',\n ws: 'wss://ws.myx.finance',\n },\n testnet: {\n http: 'https://api-beta.myx.finance',\n ws: 'wss://ws-beta.myx.finance',\n },\n};\n\n/**\n * Get HTTP endpoint for network\n *\n * @param network - The MYX network environment (mainnet or testnet).\n * @returns The HTTP API endpoint URL for the specified network.\n */\nexport function getMYXHttpEndpoint(network: MYXNetwork): string {\n return MYX_ENDPOINTS[network].http;\n}\n\n// ============================================================================\n// Decimal Constants\n// ============================================================================\n\n/**\n * MYX uses 30 decimals for price representation\n * This is consistent with the SDK's internal format\n */\nexport const MYX_PRICE_DECIMALS = 30;\n\n/**\n * MYX uses 18 decimals for position sizes\n */\nexport const MYX_SIZE_DECIMALS = 18;\n\n/**\n * MYX uses 18 decimals for collateral amounts (USDT on BNB)\n */\nexport const MYX_COLLATERAL_DECIMALS = 18;\n\n// ============================================================================\n// Token Addresses\n// ============================================================================\n\n/**\n * USDT token address on BNB testnet\n */\nexport const USDT_BNB_TESTNET =\n '0x337610d27c682e347c9cd60bd4b3b107c9d34ddd' as const;\n\n/**\n * USDT token address on BNB mainnet\n */\nexport const USDT_BNB_MAINNET =\n '0x55d398326f99059ff775485246999027b3197955' as const;\n\n/**\n * USDT configuration by network\n */\nexport const MYX_ASSET_CONFIGS: MYXAssetConfigs = {\n USDT: {\n mainnet: {\n chainId: BNB_MAINNET_CAIP_CHAIN_ID,\n tokenAddress: USDT_BNB_MAINNET,\n },\n testnet: {\n chainId: BNB_TESTNET_CAIP_CHAIN_ID,\n tokenAddress: USDT_BNB_TESTNET,\n },\n },\n};\n\n// ============================================================================\n// Decimal Conversion Helpers\n// ============================================================================\n\n/**\n * Convert MYX SDK price (30 decimals) to standard number\n *\n * @param myxPrice - Price string in 30-decimal format from SDK\n * @returns Standard decimal number\n */\nexport function fromMYXPrice(myxPrice: string): number {\n if (!myxPrice || myxPrice === '0') {\n return 0;\n }\n\n try {\n const bn = new BigNumber(myxPrice);\n if (bn.isNaN()) {\n return 0;\n }\n const divisor = new BigNumber(10).pow(MYX_PRICE_DECIMALS);\n return bn.dividedBy(divisor).toNumber();\n } catch {\n return 0;\n }\n}\n\n/**\n * Convert standard number to MYX SDK price format (30 decimals)\n *\n * @param price - Standard decimal number\n * @returns Price string in 30-decimal format for SDK\n */\nexport function toMYXPrice(price: number | string): string {\n try {\n const bn = new BigNumber(price);\n if (bn.isNaN()) {\n return '0';\n }\n const multiplier = new BigNumber(10).pow(MYX_PRICE_DECIMALS);\n return bn.multipliedBy(multiplier).toFixed(0);\n } catch {\n return '0';\n }\n}\n\n/**\n * Convert MYX SDK size (18 decimals) to standard number\n *\n * @param myxSize - Size string in 18-decimal format from SDK\n * @returns Standard decimal number\n */\nexport function fromMYXSize(myxSize: string): number {\n if (!myxSize || myxSize === '0') {\n return 0;\n }\n\n try {\n const bn = new BigNumber(myxSize);\n if (bn.isNaN()) {\n return 0;\n }\n const divisor = new BigNumber(10).pow(MYX_SIZE_DECIMALS);\n return bn.dividedBy(divisor).toNumber();\n } catch {\n return 0;\n }\n}\n\n/**\n * Convert standard number to MYX SDK size format (18 decimals)\n *\n * @param size - Standard decimal number\n * @returns Size string in 18-decimal format for SDK\n */\nexport function toMYXSize(size: number | string): string {\n try {\n const bn = new BigNumber(size);\n if (bn.isNaN()) {\n return '0';\n }\n const multiplier = new BigNumber(10).pow(MYX_SIZE_DECIMALS);\n return bn.multipliedBy(multiplier).toFixed(0);\n } catch {\n return '0';\n }\n}\n\n/**\n * Convert MYX SDK collateral (18 decimals) to standard number\n *\n * @param myxCollateral - Collateral string in 18-decimal format from SDK\n * @returns Standard decimal number\n */\nexport function fromMYXCollateral(myxCollateral: string): number {\n if (!myxCollateral || myxCollateral === '0') {\n return 0;\n }\n\n try {\n const bn = new BigNumber(myxCollateral);\n if (bn.isNaN()) {\n return 0;\n }\n const divisor = new BigNumber(10).pow(MYX_COLLATERAL_DECIMALS);\n return bn.dividedBy(divisor).toNumber();\n } catch {\n return 0;\n }\n}\n\n// ============================================================================\n// REST API Configuration\n// ============================================================================\n\n/**\n * Price polling interval in milliseconds\n * Using 5 seconds as a fallback for unreliable WebSocket\n */\nexport const MYX_PRICE_POLLING_INTERVAL_MS = 5000;\n\n/**\n * HTTP request timeout in milliseconds\n */\nexport const MYX_HTTP_TIMEOUT_MS = 10000;\n\n/**\n * Maximum retries for failed API requests\n */\nexport const MYX_MAX_RETRIES = 3;\n"]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTPSLOrder = exports.DETAILED_ORDER_TYPES = void 0;
4
+ /**
5
+ * Detailed order types from HyperLiquid API
6
+ */
7
+ exports.DETAILED_ORDER_TYPES = {
8
+ LIMIT: 'Limit',
9
+ MARKET: 'Market',
10
+ STOP_LIMIT: 'Stop Limit',
11
+ STOP_MARKET: 'Stop Market',
12
+ TAKE_PROFIT_LIMIT: 'Take Profit Limit',
13
+ TAKE_PROFIT_MARKET: 'Take Profit Market',
14
+ };
15
+ /**
16
+ * Check if an order type is a TP/SL order
17
+ *
18
+ * @param detailedOrderType - The detailed order type string to check.
19
+ * @returns True if the order type is a take-profit or stop-loss variant.
20
+ */
21
+ const isTPSLOrder = (detailedOrderType) => {
22
+ if (!detailedOrderType) {
23
+ return false;
24
+ }
25
+ return (detailedOrderType === exports.DETAILED_ORDER_TYPES.STOP_LIMIT ||
26
+ detailedOrderType === exports.DETAILED_ORDER_TYPES.STOP_MARKET ||
27
+ detailedOrderType === exports.DETAILED_ORDER_TYPES.TAKE_PROFIT_LIMIT ||
28
+ detailedOrderType === exports.DETAILED_ORDER_TYPES.TAKE_PROFIT_MARKET);
29
+ };
30
+ exports.isTPSLOrder = isTPSLOrder;
31
+ //# sourceMappingURL=orderTypes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderTypes.cjs","sourceRoot":"","sources":["../../src/constants/orderTypes.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAEX;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,iBAA0B,EAAW,EAAE;IACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,iBAAiB,KAAK,4BAAoB,CAAC,UAAU;QACrD,iBAAiB,KAAK,4BAAoB,CAAC,WAAW;QACtD,iBAAiB,KAAK,4BAAoB,CAAC,iBAAiB;QAC5D,iBAAiB,KAAK,4BAAoB,CAAC,kBAAkB,CAC9D,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB","sourcesContent":["/**\n * Detailed order types from HyperLiquid API\n */\nexport const DETAILED_ORDER_TYPES = {\n LIMIT: 'Limit',\n MARKET: 'Market',\n STOP_LIMIT: 'Stop Limit',\n STOP_MARKET: 'Stop Market',\n TAKE_PROFIT_LIMIT: 'Take Profit Limit',\n TAKE_PROFIT_MARKET: 'Take Profit Market',\n} as const;\n\n/**\n * Check if an order type is a TP/SL order\n *\n * @param detailedOrderType - The detailed order type string to check.\n * @returns True if the order type is a take-profit or stop-loss variant.\n */\nexport const isTPSLOrder = (detailedOrderType?: string): boolean => {\n if (!detailedOrderType) {\n return false;\n }\n return (\n detailedOrderType === DETAILED_ORDER_TYPES.STOP_LIMIT ||\n detailedOrderType === DETAILED_ORDER_TYPES.STOP_MARKET ||\n detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_LIMIT ||\n detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_MARKET\n );\n};\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Detailed order types from HyperLiquid API
3
+ */
4
+ export declare const DETAILED_ORDER_TYPES: {
5
+ readonly LIMIT: "Limit";
6
+ readonly MARKET: "Market";
7
+ readonly STOP_LIMIT: "Stop Limit";
8
+ readonly STOP_MARKET: "Stop Market";
9
+ readonly TAKE_PROFIT_LIMIT: "Take Profit Limit";
10
+ readonly TAKE_PROFIT_MARKET: "Take Profit Market";
11
+ };
12
+ /**
13
+ * Check if an order type is a TP/SL order
14
+ *
15
+ * @param detailedOrderType - The detailed order type string to check.
16
+ * @returns True if the order type is a take-profit or stop-loss variant.
17
+ */
18
+ export declare const isTPSLOrder: (detailedOrderType?: string) => boolean;
19
+ //# sourceMappingURL=orderTypes.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderTypes.d.cts","sourceRoot":"","sources":["../../src/constants/orderTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;CAOvB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW,uBAAwB,MAAM,KAAG,OAUxD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Detailed order types from HyperLiquid API
3
+ */
4
+ export declare const DETAILED_ORDER_TYPES: {
5
+ readonly LIMIT: "Limit";
6
+ readonly MARKET: "Market";
7
+ readonly STOP_LIMIT: "Stop Limit";
8
+ readonly STOP_MARKET: "Stop Market";
9
+ readonly TAKE_PROFIT_LIMIT: "Take Profit Limit";
10
+ readonly TAKE_PROFIT_MARKET: "Take Profit Market";
11
+ };
12
+ /**
13
+ * Check if an order type is a TP/SL order
14
+ *
15
+ * @param detailedOrderType - The detailed order type string to check.
16
+ * @returns True if the order type is a take-profit or stop-loss variant.
17
+ */
18
+ export declare const isTPSLOrder: (detailedOrderType?: string) => boolean;
19
+ //# sourceMappingURL=orderTypes.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderTypes.d.mts","sourceRoot":"","sources":["../../src/constants/orderTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;CAOvB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW,uBAAwB,MAAM,KAAG,OAUxD,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Detailed order types from HyperLiquid API
3
+ */
4
+ export const DETAILED_ORDER_TYPES = {
5
+ LIMIT: 'Limit',
6
+ MARKET: 'Market',
7
+ STOP_LIMIT: 'Stop Limit',
8
+ STOP_MARKET: 'Stop Market',
9
+ TAKE_PROFIT_LIMIT: 'Take Profit Limit',
10
+ TAKE_PROFIT_MARKET: 'Take Profit Market',
11
+ };
12
+ /**
13
+ * Check if an order type is a TP/SL order
14
+ *
15
+ * @param detailedOrderType - The detailed order type string to check.
16
+ * @returns True if the order type is a take-profit or stop-loss variant.
17
+ */
18
+ export const isTPSLOrder = (detailedOrderType) => {
19
+ if (!detailedOrderType) {
20
+ return false;
21
+ }
22
+ return (detailedOrderType === DETAILED_ORDER_TYPES.STOP_LIMIT ||
23
+ detailedOrderType === DETAILED_ORDER_TYPES.STOP_MARKET ||
24
+ detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_LIMIT ||
25
+ detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_MARKET);
26
+ };
27
+ //# sourceMappingURL=orderTypes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderTypes.mjs","sourceRoot":"","sources":["../../src/constants/orderTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,iBAA0B,EAAW,EAAE;IACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,iBAAiB,KAAK,oBAAoB,CAAC,UAAU;QACrD,iBAAiB,KAAK,oBAAoB,CAAC,WAAW;QACtD,iBAAiB,KAAK,oBAAoB,CAAC,iBAAiB;QAC5D,iBAAiB,KAAK,oBAAoB,CAAC,kBAAkB,CAC9D,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * Detailed order types from HyperLiquid API\n */\nexport const DETAILED_ORDER_TYPES = {\n LIMIT: 'Limit',\n MARKET: 'Market',\n STOP_LIMIT: 'Stop Limit',\n STOP_MARKET: 'Stop Market',\n TAKE_PROFIT_LIMIT: 'Take Profit Limit',\n TAKE_PROFIT_MARKET: 'Take Profit Market',\n} as const;\n\n/**\n * Check if an order type is a TP/SL order\n *\n * @param detailedOrderType - The detailed order type string to check.\n * @returns True if the order type is a take-profit or stop-loss variant.\n */\nexport const isTPSLOrder = (detailedOrderType?: string): boolean => {\n if (!detailedOrderType) {\n return false;\n }\n return (\n detailedOrderType === DETAILED_ORDER_TYPES.STOP_LIMIT ||\n detailedOrderType === DETAILED_ORDER_TYPES.STOP_MARKET ||\n detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_LIMIT ||\n detailedOrderType === DETAILED_ORDER_TYPES.TAKE_PROFIT_MARKET\n );\n};\n"]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PerpsMeasurementName = void 0;
4
+ /**
5
+ * Performance measurement names for Sentry monitoring
6
+ * These constants ensure consistency across the Perps feature
7
+ * Used for direct setMeasurement() calls in controllers and services
8
+ *
9
+ * Naming Convention: perps.{category}.{metric_name}
10
+ * - Uses dot notation for hierarchical grouping in Sentry
11
+ * - Categories: websocket, connection, api, operation, screen, ui
12
+ * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation
13
+ */
14
+ var PerpsMeasurementName;
15
+ (function (PerpsMeasurementName) {
16
+ // ===== ACTIVE SENTRY METRICS =====
17
+ // WebSocket Performance Metrics (milliseconds)
18
+ // Tracks WebSocket connection lifecycle and data flow
19
+ PerpsMeasurementName["PerpsWebsocketConnectionEstablishment"] = "perps.websocket.connection_establishment";
20
+ PerpsMeasurementName["PerpsWebsocketConnectionWithPreload"] = "perps.websocket.connection_with_preload";
21
+ PerpsMeasurementName["PerpsWebsocketFirstPositionData"] = "perps.websocket.first_position_data";
22
+ PerpsMeasurementName["PerpsWebsocketAccountSwitchReconnection"] = "perps.websocket.account_switch_reconnection";
23
+ PerpsMeasurementName["PerpsConnectionHealthCheck"] = "perps.websocket.health_check";
24
+ PerpsMeasurementName["PerpsReconnectionHealthCheck"] = "perps.websocket.reconnection_health_check";
25
+ // Connection Lifecycle Metrics (milliseconds)
26
+ // Tracks connection initialization and reconnection sub-stages
27
+ PerpsMeasurementName["PerpsProviderInit"] = "perps.connection.provider_init";
28
+ PerpsMeasurementName["PerpsAccountStateFetch"] = "perps.connection.account_state_fetch";
29
+ PerpsMeasurementName["PerpsSubscriptionsPreload"] = "perps.connection.subscriptions_preload";
30
+ PerpsMeasurementName["PerpsReconnectionCleanup"] = "perps.connection.cleanup";
31
+ PerpsMeasurementName["PerpsControllerReinit"] = "perps.connection.controller_reinit";
32
+ PerpsMeasurementName["PerpsNewAccountFetch"] = "perps.connection.new_account_fetch";
33
+ PerpsMeasurementName["PerpsReconnectionPreload"] = "perps.connection.reconnection_preload";
34
+ // API Call Metrics (milliseconds)
35
+ // Tracks external API performance
36
+ PerpsMeasurementName["PerpsDataLakeApiCall"] = "perps.api.data_lake_call";
37
+ PerpsMeasurementName["PerpsRewardsFeeDiscountApiCall"] = "perps.api.rewards_fee_discount";
38
+ PerpsMeasurementName["PerpsRewardsPointsEstimationApiCall"] = "perps.api.rewards_points_estimation";
39
+ PerpsMeasurementName["PerpsRewardsOrderExecutionFeeDiscountApiCall"] = "perps.api.rewards_order_execution_fee_discount";
40
+ // Data Operation Metrics (milliseconds)
41
+ // Tracks data fetch operations
42
+ PerpsMeasurementName["PerpsGetPositionsOperation"] = "perps.operation.get_positions";
43
+ PerpsMeasurementName["PerpsGetOpenOrdersOperation"] = "perps.operation.get_open_orders";
44
+ PerpsMeasurementName["PerpsMarketDataPreload"] = "perps.operation.market_data_preload";
45
+ PerpsMeasurementName["PerpsUserDataPreload"] = "perps.operation.user_data_preload";
46
+ // Screen Load Metrics (milliseconds)
47
+ // Tracks full screen render performance
48
+ PerpsMeasurementName["PerpsWithdrawalScreenLoaded"] = "perps.screen.withdrawal_loaded";
49
+ PerpsMeasurementName["PerpsMarketsScreenLoaded"] = "perps.screen.markets_loaded";
50
+ PerpsMeasurementName["PerpsAssetScreenLoaded"] = "perps.screen.asset_loaded";
51
+ PerpsMeasurementName["PerpsTradeScreenLoaded"] = "perps.screen.trade_loaded";
52
+ PerpsMeasurementName["PerpsCloseScreenLoaded"] = "perps.screen.close_loaded";
53
+ PerpsMeasurementName["PerpsTransactionHistoryScreenLoaded"] = "perps.screen.transaction_history_loaded";
54
+ PerpsMeasurementName["PerpsTabLoaded"] = "perps.screen.tab_loaded";
55
+ // UI Component Metrics (milliseconds)
56
+ // Tracks individual UI component render performance
57
+ PerpsMeasurementName["PerpsLeverageBottomSheetLoaded"] = "perps.ui.leverage_bottom_sheet_loaded";
58
+ PerpsMeasurementName["PerpsOrderSubmissionToastLoaded"] = "perps.ui.order_submission_toast_loaded";
59
+ PerpsMeasurementName["PerpsOrderConfirmationToastLoaded"] = "perps.ui.order_confirmation_toast_loaded";
60
+ PerpsMeasurementName["PerpsCloseOrderSubmissionToastLoaded"] = "perps.ui.close_order_submission_toast_loaded";
61
+ PerpsMeasurementName["PerpsCloseOrderConfirmationToastLoaded"] = "perps.ui.close_order_confirmation_toast_loaded";
62
+ })(PerpsMeasurementName || (exports.PerpsMeasurementName = PerpsMeasurementName = {}));
63
+ //# sourceMappingURL=performanceMetrics.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceMetrics.cjs","sourceRoot":"","sources":["../../src/constants/performanceMetrics.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,IAAY,oBAqDX;AArDD,WAAY,oBAAoB;IAC9B,oCAAoC;IAEpC,+CAA+C;IAC/C,sDAAsD;IACtD,0GAAkF,CAAA;IAClF,uGAA+E,CAAA;IAC/E,+FAAuE,CAAA;IACvE,+GAAuF,CAAA;IACvF,mFAA2D,CAAA;IAC3D,kGAA0E,CAAA;IAE1E,8CAA8C;IAC9C,+DAA+D;IAC/D,4EAAoD,CAAA;IACpD,uFAA+D,CAAA;IAC/D,4FAAoE,CAAA;IACpE,6EAAqD,CAAA;IACrD,oFAA4D,CAAA;IAC5D,mFAA2D,CAAA;IAC3D,0FAAkE,CAAA;IAElE,kCAAkC;IAClC,kCAAkC;IAClC,yEAAiD,CAAA;IACjD,yFAAiE,CAAA;IACjE,mGAA2E,CAAA;IAC3E,uHAA+F,CAAA;IAE/F,wCAAwC;IACxC,+BAA+B;IAC/B,oFAA4D,CAAA;IAC5D,uFAA+D,CAAA;IAC/D,sFAA8D,CAAA;IAC9D,kFAA0D,CAAA;IAE1D,qCAAqC;IACrC,wCAAwC;IACxC,sFAA8D,CAAA;IAC9D,gFAAwD,CAAA;IACxD,4EAAoD,CAAA;IACpD,4EAAoD,CAAA;IACpD,4EAAoD,CAAA;IACpD,uGAA+E,CAAA;IAC/E,kEAA0C,CAAA;IAE1C,sCAAsC;IACtC,oDAAoD;IACpD,gGAAwE,CAAA;IACxE,kGAA0E,CAAA;IAC1E,sGAA8E,CAAA;IAC9E,6GAAqF,CAAA;IACrF,iHAAyF,CAAA;AAC3F,CAAC,EArDW,oBAAoB,oCAApB,oBAAoB,QAqD/B","sourcesContent":["/**\n * Performance measurement names for Sentry monitoring\n * These constants ensure consistency across the Perps feature\n * Used for direct setMeasurement() calls in controllers and services\n *\n * Naming Convention: perps.{category}.{metric_name}\n * - Uses dot notation for hierarchical grouping in Sentry\n * - Categories: websocket, connection, api, operation, screen, ui\n * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation\n */\nexport enum PerpsMeasurementName {\n // ===== ACTIVE SENTRY METRICS =====\n\n // WebSocket Performance Metrics (milliseconds)\n // Tracks WebSocket connection lifecycle and data flow\n PerpsWebsocketConnectionEstablishment = 'perps.websocket.connection_establishment',\n PerpsWebsocketConnectionWithPreload = 'perps.websocket.connection_with_preload',\n PerpsWebsocketFirstPositionData = 'perps.websocket.first_position_data',\n PerpsWebsocketAccountSwitchReconnection = 'perps.websocket.account_switch_reconnection',\n PerpsConnectionHealthCheck = 'perps.websocket.health_check',\n PerpsReconnectionHealthCheck = 'perps.websocket.reconnection_health_check',\n\n // Connection Lifecycle Metrics (milliseconds)\n // Tracks connection initialization and reconnection sub-stages\n PerpsProviderInit = 'perps.connection.provider_init',\n PerpsAccountStateFetch = 'perps.connection.account_state_fetch',\n PerpsSubscriptionsPreload = 'perps.connection.subscriptions_preload',\n PerpsReconnectionCleanup = 'perps.connection.cleanup',\n PerpsControllerReinit = 'perps.connection.controller_reinit',\n PerpsNewAccountFetch = 'perps.connection.new_account_fetch',\n PerpsReconnectionPreload = 'perps.connection.reconnection_preload',\n\n // API Call Metrics (milliseconds)\n // Tracks external API performance\n PerpsDataLakeApiCall = 'perps.api.data_lake_call',\n PerpsRewardsFeeDiscountApiCall = 'perps.api.rewards_fee_discount',\n PerpsRewardsPointsEstimationApiCall = 'perps.api.rewards_points_estimation',\n PerpsRewardsOrderExecutionFeeDiscountApiCall = 'perps.api.rewards_order_execution_fee_discount',\n\n // Data Operation Metrics (milliseconds)\n // Tracks data fetch operations\n PerpsGetPositionsOperation = 'perps.operation.get_positions',\n PerpsGetOpenOrdersOperation = 'perps.operation.get_open_orders',\n PerpsMarketDataPreload = 'perps.operation.market_data_preload',\n PerpsUserDataPreload = 'perps.operation.user_data_preload',\n\n // Screen Load Metrics (milliseconds)\n // Tracks full screen render performance\n PerpsWithdrawalScreenLoaded = 'perps.screen.withdrawal_loaded',\n PerpsMarketsScreenLoaded = 'perps.screen.markets_loaded',\n PerpsAssetScreenLoaded = 'perps.screen.asset_loaded',\n PerpsTradeScreenLoaded = 'perps.screen.trade_loaded',\n PerpsCloseScreenLoaded = 'perps.screen.close_loaded',\n PerpsTransactionHistoryScreenLoaded = 'perps.screen.transaction_history_loaded',\n PerpsTabLoaded = 'perps.screen.tab_loaded',\n\n // UI Component Metrics (milliseconds)\n // Tracks individual UI component render performance\n PerpsLeverageBottomSheetLoaded = 'perps.ui.leverage_bottom_sheet_loaded',\n PerpsOrderSubmissionToastLoaded = 'perps.ui.order_submission_toast_loaded',\n PerpsOrderConfirmationToastLoaded = 'perps.ui.order_confirmation_toast_loaded',\n PerpsCloseOrderSubmissionToastLoaded = 'perps.ui.close_order_submission_toast_loaded',\n PerpsCloseOrderConfirmationToastLoaded = 'perps.ui.close_order_confirmation_toast_loaded',\n}\n"]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Performance measurement names for Sentry monitoring
3
+ * These constants ensure consistency across the Perps feature
4
+ * Used for direct setMeasurement() calls in controllers and services
5
+ *
6
+ * Naming Convention: perps.{category}.{metric_name}
7
+ * - Uses dot notation for hierarchical grouping in Sentry
8
+ * - Categories: websocket, connection, api, operation, screen, ui
9
+ * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation
10
+ */
11
+ export declare enum PerpsMeasurementName {
12
+ PerpsWebsocketConnectionEstablishment = "perps.websocket.connection_establishment",
13
+ PerpsWebsocketConnectionWithPreload = "perps.websocket.connection_with_preload",
14
+ PerpsWebsocketFirstPositionData = "perps.websocket.first_position_data",
15
+ PerpsWebsocketAccountSwitchReconnection = "perps.websocket.account_switch_reconnection",
16
+ PerpsConnectionHealthCheck = "perps.websocket.health_check",
17
+ PerpsReconnectionHealthCheck = "perps.websocket.reconnection_health_check",
18
+ PerpsProviderInit = "perps.connection.provider_init",
19
+ PerpsAccountStateFetch = "perps.connection.account_state_fetch",
20
+ PerpsSubscriptionsPreload = "perps.connection.subscriptions_preload",
21
+ PerpsReconnectionCleanup = "perps.connection.cleanup",
22
+ PerpsControllerReinit = "perps.connection.controller_reinit",
23
+ PerpsNewAccountFetch = "perps.connection.new_account_fetch",
24
+ PerpsReconnectionPreload = "perps.connection.reconnection_preload",
25
+ PerpsDataLakeApiCall = "perps.api.data_lake_call",
26
+ PerpsRewardsFeeDiscountApiCall = "perps.api.rewards_fee_discount",
27
+ PerpsRewardsPointsEstimationApiCall = "perps.api.rewards_points_estimation",
28
+ PerpsRewardsOrderExecutionFeeDiscountApiCall = "perps.api.rewards_order_execution_fee_discount",
29
+ PerpsGetPositionsOperation = "perps.operation.get_positions",
30
+ PerpsGetOpenOrdersOperation = "perps.operation.get_open_orders",
31
+ PerpsMarketDataPreload = "perps.operation.market_data_preload",
32
+ PerpsUserDataPreload = "perps.operation.user_data_preload",
33
+ PerpsWithdrawalScreenLoaded = "perps.screen.withdrawal_loaded",
34
+ PerpsMarketsScreenLoaded = "perps.screen.markets_loaded",
35
+ PerpsAssetScreenLoaded = "perps.screen.asset_loaded",
36
+ PerpsTradeScreenLoaded = "perps.screen.trade_loaded",
37
+ PerpsCloseScreenLoaded = "perps.screen.close_loaded",
38
+ PerpsTransactionHistoryScreenLoaded = "perps.screen.transaction_history_loaded",
39
+ PerpsTabLoaded = "perps.screen.tab_loaded",
40
+ PerpsLeverageBottomSheetLoaded = "perps.ui.leverage_bottom_sheet_loaded",
41
+ PerpsOrderSubmissionToastLoaded = "perps.ui.order_submission_toast_loaded",
42
+ PerpsOrderConfirmationToastLoaded = "perps.ui.order_confirmation_toast_loaded",
43
+ PerpsCloseOrderSubmissionToastLoaded = "perps.ui.close_order_submission_toast_loaded",
44
+ PerpsCloseOrderConfirmationToastLoaded = "perps.ui.close_order_confirmation_toast_loaded"
45
+ }
46
+ //# sourceMappingURL=performanceMetrics.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceMetrics.d.cts","sourceRoot":"","sources":["../../src/constants/performanceMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,oBAAY,oBAAoB;IAK9B,qCAAqC,6CAA6C;IAClF,mCAAmC,4CAA4C;IAC/E,+BAA+B,wCAAwC;IACvE,uCAAuC,gDAAgD;IACvF,0BAA0B,iCAAiC;IAC3D,4BAA4B,8CAA8C;IAI1E,iBAAiB,mCAAmC;IACpD,sBAAsB,yCAAyC;IAC/D,yBAAyB,2CAA2C;IACpE,wBAAwB,6BAA6B;IACrD,qBAAqB,uCAAuC;IAC5D,oBAAoB,uCAAuC;IAC3D,wBAAwB,0CAA0C;IAIlE,oBAAoB,6BAA6B;IACjD,8BAA8B,mCAAmC;IACjE,mCAAmC,wCAAwC;IAC3E,4CAA4C,mDAAmD;IAI/F,0BAA0B,kCAAkC;IAC5D,2BAA2B,oCAAoC;IAC/D,sBAAsB,wCAAwC;IAC9D,oBAAoB,sCAAsC;IAI1D,2BAA2B,mCAAmC;IAC9D,wBAAwB,gCAAgC;IACxD,sBAAsB,8BAA8B;IACpD,sBAAsB,8BAA8B;IACpD,sBAAsB,8BAA8B;IACpD,mCAAmC,4CAA4C;IAC/E,cAAc,4BAA4B;IAI1C,8BAA8B,0CAA0C;IACxE,+BAA+B,2CAA2C;IAC1E,iCAAiC,6CAA6C;IAC9E,oCAAoC,iDAAiD;IACrF,sCAAsC,mDAAmD;CAC1F"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Performance measurement names for Sentry monitoring
3
+ * These constants ensure consistency across the Perps feature
4
+ * Used for direct setMeasurement() calls in controllers and services
5
+ *
6
+ * Naming Convention: perps.{category}.{metric_name}
7
+ * - Uses dot notation for hierarchical grouping in Sentry
8
+ * - Categories: websocket, connection, api, operation, screen, ui
9
+ * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation
10
+ */
11
+ export declare enum PerpsMeasurementName {
12
+ PerpsWebsocketConnectionEstablishment = "perps.websocket.connection_establishment",
13
+ PerpsWebsocketConnectionWithPreload = "perps.websocket.connection_with_preload",
14
+ PerpsWebsocketFirstPositionData = "perps.websocket.first_position_data",
15
+ PerpsWebsocketAccountSwitchReconnection = "perps.websocket.account_switch_reconnection",
16
+ PerpsConnectionHealthCheck = "perps.websocket.health_check",
17
+ PerpsReconnectionHealthCheck = "perps.websocket.reconnection_health_check",
18
+ PerpsProviderInit = "perps.connection.provider_init",
19
+ PerpsAccountStateFetch = "perps.connection.account_state_fetch",
20
+ PerpsSubscriptionsPreload = "perps.connection.subscriptions_preload",
21
+ PerpsReconnectionCleanup = "perps.connection.cleanup",
22
+ PerpsControllerReinit = "perps.connection.controller_reinit",
23
+ PerpsNewAccountFetch = "perps.connection.new_account_fetch",
24
+ PerpsReconnectionPreload = "perps.connection.reconnection_preload",
25
+ PerpsDataLakeApiCall = "perps.api.data_lake_call",
26
+ PerpsRewardsFeeDiscountApiCall = "perps.api.rewards_fee_discount",
27
+ PerpsRewardsPointsEstimationApiCall = "perps.api.rewards_points_estimation",
28
+ PerpsRewardsOrderExecutionFeeDiscountApiCall = "perps.api.rewards_order_execution_fee_discount",
29
+ PerpsGetPositionsOperation = "perps.operation.get_positions",
30
+ PerpsGetOpenOrdersOperation = "perps.operation.get_open_orders",
31
+ PerpsMarketDataPreload = "perps.operation.market_data_preload",
32
+ PerpsUserDataPreload = "perps.operation.user_data_preload",
33
+ PerpsWithdrawalScreenLoaded = "perps.screen.withdrawal_loaded",
34
+ PerpsMarketsScreenLoaded = "perps.screen.markets_loaded",
35
+ PerpsAssetScreenLoaded = "perps.screen.asset_loaded",
36
+ PerpsTradeScreenLoaded = "perps.screen.trade_loaded",
37
+ PerpsCloseScreenLoaded = "perps.screen.close_loaded",
38
+ PerpsTransactionHistoryScreenLoaded = "perps.screen.transaction_history_loaded",
39
+ PerpsTabLoaded = "perps.screen.tab_loaded",
40
+ PerpsLeverageBottomSheetLoaded = "perps.ui.leverage_bottom_sheet_loaded",
41
+ PerpsOrderSubmissionToastLoaded = "perps.ui.order_submission_toast_loaded",
42
+ PerpsOrderConfirmationToastLoaded = "perps.ui.order_confirmation_toast_loaded",
43
+ PerpsCloseOrderSubmissionToastLoaded = "perps.ui.close_order_submission_toast_loaded",
44
+ PerpsCloseOrderConfirmationToastLoaded = "perps.ui.close_order_confirmation_toast_loaded"
45
+ }
46
+ //# sourceMappingURL=performanceMetrics.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceMetrics.d.mts","sourceRoot":"","sources":["../../src/constants/performanceMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,oBAAY,oBAAoB;IAK9B,qCAAqC,6CAA6C;IAClF,mCAAmC,4CAA4C;IAC/E,+BAA+B,wCAAwC;IACvE,uCAAuC,gDAAgD;IACvF,0BAA0B,iCAAiC;IAC3D,4BAA4B,8CAA8C;IAI1E,iBAAiB,mCAAmC;IACpD,sBAAsB,yCAAyC;IAC/D,yBAAyB,2CAA2C;IACpE,wBAAwB,6BAA6B;IACrD,qBAAqB,uCAAuC;IAC5D,oBAAoB,uCAAuC;IAC3D,wBAAwB,0CAA0C;IAIlE,oBAAoB,6BAA6B;IACjD,8BAA8B,mCAAmC;IACjE,mCAAmC,wCAAwC;IAC3E,4CAA4C,mDAAmD;IAI/F,0BAA0B,kCAAkC;IAC5D,2BAA2B,oCAAoC;IAC/D,sBAAsB,wCAAwC;IAC9D,oBAAoB,sCAAsC;IAI1D,2BAA2B,mCAAmC;IAC9D,wBAAwB,gCAAgC;IACxD,sBAAsB,8BAA8B;IACpD,sBAAsB,8BAA8B;IACpD,sBAAsB,8BAA8B;IACpD,mCAAmC,4CAA4C;IAC/E,cAAc,4BAA4B;IAI1C,8BAA8B,0CAA0C;IACxE,+BAA+B,2CAA2C;IAC1E,iCAAiC,6CAA6C;IAC9E,oCAAoC,iDAAiD;IACrF,sCAAsC,mDAAmD;CAC1F"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Performance measurement names for Sentry monitoring
3
+ * These constants ensure consistency across the Perps feature
4
+ * Used for direct setMeasurement() calls in controllers and services
5
+ *
6
+ * Naming Convention: perps.{category}.{metric_name}
7
+ * - Uses dot notation for hierarchical grouping in Sentry
8
+ * - Categories: websocket, connection, api, operation, screen, ui
9
+ * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation
10
+ */
11
+ export var PerpsMeasurementName;
12
+ (function (PerpsMeasurementName) {
13
+ // ===== ACTIVE SENTRY METRICS =====
14
+ // WebSocket Performance Metrics (milliseconds)
15
+ // Tracks WebSocket connection lifecycle and data flow
16
+ PerpsMeasurementName["PerpsWebsocketConnectionEstablishment"] = "perps.websocket.connection_establishment";
17
+ PerpsMeasurementName["PerpsWebsocketConnectionWithPreload"] = "perps.websocket.connection_with_preload";
18
+ PerpsMeasurementName["PerpsWebsocketFirstPositionData"] = "perps.websocket.first_position_data";
19
+ PerpsMeasurementName["PerpsWebsocketAccountSwitchReconnection"] = "perps.websocket.account_switch_reconnection";
20
+ PerpsMeasurementName["PerpsConnectionHealthCheck"] = "perps.websocket.health_check";
21
+ PerpsMeasurementName["PerpsReconnectionHealthCheck"] = "perps.websocket.reconnection_health_check";
22
+ // Connection Lifecycle Metrics (milliseconds)
23
+ // Tracks connection initialization and reconnection sub-stages
24
+ PerpsMeasurementName["PerpsProviderInit"] = "perps.connection.provider_init";
25
+ PerpsMeasurementName["PerpsAccountStateFetch"] = "perps.connection.account_state_fetch";
26
+ PerpsMeasurementName["PerpsSubscriptionsPreload"] = "perps.connection.subscriptions_preload";
27
+ PerpsMeasurementName["PerpsReconnectionCleanup"] = "perps.connection.cleanup";
28
+ PerpsMeasurementName["PerpsControllerReinit"] = "perps.connection.controller_reinit";
29
+ PerpsMeasurementName["PerpsNewAccountFetch"] = "perps.connection.new_account_fetch";
30
+ PerpsMeasurementName["PerpsReconnectionPreload"] = "perps.connection.reconnection_preload";
31
+ // API Call Metrics (milliseconds)
32
+ // Tracks external API performance
33
+ PerpsMeasurementName["PerpsDataLakeApiCall"] = "perps.api.data_lake_call";
34
+ PerpsMeasurementName["PerpsRewardsFeeDiscountApiCall"] = "perps.api.rewards_fee_discount";
35
+ PerpsMeasurementName["PerpsRewardsPointsEstimationApiCall"] = "perps.api.rewards_points_estimation";
36
+ PerpsMeasurementName["PerpsRewardsOrderExecutionFeeDiscountApiCall"] = "perps.api.rewards_order_execution_fee_discount";
37
+ // Data Operation Metrics (milliseconds)
38
+ // Tracks data fetch operations
39
+ PerpsMeasurementName["PerpsGetPositionsOperation"] = "perps.operation.get_positions";
40
+ PerpsMeasurementName["PerpsGetOpenOrdersOperation"] = "perps.operation.get_open_orders";
41
+ PerpsMeasurementName["PerpsMarketDataPreload"] = "perps.operation.market_data_preload";
42
+ PerpsMeasurementName["PerpsUserDataPreload"] = "perps.operation.user_data_preload";
43
+ // Screen Load Metrics (milliseconds)
44
+ // Tracks full screen render performance
45
+ PerpsMeasurementName["PerpsWithdrawalScreenLoaded"] = "perps.screen.withdrawal_loaded";
46
+ PerpsMeasurementName["PerpsMarketsScreenLoaded"] = "perps.screen.markets_loaded";
47
+ PerpsMeasurementName["PerpsAssetScreenLoaded"] = "perps.screen.asset_loaded";
48
+ PerpsMeasurementName["PerpsTradeScreenLoaded"] = "perps.screen.trade_loaded";
49
+ PerpsMeasurementName["PerpsCloseScreenLoaded"] = "perps.screen.close_loaded";
50
+ PerpsMeasurementName["PerpsTransactionHistoryScreenLoaded"] = "perps.screen.transaction_history_loaded";
51
+ PerpsMeasurementName["PerpsTabLoaded"] = "perps.screen.tab_loaded";
52
+ // UI Component Metrics (milliseconds)
53
+ // Tracks individual UI component render performance
54
+ PerpsMeasurementName["PerpsLeverageBottomSheetLoaded"] = "perps.ui.leverage_bottom_sheet_loaded";
55
+ PerpsMeasurementName["PerpsOrderSubmissionToastLoaded"] = "perps.ui.order_submission_toast_loaded";
56
+ PerpsMeasurementName["PerpsOrderConfirmationToastLoaded"] = "perps.ui.order_confirmation_toast_loaded";
57
+ PerpsMeasurementName["PerpsCloseOrderSubmissionToastLoaded"] = "perps.ui.close_order_submission_toast_loaded";
58
+ PerpsMeasurementName["PerpsCloseOrderConfirmationToastLoaded"] = "perps.ui.close_order_confirmation_toast_loaded";
59
+ })(PerpsMeasurementName || (PerpsMeasurementName = {}));
60
+ //# sourceMappingURL=performanceMetrics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceMetrics.mjs","sourceRoot":"","sources":["../../src/constants/performanceMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,oBAqDX;AArDD,WAAY,oBAAoB;IAC9B,oCAAoC;IAEpC,+CAA+C;IAC/C,sDAAsD;IACtD,0GAAkF,CAAA;IAClF,uGAA+E,CAAA;IAC/E,+FAAuE,CAAA;IACvE,+GAAuF,CAAA;IACvF,mFAA2D,CAAA;IAC3D,kGAA0E,CAAA;IAE1E,8CAA8C;IAC9C,+DAA+D;IAC/D,4EAAoD,CAAA;IACpD,uFAA+D,CAAA;IAC/D,4FAAoE,CAAA;IACpE,6EAAqD,CAAA;IACrD,oFAA4D,CAAA;IAC5D,mFAA2D,CAAA;IAC3D,0FAAkE,CAAA;IAElE,kCAAkC;IAClC,kCAAkC;IAClC,yEAAiD,CAAA;IACjD,yFAAiE,CAAA;IACjE,mGAA2E,CAAA;IAC3E,uHAA+F,CAAA;IAE/F,wCAAwC;IACxC,+BAA+B;IAC/B,oFAA4D,CAAA;IAC5D,uFAA+D,CAAA;IAC/D,sFAA8D,CAAA;IAC9D,kFAA0D,CAAA;IAE1D,qCAAqC;IACrC,wCAAwC;IACxC,sFAA8D,CAAA;IAC9D,gFAAwD,CAAA;IACxD,4EAAoD,CAAA;IACpD,4EAAoD,CAAA;IACpD,4EAAoD,CAAA;IACpD,uGAA+E,CAAA;IAC/E,kEAA0C,CAAA;IAE1C,sCAAsC;IACtC,oDAAoD;IACpD,gGAAwE,CAAA;IACxE,kGAA0E,CAAA;IAC1E,sGAA8E,CAAA;IAC9E,6GAAqF,CAAA;IACrF,iHAAyF,CAAA;AAC3F,CAAC,EArDW,oBAAoB,KAApB,oBAAoB,QAqD/B","sourcesContent":["/**\n * Performance measurement names for Sentry monitoring\n * These constants ensure consistency across the Perps feature\n * Used for direct setMeasurement() calls in controllers and services\n *\n * Naming Convention: perps.{category}.{metric_name}\n * - Uses dot notation for hierarchical grouping in Sentry\n * - Categories: websocket, connection, api, operation, screen, ui\n * - Enables easy filtering (e.g., perps.websocket.*) and dashboard aggregation\n */\nexport enum PerpsMeasurementName {\n // ===== ACTIVE SENTRY METRICS =====\n\n // WebSocket Performance Metrics (milliseconds)\n // Tracks WebSocket connection lifecycle and data flow\n PerpsWebsocketConnectionEstablishment = 'perps.websocket.connection_establishment',\n PerpsWebsocketConnectionWithPreload = 'perps.websocket.connection_with_preload',\n PerpsWebsocketFirstPositionData = 'perps.websocket.first_position_data',\n PerpsWebsocketAccountSwitchReconnection = 'perps.websocket.account_switch_reconnection',\n PerpsConnectionHealthCheck = 'perps.websocket.health_check',\n PerpsReconnectionHealthCheck = 'perps.websocket.reconnection_health_check',\n\n // Connection Lifecycle Metrics (milliseconds)\n // Tracks connection initialization and reconnection sub-stages\n PerpsProviderInit = 'perps.connection.provider_init',\n PerpsAccountStateFetch = 'perps.connection.account_state_fetch',\n PerpsSubscriptionsPreload = 'perps.connection.subscriptions_preload',\n PerpsReconnectionCleanup = 'perps.connection.cleanup',\n PerpsControllerReinit = 'perps.connection.controller_reinit',\n PerpsNewAccountFetch = 'perps.connection.new_account_fetch',\n PerpsReconnectionPreload = 'perps.connection.reconnection_preload',\n\n // API Call Metrics (milliseconds)\n // Tracks external API performance\n PerpsDataLakeApiCall = 'perps.api.data_lake_call',\n PerpsRewardsFeeDiscountApiCall = 'perps.api.rewards_fee_discount',\n PerpsRewardsPointsEstimationApiCall = 'perps.api.rewards_points_estimation',\n PerpsRewardsOrderExecutionFeeDiscountApiCall = 'perps.api.rewards_order_execution_fee_discount',\n\n // Data Operation Metrics (milliseconds)\n // Tracks data fetch operations\n PerpsGetPositionsOperation = 'perps.operation.get_positions',\n PerpsGetOpenOrdersOperation = 'perps.operation.get_open_orders',\n PerpsMarketDataPreload = 'perps.operation.market_data_preload',\n PerpsUserDataPreload = 'perps.operation.user_data_preload',\n\n // Screen Load Metrics (milliseconds)\n // Tracks full screen render performance\n PerpsWithdrawalScreenLoaded = 'perps.screen.withdrawal_loaded',\n PerpsMarketsScreenLoaded = 'perps.screen.markets_loaded',\n PerpsAssetScreenLoaded = 'perps.screen.asset_loaded',\n PerpsTradeScreenLoaded = 'perps.screen.trade_loaded',\n PerpsCloseScreenLoaded = 'perps.screen.close_loaded',\n PerpsTransactionHistoryScreenLoaded = 'perps.screen.transaction_history_loaded',\n PerpsTabLoaded = 'perps.screen.tab_loaded',\n\n // UI Component Metrics (milliseconds)\n // Tracks individual UI component render performance\n PerpsLeverageBottomSheetLoaded = 'perps.ui.leverage_bottom_sheet_loaded',\n PerpsOrderSubmissionToastLoaded = 'perps.ui.order_submission_toast_loaded',\n PerpsOrderConfirmationToastLoaded = 'perps.ui.order_confirmation_toast_loaded',\n PerpsCloseOrderSubmissionToastLoaded = 'perps.ui.close_order_submission_toast_loaded',\n PerpsCloseOrderConfirmationToastLoaded = 'perps.ui.close_order_confirmation_toast_loaded',\n}\n"]}