@velora-dex/widget 0.2.5-dev.1 → 0.2.5-dev.10

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 (492) hide show
  1. package/dist/components/ui/input.js +1 -1
  2. package/dist/components/ui/input.js.map +1 -1
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
  5. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts +2 -0
  7. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts.map +1 -0
  8. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +132 -0
  9. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -0
  10. package/dist/components/widget/AppHeader/Activities/ActivityItems.js +2 -2
  11. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  12. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts +6 -21
  13. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  14. package/dist/components/widget/AppHeader/Activities/Drawers.js +61 -219
  15. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  16. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +7 -10
  17. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  18. package/dist/components/widget/AppHeader/Activities/hooks.js +37 -75
  19. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  20. package/dist/components/widget/AppHeader/Activities/utils.d.ts +2 -2
  21. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  22. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  23. package/dist/components/widget/AppHeader/ActivityButton.d.ts +0 -1
  24. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  25. package/dist/components/widget/AppHeader/ActivityButton.js +38 -160
  26. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  27. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +4 -14
  28. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  29. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +7 -2
  30. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  31. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +174 -99
  32. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  33. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +3 -1
  34. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  35. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +17 -14
  36. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  37. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts.map +1 -1
  38. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +3 -2
  39. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  40. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.d.ts.map +1 -1
  41. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +17 -9
  42. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  43. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +1 -1
  44. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  45. package/dist/components/widget/Drawer/index.d.ts +3 -2
  46. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  47. package/dist/components/widget/Drawer/index.js +96 -80
  48. package/dist/components/widget/Drawer/index.js.map +1 -1
  49. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +2 -3
  50. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  51. package/dist/components/widget/Drawer/state/useDrawerControls.js +18 -19
  52. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  53. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -0
  54. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -0
  55. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -0
  56. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -0
  57. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -0
  58. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -0
  59. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -0
  60. package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderListItem.js +1 -1
  61. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -0
  62. package/dist/components/widget/LimitOrderItem/constants.d.ts.map +1 -0
  63. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -0
  64. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -0
  65. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -0
  66. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -0
  67. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  68. package/dist/components/widget/OrderExpiryInput/index.js +76 -73
  69. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  70. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -0
  71. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -0
  72. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -0
  73. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/OtcOrderDetails.js +1 -1
  74. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -0
  75. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.d.ts.map +1 -0
  76. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -0
  77. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.d.ts.map +1 -0
  78. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderListItem.js +1 -1
  79. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -0
  80. package/dist/components/widget/OtcOrderItem/constants.d.ts.map +1 -0
  81. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -0
  82. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/types.d.ts +1 -1
  83. package/dist/components/widget/OtcOrderItem/types.d.ts.map +1 -0
  84. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/utils.d.ts +0 -6
  85. package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -0
  86. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -0
  87. package/dist/components/widget/PoweredBy/PoweredBy.js +1 -1
  88. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  89. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +1 -1
  90. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  91. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +3 -0
  92. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  93. package/dist/components/widget/ReceiverAddress/types.d.ts +2 -1
  94. package/dist/components/widget/ReceiverAddress/types.d.ts.map +1 -1
  95. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts +2 -2
  96. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
  97. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  98. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +1 -1
  99. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  100. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
  101. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  102. package/dist/components/widget/Screen/GenericScreen.d.ts +13 -0
  103. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -0
  104. package/dist/components/widget/Screen/GenericScreen.js +67 -0
  105. package/dist/components/widget/Screen/GenericScreen.js.map +1 -0
  106. package/dist/components/widget/Screen/ScreenContainer.d.ts +7 -0
  107. package/dist/components/widget/Screen/ScreenContainer.d.ts.map +1 -0
  108. package/dist/components/widget/Screen/ScreenContainer.js +36 -0
  109. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -0
  110. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  111. package/dist/components/widget/SelectToken/SelectTokenButton.js +109 -201
  112. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  113. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
  114. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +5 -0
  115. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  116. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +3 -2
  117. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  118. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  119. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +10 -3
  120. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  121. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +138 -9
  122. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  123. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +6 -0
  124. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  125. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +86 -1
  126. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  127. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +8 -2
  128. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  129. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +103 -1
  130. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  131. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +10 -3
  132. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  133. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +152 -9
  134. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  135. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +8 -2
  136. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  137. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +101 -1
  138. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  139. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  140. package/dist/components/widget/TradeOverview/TradeDetails.js +105 -78
  141. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  142. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -1
  143. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  144. package/dist/components/widget/TradeOverview/TradeOverview.js +26 -21
  145. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +30 -0
  147. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -0
  148. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +75 -0
  149. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -0
  150. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +1 -1
  151. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  152. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +14 -0
  154. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -0
  155. package/dist/components/widget/TradeOverview/utils/preWrap.js +37 -0
  156. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -0
  157. package/dist/components/widget/TransactionDetails/types.d.ts +1 -1
  158. package/dist/components/widget/TransactionDetails/types.d.ts.map +1 -1
  159. package/dist/configurator/Configurator.d.ts.map +1 -1
  160. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  161. package/dist/configurator/components/common/ButtonGroup.d.ts +12 -0
  162. package/dist/configurator/components/common/ButtonGroup.d.ts.map +1 -0
  163. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  164. package/dist/core/LimitOrderButton.js +58 -33
  165. package/dist/core/LimitOrderButton.js.map +1 -1
  166. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  167. package/dist/core/OtcOrderButton.js +10 -14
  168. package/dist/core/OtcOrderButton.js.map +1 -1
  169. package/dist/core/TradeFlowScreenButton.d.ts +27 -0
  170. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -0
  171. package/dist/core/TradeFlowScreenButton.js +206 -0
  172. package/dist/core/TradeFlowScreenButton.js.map +1 -0
  173. package/dist/core/Updaters.d.ts.map +1 -1
  174. package/dist/core/Updaters.js +22 -1
  175. package/dist/core/Updaters.js.map +1 -1
  176. package/dist/core/across/isCrosshcainPossible.d.ts +10 -0
  177. package/dist/core/across/isCrosshcainPossible.d.ts.map +1 -0
  178. package/dist/core/across/isCrosshcainPossible.js +41 -0
  179. package/dist/core/across/isCrosshcainPossible.js.map +1 -0
  180. package/dist/core/across/utils.d.ts +7 -3
  181. package/dist/core/across/utils.d.ts.map +1 -1
  182. package/dist/core/across/utils.js +10 -7
  183. package/dist/core/across/utils.js.map +1 -1
  184. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  185. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +56 -33
  186. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  187. package/dist/core/index.d.ts.map +1 -1
  188. package/dist/core/index.js +253 -166
  189. package/dist/core/index.js.map +1 -1
  190. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  191. package/dist/core/inputs/hooks/useTokenToInputProps.js +76 -66
  192. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  193. package/dist/core/inputs/state/common.d.ts +15 -3
  194. package/dist/core/inputs/state/common.d.ts.map +1 -1
  195. package/dist/core/inputs/state/common.js +51 -12
  196. package/dist/core/inputs/state/common.js.map +1 -1
  197. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  198. package/dist/core/inputs/state/inputAmountAtom.js +1 -1
  199. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  200. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  201. package/dist/core/inputs/state/selectedTokenActionsAtom.js +33 -44
  202. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  203. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
  204. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  205. package/dist/core/inputs/state/setTokenByAddressAtom.js +85 -21
  206. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  207. package/dist/core/inputs/state/types.d.ts +9 -1
  208. package/dist/core/inputs/state/types.d.ts.map +1 -1
  209. package/dist/core/limit/state/deadlineAtom.d.ts +10 -2
  210. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  211. package/dist/core/limit/state/deadlineAtom.js +15 -8
  212. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  213. package/dist/core/limit/state/isCrosschainAtom.d.ts +3 -0
  214. package/dist/core/limit/state/isCrosschainAtom.d.ts.map +1 -0
  215. package/dist/core/limit/state/isCrosschainAtom.js +13 -0
  216. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -0
  217. package/dist/core/limit/state/limitInputActionsAtom.d.ts +4 -1
  218. package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
  219. package/dist/core/limit/state/limitInputActionsAtom.js +6 -2
  220. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  221. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  222. package/dist/core/limit/state/limitInputAmountAtom.js +2 -2
  223. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  224. package/dist/core/limit/state/limitTokenAtoms.d.ts +10 -0
  225. package/dist/core/limit/state/limitTokenAtoms.d.ts.map +1 -0
  226. package/dist/core/limit/state/limitTokenAtoms.js +17 -0
  227. package/dist/core/limit/state/limitTokenAtoms.js.map +1 -0
  228. package/dist/core/limit/state/receiverAddressAtom.d.ts +7 -0
  229. package/dist/core/limit/state/receiverAddressAtom.d.ts.map +1 -0
  230. package/dist/core/limit/state/receiverAddressAtom.js +40 -0
  231. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -0
  232. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  233. package/dist/core/limit/state/selectedTokenActionsAtom.js +94 -18
  234. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  235. package/dist/core/limit/state/selectedTokenAtom.d.ts +0 -9
  236. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  237. package/dist/core/limit/state/selectedTokenAtom.js +53 -21
  238. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  239. package/dist/core/limit/state/utils.d.ts +9 -1
  240. package/dist/core/limit/state/utils.d.ts.map +1 -1
  241. package/dist/core/limit/state/utils.js +44 -2
  242. package/dist/core/limit/state/utils.js.map +1 -1
  243. package/dist/core/limit/useLimitRate.d.ts +9 -0
  244. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  245. package/dist/core/limit/useLimitRate.js +145 -8
  246. package/dist/core/limit/useLimitRate.js.map +1 -1
  247. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  248. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  249. package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
  250. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  251. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  252. package/dist/core/limit/useLimitTokenToInputProps.js +132 -72
  253. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  254. package/dist/core/otc/state/deadlineAtom.d.ts +8 -3
  255. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  256. package/dist/core/otc/state/deadlineAtom.js +16 -10
  257. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  258. package/dist/core/otc/state/otcInputActionsAtom.d.ts +4 -1
  259. package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
  260. package/dist/core/otc/state/otcInputActionsAtom.js +6 -2
  261. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  262. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  263. package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
  264. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  265. package/dist/core/otc/state/receiverAddressAtom.js +1 -1
  266. package/dist/core/screen/hooks/useOnClickOutside.d.ts +2 -0
  267. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -0
  268. package/dist/core/screen/hooks/useOnClickOutside.js +30 -0
  269. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -0
  270. package/dist/core/screen/screenByType.d.ts +7 -0
  271. package/dist/core/screen/screenByType.d.ts.map +1 -0
  272. package/dist/core/screen/screenByType.js +13 -0
  273. package/dist/core/screen/screenByType.js.map +1 -0
  274. package/dist/core/screen/state/screenAtom.d.ts +20 -0
  275. package/dist/core/screen/state/screenAtom.d.ts.map +1 -0
  276. package/dist/core/screen/state/screenAtom.js +110 -0
  277. package/dist/core/screen/state/screenAtom.js.map +1 -0
  278. package/dist/core/state/chainToAtom.d.ts +2 -0
  279. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  280. package/dist/core/state/chainToAtom.js +37 -7
  281. package/dist/core/state/chainToAtom.js.map +1 -1
  282. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  283. package/dist/core/state/configActionsAtom.js +3 -1
  284. package/dist/core/state/configActionsAtom.js.map +1 -1
  285. package/dist/core/state/configAtom.d.ts +4 -2
  286. package/dist/core/state/configAtom.d.ts.map +1 -1
  287. package/dist/core/state/configAtom.js +7 -3
  288. package/dist/core/state/configAtom.js.map +1 -1
  289. package/dist/core/state/configEffectAtom.d.ts +0 -3
  290. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  291. package/dist/core/state/configEffectAtom.js +49 -37
  292. package/dist/core/state/configEffectAtom.js.map +1 -1
  293. package/dist/core/state/enabledChainsAtom.d.ts +3 -0
  294. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
  295. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  296. package/dist/core/state/getSelectableDestChains.d.ts +8 -0
  297. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -0
  298. package/dist/core/state/getSelectableDestChains.js +34 -0
  299. package/dist/core/state/getSelectableDestChains.js.map +1 -0
  300. package/dist/core/types.d.ts +6 -0
  301. package/dist/core/types.d.ts.map +1 -1
  302. package/dist/events/getters/limit.d.ts.map +1 -1
  303. package/dist/events/getters/limit.js +5 -2
  304. package/dist/events/getters/limit.js.map +1 -1
  305. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
  306. package/dist/events/hooks/useOnPriceUpdates.js +37 -25
  307. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  308. package/dist/events/types/formInput.d.ts +1 -1
  309. package/dist/events/types/formInput.d.ts.map +1 -1
  310. package/dist/hooks/batch/useCanBatchTxs.d.ts.map +1 -1
  311. package/dist/hooks/batch/useCanBatchTxs.js +33 -29
  312. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  313. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  314. package/dist/hooks/gas/useGasPrices.js +15 -14
  315. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  316. package/dist/hooks/otc/mutations/useFillOrder.js +6 -1
  317. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  318. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts +1 -1
  319. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  320. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -1
  321. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  322. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  323. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
  324. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
  325. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +24 -0
  326. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
  327. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
  328. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
  329. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
  330. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
  331. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
  332. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
  333. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +12 -0
  334. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
  335. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
  336. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
  337. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +4 -0
  338. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
  339. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +81 -0
  340. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
  341. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +3 -0
  342. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  343. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
  344. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  345. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +1 -1
  346. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  347. package/dist/hooks/swap/prices/usePricesParams.js +8 -12
  348. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  349. package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -1
  350. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  351. package/dist/hooks/swap/prices/useSwapPrices.js +63 -43
  352. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  353. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  354. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  355. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -0
  356. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  357. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +54 -21
  358. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  359. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  360. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  361. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  362. package/dist/hooks/tokens/prices/queries.js +2 -2
  363. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  364. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +3 -1
  365. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  366. package/dist/hooks/tokens/useAllTokensWithFilter.js +25 -22
  367. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  368. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  369. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  370. package/dist/hooks/tokens/useTokensFromAcross.d.ts +3 -1
  371. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  372. package/dist/hooks/tokens/useTokensFromAcross.js +36 -25
  373. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  374. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  375. package/dist/hooks/txs/queries/useTxHistory.js +2 -2
  376. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  377. package/dist/hooks/useAvailableCrosses.d.ts +7 -2
  378. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  379. package/dist/hooks/useAvailableCrosses.js +39 -25
  380. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  381. package/dist/hooks/useBridgeInfo.d.ts +4 -1
  382. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  383. package/dist/hooks/useBridgeInfo.js +26 -11
  384. package/dist/hooks/useBridgeInfo.js.map +1 -1
  385. package/dist/hooks/useClickOutside.d.ts +4 -0
  386. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  387. package/dist/hooks/useClickOutside.js +49 -0
  388. package/dist/hooks/useClickOutside.js.map +1 -0
  389. package/dist/hooks/useIsCrosschainPossible.d.ts +3 -1
  390. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  391. package/dist/hooks/useIsCrosschainPossible.js +33 -22
  392. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  393. package/dist/hooks/useSDK.d.ts.map +1 -1
  394. package/dist/hooks/useSDK.js +11 -11
  395. package/dist/hooks/useSDK.js.map +1 -1
  396. package/dist/hooks/useSelectableDestChains.d.ts +5 -1
  397. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  398. package/dist/hooks/useSelectableDestChains.js +42 -36
  399. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  400. package/dist/lib/constants/index.d.ts +0 -2
  401. package/dist/lib/constants/index.d.ts.map +1 -1
  402. package/dist/lib/constants/index.js +1 -4
  403. package/dist/lib/constants/index.js.map +1 -1
  404. package/dist/lib/constants/urls.d.ts +4 -0
  405. package/dist/lib/constants/urls.d.ts.map +1 -0
  406. package/dist/lib/constants/urls.js +30 -0
  407. package/dist/lib/constants/urls.js.map +1 -0
  408. package/dist/lib/utils/explorer.d.ts.map +1 -1
  409. package/dist/lib/utils/explorer.js +3 -3
  410. package/dist/lib/utils/explorer.js.map +1 -1
  411. package/dist/lib/utils/price.js +1 -1
  412. package/dist/styles.css +22 -22
  413. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  414. package/dist/tokens/utils/sorting.js +3 -0
  415. package/dist/tokens/utils/sorting.js.map +1 -1
  416. package/dist/transactions/state/hooks/useTransactions.js +1 -1
  417. package/package.json +4 -4
  418. package/dist/components/ui/dialog.js +0 -261
  419. package/dist/components/ui/dialog.js.map +0 -1
  420. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts +0 -2
  421. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts.map +0 -1
  422. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js +0 -24
  423. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +0 -1
  424. package/dist/components/widget/Dialog/DialogRoot.js +0 -47
  425. package/dist/components/widget/Dialog/DialogRoot.js.map +0 -1
  426. package/dist/components/widget/Dialog/dialogByType.js +0 -10
  427. package/dist/components/widget/Dialog/dialogByType.js.map +0 -1
  428. package/dist/components/widget/Dialog/state/dialogAtom.js +0 -86
  429. package/dist/components/widget/Dialog/state/dialogAtom.js.map +0 -1
  430. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.d.ts.map +0 -1
  431. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +0 -1
  432. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.d.ts.map +0 -1
  433. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +0 -1
  434. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.d.ts.map +0 -1
  435. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.js.map +0 -1
  436. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +0 -1
  437. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +0 -1
  438. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts +0 -7
  439. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts.map +0 -1
  440. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts +0 -7
  441. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts.map +0 -1
  442. package/dist/components/widget/LimitOrdersDrawer/constants.d.ts.map +0 -1
  443. package/dist/components/widget/LimitOrdersDrawer/constants.js.map +0 -1
  444. package/dist/components/widget/LimitOrdersDrawer/types.d.ts.map +0 -1
  445. package/dist/components/widget/LimitOrdersDrawer/utils.d.ts.map +0 -1
  446. package/dist/components/widget/LimitOrdersDrawer/utils.js.map +0 -1
  447. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.d.ts.map +0 -1
  448. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +0 -1
  449. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +0 -1
  450. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +0 -1
  451. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.d.ts.map +0 -1
  452. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.js.map +0 -1
  453. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.d.ts.map +0 -1
  454. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +0 -1
  455. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts +0 -7
  456. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts.map +0 -1
  457. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts +0 -12
  458. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts.map +0 -1
  459. package/dist/components/widget/OtcOrdersDrawer/constants.d.ts.map +0 -1
  460. package/dist/components/widget/OtcOrdersDrawer/constants.js.map +0 -1
  461. package/dist/components/widget/OtcOrdersDrawer/types.d.ts.map +0 -1
  462. package/dist/components/widget/OtcOrdersDrawer/utils.d.ts.map +0 -1
  463. package/dist/components/widget/OtcOrdersDrawer/utils.js.map +0 -1
  464. package/dist/core/TradeFlowButton.d.ts +0 -27
  465. package/dist/core/TradeFlowButton.d.ts.map +0 -1
  466. package/dist/core/TradeFlowButton.js +0 -963
  467. package/dist/core/TradeFlowButton.js.map +0 -1
  468. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +0 -15
  469. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +0 -1
  470. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -92
  471. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +0 -1
  472. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.d.ts +0 -0
  473. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.js +0 -0
  474. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.d.ts +0 -0
  475. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.js +0 -0
  476. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.d.ts +0 -0
  477. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.js +0 -0
  478. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderListItem.d.ts +0 -0
  479. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.d.ts +0 -0
  480. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.js +0 -0
  481. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/types.d.ts +0 -0
  482. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.d.ts +0 -0
  483. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.js +0 -0
  484. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.d.ts +0 -0
  485. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.js +0 -0
  486. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/OtcOrderDetails.d.ts +0 -0
  487. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.d.ts +0 -0
  488. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.js +0 -0
  489. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderListItem.d.ts +0 -0
  490. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.d.ts +0 -0
  491. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.js +0 -0
  492. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/utils.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnClickOutside.js","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"sourcesContent":["import { useClickOutside } from \"@/hooks/useClickOutside\";\nimport { useScreen } from \"../state/screenAtom\";\nimport { screenTypesClosableByOutsideClick } from \"../screenByType\";\n\nexport function useOnClickOutside(\n containerRef: React.RefObject<HTMLDivElement | null>\n) {\n const { screen, closeScreen } = useScreen();\n useClickOutside(containerRef, () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType))\n closeScreen();\n });\n}\n"],"names":["useOnClickOutside","containerRef","$","_c","screen","closeScreen","useScreen","t0","screenType","screenTypesClosableByOutsideClick","includes","useClickOutside"],"mappings":";;;;;AAIO,SAAAA,kBAAAC,YAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,MAAgCC,SAAAA,EAAU;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAG,WAAAA,IAAAH,EAAA,CAAA,CAAA,KAAAE,QAAAI,UAAAA,EAAA;AACdD,IAAAA,EAAAA,GAAAA,MAAA;AAC5B,MAAA,MAAAC,aAAmBJ,MAAAA,EAAMI,UAAAA;AACzB,MAAA,IAAIA,UAAAA,IAAcC,iCAAAA,CAAiCC,QAAAA,CAAUF,UAAU,CAAA,EAAC;AACtEH,QAAAA,WAAAA,EAAY;AAAA,MAAC;AAAA,IAAC,CAAA;AACjBH,IAAAA,CAAAA,MAAAG,WAAAA;AAAAH,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,EAAAI,UAAAA;AAAAN,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAJDS,EAAAA,eAAAA,CAAgBV,cAAcM,EAI7B,CAAA;AAAC;;;;"}
