@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
@@ -1 +1 @@
1
- {"version":3,"file":"useChains.d.ts","sourceRoot":"","sources":["../../src/orderly/useChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,EAAiB,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAMvC,KAAK,YAAY,GAAG;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG;IAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAC3C,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,SAAS,IAC/C,CAAC,SAAS,SAAS,GACnB,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GACd,GAAG,CAAC,KAAK,EAAE,GACb,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GACzB;IACE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CACzB,GACD;IACE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;CACtB,CAAC;AAEN,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAAC;IACtE,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,wBAAgB,SAAS,CACvB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;AAEhD,wBAAgB,SAAS,CACvB,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,SAAS,OAAO,GAAG,SAAS,EAE7B,SAAS,CAAC,EAAE,CAAC,EACb,OAAO,CAAC,EAAE,CAAC,GACV;IACD,MAAM,CACJ,CAAC,EACD,CAAC,SAAS,OAAO,GACb,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GAC/B,CAAC,CAAC,MAAM,CAAC,GACT,SAAS,GACX,SAAS,CACd;IACD,YAAY;CACb,CAAC;AA6HF,uDAAuD;AACvD,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,EACpB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,eAmCjC;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,EACnB,UAAU,EAAE,GAAG,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,eAkCjC;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,CAAC,KAAK,QAUjB"}
1
+ {"version":3,"file":"useChains.d.ts","sourceRoot":"","sources":["../../src/orderly/useChains.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,GAAG,EAER,KAAK,IAAI,SAAS,EACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAOvC,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG;IAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EAC3C,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,SAAS,IAC/C,CAAC,SAAS,SAAS,GACnB,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GACd,GAAG,CAAC,KAAK,EAAE,GACb,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GACzB;IACE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CACzB,GACD;IACE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;CACtB,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;CACjD,GAAG,gBAAgB,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAAC;IACtE,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,wBAAgB,SAAS,CACvB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAEzD,wBAAgB,SAAS,CACvB,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,SAAS,gBAAgB,GAAG,SAAS,EAEtC,SAAS,CAAC,EAAE,CAAC,EACb,OAAO,CAAC,EAAE,CAAC,GACV;IACD,MAAM,CACJ,CAAC,EACD,CAAC,SAAS,gBAAgB,GACtB,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,KAAK,GAC/B,CAAC,CAAC,MAAM,CAAC,GACT,SAAS,GACX,SAAS,CACd;IACD,qBAAqB;CACtB,CAAC;AAoIF,uDAAuD;AACvD,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,EACpB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,eAmCjC;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,EACnB,UAAU,EAAE,GAAG,EACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,eAkCjC;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,CAAC,KAAK,QAUjB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,EACnB,aAAa,CAAC,EAAE,SAAS,EAAE,eAY5B"}
@@ -1,11 +1,13 @@
1
1
  import { chainsInfoMap } from "@orderly.network/types";
2
- import { useCallback, useMemo, useRef } from "react";
2
+ import { useCallback, useContext, useMemo, useRef } from "react";
3
3
  import { useQuery } from "../useQuery";
4
4
  import { prop } from "ramda";
5
5
  import { isTestnet } from "@orderly.network/utils";
6
6
  import { TestnetChains, nativeTokenAddress } from "@orderly.network/types";
7
+ import { OrderlyContext } from "../orderlyContext";
7
8
  export function useChains(networkId, options = {}) {
8
9
  const { pick: pickField, ...swrOptions } = options;
10
+ const { filteredChains: allowedChains } = useContext(OrderlyContext);
9
11
  const filterFun = useRef(options?.filter);
10
12
  filterFun.current = options?.filter;
11
13
  const chainsMap = useRef(new Map());
@@ -16,44 +18,52 @@ export function useChains(networkId, options = {}) {
16
18
  // If false, undefined data gets cached against the key.
17
19
  revalidateOnMount: true,
18
20
  // dont duplicate a request w/ same key for 1hr
19
- dedupingInterval: 3600000,
20
- ...swrOptions,
21
+ dedupingInterval: 3_600_000,
22
+ ...swrOptions
21
23
  };
22
24
  // only prod env return mainnet chains info
23
25
  // TODO: remove https://api-evm.orderly.org api base
24
- const { data: tokenChains, error: tokenError } = useQuery("https://api-evm.orderly.org/v1/public/token", { ...commonSwrOpts });
26
+ const { data: tokenChains, error: tokenError } = useQuery("https://api-evm.orderly.org/v1/public/token", {
27
+ ...commonSwrOpts
28
+ });
25
29
  // only prod env return mainnet chains info
26
- const { data: chainInfos, error: chainInfoErr } = useQuery("/v1/public/chain_info", { ...commonSwrOpts });
27
- const chains = useMemo(() => {
30
+ const { data: chainInfos, error: chainInfoErr } = useQuery("/v1/public/chain_info", {
31
+ ...commonSwrOpts
32
+ });
33
+ const chains = useMemo(()=>{
28
34
  const orderlyChainsArr = fillChainsInfo(tokenChains, filterFun.current);
29
- let testnetArr = [...TestnetChains];
30
- orderlyChainsArr?.forEach((item) => {
35
+ let testnetArr = [
36
+ ...TestnetChains
37
+ ];
38
+ orderlyChainsArr?.forEach((item)=>{
31
39
  const chainId = item.network_infos?.chain_id;
32
40
  chainsMap.current.set(chainId, item);
33
41
  updateTestnetInfo(testnetArr, chainId, item);
34
42
  });
35
- testnetArr.forEach((chain) => {
43
+ testnetArr.forEach((chain)=>{
36
44
  chainsMap.current.set(chain.network_infos?.chain_id, chain);
37
45
  });
38
46
  let mainnetArr = [];
39
47
  // TODO: /v1/public/chain_info api data is not match /v1/public/token api data, so it can effect is prod
40
48
  mainnetArr = updateOrderlyChains(orderlyChainsArr, chainInfos, filterFun.current);
41
- mainnetArr.forEach((item) => {
49
+ mainnetArr.forEach((item)=>{
42
50
  const chainId = item.network_infos?.chain_id;
43
51
  chainsMap.current.set(chainId, item);
44
52
  updateTestnetInfo(testnetArr, chainId, item);
45
53
  });
46
- mainnetArr.sort((a, b) => {
54
+ mainnetArr.sort((a, b)=>{
47
55
  return a.network_infos.bridgeless ? -1 : 1;
48
56
  });
49
- testnetArr.sort((a, b) => {
57
+ testnetArr.sort((a, b)=>{
50
58
  return a.network_infos.bridgeless ? -1 : 1;
51
59
  });
60
+ mainnetArr = filterByAllowedChains(mainnetArr, allowedChains?.mainnet);
61
+ testnetArr = filterByAllowedChains(testnetArr, allowedChains?.testnet);
52
62
  if (!!pickField) {
53
63
  //@ts-ignore
54
- testnetArr = testnetArr.map((item) => item[pickField]);
64
+ testnetArr = testnetArr.map((item)=>item[pickField]);
55
65
  //@ts-ignore
56
- mainnetArr = mainnetArr.map((item) => item[pickField]);
66
+ mainnetArr = mainnetArr.map((item)=>item[pickField]);
57
67
  }
58
68
  if (networkId === "mainnet") {
59
69
  return mainnetArr;
@@ -63,36 +73,42 @@ export function useChains(networkId, options = {}) {
63
73
  }
64
74
  return {
65
75
  testnet: testnetArr,
66
- mainnet: mainnetArr,
76
+ mainnet: mainnetArr
67
77
  };
68
- }, [networkId, tokenChains, chainInfos, pickField]);
69
- const findByChainId = useCallback((chainId, field) => {
78
+ }, [
79
+ networkId,
80
+ tokenChains,
81
+ chainInfos,
82
+ pickField,
83
+ allowedChains
84
+ ]);
85
+ const findByChainId = useCallback((chainId, field)=>{
70
86
  const chain = chainsMap.current.get(chainId);
71
87
  if (chain) {
72
- chain.nativeToken =
73
- chain.token_infos?.find((item) => item.address === nativeTokenAddress) ||
74
- {
75
- symbol: chain.network_infos?.currency_symbol,
76
- };
88
+ chain.nativeToken = chain.token_infos?.find((item)=>item.address === nativeTokenAddress) || {
89
+ symbol: chain.network_infos?.currency_symbol
90
+ };
77
91
  }
78
92
  if (typeof field === "string") {
79
93
  return prop(field, chain);
80
94
  }
81
95
  return chain;
82
- }, [chains, chainsMap]);
96
+ }, [
97
+ chains,
98
+ chainsMap
99
+ ]);
83
100
  return [
84
101
  chains,
85
102
  {
86
103
  findByChainId,
87
- error: tokenError,
88
- },
104
+ error: tokenError
105
+ }
89
106
  ];
90
107
  }
91
- /** orderly chains array form (/v1/public/token) api */
92
- export function fillChainsInfo(chains, filter) {
108
+ /** orderly chains array form (/v1/public/token) api */ export function fillChainsInfo(chains, filter) {
93
109
  let _chains = [];
94
- chains?.forEach((item) => {
95
- item.chain_details.forEach((chain) => {
110
+ chains?.forEach((item)=>{
111
+ item.chain_details.forEach((chain)=>{
96
112
  const chainId = Number(chain.chain_id);
97
113
  const chainInfo = chainsInfoMap.get(chainId);
98
114
  const _chain = {
@@ -101,31 +117,31 @@ export function fillChainsInfo(chains, filter) {
101
117
  chain_id: chainId,
102
118
  withdrawal_fee: chain.withdrawal_fee,
103
119
  cross_chain_withdrawal_fee: chain.cross_chain_withdrawal_fee,
104
- bridgeless: true,
120
+ bridgeless: true
105
121
  },
106
122
  token_infos: [
107
123
  {
108
124
  symbol: item.token,
109
125
  address: chain.contract_address,
110
- decimals: chain.decimals,
111
- },
112
- ],
126
+ decimals: chain.decimals
127
+ }
128
+ ]
113
129
  };
114
130
  if (typeof filter === "function") {
115
- if (!filter(_chain))
116
- return;
131
+ if (!filter(_chain)) return;
117
132
  }
118
133
  _chains.push(_chain);
119
134
  });
120
135
  });
121
136
  return _chains;
122
137
  }
123
- /** update network_infos by chain_info api(v1/public/chain_info) */
124
- export function updateOrderlyChains(chains, chainInfos, filter) {
138
+ /** update network_infos by chain_info api(v1/public/chain_info) */ export function updateOrderlyChains(chains, chainInfos, filter) {
125
139
  const _chains = [];
126
- chains.forEach((chain) => {
127
- let _chain = { ...chain };
128
- const networkInfo = chainInfos?.find((item) => item.chain_id == chain.network_infos.chain_id);
140
+ chains.forEach((chain)=>{
141
+ let _chain = {
142
+ ...chain
143
+ };
144
+ const networkInfo = chainInfos?.find((item)=>item.chain_id == chain.network_infos.chain_id);
129
145
  if (networkInfo) {
130
146
  const { name, public_rpc_url, currency_symbol, explorer_base_url } = networkInfo;
131
147
  _chain.network_infos = {
@@ -137,23 +153,29 @@ export function updateOrderlyChains(chains, chainInfos, filter) {
137
153
  bridge_enable: true,
138
154
  mainnet: true,
139
155
  explorer_base_url,
140
- est_txn_mins: null,
156
+ est_txn_mins: null
141
157
  };
142
158
  }
143
159
  if (typeof filter === "function") {
144
- if (!filter(_chain))
145
- return;
160
+ if (!filter(_chain)) return;
146
161
  }
147
162
  _chains.push(_chain);
148
163
  });
149
164
  return _chains;
150
165
  }
151
- /** if chain is testnet, update testnet network_infos */
152
- export function updateTestnetInfo(testnetArr, chainId, chain) {
166
+ /** if chain is testnet, update testnet network_infos */ export function updateTestnetInfo(testnetArr, chainId, chain) {
153
167
  if (isTestnet(chainId)) {
154
- const index = testnetArr?.findIndex((item) => item.network_infos.chain_id === chainId);
168
+ const index = testnetArr?.findIndex((item)=>item.network_infos.chain_id === chainId);
155
169
  if (index > -1) {
156
170
  testnetArr[index] = chain;
157
171
  }
158
172
  }
159
173
  }
174
+ export function filterByAllowedChains(chains, allowedChains) {
175
+ if (!allowedChains) {
176
+ return chains;
177
+ }
178
+ return chains.filter((chain)=>allowedChains.some((allowedChain)=>allowedChain.id === parseInt(chain?.network_infos?.chain_id)));
179
+ }
180
+
181
+ //# sourceMappingURL=useChains.js.map
@@ -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":["chainsInfoMap","useCallback","useContext","useMemo","useRef","useQuery","prop","isTestnet","TestnetChains","nativeTokenAddress","OrderlyContext","useChains","networkId","options","pick","pickField","swrOptions","filteredChains","allowedChains","filterFun","filter","current","chainsMap","Map","commonSwrOpts","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","revalidateOnMount","dedupingInterval","data","tokenChains","error","tokenError","chainInfos","chainInfoErr","chains","orderlyChainsArr","fillChainsInfo","testnetArr","forEach","item","chainId","network_infos","chain_id","set","updateTestnetInfo","chain","mainnetArr","updateOrderlyChains","sort","a","b","bridgeless","filterByAllowedChains","mainnet","testnet","map","findByChainId","field","get","nativeToken","token_infos","find","address","symbol","currency_symbol","_chains","chain_details","Number","chainInfo","_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","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,6 +1,6 @@
1
1
  import { useMemo } from "react";
2
2
  import { usePrivateQuery } from "../usePrivateQuery";
3
- import { pathOr_unsettledPnLPathOr, usePositionStream, } from "./usePositionStream";
3
+ import { pathOr_unsettledPnLPathOr, usePositionStream } from "./usePositionStream";
4
4
  import { pathOr } from "ramda";
5
5
  import { account } from "@orderly.network/perp";
6
6
  import { OrderStatus } from "@orderly.network/types";
@@ -9,17 +9,27 @@ import { zero } from "@orderly.network/utils";
9
9
  import { useMarkPricesStream } from "./useMarkPricesStream";
10
10
  import { useHoldingStream } from "./useHoldingStream";
11
11
  import { useOrderStream } from "./useOrderStream";
12
- const positionsPath = pathOr([], [0, "rows"]);
13
- const totalCollateralPath = pathOr(0, [0, "totalCollateral"]);
14
- export const useCollateral = (options = { dp: 6 }) => {
12
+ const positionsPath = pathOr([], [
13
+ 0,
14
+ "rows"
15
+ ]);
16
+ const totalCollateralPath = pathOr(0, [
17
+ 0,
18
+ "totalCollateral"
19
+ ]);
20
+ export const useCollateral = (options = {
21
+ dp: 6
22
+ })=>{
15
23
  const { dp } = options;
16
24
  const positions = usePositionStream();
17
- const [orders] = useOrderStream({ status: OrderStatus.NEW });
25
+ const [orders] = useOrderStream({
26
+ status: OrderStatus.NEW
27
+ });
18
28
  const { data: accountInfo } = usePrivateQuery("/v1/client/info");
19
29
  const symbolInfo = useSymbolsInfo();
20
30
  const { data: markPrices } = useMarkPricesStream();
21
31
  const { usdc } = useHoldingStream();
22
- const filterAlgoOrders = orders?.filter((item) => item.algo_order_id === undefined) ?? [];
32
+ const filterAlgoOrders = orders?.filter((item)=>item.algo_order_id === undefined) ?? [];
23
33
  // const { data: holding } = usePrivateQuery<API.Holding[]>(
24
34
  // "/v1/client/holding",
25
35
  // {
@@ -28,13 +38,22 @@ export const useCollateral = (options = { dp: 6 }) => {
28
38
  // },
29
39
  // }
30
40
  // );
31
- const [totalCollateral, totalValue] = useMemo(() => {
41
+ const [totalCollateral, totalValue] = useMemo(()=>{
32
42
  return [
33
- pathOr(zero, [0, "totalCollateral"], positions),
34
- pathOr(zero, [0, "totalValue"], positions),
43
+ pathOr(zero, [
44
+ 0,
45
+ "totalCollateral"
46
+ ], positions),
47
+ pathOr(zero, [
48
+ 0,
49
+ "totalValue"
50
+ ], positions)
35
51
  ];
36
- }, [positions, markPrices]);
37
- const totalInitialMarginWithOrders = useMemo(() => {
52
+ }, [
53
+ positions,
54
+ markPrices
55
+ ]);
56
+ const totalInitialMarginWithOrders = useMemo(()=>{
38
57
  if (!accountInfo || !symbolInfo || !markPrices) {
39
58
  return 0;
40
59
  }
@@ -44,21 +63,33 @@ export const useCollateral = (options = { dp: 6 }) => {
44
63
  markPrices,
45
64
  IMR_Factors: accountInfo.imr_factor,
46
65
  maxLeverage: accountInfo.max_leverage,
47
- symbolInfo,
66
+ symbolInfo
48
67
  });
49
- }, [positions, filterAlgoOrders, markPrices, accountInfo, symbolInfo]);
50
- const freeCollateral = useMemo(() => {
68
+ }, [
69
+ positions,
70
+ filterAlgoOrders,
71
+ markPrices,
72
+ accountInfo,
73
+ symbolInfo
74
+ ]);
75
+ const freeCollateral = useMemo(()=>{
51
76
  return account.freeCollateral({
52
77
  totalCollateral,
53
- totalInitialMarginWithOrders,
78
+ totalInitialMarginWithOrders
54
79
  });
55
- }, [totalCollateral, totalInitialMarginWithOrders]);
56
- const availableBalance = useMemo(() => {
80
+ }, [
81
+ totalCollateral,
82
+ totalInitialMarginWithOrders
83
+ ]);
84
+ const availableBalance = useMemo(()=>{
57
85
  return account.availableBalance({
58
86
  USDCHolding: usdc?.holding ?? 0,
59
- unsettlementPnL: pathOr_unsettledPnLPathOr(positions),
87
+ unsettlementPnL: pathOr_unsettledPnLPathOr(positions)
60
88
  });
61
- }, [usdc?.holding, pathOr_unsettledPnLPathOr(positions)]);
89
+ }, [
90
+ usdc?.holding,
91
+ pathOr_unsettledPnLPathOr(positions)
92
+ ]);
62
93
  return {
63
94
  totalCollateral: totalCollateral.toDecimalPlaces(dp).toNumber(),
64
95
  freeCollateral: freeCollateral.toDecimalPlaces(dp).toNumber(),
@@ -67,6 +98,8 @@ export const useCollateral = (options = { dp: 6 }) => {
67
98
  unsettledPnL: pathOr_unsettledPnLPathOr(positions),
68
99
  accountInfo,
69
100
  // @hidden
70
- positions: positionsPath(positions),
101
+ positions: positionsPath(positions)
71
102
  };
72
103
  };
104
+
105
+ //# 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":["useMemo","usePrivateQuery","pathOr_unsettledPnLPathOr","usePositionStream","pathOr","account","OrderStatus","useSymbolsInfo","zero","useMarkPricesStream","useHoldingStream","useOrderStream","positionsPath","totalCollateralPath","useCollateral","options","dp","positions","orders","status","NEW","data","accountInfo","symbolInfo","markPrices","usdc","filterAlgoOrders","filter","item","algo_order_id","undefined","totalCollateral","totalValue","totalInitialMarginWithOrders","IMR_Factors","imr_factor","maxLeverage","max_leverage","freeCollateral","availableBalance","USDCHolding","holding","unsettlementPnL","toDecimalPlaces","toNumber","unsettledPnL"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SACEC,yBAAyB,EACzBC,iBAAiB,QACZ,sBAAsB;AAC7B,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAAmBC,WAAW,QAAQ,yBAAyB;AAC/D,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,mBAAmB,QAAQ,wBAAwB;AAC5D,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,cAAc,QAAQ,mBAAmB;AAalD,MAAMC,gBAAgBR,OAAO,EAAE,EAAE;IAAC;IAAG;CAAO;AAC5C,MAAMS,sBAAsBT,OAAO,GAAG;IAAC;IAAG;CAAkB;AAE5D,OAAO,MAAMU,gBAAgB,CAC3BC,UAGI;IAAEC,IAAI;AAAE,CAAC;IAEb,MAAM,EAAEA,EAAE,EAAE,GAAGD;IACf,MAAME,YAAYd;IAElB,MAAM,CAACe,OAAO,GAAGP,eAAe;QAAEQ,QAAQb,YAAYc,GAAG;IAAC;IAE1D,MAAM,EAAEC,MAAMC,WAAW,EAAE,GACzBrB,gBAAiC;IAEnC,MAAMsB,aAAahB;IAEnB,MAAM,EAAEc,MAAMG,UAAU,EAAE,GAAGf;IAE7B,MAAM,EAAEgB,IAAI,EAAE,GAAGf;IAEjB,MAAMgB,mBACJR,QAAQS,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,GAAGhC,QAAQ;QAC5C,OAAO;YACLI,OAAOI,MAAM;gBAAC;gBAAG;aAAkB,EAAES;YACrCb,OAAOI,MAAM;gBAAC;gBAAG;aAAa,EAAES;SACjC;IACH,GAAG;QAACA;QAAWO;KAAW;IAE1B,MAAMS,+BAA+BjC,QAAQ;QAC3C,IAAI,CAACsB,eAAe,CAACC,cAAc,CAACC,YAAY;YAC9C,OAAO;QACT;QAEA,OAAOnB,QAAQ4B,4BAA4B,CAAC;YAC1ChB,WAAWL,cAAcK;YACzBC,QAAQQ;YACRF;YACAU,aAAaZ,YAAYa,UAAU;YACnCC,aAAad,YAAYe,YAAY;YACrCd;QACF;IACF,GAAG;QAACN;QAAWS;QAAkBF;QAAYF;QAAaC;KAAW;IAErE,MAAMe,iBAAiBtC,QAAQ;QAC7B,OAAOK,QAAQiC,cAAc,CAAC;YAC5BP;YACAE;QACF;IACF,GAAG;QAACF;QAAiBE;KAA6B;IAElD,MAAMM,mBAAmBvC,QAAQ;QAC/B,OAAOK,QAAQkC,gBAAgB,CAAC;YAC9BC,aAAaf,MAAMgB,WAAW;YAC9BC,iBAAiBxC,0BAA0Be;QAC7C;IACF,GAAG;QAACQ,MAAMgB;QAASvC,0BAA0Be;KAAW;IAExD,OAAO;QACLc,iBAAiBA,gBAAgBY,eAAe,CAAC3B,IAAI4B,QAAQ;QAC7DN,gBAAgBA,eAAeK,eAAe,CAAC3B,IAAI4B,QAAQ;QAC3DZ,YAAYA,WAAWW,eAAe,CAAC3B,IAAI4B,QAAQ;QACnDL;QACAM,cAAc3C,0BAA0Be;QAExCK;QAEA,UAAU;QACVL,WAAWL,cAAcK;IAC3B;AACF,EAAE"}