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

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 (503) 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/useMaxButtonProps.d.ts +18 -0
  191. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -0
  192. package/dist/core/inputs/hooks/useMaxButtonProps.js +111 -0
  193. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -0
  194. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  195. package/dist/core/inputs/hooks/useTokenFromInputProps.js +28 -80
  196. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  197. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  198. package/dist/core/inputs/hooks/useTokenToInputProps.js +76 -66
  199. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  200. package/dist/core/inputs/state/common.d.ts +15 -3
  201. package/dist/core/inputs/state/common.d.ts.map +1 -1
  202. package/dist/core/inputs/state/common.js +51 -12
  203. package/dist/core/inputs/state/common.js.map +1 -1
  204. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  205. package/dist/core/inputs/state/inputAmountAtom.js +1 -1
  206. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  207. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  208. package/dist/core/inputs/state/selectedTokenActionsAtom.js +33 -44
  209. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  210. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
  211. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  212. package/dist/core/inputs/state/setTokenByAddressAtom.js +85 -21
  213. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  214. package/dist/core/inputs/state/types.d.ts +9 -1
  215. package/dist/core/inputs/state/types.d.ts.map +1 -1
  216. package/dist/core/limit/state/deadlineAtom.d.ts +10 -2
  217. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  218. package/dist/core/limit/state/deadlineAtom.js +15 -8
  219. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  220. package/dist/core/limit/state/isCrosschainAtom.d.ts +3 -0
  221. package/dist/core/limit/state/isCrosschainAtom.d.ts.map +1 -0
  222. package/dist/core/limit/state/isCrosschainAtom.js +13 -0
  223. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -0
  224. package/dist/core/limit/state/limitInputActionsAtom.d.ts +4 -1
  225. package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
  226. package/dist/core/limit/state/limitInputActionsAtom.js +6 -2
  227. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  228. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  229. package/dist/core/limit/state/limitInputAmountAtom.js +2 -2
  230. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  231. package/dist/core/limit/state/limitTokenAtoms.d.ts +10 -0
  232. package/dist/core/limit/state/limitTokenAtoms.d.ts.map +1 -0
  233. package/dist/core/limit/state/limitTokenAtoms.js +17 -0
  234. package/dist/core/limit/state/limitTokenAtoms.js.map +1 -0
  235. package/dist/core/limit/state/receiverAddressAtom.d.ts +7 -0
  236. package/dist/core/limit/state/receiverAddressAtom.d.ts.map +1 -0
  237. package/dist/core/limit/state/receiverAddressAtom.js +40 -0
  238. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -0
  239. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  240. package/dist/core/limit/state/selectedTokenActionsAtom.js +94 -18
  241. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  242. package/dist/core/limit/state/selectedTokenAtom.d.ts +0 -9
  243. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  244. package/dist/core/limit/state/selectedTokenAtom.js +53 -21
  245. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  246. package/dist/core/limit/state/utils.d.ts +9 -1
  247. package/dist/core/limit/state/utils.d.ts.map +1 -1
  248. package/dist/core/limit/state/utils.js +44 -2
  249. package/dist/core/limit/state/utils.js.map +1 -1
  250. package/dist/core/limit/useLimitRate.d.ts +9 -0
  251. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  252. package/dist/core/limit/useLimitRate.js +145 -8
  253. package/dist/core/limit/useLimitRate.js.map +1 -1
  254. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  255. package/dist/core/limit/useLimitTokenFromInputProps.js +21 -64
  256. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  257. package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
  258. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  259. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  260. package/dist/core/limit/useLimitTokenToInputProps.js +132 -72
  261. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  262. package/dist/core/otc/state/deadlineAtom.d.ts +8 -3
  263. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  264. package/dist/core/otc/state/deadlineAtom.js +16 -10
  265. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  266. package/dist/core/otc/state/otcInputActionsAtom.d.ts +4 -1
  267. package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
  268. package/dist/core/otc/state/otcInputActionsAtom.js +6 -2
  269. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  270. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  271. package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
  272. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  273. package/dist/core/otc/state/receiverAddressAtom.js +1 -1
  274. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  275. package/dist/core/otc/useOtcTokenFromInputProps.js +21 -64
  276. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  277. package/dist/core/screen/hooks/useOnClickOutside.d.ts +2 -0
  278. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -0
  279. package/dist/core/screen/hooks/useOnClickOutside.js +30 -0
  280. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -0
  281. package/dist/core/screen/screenByType.d.ts +7 -0
  282. package/dist/core/screen/screenByType.d.ts.map +1 -0
  283. package/dist/core/screen/screenByType.js +13 -0
  284. package/dist/core/screen/screenByType.js.map +1 -0
  285. package/dist/core/screen/state/screenAtom.d.ts +20 -0
  286. package/dist/core/screen/state/screenAtom.d.ts.map +1 -0
  287. package/dist/core/screen/state/screenAtom.js +110 -0
  288. package/dist/core/screen/state/screenAtom.js.map +1 -0
  289. package/dist/core/state/chainToAtom.d.ts +2 -0
  290. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  291. package/dist/core/state/chainToAtom.js +37 -7
  292. package/dist/core/state/chainToAtom.js.map +1 -1
  293. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  294. package/dist/core/state/configActionsAtom.js +3 -1
  295. package/dist/core/state/configActionsAtom.js.map +1 -1
  296. package/dist/core/state/configAtom.d.ts +4 -2
  297. package/dist/core/state/configAtom.d.ts.map +1 -1
  298. package/dist/core/state/configAtom.js +7 -3
  299. package/dist/core/state/configAtom.js.map +1 -1
  300. package/dist/core/state/configEffectAtom.d.ts +0 -3
  301. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  302. package/dist/core/state/configEffectAtom.js +49 -37
  303. package/dist/core/state/configEffectAtom.js.map +1 -1
  304. package/dist/core/state/enabledChainsAtom.d.ts +3 -0
  305. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
  306. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  307. package/dist/core/state/getSelectableDestChains.d.ts +8 -0
  308. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -0
  309. package/dist/core/state/getSelectableDestChains.js +34 -0
  310. package/dist/core/state/getSelectableDestChains.js.map +1 -0
  311. package/dist/core/types.d.ts +6 -0
  312. package/dist/core/types.d.ts.map +1 -1
  313. package/dist/events/getters/limit.d.ts.map +1 -1
  314. package/dist/events/getters/limit.js +5 -2
  315. package/dist/events/getters/limit.js.map +1 -1
  316. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
  317. package/dist/events/hooks/useOnPriceUpdates.js +37 -25
  318. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  319. package/dist/events/types/formInput.d.ts +1 -1
  320. package/dist/events/types/formInput.d.ts.map +1 -1
  321. package/dist/hooks/batch/useCanBatchTxs.d.ts.map +1 -1
  322. package/dist/hooks/batch/useCanBatchTxs.js +33 -29
  323. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  324. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  325. package/dist/hooks/gas/useGasPrices.js +15 -14
  326. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  327. package/dist/hooks/otc/mutations/useFillOrder.js +6 -1
  328. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  329. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts +1 -1
  330. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  331. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -1
  332. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  333. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  334. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
  335. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
  336. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +24 -0
  337. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
  338. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
  339. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
  340. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
  341. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
  342. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
  343. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
  344. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +12 -0
  345. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
  346. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
  347. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
  348. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +4 -0
  349. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
  350. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +81 -0
  351. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
  352. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +3 -0
  353. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  354. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
  355. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  356. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +1 -1
  357. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  358. package/dist/hooks/swap/prices/usePricesParams.js +8 -12
  359. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  360. package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -1
  361. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  362. package/dist/hooks/swap/prices/useSwapPrices.js +63 -43
  363. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  364. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  365. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  366. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -0
  367. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  368. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +54 -21
  369. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  370. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  371. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  372. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  373. package/dist/hooks/tokens/prices/queries.js +2 -2
  374. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  375. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +3 -1
  376. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  377. package/dist/hooks/tokens/useAllTokensWithFilter.js +25 -22
  378. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  379. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  380. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  381. package/dist/hooks/tokens/useTokensFromAcross.d.ts +3 -1
  382. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  383. package/dist/hooks/tokens/useTokensFromAcross.js +36 -25
  384. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  385. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  386. package/dist/hooks/txs/queries/useTxHistory.js +2 -2
  387. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  388. package/dist/hooks/useAvailableCrosses.d.ts +7 -2
  389. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  390. package/dist/hooks/useAvailableCrosses.js +39 -25
  391. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  392. package/dist/hooks/useBridgeInfo.d.ts +4 -1
  393. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  394. package/dist/hooks/useBridgeInfo.js +26 -11
  395. package/dist/hooks/useBridgeInfo.js.map +1 -1
  396. package/dist/hooks/useClickOutside.d.ts +4 -0
  397. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  398. package/dist/hooks/useClickOutside.js +49 -0
  399. package/dist/hooks/useClickOutside.js.map +1 -0
  400. package/dist/hooks/useIsCrosschainPossible.d.ts +3 -1
  401. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  402. package/dist/hooks/useIsCrosschainPossible.js +33 -22
  403. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  404. package/dist/hooks/useSDK.d.ts.map +1 -1
  405. package/dist/hooks/useSDK.js +11 -11
  406. package/dist/hooks/useSDK.js.map +1 -1
  407. package/dist/hooks/useSelectableDestChains.d.ts +5 -1
  408. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  409. package/dist/hooks/useSelectableDestChains.js +42 -36
  410. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  411. package/dist/lib/constants/index.d.ts +1 -2
  412. package/dist/lib/constants/index.d.ts.map +1 -1
  413. package/dist/lib/constants/index.js +2 -4
  414. package/dist/lib/constants/index.js.map +1 -1
  415. package/dist/lib/constants/urls.d.ts +4 -0
  416. package/dist/lib/constants/urls.d.ts.map +1 -0
  417. package/dist/lib/constants/urls.js +30 -0
  418. package/dist/lib/constants/urls.js.map +1 -0
  419. package/dist/lib/utils/explorer.d.ts.map +1 -1
  420. package/dist/lib/utils/explorer.js +3 -3
  421. package/dist/lib/utils/explorer.js.map +1 -1
  422. package/dist/lib/utils/price.js +1 -1
  423. package/dist/styles.css +22 -22
  424. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  425. package/dist/tokens/utils/sorting.js +3 -0
  426. package/dist/tokens/utils/sorting.js.map +1 -1
  427. package/dist/transactions/state/hooks/useTransactions.js +1 -1
  428. package/package.json +4 -4
  429. package/dist/components/ui/dialog.js +0 -261
  430. package/dist/components/ui/dialog.js.map +0 -1
  431. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts +0 -2
  432. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts.map +0 -1
  433. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js +0 -24
  434. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +0 -1
  435. package/dist/components/widget/Dialog/DialogRoot.js +0 -47
  436. package/dist/components/widget/Dialog/DialogRoot.js.map +0 -1
  437. package/dist/components/widget/Dialog/dialogByType.js +0 -10
  438. package/dist/components/widget/Dialog/dialogByType.js.map +0 -1
  439. package/dist/components/widget/Dialog/state/dialogAtom.js +0 -86
  440. package/dist/components/widget/Dialog/state/dialogAtom.js.map +0 -1
  441. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.d.ts.map +0 -1
  442. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +0 -1
  443. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.d.ts.map +0 -1
  444. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +0 -1
  445. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.d.ts.map +0 -1
  446. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.js.map +0 -1
  447. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +0 -1
  448. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +0 -1
  449. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts +0 -7
  450. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts.map +0 -1
  451. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts +0 -7
  452. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts.map +0 -1
  453. package/dist/components/widget/LimitOrdersDrawer/constants.d.ts.map +0 -1
  454. package/dist/components/widget/LimitOrdersDrawer/constants.js.map +0 -1
  455. package/dist/components/widget/LimitOrdersDrawer/types.d.ts.map +0 -1
  456. package/dist/components/widget/LimitOrdersDrawer/utils.d.ts.map +0 -1
  457. package/dist/components/widget/LimitOrdersDrawer/utils.js.map +0 -1
  458. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.d.ts.map +0 -1
  459. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +0 -1
  460. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +0 -1
  461. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +0 -1
  462. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.d.ts.map +0 -1
  463. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.js.map +0 -1
  464. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.d.ts.map +0 -1
  465. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +0 -1
  466. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts +0 -7
  467. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts.map +0 -1
  468. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts +0 -12
  469. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts.map +0 -1
  470. package/dist/components/widget/OtcOrdersDrawer/constants.d.ts.map +0 -1
  471. package/dist/components/widget/OtcOrdersDrawer/constants.js.map +0 -1
  472. package/dist/components/widget/OtcOrdersDrawer/types.d.ts.map +0 -1
  473. package/dist/components/widget/OtcOrdersDrawer/utils.d.ts.map +0 -1
  474. package/dist/components/widget/OtcOrdersDrawer/utils.js.map +0 -1
  475. package/dist/core/TradeFlowButton.d.ts +0 -27
  476. package/dist/core/TradeFlowButton.d.ts.map +0 -1
  477. package/dist/core/TradeFlowButton.js +0 -963
  478. package/dist/core/TradeFlowButton.js.map +0 -1
  479. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +0 -15
  480. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +0 -1
  481. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -92
  482. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +0 -1
  483. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.d.ts +0 -0
  484. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.js +0 -0
  485. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.d.ts +0 -0
  486. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.js +0 -0
  487. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.d.ts +0 -0
  488. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.js +0 -0
  489. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderListItem.d.ts +0 -0
  490. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.d.ts +0 -0
  491. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.js +0 -0
  492. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/types.d.ts +0 -0
  493. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.d.ts +0 -0
  494. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.js +0 -0
  495. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.d.ts +0 -0
  496. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.js +0 -0
  497. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/OtcOrderDetails.d.ts +0 -0
  498. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.d.ts +0 -0
  499. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.js +0 -0
  500. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderListItem.d.ts +0 -0
  501. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.d.ts +0 -0
  502. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.js +0 -0
  503. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/utils.js +0 -0