@@ -0,0 +1,7 @@
1
+ export declare const screenByType: {
2
+ selectToken: ({ drawerContainer, ...props }: import('../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog').SelectTokenScreenProps) => import("react/jsx-runtime").JSX.Element;
3
+ tradeOverview: ({ flowType, flowProps, }: import('../../components/widget/TradeOverview/TradeOverviewScreen').TradeOverviewScreenProps) => import("react/jsx-runtime").JSX.Element;
4
+ activities: () => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export declare const screenTypesClosableByOutsideClick: (keyof typeof screenByType)[];
7
+ //# sourceMappingURL=screenByType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenByType.d.ts","sourceRoot":"","sources":["../../../src/core/screen/screenByType.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,OAAO,YAAY,CAAC,EAC5C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ActivitiesScreen } from '../../components/widget/AppHeader/Activities/ActivitiesScreen.js';
2
+ import { SelectTokenScreen } from '../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js';
3
+ import { TradeOverviewScreen } from '../../components/widget/TradeOverview/TradeOverviewScreen.js';
4
+
5
+ const screenByType = {
6
+ selectToken: SelectTokenScreen,
7
+ tradeOverview: TradeOverviewScreen,
8
+ activities: ActivitiesScreen
9
+ };
10
+ const screenTypesClosableByOutsideClick = ["selectToken", "activities"];
11
+
12
+ export { screenByType, screenTypesClosableByOutsideClick };
13
+ //# sourceMappingURL=screenByType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenByType.js","sources":["../../../src/core/screen/screenByType.ts"],"sourcesContent":["import { ActivitiesScreen } from \"@/components/widget/AppHeader/Activities/ActivitiesScreen\";\nimport { SelectTokenScreen } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport { TradeOverviewScreen } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\nexport const screenByType = {\n selectToken: SelectTokenScreen,\n tradeOverview: TradeOverviewScreen,\n activities: ActivitiesScreen,\n};\n\nexport const screenTypesClosableByOutsideClick: (keyof typeof screenByType)[] =\n [\"selectToken\", \"activities\"];\n"],"names":["screenByType","selectToken","SelectTokenScreen","tradeOverview","TradeOverviewScreen","activities","ActivitiesScreen","screenTypesClosableByOutsideClick"],"mappings":";;;;AAIO,MAAMA,YAAAA,GAAe;AAAA,EAC1BC,WAAAA,EAAaC,iBAAAA;AAAAA,EACbC,aAAAA,EAAeC,mBAAAA;AAAAA,EACfC,UAAAA,EAAYC;AACd;AAEO,MAAMC,iCAAAA,GACX,CAAC,aAAA,EAAe,YAAY;;;;"}
@@ -0,0 +1,20 @@
1
+ import { screenByType } from '../screenByType';
2
+ import { SelectTokenScreenProps } from '../../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog';
3
+ import { TradeOverviewScreenProps } from '../../../components/widget/TradeOverview/TradeOverviewScreen';
4
+ type ScreenType = keyof typeof screenByType;
5
+ type PermissibleScreenState = {
6
+ screenType: ScreenType;
7
+ screenProps?: {
8
+ [key in ScreenType]?: React.ComponentProps<(typeof screenByType)[key]>;
9
+ };
10
+ };
11
+ export type UseScreenResult = {
12
+ screen: PermissibleScreenState | null;
13
+ showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;
14
+ showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;
15
+ showActivitiesScreen: () => void;
16
+ closeScreen: () => void;
17
+ };
18
+ export declare const useScreen: () => UseScreenResult;
19
+ export {};
20
+ //# sourceMappingURL=screenAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/state/screenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAatG,KAAK,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAE5C,KAAK,sBAAsB,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE;SACX,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;KACvE,CAAC;CACH,CAAC;AAmBF,MAAM,MAAM,eAAe,GAAG;IAE5B,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,qBAAqB,EAAE,CAAC,WAAW,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrE,uBAAuB,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzE,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,eAoD5B,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { atom } from 'jotai';
3
+ import { useAtom } from '../../store.js';
4
+ import 'react';
5
+
6
+ const screenAtom = atom(null);
7
+ const useScreen = () => {
8
+ const $ = distExports.c(19);
9
+ const [screen, setScreen] = useAtom(screenAtom);
10
+ let t0;
11
+ if ($[0] !== setScreen) {
12
+ t0 = () => {
13
+ setScreen(null);
14
+ };
15
+ $[0] = setScreen;
16
+ $[1] = t0;
17
+ } else {
18
+ t0 = $[1];
19
+ }
20
+ const closeScreen = t0;
21
+ let t1;
22
+ if ($[2] !== setScreen) {
23
+ t1 = (screenProps) => {
24
+ setScreen({
25
+ screenType: "selectToken",
26
+ screenProps: {
27
+ selectToken: screenProps
28
+ }
29
+ });
30
+ };
31
+ $[2] = setScreen;
32
+ $[3] = t1;
33
+ } else {
34
+ t1 = $[3];
35
+ }
36
+ const showSelectTokenScreen = t1;
37
+ let t2;
38
+ if ($[4] !== setScreen) {
39
+ t2 = (screenProps_0) => {
40
+ setScreen({
41
+ screenType: "tradeOverview",
42
+ screenProps: {
43
+ tradeOverview: screenProps_0
44
+ }
45
+ });
46
+ };
47
+ $[4] = setScreen;
48
+ $[5] = t2;
49
+ } else {
50
+ t2 = $[5];
51
+ }
52
+ const showTradeOverviewScreen = t2;
53
+ let t3;
54
+ if ($[6] !== setScreen) {
55
+ t3 = () => {
56
+ setScreen({
57
+ screenType: "activities"
58
+ });
59
+ };
60
+ $[6] = setScreen;
61
+ $[7] = t3;
62
+ } else {
63
+ t3 = $[7];
64
+ }
65
+ const showActivitiesScreen = t3;
66
+ let t4;
67
+ if ($[8] !== closeScreen || $[9] !== showActivitiesScreen || $[10] !== showSelectTokenScreen || $[11] !== showTradeOverviewScreen) {
68
+ t4 = {
69
+ closeScreen,
70
+ showSelectTokenScreen,
71
+ showTradeOverviewScreen,
72
+ showActivitiesScreen
73
+ };
74
+ $[8] = closeScreen;
75
+ $[9] = showActivitiesScreen;
76
+ $[10] = showSelectTokenScreen;
77
+ $[11] = showTradeOverviewScreen;
78
+ $[12] = t4;
79
+ } else {
80
+ t4 = $[12];
81
+ }
82
+ const {
83
+ closeScreen: closeScreen_0,
84
+ showSelectTokenScreen: showSelectTokenScreen_0,
85
+ showTradeOverviewScreen: showTradeOverviewScreen_0,
86
+ showActivitiesScreen: showActivitiesScreen_0
87
+ } = t4;
88
+ let t5;
89
+ if ($[13] !== closeScreen_0 || $[14] !== screen || $[15] !== showActivitiesScreen_0 || $[16] !== showSelectTokenScreen_0 || $[17] !== showTradeOverviewScreen_0) {
90
+ t5 = {
91
+ screen,
92
+ closeScreen: closeScreen_0,
93
+ showSelectTokenScreen: showSelectTokenScreen_0,
94
+ showTradeOverviewScreen: showTradeOverviewScreen_0,
95
+ showActivitiesScreen: showActivitiesScreen_0
96
+ };
97
+ $[13] = closeScreen_0;
98
+ $[14] = screen;
99
+ $[15] = showActivitiesScreen_0;
100
+ $[16] = showSelectTokenScreen_0;
101
+ $[17] = showTradeOverviewScreen_0;
102
+ $[18] = t5;
103
+ } else {
104
+ t5 = $[18];
105
+ }
106
+ return t5;
107
+ };
108
+
109
+ export { useScreen };
110
+ //# sourceMappingURL=screenAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenAtom.js","sources":["../../../../src/core/screen/state/screenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport type { screenByType } from \"../screenByType\";\nimport { useMemo } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\ntype ScreenPropsWithoutUnknown<\n SType extends string,\n STypeProps,\n> = unknown extends STypeProps\n ? unknown\n : {\n screenProps: {\n [key in SType]: STypeProps;\n };\n };\n\ntype ScreenType = keyof typeof screenByType;\n\ntype PermissibleScreenState = {\n screenType: ScreenType;\n screenProps?: {\n [key in ScreenType]?: React.ComponentProps<(typeof screenByType)[key]>;\n };\n};\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\ntype FilledScreenState = {\n [Type in ScreenType]: Prettify<\n {\n screenType: Type;\n } & ScreenPropsWithoutUnknown<\n Type,\n React.ComponentProps<(typeof screenByType)[Type]>\n >\n >;\n}[ScreenType];\n\ntype ScreenState = FilledScreenState | null;\n\nconst screenAtom = atom<ScreenState>(null);\n\nexport type UseScreenResult = {\n // allow to destructure without \"screenType\" in screen.screenProps checks\n screen: PermissibleScreenState | null;\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n closeScreen: () => void;\n};\n\nexport const useScreen = (): UseScreenResult => {\n const [screen, setScreen] = useAtom(screenAtom);\n\n const {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n } = useMemo(() => {\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseScreenResult[\"showSelectTokenScreen\"] = (\n screenProps\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps: { selectToken: screenProps },\n });\n };\n\n const showTradeOverviewScreen: UseScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps: { tradeOverview: screenProps },\n });\n };\n\n const showActivitiesScreen: UseScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n }, [setScreen]);\n\n return {\n screen,\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n};\n"],"names":["screenAtom","atom","useScreen","$","_c","screen","setScreen","useAtom","t0","closeScreen","t1","screenProps","screenType","selectToken","showSelectTokenScreen","t2","screenProps_0","tradeOverview","showTradeOverviewScreen","t3","showActivitiesScreen","t4","closeScreen_0","showSelectTokenScreen_0","showTradeOverviewScreen_0","showActivitiesScreen_0","t5"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export declare const swapChainToAtom: import('jotai').WritableAtom<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130 | undefined, [newChainTo: 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130], void>;
2
2
  export declare const useSwapChainTo: () => 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130 | undefined;
3
+ export declare const limitChainToAtom: import('jotai').WritableAtom<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130 | undefined, [newChainTo: 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130], void>;
4
+ export declare const useLimitChainTo: () => 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130 | undefined;
3
5
  //# sourceMappingURL=chainToAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainToAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/chainToAtom.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,eAAe,sLAiC3B,CAAC;AAEF,eAAO,MAAM,cAAc,8EAE1B,CAAC"}
1
+ {"version":3,"file":"chainToAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/chainToAtom.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,sLAmC3B,CAAC;AAEF,eAAO,MAAM,cAAc,8EAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,sLAmC5B,CAAC;AAEF,eAAO,MAAM,eAAe,8EAE3B,CAAC"}
@@ -2,11 +2,11 @@ import { atom } from 'jotai';
2
2
  import { useAtomValue } from '../store.js';
3
3
  import { swapTokenToAtom, swapTokenFromAtom } from '../inputs/state/selectedTokenAtom.js';
4
4
  import { pickDefaultTokenPair } from '../../tokens/defaultTokens.js';
5
- import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
6
5
  import { findFirstTokenFromAcross } from '../across/utils.js';
7
6
  import { areTokensSame } from '../../tokens/utils/areTokensSame.js';
8
7
  import { setSwapModeAtom } from '../../components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js';
9
8
  import { allTokensByChainAtom } from '../../tokens/state/allTokensByChainAtom.js';
9
+ import { limitTokenToAtom, limitTokenFromAtom } from '../limit/state/limitTokenAtoms.js';
10
10
 
11
11
  const swapChainToAtom = atom(
12
12
  // chainTo always follows tokenTo network (either SupportedChainId or undefined)
@@ -14,17 +14,18 @@ const swapChainToAtom = atom(
14
14
  // set(chainToAtom) = (chainTo) => set(tokenToAtom to default token for that chain)
15
15
  (get, set, newChainTo) => {
16
16
  const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(newChainTo, "swap");
17
- const appChainId = wagmiConfig.state.chainId;
18
- if (appChainId !== newChainTo) {
17
+ const tokenFrom = get(swapTokenFromAtom);
18
+ const srcChainId = tokenFrom.network;
19
+ if (srcChainId !== newChainTo) {
19
20
  const maybeAcrossToken = findFirstTokenFromAcross({
20
- fromChainId: appChainId,
21
+ fromChainId: srcChainId,
21
22
  toChainId: newChainTo,
22
- listByChainId: get(allTokensByChainAtom).listByChainId
23
+ listByChainId: get(allTokensByChainAtom).listByChainId,
24
+ mode: "swap"
23
25
  });
24
26
  set(swapTokenToAtom, maybeAcrossToken);
25
27
  set(setSwapModeAtom, "delta");
26
28
  } else {
27
- const tokenFrom = get(swapTokenFromAtom);
28
29
  const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo) ? defaultTokenFrom : defaultTokenTo;
29
30
  set(swapTokenToAtom, newTokenTo);
30
31
  }
@@ -33,6 +34,35 @@ const swapChainToAtom = atom(
33
34
  const useSwapChainTo = () => {
34
35
  return useAtomValue(swapChainToAtom);
35
36
  };
37
+ const limitChainToAtom = atom(
38
+ // chainTo always follows tokenTo network (either SupportedChainId or undefined)
39
+ (get) => get(limitTokenToAtom)?.network,
40
+ // set(chainToAtom) = (chainTo) => set(tokenToAtom to default token for that chain)
41
+ (get, set, newChainTo) => {
42
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(
43
+ newChainTo,
44
+ "limit"
45
+ // @TODO check that default tokenTo can be crosschain swapped
46
+ );
47
+ const tokenFrom = get(limitTokenFromAtom);
48
+ const srcChainId = tokenFrom.network;
49
+ if (srcChainId !== newChainTo) {
50
+ const maybeAcrossToken = findFirstTokenFromAcross({
51
+ fromChainId: srcChainId,
52
+ toChainId: newChainTo,
53
+ listByChainId: get(allTokensByChainAtom).listByChainId,
54
+ mode: "limit"
55
+ });
56
+ set(limitTokenToAtom, maybeAcrossToken);
57
+ } else {
58
+ const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo) ? defaultTokenFrom : defaultTokenTo;
59
+ set(limitTokenToAtom, newTokenTo);
60
+ }
61
+ }
62
+ );
63
+ const useLimitChainTo = () => {
64
+ return useAtomValue(limitChainToAtom);
65
+ };
36
66
 
37
- export { swapChainToAtom, useSwapChainTo };
67
+ export { limitChainToAtom, swapChainToAtom, useLimitChainTo, useSwapChainTo };
38
68
  //# sourceMappingURL=chainToAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainToAtom.js","sources":["../../../src/core/state/chainToAtom.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"../inputs/state/selectedTokenAtom\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { findFirstTokenFromAcross } from \"../across/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\n\nexport const swapChainToAtom = atom(\n // chainTo always follows tokenTo network (either SupportedChainId or undefined)\n (get) => get(swapTokenToAtom)?.network,\n // set(chainToAtom) = (chainTo) => set(tokenToAtom to default token for that chain)\n (get, set, newChainTo: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newChainTo,\n \"swap\"\n );\n\n const appChainId = wagmiConfig.state.chainId;\n\n // cross-chain? try to set the first token from the across list as tokenTo\n // otherwise tokenTo will be reset\n if (appChainId !== newChainTo) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: appChainId,\n toChainId: newChainTo,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n });\n\n set(swapTokenToAtom, maybeAcrossToken);\n set(setSwapModeAtom, \"delta\");\n } else {\n // single chain? set tokenTo to one of the default tokens\n const tokenFrom = get(swapTokenFromAtom);\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n\n set(swapTokenToAtom, newTokenTo);\n }\n }\n);\n\nexport const useSwapChainTo = () => {\n return useAtomValue(swapChainToAtom);\n};\n"],"names":["swapChainToAtom","atom","get","swapTokenToAtom","network","set","newChainTo","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","appChainId","wagmiConfig","state","chainId","maybeAcrossToken","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","allTokensByChainAtom","setSwapModeAtom","tokenFrom","swapTokenFromAtom","newTokenTo","areTokensSame","useSwapChainTo","useAtomValue"],"mappings":";;;;;;;;;;AAcO,MAAMA,eAAAA,GAAkBC,IAAAA;AAAAA;AAAAA,EAE5BC,CAAAA,GAAAA,KAAQA,GAAAA,CAAIC,eAAe,CAAA,EAAGC,OAAAA;AAAAA;AAAAA,EAE/B,CAACF,GAAAA,EAAKG,GAAAA,EAAKC,UAAAA,KAAiC;AAC1C,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,cAAc,CAAA,GAAIC,oBAAAA,CACzCH,YACA,MACF,CAAA;AAEA,IAAA,MAAMI,UAAAA,GAAaC,YAAYC,KAAAA,CAAMC,OAAAA;AAIrC,IAAA,IAAIH,eAAeJ,UAAAA,EAAY;AAC7B,MAAA,MAAMQ,mBAAmBC,wBAAAA,CAAyB;AAAA,QAChDC,WAAAA,EAAaN,UAAAA;AAAAA,QACbO,SAAAA,EAAWX,UAAAA;AAAAA,QACXY,aAAAA,EAAehB,GAAAA,CAAIiB,oBAAoB,CAAA,CAAED;AAAAA,OAC1C,CAAA;AAEDb,MAAAA,GAAAA,CAAIF,iBAAiBW,gBAAgB,CAAA;AACrCT,MAAAA,GAAAA,CAAIe,iBAAiB,OAAO,CAAA;AAAA,IAC9B,CAAA,MAAO;AAEL,MAAA,MAAMC,SAAAA,GAAYnB,IAAIoB,iBAAiB,CAAA;AACvC,MAAA,MAAMC,UAAAA,GAAaC,aAAAA,CAAcH,SAAAA,EAAWb,cAAc,IACtDD,gBAAAA,GACAC,cAAAA;AAEJH,MAAAA,GAAAA,CAAIF,iBAAiBoB,UAAU,CAAA;AAAA,IACjC;AAAA,EACF;AACF;AAEO,MAAME,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAa1B,eAAe,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"chainToAtom.js","sources":["../../../src/core/state/chainToAtom.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"../inputs/state/selectedTokenAtom\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { findFirstTokenFromAcross } from \"../across/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"../limit/state/limitTokenAtoms\";\n\nexport const swapChainToAtom = atom(\n // chainTo always follows tokenTo network (either SupportedChainId or undefined)\n (get) => get(swapTokenToAtom)?.network,\n // set(chainToAtom) = (chainTo) => set(tokenToAtom to default token for that chain)\n (get, set, newChainTo: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newChainTo,\n \"swap\"\n );\n\n const tokenFrom = get(swapTokenFromAtom);\n const srcChainId = tokenFrom.network;\n\n // cross-chain? try to set the first token from the across list as tokenTo\n // otherwise tokenTo will be reset\n if (srcChainId !== newChainTo) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: srcChainId,\n toChainId: newChainTo,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n\n set(swapTokenToAtom, maybeAcrossToken);\n set(setSwapModeAtom, \"delta\");\n } else {\n // single chain? set tokenTo to one of the default tokens\n\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n\n set(swapTokenToAtom, newTokenTo);\n }\n }\n);\n\nexport const useSwapChainTo = () => {\n return useAtomValue(swapChainToAtom);\n};\n\nexport const limitChainToAtom = atom(\n // chainTo always follows tokenTo network (either SupportedChainId or undefined)\n (get) => get(limitTokenToAtom)?.network,\n // set(chainToAtom) = (chainTo) => set(tokenToAtom to default token for that chain)\n (get, set, newChainTo: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newChainTo,\n \"limit\"\n // @TODO check that default tokenTo can be crosschain swapped\n );\n\n const tokenFrom = get(limitTokenFromAtom);\n\n const srcChainId = tokenFrom.network;\n\n // cross-chain? try to set the first token from the across list as tokenTo\n // otherwise tokenTo will be reset\n if (srcChainId !== newChainTo) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: srcChainId,\n toChainId: newChainTo,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n set(limitTokenToAtom, maybeAcrossToken);\n } else {\n // single chain? set tokenTo to one of the default tokens\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n\n set(limitTokenToAtom, newTokenTo);\n }\n }\n);\n\nexport const useLimitChainTo = () => {\n return useAtomValue(limitChainToAtom);\n};\n"],"names":["swapChainToAtom","atom","get","swapTokenToAtom","network","set","newChainTo","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","tokenFrom","swapTokenFromAtom","srcChainId","maybeAcrossToken","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","allTokensByChainAtom","mode","setSwapModeAtom","newTokenTo","areTokensSame","useSwapChainTo","useAtomValue","limitChainToAtom","limitTokenToAtom","limitTokenFromAtom","useLimitChainTo"],"mappings":";;;;;;;;;;AAiBO,MAAMA,eAAAA,GAAkBC,IAAAA;AAAAA;AAAAA,EAE5BC,CAAAA,GAAAA,KAAQA,GAAAA,CAAIC,eAAe,CAAA,EAAGC,OAAAA;AAAAA;AAAAA,EAE/B,CAACF,GAAAA,EAAKG,GAAAA,EAAKC,UAAAA,KAAiC;AAC1C,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,cAAc,CAAA,GAAIC,oBAAAA,CACzCH,YACA,MACF,CAAA;AAEA,IAAA,MAAMI,SAAAA,GAAYR,IAAIS,iBAAiB,CAAA;AACvC,IAAA,MAAMC,aAAaF,SAAAA,CAAUN,OAAAA;AAI7B,IAAA,IAAIQ,eAAeN,UAAAA,EAAY;AAC7B,MAAA,MAAMO,mBAAmBC,wBAAAA,CAAyB;AAAA,QAChDC,WAAAA,EAAaH,UAAAA;AAAAA,QACbI,SAAAA,EAAWV,UAAAA;AAAAA,QACXW,aAAAA,EAAef,GAAAA,CAAIgB,oBAAoB,CAAA,CAAED,aAAAA;AAAAA,QACzCE,IAAAA,EAAM;AAAA,OACP,CAAA;AAEDd,MAAAA,GAAAA,CAAIF,iBAAiBU,gBAAgB,CAAA;AACrCR,MAAAA,GAAAA,CAAIe,iBAAiB,OAAO,CAAA;AAAA,IAC9B,CAAA,MAAO;AAGL,MAAA,MAAMC,UAAAA,GAAaC,aAAAA,CAAcZ,SAAAA,EAAWF,cAAc,IACtDD,gBAAAA,GACAC,cAAAA;AAEJH,MAAAA,GAAAA,CAAIF,iBAAiBkB,UAAU,CAAA;AAAA,IACjC;AAAA,EACF;AACF;AAEO,MAAME,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAaxB,eAAe,CAAA;AAAC;AAG/B,MAAMyB,gBAAAA,GAAmBxB,IAAAA;AAAAA;AAAAA,EAE7BC,CAAAA,GAAAA,KAAQA,GAAAA,CAAIwB,gBAAgB,CAAA,EAAGtB,OAAAA;AAAAA;AAAAA,EAEhC,CAACF,GAAAA,EAAKG,GAAAA,EAAKC,UAAAA,KAAiC;AAC1C,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,cAAc,CAAA,GAAIC,oBAAAA;AAAAA,MACzCH,UAAAA;AAAAA,MACA;AAAA;AAAA,KAEF;AAEA,IAAA,MAAMI,SAAAA,GAAYR,IAAIyB,kBAAkB,CAAA;AAExC,IAAA,MAAMf,aAAaF,SAAAA,CAAUN,OAAAA;AAI7B,IAAA,IAAIQ,eAAeN,UAAAA,EAAY;AAC7B,MAAA,MAAMO,mBAAmBC,wBAAAA,CAAyB;AAAA,QAChDC,WAAAA,EAAaH,UAAAA;AAAAA,QACbI,SAAAA,EAAWV,UAAAA;AAAAA,QACXW,aAAAA,EAAef,GAAAA,CAAIgB,oBAAoB,CAAA,CAAED,aAAAA;AAAAA,QACzCE,IAAAA,EAAM;AAAA,OACP,CAAA;AAEDd,MAAAA,GAAAA,CAAIqB,kBAAkBb,gBAAgB,CAAA;AAAA,IACxC,CAAA,MAAO;AAEL,MAAA,MAAMQ,UAAAA,GAAaC,aAAAA,CAAcZ,SAAAA,EAAWF,cAAc,IACtDD,gBAAAA,GACAC,cAAAA;AAEJH,MAAAA,GAAAA,CAAIqB,kBAAkBL,UAAU,CAAA;AAAA,IAClC;AAAA,EACF;AACF;AAEO,MAAMO,kBAAkBA,MAAA;AAAA,EAAA,OACtBJ,aAAaC,gBAAgB,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CAgD/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAsB3B,CAAC"}
1
+ {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CAgD/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CA2B3B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { atom } from 'jotai';
2
- import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom, excludeUIAtom } from './configAtom.js';
2
+ import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom, excludeUIAtom, devURLsAtom } from './configAtom.js';
3
3
 
4
4
  const setWidgetConfigAtom = atom(null, (_, set, config) => {
5
5
  const enableDelta = typeof config.enableDelta !== "boolean" ? defaultWidgetConfig.enableDelta : config.enableDelta;
@@ -29,11 +29,13 @@ const setSubConfigAtom = atom(null, (_, set, config) => {
29
29
  const tokenLists = !Array.isArray(config.tokenLists) ? defaultSubConfig.tokenLists : config.tokenLists;
30
30
  const tradeModes = !Array.isArray(config.tradeModes) ? defaultSubConfig.tradeModes : config.tradeModes;
31
31
  const excludeUI = !Array.isArray(config.excludeUI) ? defaultSubConfig.excludeUI : config.excludeUI;
32
+ const devURLs = typeof config.devURLs !== "object" || config.devURLs === null ? defaultSubConfig.devURLs : config.devURLs;
32
33
  set(srcChainsAtom, srcChains);
33
34
  set(destChainsAtom, destChains);
34
35
  set(tokenListsAtom, tokenLists);
35
36
  set(tradeModesAtom, tradeModes);
36
37
  set(excludeUIAtom, excludeUI);
38
+ set(devURLsAtom, devURLs);
37
39
  });
38
40
 
39
41
  export { setSubConfigAtom, setWidgetConfigAtom };
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","excludeUI","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom","excludeUIAtom"],"mappings":"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"}
1
+ {"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n devURLsAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n const devURLs =\n typeof config.devURLs !== \"object\" || config.devURLs === null\n ? defaultSubConfig.devURLs\n : config.devURLs;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n set(devURLsAtom, devURLs);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","excludeUI","devURLs","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { WidgetElements, WidgetConfig } from '../types';
1
+ import { WidgetElements, WidgetConfig, DevURLs } from '../types';
2
2
  import { TradeMode } from './tradeModeAtom';
3
3
  export type PrimitiveConfig = Pick<WidgetConfig, "theme" | "enableDelta" | "enableCrossChain" | "partner" | "privyAppId" | "privyClientId" | "debug" | "widgetMode" | "ignoreBadUsdPrice">;
4
- export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI">;
4
+ export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI" | "devURLs">;
5
5
  export declare const defaultWidgetConfig: {
6
6
  readonly theme: "light" | "dark";
7
7
  readonly enableDelta: true;
@@ -52,10 +52,12 @@ export declare const defaultSubConfig: {
52
52
  readonly destChains: never[];
53
53
  readonly tradeModes: never[];
54
54
  readonly excludeUI: never[];
55
+ readonly devURLs: Record<string, never>;
55
56
  };
56
57
  export declare const tokenListsAtom: import('jotai').WritableAtom<string[], [string[]], void>;
57
58
  export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
58
59
  export declare const destChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
59
60
  export declare const tradeModesAtom: import('jotai').WritableAtom<TradeMode[], [TradeMode[]], void>;
60
61
  export declare const excludeUIAtom: import('jotai').WritableAtom<WidgetElements[], [WidgetElements[]], void>;
62
+ export declare const devURLsAtom: import('jotai').WritableAtom<DevURLs, [DevURLs], void>;
61
63
  //# sourceMappingURL=configAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CACvE,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAMM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC"}
1
+ {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACV,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,CACZ,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;CAOM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAUvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { atom } from 'jotai';
2
2
  import { useAtomValue } from '../store.js';
3
- import { emptyArray } from '../../lib/constants/index.js';
3
+ import { emptyArray, emptyObject } from '../../lib/constants/index.js';
4
4
  import { atomWithCompare } from '../../lib/utils/atomWithCompare.js';
5
5
  import { unorderedShallowEqual } from '../../lib/utils/index.js';
6
6
  import { getDefaultTheme } from '../../lib/utils/theme.js';
@@ -24,13 +24,17 @@ const defaultSubConfig = {
24
24
  srcChains: emptyArray,
25
25
  destChains: emptyArray,
26
26
  tradeModes: emptyArray,
27
- excludeUI: emptyArray
27
+ excludeUI: emptyArray,
28
+ devURLs: emptyObject
28
29
  };
29
30
  const tokenListsAtom = atomWithCompare(defaultSubConfig.tokenLists, unorderedShallowEqual);
30
31
  const srcChainsAtom = atomWithCompare(defaultSubConfig.srcChains, unorderedShallowEqual);
31
32
  const destChainsAtom = atomWithCompare(defaultSubConfig.destChains, unorderedShallowEqual);
32
33
  const tradeModesAtom = atomWithCompare(defaultSubConfig.tradeModes, unorderedShallowEqual);
33
34
  const excludeUIAtom = atomWithCompare(defaultSubConfig.excludeUI, unorderedShallowEqual);
35
+ const devURLsAtom = atomWithCompare(defaultSubConfig.devURLs, (a, b) => {
36
+ return a?.apiProxyURL === b?.apiProxyURL && a?.apiURL === b?.apiURL && a?.explorerURL === b?.explorerURL;
37
+ });
34
38
 
35
- export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, excludeUIAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
39
+ export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, devURLsAtom, excludeUIAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
36
40
  //# sourceMappingURL=configAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { WidgetElements, WidgetConfig } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n \"srcChains\" | \"destChains\" | \"tokenLists\" | \"tradeModes\" | \"excludeUI\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom"],"mappings":";;;;;;;AAyCO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ;AACb;AAIO,MAAMK,cAAAA,GAAiBC,eAAAA,CAC5BR,gBAAAA,CAAiBC,UAAAA,EACjBQ,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BR,gBAAAA,CAAiBG,SAAAA,EACjBM,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BR,gBAAAA,CAAiBI,UAAAA,EACjBK,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BR,gBAAAA,CAAiBK,UAAAA,EACjBI,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BR,gBAAAA,CAAiBM,SAAAA,EACjBG,qBACF;;;;"}
1
+ {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { WidgetElements, WidgetConfig, DevURLs } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n (a, b) => {\n // known properties only comparison\n return (\n a?.apiProxyURL === b?.apiProxyURL &&\n a?.apiURL === b?.apiURL &&\n a?.explorerURL === b?.explorerURL\n );\n }\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","devURLs","emptyObject","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","a","b","apiProxyURL","apiURL","explorerURL"],"mappings":";;;;;;;AA8CO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ,UAAAA;AAAAA,EACXK,OAAAA,EAASC;AACX;AAIO,MAAMC,cAAAA,GAAiBC,eAAAA,CAC5BV,gBAAAA,CAAiBC,UAAAA,EACjBU,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BV,gBAAAA,CAAiBG,SAAAA,EACjBQ,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BV,gBAAAA,CAAiBI,UAAAA,EACjBO,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BV,gBAAAA,CAAiBK,UAAAA,EACjBM,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BV,gBAAAA,CAAiBM,SAAAA,EACjBK,qBACF;AAEO,MAAMK,cAAcN,eAAAA,CACzBV,gBAAAA,CAAiBO,OAAAA,EACjB,CAACU,GAAGC,CAAAA,KAAM;AAER,EAAA,OACED,CAAAA,EAAGE,WAAAA,KAAgBD,CAAAA,EAAGC,WAAAA,IACtBF,CAAAA,EAAGG,WAAWF,CAAAA,EAAGE,MAAAA,IACjBH,CAAAA,EAAGI,WAAAA,KAAgBH,CAAAA,EAAGG,WAAAA;AAE1B,CACF;;;;"}
@@ -1,5 +1,2 @@
1
- import { Getter } from 'jotai';
2
- import { SupportedChainId } from '../../lib/web3/wagmi/types';
3
1
  export declare function useActivateConfigEffect(): void;
4
- export declare function getSelectableDestChains(get: Getter, fromChainId: SupportedChainId): SupportedChainId[];
5
2
  //# sourceMappingURL=configEffectAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configEffectAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configEffectAtom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAapC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAgD/D,wBAAgB,uBAAuB,SAEtC;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,gBAAgB,GAC5B,gBAAgB,EAAE,CAkBpB"}
1
+ {"version":3,"file":"configEffectAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configEffectAtom.ts"],"names":[],"mappings":"AA+FA,wBAAgB,uBAAuB,SAEtC"}
@@ -1,16 +1,12 @@
1
1
  import 'jotai';
2
2
  import { useAtom } from '../store.js';
3
3
  import { atomEffect } from 'jotai-effect';
4
- import { swapTokenFromAtom, swapTokenToAtom } from '../inputs/state/selectedTokenAtom.js';
5
4
  import { widgetConfigAtom } from './configAtom.js';
6
- import { isCrossChainAtom } from './isCrosschainAtom.js';
7
- import { enabledDestChainsAtom, enabledSrcChainsAtom } from './enabledChainsAtom.js';
8
- import { getAvailableCrosses } from '../../hooks/useAvailableCrosses.js';
9
- import { deltaEnabledOnAPI } from '../../lib/constants/delta.js';
10
- import { deltaParamAtom } from '../../components/widget/TradeParameters/state/deltaParamAtom.js';
11
- import { computeSelectableDestChains } from '../../hooks/useSelectableDestChains.js';
12
- import { bridgeInfoAtom } from '../../hooks/swap/prices/delta/queries/useBridgeInfo.js';
5
+ import { enabledSrcChainsAtom, enabledDestChainsAtom } from './enabledChainsAtom.js';
6
+ import { bridgeInfosLoadedAtom } from '../../hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js';
13
7
  import { switchChain } from '../../lib/web3/wagmi/switchChain.js';
8
+ import { tradeModeToTokenAtoms } from '../inputs/state/common.js';
9
+ import { getSelectableDestChains } from './getSelectableDestChains.js';
14
10
 
15
11
  const configEffectAtom = atomEffect((get, set) => {
16
12
  const {
@@ -18,40 +14,56 @@ const configEffectAtom = atomEffect((get, set) => {
18
14
  enableDelta
19
15
  } = get(widgetConfigAtom);
20
16
  const enabledSrcChains = get(enabledSrcChainsAtom);
21
- get(bridgeInfoAtom);
22
- const swapTokenFrom = get.peek(swapTokenFromAtom);
23
- const swapTokenTo = get.peek(swapTokenToAtom);
24
- const isCrossChain = get.peek(isCrossChainAtom);
25
- const selectableDestChains = getSelectableDestChains(get.peek, swapTokenFrom.network);
26
- const swapTokenFromNetworkNotEnabled = !enabledSrcChains.includes(swapTokenFrom.network);
27
- const swapTokenToNetworkNotEnabled = swapTokenTo && !selectableDestChains.includes(swapTokenTo.network);
17
+ get(bridgeInfosLoadedAtom);
18
+ get(enabledDestChainsAtom);
19
+ reconcileChainsPair({
20
+ enabledSrcChains,
21
+ enableCrossChain,
22
+ enableDelta,
23
+ get: get.peek,
24
+ set,
25
+ mode: "swap"
26
+ });
27
+ reconcileChainsPair({
28
+ enabledSrcChains,
29
+ enableCrossChain,
30
+ enableDelta,
31
+ get: get.peek,
32
+ set,
33
+ mode: "limit"
34
+ });
35
+ });
36
+ function reconcileChainsPair({
37
+ get,
38
+ set,
39
+ enabledSrcChains,
40
+ enableCrossChain,
41
+ enableDelta,
42
+ mode
43
+ }) {
44
+ const {
45
+ tokenFromAtom,
46
+ tokenToAtom,
47
+ isCrossChainAtom
48
+ } = tradeModeToTokenAtoms[mode];
49
+ const tokenFrom = get(tokenFromAtom);
50
+ const tokenTo = get(tokenToAtom);
51
+ const isCrossChain = get(isCrossChainAtom);
52
+ const selectableDestChains = getSelectableDestChains(get, {
53
+ fromChainId: tokenFrom.network,
54
+ mode
55
+ });
56
+ const tokenFromNetworkNotEnabled = !enabledSrcChains.includes(tokenFrom.network);
57
+ const tokenToNetworkNotEnabled = tokenTo && !selectableDestChains.includes(tokenTo.network);
28
58
  const crossChainTurnedOffWhileActive = (!enableDelta || !enableCrossChain) && isCrossChain;
29
- if (swapTokenFromNetworkNotEnabled) switchChain({
59
+ if (tokenFromNetworkNotEnabled) switchChain({
30
60
  chainId: enabledSrcChains[0]
31
61
  });
32
- if (crossChainTurnedOffWhileActive || swapTokenFromNetworkNotEnabled || swapTokenToNetworkNotEnabled) set(swapTokenToAtom, void 0);
33
- });
62
+ if (crossChainTurnedOffWhileActive || tokenFromNetworkNotEnabled || tokenToNetworkNotEnabled) set(tokenToAtom, void 0);
63
+ }
34
64
  function useActivateConfigEffect() {
35
65
  useAtom(configEffectAtom);
36
66
  }
37
- function getSelectableDestChains(get, fromChainId) {
38
- const availableCrosses = getAvailableCrosses(fromChainId);
39
- const enabledDestChains = get(enabledDestChainsAtom);
40
- const {
41
- enableDelta,
42
- enableCrossChain
43
- } = get(widgetConfigAtom);
44
- const deltaEnabledParam = get(deltaParamAtom);
45
- const deltaEnabledOnChain = deltaEnabledOnAPI[fromChainId];
46
- const deltaEnabledGlobally = enableDelta && deltaEnabledParam && deltaEnabledOnChain;
47
- return computeSelectableDestChains({
48
- fromChainId,
49
- availableCrosses,
50
- enabledDestChains,
51
- enableCrossChain,
52
- deltaEnabledGlobally
53
- });
54
- }
55
67
 
56
- export { getSelectableDestChains, useActivateConfigEffect };
68
+ export { useActivateConfigEffect };
57
69
  //# sourceMappingURL=configEffectAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configEffectAtom.js","sources":["../../../src/core/state/configEffectAtom.ts"],"sourcesContent":["import { type Getter } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport { atomEffect } from \"jotai-effect\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"../inputs/state/selectedTokenAtom\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport { isCrossChainAtom } from \"./isCrosschainAtom\";\nimport {\n enabledSrcChainsAtom,\n enabledDestChainsAtom,\n} from \"./enabledChainsAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nimport { getAvailableCrosses } from \"@/hooks/useAvailableCrosses\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { computeSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { bridgeInfoAtom } from \"@/hooks/swap/prices/delta/queries/useBridgeInfo\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst configEffectAtom = atomEffect((get, set) => {\n const { enableCrossChain, enableDelta } = get(widgetConfigAtom);\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n // subscribe to bridgeInfoAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfoAtom);\n\n const swapTokenFrom = get.peek(swapTokenFromAtom);\n const swapTokenTo = get.peek(swapTokenToAtom);\n const isCrossChain = get.peek(isCrossChainAtom);\n\n const selectableDestChains = getSelectableDestChains(\n get.peek,\n swapTokenFrom.network\n );\n\n const swapTokenFromNetworkNotEnabled = !enabledSrcChains.includes(\n swapTokenFrom.network\n );\n const swapTokenToNetworkNotEnabled =\n swapTokenTo && !selectableDestChains.includes(swapTokenTo.network);\n\n const crossChainTurnedOffWhileActive =\n (!enableDelta || !enableCrossChain) && isCrossChain;\n\n if (swapTokenFromNetworkNotEnabled)\n switchChain({\n chainId: enabledSrcChains[0],\n });\n\n if (\n crossChainTurnedOffWhileActive ||\n swapTokenFromNetworkNotEnabled ||\n swapTokenToNetworkNotEnabled\n )\n set(swapTokenToAtom, undefined);\n});\n\nexport function useActivateConfigEffect() {\n useAtom(configEffectAtom);\n}\n\nexport function getSelectableDestChains(\n get: Getter,\n fromChainId: SupportedChainId\n): SupportedChainId[] {\n const availableCrosses = getAvailableCrosses(fromChainId);\n\n const enabledDestChains = get(enabledDestChainsAtom);\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n const deltaEnabledParam = get(deltaParamAtom);\n\n const deltaEnabledOnChain = deltaEnabledOnAPI[fromChainId];\n const deltaEnabledGlobally =\n enableDelta && deltaEnabledParam && deltaEnabledOnChain;\n\n return computeSelectableDestChains({\n fromChainId,\n availableCrosses,\n enabledDestChains,\n enableCrossChain,\n deltaEnabledGlobally,\n });\n}\n"],"names":["configEffectAtom","atomEffect","get","set","enableCrossChain","enableDelta","widgetConfigAtom","enabledSrcChains","enabledSrcChainsAtom","bridgeInfoAtom","swapTokenFrom","peek","swapTokenFromAtom","swapTokenTo","swapTokenToAtom","isCrossChain","isCrossChainAtom","selectableDestChains","getSelectableDestChains","network","swapTokenFromNetworkNotEnabled","includes","swapTokenToNetworkNotEnabled","crossChainTurnedOffWhileActive","switchChain","chainId","undefined","useActivateConfigEffect","useAtom","fromChainId","availableCrosses","getAvailableCrosses","enabledDestChains","enabledDestChainsAtom","deltaEnabledParam","deltaParamAtom","deltaEnabledOnChain","deltaEnabledOnAPI","deltaEnabledGlobally","computeSelectableDestChains"],"mappings":";;;;;;;;;;;;;;AAsBA,MAAMA,gBAAAA,GAAmBC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAChD,EAAA,MAAM;AAAA,IAAEC,gBAAAA;AAAAA,IAAkBC;AAAAA,GAAY,GAAIH,IAAII,gBAAgB,CAAA;AAE9D,EAAA,MAAMC,gBAAAA,GAAmBL,IAAIM,oBAAoB,CAAA;AAGjDN,EAAAA,GAAAA,CAAIO,cAAc,CAAA;AAElB,EAAA,MAAMC,aAAAA,GAAgBR,GAAAA,CAAIS,IAAAA,CAAKC,iBAAiB,CAAA;AAChD,EAAA,MAAMC,WAAAA,GAAcX,GAAAA,CAAIS,IAAAA,CAAKG,eAAe,CAAA;AAC5C,EAAA,MAAMC,YAAAA,GAAeb,GAAAA,CAAIS,IAAAA,CAAKK,gBAAgB,CAAA;AAE9C,EAAA,MAAMC,oBAAAA,GAAuBC,uBAAAA,CAC3BhB,GAAAA,CAAIS,IAAAA,EACJD,cAAcS,OAChB,CAAA;AAEA,EAAA,MAAMC,8BAAAA,GAAiC,CAACb,gBAAAA,CAAiBc,QAAAA,CACvDX,cAAcS,OAChB,CAAA;AACA,EAAA,MAAMG,+BACJT,WAAAA,IAAe,CAACI,oBAAAA,CAAqBI,QAAAA,CAASR,YAAYM,OAAO,CAAA;AAEnE,EAAA,MAAMI,8BAAAA,GAAAA,CACH,CAAClB,WAAAA,IAAe,CAACD,gBAAAA,KAAqBW,YAAAA;AAEzC,EAAA,IAAIK,gCACFI,WAAAA,CAAY;AAAA,IACVC,OAAAA,EAASlB,iBAAiB,CAAC;AAAA,GAC5B,CAAA;AAEH,EAAA,IACEgB,8BAAAA,IACAH,8BAAAA,IACAE,4BAAAA,EAEAnB,GAAAA,CAAIW,iBAAiBY,MAAS,CAAA;AAClC,CAAC,CAAA;AAEM,SAAAC,uBAAAA,GAAA;AACLC,EAAAA,OAAAA,CAAQ5B,gBAAgB,CAAA;AAAC;AAGpB,SAASkB,uBAAAA,CACdhB,KACA2B,WAAAA,EACoB;AACpB,EAAA,MAAMC,gBAAAA,GAAmBC,oBAAoBF,WAAW,CAAA;AAExD,EAAA,MAAMG,iBAAAA,GAAoB9B,IAAI+B,qBAAqB,CAAA;AACnD,EAAA,MAAM;AAAA,IAAE5B,WAAAA;AAAAA,IAAaD;AAAAA,GAAiB,GAAIF,IAAII,gBAAgB,CAAA;AAC9D,EAAA,MAAM4B,iBAAAA,GAAoBhC,IAAIiC,cAAc,CAAA;AAE5C,EAAA,MAAMC,mBAAAA,GAAsBC,kBAAkBR,WAAW,CAAA;AACzD,EAAA,MAAMS,oBAAAA,GACJjC,eAAe6B,iBAAAA,IAAqBE,mBAAAA;AAEtC,EAAA,OAAOG,2BAAAA,CAA4B;AAAA,IACjCV,WAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAE,iBAAAA;AAAAA,IACA5B,gBAAAA;AAAAA,IACAkC;AAAAA,GACD,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"configEffectAtom.js","sources":["../../../src/core/state/configEffectAtom.ts"],"sourcesContent":["import { type Getter, type Setter } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport { atomEffect } from \"jotai-effect\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport {\n enabledSrcChainsAtom,\n enabledDestChainsAtom,\n type EnabledChains,\n} from \"./enabledChainsAtom\";\nimport { bridgeInfosLoadedAtom } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { getSelectableDestChains } from \"./getSelectableDestChains\";\n\nconst configEffectAtom = atomEffect((get, set) => {\n const { enableCrossChain, enableDelta } = get(widgetConfigAtom);\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n // subscribe to bridgeInfosLoadedAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfosLoadedAtom);\n\n // separately subscribe to enabledDestChainsAtom to have up-to-date selectable dest chains\n get(enabledDestChainsAtom);\n\n reconcileChainsPair({\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n get: get.peek,\n set: set,\n mode: \"swap\",\n });\n\n reconcileChainsPair({\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n get: get.peek,\n set: set,\n mode: \"limit\",\n });\n});\n\ntype ReconcileChainsPairInput = {\n enabledSrcChains: EnabledChains;\n enableCrossChain: boolean;\n enableDelta: boolean;\n get: Getter;\n set: Setter;\n mode: BridgeInfoMode;\n};\n\nfunction reconcileChainsPair({\n get,\n set,\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n mode,\n}: ReconcileChainsPairInput) {\n const { tokenFromAtom, tokenToAtom, isCrossChainAtom } =\n tradeModeToTokenAtoms[mode];\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n const isCrossChain = get(isCrossChainAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode,\n });\n\n const tokenFromNetworkNotEnabled = !enabledSrcChains.includes(\n tokenFrom.network\n );\n const tokenToNetworkNotEnabled =\n tokenTo && !selectableDestChains.includes(tokenTo.network);\n\n const crossChainTurnedOffWhileActive =\n (!enableDelta || !enableCrossChain) && isCrossChain;\n\n if (tokenFromNetworkNotEnabled)\n switchChain({\n chainId: enabledSrcChains[0],\n });\n\n if (\n crossChainTurnedOffWhileActive ||\n tokenFromNetworkNotEnabled ||\n tokenToNetworkNotEnabled\n )\n set(tokenToAtom, undefined);\n}\n\nexport function useActivateConfigEffect() {\n useAtom(configEffectAtom);\n}\n"],"names":["configEffectAtom","atomEffect","get","set","enableCrossChain","enableDelta","widgetConfigAtom","enabledSrcChains","enabledSrcChainsAtom","bridgeInfosLoadedAtom","enabledDestChainsAtom","reconcileChainsPair","peek","mode","tokenFromAtom","tokenToAtom","isCrossChainAtom","tradeModeToTokenAtoms","tokenFrom","tokenTo","isCrossChain","selectableDestChains","getSelectableDestChains","fromChainId","network","tokenFromNetworkNotEnabled","includes","tokenToNetworkNotEnabled","crossChainTurnedOffWhileActive","switchChain","chainId","undefined","useActivateConfigEffect","useAtom"],"mappings":";;;;;;;;;;AAeA,MAAMA,gBAAAA,GAAmBC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAChD,EAAA,MAAM;AAAA,IAAEC,gBAAAA;AAAAA,IAAkBC;AAAAA,GAAY,GAAIH,IAAII,gBAAgB,CAAA;AAE9D,EAAA,MAAMC,gBAAAA,GAAmBL,IAAIM,oBAAoB,CAAA;AAGjDN,EAAAA,GAAAA,CAAIO,qBAAqB,CAAA;AAGzBP,EAAAA,GAAAA,CAAIQ,qBAAqB,CAAA;AAEzBC,EAAAA,mBAAAA,CAAoB;AAAA,IAClBJ,gBAAAA;AAAAA,IACAH,gBAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAH,KAAKA,GAAAA,CAAIU,IAAAA;AAAAA,IACTT,GAAAA;AAAAA,IACAU,IAAAA,EAAM;AAAA,GACP,CAAA;AAEDF,EAAAA,mBAAAA,CAAoB;AAAA,IAClBJ,gBAAAA;AAAAA,IACAH,gBAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAH,KAAKA,GAAAA,CAAIU,IAAAA;AAAAA,IACTT,GAAAA;AAAAA,IACAU,IAAAA,EAAM;AAAA,GACP,CAAA;AACH,CAAC,CAAA;AAWD,SAASF,mBAAAA,CAAoB;AAAA,EAC3BT,GAAAA;AAAAA,EACAC,GAAAA;AAAAA,EACAI,gBAAAA;AAAAA,EACAH,gBAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAQ;AACwB,CAAA,EAAG;AAC3B,EAAA,MAAM;AAAA,IAAEC,aAAAA;AAAAA,IAAeC,WAAAA;AAAAA,IAAaC;AAAAA,GAAiB,GACnDC,sBAAsBJ,IAAI,CAAA;AAC5B,EAAA,MAAMK,SAAAA,GAAYhB,IAAIY,aAAa,CAAA;AACnC,EAAA,MAAMK,OAAAA,GAAUjB,IAAIa,WAAW,CAAA;AAC/B,EAAA,MAAMK,YAAAA,GAAelB,IAAIc,gBAAgB,CAAA;AAEzC,EAAA,MAAMK,oBAAAA,GAAuBC,wBAAwBpB,GAAAA,EAAK;AAAA,IACxDqB,aAAaL,SAAAA,CAAUM,OAAAA;AAAAA,IACvBX;AAAAA,GACD,CAAA;AAED,EAAA,MAAMY,0BAAAA,GAA6B,CAAClB,gBAAAA,CAAiBmB,QAAAA,CACnDR,UAAUM,OACZ,CAAA;AACA,EAAA,MAAMG,2BACJR,OAAAA,IAAW,CAACE,oBAAAA,CAAqBK,QAAAA,CAASP,QAAQK,OAAO,CAAA;AAE3D,EAAA,MAAMI,8BAAAA,GAAAA,CACH,CAACvB,WAAAA,IAAe,CAACD,gBAAAA,KAAqBgB,YAAAA;AAEzC,EAAA,IAAIK,4BACFI,WAAAA,CAAY;AAAA,IACVC,OAAAA,EAASvB,iBAAiB,CAAC;AAAA,GAC5B,CAAA;AAEH,EAAA,IACEqB,8BAAAA,IACAH,0BAAAA,IACAE,wBAAAA,EAEAxB,GAAAA,CAAIY,aAAagB,MAAS,CAAA;AAC9B;AAEO,SAAAC,uBAAAA,GAAA;AACLC,EAAAA,OAAAA,CAAQjC,gBAAgB,CAAA;AAAC;;;;"}