@orderly.network/hooks 1.2.0 → 1.3.2

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 (371) hide show
  1. package/esm/configProvider.d.ts +7 -1
  2. package/esm/configProvider.d.ts.map +1 -1
  3. package/esm/configProvider.js +44 -18
  4. package/esm/configProvider.js.map +1 -0
  5. package/esm/dataProvider.js +24 -19
  6. package/esm/dataProvider.js.map +1 -0
  7. package/esm/index.d.ts +1 -0
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/index.js +4 -1
  10. package/esm/index.js.map +1 -0
  11. package/esm/middleware/signatureMiddleware.js +9 -8
  12. package/esm/middleware/signatureMiddleware.js.map +1 -0
  13. package/esm/orderly/orderbook.service.js +39 -28
  14. package/esm/orderly/orderbook.service.js.map +1 -0
  15. package/esm/orderly/orderlyHooks.d.ts +3 -0
  16. package/esm/orderly/orderlyHooks.d.ts.map +1 -1
  17. package/esm/orderly/orderlyHooks.js +2 -0
  18. package/esm/orderly/orderlyHooks.js.map +1 -0
  19. package/esm/orderly/useAccountInfo.js +3 -1
  20. package/esm/orderly/useAccountInfo.js.map +1 -0
  21. package/esm/orderly/useChain.js +16 -9
  22. package/esm/orderly/useChain.js.map +1 -0
  23. package/esm/orderly/useChains.d.ts +11 -12
  24. package/esm/orderly/useChains.d.ts.map +1 -1
  25. package/esm/orderly/useChains.js +68 -46
  26. package/esm/orderly/useChains.js.map +1 -0
  27. package/esm/orderly/useCollateral.d.ts +3 -4
  28. package/esm/orderly/useCollateral.d.ts.map +1 -1
  29. package/esm/orderly/useCollateral.js +53 -20
  30. package/esm/orderly/useCollateral.js.map +1 -0
  31. package/esm/orderly/useDeposit.js +123 -125
  32. package/esm/orderly/useDeposit.js.map +1 -0
  33. package/esm/orderly/useFundingRate.js +14 -13
  34. package/esm/orderly/useFundingRate.js.map +1 -0
  35. package/esm/orderly/useFundingRates.js +6 -4
  36. package/esm/orderly/useFundingRates.js.map +1 -0
  37. package/esm/orderly/useHoldingStream.js +19 -15
  38. package/esm/orderly/useHoldingStream.js.map +1 -0
  39. package/esm/orderly/useIndexPrice.js +7 -5
  40. package/esm/orderly/useIndexPrice.js.map +1 -0
  41. package/esm/orderly/useLeverage.js +9 -12
  42. package/esm/orderly/useLeverage.js.map +1 -0
  43. package/esm/orderly/useMarginRatio.js +27 -13
  44. package/esm/orderly/useMarginRatio.js.map +1 -0
  45. package/esm/orderly/useMarkPrice.js +13 -7
  46. package/esm/orderly/useMarkPrice.js.map +1 -0
  47. package/esm/orderly/useMarkPricesStream.d.ts +1 -1
  48. package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
  49. package/esm/orderly/useMarkPricesStream.js +9 -8
  50. package/esm/orderly/useMarkPricesStream.js.map +1 -0
  51. package/esm/orderly/useMarketTradeStream.js +33 -18
  52. package/esm/orderly/useMarketTradeStream.js.map +1 -0
  53. package/esm/orderly/useMarkets.js +144 -81
  54. package/esm/orderly/useMarkets.js.map +1 -0
  55. package/esm/orderly/useMarketsStream.js +23 -28
  56. package/esm/orderly/useMarketsStream.js.map +1 -0
  57. package/esm/orderly/useMaxQty.d.ts +6 -0
  58. package/esm/orderly/useMaxQty.d.ts.map +1 -1
  59. package/esm/orderly/useMaxQty.js +26 -18
  60. package/esm/orderly/useMaxQty.js.map +1 -0
  61. package/esm/orderly/useOpenInterest.js +7 -5
  62. package/esm/orderly/useOpenInterest.js.map +1 -0
  63. package/esm/orderly/useOrderEntry.js +182 -160
  64. package/esm/orderly/useOrderEntry.js.map +1 -0
  65. package/esm/orderly/useOrderStream.js +85 -66
  66. package/esm/orderly/useOrderStream.js.map +1 -0
  67. package/esm/orderly/useOrderbookStream.d.ts +2 -3
  68. package/esm/orderly/useOrderbookStream.d.ts.map +1 -1
  69. package/esm/orderly/useOrderbookStream.js +173 -103
  70. package/esm/orderly/useOrderbookStream.js.map +1 -0
  71. package/esm/orderly/usePositionStream.js +82 -62
  72. package/esm/orderly/usePositionStream.js.map +1 -0
  73. package/esm/orderly/usePrivateDataObserver.js +55 -48
  74. package/esm/orderly/usePrivateDataObserver.js.map +1 -0
  75. package/esm/orderly/useSettleSubscription.js +8 -6
  76. package/esm/orderly/useSettleSubscription.js.map +1 -0
  77. package/esm/orderly/useSymbolPriceRange.js +14 -8
  78. package/esm/orderly/useSymbolPriceRange.js.map +1 -0
  79. package/esm/orderly/useSymbolsInfo.js +7 -5
  80. package/esm/orderly/useSymbolsInfo.js.map +1 -0
  81. package/esm/orderly/useTickerStream.d.ts +5 -1
  82. package/esm/orderly/useTickerStream.d.ts.map +1 -1
  83. package/esm/orderly/useTickerStream.js +26 -29
  84. package/esm/orderly/useTickerStream.js.map +1 -0
  85. package/esm/orderly/useWalletSubscription.js +8 -6
  86. package/esm/orderly/useWalletSubscription.js.map +1 -0
  87. package/esm/orderly/useWithdraw.js +19 -11
  88. package/esm/orderly/useWithdraw.js.map +1 -0
  89. package/esm/orderlyContext.d.ts +8 -1
  90. package/esm/orderlyContext.d.ts.map +1 -1
  91. package/esm/orderlyContext.js +2 -1
  92. package/esm/orderlyContext.js.map +1 -0
  93. package/esm/services/dataCenter.js +10 -8
  94. package/esm/services/dataCenter.js.map +1 -0
  95. package/esm/services/painter/backgroundPaint.js +11 -14
  96. package/esm/services/painter/backgroundPaint.js.map +1 -0
  97. package/esm/services/painter/basePaint.js +5 -1
  98. package/esm/services/painter/basePaint.js.map +1 -0
  99. package/esm/services/painter/dataPaint.js +53 -50
  100. package/esm/services/painter/dataPaint.js.map +1 -0
  101. package/esm/services/painter/layout.config.js +15 -13
  102. package/esm/services/painter/layout.config.js.map +1 -0
  103. package/esm/services/painter/painter.js +14 -13
  104. package/esm/services/painter/painter.js.map +1 -0
  105. package/esm/services/painter/resource.js +6 -4
  106. package/esm/services/painter/resource.js.map +1 -0
  107. package/esm/statusProvider.js +10 -3
  108. package/esm/statusProvider.js.map +1 -0
  109. package/esm/unuse/apiPrefixMiddleware.js +18 -16
  110. package/esm/unuse/apiPrefixMiddleware.js.map +1 -0
  111. package/esm/unuse/fn.js +3 -1
  112. package/esm/unuse/fn.js.map +1 -0
  113. package/esm/unuse/useBalance.js +6 -4
  114. package/esm/unuse/useBalance.js.map +1 -0
  115. package/esm/unuse/useFetures.js +26 -18
  116. package/esm/unuse/useFetures.js.map +1 -0
  117. package/esm/unuse/useRunOnce.js +10 -7
  118. package/esm/unuse/useRunOnce.js.map +1 -0
  119. package/esm/unuse/useSyncEnd.js +5 -4
  120. package/esm/unuse/useSyncEnd.js.map +1 -0
  121. package/esm/unuse/useTokenInfo.js +7 -5
  122. package/esm/unuse/useTokenInfo.js.map +1 -0
  123. package/esm/unuse/useUnsettlementPnL.js +7 -3
  124. package/esm/unuse/useUnsettlementPnL.js.map +1 -0
  125. package/esm/useAccount.js +18 -21
  126. package/esm/useAccount.js.map +1 -0
  127. package/esm/useAccountInstance.js +6 -7
  128. package/esm/useAccountInstance.js.map +1 -0
  129. package/esm/useBoolean.js +14 -5
  130. package/esm/useBoolean.js.map +1 -0
  131. package/esm/useConfig.js +3 -1
  132. package/esm/useConfig.js.map +1 -0
  133. package/esm/useEventEmitter.js +4 -2
  134. package/esm/useEventEmitter.js.map +1 -0
  135. package/esm/useLazyQuery.js +6 -7
  136. package/esm/useLazyQuery.js.map +1 -0
  137. package/esm/useLocalStorage.js +30 -20
  138. package/esm/useLocalStorage.js.map +1 -0
  139. package/esm/useMediaQuery.js +11 -9
  140. package/esm/useMediaQuery.js.map +1 -0
  141. package/esm/useMutation.js +26 -37
  142. package/esm/useMutation.js.map +1 -0
  143. package/esm/useObserve.js +4 -4
  144. package/esm/useObserve.js.map +1 -0
  145. package/esm/useParamsCheck.js +8 -10
  146. package/esm/useParamsCheck.js.map +1 -0
  147. package/esm/usePoster.js +56 -45
  148. package/esm/usePoster.js.map +1 -0
  149. package/esm/usePreloadData.js +9 -5
  150. package/esm/usePreloadData.js.map +1 -0
  151. package/esm/usePrivateInfiniteQuery.js +15 -9
  152. package/esm/usePrivateInfiniteQuery.js.map +1 -0
  153. package/esm/usePrivateQuery.js +15 -8
  154. package/esm/usePrivateQuery.js.map +1 -0
  155. package/esm/useQuery.js +6 -5
  156. package/esm/useQuery.js.map +1 -0
  157. package/esm/useSessionStorage.js +28 -19
  158. package/esm/useSessionStorage.js.map +1 -0
  159. package/esm/useWS.js +15 -13
  160. package/esm/useWS.js.map +1 -0
  161. package/esm/useWsStatus.js +12 -12
  162. package/esm/useWsStatus.js.map +1 -0
  163. package/esm/utils/createGetter.js +8 -8
  164. package/esm/utils/createGetter.js.map +1 -0
  165. package/esm/utils/createOrder.d.ts +1 -0
  166. package/esm/utils/createOrder.d.ts.map +1 -1
  167. package/esm/utils/createOrder.js +59 -43
  168. package/esm/utils/createOrder.js.map +1 -0
  169. package/esm/utils/dev.js +6 -4
  170. package/esm/utils/dev.js.map +1 -0
  171. package/esm/utils/fetcher.js +3 -1
  172. package/esm/utils/fetcher.js.map +1 -0
  173. package/esm/utils/json.js +3 -2
  174. package/esm/utils/json.js.map +1 -0
  175. package/esm/utils/orderEntryHelper.js +92 -63
  176. package/esm/utils/orderEntryHelper.js.map +1 -0
  177. package/esm/utils/parseHolding.js +10 -6
  178. package/esm/utils/parseHolding.js.map +1 -0
  179. package/esm/utils/swr.js +114 -104
  180. package/esm/utils/swr.js.map +1 -0
  181. package/esm/version.d.ts +1 -1
  182. package/esm/version.js +4 -3
  183. package/esm/version.js.map +1 -0
  184. package/esm/walletConnectorContext.js +4 -2
  185. package/esm/walletConnectorContext.js.map +1 -0
  186. package/lib/configProvider.d.ts +7 -1
  187. package/lib/configProvider.d.ts.map +1 -1
  188. package/lib/configProvider.js +108 -56
  189. package/lib/configProvider.js.map +1 -0
  190. package/lib/dataProvider.js +50 -29
  191. package/lib/dataProvider.js.map +1 -0
  192. package/lib/index.d.ts +1 -0
  193. package/lib/index.d.ts.map +1 -1
  194. package/lib/index.js +191 -88
  195. package/lib/index.js.map +1 -0
  196. package/lib/middleware/signatureMiddleware.js +22 -15
  197. package/lib/middleware/signatureMiddleware.js.map +1 -0
  198. package/lib/orderly/orderbook.service.js +59 -33
  199. package/lib/orderly/orderbook.service.js.map +1 -0
  200. package/lib/orderly/orderlyHooks.d.ts +3 -0
  201. package/lib/orderly/orderlyHooks.d.ts.map +1 -1
  202. package/lib/orderly/orderlyHooks.js +124 -57
  203. package/lib/orderly/orderlyHooks.js.map +1 -0
  204. package/lib/orderly/useAccountInfo.js +14 -6
  205. package/lib/orderly/useAccountInfo.js.map +1 -0
  206. package/lib/orderly/useChain.js +30 -17
  207. package/lib/orderly/useChain.js.map +1 -0
  208. package/lib/orderly/useChains.d.ts +11 -12
  209. package/lib/orderly/useChains.d.ts.map +1 -1
  210. package/lib/orderly/useChains.js +100 -59
  211. package/lib/orderly/useChains.js.map +1 -0
  212. package/lib/orderly/useCollateral.d.ts +3 -4
  213. package/lib/orderly/useCollateral.d.ts.map +1 -1
  214. package/lib/orderly/useCollateral.js +81 -42
  215. package/lib/orderly/useCollateral.js.map +1 -0
  216. package/lib/orderly/useDeposit.js +154 -150
  217. package/lib/orderly/useDeposit.js.map +1 -0
  218. package/lib/orderly/useFundingRate.js +29 -22
  219. package/lib/orderly/useFundingRate.js.map +1 -0
  220. package/lib/orderly/useFundingRates.js +19 -11
  221. package/lib/orderly/useFundingRates.js.map +1 -0
  222. package/lib/orderly/useHoldingStream.js +39 -27
  223. package/lib/orderly/useHoldingStream.js.map +1 -0
  224. package/lib/orderly/useIndexPrice.js +24 -14
  225. package/lib/orderly/useIndexPrice.js.map +1 -0
  226. package/lib/orderly/useLeverage.js +27 -24
  227. package/lib/orderly/useLeverage.js.map +1 -0
  228. package/lib/orderly/useMarginRatio.js +49 -29
  229. package/lib/orderly/useMarginRatio.js.map +1 -0
  230. package/lib/orderly/useMarkPrice.js +26 -15
  231. package/lib/orderly/useMarkPrice.js.map +1 -0
  232. package/lib/orderly/useMarkPricesStream.d.ts +1 -1
  233. package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
  234. package/lib/orderly/useMarkPricesStream.js +26 -17
  235. package/lib/orderly/useMarkPricesStream.js.map +1 -0
  236. package/lib/orderly/useMarketTradeStream.js +47 -26
  237. package/lib/orderly/useMarketTradeStream.js.map +1 -0
  238. package/lib/orderly/useMarkets.js +172 -95
  239. package/lib/orderly/useMarkets.js.map +1 -0
  240. package/lib/orderly/useMarketsStream.js +44 -41
  241. package/lib/orderly/useMarketsStream.js.map +1 -0
  242. package/lib/orderly/useMaxQty.d.ts +6 -0
  243. package/lib/orderly/useMaxQty.d.ts.map +1 -1
  244. package/lib/orderly/useMaxQty.js +52 -43
  245. package/lib/orderly/useMaxQty.js.map +1 -0
  246. package/lib/orderly/useOpenInterest.js +24 -14
  247. package/lib/orderly/useOpenInterest.js.map +1 -0
  248. package/lib/orderly/useOrderEntry.js +238 -210
  249. package/lib/orderly/useOrderEntry.js.map +1 -0
  250. package/lib/orderly/useOrderStream.js +111 -84
  251. package/lib/orderly/useOrderStream.js.map +1 -0
  252. package/lib/orderly/useOrderbookStream.d.ts +2 -3
  253. package/lib/orderly/useOrderbookStream.d.ts.map +1 -1
  254. package/lib/orderly/useOrderbookStream.js +227 -148
  255. package/lib/orderly/useOrderbookStream.js.map +1 -0
  256. package/lib/orderly/usePositionStream.js +134 -100
  257. package/lib/orderly/usePositionStream.js.map +1 -0
  258. package/lib/orderly/usePrivateDataObserver.js +76 -63
  259. package/lib/orderly/usePrivateDataObserver.js.map +1 -0
  260. package/lib/orderly/useSettleSubscription.js +25 -15
  261. package/lib/orderly/useSettleSubscription.js.map +1 -0
  262. package/lib/orderly/useSymbolPriceRange.js +29 -23
  263. package/lib/orderly/useSymbolPriceRange.js.map +1 -0
  264. package/lib/orderly/useSymbolsInfo.js +23 -15
  265. package/lib/orderly/useSymbolsInfo.js.map +1 -0
  266. package/lib/orderly/useTickerStream.d.ts +5 -1
  267. package/lib/orderly/useTickerStream.d.ts.map +1 -1
  268. package/lib/orderly/useTickerStream.js +51 -48
  269. package/lib/orderly/useTickerStream.js.map +1 -0
  270. package/lib/orderly/useWalletSubscription.js +25 -15
  271. package/lib/orderly/useWalletSubscription.js.map +1 -0
  272. package/lib/orderly/useWithdraw.js +36 -22
  273. package/lib/orderly/useWithdraw.js.map +1 -0
  274. package/lib/orderlyContext.d.ts +8 -1
  275. package/lib/orderlyContext.d.ts.map +1 -1
  276. package/lib/orderlyContext.js +22 -6
  277. package/lib/orderlyContext.js.map +1 -0
  278. package/lib/services/dataCenter.js +15 -11
  279. package/lib/services/dataCenter.js.map +1 -0
  280. package/lib/services/painter/backgroundPaint.js +21 -18
  281. package/lib/services/painter/backgroundPaint.js.map +1 -0
  282. package/lib/services/painter/basePaint.js +14 -4
  283. package/lib/services/painter/basePaint.js.map +1 -0
  284. package/lib/services/painter/dataPaint.js +67 -58
  285. package/lib/services/painter/dataPaint.js.map +1 -0
  286. package/lib/services/painter/layout.config.js +25 -16
  287. package/lib/services/painter/layout.config.js.map +1 -0
  288. package/lib/services/painter/painter.js +27 -20
  289. package/lib/services/painter/painter.js.map +1 -0
  290. package/lib/services/painter/resource.js +15 -7
  291. package/lib/services/painter/resource.js.map +1 -0
  292. package/lib/statusProvider.js +31 -10
  293. package/lib/statusProvider.js.map +1 -0
  294. package/lib/unuse/apiPrefixMiddleware.js +30 -22
  295. package/lib/unuse/apiPrefixMiddleware.js.map +1 -0
  296. package/lib/unuse/fn.js +14 -5
  297. package/lib/unuse/fn.js.map +1 -0
  298. package/lib/unuse/useBalance.js +23 -13
  299. package/lib/unuse/useBalance.js.map +1 -0
  300. package/lib/unuse/useFetures.js +41 -28
  301. package/lib/unuse/useFetures.js.map +1 -0
  302. package/lib/unuse/useRunOnce.js +61 -11
  303. package/lib/unuse/useRunOnce.js.map +1 -0
  304. package/lib/unuse/useSyncEnd.js +17 -10
  305. package/lib/unuse/useSyncEnd.js.map +1 -0
  306. package/lib/unuse/useTokenInfo.js +20 -12
  307. package/lib/unuse/useTokenInfo.js.map +1 -0
  308. package/lib/unuse/useUnsettlementPnL.js +21 -11
  309. package/lib/unuse/useUnsettlementPnL.js.map +1 -0
  310. package/lib/useAccount.js +32 -29
  311. package/lib/useAccount.js.map +1 -0
  312. package/lib/useAccountInstance.js +27 -20
  313. package/lib/useAccountInstance.js.map +1 -0
  314. package/lib/useBoolean.js +25 -10
  315. package/lib/useBoolean.js.map +1 -0
  316. package/lib/useConfig.js +15 -7
  317. package/lib/useConfig.js.map +1 -0
  318. package/lib/useEventEmitter.js +23 -13
  319. package/lib/useEventEmitter.js.map +1 -0
  320. package/lib/useLazyQuery.js +25 -23
  321. package/lib/useLazyQuery.js.map +1 -0
  322. package/lib/useLocalStorage.js +44 -28
  323. package/lib/useLocalStorage.js.map +1 -0
  324. package/lib/useMediaQuery.js +22 -14
  325. package/lib/useMediaQuery.js.map +1 -0
  326. package/lib/useMutation.js +47 -52
  327. package/lib/useMutation.js.map +1 -0
  328. package/lib/useObserve.js +22 -8
  329. package/lib/useObserve.js.map +1 -0
  330. package/lib/useParamsCheck.js +18 -14
  331. package/lib/useParamsCheck.js.map +1 -0
  332. package/lib/usePoster.js +80 -74
  333. package/lib/usePoster.js.map +1 -0
  334. package/lib/usePreloadData.js +21 -11
  335. package/lib/usePreloadData.js.map +1 -0
  336. package/lib/usePrivateInfiniteQuery.js +36 -22
  337. package/lib/usePrivateInfiniteQuery.js.map +1 -0
  338. package/lib/usePrivateQuery.js +35 -25
  339. package/lib/usePrivateQuery.js.map +1 -0
  340. package/lib/useQuery.js +24 -20
  341. package/lib/useQuery.js.map +1 -0
  342. package/lib/useSessionStorage.js +41 -26
  343. package/lib/useSessionStorage.js.map +1 -0
  344. package/lib/useWS.js +42 -32
  345. package/lib/useWS.js.map +1 -0
  346. package/lib/useWsStatus.js +34 -20
  347. package/lib/useWsStatus.js.map +1 -0
  348. package/lib/utils/createGetter.js +19 -14
  349. package/lib/utils/createGetter.js.map +1 -0
  350. package/lib/utils/createOrder.d.ts +1 -0
  351. package/lib/utils/createOrder.d.ts.map +1 -1
  352. package/lib/utils/createOrder.js +133 -82
  353. package/lib/utils/createOrder.js.map +1 -0
  354. package/lib/utils/dev.js +13 -9
  355. package/lib/utils/dev.js.map +1 -0
  356. package/lib/utils/fetcher.js +13 -5
  357. package/lib/utils/fetcher.js.map +1 -0
  358. package/lib/utils/json.js +12 -5
  359. package/lib/utils/json.js.map +1 -0
  360. package/lib/utils/orderEntryHelper.js +125 -82
  361. package/lib/utils/orderEntryHelper.js.map +1 -0
  362. package/lib/utils/parseHolding.js +19 -9
  363. package/lib/utils/parseHolding.js.map +1 -0
  364. package/lib/utils/swr.js +134 -111
  365. package/lib/utils/swr.js.map +1 -0
  366. package/lib/version.d.ts +1 -1
  367. package/lib/version.js +13 -4
  368. package/lib/version.js.map +1 -0
  369. package/lib/walletConnectorContext.js +23 -7
  370. package/lib/walletConnectorContext.js.map +1 -0
  371. package/package.json +17 -9
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useChains.ts"],"sourcesContent":["import {\n NetworkId,\n type API,\n chainsInfoMap,\n Chain as FlatChain,\n} from \"@orderly.network/types\";\nimport { useCallback, useContext, useMemo, useRef } from \"react\";\nimport { SWRConfiguration } from \"swr\";\nimport { useQuery } from \"../useQuery\";\nimport { prop } from \"ramda\";\nimport { isTestnet } from \"@orderly.network/utils\";\nimport { TestnetChains, nativeTokenAddress } from \"@orderly.network/types\";\nimport { OrderlyContext } from \"../orderlyContext\";\n\nexport type Chain = API.Chain & {\n nativeToken?: API.TokenInfo;\n};\n\nexport type Chains<\n T extends NetworkId | undefined = undefined,\n K extends keyof API.Chain | undefined = undefined\n> = T extends NetworkId\n ? K extends keyof API.Chain\n ? API.Chain[K][]\n : API.Chain[]\n : K extends keyof API.Chain\n ? {\n testnet: API.Chain[K][];\n mainnet: API.Chain[K][];\n }\n : {\n testnet: API.Chain[];\n mainnet: API.Chain[];\n };\n\nexport type UseChainsOptions = {\n filter?: (item: API.Chain) => boolean;\n pick?: \"dexs\" | \"network_infos\" | \"token_infos\";\n} & SWRConfiguration;\n\nexport type UseChainsReturnObject = {\n findByChainId: (chainId: number, field?: string) => Chain | undefined;\n error: any;\n};\n\nexport function useChains(\n networkId?: undefined,\n options?: undefined\n): [Chains<undefined, undefined>, UseChainsReturnObject];\n\nexport function useChains<\n T extends NetworkId | undefined,\n K extends UseChainsOptions | undefined\n>(\n networkId?: T,\n options?: K\n): [\n Chains<\n T,\n K extends UseChainsOptions\n ? K[\"pick\"] extends keyof API.Chain\n ? K[\"pick\"]\n : undefined\n : undefined\n >,\n UseChainsReturnObject\n];\n\nexport function useChains(\n networkId?: NetworkId,\n options: UseChainsOptions = {}\n) {\n const { pick: pickField, ...swrOptions } = options;\n const { filteredChains: allowedChains } = useContext(OrderlyContext);\n\n const filterFun = useRef(options?.filter);\n filterFun.current = options?.filter;\n\n const chainsMap = useRef(new Map<number, Chain>());\n\n const commonSwrOpts = {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n // If false, undefined data gets cached against the key.\n revalidateOnMount: true,\n // dont duplicate a request w/ same key for 1hr\n dedupingInterval: 3_600_000,\n ...swrOptions,\n };\n\n // only prod env return mainnet chains info\n // TODO: remove https://api-evm.orderly.org api base\n const { data: tokenChains, error: tokenError } = useQuery<API.Chain[]>(\n \"https://api-evm.orderly.org/v1/public/token\",\n { ...commonSwrOpts }\n );\n\n // only prod env return mainnet chains info\n const { data: chainInfos, error: chainInfoErr } = useQuery(\n \"/v1/public/chain_info\",\n { ...commonSwrOpts }\n );\n\n const chains = useMemo(() => {\n const orderlyChainsArr = fillChainsInfo(tokenChains, filterFun.current);\n\n let testnetArr = [...TestnetChains] as API.Chain[];\n\n orderlyChainsArr?.forEach((item) => {\n const chainId = item.network_infos?.chain_id;\n chainsMap.current.set(chainId, item);\n updateTestnetInfo(testnetArr, chainId, item);\n });\n\n testnetArr.forEach((chain) => {\n chainsMap.current.set(chain.network_infos?.chain_id, chain);\n });\n\n let mainnetArr: API.Chain[] = [];\n\n // TODO: /v1/public/chain_info api data is not match /v1/public/token api data, so it can effect is prod\n mainnetArr = updateOrderlyChains(\n orderlyChainsArr,\n chainInfos,\n filterFun.current\n );\n\n mainnetArr.forEach((item) => {\n const chainId = item.network_infos?.chain_id;\n chainsMap.current.set(chainId, item);\n updateTestnetInfo(testnetArr, chainId, item);\n });\n\n mainnetArr.sort((a, b) => {\n return a.network_infos.bridgeless ? -1 : 1;\n });\n\n testnetArr.sort((a, b) => {\n return a.network_infos.bridgeless ? -1 : 1;\n });\n\n mainnetArr = filterByAllowedChains(mainnetArr, allowedChains?.mainnet);\n testnetArr = filterByAllowedChains(testnetArr, allowedChains?.testnet);\n\n if (!!pickField) {\n //@ts-ignore\n testnetArr = testnetArr.map((item) => item[pickField]);\n //@ts-ignore\n mainnetArr = mainnetArr.map((item) => item[pickField]);\n }\n\n if (networkId === \"mainnet\") {\n return mainnetArr;\n }\n\n if (networkId === \"testnet\") {\n return testnetArr;\n }\n\n return {\n testnet: testnetArr,\n mainnet: mainnetArr,\n };\n }, [networkId, tokenChains, chainInfos, pickField, allowedChains]);\n\n const findByChainId = useCallback(\n (chainId: number, field?: string) => {\n const chain = chainsMap.current.get(chainId);\n\n if (chain) {\n chain.nativeToken =\n chain.token_infos?.find(\n (item) => item.address === nativeTokenAddress\n ) ||\n ({\n symbol: chain.network_infos?.currency_symbol,\n } as any);\n }\n\n if (typeof field === \"string\") {\n return prop(field as never, chain);\n }\n\n return chain;\n },\n [chains, chainsMap]\n );\n\n return [\n chains,\n {\n findByChainId,\n error: tokenError,\n },\n ];\n}\n\n/** orderly chains array form (/v1/public/token) api */\nexport function fillChainsInfo(\n chains?: API.Chain[],\n filter?: (chain: any) => boolean\n) {\n let _chains: API.Chain[] = [];\n\n chains?.forEach((item) => {\n item.chain_details.forEach((chain: any) => {\n const chainId = Number(chain.chain_id);\n const chainInfo = chainsInfoMap.get(chainId);\n\n const _chain: any = {\n network_infos: {\n name: chain.chain_name ?? chainInfo?.chainName ?? \"--\",\n chain_id: chainId,\n withdrawal_fee: chain.withdrawal_fee,\n cross_chain_withdrawal_fee: chain.cross_chain_withdrawal_fee,\n bridgeless: true,\n },\n token_infos: [\n {\n symbol: item.token,\n address: chain.contract_address,\n decimals: chain.decimals,\n },\n ],\n };\n\n if (typeof filter === \"function\") {\n if (!filter(_chain)) return;\n }\n\n _chains.push(_chain);\n });\n });\n\n return _chains;\n}\n\n/** update network_infos by chain_info api(v1/public/chain_info) */\nexport function updateOrderlyChains(\n chains: API.Chain[],\n chainInfos: any,\n filter?: (chain: any) => boolean\n) {\n const _chains: API.Chain[] = [];\n chains.forEach((chain) => {\n let _chain = { ...chain };\n\n const networkInfo = chainInfos?.find(\n (item: any) => item.chain_id == chain.network_infos.chain_id\n );\n\n if (networkInfo) {\n const { name, public_rpc_url, currency_symbol, explorer_base_url } =\n networkInfo;\n _chain.network_infos = {\n ..._chain.network_infos,\n name,\n shortName: name,\n public_rpc_url,\n currency_symbol,\n bridge_enable: true,\n mainnet: true,\n explorer_base_url,\n est_txn_mins: null,\n };\n }\n\n if (typeof filter === \"function\") {\n if (!filter(_chain)) return;\n }\n\n _chains.push(_chain);\n });\n\n return _chains;\n}\n\n/** if chain is testnet, update testnet network_infos */\nexport function updateTestnetInfo(\n testnetArr: API.Chain[],\n chainId: number,\n chain: API.Chain\n) {\n if (isTestnet(chainId)) {\n const index = testnetArr?.findIndex(\n (item) => item.network_infos.chain_id === chainId\n );\n if (index > -1) {\n testnetArr[index] = chain;\n }\n }\n}\n\nexport function filterByAllowedChains(\n chains: API.Chain[],\n allowedChains?: FlatChain[]\n) {\n if (!allowedChains) {\n return chains;\n }\n\n return chains.filter((chain) =>\n allowedChains.some(\n (allowedChain) =>\n allowedChain.id === parseInt(chain?.network_infos?.chain_id as any)\n )\n );\n}\n"],"names":["fillChainsInfo","filterByAllowedChains","updateOrderlyChains","updateTestnetInfo","useChains","networkId","options","pick","pickField","swrOptions","filteredChains","allowedChains","useContext","OrderlyContext","filterFun","useRef","filter","current","chainsMap","Map","commonSwrOpts","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","revalidateOnMount","dedupingInterval","data","tokenChains","error","tokenError","useQuery","chainInfos","chainInfoErr","chains","useMemo","orderlyChainsArr","testnetArr","TestnetChains","forEach","item","chainId","network_infos","chain_id","set","chain","mainnetArr","sort","a","b","bridgeless","mainnet","testnet","map","findByChainId","useCallback","field","get","nativeToken","token_infos","find","address","nativeTokenAddress","symbol","currency_symbol","prop","_chains","chain_details","Number","chainInfo","chainsInfoMap","_chain","name","chain_name","chainName","withdrawal_fee","cross_chain_withdrawal_fee","token","contract_address","decimals","push","networkInfo","public_rpc_url","explorer_base_url","shortName","bridge_enable","est_txn_mins","isTestnet","index","findIndex","some","allowedChain","id","parseInt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -8,9 +8,8 @@ export type CollateralOutputs = {
8
8
  positions: API.Position[];
9
9
  accountInfo?: API.AccountInfo;
10
10
  };
