@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,11 +1,11 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
2
  import { useAccount } from "../useAccount";
3
- import { ARBITRUM_MAINNET_CHAINID, ARBITRUM_TESTNET_CHAINID, AccountStatusEnum, DEPOSIT_FEE_RATE, isNativeTokenChecker, } from "@orderly.network/types";
3
+ import { ARBITRUM_MAINNET_CHAINID, ARBITRUM_TESTNET_CHAINID, AccountStatusEnum, DEPOSIT_FEE_RATE, isNativeTokenChecker } from "@orderly.network/types";
4
4
  import { Decimal } from "@orderly.network/utils";
5
5
  import { useChains } from "./useChains";
6
6
  import { useConfig } from "../useConfig";
7
7
  import { useDebouncedCallback } from "use-debounce";
8
- export const useDeposit = (options) => {
8
+ export const useDeposit = (options)=>{
9
9
  const networkId = useConfig("networkId");
10
10
  const [balanceRevalidating, setBalanceRevalidating] = useState(false);
11
11
  const [allowanceRevalidating, setAllowanceRevalidating] = useState(false);
@@ -18,13 +18,12 @@ export const useDeposit = (options) => {
18
18
  const { account, state } = useAccount();
19
19
  const prevAddress = useRef();
20
20
  const getBalanceListener = useRef();
21
- const targetChain = useMemo(() => {
21
+ const targetChain = useMemo(()=>{
22
22
  let chain;
23
23
  // Orderly testnet supported chain
24
24
  if (networkId === "testnet") {
25
25
  chain = findByChainId(ARBITRUM_TESTNET_CHAINID);
26
- }
27
- else {
26
+ } else {
28
27
  chain = findByChainId(options?.srcChainId);
29
28
  // if is orderly un-supported chain
30
29
  if (!chain?.network_infos?.bridgeless) {
@@ -33,53 +32,60 @@ export const useDeposit = (options) => {
33
32
  }
34
33
  }
35
34
  return chain;
36
- }, [networkId, findByChainId, options?.srcChainId]);
37
- const dst = useMemo(() => {
35
+ }, [
36
+ networkId,
37
+ findByChainId,
38
+ options?.srcChainId
39
+ ]);
40
+ const dst = useMemo(()=>{
38
41
  if (!targetChain) {
39
42
  throw new Error("dst chain not found");
40
43
  }
41
- const USDC = targetChain?.token_infos.find((token) => token.symbol === "USDC");
44
+ const USDC = targetChain?.token_infos.find((token)=>token.symbol === "USDC");
42
45
  return {
43
46
  symbol: "USDC",
44
47
  address: USDC?.address,
45
48
  decimals: USDC?.decimals,
46
49
  chainId: targetChain.network_infos.chain_id,
47
- network: targetChain.network_infos.shortName,
50
+ network: targetChain.network_infos.shortName
48
51
  };
49
- }, [targetChain]);
50
- const isNativeToken = useMemo(() => isNativeTokenChecker(options?.address || ""), [options?.address]);
51
- const fetchBalanceHandler = useCallback(async (address, decimals) => {
52
+ }, [
53
+ targetChain
54
+ ]);
55
+ const isNativeToken = useMemo(()=>isNativeTokenChecker(options?.address || ""), [
56
+ options?.address
57
+ ]);
58
+ const fetchBalanceHandler = useCallback(async (address, decimals)=>{
52
59
  let balance;
53
60
  if (!!address && isNativeTokenChecker(address)) {
54
61
  balance = await account.assetsManager.getNativeBalance({
55
- decimals,
62
+ decimals
63
+ });
64
+ } else {
65
+ balance = await account.assetsManager.getBalance(address, {
66
+ decimals
56
67
  });
57
- }
58
- else {
59
- balance = await account.assetsManager.getBalance(address, { decimals });
60
68
  }
61
69
  return balance;
62
70
  }, []);
63
- const fetchBalance = useCallback(async (
64
- // token contract address
65
- address,
66
- // format decimals
67
- decimals) => {
68
- if (!address)
69
- return;
71
+ const fetchBalance = useCallback(async (// token contract address
72
+ address, // format decimals
73
+ decimals)=>{
74
+ if (!address) return;
70
75
  try {
71
76
  // if (balanceRevalidating) return;
72
77
  const balance = await fetchBalanceHandler(address, decimals);
73
- setBalance(() => balance);
78
+ setBalance(()=>balance);
79
+ } catch (e) {
80
+ ;
81
+ setBalance(()=>"0");
74
82
  }
75
- catch (e) {
76
- console.warn("----- refresh balance error -----", e);
77
- setBalance(() => "0");
78
- }
79
- }, [state]);
80
- const fetchBalances = useCallback(async (tokens) => {
83
+ }, [
84
+ state
85
+ ]);
86
+ const fetchBalances = useCallback(async (tokens)=>{
81
87
  const tasks = [];
82
- for (const token of tokens) {
88
+ for (const token of tokens){
83
89
  // native token skip
84
90
  if (isNativeTokenChecker(token.address)) {
85
91
  continue;
@@ -87,46 +93,40 @@ export const useDeposit = (options) => {
87
93
  tasks.push(account.assetsManager.getBalanceByAddress(token.address));
88
94
  }
89
95
  const balances = await Promise.all(tasks);
90
- // const balances = await account.assetsManager.getBalances(tokens);
91
- // setBalance(() => balances);
96
+ // const balances = await account.assetsManager.getBalances(tokens);
97
+ // setBalance(() => balances);
92
98
  }, []);
93
- const getAllowance = async (address, vaultAddress) => {
99
+ const getAllowance = async (address, vaultAddress)=>{
94
100
  // if (!address || !vaultAddress) return;
95
101
  const key = `${address}-${vaultAddress}`;
96
- if (prevAddress.current === key)
97
- return;
98
- if (!address || !vaultAddress)
99
- return;
100
- if (address && isNativeTokenChecker(address))
101
- return;
102
+ if (prevAddress.current === key) return;
103
+ if (!address || !vaultAddress) return;
104
+ if (address && isNativeTokenChecker(address)) return;
102
105
  // if (allowanceRevalidating) return;
103
106
  // setAllowanceRevalidating(true);
104
107
  prevAddress.current = key;
105
108
  const allowance = await account.assetsManager.getAllowance(address, vaultAddress);
106
- setAllowance(() => allowance);
109
+ setAllowance(()=>allowance);
107
110
  // setAllowanceRevalidating(false);
108
111
  return allowance;
109
112
  };
110
- const getAllowanceByDefaultAddress = async (address) => {
111
- if (prevAddress.current === address)
112
- return;
113
- if (!address || isNativeTokenChecker(address))
114
- return;
113
+ const getAllowanceByDefaultAddress = async (address)=>{
114
+ if (prevAddress.current === address) return;
115
+ if (!address || isNativeTokenChecker(address)) return;
115
116
  prevAddress.current = address;
116
117
  const allowance = await account.assetsManager.getAllowance(address);
117
- setAllowance(() => allowance);
118
+ setAllowance(()=>allowance);
118
119
  };
119
- const queryBalance = useDebouncedCallback((tokenAddress, decimals) => {
120
- fetchBalance(options?.address, options?.decimals).finally(() => {
120
+ const queryBalance = useDebouncedCallback((tokenAddress, decimals)=>{
121
+ fetchBalance(options?.address, options?.decimals).finally(()=>{
121
122
  setBalanceRevalidating(false);
122
123
  });
123
124
  }, 100);
124
- const queryAllowance = useDebouncedCallback((tokenAddress, vaultAddress) => {
125
+ const queryAllowance = useDebouncedCallback((tokenAddress, vaultAddress)=>{
125
126
  getAllowance(tokenAddress, vaultAddress);
126
127
  }, 100);
127
- useEffect(() => {
128
- if (state.status < AccountStatusEnum.Connected)
129
- return;
128
+ useEffect(()=>{
129
+ if (state.status < AccountStatusEnum.Connected) return;
130
130
  setBalanceRevalidating(true);
131
131
  // fetchBalance(options?.address, options?.decimals).finally(() => {
132
132
  // setBalanceRevalidating(false);
@@ -134,12 +134,10 @@ export const useDeposit = (options) => {
134
134
  queryBalance(options?.address, options?.decimals);
135
135
  if (dst.chainId !== options?.srcChainId) {
136
136
  queryAllowance(options?.address);
137
- }
138
- else {
137
+ } else {
139
138
  if (dst.symbol !== options?.srcToken) {
140
139
  queryAllowance(options?.address);
141
- }
142
- else {
140
+ } else {
143
141
  getAllowanceByDefaultAddress(options?.address);
144
142
  }
145
143
  }
@@ -150,121 +148,121 @@ export const useDeposit = (options) => {
150
148
  options?.srcToken,
151
149
  account.address,
152
150
  dst.chainId,
153
- dst.symbol,
151
+ dst.symbol
154
152
  ]);
155
- const approve = useCallback(async (amount) => {
153
+ const approve = useCallback(async (amount)=>{
156
154
  if (!options?.address) {
157
155
  throw new Error("address is required");
158
156
  }
159
- return account.assetsManager
160
- .approve(options.address, amount)
161
- .then((result) => {
162
- return account.walletClient
163
- ?.pollTransactionReceiptWithBackoff(result.hash)
164
- .then((receipt) => {
157
+ return account.assetsManager.approve(options.address, amount).then((result)=>{
158
+ return account.walletClient?.pollTransactionReceiptWithBackoff(result.hash).then((receipt)=>{
165
159
  if (receipt.status === 1) {
166
- account.assetsManager
167
- .getAllowance(options.address)
168
- .then((allowance) => {
169
- setAllowance(() => allowance);
160
+ account.assetsManager.getAllowance(options.address).then((allowance)=>{
161
+ setAllowance(()=>allowance);
170
162
  });
171
163
  }
172
164
  });
173
165
  });
174
- }, [account, getAllowance, options, dst]);
175
- const deposit = useCallback(async () => {
166
+ }, [
167
+ account,
168
+ getAllowance,
169
+ options,
170
+ dst
171
+ ]);
172
+ const deposit = useCallback(async ()=>{
176
173
  // only support orderly deposit
177
- return account.assetsManager
178
- .deposit(quantity, depositFee)
179
- .then((res) => {
180
- account.assetsManager
181
- .getAllowance(options?.address)
182
- .then((allowance) => {
183
- setAllowance(() => allowance);
174
+ return account.assetsManager.deposit(quantity, depositFee).then((res)=>{
175
+ account.assetsManager.getAllowance(options?.address).then((allowance)=>{
176
+ setAllowance(()=>allowance);
184
177
  });
185
- setBalance((value) => new Decimal(value).sub(quantity).toString());
178
+ setBalance((value)=>new Decimal(value).sub(quantity).toString());
186
179
  return res;
187
180
  });
188
- }, [account, fetchBalance, quantity, depositFee]);
189
- const loopGetBalance = async () => {
181
+ }, [
182
+ account,
183
+ fetchBalance,
184
+ quantity,
185
+ depositFee
186
+ ]);
187
+ const loopGetBalance = async ()=>{
190
188
  getBalanceListener.current && clearTimeout(getBalanceListener.current);
191
- getBalanceListener.current = setTimeout(async () => {
189
+ getBalanceListener.current = setTimeout(async ()=>{
192
190
  try {
193
191
  const balance = await fetchBalanceHandler(options?.address, options?.decimals);
194
192
  setBalance(balance);
195
193
  loopGetBalance();
196
- }
197
- catch (err) {
198
- console.log("fetchBalanceHandler error", err);
194
+ } catch (err) {
195
+ ;
199
196
  }
200
197
  }, 3000);
201
198
  };
202
- const getDepositFee = useCallback(async (quantity) => {
199
+ const getDepositFee = useCallback(async (quantity)=>{
203
200
  return account.assetsManager.getDepositFee(quantity, targetChain?.network_infos);
204
- }, [account, targetChain]);
205
- const enquiryDepositFee = useCallback(() => {
201
+ }, [
202
+ account,
203
+ targetChain
204
+ ]);
205
+ const enquiryDepositFee = useCallback(()=>{
206
206
  if (isNaN(Number(quantity)) || !quantity) {
207
207
  setDepositFee(0n);
208
208
  setDepositFeeRevalidating(false);
209
209
  return;
210
210
  }
211
211
  setDepositFeeRevalidating(true);
212
- getDepositFee(quantity)
213
- .then((res = 0n) => {
214
- const fee = BigInt(new Decimal(res.toString())
215
- .mul(DEPOSIT_FEE_RATE)
216
- .toFixed(0, Decimal.ROUND_UP)
217
- .toString());
212
+ getDepositFee(quantity).then((res = 0n)=>{
213
+ const fee = BigInt(new Decimal(res.toString()).mul(DEPOSIT_FEE_RATE).toFixed(0, Decimal.ROUND_UP).toString());
218
214
  setDepositFee(fee);
219
- console.log("getDepositFee", fee);
220
- })
221
- .catch((error) => {
222
- console.log("getDepositFee error", error);
223
- })
224
- .finally(() => {
215
+ ;
216
+ }).catch((error)=>{
217
+ ;
218
+ }).finally(()=>{
225
219
  setDepositFeeRevalidating(false);
226
220
  });
227
- }, [quantity]);
228
- useEffect(() => {
221
+ }, [
222
+ quantity
223
+ ]);
224
+ useEffect(()=>{
229
225
  enquiryDepositFee();
230
- }, [quantity]);
231
- useEffect(() => {
226
+ }, [
227
+ quantity
228
+ ]);
229
+ useEffect(()=>{
232
230
  if (!options?.address) {
233
231
  return;
234
232
  }
235
233
  loopGetBalance();
236
- return () => {
234
+ return ()=>{
237
235
  getBalanceListener.current && clearTimeout(getBalanceListener.current);
238
236
  };
239
- // account.walletClient.on(
240
- // // {
241
- // // address: options?.address,
242
- // // },
243
- // "block",
244
- // (log: any, event: any) => {
245
- // console.log("account.walletClient.on", log, event);
246
- // }
247
- // );
248
- }, [options?.address, options?.decimals]);
237
+ // account.walletClient.on(
238
+ // // {
239
+ // // address: options?.address,
240
+ // // },
241
+ // "block",
242
+ // (log: any, event: any) => {
243
+ // console.log("account.walletClient.on", log, event);
244
+ // }
245
+ // );
246
+ }, [
247
+ options?.address,
248
+ options?.decimals
249
+ ]);
249
250
  return {
250
- /** orderly support chain dst */
251
- dst,
251
+ /** orderly support chain dst */ dst,
252
252
  balance,
253
253
  allowance,
254
254
  isNativeToken,
255
255
  balanceRevalidating,
256
256
  allowanceRevalidating,
257
- /** input quantiy */
258
- quantity,
259
- /** orderly deposit fee, unit: wei */
260
- depositFee,
261
- /** enquiring depositFee status on chain */
262
- depositFeeRevalidating,
257
+ /** input quantiy */ quantity,
258
+ /** orderly deposit fee, unit: wei */ depositFee,
259
+ /** enquiring depositFee status on chain */ depositFeeRevalidating,
263
260
  approve,
264
261
  deposit,
265
262
  fetchBalances,
266
263
  fetchBalance: fetchBalanceHandler,
267
- /** set input quantity */
268
- setQuantity,
264
+ /** set input quantity */ setQuantity
269
265
  };
270
266
  };
267
+
268
+ //# sourceMappingURL=useDeposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useDeposit.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useAccount } from \"../useAccount\";\nimport {\n API,\n ARBITRUM_MAINNET_CHAINID,\n ARBITRUM_TESTNET_CHAINID,\n AccountStatusEnum,\n DEPOSIT_FEE_RATE,\n MaxUint256,\n NetworkId,\n isNativeTokenChecker,\n} from \"@orderly.network/types\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useChains } from \"./useChains\";\nimport { useConfig } from \"../useConfig\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nexport type useDepositOptions = {\n // from address\n address?: string;\n decimals?: number;\n networkId?: NetworkId;\n srcChainId?: number;\n srcToken?: string;\n quantity?: string;\n};\n\nexport const useDeposit = (options?: useDepositOptions) => {\n const networkId = useConfig(\"networkId\");\n const [balanceRevalidating, setBalanceRevalidating] = useState(false);\n const [allowanceRevalidating, setAllowanceRevalidating] = useState(false);\n\n const [_, { findByChainId }] = useChains(undefined);\n\n const [quantity, setQuantity] = useState<string>(\"\");\n const [depositFee, setDepositFee] = useState<bigint>(0n);\n const [depositFeeRevalidating, setDepositFeeRevalidating] = useState(false);\n\n const [balance, setBalance] = useState(\"0\");\n const [allowance, setAllowance] = useState(\"0\");\n\n const { account, state } = useAccount();\n\n const prevAddress = useRef<string | undefined>();\n const getBalanceListener = useRef<ReturnType<typeof setTimeout>>();\n\n const targetChain = useMemo(() => {\n let chain: API.Chain | undefined;\n\n // Orderly testnet supported chain\n if (networkId === \"testnet\") {\n chain = findByChainId(ARBITRUM_TESTNET_CHAINID) as API.Chain;\n } else {\n chain = findByChainId(options?.srcChainId!) as API.Chain;\n // if is orderly un-supported chain\n if (!chain?.network_infos?.bridgeless) {\n // Orderly mainnet supported chain\n chain = findByChainId(ARBITRUM_MAINNET_CHAINID) as API.Chain;\n }\n }\n return chain;\n }, [networkId, findByChainId, options?.srcChainId]);\n\n const dst = useMemo(() => {\n if (!targetChain) {\n throw new Error(\"dst chain not found\");\n }\n\n const USDC = targetChain?.token_infos.find(\n (token: API.TokenInfo) => token.symbol === \"USDC\"\n );\n\n return {\n symbol: \"USDC\",\n address: USDC?.address,\n decimals: USDC?.decimals,\n chainId: targetChain.network_infos.chain_id,\n network: targetChain.network_infos.shortName,\n };\n }, [targetChain]);\n\n const isNativeToken = useMemo(\n () => isNativeTokenChecker(options?.address || \"\"),\n [options?.address]\n );\n\n const fetchBalanceHandler = useCallback(\n async (address: string, decimals?: number) => {\n let balance: string;\n\n if (!!address && isNativeTokenChecker(address)) {\n balance = await account.assetsManager.getNativeBalance({\n decimals,\n });\n } else {\n balance = await account.assetsManager.getBalance(address, { decimals });\n }\n\n return balance;\n },\n []\n );\n\n const fetchBalance = useCallback(\n async (\n // token contract address\n address?: string,\n // format decimals\n decimals?: number\n ) => {\n if (!address) return;\n\n try {\n // if (balanceRevalidating) return;\n const balance = await fetchBalanceHandler(address, decimals);\n\n setBalance(() => balance);\n } catch (e) {\n console.warn(\"----- refresh balance error -----\", e);\n\n setBalance(() => \"0\");\n }\n },\n [state]\n );\n\n const fetchBalances = useCallback(async (tokens: API.TokenInfo[]) => {\n const tasks = [];\n\n for (const token of tokens) {\n // native token skip\n if (isNativeTokenChecker(token.address)) {\n continue;\n }\n tasks.push(account.assetsManager.getBalanceByAddress(token.address));\n }\n\n const balances = await Promise.all(tasks);\n\n // const balances = await account.assetsManager.getBalances(tokens);\n // setBalance(() => balances);\n }, []);\n\n const getAllowance = async (address?: string, vaultAddress?: string) => {\n // if (!address || !vaultAddress) return;\n const key = `${address}-${vaultAddress}`;\n\n if (prevAddress.current === key) return;\n\n if (!address || !vaultAddress) return;\n if (address && isNativeTokenChecker(address)) return;\n // if (allowanceRevalidating) return;\n // setAllowanceRevalidating(true);\n\n prevAddress.current = key;\n\n const allowance = await account.assetsManager.getAllowance(\n address,\n vaultAddress\n );\n\n setAllowance(() => allowance);\n // setAllowanceRevalidating(false);\n return allowance;\n };\n\n const getAllowanceByDefaultAddress = async (address?: string) => {\n if (prevAddress.current === address) return;\n\n if (!address || isNativeTokenChecker(address)) return;\n\n prevAddress.current = address;\n\n const allowance = await account.assetsManager.getAllowance(address);\n setAllowance(() => allowance);\n };\n\n const queryBalance = useDebouncedCallback(\n (tokenAddress?: string, decimals?: number) => {\n fetchBalance(options?.address, options?.decimals).finally(() => {\n setBalanceRevalidating(false);\n });\n },\n 100\n );\n\n const queryAllowance = useDebouncedCallback(\n (tokenAddress?: string, vaultAddress?: string) => {\n getAllowance(tokenAddress, vaultAddress);\n },\n 100\n );\n\n useEffect(() => {\n if (state.status < AccountStatusEnum.Connected) return;\n setBalanceRevalidating(true);\n // fetchBalance(options?.address, options?.decimals).finally(() => {\n // setBalanceRevalidating(false);\n // });\n\n queryBalance(options?.address, options?.decimals);\n\n if (dst.chainId !== options?.srcChainId) {\n queryAllowance(options?.address);\n } else {\n if (dst.symbol !== options?.srcToken) {\n queryAllowance(options?.address);\n } else {\n getAllowanceByDefaultAddress(options?.address);\n }\n }\n }, [\n state.status,\n options?.address,\n options?.srcChainId,\n options?.srcToken,\n account.address,\n dst.chainId,\n dst.symbol,\n ]);\n\n const approve = useCallback(\n async (amount?: string) => {\n if (!options?.address) {\n throw new Error(\"address is required\");\n }\n return account.assetsManager\n .approve(options.address, amount)\n .then((result: any) => {\n return account.walletClient\n ?.pollTransactionReceiptWithBackoff(result.hash)\n .then((receipt) => {\n if (receipt.status === 1) {\n account.assetsManager\n .getAllowance(options.address)\n .then((allowance) => {\n setAllowance(() => allowance);\n });\n }\n });\n });\n },\n [account, getAllowance, options, dst]\n );\n\n const deposit = useCallback(async () => {\n // only support orderly deposit\n return account.assetsManager\n .deposit(quantity, depositFee)\n .then((res: any) => {\n account.assetsManager\n .getAllowance(options?.address)\n .then((allowance) => {\n setAllowance(() => allowance);\n });\n setBalance((value) => new Decimal(value).sub(quantity).toString());\n return res;\n });\n }, [account, fetchBalance, quantity, depositFee]);\n\n const loopGetBalance = async () => {\n getBalanceListener.current && clearTimeout(getBalanceListener.current);\n getBalanceListener.current = setTimeout(async () => {\n try {\n const balance = await fetchBalanceHandler(\n options?.address!,\n options?.decimals\n );\n\n setBalance(balance);\n loopGetBalance();\n } catch (err) {\n console.log(\"fetchBalanceHandler error\", err);\n }\n }, 3000);\n };\n\n const getDepositFee = useCallback(\n async (quantity: string) => {\n return account.assetsManager.getDepositFee(\n quantity,\n targetChain?.network_infos\n );\n },\n [account, targetChain]\n );\n\n const enquiryDepositFee = useCallback(() => {\n if (isNaN(Number(quantity)) || !quantity) {\n setDepositFee(0n);\n setDepositFeeRevalidating(false);\n return;\n }\n\n setDepositFeeRevalidating(true);\n\n getDepositFee(quantity)\n .then((res: bigint = 0n) => {\n const fee = BigInt(\n new Decimal(res.toString())\n .mul(DEPOSIT_FEE_RATE)\n .toFixed(0, Decimal.ROUND_UP)\n .toString()\n );\n\n setDepositFee(fee);\n console.log(\"getDepositFee\", fee);\n })\n .catch((error) => {\n console.log(\"getDepositFee error\", error);\n })\n .finally(() => {\n setDepositFeeRevalidating(false);\n });\n }, [quantity]);\n\n useEffect(() => {\n enquiryDepositFee();\n }, [quantity]);\n\n useEffect(() => {\n if (!options?.address) {\n return;\n }\n\n loopGetBalance();\n\n return () => {\n getBalanceListener.current && clearTimeout(getBalanceListener.current);\n };\n\n // account.walletClient.on(\n // // {\n // // address: options?.address,\n // // },\n // \"block\",\n // (log: any, event: any) => {\n // console.log(\"account.walletClient.on\", log, event);\n // }\n // );\n }, [options?.address, options?.decimals]);\n\n return {\n /** orderly support chain dst */\n dst,\n balance,\n allowance,\n isNativeToken,\n balanceRevalidating,\n allowanceRevalidating,\n /** input quantiy */\n quantity,\n /** orderly deposit fee, unit: wei */\n depositFee,\n /** enquiring depositFee status on chain */\n depositFeeRevalidating,\n approve,\n deposit,\n fetchBalances,\n fetchBalance: fetchBalanceHandler,\n /** set input quantity */\n setQuantity,\n };\n};\n"],"names":["useCallback","useEffect","useMemo","useRef","useState","useAccount","ARBITRUM_MAINNET_CHAINID","ARBITRUM_TESTNET_CHAINID","AccountStatusEnum","DEPOSIT_FEE_RATE","isNativeTokenChecker","Decimal","useChains","useConfig","useDebouncedCallback","useDeposit","options","networkId","balanceRevalidating","setBalanceRevalidating","allowanceRevalidating","setAllowanceRevalidating","_","findByChainId","undefined","quantity","setQuantity","depositFee","setDepositFee","depositFeeRevalidating","setDepositFeeRevalidating","balance","setBalance","allowance","setAllowance","account","state","prevAddress","getBalanceListener","targetChain","chain","srcChainId","network_infos","bridgeless","dst","Error","USDC","token_infos","find","token","symbol","address","decimals","chainId","chain_id","network","shortName","isNativeToken","fetchBalanceHandler","assetsManager","getNativeBalance","getBalance","fetchBalance","e","fetchBalances","tokens","tasks","push","getBalanceByAddress","balances","Promise","all","getAllowance","vaultAddress","key","current","getAllowanceByDefaultAddress","queryBalance","tokenAddress","finally","queryAllowance","status","Connected","srcToken","approve","amount","then","result","walletClient","pollTransactionReceiptWithBackoff","hash","receipt","deposit","res","value","sub","toString","loopGetBalance","clearTimeout","setTimeout","err","getDepositFee","enquiryDepositFee","isNaN","Number","fee","BigInt","mul","toFixed","ROUND_UP","catch","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { useQuery } from "../useQuery";
2
2
  import { useEffect, useState } from "react";
3
3
  import { timeConvertString } from "@orderly.network/utils";
4
- export const useFundingRate = (symbol) => {
4
+ export const useFundingRate = (symbol)=>{
5
5
  if (!symbol) {
6
6
  throw new Error("useFuturesForSymbol requires a symbol");
7
7
  }
@@ -9,32 +9,33 @@ export const useFundingRate = (symbol) => {
9
9
  const { data } = useQuery(`/v1/public/funding_rate/${symbol}`, {
10
10
  fallbackData: {
11
11
  est_funding_rate: 0,
12
- next_funing_time: 0,
13
- },
12
+ next_funing_time: 0
13
+ }
14
14
  });
15
- useEffect(() => {
16
- if (!data)
17
- return;
15
+ useEffect(()=>{
16
+ if (!data) return;
18
17
  const { next_funding_time } = data;
19
18
  if (!next_funding_time || next_funding_time <= 0) {
20
19
  return;
21
20
  }
22
- const timer = setInterval(() => {
21
+ const timer = setInterval(()=>{
23
22
  const diff = new Date(next_funding_time).getTime() - Date.now();
24
23
  const result = timeConvertString(diff);
25
24
  if (result.length === 3) {
26
- setCountDown(`${result[0].toString().padStart(2, "0")}:${result[1]
27
- .toString()
28
- .padStart(2, "0")}:${result[2].toString().padStart(2, "0")}`);
25
+ setCountDown(`${result[0].toString().padStart(2, "0")}:${result[1].toString().padStart(2, "0")}:${result[2].toString().padStart(2, "0")}`);
29
26
  }
30
27
  }, 1000);
31
- return () => {
28
+ return ()=>{
32
29
  clearInterval(timer);
33
30
  };
34
- }, [data]);
31
+ }, [
32
+ data
33
+ ]);
35
34
  return {
36
35
  ...data,
37
36
  est_funding_rate: (Number(data?.est_funding_rate ?? 0) * 100).toFixed(4),
38
- countDown,
37
+ countDown
39
38
  };
40
39
  };
40
+
41
+ //# sourceMappingURL=useFundingRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useFundingRate.ts"],"sourcesContent":["import { API } from \"@orderly.network/types\";\nimport { useQuery } from \"../useQuery\";\nimport { useEffect, useState } from \"react\";\nimport { timeConvertString } from \"@orderly.network/utils\";\n\nexport const useFundingRate = (symbol: string) => {\n if (!symbol) {\n throw new Error(\"useFuturesForSymbol requires a symbol\");\n }\n\n const [countDown, setCountDown] = useState(\"00:00:00\");\n\n const { data } = useQuery<API.FundingRate>(\n `/v1/public/funding_rate/${symbol}`,\n {\n fallbackData: {\n est_funding_rate: 0,\n next_funing_time: 0,\n },\n }\n );\n\n useEffect(() => {\n if (!data) return;\n const { next_funding_time } = data;\n if (!next_funding_time || next_funding_time <= 0) {\n return;\n }\n const timer = setInterval(() => {\n const diff = new Date(next_funding_time).getTime() - Date.now();\n const result = timeConvertString(diff);\n if (result.length === 3) {\n setCountDown(\n `${result[0].toString().padStart(2, \"0\")}:${result[1]\n .toString()\n .padStart(2, \"0\")}:${result[2].toString().padStart(2, \"0\")}`\n );\n }\n }, 1000);\n return () => {\n clearInterval(timer);\n };\n }, [data]);\n\n return {\n ...data,\n est_funding_rate: (Number(data?.est_funding_rate ?? 0) * 100).toFixed(4),\n countDown,\n };\n};\n"],"names":["useQuery","useEffect","useState","timeConvertString","useFundingRate","symbol","Error","countDown","setCountDown","data","fallbackData","est_funding_rate","next_funing_time","next_funding_time","timer","setInterval","diff","Date","getTime","now","result","length","toString","padStart","clearInterval","Number","toFixed"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,IAAI,CAACA,QAAQ;QACX,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,CAACC,WAAWC,aAAa,GAAGN,SAAS;IAE3C,MAAM,EAAEO,IAAI,EAAE,GAAGT,SACf,CAAC,wBAAwB,EAAEK,OAAO,CAAC,EACnC;QACEK,cAAc;YACZC,kBAAkB;YAClBC,kBAAkB;QACpB;IACF;IAGFX,UAAU;QACR,IAAI,CAACQ,MAAM;QACX,MAAM,EAAEI,iBAAiB,EAAE,GAAGJ;QAC9B,IAAI,CAACI,qBAAqBA,qBAAqB,GAAG;YAChD;QACF;QACA,MAAMC,QAAQC,YAAY;YACxB,MAAMC,OAAO,IAAIC,KAAKJ,mBAAmBK,OAAO,KAAKD,KAAKE,GAAG;YAC7D,MAAMC,SAASjB,kBAAkBa;YACjC,IAAII,OAAOC,MAAM,KAAK,GAAG;gBACvBb,aACE,CAAC,EAAEY,MAAM,CAAC,EAAE,CAACE,QAAQ,GAAGC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAEH,MAAM,CAAC,EAAE,CAClDE,QAAQ,GACRC,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAEH,MAAM,CAAC,EAAE,CAACE,QAAQ,GAAGC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAElE;QACF,GAAG;QACH,OAAO;YACLC,cAAcV;QAChB;IACF,GAAG;QAACL;KAAK;IAET,OAAO;QACL,GAAGA,IAAI;QACPE,kBAAkB,AAACc,CAAAA,OAAOhB,MAAME,oBAAoB,KAAK,GAAE,EAAGe,OAAO,CAAC;QACtEnB;IACF;AACF,EAAE"}
@@ -1,20 +1,22 @@
1
1
  import { useQuery } from "../useQuery";
2
2
  import { createGetter } from "../utils/createGetter";
3
- export const useFundingRates = () => {
3
+ export const useFundingRates = ()=>{
4
4
  const { data } = useQuery(`/v1/public/funding_rates`, {
5
5
  focusThrottleInterval: 1000 * 60 * 60 * 24,
6
6
  revalidateOnFocus: false,
7
- formatter(data) {
7
+ formatter (data) {
8
8
  if (!data?.rows || !data?.rows?.length) {
9
9
  return {};
10
10
  }
11
11
  const obj = Object.create(null);
12
- for (let index = 0; index < data.rows.length; index++) {
12
+ for(let index = 0; index < data.rows.length; index++){
13
13
  const item = data.rows[index];
14
14
  obj[item.symbol] = item;
15
15
  }
16
16
  return obj;
17
- },
17
+ }
18
18
  });
19
19
  return createGetter(data);
20
20
  };
21
+
22
+ //# sourceMappingURL=useFundingRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useFundingRates.ts"],"sourcesContent":["import { useQuery } from \"../useQuery\";\nimport { type API } from \"@orderly.network/types\";\nimport { createGetter } from \"../utils/createGetter\";\n\nexport const useFundingRates = () => {\n const { data } = useQuery<{ [key: string]: API.FundingRate }>(\n `/v1/public/funding_rates`,\n {\n focusThrottleInterval: 1000 * 60 * 60 * 24,\n revalidateOnFocus: false,\n formatter(data: { rows: API.FundingRate[] }) {\n if (!data?.rows || !data?.rows?.length) {\n return {};\n }\n const obj = Object.create(null);\n\n for (let index = 0; index < data.rows.length; index++) {\n const item = data.rows[index];\n obj[item.symbol] = item;\n }\n\n return obj;\n },\n }\n );\n\n return createGetter<API.FundingRate>(data);\n};\n"],"names":["useQuery","createGetter","useFundingRates","data","focusThrottleInterval","revalidateOnFocus","formatter","rows","length","obj","Object","create","index","item","symbol"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,YAAY,QAAQ,wBAAwB;AAErD,OAAO,MAAMC,kBAAkB;IAC7B,MAAM,EAAEC,IAAI,EAAE,GAAGH,SACf,CAAC,wBAAwB,CAAC,EAC1B;QACEI,uBAAuB,OAAO,KAAK,KAAK;QACxCC,mBAAmB;QACnBC,WAAUH,IAAiC;YACzC,IAAI,CAACA,MAAMI,QAAQ,CAACJ,MAAMI,MAAMC,QAAQ;gBACtC,OAAO,CAAC;YACV;YACA,MAAMC,MAAMC,OAAOC,MAAM,CAAC;YAE1B,IAAK,IAAIC,QAAQ,GAAGA,QAAQT,KAAKI,IAAI,CAACC,MAAM,EAAEI,QAAS;gBACrD,MAAMC,OAAOV,KAAKI,IAAI,CAACK,MAAM;gBAC7BH,GAAG,CAACI,KAAKC,MAAM,CAAC,GAAGD;YACrB;YAEA,OAAOJ;QACT;IACF;IAGF,OAAOR,aAA8BE;AACvC,EAAE"}
@@ -2,46 +2,50 @@ import { usePrivateQuery } from "../usePrivateQuery";
2
2
  import { useMemo } from "react";
3
3
  import { useWS } from "../useWS";
4
4
  import useSWRSubscription from "swr/subscription";
5
- export const useHoldingStream = () => {
5
+ export const useHoldingStream = ()=>{
6
6
  const ws = useWS();
7
7
  const { data, isLoading, mutate } = usePrivateQuery("/v1/client/holding", {
8
- formatter: (data) => {
8
+ formatter: (data)=>{
9
9
  return data.holding;
10
- },
10
+ }
11
11
  });
12
- const usdc = useMemo(() => {
13
- const usdc = data?.find((item) => item.token === "USDC");
12
+ const usdc = useMemo(()=>{
13
+ const usdc = data?.find((item)=>item.token === "USDC");
14
14
  return usdc;
15
- }, [data]);
16
- useSWRSubscription("holding", (_, { next }) => {
15
+ }, [
16
+ data
17
+ ]);
18
+ useSWRSubscription("holding", (_, { next })=>{
17
19
  const unsubscribe = ws.privateSubscribe({
18
20
  id: "balance",
19
21
  event: "subscribe",
20
22
  topic: "balance",
21
- ts: Date.now(),
23
+ ts: Date.now()
22
24
  }, {
23
- onMessage: (data) => {
25
+ onMessage: (data)=>{
24
26
  const holding = data?.balances ?? {};
25
27
  if (holding) {
26
- mutate((prevData) => {
27
- return prevData?.map((item) => {
28
+ mutate((prevData)=>{
29
+ return prevData?.map((item)=>{
28
30
  const token = holding[item.token];
29
31
  return {
30
32
  ...item,
31
33
  frozen: token.frozen,
32
- holding: token.holding,
34
+ holding: token.holding
33
35
  };
34
36
  });
35
37
  });
36
38
  next(holding);
37
39
  }
38
- },
40
+ }
39
41
  });
40
- return () => unsubscribe();
42
+ return ()=>unsubscribe();
41
43
  });
42
44
  return {
43
45
  data,
44
46
  usdc,
45
- isLoading,
47
+ isLoading
46
48
  };
47
49
  };
50
+
51
+ //# sourceMappingURL=useHoldingStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useHoldingStream.ts"],"sourcesContent":["import { API } from \"@orderly.network/types\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { useMemo } from \"react\";\nimport { useWS } from \"../useWS\";\nimport useSWRSubscription from \"swr/subscription\";\n\nexport const useHoldingStream = () => {\n const ws = useWS();\n\n const { data, isLoading, mutate } = usePrivateQuery<API.Holding[]>(\n \"/v1/client/holding\",\n {\n formatter: (data) => {\n return data.holding;\n },\n }\n );\n\n const usdc = useMemo(() => {\n const usdc = data?.find((item) => item.token === \"USDC\");\n return usdc;\n }, [data]);\n\n useSWRSubscription(\"holding\", (_, { next }) => {\n const unsubscribe = ws.privateSubscribe(\n {\n id: \"balance\",\n event: \"subscribe\",\n topic: \"balance\",\n ts: Date.now(),\n },\n {\n onMessage: (data: any) => {\n const holding = data?.balances ?? ({} as Record<string, any>);\n\n if (holding) {\n mutate((prevData) => {\n return prevData?.map((item) => {\n const token = holding[item.token];\n return {\n ...item,\n frozen: token.frozen,\n holding: token.holding,\n };\n });\n });\n\n next(holding);\n }\n },\n }\n );\n\n return () => unsubscribe();\n });\n\n return {\n data,\n usdc,\n isLoading,\n };\n};\n"],"names":["usePrivateQuery","useMemo","useWS","useSWRSubscription","useHoldingStream","ws","data","isLoading","mutate","formatter","holding","usdc","find","item","token","_","next","unsubscribe","privateSubscribe","id","event","topic","ts","Date","now","onMessage","balances","prevData","map","frozen"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,OAAO,QAAQ,QAAQ;AAChC,SAASC,KAAK,QAAQ,WAAW;AACjC,OAAOC,wBAAwB,mBAAmB;AAElD,OAAO,MAAMC,mBAAmB;IAC9B,MAAMC,KAAKH;IAEX,MAAM,EAAEI,IAAI,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGR,gBAClC,sBACA;QACES,WAAW,CAACH;YACV,OAAOA,KAAKI,OAAO;QACrB;IACF;IAGF,MAAMC,OAAOV,QAAQ;QACnB,MAAMU,OAAOL,MAAMM,KAAK,CAACC,OAASA,KAAKC,KAAK,KAAK;QACjD,OAAOH;IACT,GAAG;QAACL;KAAK;IAETH,mBAAmB,WAAW,CAACY,GAAG,EAAEC,IAAI,EAAE;QACxC,MAAMC,cAAcZ,GAAGa,gBAAgB,CACrC;YACEC,IAAI;YACJC,OAAO;YACPC,OAAO;YACPC,IAAIC,KAAKC,GAAG;QACd,GACA;YACEC,WAAW,CAACnB;gBACV,MAAMI,UAAUJ,MAAMoB,YAAa,CAAC;gBAEpC,IAAIhB,SAAS;oBACXF,OAAO,CAACmB;wBACN,OAAOA,UAAUC,IAAI,CAACf;4BACpB,MAAMC,QAAQJ,OAAO,CAACG,KAAKC,KAAK,CAAC;4BACjC,OAAO;gCACL,GAAGD,IAAI;gCACPgB,QAAQf,MAAMe,MAAM;gCACpBnB,SAASI,MAAMJ,OAAO;4BACxB;wBACF;oBACF;oBAEAM,KAAKN;gBACP;YACF;QACF;QAGF,OAAO,IAAMO;IACf;IAEA,OAAO;QACLX;QACAK;QACAJ;IACF;AACF,EAAE"}
@@ -1,17 +1,19 @@
1
1
  import { useWS } from "../useWS";
2
2
  import useSWRSubscription from "swr/subscription";
3
- export const useIndexPrice = (symbol) => {
3
+ export const useIndexPrice = (symbol)=>{
4
4
  // WARNING: force change perp to spot, because there is no perp now
5
5
  symbol = symbol.replace("PERP", "SPOT");
6
6
  const ws = useWS();
7
- return useSWRSubscription(`${symbol}@indexprice`, (key, { next }) => {
7
+ return useSWRSubscription(`${symbol}@indexprice`, (key, { next })=>{
8
8
  const unsubscribe = ws.subscribe(`${symbol}@indexprice`, {
9
- onMessage: (message) => {
9
+ onMessage: (message)=>{
10
10
  next(null, message.price);
11
- },
11
+ }
12
12
  });
13
- return () => {
13
+ return ()=>{
14
14
  unsubscribe?.();
15
15
  };
16
16
  });
17
17
  };
18
+
19
+ //# sourceMappingURL=useIndexPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/orderly/useIndexPrice.ts"],"sourcesContent":["import { useWS } from \"../useWS\";\nimport useSWRSubscription from \"swr/subscription\";\n\nexport const useIndexPrice = (symbol: string) => {\n // WARNING: force change perp to spot, because there is no perp now\n symbol = symbol.replace(\"PERP\", \"SPOT\");\n const ws = useWS();\n return useSWRSubscription(`${symbol}@indexprice`, (key, { next }) => {\n const unsubscribe = ws.subscribe(`${symbol}@indexprice`, {\n onMessage: (message: any) => {\n next(null, message.price);\n },\n });\n\n return () => {\n unsubscribe?.();\n };\n });\n};\n"],"names":["useWS","useSWRSubscription","useIndexPrice","symbol","replace","ws","key","next","unsubscribe","subscribe","onMessage","message","price"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,KAAK,QAAQ,WAAW;AACjC,OAAOC,wBAAwB,mBAAmB;AAElD,OAAO,MAAMC,gBAAgB,CAACC;IAC5B,mEAAmE;IACnEA,SAASA,OAAOC,OAAO,CAAC,QAAQ;IAChC,MAAMC,KAAKL;IACX,OAAOC,mBAAmB,CAAC,EAAEE,OAAO,WAAW,CAAC,EAAE,CAACG,KAAK,EAAEC,IAAI,EAAE;QAC9D,MAAMC,cAAcH,GAAGI,SAAS,CAAC,CAAC,EAAEN,OAAO,WAAW,CAAC,EAAE;YACvDO,WAAW,CAACC;gBACVJ,KAAK,MAAMI,QAAQC,KAAK;YAC1B;QACF;QAEA,OAAO;YACLJ;QACF;IACF;AACF,EAAE"}