@@ -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;;;;"}
@@ -1,3 +1,6 @@
1
+ import { SupportedChainId } from '../../lib/web3/wagmi/types';
2
+ import { NonEmptyArray, Prettify } from 'ts-essentials';
3
+ export type EnabledChains = Prettify<NonEmptyArray<SupportedChainId>>;
1
4
  export declare const enabledSrcChainsAtom: import('jotai').Atom<[1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130, ...(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]]>;
2
5
  export declare const enabledDestChainsAtom: import('jotai').Atom<[1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130, ...(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]]>;
3
6
  export declare const allEnabledChainsAtom: import('jotai').Atom<[1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130, ...(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]]>;
@@ -1 +1 @@
1
- {"version":3,"file":"enabledChainsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/enabledChainsAtom.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,oBAAoB,uJAG/B,CAAC;AACH,eAAO,MAAM,qBAAqB,uJAGhC,CAAC;AACH,eAAO,MAAM,oBAAoB,uJAI/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uIAA2C,CAAC;AAC5E,eAAO,MAAM,oBAAoB,uIAA4C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,uIAA2C,CAAC;AAE5E,eAAO,MAAM,4BAA4B,sEAGxC,CAAC;AAEF,eAAO,MAAM,4BAA4B,sEAGxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,sEAGtC,CAAC"}
1
+ {"version":3,"file":"enabledChainsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/enabledChainsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK7D,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAqCtE,eAAO,MAAM,oBAAoB,uJAG/B,CAAC;AACH,eAAO,MAAM,qBAAqB,uJAGhC,CAAC;AACH,eAAO,MAAM,oBAAoB,uJAI/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uIAA2C,CAAC;AAC5E,eAAO,MAAM,oBAAoB,uIAA4C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,uIAA2C,CAAC;AAE5E,eAAO,MAAM,4BAA4B,sEAGxC,CAAC;AAEF,eAAO,MAAM,4BAA4B,sEAGxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,sEAGtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"enabledChainsAtom.js","sources":["../../../src/core/state/enabledChainsAtom.ts"],"sourcesContent":["import { supportedChainIds as defaultChainIds } from \"@/lib/web3/wagmi/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { destChainsAtom, srcChainsAtom } from \"./configAtom\";\nimport { getLogger } from \"../logger\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { CHAINS_WITH_DELTA } from \"@/lib/constants/delta\";\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\n\ntype EnabledChains = Prettify<NonEmptyArray<SupportedChainId>>;\n\n// with guards against invalid or duplicate chain IDs passed in config\nfunction getEnabledChainsWithFallback(\n chainIds: number[],\n logger?: ReturnType<typeof getLogger>\n): EnabledChains {\n // fallback to defaults\n if (chainIds.length === 0) return defaultChainIds;\n const uniqueChainIds = Array.from(new Set(chainIds));\n\n const detectedUnsupportedChains: number[] = [];\n const uniqueSupportedChainIds = uniqueChainIds.filter((id) => {\n const isSupported = isSupportedChainId(id);\n if (!isSupported) detectedUnsupportedChains.push(id);\n return isSupported;\n });\n\n const isAllUnsupported = !isFilledArray(uniqueSupportedChainIds);\n // log once about unsupported IDs\n if (detectedUnsupportedChains.length > 0 && !isAllUnsupported)\n logger?.warn(\n `Specified unsupported IDs. Supported chain IDs are: ${defaultChainIds.join(\", \")}`\n );\n\n // fallback to defaults\n if (isAllUnsupported) {\n logger?.warn(\n `All specified IDs are unsupported. Supported IDs are: ${defaultChainIds.join(\", \")}`\n );\n return defaultChainIds;\n }\n return uniqueSupportedChainIds;\n}\n\nconst logger = getLogger(\"ChainsState\");\n\nexport const enabledSrcChainsAtom = atom<EnabledChains>((get) => {\n const srcChains = get(srcChainsAtom);\n return getEnabledChainsWithFallback(srcChains, logger);\n});\nexport const enabledDestChainsAtom = atom<EnabledChains>((get) => {\n const destChains = get(destChainsAtom);\n return getEnabledChainsWithFallback(destChains, logger);\n});\nexport const allEnabledChainsAtom = atom<EnabledChains>((get) => {\n const srcChains = get(enabledSrcChainsAtom);\n const destChains = get(enabledDestChainsAtom);\n return getEnabledChainsWithFallback([...srcChains, ...destChains]);\n});\n\nexport const useEnabledSrcChains = () => useAtomValue(enabledSrcChainsAtom);\nexport const useEnabledDestChains = () => useAtomValue(enabledDestChainsAtom);\nexport const useAllEnabledChains = () => useAtomValue(allEnabledChainsAtom);\n\nexport const useAllEnabledChainsWithDelta = () => {\n const enabledChains = useAllEnabledChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_DELTA.includes(chainId));\n};\n\nexport const useEnabledSrcChainsWithDelta = () => {\n const enabledChains = useEnabledSrcChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_DELTA.includes(chainId));\n};\n\nexport const useEnabledSrcChainsWithOTC = () => {\n const enabledChains = useEnabledSrcChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_OTC.includes(chainId));\n};\n"],"names":["getEnabledChainsWithFallback","chainIds","logger","length","defaultChainIds","uniqueChainIds","Array","from","Set","detectedUnsupportedChains","uniqueSupportedChainIds","filter","id","isSupported","isSupportedChainId","push","isAllUnsupported","isFilledArray","warn","join","getLogger","enabledSrcChainsAtom","atom","get","srcChains","srcChainsAtom","enabledDestChainsAtom","destChains","destChainsAtom","allEnabledChainsAtom","useEnabledSrcChains","useAtomValue","useEnabledDestChains","useAllEnabledChains","useAllEnabledChainsWithDelta","$","_c","enabledChains","t0","_temp","useEnabledSrcChainsWithDelta","_temp2","useEnabledSrcChainsWithOTC","_temp3","chainId","CHAINS_WITH_DELTA","includes","CHAINS_WITH_OTC"],"mappings":"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"}
1
+ {"version":3,"file":"enabledChainsAtom.js","sources":["../../../src/core/state/enabledChainsAtom.ts"],"sourcesContent":["import { supportedChainIds as defaultChainIds } from \"@/lib/web3/wagmi/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { destChainsAtom, srcChainsAtom } from \"./configAtom\";\nimport { getLogger } from \"../logger\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { CHAINS_WITH_DELTA } from \"@/lib/constants/delta\";\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\n\nexport type EnabledChains = Prettify<NonEmptyArray<SupportedChainId>>;\n\n// with guards against invalid or duplicate chain IDs passed in config\nfunction getEnabledChainsWithFallback(\n chainIds: number[],\n logger?: ReturnType<typeof getLogger>\n): EnabledChains {\n // fallback to defaults\n if (chainIds.length === 0) return defaultChainIds;\n const uniqueChainIds = Array.from(new Set(chainIds));\n\n const detectedUnsupportedChains: number[] = [];\n const uniqueSupportedChainIds = uniqueChainIds.filter((id) => {\n const isSupported = isSupportedChainId(id);\n if (!isSupported) detectedUnsupportedChains.push(id);\n return isSupported;\n });\n\n const isAllUnsupported = !isFilledArray(uniqueSupportedChainIds);\n // log once about unsupported IDs\n if (detectedUnsupportedChains.length > 0 && !isAllUnsupported)\n logger?.warn(\n `Specified unsupported IDs. Supported chain IDs are: ${defaultChainIds.join(\", \")}`\n );\n\n // fallback to defaults\n if (isAllUnsupported) {\n logger?.warn(\n `All specified IDs are unsupported. Supported IDs are: ${defaultChainIds.join(\", \")}`\n );\n return defaultChainIds;\n }\n return uniqueSupportedChainIds;\n}\n\nconst logger = getLogger(\"ChainsState\");\n\nexport const enabledSrcChainsAtom = atom<EnabledChains>((get) => {\n const srcChains = get(srcChainsAtom);\n return getEnabledChainsWithFallback(srcChains, logger);\n});\nexport const enabledDestChainsAtom = atom<EnabledChains>((get) => {\n const destChains = get(destChainsAtom);\n return getEnabledChainsWithFallback(destChains, logger);\n});\nexport const allEnabledChainsAtom = atom<EnabledChains>((get) => {\n const srcChains = get(enabledSrcChainsAtom);\n const destChains = get(enabledDestChainsAtom);\n return getEnabledChainsWithFallback([...srcChains, ...destChains]);\n});\n\nexport const useEnabledSrcChains = () => useAtomValue(enabledSrcChainsAtom);\nexport const useEnabledDestChains = () => useAtomValue(enabledDestChainsAtom);\nexport const useAllEnabledChains = () => useAtomValue(allEnabledChainsAtom);\n\nexport const useAllEnabledChainsWithDelta = () => {\n const enabledChains = useAllEnabledChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_DELTA.includes(chainId));\n};\n\nexport const useEnabledSrcChainsWithDelta = () => {\n const enabledChains = useEnabledSrcChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_DELTA.includes(chainId));\n};\n\nexport const useEnabledSrcChainsWithOTC = () => {\n const enabledChains = useEnabledSrcChains();\n return enabledChains.filter((chainId) => CHAINS_WITH_OTC.includes(chainId));\n};\n"],"names":["getEnabledChainsWithFallback","chainIds","logger","length","defaultChainIds","uniqueChainIds","Array","from","Set","detectedUnsupportedChains","uniqueSupportedChainIds","filter","id","isSupported","isSupportedChainId","push","isAllUnsupported","isFilledArray","warn","join","getLogger","enabledSrcChainsAtom","atom","get","srcChains","srcChainsAtom","enabledDestChainsAtom","destChains","destChainsAtom","allEnabledChainsAtom","useEnabledSrcChains","useAtomValue","useEnabledDestChains","useAllEnabledChains","useAllEnabledChainsWithDelta","$","_c","enabledChains","t0","_temp","useEnabledSrcChainsWithDelta","_temp2","useEnabledSrcChainsWithOTC","_temp3","chainId","CHAINS_WITH_DELTA","includes","CHAINS_WITH_OTC"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SupportedChainId } from '../../lib/web3/wagmi/types';
2
+ import { BridgeInfoMode } from '../../hooks/swap/prices/delta/queries/bridgeInfo/types';
3
+ import { Getter } from 'jotai';
4
+ export declare function getSelectableDestChains(get: Getter, { fromChainId, mode }: {
5
+ fromChainId: SupportedChainId;
6
+ mode: BridgeInfoMode;
7
+ }): SupportedChainId[];
8
+ //# sourceMappingURL=getSelectableDestChains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSelectableDestChains.d.ts","sourceRoot":"","sources":["../../../src/core/state/getSelectableDestChains.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAAE,WAAW,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC7E,gBAAgB,EAAE,CAkBpB"}
@@ -0,0 +1,34 @@
1
+ import { computeSelectableDestChains } from '../../hooks/useSelectableDestChains.js';
2
+ import { deltaEnabledOnAPI } from '../../lib/constants/delta.js';
3
+ import { widgetConfigAtom } from './configAtom.js';
4
+ import { deltaParamAtom } from '../../components/widget/TradeParameters/state/deltaParamAtom.js';
5
+ import { getAvailableCrosses } from '../../hooks/useAvailableCrosses.js';
6
+ import { enabledDestChainsAtom } from './enabledChainsAtom.js';
7
+
8
+ function getSelectableDestChains(get, {
9
+ fromChainId,
10
+ mode
11
+ }) {
12
+ const availableCrosses = getAvailableCrosses({
13
+ fromChainId,
14
+ mode
15
+ });
16
+ const enabledDestChains = get(enabledDestChainsAtom);
17
+ const {
18
+ enableDelta,
19
+ enableCrossChain
20
+ } = get(widgetConfigAtom);
21
+ const deltaEnabledParam = get(deltaParamAtom);
22
+ const deltaEnabledOnChain = deltaEnabledOnAPI[fromChainId];
23
+ const deltaEnabledGlobally = enableDelta && deltaEnabledParam && deltaEnabledOnChain;
24
+ return computeSelectableDestChains({
25
+ fromChainId,
26
+ availableCrosses,
27
+ enabledDestChains,
28
+ enableCrossChain,
29
+ deltaEnabledGlobally
30
+ });
31
+ }
32
+
33
+ export { getSelectableDestChains };
34
+ //# sourceMappingURL=getSelectableDestChains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSelectableDestChains.js","sources":["../../../src/core/state/getSelectableDestChains.ts"],"sourcesContent":["import { computeSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getAvailableCrosses } from \"@/hooks/useAvailableCrosses\";\nimport { enabledDestChainsAtom } from \"./enabledChainsAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport type { Getter } from \"jotai\";\n\nexport function getSelectableDestChains(\n get: Getter,\n { fromChainId, mode }: { fromChainId: SupportedChainId; mode: BridgeInfoMode }\n): SupportedChainId[] {\n const availableCrosses = getAvailableCrosses({ fromChainId, mode });\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":["getSelectableDestChains","get","fromChainId","mode","availableCrosses","getAvailableCrosses","enabledDestChains","enabledDestChainsAtom","enableDelta","enableCrossChain","widgetConfigAtom","deltaEnabledParam","deltaParamAtom","deltaEnabledOnChain","deltaEnabledOnAPI","deltaEnabledGlobally","computeSelectableDestChains"],"mappings":";;;;;;;AAUO,SAASA,wBACdC,GAAAA,EACA;AAAA,EAAEC,WAAAA;AAAAA,EAAaC;AAA8D,CAAA,EACzD;AACpB,EAAA,MAAMC,mBAAmBC,mBAAAA,CAAoB;AAAA,IAAEH,WAAAA;AAAAA,IAAaC;AAAAA,GAAM,CAAA;AAElE,EAAA,MAAMG,iBAAAA,GAAoBL,IAAIM,qBAAqB,CAAA;AACnD,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC;AAAAA,GAAiB,GAAIR,IAAIS,gBAAgB,CAAA;AAC9D,EAAA,MAAMC,iBAAAA,GAAoBV,IAAIW,cAAc,CAAA;AAE5C,EAAA,MAAMC,mBAAAA,GAAsBC,kBAAkBZ,WAAW,CAAA;AACzD,EAAA,MAAMa,oBAAAA,GACJP,eAAeG,iBAAAA,IAAqBE,mBAAAA;AAEtC,EAAA,OAAOG,2BAAAA,CAA4B;AAAA,IACjCd,WAAAA;AAAAA,IACAE,gBAAAA;AAAAA,IACAE,iBAAAA;AAAAA,IACAG,gBAAAA;AAAAA,IACAM;AAAAA,GACD,CAAA;AACH;;;;"}
@@ -40,7 +40,13 @@ export interface WidgetConfig {
40
40
  tradeModes?: TradeMode[];
41
41
  /** UI elements to exclude. If provided, these elements will be hidden in the widget UI. */
42
42
  excludeUI?: WidgetElements[];
43
+ devURLs?: DevURLs;
43
44
  }
45
+ export type DevURLs = {
46
+ apiURL?: string;
47
+ apiProxyURL?: string;
48
+ explorerURL?: string;
49
+ };
44
50
  interface RequestArguments {
45
51
  readonly method: any;
46
52
  readonly params?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B;AAGD,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/events/getters/limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAqBlE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAanE"}
1
+ {"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/events/getters/limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAwBlE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAanE"}
@@ -1,9 +1,10 @@
1
1
  import { getAccount } from '@wagmi/core';
2
2
  import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
3
- import { limitTokenFromAtom, limitTokenToAtom } from '../../core/limit/state/selectedTokenAtom.js';
3
+ import { limitTokenFromAtom, limitTokenToAtom } from '../../core/limit/state/limitTokenAtoms.js';
4
4
  import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPriceAmountAtom } from '../../core/limit/state/limitInputAmountAtom.js';
5
5
  import { deadlineAtom } from '../../core/limit/state/deadlineAtom.js';
6
6
  import { sanitizeTradeFlowToken } from '../../lib/utils/tradeFlow.js';
7
+ import { limitReceiverAddressAtom } from '../../core/limit/state/receiverAddressAtom.js';
7
8
 
8
9
  function getLimitOrderFormInput(get) {
9
10
  const tokenFrom = get(limitTokenFromAtom);
@@ -12,6 +13,7 @@ function getLimitOrderFormInput(get) {
12
13
  const receiveAmount = get(limitReceiveInputAmountAtom);
13
14
  const limitPrice = get(limitPriceAmountAtom);
14
15
  const orderDeadline = get(deadlineAtom);
16
+ const receiverAddress = get(limitReceiverAddressAtom);
15
17
  return {
16
18
  tokenFrom: sanitizeTradeFlowToken(tokenFrom),
17
19
  tokenTo: tokenTo ? sanitizeTradeFlowToken(tokenTo) : void 0,
@@ -21,7 +23,8 @@ function getLimitOrderFormInput(get) {
21
23
  destChainId: tokenTo?.network,
22
24
  limitPrice,
23
25
  orderDeadline,
24
- form: "limit"
26
+ form: "limit",
27
+ receiverAddress
25
28
  };
26
29
  }
27
30
  function getLimitOrderState(get) {
@@ -1 +1 @@
1
- {"version":3,"file":"limit.js","sources":["../../../src/events/getters/limit.ts"],"sourcesContent":["import type { LimitOrderFormState } from \"../types/common\";\nimport { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { Getter } from \"jotai\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPriceAmountAtom,\n limitReceiveInputAmountAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport { deadlineAtom } from \"@/core/limit/state/deadlineAtom\";\nimport type { LimitFormInput } from \"../types/formInput\";\nimport { sanitizeTradeFlowToken } from \"@/lib/utils/tradeFlow\";\n\nexport function getLimitOrderFormInput(get: Getter): LimitFormInput {\n const tokenFrom = get(limitTokenFromAtom);\n const tokenTo = get(limitTokenToAtom);\n\n const sendAmount = get(limitPayInputAmountAtom);\n const receiveAmount = get(limitReceiveInputAmountAtom);\n\n const limitPrice = get(limitPriceAmountAtom);\n const orderDeadline = get(deadlineAtom);\n\n return {\n tokenFrom: sanitizeTradeFlowToken(tokenFrom),\n tokenTo: tokenTo ? sanitizeTradeFlowToken(tokenTo) : undefined,\n sendAmount,\n receiveAmount,\n srcChainId: tokenFrom.network,\n destChainId: tokenTo?.network,\n limitPrice,\n orderDeadline,\n form: \"limit\",\n };\n}\n\nexport function getLimitOrderState(get: Getter): LimitOrderFormState {\n const formInput = getLimitOrderFormInput(get);\n\n const account = getAccount(wagmiConfig).address;\n\n // for LimitOrders user is the receiver\n const receiverAddress = account;\n\n return {\n ...formInput,\n connectedAccount: account,\n receiverAddress,\n };\n}\n"],"names":["getLimitOrderFormInput","get","tokenFrom","limitTokenFromAtom","tokenTo","limitTokenToAtom","sendAmount","limitPayInputAmountAtom","receiveAmount","limitReceiveInputAmountAtom","limitPrice","limitPriceAmountAtom","orderDeadline","deadlineAtom","sanitizeTradeFlowToken","undefined","srcChainId","network","destChainId","form","getLimitOrderState","formInput","account","getAccount","wagmiConfig","address","receiverAddress","connectedAccount"],"mappings":";;;;;;;AAiBO,SAASA,uBAAuBC,GAAAA,EAA6B;AAClE,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,kBAAkB,CAAA;AACxC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,gBAAgB,CAAA;AAEpC,EAAA,MAAMC,UAAAA,GAAaL,IAAIM,uBAAuB,CAAA;AAC9C,EAAA,MAAMC,aAAAA,GAAgBP,IAAIQ,2BAA2B,CAAA;AAErD,EAAA,MAAMC,UAAAA,GAAaT,IAAIU,oBAAoB,CAAA;AAC3C,EAAA,MAAMC,aAAAA,GAAgBX,IAAIY,YAAY,CAAA;AAEtC,EAAA,OAAO;AAAA,IACLX,SAAAA,EAAWY,uBAAuBZ,SAAS,CAAA;AAAA,IAC3CE,OAAAA,EAASA,OAAAA,GAAUU,sBAAAA,CAAuBV,OAAO,CAAA,GAAIW,MAAAA;AAAAA,IACrDT,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAQ,YAAYd,SAAAA,CAAUe,OAAAA;AAAAA,IACtBC,aAAad,OAAAA,EAASa,OAAAA;AAAAA,IACtBP,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAO,IAAAA,EAAM;AAAA,GACR;AACF;AAEO,SAASC,mBAAmBnB,GAAAA,EAAkC;AACnE,EAAA,MAAMoB,SAAAA,GAAYrB,uBAAuBC,GAAG,CAAA;AAE5C,EAAA,MAAMqB,OAAAA,GAAUC,UAAAA,CAAWC,WAAW,CAAA,CAAEC,OAAAA;AAGxC,EAAA,MAAMC,eAAAA,GAAkBJ,OAAAA;AAExB,EAAA,OAAO;AAAA,IACL,GAAGD,SAAAA;AAAAA,IACHM,gBAAAA,EAAkBL,OAAAA;AAAAA,IAClBI;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"limit.js","sources":["../../../src/events/getters/limit.ts"],"sourcesContent":["import type { LimitOrderFormState } from \"../types/common\";\nimport { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { Getter } from \"jotai\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n limitPayInputAmountAtom,\n limitPriceAmountAtom,\n limitReceiveInputAmountAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport { deadlineAtom } from \"@/core/limit/state/deadlineAtom\";\nimport type { LimitFormInput } from \"../types/formInput\";\nimport { sanitizeTradeFlowToken } from \"@/lib/utils/tradeFlow\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\n\nexport function getLimitOrderFormInput(get: Getter): LimitFormInput {\n const tokenFrom = get(limitTokenFromAtom);\n const tokenTo = get(limitTokenToAtom);\n\n const sendAmount = get(limitPayInputAmountAtom);\n const receiveAmount = get(limitReceiveInputAmountAtom);\n\n const limitPrice = get(limitPriceAmountAtom);\n const orderDeadline = get(deadlineAtom);\n\n const receiverAddress = get(limitReceiverAddressAtom);\n\n return {\n tokenFrom: sanitizeTradeFlowToken(tokenFrom),\n tokenTo: tokenTo ? sanitizeTradeFlowToken(tokenTo) : undefined,\n sendAmount,\n receiveAmount,\n srcChainId: tokenFrom.network,\n destChainId: tokenTo?.network,\n limitPrice,\n orderDeadline,\n form: \"limit\",\n receiverAddress,\n };\n}\n\nexport function getLimitOrderState(get: Getter): LimitOrderFormState {\n const formInput = getLimitOrderFormInput(get);\n\n const account = getAccount(wagmiConfig).address;\n\n // for LimitOrders user is the receiver\n const receiverAddress = account;\n\n return {\n ...formInput,\n connectedAccount: account,\n receiverAddress,\n };\n}\n"],"names":["getLimitOrderFormInput","get","tokenFrom","limitTokenFromAtom","tokenTo","limitTokenToAtom","sendAmount","limitPayInputAmountAtom","receiveAmount","limitReceiveInputAmountAtom","limitPrice","limitPriceAmountAtom","orderDeadline","deadlineAtom","receiverAddress","limitReceiverAddressAtom","sanitizeTradeFlowToken","undefined","srcChainId","network","destChainId","form","getLimitOrderState","formInput","account","getAccount","wagmiConfig","address","connectedAccount"],"mappings":";;;;;;;;AAkBO,SAASA,uBAAuBC,GAAAA,EAA6B;AAClE,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,kBAAkB,CAAA;AACxC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,gBAAgB,CAAA;AAEpC,EAAA,MAAMC,UAAAA,GAAaL,IAAIM,uBAAuB,CAAA;AAC9C,EAAA,MAAMC,aAAAA,GAAgBP,IAAIQ,2BAA2B,CAAA;AAErD,EAAA,MAAMC,UAAAA,GAAaT,IAAIU,oBAAoB,CAAA;AAC3C,EAAA,MAAMC,aAAAA,GAAgBX,IAAIY,YAAY,CAAA;AAEtC,EAAA,MAAMC,eAAAA,GAAkBb,IAAIc,wBAAwB,CAAA;AAEpD,EAAA,OAAO;AAAA,IACLb,SAAAA,EAAWc,uBAAuBd,SAAS,CAAA;AAAA,IAC3CE,OAAAA,EAASA,OAAAA,GAAUY,sBAAAA,CAAuBZ,OAAO,CAAA,GAAIa,MAAAA;AAAAA,IACrDX,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAU,YAAYhB,SAAAA,CAAUiB,OAAAA;AAAAA,IACtBC,aAAahB,OAAAA,EAASe,OAAAA;AAAAA,IACtBT,UAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAS,IAAAA,EAAM,OAAA;AAAA,IACNP;AAAAA,GACF;AACF;AAEO,SAASQ,mBAAmBrB,GAAAA,EAAkC;AACnE,EAAA,MAAMsB,SAAAA,GAAYvB,uBAAuBC,GAAG,CAAA;AAE5C,EAAA,MAAMuB,OAAAA,GAAUC,UAAAA,CAAWC,WAAW,CAAA,CAAEC,OAAAA;AAGxC,EAAA,MAAMb,eAAAA,GAAkBU,OAAAA;AAExB,EAAA,OAAO;AAAA,IACL,GAAGD,SAAAA;AAAAA,IACHK,gBAAAA,EAAkBJ,OAAAA;AAAAA,IAClBV;AAAAA,GACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnPriceUpdates.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,SAqEhC"}
1
+ {"version":3,"file":"useOnPriceUpdates.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"names":[],"mappings":"AAkBA,wBAAgB,iBAAiB,SAyEhC"}
@@ -6,36 +6,48 @@ import { queryClient } from '../../lib/queryClient.js';
6
6
  import { DeltaPriceQueryKeyPrefix, isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
7
7
  import { MarketPriceQueryKeyPrefix } from '../../hooks/swap/prices/market/queries/useMarketPriceQuery.js';
8
8
  import { useCurrentSwapPrice } from '../../hooks/swap/prices/useSwapPrices.js';
9
+ import { useTradeMode } from '../../core/state/tradeModeAtom.js';
9
10
 
10
11
  function useOnPriceUpdates() {
11
- const $ = distExports.c(7);
12
+ const $ = distExports.c(9);
12
13
  const {
13
14
  onPriceChange
14
15
  } = useWidgetEvents();
16
+ const isSwapMode = useTradeMode() === "swap";
17
+ let t0;
18
+ if ($[0] !== isSwapMode) {
19
+ t0 = {
20
+ enabled: isSwapMode
21
+ };
22
+ $[0] = isSwapMode;
23
+ $[1] = t0;
24
+ } else {
25
+ t0 = $[1];
26
+ }
15
27
  const {
16
28
  queryKey
17
- } = useCurrentSwapPrice();
29
+ } = useCurrentSwapPrice(t0);
18
30
  const onPriceChangeRef = useRef(onPriceChange);
19
- let t0;
20
31
  let t1;
21
- if ($[0] !== onPriceChange) {
22
- t0 = () => {
32
+ let t2;
33
+ if ($[2] !== onPriceChange) {
34
+ t1 = () => {
23
35
  onPriceChangeRef.current = onPriceChange;
24
36
  };
25
- t1 = [onPriceChange];
26
- $[0] = onPriceChange;
27
- $[1] = t0;
28
- $[2] = t1;
37
+ t2 = [onPriceChange];
38
+ $[2] = onPriceChange;
39
+ $[3] = t1;
40
+ $[4] = t2;
29
41
  } else {
30
- t0 = $[1];
31
- t1 = $[2];
42
+ t1 = $[3];
43
+ t2 = $[4];
32
44
  }
33
- useLayoutEffect(t0, t1);
45
+ useLayoutEffect(t1, t2);
34
46
  const shouldSubscribe = !!onPriceChange;
35
- let t2;
36
47
  let t3;
37
- if ($[3] !== queryKey || $[4] !== shouldSubscribe) {
38
- t2 = () => {
48
+ let t4;
49
+ if ($[5] !== queryKey || $[6] !== shouldSubscribe) {
50
+ t3 = () => {
39
51
  if (!shouldSubscribe) {
40
52
  return;
41
53
  }
@@ -44,14 +56,14 @@ function useOnPriceUpdates() {
44
56
  enabled: false,
45
57
  notifyOnChangeProps: ["data", "error", "isError", "isLoading", "isFetching"]
46
58
  });
47
- const unsubscribe = observer.subscribe((t4) => {
59
+ const unsubscribe = observer.subscribe((t5) => {
48
60
  const {
49
61
  data: price,
50
62
  isLoading,
51
63
  isFetching,
52
64
  isError,
53
65
  error
54
- } = t4;
66
+ } = t5;
55
67
  let priceMode;
56
68
  if (queryKey[0] === MarketPriceQueryKeyPrefix) {
57
69
  priceMode = "market";
@@ -88,16 +100,16 @@ function useOnPriceUpdates() {
88
100
  });
89
101
  return unsubscribe;
90
102
  };
91
- t3 = [queryKey, shouldSubscribe];
92
- $[3] = queryKey;
93
- $[4] = shouldSubscribe;
94
- $[5] = t2;
95
- $[6] = t3;
103
+ t4 = [queryKey, shouldSubscribe];
104
+ $[5] = queryKey;
105
+ $[6] = shouldSubscribe;
106
+ $[7] = t3;
107
+ $[8] = t4;
96
108
  } else {
97
- t2 = $[5];
98
- t3 = $[6];
109
+ t3 = $[7];
110
+ t4 = $[8];
99
111
  }
100
- useLayoutEffect(t2, t3);
112
+ useLayoutEffect(t3, t4);
101
113
  }
102
114
 
103
115
  export { useOnPriceUpdates };