11
- type Options = {
11
+ export declare const useCollateral: (options?: {
12
+ /** decimal precision */
12
13
  dp: number;
13
- };
14
- export declare const useCollateral: (options?: Options) => CollateralOutputs;
15
- export {};
14
+ }) => CollateralOutputs;
16
15
  //# sourceMappingURL=useCollateral.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCollateral.d.ts","sourceRoot":"","sources":["../../src/orderly/useCollateral.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;CAC/B,CAAC;AAKF,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,aAAa,aACf,OAAO,KACf,iBA0EF,CAAC"}
1
+ {"version":3,"file":"useCollateral.d.ts","sourceRoot":"","sources":["../../src/orderly/useCollateral.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;CAC/B,CAAC;AAKF,eAAO,MAAM,aAAa,aACf;IACP,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ,KACA,iBA2EF,CAAC"}
@@ -1,28 +1,45 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useCollateral = void 0;
4
- const react_1 = require("react");
5
- const usePrivateQuery_1 = require("../usePrivateQuery");
6
- const usePositionStream_1 = require("./usePositionStream");
7
- const ramda_1 = require("ramda");
8
- const perp_1 = require("@orderly.network/perp");
9
- const types_1 = require("@orderly.network/types");
10
- const useSymbolsInfo_1 = require("./useSymbolsInfo");
11
- const utils_1 = require("@orderly.network/utils");
12
- const useMarkPricesStream_1 = require("./useMarkPricesStream");
13
- const useHoldingStream_1 = require("./useHoldingStream");
14
- const useOrderStream_1 = require("./useOrderStream");
15
- const positionsPath = (0, ramda_1.pathOr)([], [0, "rows"]);
16
- const totalCollateralPath = (0, ramda_1.pathOr)(0, [0, "totalCollateral"]);
17
- const useCollateral = (options = { dp: 6 }) => {
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useCollateral", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useCollateral;
9
+ }
10
+ });
11
+ const _react = require("react");
12
+ const _usePrivateQuery = require("../usePrivateQuery");
13
+ const _usePositionStream = require("./usePositionStream");
14
+ const _ramda = require("ramda");
15
+ const _perp = require("@orderly.network/perp");
16
+ const _types = require("@orderly.network/types");
17
+ const _useSymbolsInfo = require("./useSymbolsInfo");
18
+ const _utils = require("@orderly.network/utils");
19
+ const _useMarkPricesStream = require("./useMarkPricesStream");
20
+ const _useHoldingStream = require("./useHoldingStream");
21
+ const _useOrderStream = require("./useOrderStream");
22
+ const positionsPath = (0, _ramda.pathOr)([], [
23
+ 0,
24
+ "rows"
25
+ ]);
26
+ const totalCollateralPath = (0, _ramda.pathOr)(0, [
27
+ 0,
28
+ "totalCollateral"
29
+ ]);
30
+ const useCollateral = (options = {
31
+ dp: 6
32
+ })=>{
18
33
  const { dp } = options;
19
- const positions = (0, usePositionStream_1.usePositionStream)();
20
- const [orders] = (0, useOrderStream_1.useOrderStream)({ status: types_1.OrderStatus.NEW });
21
- const { data: accountInfo } = (0, usePrivateQuery_1.usePrivateQuery)("/v1/client/info");
22
- const symbolInfo = (0, useSymbolsInfo_1.useSymbolsInfo)();
23
- const { data: markPrices } = (0, useMarkPricesStream_1.useMarkPricesStream)();
24
- const { usdc } = (0, useHoldingStream_1.useHoldingStream)();
25
- const filterAlgoOrders = orders?.filter((item) => item.algo_order_id === undefined) ?? [];
34
+ const positions = (0, _usePositionStream.usePositionStream)();
35
+ const [orders] = (0, _useOrderStream.useOrderStream)({
36
+ status: _types.OrderStatus.NEW
37
+ });
38
+ const { data: accountInfo } = (0, _usePrivateQuery.usePrivateQuery)("/v1/client/info");
39
+ const symbolInfo = (0, _useSymbolsInfo.useSymbolsInfo)();
40
+ const { data: markPrices } = (0, _useMarkPricesStream.useMarkPricesStream)();
41
+ const { usdc } = (0, _useHoldingStream.useHoldingStream)();
42
+ const filterAlgoOrders = orders?.filter((item)=>item.algo_order_id === undefined) ?? [];
26
43
  // const { data: holding } = usePrivateQuery<API.Holding[]>(
27
44
  // "/v1/client/holding",
28
45
  // {
@@ -31,46 +48,68 @@ const useCollateral = (options = { dp: 6 }) => {
31
48
  // },
32
49
  // }
33
50
  // );
34
- const [totalCollateral, totalValue] = (0, react_1.useMemo)(() => {
51
+ const [totalCollateral, totalValue] = (0, _react.useMemo)(()=>{
35
52
  return [
36
- (0, ramda_1.pathOr)(utils_1.zero, [0, "totalCollateral"], positions),
37
- (0, ramda_1.pathOr)(utils_1.zero, [0, "totalValue"], positions),
53
+ (0, _ramda.pathOr)(_utils.zero, [
54
+ 0,
55
+ "totalCollateral"
56
+ ], positions),
57
+ (0, _ramda.pathOr)(_utils.zero, [
58
+ 0,
59
+ "totalValue"
60
+ ], positions)
38
61
  ];
39
- }, [positions, markPrices]);
40
- const totalInitialMarginWithOrders = (0, react_1.useMemo)(() => {
62
+ }, [
63
+ positions,
64
+ markPrices
65
+ ]);
66
+ const totalInitialMarginWithOrders = (0, _react.useMemo)(()=>{
41
67
  if (!accountInfo || !symbolInfo || !markPrices) {
42
68
  return 0;
43
69
  }
44
- return perp_1.account.totalInitialMarginWithOrders({
70
+ return _perp.account.totalInitialMarginWithOrders({
45
71
  positions: positionsPath(positions),
46
72
  orders: filterAlgoOrders,
47
73
  markPrices,
48
74
  IMR_Factors: accountInfo.imr_factor,
49
75
  maxLeverage: accountInfo.max_leverage,
50
- symbolInfo,
76
+ symbolInfo
51
77
  });
52
- }, [positions, filterAlgoOrders, markPrices, accountInfo, symbolInfo]);
53
- const freeCollateral = (0, react_1.useMemo)(() => {
54
- return perp_1.account.freeCollateral({
78
+ }, [
79
+ positions,
80
+ filterAlgoOrders,
81
+ markPrices,
82
+ accountInfo,
83
+ symbolInfo
84
+ ]);
85
+ const freeCollateral = (0, _react.useMemo)(()=>{
86
+ return _perp.account.freeCollateral({
55
87
  totalCollateral,
56
- totalInitialMarginWithOrders,
88
+ totalInitialMarginWithOrders
57
89
  });
58
- }, [totalCollateral, totalInitialMarginWithOrders]);
59
- const availableBalance = (0, react_1.useMemo)(() => {
60
- return perp_1.account.availableBalance({
90
+ }, [
91
+ totalCollateral,
92
+ totalInitialMarginWithOrders
93
+ ]);
94
+ const availableBalance = (0, _react.useMemo)(()=>{
95
+ return _perp.account.availableBalance({
61
96
  USDCHolding: usdc?.holding ?? 0,
62
- unsettlementPnL: (0, usePositionStream_1.pathOr_unsettledPnLPathOr)(positions),
97
+ unsettlementPnL: (0, _usePositionStream.pathOr_unsettledPnLPathOr)(positions)
63
98
  });
64
- }, [usdc?.holding, (0, usePositionStream_1.pathOr_unsettledPnLPathOr)(positions)]);
99
+ }, [
100
+ usdc?.holding,
101
+ (0, _usePositionStream.pathOr_unsettledPnLPathOr)(positions)
102
+ ]);
65
103
  return {
66
104
  totalCollateral: totalCollateral.toDecimalPlaces(dp).toNumber(),
67
105
  freeCollateral: freeCollateral.toDecimalPlaces(dp).toNumber(),
68
106
  totalValue: totalValue.toDecimalPlaces(dp).toNumber(),
69
107
  availableBalance,
70
- unsettledPnL: (0, usePositionStream_1.pathOr_unsettledPnLPathOr)(positions),
108
+ unsettledPnL: (0, _usePositionStream.pathOr_unsettledPnLPathOr)(positions),
71
109
  accountInfo,
72
110
  // @hidden
73
- positions: positionsPath(positions),
111
+ positions: positionsPath(positions)
74
112
  };
75
113
  };
76
- exports.useCollateral = useCollateral;
114
+
115
+ //# sourceMappingURL=useCollateral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useCollateral.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport {\n pathOr_unsettledPnLPathOr,\n usePositionStream,\n} from \"./usePositionStream\";\nimport { pathOr } from \"ramda\";\nimport { account } from \"@orderly.network/perp\";\nimport { type API, OrderStatus } from \"@orderly.network/types\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\nimport { zero } from \"@orderly.network/utils\";\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { useHoldingStream } from \"./useHoldingStream\";\nimport { useOrderStream } from \"./useOrderStream\";\n\nexport type CollateralOutputs = {\n totalCollateral: number;\n freeCollateral: number;\n totalValue: number;\n availableBalance: number;\n unsettledPnL: number;\n\n positions: API.Position[];\n accountInfo?: API.AccountInfo;\n};\n\nconst positionsPath = pathOr([], [0, \"rows\"]);\nconst totalCollateralPath = pathOr(0, [0, \"totalCollateral\"]);\n\nexport const useCollateral = (\n options: {\n /** decimal precision */\n dp: number;\n } = { dp: 6 }\n): CollateralOutputs => {\n const { dp } = options;\n const positions = usePositionStream();\n\n const [orders] = useOrderStream({ status: OrderStatus.NEW });\n\n const { data: accountInfo } =\n usePrivateQuery<API.AccountInfo>(\"/v1/client/info\");\n\n const symbolInfo = useSymbolsInfo();\n\n const { data: markPrices } = useMarkPricesStream();\n\n const { usdc } = useHoldingStream();\n\n const filterAlgoOrders =\n orders?.filter((item) => item.algo_order_id === undefined) ?? [];\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 [totalCollateral, totalValue] = useMemo(() => {\n return [\n pathOr(zero, [0, \"totalCollateral\"], positions),\n pathOr(zero, [0, \"totalValue\"], positions),\n ];\n }, [positions, markPrices]);\n\n const totalInitialMarginWithOrders = useMemo(() => {\n if (!accountInfo || !symbolInfo || !markPrices) {\n return 0;\n }\n\n return account.totalInitialMarginWithOrders({\n positions: positionsPath(positions),\n orders: filterAlgoOrders,\n markPrices,\n IMR_Factors: accountInfo.imr_factor,\n maxLeverage: accountInfo.max_leverage,\n symbolInfo,\n });\n }, [positions, filterAlgoOrders, markPrices, accountInfo, symbolInfo]);\n\n const freeCollateral = useMemo(() => {\n return account.freeCollateral({\n totalCollateral,\n totalInitialMarginWithOrders,\n });\n }, [totalCollateral, totalInitialMarginWithOrders]);\n\n const availableBalance = useMemo(() => {\n return account.availableBalance({\n USDCHolding: usdc?.holding ?? 0,\n unsettlementPnL: pathOr_unsettledPnLPathOr(positions),\n });\n }, [usdc?.holding, pathOr_unsettledPnLPathOr(positions)]);\n\n return {\n totalCollateral: totalCollateral.toDecimalPlaces(dp).toNumber(),\n freeCollateral: freeCollateral.toDecimalPlaces(dp).toNumber(),\n totalValue: totalValue.toDecimalPlaces(dp).toNumber(),\n availableBalance,\n unsettledPnL: pathOr_unsettledPnLPathOr(positions),\n\n accountInfo,\n\n // @hidden\n positions: positionsPath(positions),\n };\n};\n"],"names":["useCollateral","positionsPath","pathOr","totalCollateralPath","options","dp","positions","usePositionStream","orders","useOrderStream","status","OrderStatus","NEW","data","accountInfo","usePrivateQuery","symbolInfo","useSymbolsInfo","markPrices","useMarkPricesStream","usdc","useHoldingStream","filterAlgoOrders","filter","item","algo_order_id","undefined","totalCollateral","totalValue","useMemo","zero","totalInitialMarginWithOrders","account","IMR_Factors","imr_factor","maxLeverage","max_leverage","freeCollateral","availableBalance","USDCHolding","holding","unsettlementPnL","pathOr_unsettledPnLPathOr","toDecimalPlaces","toNumber","unsettledPnL"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA6BaA;;;eAAAA;;;uBA7BW;iCACQ;mCAIzB;uBACgB;sBACC;uBACc;gCACP;uBACV;qCACe;kCACH;gCACF;AAa/B,MAAMC,gBAAgBC,IAAAA,aAAM,EAAC,EAAE,EAAE;IAAC;IAAG;CAAO;AAC5C,MAAMC,sBAAsBD,IAAAA,aAAM,EAAC,GAAG;IAAC;IAAG;CAAkB;AAErD,MAAMF,gBAAgB,CAC3BI,UAGI;IAAEC,IAAI;AAAE,CAAC;IAEb,MAAM,EAAEA,EAAE,EAAE,GAAGD;IACf,MAAME,YAAYC,IAAAA,oCAAiB;IAEnC,MAAM,CAACC,OAAO,GAAGC,IAAAA,8BAAc,EAAC;QAAEC,QAAQC,kBAAW,CAACC,GAAG;IAAC;IAE1D,MAAM,EAAEC,MAAMC,WAAW,EAAE,GACzBC,IAAAA,gCAAe,EAAkB;IAEnC,MAAMC,aAAaC,IAAAA,8BAAc;IAEjC,MAAM,EAAEJ,MAAMK,UAAU,EAAE,GAAGC,IAAAA,wCAAmB;IAEhD,MAAM,EAAEC,IAAI,EAAE,GAAGC,IAAAA,kCAAgB;IAEjC,MAAMC,mBACJd,QAAQe,OAAO,CAACC,OAASA,KAAKC,aAAa,KAAKC,cAAc,EAAE;IAElE,4DAA4D;IAC5D,0BAA0B;IAC1B,MAAM;IACN,6BAA6B;IAC7B,6BAA6B;IAC7B,SAAS;IACT,MAAM;IACN,KAAK;IAEL,MAAM,CAACC,iBAAiBC,WAAW,GAAGC,IAAAA,cAAO,EAAC;QAC5C,OAAO;YACL3B,IAAAA,aAAM,EAAC4B,WAAI,EAAE;gBAAC;gBAAG;aAAkB,EAAExB;YACrCJ,IAAAA,aAAM,EAAC4B,WAAI,EAAE;gBAAC;gBAAG;aAAa,EAAExB;SACjC;IACH,GAAG;QAACA;QAAWY;KAAW;IAE1B,MAAMa,+BAA+BF,IAAAA,cAAO,EAAC;QAC3C,IAAI,CAACf,eAAe,CAACE,cAAc,CAACE,YAAY;YAC9C,OAAO;QACT;QAEA,OAAOc,aAAO,CAACD,4BAA4B,CAAC;YAC1CzB,WAAWL,cAAcK;YACzBE,QAAQc;YACRJ;YACAe,aAAanB,YAAYoB,UAAU;YACnCC,aAAarB,YAAYsB,YAAY;YACrCpB;QACF;IACF,GAAG;QAACV;QAAWgB;QAAkBJ;QAAYJ;QAAaE;KAAW;IAErE,MAAMqB,iBAAiBR,IAAAA,cAAO,EAAC;QAC7B,OAAOG,aAAO,CAACK,cAAc,CAAC;YAC5BV;YACAI;QACF;IACF,GAAG;QAACJ;QAAiBI;KAA6B;IAElD,MAAMO,mBAAmBT,IAAAA,cAAO,EAAC;QAC/B,OAAOG,aAAO,CAACM,gBAAgB,CAAC;YAC9BC,aAAanB,MAAMoB,WAAW;YAC9BC,iBAAiBC,IAAAA,4CAAyB,EAACpC;QAC7C;IACF,GAAG;QAACc,MAAMoB;QAASE,IAAAA,4CAAyB,EAACpC;KAAW;IAExD,OAAO;QACLqB,iBAAiBA,gBAAgBgB,eAAe,CAACtC,IAAIuC,QAAQ;QAC7DP,gBAAgBA,eAAeM,eAAe,CAACtC,IAAIuC,QAAQ;QAC3DhB,YAAYA,WAAWe,eAAe,CAACtC,IAAIuC,QAAQ;QACnDN;QACAO,cAAcH,IAAAA,4CAAyB,EAACpC;QAExCQ;QAEA,UAAU;QACVR,WAAWL,cAAcK;IAC3B;AACF"}