@velora-dex/widget 0.2.5-dev.9 → 0.3.2-dev.1

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 (451) hide show
  1. package/dist/assets/bridges/canonical-uni.svg.js +12 -0
  2. package/dist/assets/bridges/canonical-uni.svg.js.map +1 -0
  3. package/dist/assets/bridges/cctp.svg.js +12 -0
  4. package/dist/assets/bridges/cctp.svg.js.map +1 -0
  5. package/dist/assets/bridges/celer.svg.js +16 -0
  6. package/dist/assets/bridges/celer.svg.js.map +1 -0
  7. package/dist/assets/bridges/relay.svg.js +12 -0
  8. package/dist/assets/bridges/relay.svg.js.map +1 -0
  9. package/dist/assets/refresh.svg.js +12 -0
  10. package/dist/assets/refresh.svg.js.map +1 -0
  11. package/dist/assets/speedometer.svg.js +12 -0
  12. package/dist/assets/speedometer.svg.js.map +1 -0
  13. package/dist/components/ui/accordion.d.ts +3 -2
  14. package/dist/components/ui/accordion.d.ts.map +1 -1
  15. package/dist/components/ui/accordion.js +66 -42
  16. package/dist/components/ui/accordion.js.map +1 -1
  17. package/dist/components/ui/badge.d.ts +1 -1
  18. package/dist/components/ui/button.d.ts +1 -1
  19. package/dist/components/ui/skeleton.d.ts.map +1 -1
  20. package/dist/components/ui/skeleton.js.map +1 -1
  21. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +2 -2
  22. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  23. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +5 -1
  24. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/hooks.js +63 -5
  26. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  27. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  28. package/dist/components/widget/AppHeader/ActivityButton.js +76 -36
  29. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  30. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  31. package/dist/components/widget/AppHeader/AppHeader.js +52 -70
  32. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  33. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  34. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  35. package/dist/components/widget/BridgeList/BridgeListItem.d.ts +7 -0
  36. package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -0
  37. package/dist/components/widget/BridgeList/BridgeListItem.js +475 -0
  38. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -0
  39. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts +9 -0
  40. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -0
  41. package/dist/components/widget/BridgeList/BridgeProtocolsList.js +219 -0
  42. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -0
  43. package/dist/components/widget/BridgeList/BridgesList.d.ts +12 -0
  44. package/dist/components/widget/BridgeList/BridgesList.d.ts.map +1 -0
  45. package/dist/components/widget/BridgeList/BridgesList.js +76 -0
  46. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -0
  47. package/dist/components/widget/BridgeList/hooks.d.ts +17 -0
  48. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -0
  49. package/dist/components/widget/BridgeList/hooks.js +254 -0
  50. package/dist/components/widget/BridgeList/hooks.js.map +1 -0
  51. package/dist/components/widget/BridgeList/types.d.ts +19 -0
  52. package/dist/components/widget/BridgeList/types.d.ts.map +1 -0
  53. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts +3 -0
  54. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts.map +1 -0
  55. package/dist/components/widget/BridgePreferences/BridgePreferences.js +136 -0
  56. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -0
  57. package/dist/components/widget/BridgePreferences/types.d.ts +11 -0
  58. package/dist/components/widget/BridgePreferences/types.d.ts.map +1 -0
  59. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +8 -0
  60. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -0
  61. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +137 -0
  62. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -0
  63. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts +2 -0
  64. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -0
  65. package/dist/components/widget/CompareQuotes/CompareQuotes.js +208 -0
  66. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -0
  67. package/dist/components/widget/Details/DetailWithValueListExpandable.d.ts.map +1 -1
  68. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  69. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  70. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  71. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +19 -17
  72. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  73. package/dist/components/widget/Duration/Duration.d.ts +6 -0
  74. package/dist/components/widget/Duration/Duration.d.ts.map +1 -0
  75. package/dist/components/widget/Duration/Duration.js +85 -0
  76. package/dist/components/widget/Duration/Duration.js.map +1 -0
  77. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts +2 -0
  78. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts.map +1 -0
  79. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +42 -0
  80. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -0
  81. package/dist/components/widget/ImportToken/ImportToken.d.ts +2 -0
  82. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  83. package/dist/components/widget/ImportToken/ImportToken.js +4 -1
  84. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  85. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts +3 -1
  86. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts.map +1 -1
  87. package/dist/components/widget/ImportToken/useImportTokenDrawer.js +23 -21
  88. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -1
  90. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  91. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +10 -64
  92. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  93. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  94. package/dist/components/widget/OrderExpiryInput/index.js +14 -13
  95. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  96. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +1 -1
  97. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  98. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +2 -2
  99. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  100. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +4 -4
  101. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  102. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  103. package/dist/components/widget/Screen/GenericScreen.js +2 -2
  104. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  105. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  106. package/dist/components/widget/SelectToken/SelectTokenButton.js +64 -61
  107. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  108. package/dist/components/widget/SettingsButton/SettingsButton.d.ts +5 -0
  109. package/dist/components/widget/SettingsButton/SettingsButton.d.ts.map +1 -0
  110. package/dist/components/widget/SettingsButton/SettingsButton.js +61 -0
  111. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -0
  112. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  113. package/dist/components/widget/TokenBadge/TokenBadge.js +115 -66
  114. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  115. package/dist/components/widget/TokenBadge/types.d.ts +1 -0
  116. package/dist/components/widget/TokenBadge/types.d.ts.map +1 -1
  117. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  118. package/dist/components/widget/TokenInput/index.js +34 -18
  119. package/dist/components/widget/TokenInput/index.js.map +1 -1
  120. package/dist/components/widget/TokenInput/types.d.ts +1 -0
  121. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  122. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  123. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +121 -70
  124. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  125. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  126. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +17 -21
  127. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  128. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  129. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +24 -28
  130. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  131. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  132. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +90 -72
  133. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  134. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  135. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +24 -28
  136. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  137. package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
  138. package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
  139. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  140. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  141. package/dist/components/widget/TradeOverview/Stepper.js +46 -26
  142. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  143. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  144. package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
  145. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  147. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
  148. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  149. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  150. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
  151. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  153. package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
  154. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
  157. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
  160. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  162. package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
  163. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
  165. package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
  166. package/dist/components/widget/TradeOverview/motionProps.js +121 -0
  167. package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
  168. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
  169. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
  170. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
  171. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
  172. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts +21 -0
  173. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts.map +1 -0
  174. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +90 -0
  175. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -0
  176. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts +12 -0
  177. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts.map +1 -0
  178. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +68 -0
  179. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -0
  180. package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -2
  181. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  182. package/dist/components/widget/TradeParameters/TradeParameters.js +64 -45
  183. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  184. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  185. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +3 -1
  186. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  187. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +9 -0
  188. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -0
  189. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +14 -0
  190. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -0
  191. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts +4 -0
  192. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts.map +1 -0
  193. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js +7 -0
  194. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js.map +1 -0
  195. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +8 -0
  196. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -0
  197. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +15 -0
  198. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -0
  199. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts +2 -0
  200. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts.map +1 -0
  201. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +11 -0
  202. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -0
  203. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts +4 -0
  204. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts.map +1 -0
  205. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js +6 -0
  206. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js.map +1 -0
  207. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts +3 -0
  208. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts.map +1 -0
  209. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts +14 -0
  210. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts.map +1 -0
  211. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js +58 -0
  212. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -0
  213. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +5 -0
  214. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  215. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +150 -67
  216. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  217. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  218. package/dist/configurator/components/common/Input.d.ts +2 -1
  219. package/dist/configurator/components/common/Input.d.ts.map +1 -1
  220. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  221. package/dist/core/LimitOrderButton.js +11 -9
  222. package/dist/core/LimitOrderButton.js.map +1 -1
  223. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  224. package/dist/core/OtcOrderButton.js +11 -9
  225. package/dist/core/OtcOrderButton.js.map +1 -1
  226. package/dist/core/TradeFlowScreenButton.js +4 -4
  227. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  228. package/dist/core/Updaters.d.ts.map +1 -1
  229. package/dist/core/Updaters.js +2 -0
  230. package/dist/core/Updaters.js.map +1 -1
  231. package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
  232. package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
  233. package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
  234. package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
  235. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
  236. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  237. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
  238. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  239. package/dist/core/constants.d.ts +1 -0
  240. package/dist/core/constants.d.ts.map +1 -1
  241. package/dist/core/constants.js +2 -1
  242. package/dist/core/constants.js.map +1 -1
  243. package/dist/core/index.d.ts.map +1 -1
  244. package/dist/core/index.js +66 -65
  245. package/dist/core/index.js.map +1 -1
  246. package/dist/core/inputs/hooks/types.d.ts +1 -1
  247. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  248. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +19 -0
  249. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -0
  250. package/dist/core/inputs/hooks/useMaxButtonProps.js +119 -0
  251. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -0
  252. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  253. package/dist/core/inputs/hooks/useTokenFromInputProps.js +28 -80
  254. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  255. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  256. package/dist/core/inputs/hooks/useTokenToInputProps.js +25 -12
  257. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  258. package/dist/core/inputs/state/common.d.ts +4 -2
  259. package/dist/core/inputs/state/common.d.ts.map +1 -1
  260. package/dist/core/inputs/state/common.js +4 -6
  261. package/dist/core/inputs/state/common.js.map +1 -1
  262. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  263. package/dist/core/inputs/state/inputAmountAtom.js +1 -1
  264. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  265. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  266. package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
  267. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  268. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  269. package/dist/core/inputs/state/setTokenByAddressAtom.js +15 -7
  270. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  271. package/dist/core/limit/state/deadlineAtom.d.ts +2 -3
  272. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  273. package/dist/core/limit/state/deadlineAtom.js +1 -2
  274. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  275. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  276. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  277. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  278. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  279. package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
  280. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  281. package/dist/core/limit/state/selectedTokenAtom.js +4 -4
  282. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  283. package/dist/core/limit/state/utils.d.ts.map +1 -1
  284. package/dist/core/limit/state/utils.js +4 -1
  285. package/dist/core/limit/state/utils.js.map +1 -1
  286. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  287. package/dist/core/limit/useLimitRate.js +25 -10
  288. package/dist/core/limit/useLimitRate.js.map +1 -1
  289. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  290. package/dist/core/limit/useLimitTokenFromInputProps.js +20 -63
  291. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  292. package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
  293. package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
  294. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  295. package/dist/core/otc/state/deadlineAtom.d.ts +2 -3
  296. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  297. package/dist/core/otc/state/deadlineAtom.js +1 -2
  298. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  299. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  300. package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
  301. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  302. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  303. package/dist/core/otc/useOtcTokenFromInputProps.js +21 -64
  304. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  305. package/dist/core/screen/hooks/useOnClickOutside.d.ts +1 -1
  306. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
  307. package/dist/core/screen/hooks/useOnClickOutside.js +3 -3
  308. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  309. package/dist/core/screen/hooks/useRunOnMount.d.ts +2 -0
  310. package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -0
  311. package/dist/core/screen/hooks/useRunOnMount.js +28 -0
  312. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -0
  313. package/dist/core/screen/screenByType.d.ts +10 -1
  314. package/dist/core/screen/screenByType.d.ts.map +1 -1
  315. package/dist/core/screen/screenByType.js +5 -1
  316. package/dist/core/screen/screenByType.js.map +1 -1
  317. package/dist/core/screen/state/hooks/useScreen.d.ts +5 -0
  318. package/dist/core/screen/state/hooks/useScreen.d.ts.map +1 -0
  319. package/dist/core/screen/state/hooks/useScreen.js +25 -0
  320. package/dist/core/screen/state/hooks/useScreen.js.map +1 -0
  321. package/dist/core/screen/state/hooks/useScreenValue.d.ts +8 -0
  322. package/dist/core/screen/state/hooks/useScreenValue.d.ts.map +1 -0
  323. package/dist/core/screen/state/hooks/useScreenValue.js +42 -0
  324. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -0
  325. package/dist/core/screen/state/hooks/useSetScreen.d.ts +13 -0
  326. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -0
  327. package/dist/core/screen/state/hooks/useSetScreen.js +113 -0
  328. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -0
  329. package/dist/core/screen/state/screenAtom.d.ts +4 -17
  330. package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
  331. package/dist/core/screen/state/screenAtom.js +5 -104
  332. package/dist/core/screen/state/screenAtom.js.map +1 -1
  333. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  334. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  335. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  336. package/dist/core/swapDetails/priceImpact.js +7 -3
  337. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  338. package/dist/core/types.d.ts +1 -1
  339. package/dist/core/types.d.ts.map +1 -1
  340. package/dist/events/getters/settings.d.ts.map +1 -1
  341. package/dist/events/getters/settings.js +7 -1
  342. package/dist/events/getters/settings.js.map +1 -1
  343. package/dist/events/types/common.d.ts +6 -1
  344. package/dist/events/types/common.d.ts.map +1 -1
  345. package/dist/events/types/settings.d.ts +2 -1
  346. package/dist/events/types/settings.d.ts.map +1 -1
  347. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  348. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  349. package/dist/hooks/otc/mutations/useFillOrder.js +0 -12
  350. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  351. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -12
  352. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  353. package/dist/hooks/swap/prices/constants.d.ts +3 -0
  354. package/dist/hooks/swap/prices/constants.d.ts.map +1 -0
  355. package/dist/hooks/swap/prices/constants.js +5 -0
  356. package/dist/hooks/swap/prices/constants.js.map +1 -0
  357. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +6 -0
  358. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -0
  359. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +36 -0
  360. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -0
  361. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +7 -0
  362. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  363. package/dist/hooks/swap/prices/delta/bridge/utils.js +34 -1
  364. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  365. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +1 -1
  366. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  367. package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
  368. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  369. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  370. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
  371. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  372. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  373. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
  374. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  375. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts +13 -0
  376. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts.map +1 -0
  377. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts +3 -0
  378. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts.map +1 -0
  379. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +75 -0
  380. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -0
  381. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -2
  382. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  383. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +3 -1
  384. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  385. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +1 -1
  386. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  387. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +37 -21
  388. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  389. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
  390. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  391. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  392. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  393. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
  394. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  395. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  396. package/dist/hooks/swap/prices/types.d.ts +1 -0
  397. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  398. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  399. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  400. package/dist/hooks/swap/prices/useSwapPrices.d.ts +5 -0
  401. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  402. package/dist/hooks/swap/prices/useSwapPrices.js +119 -94
  403. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  404. package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
  405. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  406. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  407. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  408. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +41 -11
  409. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  410. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
  411. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  412. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
  413. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  414. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
  415. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  416. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
  417. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  418. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
  419. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  420. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
  421. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  422. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  423. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  424. package/dist/hooks/useBridgeProtocols.d.ts +4 -0
  425. package/dist/hooks/useBridgeProtocols.d.ts.map +1 -0
  426. package/dist/hooks/useBridgeProtocols.js +52 -0
  427. package/dist/hooks/useBridgeProtocols.js.map +1 -0
  428. package/dist/hooks/useClickOutside.d.ts +1 -3
  429. package/dist/hooks/useClickOutside.d.ts.map +1 -1
  430. package/dist/hooks/useClickOutside.js +23 -7
  431. package/dist/hooks/useClickOutside.js.map +1 -1
  432. package/dist/lib/constants/index.d.ts +1 -0
  433. package/dist/lib/constants/index.d.ts.map +1 -1
  434. package/dist/lib/constants/index.js +2 -1
  435. package/dist/lib/constants/index.js.map +1 -1
  436. package/dist/lib/constants/weth.js.map +1 -1
  437. package/dist/lib/utils/priceImpact.d.ts +5 -2
  438. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  439. package/dist/lib/utils/priceImpact.js +8 -5
  440. package/dist/lib/utils/priceImpact.js.map +1 -1
  441. package/dist/lib/utils/tuple.d.ts +1 -0
  442. package/dist/lib/utils/tuple.d.ts.map +1 -1
  443. package/dist/lib/utils/tuple.js +5 -1
  444. package/dist/lib/utils/tuple.js.map +1 -1
  445. package/dist/styles.css +91 -10
  446. package/dist/tokens/queries.d.ts.map +1 -1
  447. package/dist/tokens/queries.js.map +1 -1
  448. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  449. package/dist/tokens/utils/sorting.js +3 -0
  450. package/dist/tokens/utils/sorting.js.map +1 -1
  451. package/package.json +3 -2
