@orderly.network/hooks 1.3.2 → 1.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/esm/dataProvider.d.ts.map +1 -1
  2. package/esm/dataProvider.js +0 -2
  3. package/esm/dataProvider.js.map +1 -1
  4. package/esm/index.d.ts +4 -3
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +4 -3
  7. package/esm/index.js.map +1 -1
  8. package/esm/orderly/orderlyHooks.d.ts +3 -2
  9. package/esm/orderly/orderlyHooks.d.ts.map +1 -1
  10. package/esm/orderly/orderlyHooks.js +3 -2
  11. package/esm/orderly/orderlyHooks.js.map +1 -1
  12. package/esm/orderly/useCollateral.js +2 -2
  13. package/esm/orderly/useCollateral.js.map +1 -1
  14. package/esm/orderly/useMarginRatio.js +1 -1
  15. package/esm/orderly/useMarginRatio.js.map +1 -1
  16. package/esm/orderly/useMaxQty.js +2 -2
  17. package/esm/orderly/useMaxQty.js.map +1 -1
  18. package/esm/orderly/useOrderEntry.d.ts.map +1 -1
  19. package/esm/orderly/useOrderEntry.js +15 -12
  20. package/esm/orderly/useOrderEntry.js.map +1 -1
  21. package/esm/orderly/useOrderEntryNext/index.d.ts +1 -0
  22. package/esm/orderly/useOrderEntryNext/index.d.ts.map +1 -0
  23. package/esm/orderly/useOrderEntryNext/index.js +2 -0
  24. package/esm/orderly/useOrderEntryNext/index.js.map +1 -0
  25. package/esm/orderly/{useOrderStream.d.ts → useOrderStream/useOrderStream.d.ts} +19 -12
  26. package/esm/orderly/useOrderStream/useOrderStream.d.ts.map +1 -0
  27. package/esm/orderly/{useOrderStream.js → useOrderStream/useOrderStream.js} +91 -26
  28. package/esm/orderly/useOrderStream/useOrderStream.js.map +1 -0
  29. package/esm/orderly/{usePositionStream.d.ts → usePositionStream/usePositionStream.d.ts} +1 -1
  30. package/esm/orderly/usePositionStream/usePositionStream.d.ts.map +1 -0
  31. package/esm/orderly/{usePositionStream.js → usePositionStream/usePositionStream.js} +30 -22
  32. package/esm/orderly/usePositionStream/usePositionStream.js.map +1 -0
  33. package/esm/orderly/usePositionStream/utils.d.ts +8 -0
  34. package/esm/orderly/usePositionStream/utils.d.ts.map +1 -0
  35. package/esm/orderly/usePositionStream/utils.js +34 -0
  36. package/esm/orderly/usePositionStream/utils.js.map +1 -0
  37. package/esm/orderly/usePrivateDataObserver.d.ts.map +1 -1
  38. package/esm/orderly/usePrivateDataObserver.js +30 -43
  39. package/esm/orderly/usePrivateDataObserver.js.map +1 -1
  40. package/esm/orderly/useTakeProfitAndStopLoss/__test__/useTakeProfitAndStopLoss.test.d.ts +1 -0
  41. package/esm/orderly/useTakeProfitAndStopLoss/__test__/useTakeProfitAndStopLoss.test.d.ts.map +1 -0
  42. package/esm/orderly/useTakeProfitAndStopLoss/__test__/utils.test.d.ts +2 -0
  43. package/esm/orderly/useTakeProfitAndStopLoss/__test__/utils.test.d.ts.map +1 -0
  44. package/esm/orderly/useTakeProfitAndStopLoss/index.d.ts +32 -0
  45. package/esm/orderly/useTakeProfitAndStopLoss/index.d.ts.map +1 -0
  46. package/esm/orderly/useTakeProfitAndStopLoss/index.js +23 -0
  47. package/esm/orderly/useTakeProfitAndStopLoss/index.js.map +1 -0
  48. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts +59 -0
  49. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -0
  50. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js +211 -0
  51. package/esm/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -0
  52. package/esm/orderly/useTakeProfitAndStopLoss/utils.d.ts +70 -0
  53. package/esm/orderly/useTakeProfitAndStopLoss/utils.d.ts.map +1 -0
  54. package/esm/orderly/useTakeProfitAndStopLoss/utils.js +226 -0
  55. package/esm/orderly/useTakeProfitAndStopLoss/utils.js.map +1 -0
  56. package/esm/services/orderCreator/__test__/limitOrderCreator.test.d.ts +2 -0
  57. package/esm/services/orderCreator/__test__/limitOrderCreator.test.d.ts.map +1 -0
  58. package/esm/services/orderCreator/__test__/orderCreator.test.d.ts +2 -0
  59. package/esm/services/orderCreator/__test__/orderCreator.test.d.ts.map +1 -0
  60. package/esm/services/orderCreator/__test__/stopLimitOrderCreator.test.d.ts +2 -0
  61. package/esm/services/orderCreator/__test__/stopLimitOrderCreator.test.d.ts.map +1 -0
  62. package/esm/services/orderCreator/__test__/stopMarketOrderCreator.test.d.ts +2 -0
  63. package/esm/services/orderCreator/__test__/stopMarketOrderCreator.test.d.ts.map +1 -0
  64. package/esm/services/orderCreator/__test__/tpslOrderCreator.test.d.ts +2 -0
  65. package/esm/services/orderCreator/__test__/tpslOrderCreator.test.d.ts.map +1 -0
  66. package/esm/services/orderCreator/__test__/tpslPositionOrderCreator.test.d.ts +2 -0
  67. package/esm/services/orderCreator/__test__/tpslPositionOrderCreator.test.d.ts.map +1 -0
  68. package/esm/services/orderCreator/baseAlgoCreator.d.ts +22 -0
  69. package/esm/services/orderCreator/baseAlgoCreator.d.ts.map +1 -0
  70. package/esm/services/orderCreator/baseAlgoCreator.js +57 -0
  71. package/esm/services/orderCreator/baseAlgoCreator.js.map +1 -0
  72. package/esm/services/orderCreator/baseCreator.d.ts +14 -0
  73. package/esm/services/orderCreator/baseCreator.d.ts.map +1 -0
  74. package/esm/services/orderCreator/baseCreator.js +92 -0
  75. package/esm/services/orderCreator/baseCreator.js.map +1 -0
  76. package/esm/services/orderCreator/factory.d.ts +7 -0
  77. package/esm/services/orderCreator/factory.d.ts.map +1 -0
  78. package/esm/services/orderCreator/factory.js +45 -0
  79. package/esm/services/orderCreator/factory.js.map +1 -0
  80. package/esm/services/orderCreator/fokCreator.d.ts +4 -0
  81. package/esm/services/orderCreator/fokCreator.d.ts.map +1 -0
  82. package/esm/services/orderCreator/fokCreator.js +5 -0
  83. package/esm/services/orderCreator/fokCreator.js.map +1 -0
  84. package/esm/services/orderCreator/generalCreator.d.ts +8 -0
  85. package/esm/services/orderCreator/generalCreator.d.ts.map +1 -0
  86. package/esm/services/orderCreator/generalCreator.js +15 -0
  87. package/esm/services/orderCreator/generalCreator.js.map +1 -0
  88. package/esm/services/orderCreator/interface.d.ts +23 -0
  89. package/esm/services/orderCreator/interface.d.ts.map +1 -0
  90. package/esm/services/orderCreator/interface.js +3 -0
  91. package/esm/services/orderCreator/interface.js.map +1 -0
  92. package/esm/services/orderCreator/iocCreator.d.ts +4 -0
  93. package/esm/services/orderCreator/iocCreator.d.ts.map +1 -0
  94. package/esm/services/orderCreator/iocCreator.js +5 -0
  95. package/esm/services/orderCreator/iocCreator.js.map +1 -0
  96. package/esm/services/orderCreator/limitOrderCreator.d.ts +8 -0
  97. package/esm/services/orderCreator/limitOrderCreator.d.ts.map +1 -0
  98. package/esm/services/orderCreator/limitOrderCreator.js +69 -0
  99. package/esm/services/orderCreator/limitOrderCreator.js.map +1 -0
  100. package/esm/services/orderCreator/marketOrderCreator.d.ts +24 -0
  101. package/esm/services/orderCreator/marketOrderCreator.d.ts.map +1 -0
  102. package/esm/services/orderCreator/marketOrderCreator.js +18 -0
  103. package/esm/services/orderCreator/marketOrderCreator.js.map +1 -0
  104. package/esm/services/orderCreator/postOnlyCreator.d.ts +4 -0
  105. package/esm/services/orderCreator/postOnlyCreator.d.ts.map +1 -0
  106. package/esm/services/orderCreator/postOnlyCreator.js +5 -0
  107. package/esm/services/orderCreator/postOnlyCreator.js.map +1 -0
  108. package/esm/services/orderCreator/stopLimitOrderCreator.d.ts +11 -0
  109. package/esm/services/orderCreator/stopLimitOrderCreator.d.ts.map +1 -0
  110. package/esm/services/orderCreator/stopLimitOrderCreator.js +84 -0
  111. package/esm/services/orderCreator/stopLimitOrderCreator.js.map +1 -0
  112. package/esm/services/orderCreator/stopMarketOrderCreator.d.ts +30 -0
  113. package/esm/services/orderCreator/stopMarketOrderCreator.d.ts.map +1 -0
  114. package/esm/services/orderCreator/stopMarketOrderCreator.js +46 -0
  115. package/esm/services/orderCreator/stopMarketOrderCreator.js.map +1 -0
  116. package/esm/services/orderCreator/tpslOrderCreator.d.ts +32 -0
  117. package/esm/services/orderCreator/tpslOrderCreator.d.ts.map +1 -0
  118. package/esm/services/orderCreator/tpslOrderCreator.js +88 -0
  119. package/esm/services/orderCreator/tpslOrderCreator.js.map +1 -0
  120. package/esm/services/orderCreator/tpslPositionOrderCreator.d.ts +33 -0
  121. package/esm/services/orderCreator/tpslPositionOrderCreator.d.ts.map +1 -0
  122. package/esm/services/orderCreator/tpslPositionOrderCreator.js +74 -0
  123. package/esm/services/orderCreator/tpslPositionOrderCreator.js.map +1 -0
  124. package/esm/services/orderMerge/algoOrderMergeHandler.d.ts +9 -0
  125. package/esm/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -0
  126. package/esm/services/orderMerge/algoOrderMergeHandler.js +38 -0
  127. package/esm/services/orderMerge/algoOrderMergeHandler.js.map +1 -0
  128. package/esm/services/orderMerge/baseMergeHandler.d.ts +22 -0
  129. package/esm/services/orderMerge/baseMergeHandler.d.ts.map +1 -0
  130. package/esm/services/orderMerge/baseMergeHandler.js +160 -0
  131. package/esm/services/orderMerge/baseMergeHandler.js.map +1 -0
  132. package/esm/services/orderMerge/interface.d.ts +8 -0
  133. package/esm/services/orderMerge/interface.d.ts.map +1 -0
  134. package/esm/services/orderMerge/interface.js +3 -0
  135. package/esm/services/orderMerge/interface.js.map +1 -0
  136. package/esm/services/orderMerge/regularOrderMergeHandler.d.ts +8 -0
  137. package/esm/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -0
  138. package/esm/services/orderMerge/regularOrderMergeHandler.js +15 -0
  139. package/esm/services/orderMerge/regularOrderMergeHandler.js.map +1 -0
  140. package/esm/usePoster.d.ts +3 -0
  141. package/esm/usePoster.d.ts.map +1 -1
  142. package/esm/usePoster.js +3 -1
  143. package/esm/usePoster.js.map +1 -1
  144. package/esm/utils/createOrder.d.ts +0 -55
  145. package/esm/utils/createOrder.d.ts.map +1 -1
  146. package/esm/utils/createOrder.js +0 -334
  147. package/esm/utils/createOrder.js.map +1 -1
  148. package/esm/utils/fokCreator.d.ts +1 -0
  149. package/esm/utils/fokCreator.d.ts.map +1 -0
  150. package/esm/utils/fokCreator.js +2 -0
  151. package/esm/utils/fokCreator.js.map +1 -0
  152. package/esm/utils/index.d.ts +5 -0
  153. package/esm/utils/index.d.ts.map +1 -0
  154. package/esm/utils/index.js +6 -0
  155. package/esm/utils/index.js.map +1 -0
  156. package/esm/utils/order.d.ts +2 -0
  157. package/esm/utils/order.d.ts.map +1 -0
  158. package/esm/utils/order.js +3 -0
  159. package/esm/utils/order.js.map +1 -0
  160. package/esm/utils/swr.d.ts +3 -1
  161. package/esm/utils/swr.d.ts.map +1 -1
  162. package/esm/utils/swr.js +123 -89
  163. package/esm/utils/swr.js.map +1 -1
  164. package/esm/utils/ws.d.ts +2 -0
  165. package/esm/utils/ws.d.ts.map +1 -0
  166. package/esm/utils/ws.js +9 -0
  167. package/esm/utils/ws.js.map +1 -0
  168. package/esm/version.d.ts +1 -1
  169. package/esm/version.d.ts.map +1 -1
  170. package/esm/version.js +2 -2
  171. package/esm/version.js.map +1 -1
  172. package/lib/dataProvider.d.ts.map +1 -1
  173. package/lib/dataProvider.js +0 -2
  174. package/lib/dataProvider.js.map +1 -1
  175. package/lib/index.d.ts +4 -3
  176. package/lib/index.d.ts.map +1 -1
  177. package/lib/index.js +10 -3
  178. package/lib/index.js.map +1 -1
  179. package/lib/orderly/orderlyHooks.d.ts +3 -2
  180. package/lib/orderly/orderlyHooks.d.ts.map +1 -1
  181. package/lib/orderly/orderlyHooks.js +6 -2
  182. package/lib/orderly/orderlyHooks.js.map +1 -1
  183. package/lib/orderly/useCollateral.js +2 -2
  184. package/lib/orderly/useCollateral.js.map +1 -1
  185. package/lib/orderly/useMarginRatio.js +1 -1
  186. package/lib/orderly/useMarginRatio.js.map +1 -1
  187. package/lib/orderly/useMaxQty.js +2 -2
  188. package/lib/orderly/useMaxQty.js.map +1 -1
  189. package/lib/orderly/useOrderEntry.d.ts.map +1 -1
  190. package/lib/orderly/useOrderEntry.js +14 -12
  191. package/lib/orderly/useOrderEntry.js.map +1 -1
  192. package/lib/orderly/useOrderEntryNext/index.d.ts +1 -0
  193. package/lib/orderly/useOrderEntryNext/index.d.ts.map +1 -0
  194. package/lib/orderly/useOrderEntryNext/index.js +3 -0
  195. package/lib/orderly/useOrderEntryNext/index.js.map +1 -0
  196. package/lib/orderly/{useOrderStream.d.ts → useOrderStream/useOrderStream.d.ts} +19 -12
  197. package/lib/orderly/useOrderStream/useOrderStream.d.ts.map +1 -0
  198. package/lib/orderly/{useOrderStream.js → useOrderStream/useOrderStream.js} +89 -25
  199. package/lib/orderly/useOrderStream/useOrderStream.js.map +1 -0
  200. package/lib/orderly/{usePositionStream.d.ts → usePositionStream/usePositionStream.d.ts} +1 -1
  201. package/lib/orderly/usePositionStream/usePositionStream.d.ts.map +1 -0
  202. package/lib/orderly/{usePositionStream.js → usePositionStream/usePositionStream.js} +30 -22
  203. package/lib/orderly/usePositionStream/usePositionStream.js.map +1 -0
  204. package/lib/orderly/usePositionStream/utils.d.ts +8 -0
  205. package/lib/orderly/usePositionStream/utils.d.ts.map +1 -0
  206. package/lib/orderly/usePositionStream/utils.js +55 -0
  207. package/lib/orderly/usePositionStream/utils.js.map +1 -0
  208. package/lib/orderly/usePrivateDataObserver.d.ts.map +1 -1
  209. package/lib/orderly/usePrivateDataObserver.js +28 -41
  210. package/lib/orderly/usePrivateDataObserver.js.map +1 -1
  211. package/lib/orderly/useTakeProfitAndStopLoss/__test__/useTakeProfitAndStopLoss.test.d.ts +1 -0
  212. package/lib/orderly/useTakeProfitAndStopLoss/__test__/useTakeProfitAndStopLoss.test.d.ts.map +1 -0
  213. package/lib/orderly/useTakeProfitAndStopLoss/__test__/utils.test.d.ts +2 -0
  214. package/lib/orderly/useTakeProfitAndStopLoss/__test__/utils.test.d.ts.map +1 -0
  215. package/lib/orderly/useTakeProfitAndStopLoss/index.d.ts +32 -0
  216. package/lib/orderly/useTakeProfitAndStopLoss/index.d.ts.map +1 -0
  217. package/lib/orderly/useTakeProfitAndStopLoss/index.js +33 -0
  218. package/lib/orderly/useTakeProfitAndStopLoss/index.js.map +1 -0
  219. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts +59 -0
  220. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.d.ts.map +1 -0
  221. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js +218 -0
  222. package/lib/orderly/useTakeProfitAndStopLoss/useTPSL.js.map +1 -0
  223. package/lib/orderly/useTakeProfitAndStopLoss/utils.d.ts +70 -0
  224. package/lib/orderly/useTakeProfitAndStopLoss/utils.d.ts.map +1 -0
  225. package/lib/orderly/useTakeProfitAndStopLoss/utils.js +252 -0
  226. package/lib/orderly/useTakeProfitAndStopLoss/utils.js.map +1 -0
  227. package/lib/services/orderCreator/__test__/limitOrderCreator.test.d.ts +2 -0
  228. package/lib/services/orderCreator/__test__/limitOrderCreator.test.d.ts.map +1 -0
  229. package/lib/services/orderCreator/__test__/orderCreator.test.d.ts +2 -0
  230. package/lib/services/orderCreator/__test__/orderCreator.test.d.ts.map +1 -0
  231. package/lib/services/orderCreator/__test__/stopLimitOrderCreator.test.d.ts +2 -0
  232. package/lib/services/orderCreator/__test__/stopLimitOrderCreator.test.d.ts.map +1 -0
  233. package/lib/services/orderCreator/__test__/stopMarketOrderCreator.test.d.ts +2 -0
  234. package/lib/services/orderCreator/__test__/stopMarketOrderCreator.test.d.ts.map +1 -0
  235. package/lib/services/orderCreator/__test__/tpslOrderCreator.test.d.ts +2 -0
  236. package/lib/services/orderCreator/__test__/tpslOrderCreator.test.d.ts.map +1 -0
  237. package/lib/services/orderCreator/__test__/tpslPositionOrderCreator.test.d.ts +2 -0
  238. package/lib/services/orderCreator/__test__/tpslPositionOrderCreator.test.d.ts.map +1 -0
  239. package/lib/services/orderCreator/baseAlgoCreator.d.ts +22 -0
  240. package/lib/services/orderCreator/baseAlgoCreator.d.ts.map +1 -0
  241. package/lib/services/orderCreator/baseAlgoCreator.js +67 -0
  242. package/lib/services/orderCreator/baseAlgoCreator.js.map +1 -0
  243. package/lib/services/orderCreator/baseCreator.d.ts +14 -0
  244. package/lib/services/orderCreator/baseCreator.d.ts.map +1 -0
  245. package/lib/services/orderCreator/baseCreator.js +102 -0
  246. package/lib/services/orderCreator/baseCreator.js.map +1 -0
  247. package/lib/services/orderCreator/factory.d.ts +7 -0
  248. package/lib/services/orderCreator/factory.d.ts.map +1 -0
  249. package/lib/services/orderCreator/factory.js +54 -0
  250. package/lib/services/orderCreator/factory.js.map +1 -0
  251. package/lib/services/orderCreator/fokCreator.d.ts +4 -0
  252. package/lib/services/orderCreator/fokCreator.d.ts.map +1 -0
  253. package/lib/services/orderCreator/fokCreator.js +15 -0
  254. package/lib/services/orderCreator/fokCreator.js.map +1 -0
  255. package/lib/services/orderCreator/generalCreator.d.ts +8 -0
  256. package/lib/services/orderCreator/generalCreator.d.ts.map +1 -0
  257. package/lib/services/orderCreator/generalCreator.js +25 -0
  258. package/lib/services/orderCreator/generalCreator.js.map +1 -0
  259. package/lib/services/orderCreator/interface.d.ts +23 -0
  260. package/lib/services/orderCreator/interface.d.ts.map +1 -0
  261. package/lib/services/orderCreator/interface.js +6 -0
  262. package/lib/services/orderCreator/interface.js.map +1 -0
  263. package/lib/services/orderCreator/iocCreator.d.ts +4 -0
  264. package/lib/services/orderCreator/iocCreator.d.ts.map +1 -0
  265. package/lib/services/orderCreator/iocCreator.js +15 -0
  266. package/lib/services/orderCreator/iocCreator.js.map +1 -0
  267. package/lib/services/orderCreator/limitOrderCreator.d.ts +8 -0
  268. package/lib/services/orderCreator/limitOrderCreator.d.ts.map +1 -0
  269. package/lib/services/orderCreator/limitOrderCreator.js +79 -0
  270. package/lib/services/orderCreator/limitOrderCreator.js.map +1 -0
  271. package/lib/services/orderCreator/marketOrderCreator.d.ts +24 -0
  272. package/lib/services/orderCreator/marketOrderCreator.d.ts.map +1 -0
  273. package/lib/services/orderCreator/marketOrderCreator.js +28 -0
  274. package/lib/services/orderCreator/marketOrderCreator.js.map +1 -0
  275. package/lib/services/orderCreator/postOnlyCreator.d.ts +4 -0
  276. package/lib/services/orderCreator/postOnlyCreator.d.ts.map +1 -0
  277. package/lib/services/orderCreator/postOnlyCreator.js +15 -0
  278. package/lib/services/orderCreator/postOnlyCreator.js.map +1 -0
  279. package/lib/services/orderCreator/stopLimitOrderCreator.d.ts +11 -0
  280. package/lib/services/orderCreator/stopLimitOrderCreator.d.ts.map +1 -0
  281. package/lib/services/orderCreator/stopLimitOrderCreator.js +93 -0
  282. package/lib/services/orderCreator/stopLimitOrderCreator.js.map +1 -0
  283. package/lib/services/orderCreator/stopMarketOrderCreator.d.ts +30 -0
  284. package/lib/services/orderCreator/stopMarketOrderCreator.d.ts.map +1 -0
  285. package/lib/services/orderCreator/stopMarketOrderCreator.js +56 -0
  286. package/lib/services/orderCreator/stopMarketOrderCreator.js.map +1 -0
  287. package/lib/services/orderCreator/tpslOrderCreator.d.ts +32 -0
  288. package/lib/services/orderCreator/tpslOrderCreator.d.ts.map +1 -0
  289. package/lib/services/orderCreator/tpslOrderCreator.js +94 -0
  290. package/lib/services/orderCreator/tpslOrderCreator.js.map +1 -0
  291. package/lib/services/orderCreator/tpslPositionOrderCreator.d.ts +33 -0
  292. package/lib/services/orderCreator/tpslPositionOrderCreator.d.ts.map +1 -0
  293. package/lib/services/orderCreator/tpslPositionOrderCreator.js +83 -0
  294. package/lib/services/orderCreator/tpslPositionOrderCreator.js.map +1 -0
  295. package/lib/services/orderMerge/algoOrderMergeHandler.d.ts +9 -0
  296. package/lib/services/orderMerge/algoOrderMergeHandler.d.ts.map +1 -0
  297. package/lib/services/orderMerge/algoOrderMergeHandler.js +48 -0
  298. package/lib/services/orderMerge/algoOrderMergeHandler.js.map +1 -0
  299. package/lib/services/orderMerge/baseMergeHandler.d.ts +22 -0
  300. package/lib/services/orderMerge/baseMergeHandler.d.ts.map +1 -0
  301. package/lib/services/orderMerge/baseMergeHandler.js +170 -0
  302. package/lib/services/orderMerge/baseMergeHandler.js.map +1 -0
  303. package/lib/services/orderMerge/interface.d.ts +8 -0
  304. package/lib/services/orderMerge/interface.d.ts.map +1 -0
  305. package/lib/services/orderMerge/interface.js +6 -0
  306. package/lib/services/orderMerge/interface.js.map +1 -0
  307. package/lib/services/orderMerge/regularOrderMergeHandler.d.ts +8 -0
  308. package/lib/services/orderMerge/regularOrderMergeHandler.d.ts.map +1 -0
  309. package/lib/services/orderMerge/regularOrderMergeHandler.js +25 -0
  310. package/lib/services/orderMerge/regularOrderMergeHandler.js.map +1 -0
  311. package/lib/usePoster.d.ts +3 -0
  312. package/lib/usePoster.d.ts.map +1 -1
  313. package/lib/usePoster.js +3 -1
  314. package/lib/usePoster.js.map +1 -1
  315. package/lib/utils/createOrder.d.ts +0 -55
  316. package/lib/utils/createOrder.d.ts.map +1 -1
  317. package/lib/utils/createOrder.js +3 -375
  318. package/lib/utils/createOrder.js.map +1 -1
  319. package/lib/utils/fokCreator.d.ts +1 -0
  320. package/lib/utils/fokCreator.d.ts.map +1 -0
  321. package/lib/utils/fokCreator.js +3 -0
  322. package/lib/utils/fokCreator.js.map +1 -0
  323. package/lib/utils/index.d.ts +5 -0
  324. package/lib/utils/index.d.ts.map +1 -0
  325. package/lib/utils/index.js +36 -0
  326. package/lib/utils/index.js.map +1 -0
  327. package/lib/utils/order.d.ts +2 -0
  328. package/lib/utils/order.d.ts.map +1 -0
  329. package/lib/utils/order.js +6 -0
  330. package/lib/utils/order.js.map +1 -0
  331. package/lib/utils/swr.d.ts +3 -1
  332. package/lib/utils/swr.d.ts.map +1 -1
  333. package/lib/utils/swr.js +128 -89
  334. package/lib/utils/swr.js.map +1 -1
  335. package/lib/utils/ws.d.ts +2 -0
  336. package/lib/utils/ws.d.ts.map +1 -0
  337. package/lib/utils/ws.js +19 -0
  338. package/lib/utils/ws.js.map +1 -0
  339. package/lib/version.d.ts +1 -1
  340. package/lib/version.d.ts.map +1 -1
  341. package/lib/version.js +2 -2
  342. package/lib/version.js.map +1 -1
  343. package/package.json +9 -7
  344. package/esm/orderly/useOrderStream.d.ts.map +0 -1
  345. package/esm/orderly/useOrderStream.js.map +0 -1
  346. package/esm/orderly/usePositionStream.d.ts.map +0 -1
  347. package/esm/orderly/usePositionStream.js.map +0 -1
  348. package/lib/orderly/useOrderStream.d.ts.map +0 -1
  349. package/lib/orderly/useOrderStream.js.map +0 -1
  350. package/lib/orderly/usePositionStream.d.ts.map +0 -1
  351. package/lib/orderly/usePositionStream.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/orderly/useOrderStream.ts"],"sourcesContent":["import { usePrivateInfiniteQuery } from \"../usePrivateInfiniteQuery\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport {\n OrderSide,\n OrderEntity,\n OrderStatus,\n API,\n} from \"@orderly.network/types\";\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { useMutation } from \"../useMutation\";\nimport version from \"../version\";\nimport { useDataCenterContext } from \"../dataProvider\";\nimport { generateKeyFun } from \"../utils/swr\";\nimport { useEventEmitter } from \"../useEventEmitter\";\n\ntype OrderType = \"normalOrder\" | \"algoOrder\";\n\nexport interface UserOrdersReturn {\n data: any[];\n loading: boolean;\n update: (order: any) => void;\n cancel: (order: any) => void;\n}\n\n// const chche: Record<string, boolean> = {};\n\ntype Params = {\n symbol?: string;\n status?: OrderStatus;\n size?: number;\n side?: OrderSide;\n};\n\nexport const useOrderStream = (\n /**\n * Orders query params\n */\n params: Params,\n\n options?: {\n /**\n * Keep the state update alive\n */\n keeplive?: boolean;\n /**\n * Stop the state update when the component unmount\n */\n stopOnUnmount?: boolean;\n }\n) => {\n const { status, symbol, side, size = 100 } = params;\n\n const { data: markPrices = {} } = useMarkPricesStream();\n\n const ee = useEventEmitter();\n\n const { regesterKeyHandler, unregisterKeyHandler } = useDataCenterContext();\n const [\n doCancelOrder,\n { error: cancelOrderError, isMutating: cancelMutating },\n ] = useMutation(\"/v1/order\", \"DELETE\");\n\n const [\n doUpdateOrder,\n { error: updateOrderError, isMutating: updateMutating },\n ] = useMutation(\"/v1/order\", \"PUT\");\n\n const [\n doCanceAlgolOrder,\n { error: cancelAlgoOrderError, isMutating: cancelAlgoMutating },\n ] = useMutation(\"/v1/algo/order\", \"DELETE\");\n\n const [\n doUpdateAlgoOrder,\n { error: updateAlgoOrderError, isMutating: updateAlgoMutating },\n ] = useMutation(\"/v1/algo/order\", \"PUT\");\n\n useEffect(() => {\n const formatKey = (value?: string) => (value ? `:${value}` : \"\");\n const key = `orders${formatKey(status)}${formatKey(symbol)}${formatKey(\n side\n )}`;\n regesterKeyHandler?.(key, generateKeyFun({ status, symbol, side, size }));\n\n return () => {\n if (!options?.stopOnUnmount) return;\n\n unregisterKeyHandler(key);\n };\n }, [status, symbol, side, options?.keeplive]);\n\n const ordersResponse = usePrivateInfiniteQuery(\n generateKeyFun({ status, symbol, side, size }),\n {\n initialSize: 1,\n // revalidateFirstPage: false,\n // onError: (err) => {\n // console.error(\"fetch failed::::\", err);\n // },\n formatter: (data) => data,\n revalidateOnFocus: false,\n }\n );\n\n const flattenOrders = useMemo(() => {\n if (!ordersResponse.data) {\n return null;\n }\n\n return ordersResponse.data?.map((item) => item.rows)?.flat();\n }, [ordersResponse.data]);\n\n // console.log(ordersResponse.data);\n\n const orders = useMemo(() => {\n if (!flattenOrders) {\n return null;\n }\n\n if (status !== OrderStatus.NEW && status !== OrderStatus.INCOMPLETE) {\n return flattenOrders;\n }\n return flattenOrders.map((item) => {\n return {\n ...item,\n mark_price: (markPrices as any)[item.symbol] ?? 0,\n };\n });\n }, [flattenOrders, markPrices, status]);\n\n const total = useMemo(() => {\n return ordersResponse.data?.[0]?.meta?.total || 0;\n }, [ordersResponse.data?.[0]?.meta?.total]);\n\n /**\n * cancel all orders\n */\n const cancelAllOrders = useCallback(() => {}, [ordersResponse.data]);\n\n const _updateOrder = useCallback(\n (orderId: string, order: OrderEntity, type: OrderType) => {\n switch (type) {\n case \"algoOrder\":\n return doUpdateAlgoOrder({\n order_id: orderId,\n price: order[\"order_price\"],\n quantity: order[\"order_quantity\"],\n trigger_price: order[\"trigger_price\"],\n });\n default:\n return doUpdateOrder({ ...order, order_id: orderId });\n }\n },\n []\n );\n\n /**\n * update order\n */\n const updateOrder = useCallback((orderId: string, order: OrderEntity) => {\n return _updateOrder(orderId, order, \"normalOrder\");\n }, []);\n\n /**\n * update algo order\n */\n const updateAlgoOrder = useCallback((orderId: string, order: OrderEntity) => {\n return _updateOrder(orderId, order, \"algoOrder\").then((res) => {\n // TODO: remove this when the WS service provides the correct data\n ee.emit(\"algoOrder:cache\", {\n // ...res.data.rows[0],\n ...order,\n order_id: Number(orderId),\n // trigger_price: price,\n });\n //------------fix end----------------\n return res;\n });\n }, []);\n\n const _cancelOrder = useCallback(\n (orderId: number, type: OrderType, symbol?: string) => {\n switch (type) {\n case \"algoOrder\":\n return doCanceAlgolOrder(null, {\n // @ts-ignore\n order_id: orderId,\n symbol,\n source: `SDK${version}`,\n }).then((res: any) => {\n if (res.success) {\n ordersResponse.mutate();\n return res;\n } else {\n throw new Error(res.message);\n }\n });\n default:\n return doCancelOrder(null, {\n order_id: orderId,\n symbol,\n source: `SDK_${version}`,\n }).then((res: any) => {\n if (res.success) {\n // return ordersResponse.mutate().then(() => {\n // return res;\n // });\n //Optimistic Updates\n // ordersResponse.mutate();\n return res;\n } else {\n throw new Error(res.message);\n }\n });\n }\n },\n []\n );\n /**\n * calcel order\n */\n const cancelOrder = useCallback((orderId: number, symbol?: string) => {\n return _cancelOrder(orderId, \"normalOrder\", symbol);\n }, []);\n\n /**\n * calcel algo order\n */\n const cancelAlgoOrder = useCallback((orderId: number, symbol?: string) => {\n return _cancelOrder(orderId, \"algoOrder\", symbol);\n }, []);\n\n const loadMore = () => {\n ordersResponse.setSize(ordersResponse.size + 1);\n };\n\n return [\n orders,\n {\n total,\n isLoading: ordersResponse.isLoading,\n refresh: ordersResponse.mutate,\n loadMore,\n cancelAllOrders,\n updateOrder,\n cancelOrder,\n updateAlgoOrder,\n cancelAlgoOrder,\n errors: {\n cancelOrder: cancelOrderError,\n updateOrder: updateOrderError,\n cancelAlgoOrder: cancelAlgoOrderError,\n updateAlgoOrder: updateAlgoOrderError,\n },\n submitting: {\n cancelOrder: cancelMutating,\n updateOrder: updateMutating,\n cancelAlgoOrder: cancelAlgoMutating,\n updateAlglOrder: updateAlgoMutating,\n },\n },\n ] as const;\n};\n"],"names":["useOrderStream","params","options","status","symbol","side","size","data","markPrices","useMarkPricesStream","ee","useEventEmitter","regesterKeyHandler","unregisterKeyHandler","useDataCenterContext","doCancelOrder","error","cancelOrderError","isMutating","cancelMutating","useMutation","doUpdateOrder","updateOrderError","updateMutating","doCanceAlgolOrder","cancelAlgoOrderError","cancelAlgoMutating","doUpdateAlgoOrder","updateAlgoOrderError","updateAlgoMutating","useEffect","formatKey","value","key","generateKeyFun","stopOnUnmount","keeplive","ordersResponse","usePrivateInfiniteQuery","initialSize","formatter","revalidateOnFocus","flattenOrders","useMemo","map","item","rows","flat","orders","OrderStatus","NEW","INCOMPLETE","mark_price","total","meta","cancelAllOrders","useCallback","_updateOrder","orderId","order","type","order_id","price","quantity","trigger_price","updateOrder","updateAlgoOrder","then","res","emit","Number","_cancelOrder","source","version","success","mutate","Error","message","cancelOrder","cancelAlgoOrder","loadMore","setSize","isLoading","refresh","errors","submitting","updateAlglOrder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePositionStream.d.ts","sourceRoot":"","sources":["../../src/orderly/usePositionStream.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAI5C,OAAO,EAAE,KAAK,GAAG,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,OAAO,EAAQ,MAAM,wBAAwB,CAAC;AAIvD,KAAK,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,CACL,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,MAAM,CAAC,KAC5D,IAAI,CAAC;CACX;AAED,eAAO,MAAM,iBAAiB,YAInB,MAAM,YACL,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;EAsRtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,sBAIpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/orderly/usePositionStream.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState, useRef } from \"react\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { account, positions } from \"@orderly.network/perp\";\nimport { type SWRConfiguration } from \"swr\";\nimport useSWRSubscription from \"swr/subscription\";\nimport { createGetter } from \"../utils/createGetter\";\nimport { useFundingRates } from \"./useFundingRates\";\nimport { type API, OrderEntity } from \"@orderly.network/types\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { pathOr, propOr } from \"ramda\";\nimport { parseHolding } from \"../utils/parseHolding\";\nimport { Decimal, zero } from \"@orderly.network/utils\";\nimport { useWS } from \"../useWS\";\nimport { useMarketsStream } from \"./useMarketsStream\";\n\ntype PriceMode = \"markPrice\" | \"lastPrice\";\n\nexport interface PositionReturn {\n data: any[];\n loading: boolean;\n close: (\n order: Pick<OrderEntity, \"order_type\" | \"order_price\" | \"side\">\n ) => void;\n}\n\nexport const usePositionStream = (\n /**\n * If symbol is passed, only the position of that symbol will be returned.\n */\n symbol?: string,\n options?: SWRConfiguration & { calcMode?: PriceMode }\n) => {\n const symbolInfo = useSymbolsInfo();\n const { data: accountInfo } =\n usePrivateQuery<API.AccountInfo>(\"/v1/client/info\");\n\n const { data: holding } = usePrivateQuery<API.Holding[]>(\n \"/v1/client/holding\",\n {\n formatter: (data) => {\n return data.holding;\n },\n }\n );\n\n const fundingRates = useFundingRates();\n\n const {\n data,\n error,\n mutate: refreshPositions,\n } = usePrivateQuery<API.PositionInfo>(`/v1/positions`, {\n // revalidateOnFocus: false,\n // revalidateOnReconnect: false,\n // dedupingInterval: 200,\n // keepPreviousData: false,\n // revalidateIfStale: true,\n ...options,\n\n formatter: (data) => data,\n onError: (err) => {},\n });\n\n const { data: markPrices } = useMarkPricesStream();\n\n const [priceMode, setPriceMode] = useState(options?.calcMode || \"markPrice\");\n\n useEffect(() => {\n if (options?.calcMode && priceMode !== options?.calcMode) {\n setPriceMode(options?.calcMode);\n }\n }, [options?.calcMode]);\n\n const { data: tickers } = useMarketsStream();\n // console.log(\"mark prices\", markPrices);\n // console.log(\"tickers\", tickers);\n\n const tickerPrices = useMemo(() => {\n const data: Record<string, number> = Object.create(null);\n tickers?.forEach((item) => {\n // @ts-ignore\n data[item.symbol] = item[\"24h_close\"];\n });\n return data;\n }, [tickers]);\n\n const formatedPositions = useMemo<[API.PositionExt[], any] | null>(() => {\n if (!data?.rows || symbolInfo.isNil || !accountInfo) return null;\n\n const filteredData =\n typeof symbol === \"undefined\" || symbol === \"\"\n ? data.rows\n : data.rows.filter((item) => {\n return item.symbol === symbol;\n });\n\n let unrealPnL_total = zero,\n notional_total = zero,\n unsettlementPnL_total = zero;\n\n const formatted = filteredData.map((item: API.Position) => {\n // const price = (markPrices as any)[item.symbol] ?? item.mark_price;\n const unRealizedPrice = propOr(\n item.mark_price,\n item.symbol,\n priceMode === \"markPrice\" ? markPrices : tickerPrices\n ) as unknown as number;\n\n const price = propOr(\n item.mark_price,\n item.symbol,\n markPrices\n ) as unknown as number;\n\n const info = symbolInfo[item.symbol];\n //\n\n const notional = positions.notional(item.position_qty, price);\n\n const unrealPnl = positions.unrealizedPnL({\n qty: item.position_qty,\n openPrice: item?.average_open_price,\n markPrice: unRealizedPrice,\n });\n\n const imr = account.IMR({\n maxLeverage: accountInfo.max_leverage,\n baseIMR: info(\"base_imr\"),\n IMR_Factor: accountInfo.imr_factor[item.symbol] as number,\n positionNotional: notional,\n ordersNotional: 0,\n IMR_factor_power: 4 / 5,\n });\n\n const unrealPnlROI = positions.unrealizedPnLROI({\n positionQty: item.position_qty,\n openPrice: item.average_open_price,\n IMR: imr,\n unrealizedPnL: unrealPnl,\n });\n\n const unsettlementPnL = positions.unsettlementPnL({\n positionQty: item.position_qty,\n markPrice: price,\n costPosition: item.cost_position,\n sumUnitaryFunding: fundingRates[item.symbol]?.(\n \"sum_unitary_funding\",\n 0\n ),\n lastSumUnitaryFunding: item.last_sum_unitary_funding,\n });\n\n unrealPnL_total = unrealPnL_total.add(unrealPnl);\n notional_total = notional_total.add(notional);\n unsettlementPnL_total = unsettlementPnL_total.add(unsettlementPnL);\n\n return {\n ...item,\n mark_price: price,\n mm: 0,\n notional,\n unsettlement_pnl: unsettlementPnL,\n unrealized_pnl: unrealPnl,\n unrealized_pnl_ROI: unrealPnlROI,\n };\n });\n\n return [\n formatted,\n {\n unrealPnL: unrealPnL_total.toNumber(),\n notional: notional_total.toNumber(),\n unsettledPnL: unsettlementPnL_total.toNumber(),\n },\n ];\n }, [\n data?.rows,\n symbolInfo,\n accountInfo,\n markPrices,\n priceMode,\n tickerPrices,\n symbol,\n holding,\n ]);\n\n // const showSymbol = useCallback((symbol: string) => {\n // setVisibleSymbol(symbol);\n // }, []);\n\n const [totalCollateral, totalValue, totalUnrealizedROI] = useMemo<\n [Decimal, Decimal, number]\n >(() => {\n if (!holding || !markPrices) {\n return [zero, zero, 0];\n }\n const unsettlemnedPnL = pathOr(0, [1, \"unsettledPnL\"])(formatedPositions);\n const unrealizedPnL = pathOr(0, [1, \"unrealPnL\"])(formatedPositions);\n\n const [USDC_holding, nonUSDC] = parseHolding(holding, markPrices);\n\n const totalCollateral = account.totalCollateral({\n USDCHolding: USDC_holding,\n nonUSDCHolding: nonUSDC,\n unsettlementPnL: unsettlemnedPnL,\n });\n\n const totalValue = account.totalValue({\n totalUnsettlementPnL: unsettlemnedPnL,\n USDCHolding: USDC_holding,\n nonUSDCHolding: nonUSDC,\n });\n\n const totalUnrealizedROI = account.totalUnrealizedROI({\n totalUnrealizedPnL: unrealizedPnL,\n totalValue: totalValue.toNumber(),\n });\n\n return [totalCollateral, totalValue, totalUnrealizedROI];\n }, [holding, formatedPositions, markPrices]);\n\n const positionsRows = useMemo(() => {\n if (!formatedPositions) return null;\n\n if (!symbolInfo || !accountInfo) return formatedPositions[0];\n\n const total = totalCollateral.toNumber();\n\n let rows = formatedPositions[0]\n .filter((item) => item.position_qty !== 0)\n .map((item) => {\n const info = symbolInfo?.[item.symbol];\n\n const MMR = positions.MMR({\n baseMMR: info(\"base_mmr\"),\n baseIMR: info(\"base_imr\"),\n IMRFactor: accountInfo.imr_factor[item.symbol] as number,\n positionNotional: item.notional,\n IMR_factor_power: 4 / 5,\n });\n\n return {\n ...item,\n mm: positions.maintenanceMargin({\n positionQty: item.position_qty,\n markPrice: item.mark_price,\n MMR,\n }),\n // est_liq_price: positions.liqPrice({\n // markPrice: item.mark_price,\n // totalCollateral: total,\n // positionQty: item.position_qty,\n // MMR,\n // }),\n mmr: MMR,\n };\n });\n\n // calculate est_liq_price\n rows = rows.map((item) => {\n const est_liq_price = positions.liqPrice({\n markPrice: item.mark_price,\n totalCollateral: total,\n positionQty: item.position_qty,\n positions: rows,\n MMR: item.mmr,\n });\n return {\n ...item,\n est_liq_price,\n };\n });\n\n return rows;\n }, [formatedPositions, symbolInfo, accountInfo, totalCollateral]);\n\n // useEffect(() => {\n // ee.on(\"positions:changed\", () => {\n // updatePositions();\n // });\n // }, []);\n\n const positionInfoGetter = createGetter<\n Omit<API.PositionInfo, \"rows\">,\n keyof Omit<API.PositionInfo, \"rows\">\n >(data as any, 1);\n\n return [\n {\n rows: positionsRows,\n aggregated: {\n ...(formatedPositions?.[1] ?? {}),\n unrealPnlROI: totalUnrealizedROI,\n },\n totalCollateral,\n totalValue,\n totalUnrealizedROI,\n },\n positionInfoGetter,\n {\n // close: onClosePosition,\n loading: false,\n // showSymbol,\n error,\n // loadMore: () => {},\n refresh: refreshPositions,\n },\n ] as const;\n};\n\nexport const pathOr_unsettledPnLPathOr = pathOr(0, [\n 0,\n \"aggregated\",\n \"unsettledPnL\",\n]);\n"],"names":["pathOr_unsettledPnLPathOr","usePositionStream","symbol","options","symbolInfo","useSymbolsInfo","data","accountInfo","usePrivateQuery","holding","formatter","fundingRates","useFundingRates","error","mutate","refreshPositions","onError","err","markPrices","useMarkPricesStream","priceMode","setPriceMode","useState","calcMode","useEffect","tickers","useMarketsStream","tickerPrices","useMemo","Object","create","forEach","item","formatedPositions","rows","isNil","filteredData","filter","unrealPnL_total","zero","notional_total","unsettlementPnL_total","formatted","map","unRealizedPrice","propOr","mark_price","price","info","notional","positions","position_qty","unrealPnl","unrealizedPnL","qty","openPrice","average_open_price","markPrice","imr","account","IMR","maxLeverage","max_leverage","baseIMR","IMR_Factor","imr_factor","positionNotional","ordersNotional","IMR_factor_power","unrealPnlROI","unrealizedPnLROI","positionQty","unsettlementPnL","costPosition","cost_position","sumUnitaryFunding","lastSumUnitaryFunding","last_sum_unitary_funding","add","mm","unsettlement_pnl","unrealized_pnl","unrealized_pnl_ROI","unrealPnL","toNumber","unsettledPnL","totalCollateral","totalValue","totalUnrealizedROI","unsettlemnedPnL","pathOr","USDC_holding","nonUSDC","parseHolding","USDCHolding","nonUSDCHolding","totalUnsettlementPnL","totalUnrealizedPnL","positionsRows","total","MMR","baseMMR","IMRFactor","maintenanceMargin","mmr","est_liq_price","liqPrice","positionInfoGetter","createGetter","aggregated","loading","refresh"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}