@@ -1,5 +1,6 @@
1
1
  import { SwapMode } from '../../components/widget/SwapModeSwitcher/state/types';
2
2
  import { MinTradeFlowToken } from '../../components/widget/TradeOverview';
3
+ import { BridgePreference, DisabledBridges } from '../../components/widget/TradeParameters/state/bridgePreferences/types';
3
4
  import { TradeMode } from '../../core/state/tradeModeAtom';
4
5
  import { UserGasPreset } from '../../hooks/gas/types';
5
6
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
@@ -27,12 +28,16 @@ export type OTCOrderFormState = TokenFormState & {
27
28
  otcPrice: string;
28
29
  orderDeadline: number;
29
30
  };
31
+ export type BridgePreferencesState = {
32
+ bridgePreference: BridgePreference;
33
+ disabledBridges: DisabledBridges;
34
+ };
30
35
  export type SettingsState = {
31
36
  slippageTolerance: number;
32
37
  transactionSpeed: UserGasPreset;
33
38
  swapMode: SwapMode;
34
39
  eip1559Enabled: boolean;
35
- };
40
+ } & BridgePreferencesState;
36
41
  export type WidgetState = {
37
42
  currentTradeMode: TradeMode;
38
43
  formState: {
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SwapMode } from '../../components/widget/SwapModeSwitcher/state/types';
2
- import { MakeEventArgs, SettingsState, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
2
+ import { MakeEventArgs, SettingsState, BridgePreferencesState, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
3
3
  type SwapModeSettingsParams = {
4
4
  swapMode: SwapMode;
5
5
  };
@@ -7,6 +7,7 @@ type SettingsParams = SettingsState;
7
7
  type SettingsEventArgs = MakeEventArgs<{
8
8
  "Settings:switchSwapMode": SwapModeSettingsParams;
9
9
  "Settings:saveSettings": SettingsParams;
10
+ "Settings:changeBridgePreferences": BridgePreferencesState;
10
11
  }>;
11
12
  export type OnSettingsChange = WidgetEventCallbackConstructor<SettingsEventArgs>;
12
13
  export type OnSettingsChangeMin = WidgetEventMinCallbackConstructor<SettingsEventArgs>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/types/settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG,aAAa,CAAC;IACrC,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,uBAAuB,EAAE,cAAc,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAC1B,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;AACpD,MAAM,MAAM,mBAAmB,GAC7B,iCAAiC,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/types/settings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG,aAAa,CAAC;IACrC,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,uBAAuB,EAAE,cAAc,CAAC;IACxC,kCAAkC,EAAE,sBAAsB,CAAC;CAC5D,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAC1B,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;AACpD,MAAM,MAAM,mBAAmB,GAC7B,iCAAiC,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CA8EpD"}
1
+ {"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAiFpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n { signal, params: { eip1559: allowEip1559 } }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval,\n staleTime: refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","refetchInterval","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","getApiURL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","queryKey","queryFn","enabled","staleTime","useQuery"],"mappings":"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"}
1
+ {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n const refetchInterval = import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval;\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n {\n signal,\n params: { eip1559: allowEip1559 },\n }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval,\n staleTime: refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","refetchInterval","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","getApiURL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","queryKey","queryFn","enabled","staleTime","useQuery"],"mappings":"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"}
@@ -9,18 +9,6 @@ import '@wagmi/core';
9
9
  import 'wagmi/connectors';
10
10
  import '../../../lib/queryClient.js';
11
11
  import 'viem';
12
- import 'react/jsx-runtime';
13
- import 'clsx';
14
- import 'tailwind-merge';
15
- import 'lucide-react';
16
- import 'sonner';
17
- import '../../../assets/spinner.svg.js';
18
- import '../../../assets/circle-check.svg.js';
19
- import '../../../assets/circle-exclamation.svg.js';
20
- import 'react';
21
- import '@radix-ui/react-progress';
22
- import '../../../lib/web3/wagmi/constants.js';
23
- import '../../../core/store.js';
24
12
 
25
13
  function useFillOrder(t0) {
26
14
  const $ = distExports.c(10);
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
@@ -6,18 +6,6 @@ import { useMinViemClient } from '../../useMinViemClient.js';
6
6
  import { useMutation } from '@tanstack/react-query';
7
7
  import { useRef } from 'react';
8
8
  import { UserCancelledError } from '../../swap/tradeFlow/common/errors.js';
9
- import 'react/jsx-runtime';
10
- import '../../../_virtual/index.js';
11
- import 'clsx';
12
- import 'tailwind-merge';
13
- import 'lucide-react';
14
- import 'sonner';
15
- import '../../../assets/spinner.svg.js';
16
- import '../../../assets/circle-check.svg.js';
17
- import '../../../assets/circle-exclamation.svg.js';
18
- import '@radix-ui/react-progress';
19
- import '../../../lib/web3/wagmi/constants.js';
20
- import '../../../core/store.js';
21
9
  import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPermit.js';
22
10
  import { useLogger } from '../../../core/logger.js';
23
11
  import { useFillOrder } from '../mutations/useFillOrder.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","events","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","signPermitAsync","value","orderFillData","signature","takerPermit","encodedPermitParams","permitEncodedArgs","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","txReceipt","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
1
+ {"version":3,"file":"useFillOtcOrderFlow.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n zeroAddress,\n type Address,\n type Hash,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"../../swap/tradeFlow/common/types\";\n\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport {\n type CallsSentObject,\n type TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"../../swap/tradeFlow/common/useApproveOrPermit\";\nimport { useLogger } from \"@/core/logger\";\n\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport { useFillOrder, type OrderFillData } from \"../mutations/useFillOrder\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"@/hooks/swap/tradeFlow/common/useSignPermit1Or2\";\nimport type { FillableOtcOrderItem } from \"@/components/widget/OtcOrderItem/types\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n type CallsReceipt,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { useCalldataSDK } from \"@/hooks/useSDK\";\n\nconst fillOtcOrderFlowType = \"fillOtcOrder\";\n\nexport type UseFillOtcOrderFlowInput = {\n order?: FillableOtcOrderItem;\n};\n\nexport type SubmitFillOtcOrderResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n approve: SubmitTxResult;\n fill: {\n order: LimitOrderFromApi;\n txHash?: Hash;\n txReceipt?: TransactionReceipt;\n };\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunFillOtcOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseFillOtcOrderFlowResult = {\n tradeFlowType: typeof fillOtcOrderFlowType;\n chainId: SupportedChainId;\n runFillOtcOrderFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunFillOtcOrderOptions\n ) => Promise<SubmitFillOtcOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n fillOrder: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n fillOrderBatch: {\n canBatchTxs?: boolean;\n callsId?: string;\n txHash?: Hash;\n receipt?: CallsReceipt;\n isConfirmingCalls: boolean;\n isConfirmingCallsError: boolean;\n isCallsSent: boolean;\n isCallsPending: boolean;\n isCallsMined: boolean;\n isCallsAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitFillOtcOrderResult;\n};\n\nconst OTC_ORDER_MUTATION_KEY = \"runFillOtcOrderFlow\";\n\nexport function useFillOtcOrderFlow({\n order,\n}: UseFillOtcOrderFlowInput): UseFillOtcOrderFlowResult {\n const logger = useLogger(\"FillOtcOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: order?.takerAsset,\n srcAmount: order?.takerAmount,\n spenderContractType: \"AugustusRFQ\",\n swapSide: \"SELL\",\n tradeMode: \"otc\",\n });\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const { sdk: callDataSDK } = useCalldataSDK({\n chainId,\n client: minClient,\n });\n\n /* 4. Submit fill OTC Order tx */\n\n // 4.1. submit standalone tx\n const fillOrderMut = useFillOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Fill OTC Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Fill OTC Order error\", error);\n },\n },\n });\n\n /* 4.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* Await tx */\n\n /* 5.1. await standalone Fill tx */\n const fillTxMined = useAwaitTx({\n chainId,\n hash: fillOrderMut.data,\n });\n\n /* 5.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const fillOrder: UseFillOtcOrderFlowResult[\"fillOrder\"] = {\n txHash: fillOrderMut.data,\n receipt: fillTxMined.data,\n /* tx sending */\n isConfirmingTX: fillOrderMut.isPending,\n isConfirmingTxError: fillOrderMut.isError,\n isTxSent: fillOrderMut.isSuccess,\n /* tx awaiting */\n isTxPending: fillTxMined.isPending,\n isTxMined: fillTxMined.isSuccess,\n isTxAwaitingError: fillTxMined.isError,\n /* combined */\n isPending: fillOrderMut.isPending || fillTxMined.isLoading,\n isSuccess: fillTxMined.isSuccess, // success only when tx is mined\n isError: fillOrderMut.isError || fillTxMined.isError,\n error: fillOrderMut.error || fillTxMined.error,\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const fillOrderBatch: UseFillOtcOrderFlowResult[\"fillOrderBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const events = useWidgetEvents();\n\n const submitFillTx = async ({\n onTxSent,\n }: RunFillOtcOrderOptions = {}): Promise<SubmitFillOtcOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n\n // no sense in starting flow without an order\n assert(order, \"no order to fill\");\n assert(order.taker !== zeroAddress, \"taker must not be zero address\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n const allowanceToSet = approval.allowanceToSet;\n\n const baseEventParams = {\n orderHash: order.orderHash,\n orderType: \"OTC\" as const,\n orderSubType: order.type,\n };\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:request\",\n params: baseEventParams,\n },\n });\n\n const shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && allowanceToSet) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n // Token doesn't support Permit\n // make an Approval tx\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n const orderFillData: OrderFillData = {\n order,\n signature: order.signature,\n };\n\n if (signedPermitResult) {\n orderFillData.takerPermit = {\n encodedPermitParams: signedPermitResult.permitEncodedArgs,\n };\n }\n\n let fillTxHash: Hash | undefined;\n let fillCallsId: string | undefined;\n\n if (shouldBatchTxs) {\n assert(callDataSDK, \"callDataSDK is not initialized\");\n\n const calldata = await callDataSDK.fillOrderDirectly({\n order,\n signature: order.signature,\n });\n\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: approval.spender,\n account,\n data: calldata,\n value: 0n,\n chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n fillCallsId = sendCallsResult.id;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n callsId: fillCallsId,\n ...baseEventParams,\n },\n },\n });\n } else {\n fillTxHash = await fillOrderMut.mutateAsync({\n orderFillData,\n signal,\n });\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:sent\",\n params: {\n txHash: fillTxHash,\n ...baseEventParams,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let fillCallsReceipt: CallsReceipt | undefined;\n let fillTxReceipt: TransactionReceipt | undefined;\n\n if (fillCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: fillCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ fillTx ~ awaiting calls id :\", fillCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n callsId: fillCallsId,\n action: \"fillOtcOrder\",\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillCallsReceipt = await sendCallsReceiptPromise;\n\n if (fillCallsReceipt) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n callsId: fillCallsId,\n callsReceipt: fillCallsReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n } else if (fillTxHash) {\n const fillTxReceiptPromise = ensureTxReceipt({\n hash: fillTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:fillTx\", fillTxHash, data);\n },\n });\n\n logger.log(\"~ fillTx ~ awaiting tx hash :\", fillTxHash);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n transactionHash: fillTxHash,\n action: \"fillOtcOrder\",\n receiptPromise: fillTxReceiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: order,\n },\n });\n }\n\n fillTxReceipt = await fillTxReceiptPromise;\n\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:confirmed\",\n params: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n ...baseEventParams,\n },\n },\n });\n }\n\n logger.log(\"~ fillTx ~ receipt:\", fillCallsReceipt || fillTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n\n return {\n tradeFlowType: fillOtcOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n fill: {\n txHash: fillTxHash,\n txReceipt: fillTxReceipt,\n order,\n },\n account,\n receiverAddress: order.taker as Address,\n };\n } catch (error) {\n events.onFillOTCOrder?.({\n event: {\n name: \"FillOTCOrder:failed\",\n params: {\n ...baseEventParams,\n error: error as Error,\n },\n },\n });\n // Fill order failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const runFillOrderMut = useMutation({\n mutationFn: submitFillTx,\n mutationKey: [OTC_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Fill order flow success\", data);\n },\n onError: (error) => {\n logger.error(\"Fill order flow error\", error);\n },\n onSettled: () => {\n logger.log(\"Fill order flow settled\");\n },\n });\n\n const runFillOtcOrderFlow = runFillOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n signPermitMut.reset();\n fillOrderMut.reset();\n batchTxMut.reset();\n runFillOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunFillOtcOrderOptions\n ): Promise<SubmitFillOtcOrderResult> => {\n reset();\n return runFillOtcOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: fillOtcOrderFlowType,\n chainId,\n runFillOtcOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n fillOrder,\n fillOrderBatch,\n isPending: runFillOrderMut.isPending,\n isSuccess: runFillOrderMut.isSuccess,\n isError: runFillOrderMut.isError,\n error: runFillOrderMut.error,\n result: runFillOrderMut.data,\n };\n}\n"],"names":["fillOtcOrderFlowType","OTC_ORDER_MUTATION_KEY","useFillOtcOrderFlow","order","logger","useLogger","chainId","useChainId","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","takerAsset","srcAmount","takerAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","sdk","callDataSDK","useCalldataSDK","client","fillOrderMut","useFillOrder","mutationOptions","onSuccess","log","onError","error","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","fillTxMined","useAwaitTx","hash","data","batchTxMined","useAwaitCalls","id","fillOrder","txHash","receipt","isConfirmingTX","isPending","isConfirmingTxError","isError","isTxSent","isSuccess","isTxPending","isTxMined","isTxAwaitingError","isLoading","lastCallsReceipt","receipts","length","fillOrderBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","events","useWidgetEvents","submitFillTx","onTxSent","reset","assert","taker","zeroAddress","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","baseEventParams","orderHash","orderType","orderSubType","type","onFillOTCOrder","event","name","params","shouldBatchTxs","needsApproval","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","onReplaced","action","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","signPermitAsync","value","orderFillData","signature","takerPermit","encodedPermitParams","permitEncodedArgs","fillTxHash","fillCallsId","calldata","fillOrderDirectly","calls","txsParams","to","approveProps","sendCallsResult","sendCalls","mutateAsync","signedPermitData","fillCallsReceipt","fillTxReceipt","sendCallsReceiptPromise","then","status","filledOrder","callsReceipt","fillTxReceiptPromise","txReceipt","tradeFlowType","approve","fill","receiverAddress","runFillOrderMut","useMutation","mutationFn","mutationKey","onSettled","runFillOtcOrderFlow","retryFlow","options","result"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const PRICE_REFETCH_INTERVAL_MS = 5000;
2
+ export declare const PRICE_REFETCH_INTERVAL_S: number;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAmC,CAAC"}
@@ -0,0 +1,5 @@
1
+ const PRICE_REFETCH_INTERVAL_MS = 5e3;
2
+ const PRICE_REFETCH_INTERVAL_S = PRICE_REFETCH_INTERVAL_MS / 1e3;
3
+
4
+ export { PRICE_REFETCH_INTERVAL_MS, PRICE_REFETCH_INTERVAL_S };
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/hooks/swap/prices/constants.ts"],"sourcesContent":["export const PRICE_REFETCH_INTERVAL_MS = 5000; // 5 seconds\nexport const PRICE_REFETCH_INTERVAL_S = PRICE_REFETCH_INTERVAL_MS / 1000;"],"names":["PRICE_REFETCH_INTERVAL_MS","PRICE_REFETCH_INTERVAL_S"],"mappings":"AAAO,MAAMA,yBAAAA,GAA4B;AAClC,MAAMC,2BAA2BD,yBAAAA,GAA4B;;;;"}
@@ -0,0 +1,6 @@
1
+ import { BridgePrice } from '@velora-dex/sdk';
2
+ import { DeltaOrBridgePrice } from '../../types';
3
+ export declare function useSelectedBridgePrice({ price, }: {
4
+ price?: DeltaOrBridgePrice;
5
+ }): BridgePrice | undefined;
6
+ //# sourceMappingURL=useSelectedBridgePrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectedBridgePrice.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,GAAG,WAAW,GAAG,SAAS,CAY1B"}
@@ -0,0 +1,36 @@
1
+ import { d as distExports } from '../../../../../_virtual/index.js';
2
+ import { useAtomValue } from '../../../../../core/store.js';
3
+ import { protocolSelectorAtom } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js';
4
+ import { extractSelectedBridgePrice } from './utils.js';
5
+ import { isBridgePrice } from '../queries/useDeltaPriceQuery.js';
6
+ import { bridgePreferenceAtom } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js';
7
+
8
+ function useSelectedBridgePrice(t0) {
9
+ const $ = distExports.c(4);
10
+ const {
11
+ price
12
+ } = t0;
13
+ const protocolSelector = useAtomValue(protocolSelectorAtom);
14
+ const bridgePreference = useAtomValue(bridgePreferenceAtom);
15
+ if (!price || !isBridgePrice(price)) {
16
+ return;
17
+ }
18
+ let t1;
19
+ if ($[0] !== bridgePreference || $[1] !== price || $[2] !== protocolSelector) {
20
+ t1 = extractSelectedBridgePrice({
21
+ price,
22
+ protocolSelector,
23
+ bridgePreference
24
+ });
25
+ $[0] = bridgePreference;
26
+ $[1] = price;
27
+ $[2] = protocolSelector;
28
+ $[3] = t1;
29
+ } else {
30
+ t1 = $[3];
31
+ }
32
+ return t1;
33
+ }
34
+
35
+ export { useSelectedBridgePrice };
36
+ //# sourceMappingURL=useSelectedBridgePrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectedBridgePrice.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport type { BridgePrice } from \"@velora-dex/sdk\";\nimport { protocolSelectorAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom\";\nimport type { DeltaOrBridgePrice } from \"../../types\";\nimport { extractSelectedBridgePrice } from \"./utils\";\nimport { isBridgePrice } from \"../queries/useDeltaPriceQuery\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\n\nexport function useSelectedBridgePrice({\n price,\n}: {\n price?: DeltaOrBridgePrice;\n}): BridgePrice | undefined {\n const protocolSelector = useAtomValue(protocolSelectorAtom);\n const bridgePreference = useAtomValue(bridgePreferenceAtom);\n\n // no price available\n if (!price || !isBridgePrice(price)) return;\n\n return extractSelectedBridgePrice({\n price,\n protocolSelector,\n bridgePreference,\n });\n}\n"],"names":["useSelectedBridgePrice","t0","$","_c","price","protocolSelector","useAtomValue","protocolSelectorAtom","bridgePreference","bridgePreferenceAtom","isBridgePrice","t1","extractSelectedBridgePrice"],"mappings":";;;;;;;AAQO,SAAAA,uBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAgC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAKrC,EAAA,MAAAI,gBAAAA,GAAyBC,aAAaC,oBAAoB,CAAA;AAC1D,EAAA,MAAAC,gBAAAA,GAAyBF,aAAaG,oBAAoB,CAAA;AAG1D,EAAA,IAAI,CAACL,KAAAA,IAAD,CAAWM,aAAAA,CAAcN,KAAK,CAAA,EAAC;AAAA,IAAA;AAAA,EAAA;AAAS,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,gBAAAA,IAAAN,CAAAA,QAAAE,KAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAG,gBAAAA,EAAA;AAErCM,IAAAA,EAAAA,GAAAC,0BAAAA,CAA2B;AAAA,MAAAR,KAAAA;AAAAA,MAAAC,gBAAAA;AAAAA,MAAAG;AAAAA,KAIjC,CAAA;AAACN,IAAAA,CAAAA,MAAAM,gBAAAA;AAAAN,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAG,gBAAAA;AAAAH,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJKS,EAAAA;AAIL;;;;"}
@@ -1,5 +1,7 @@
1
1
  import { BridgedDepositResponse, GetSuggestedFeesResponse } from './types';
2
2
  import { QueryMeta } from '@tanstack/react-query';
3
+ import { BridgePrice } from '@velora-dex/sdk';
4
+ import { BridgePreference } from '../../../../../components/widget/TradeParameters/state/bridgePreferences/types';
3
5
  export type GetBridgedDepositStatusInput = {
4
6
  depositId: string;
5
7
  originChainId: number;
@@ -36,4 +38,9 @@ export type RefetchMetaWithTiming = {
36
38
  startedQueryAt: number;
37
39
  };
38
40
  export declare function isMetaWithTimeStart(meta: QueryMeta): meta is RefetchMetaWithTiming;
41
+ export declare function extractSelectedBridgePrice({ price, protocolSelector, bridgePreference, }: {
42
+ price: BridgePrice;
43
+ protocolSelector?: string;
44
+ bridgePreference: BridgePreference;
45
+ }): BridgePrice;
39
46
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAsB,uBAAuB,CAAC,EAC5C,SAAS,EACT,aAAa,GACd,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMhE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,sBAAsB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAEA;AAID,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CASnC;AAID,MAAM,MAAM,qBAAqB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,GACd,IAAI,IAAI,qBAAqB,CAE/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AAE1G,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAsB,uBAAuB,CAAC,EAC5C,SAAS,EACT,aAAa,GACd,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAMhE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACnE,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,6BAA6B,CAE1C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,IAAI,sBAAsB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAEA;AAID,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CASnC;AAID,MAAM,MAAM,qBAAqB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,GACd,IAAI,IAAI,qBAAqB,CAE/B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,eAkBA"}
@@ -3,6 +3,39 @@ import 'axios';
3
3
  function isMetaWithTimeStart(meta) {
4
4
  return "startedQueryAt" in meta && typeof meta["startedQueryAt"] === "number";
5
5
  }
6
+ function extractSelectedBridgePrice({
7
+ price,
8
+ protocolSelector,
9
+ bridgePreference
10
+ }) {
11
+ if (!protocolSelector) return pickBridgePriceByPreference(price, bridgePreference);
12
+ if (protocolSelector === price.bridge.protocolSelector) return price;
13
+ const selectedAmongAvailable = price.availableBridges.find((bridge) => bridge.bridge.protocolSelector === protocolSelector);
14
+ if (selectedAmongAvailable) return combinePriceWithAvailableBridge(price, selectedAmongAvailable);
15
+ return price;
16
+ }
17
+ function pickBridgePriceByPreference(price, bridgePreference) {
18
+ if (bridgePreference === "auto" || bridgePreference === "fastest" && price.bridgeInfo.fastest || bridgePreference === "bestReturn" && price.bridgeInfo.bestReturn) return price;
19
+ const availableBridge = price.availableBridges.find((availableBridge2) => {
20
+ if (bridgePreference === "fastest") return availableBridge2.bridgeInfo.fastest;
21
+ if (bridgePreference === "bestReturn") return availableBridge2.bridgeInfo.bestReturn;
22
+ return false;
23
+ });
24
+ if (availableBridge) return combinePriceWithAvailableBridge(price, availableBridge);
25
+ return price;
26
+ }
27
+ function combinePriceWithAvailableBridge(price, availableBridge) {
28
+ return {
29
+ srcToken: price.srcToken,
30
+ srcAmount: price.srcAmount,
31
+ srcUSD: price.srcUSD,
32
+ partner: price.partner,
33
+ partnerFee: price.partnerFee,
34
+ hmac: price.hmac,
35
+ availableBridges: price.availableBridges,
36
+ ...availableBridge
37
+ };
38
+ }
6
39
 
7
- export { isMetaWithTimeStart };
40
+ export { extractSelectedBridgePrice, isMetaWithTimeStart };
8
41
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}`\n );\n return data;\n}\n\nexport function isBridgedDepositExecuted(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseSuccess {\n return deposit.status === \"filled\" && !!deposit.fillTx;\n}\n\nexport type BridgedDepositResponseSuccess = BridgedDepositResponse & {\n status: \"filled\";\n fillTx: string;\n};\n\nexport type BridgedDepositResponseFailure = BridgedDepositResponse & {\n status: \"refunded\" | \"expired\";\n fillTx: null;\n};\n\nexport function isBridgedDepositFailed(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseFailure {\n return deposit.status === \"refunded\" || deposit.status === \"expired\";\n}\n\nexport function isBridgedDepositRefunded(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponse & {\n status: \"refunded\";\n fillTx: null;\n depositRefundTxHash: string;\n} {\n return deposit.status === \"refunded\" && !!deposit.depositRefundTxHash;\n}\n\n// ------------------- Suggested Fees -------------------\n\nexport type GetSuggestedFeesInput = {\n originChainId: number;\n destinationChainId: number;\n inputToken: string;\n outputToken: string;\n amount: string;\n recipient?: string;\n message?: string;\n relayer?: string;\n timestamp?: number;\n};\n\nexport async function getSuggestedFees(\n params: GetSuggestedFeesInput,\n signal?: AbortSignal\n): Promise<GetSuggestedFeesResponse> {\n const { data } = await axios.get<GetSuggestedFeesResponse>(\n `${ACROSS_API}/suggested-fees`,\n {\n params,\n signal,\n }\n );\n return data;\n}\n\n// ------------------- Generic Utils -------------------\n\nexport type RefetchMetaWithTiming = { startedQueryAt: number };\nexport function isMetaWithTimeStart(\n meta: QueryMeta\n): meta is RefetchMetaWithTiming {\n return \"startedQueryAt\" in meta && typeof meta[\"startedQueryAt\"] === \"number\";\n}\n"],"names":["isMetaWithTimeStart","meta"],"mappings":";;AAqFO,SAASA,oBACdC,IAAAA,EAC+B;AAC/B,EAAA,OAAO,gBAAA,IAAoBA,IAAAA,IAAQ,OAAOA,IAAAA,CAAK,gBAAgB,CAAA,KAAM,QAAA;AACvE;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\nimport type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport type { BridgePreference } from \"@/components/widget/TradeParameters/state/bridgePreferences/types\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}`,\n );\n return data;\n}\n\nexport function isBridgedDepositExecuted(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponseSuccess {\n return deposit.status === \"filled\" && !!deposit.fillTx;\n}\n\nexport type BridgedDepositResponseSuccess = BridgedDepositResponse & {\n status: \"filled\";\n fillTx: string;\n};\n\nexport type BridgedDepositResponseFailure = BridgedDepositResponse & {\n status: \"refunded\" | \"expired\";\n fillTx: null;\n};\n\nexport function isBridgedDepositFailed(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponseFailure {\n return deposit.status === \"refunded\" || deposit.status === \"expired\";\n}\n\nexport function isBridgedDepositRefunded(\n deposit: BridgedDepositResponse,\n): deposit is BridgedDepositResponse & {\n status: \"refunded\";\n fillTx: null;\n depositRefundTxHash: string;\n} {\n return deposit.status === \"refunded\" && !!deposit.depositRefundTxHash;\n}\n\n// ------------------- Suggested Fees -------------------\n\nexport type GetSuggestedFeesInput = {\n originChainId: number;\n destinationChainId: number;\n inputToken: string;\n outputToken: string;\n amount: string;\n recipient?: string;\n message?: string;\n relayer?: string;\n timestamp?: number;\n};\n\nexport async function getSuggestedFees(\n params: GetSuggestedFeesInput,\n signal?: AbortSignal,\n): Promise<GetSuggestedFeesResponse> {\n const { data } = await axios.get<GetSuggestedFeesResponse>(\n `${ACROSS_API}/suggested-fees`,\n {\n params,\n signal,\n },\n );\n return data;\n}\n\n// ------------------- Generic Utils -------------------\n\nexport type RefetchMetaWithTiming = { startedQueryAt: number };\nexport function isMetaWithTimeStart(\n meta: QueryMeta,\n): meta is RefetchMetaWithTiming {\n return \"startedQueryAt\" in meta && typeof meta[\"startedQueryAt\"] === \"number\";\n}\n\nexport function extractSelectedBridgePrice({\n price,\n protocolSelector,\n bridgePreference,\n}: {\n price: BridgePrice;\n protocolSelector?: string;\n bridgePreference: BridgePreference;\n}) {\n // no protocol selected\n if (!protocolSelector)\n return pickBridgePriceByPreference(price, bridgePreference);\n\n // selected protocol is from the top-level bridge price\n if (protocolSelector === price.bridge.protocolSelector) return price;\n\n const selectedAmongAvailable = price.availableBridges.find(\n (bridge) => bridge.bridge.protocolSelector === protocolSelector,\n );\n\n // selected protocol is found among available bridges\n if (selectedAmongAvailable)\n return combinePriceWithAvailableBridge(price, selectedAmongAvailable);\n\n // fallback to top-level bridge price\n return price;\n}\n\nfunction pickBridgePriceByPreference(\n price: BridgePrice,\n bridgePreference: BridgePreference,\n): BridgePrice {\n // top-level price matches preference\n if (\n bridgePreference === \"auto\" ||\n (bridgePreference === \"fastest\" && price.bridgeInfo.fastest) ||\n (bridgePreference === \"bestReturn\" && price.bridgeInfo.bestReturn)\n )\n return price;\n\n // look for matching available bridge\n const availableBridge = price.availableBridges.find((availableBridge) => {\n if (bridgePreference === \"fastest\")\n return availableBridge.bridgeInfo.fastest;\n if (bridgePreference === \"bestReturn\")\n return availableBridge.bridgeInfo.bestReturn;\n return false;\n });\n\n if (availableBridge)\n return combinePriceWithAvailableBridge(price, availableBridge);\n\n // fallback to top-level price\n return price;\n}\n\nfunction combinePriceWithAvailableBridge(\n price: BridgePrice,\n availableBridge: AvailableBridge,\n): BridgePrice {\n return {\n srcToken: price.srcToken,\n srcAmount: price.srcAmount,\n srcUSD: price.srcUSD,\n partner: price.partner,\n partnerFee: price.partnerFee,\n hmac: price.hmac,\n availableBridges: price.availableBridges,\n ...availableBridge,\n };\n}\n"],"names":["isMetaWithTimeStart","meta","extractSelectedBridgePrice","price","protocolSelector","bridgePreference","pickBridgePriceByPreference","bridge","selectedAmongAvailable","availableBridges","find","combinePriceWithAvailableBridge","bridgeInfo","fastest","bestReturn","availableBridge","srcToken","srcAmount","srcUSD","partner","partnerFee","hmac"],"mappings":";;AAuFO,SAASA,oBACdC,IAAAA,EAC+B;AAC/B,EAAA,OAAO,gBAAA,IAAoBA,IAAAA,IAAQ,OAAOA,IAAAA,CAAK,gBAAgB,CAAA,KAAM,QAAA;AACvE;AAEO,SAASC,0BAAAA,CAA2B;AAAA,EACzCC,KAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AAED,EAAA,IAAI,CAACD,gBAAAA,EACH,OAAOE,2BAAAA,CAA4BH,OAAOE,gBAAgB,CAAA;AAG5D,EAAA,IAAID,gBAAAA,KAAqBD,KAAAA,CAAMI,MAAAA,CAAOH,gBAAAA,EAAkB,OAAOD,KAAAA;AAE/D,EAAA,MAAMK,sBAAAA,GAAyBL,MAAMM,gBAAAA,CAAiBC,IAAAA,CACnDH,YAAWA,MAAAA,CAAOA,MAAAA,CAAOH,qBAAqBA,gBACjD,CAAA;AAGA,EAAA,IAAII,sBAAAA,EACF,OAAOG,+BAAAA,CAAgCR,KAAAA,EAAOK,sBAAsB,CAAA;AAGtE,EAAA,OAAOL,KAAAA;AACT;AAEA,SAASG,2BAAAA,CACPH,OACAE,gBAAAA,EACa;AAEb,EAAA,IACEA,gBAAAA,KAAqB,MAAA,IACpBA,gBAAAA,KAAqB,SAAA,IAAaF,KAAAA,CAAMS,UAAAA,CAAWC,OAAAA,IACnDR,gBAAAA,KAAqB,YAAA,IAAgBF,KAAAA,CAAMS,UAAAA,CAAWE,UAAAA,EAEvD,OAAOX,KAAAA;AAGT,EAAA,MAAMY,eAAAA,GAAkBZ,KAAAA,CAAMM,gBAAAA,CAAiBC,IAAAA,CAAMK,CAAAA,gBAAAA,KAAoB;AACvE,IAAA,IAAIV,gBAAAA,KAAqB,SAAA,EACvB,OAAOU,gBAAAA,CAAgBH,UAAAA,CAAWC,OAAAA;AACpC,IAAA,IAAIR,gBAAAA,KAAqB,YAAA,EACvB,OAAOU,gBAAAA,CAAgBH,UAAAA,CAAWE,UAAAA;AACpC,IAAA,OAAO,KAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,IAAIC,eAAAA,EACF,OAAOJ,+BAAAA,CAAgCR,KAAAA,EAAOY,eAAe,CAAA;AAG/D,EAAA,OAAOZ,KAAAA;AACT;AAEA,SAASQ,+BAAAA,CACPR,OACAY,eAAAA,EACa;AACb,EAAA,OAAO;AAAA,IACLC,UAAUb,KAAAA,CAAMa,QAAAA;AAAAA,IAChBC,WAAWd,KAAAA,CAAMc,SAAAA;AAAAA,IACjBC,QAAQf,KAAAA,CAAMe,MAAAA;AAAAA,IACdC,SAAShB,KAAAA,CAAMgB,OAAAA;AAAAA,IACfC,YAAYjB,KAAAA,CAAMiB,UAAAA;AAAAA,IAClBC,MAAMlB,KAAAA,CAAMkB,IAAAA;AAAAA,IACZZ,kBAAkBN,KAAAA,CAAMM,gBAAAA;AAAAA,IACxB,GAAGM;AAAAA,GACL;AACF;;;;"}
@@ -12,7 +12,7 @@ export declare function isBridgedOrderFailed(order: Pick<DeltaAuction, "bridgeSt
12
12
  };
13
13
  export declare function isExecutedDeltaAuction(auction: MarkOptional<DeltaAuction, "signature">, waitForCrosschain?: boolean): auction is ExecutedDeltaAuction;
14
14
  export declare function isFailedDeltaAuction(auction: MarkOptional<DeltaAuction, "signature">, waitForCrosschain?: boolean): auction is FailedDeltaAuction;
15
- export declare function isOrderExpired(auction: MarkOptional<DeltaAuction, "signature">): auction is MarkRequired<DeltaAuction, "signature"> & {
15
+ export declare function isDeltaAuctionExpired(auction: MarkOptional<DeltaAuction, "signature">): auction is MarkRequired<DeltaAuction, "signature"> & {
16
16
  status: "EXPIRED";
17
17
  };
18
18
  export declare const DeltaOrderStatusChecker: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAU5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,QAAQ,CAAC;CACxB,CAEA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,UAAU,CAAC;CAC1B,CAEA;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,oBAAoB,CASjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,kBAAkB,CAgB/B;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,SAAS,CAAC;CACnB,CAEA;AAKD,eAAO,MAAM,uBAAuB;;;;;;;;CA8BnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,iBAAiB,CAQnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,iBAAiB,CAcnB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,GAC7D,iBAAiB,CAInB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAU5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,QAAQ,CAAC;CACxB,CAEA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,UAAU,CAAC;CAC1B,CAEA;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,oBAAoB,CASjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,kBAAkB,CAgB/B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,SAAS,CAAC;CACnB,CAEA;AAKD,eAAO,MAAM,uBAAuB;;;;;;;;CA8BnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,iBAAiB,CAQnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,iBAAiB,CAcnB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,GAC7D,iBAAiB,CAInB"}
@@ -21,7 +21,7 @@ function isFailedDeltaAuction(auction, waitForCrosschain = true) {
21
21
  }
22
22
  return true;
23
23
  }
24
- function isOrderExpired(auction) {
24
+ function isDeltaAuctionExpired(auction) {
25
25
  return auction.status === "EXPIRED";
26
26
  }
27
27
  const DeltaOrderStatusChecker = {
@@ -53,5 +53,5 @@ function getOverallOrderStatus(order) {
53
53
  return isOrderCrosschain(order.order) ? getCrossChainOrderStatus(order.status, order.bridgeStatus) : getSingleChainOrderStatus(order.status);
54
54
  }
55
55
 
56
- export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain, isOrderExpired };
56
+ export { BridgeStatusChecker, DeltaOrderStatusChecker, getCrossChainOrderStatus, getOverallOrderStatus, getSingleChainOrderStatus, isBridgedOrderExecuted, isDeltaAuctionExpired, isDeltaOrderFromApi, isExecutedDeltaAuction, isFailedDeltaAuction, isOrderCrosschain };
57
57
  //# sourceMappingURL=utils.js.map