@velora-dex/widget 0.1.2 → 0.2.0

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 (592) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.d.ts +3 -1
  3. package/dist/components/ui/accordion.d.ts.map +1 -1
  4. package/dist/components/ui/accordion.js +42 -27
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/ui/dialog.js.map +1 -1
  8. package/dist/components/ui/dropdown-menu.js.map +1 -1
  9. package/dist/components/ui/progress.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/tooltip.js.map +1 -1
  12. package/dist/components/web3/AccountButton.js.map +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  14. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  15. package/dist/components/web3/ConnectWallets/index.js +43 -35
  16. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  17. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  20. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  21. package/dist/components/web3/providers.d.ts +3 -0
  22. package/dist/components/web3/providers.d.ts.map +1 -1
  23. package/dist/components/web3/providers.js +18 -3
  24. package/dist/components/web3/providers.js.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/Activities.js +4 -12
  26. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  27. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  28. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Drawers.js +33 -29
  30. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/hooks.js +193 -106
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  35. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  36. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +67 -42
  38. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  39. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  40. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  41. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  42. package/dist/components/widget/DexesList/DexesList.js +3 -14
  43. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  44. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  45. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +131 -115
  46. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  47. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  48. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  49. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +211 -203
  50. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  51. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  52. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  53. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  54. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  55. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  56. package/dist/components/widget/Dialog/state/dialogAtom.js +24 -26
  57. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  58. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  59. package/dist/components/widget/Drawer/index.js.map +1 -1
  60. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  61. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  62. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  63. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  64. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  65. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +84 -66
  66. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  67. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  68. package/dist/components/widget/Line/Line.js.map +1 -1
  69. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  70. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  71. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +28 -30
  72. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  73. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  74. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  75. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  76. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +1 -1
  77. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  78. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +1 -1
  79. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  80. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  81. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  82. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  83. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +10 -3
  84. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  85. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  86. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
  87. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +37 -39
  88. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  89. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  90. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  91. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  92. package/dist/components/widget/SwapRate/SwapRate.js +75 -43
  93. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  94. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  95. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  96. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  97. package/dist/components/widget/TokenInput/EmptyInput.d.ts +1 -1
  98. package/dist/components/widget/TokenInput/EmptyInput.d.ts.map +1 -1
  99. package/dist/components/widget/TokenInput/EmptyInput.js +16 -14
  100. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  101. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  102. package/dist/components/widget/TokenInput/index.js +92 -91
  103. package/dist/components/widget/TokenInput/index.js.map +1 -1
  104. package/dist/components/widget/TokenSwitcher/TokenSwitcher.d.ts.map +1 -1
  105. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +34 -31
  106. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  107. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  108. package/dist/components/widget/TradeOverview/Stepper.js +23 -38
  109. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  110. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  111. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +36 -27
  112. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  113. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +79 -36
  114. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  115. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  116. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -0
  117. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  118. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  119. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  120. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  121. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  122. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  123. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  124. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  125. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  126. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  127. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  128. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  129. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  130. package/dist/components/widget/TransactionDetails/TransactionListItem.js +57 -38
  131. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  132. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  133. package/dist/components/widget/Warning/Warning.js.map +1 -1
  134. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  135. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  136. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  137. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +72 -90
  138. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  139. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  140. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +141 -84
  141. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  142. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  143. package/dist/configurator/Configurator.d.ts.map +1 -1
  144. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +5 -0
  145. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -0
  146. package/dist/configurator/components/CrossChainSwitcher.d.ts +5 -0
  147. package/dist/configurator/components/CrossChainSwitcher.d.ts.map +1 -0
  148. package/dist/configurator/components/DeltaSwitcher.d.ts +5 -0
  149. package/dist/configurator/components/DeltaSwitcher.d.ts.map +1 -0
  150. package/dist/configurator/components/DevTools.d.ts +7 -0
  151. package/dist/configurator/components/DevTools.d.ts.map +1 -0
  152. package/dist/configurator/components/EnabledChainsSelector.d.ts +8 -0
  153. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -0
  154. package/dist/configurator/components/FormPropsInputs.d.ts +6 -0
  155. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -0
  156. package/dist/configurator/components/PanelHeader.d.ts +6 -0
  157. package/dist/configurator/components/PanelHeader.d.ts.map +1 -0
  158. package/dist/configurator/components/PartnerInput.d.ts +5 -0
  159. package/dist/configurator/components/PartnerInput.d.ts.map +1 -0
  160. package/dist/configurator/components/PrivyInputs.d.ts +7 -0
  161. package/dist/configurator/components/PrivyInputs.d.ts.map +1 -0
  162. package/dist/configurator/components/ThemeSwitcher.d.ts +6 -0
  163. package/dist/configurator/components/ThemeSwitcher.d.ts.map +1 -0
  164. package/dist/configurator/components/TokenListsInput.d.ts +5 -0
  165. package/dist/configurator/components/TokenListsInput.d.ts.map +1 -0
  166. package/dist/configurator/components/TradeModesSelector.d.ts +7 -0
  167. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -0
  168. package/dist/configurator/components/WidgetModeSwitcher.d.ts +5 -0
  169. package/dist/configurator/components/WidgetModeSwitcher.d.ts.map +1 -0
  170. package/dist/configurator/components/common/DetailWithTooltip.d.ts +3 -0
  171. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -0
  172. package/dist/configurator/components/common/Input.d.ts +8 -0
  173. package/dist/configurator/components/common/Input.d.ts.map +1 -0
  174. package/dist/configurator/components/common/Switch.d.ts +12 -0
  175. package/dist/configurator/components/common/Switch.d.ts.map +1 -0
  176. package/dist/configurator/state/themeAtom.d.ts +3 -0
  177. package/dist/configurator/state/themeAtom.d.ts.map +1 -0
  178. package/dist/core/ConnectWalletDrawerButton.js +53 -66
  179. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  180. package/dist/core/LimitOrderButton.js.map +1 -1
  181. package/dist/core/LimitOrderDetails.js.map +1 -1
  182. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  183. package/dist/core/OtcOrderButton.js +4 -1
  184. package/dist/core/OtcOrderButton.js.map +1 -1
  185. package/dist/core/OtcOrderDetails.js.map +1 -1
  186. package/dist/core/Toaster.js.map +1 -1
  187. package/dist/core/TradeFlowButton.d.ts.map +1 -1
  188. package/dist/core/TradeFlowButton.js +414 -621
  189. package/dist/core/TradeFlowButton.js.map +1 -1
  190. package/dist/core/Updaters.d.ts.map +1 -1
  191. package/dist/core/Updaters.js +9 -5
  192. package/dist/core/Updaters.js.map +1 -1
  193. package/dist/core/Warnings.js.map +1 -1
  194. package/dist/core/across/utils.d.ts.map +1 -1
  195. package/dist/core/across/utils.js +4 -4
  196. package/dist/core/across/utils.js.map +1 -1
  197. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  198. package/dist/core/constants.d.ts +5 -0
  199. package/dist/core/constants.d.ts.map +1 -1
  200. package/dist/core/constants.js +11 -1
  201. package/dist/core/constants.js.map +1 -1
  202. package/dist/core/index.d.ts.map +1 -1
  203. package/dist/core/index.js +191 -120
  204. package/dist/core/index.js.map +1 -1
  205. package/dist/core/inputs/hooks/types.d.ts +1 -1
  206. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  207. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  208. package/dist/core/inputs/hooks/useTokenFromInputProps.js +119 -97
  209. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  210. package/dist/core/inputs/hooks/useTokenSwitcherProps.d.ts.map +1 -1
  211. package/dist/core/inputs/hooks/useTokenSwitcherProps.js +17 -7
  212. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  213. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  214. package/dist/core/inputs/hooks/useTokenToInputProps.js +84 -105
  215. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  216. package/dist/core/inputs/state/common.js.map +1 -1
  217. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts +1 -1
  218. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  219. package/dist/core/inputs/state/selectedTokenActionsAtom.js +58 -28
  220. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  221. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  222. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  223. package/dist/core/inputs/state/setTokenByAddressAtom.js +10 -9
  224. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  225. package/dist/core/inputs/state/subscriptions.d.ts.map +1 -1
  226. package/dist/core/inputs/state/subscriptions.js +2 -1
  227. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  228. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  229. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  230. package/dist/core/limit/state/selectedTokenActionsAtom.js +3 -3
  231. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  232. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  233. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  234. package/dist/core/limit/useLimitNotSupported.js +12 -1
  235. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  236. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  237. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  238. package/dist/core/limit/useLimitRate.js.map +1 -1
  239. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  240. package/dist/core/limit/useLimitTokenFromInputProps.js +104 -94
  241. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  242. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  243. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  244. package/dist/core/limit/useLimitTokenToInputProps.js +9 -20
  245. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  246. package/dist/core/logger.js +12 -14
  247. package/dist/core/logger.js.map +1 -1
  248. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  249. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  250. package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
  251. package/dist/core/otc/state/selectedTokenActionsAtom.js +3 -3
  252. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  253. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  254. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  255. package/dist/core/otc/useOtcNotSupported.js +12 -1
  256. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  257. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  258. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  259. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  260. package/dist/core/otc/useOtcTokenFromInputProps.js +104 -94
  261. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  262. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  263. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  264. package/dist/core/otc/useOtcTokenToInputProps.js +9 -20
  265. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  266. package/dist/core/state/chainToAtom.js.map +1 -1
  267. package/dist/core/state/configActionsAtom.d.ts +5 -2
  268. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  269. package/dist/core/state/configActionsAtom.js +24 -12
  270. package/dist/core/state/configActionsAtom.js.map +1 -1
  271. package/dist/core/state/configAtom.d.ts +32 -10
  272. package/dist/core/state/configAtom.d.ts.map +1 -1
  273. package/dist/core/state/configAtom.js +16 -8
  274. package/dist/core/state/configAtom.js.map +1 -1
  275. package/dist/core/state/configEffectAtom.d.ts +5 -0
  276. package/dist/core/state/configEffectAtom.d.ts.map +1 -0
  277. package/dist/core/state/configEffectAtom.js +56 -0
  278. package/dist/core/state/configEffectAtom.js.map +1 -0
  279. package/dist/core/state/containerAtom.js.map +1 -1
  280. package/dist/core/state/enabledChainsAtom.d.ts +10 -0
  281. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -0
  282. package/dist/core/state/enabledChainsAtom.js +101 -0
  283. package/dist/core/state/enabledChainsAtom.js.map +1 -0
  284. package/dist/core/state/enabledTradeModesAtom.d.ts +3 -0
  285. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -0
  286. package/dist/core/state/enabledTradeModesAtom.js +31 -0
  287. package/dist/core/state/enabledTradeModesAtom.js.map +1 -0
  288. package/dist/core/state/externalProviderAtom.js.map +1 -1
  289. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  290. package/dist/core/state/tradeModeAtom.d.ts +2 -1
  291. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  292. package/dist/core/state/tradeModeAtom.js +9 -2
  293. package/dist/core/state/tradeModeAtom.js.map +1 -1
  294. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  295. package/dist/core/subscriptions.d.ts.map +1 -1
  296. package/dist/core/subscriptions.js +0 -2
  297. package/dist/core/subscriptions.js.map +1 -1
  298. package/dist/core/swapDetails/useSwapDetailsListProps.js +34 -36
  299. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  300. package/dist/core/types.d.ts +12 -0
  301. package/dist/core/types.d.ts.map +1 -1
  302. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  303. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  304. package/dist/events/types/approve.d.ts +22 -6
  305. package/dist/events/types/approve.d.ts.map +1 -1
  306. package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
  307. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  308. package/dist/hooks/batch/useAwaitCalls.js +20 -16
  309. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  310. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  311. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  312. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -18
  313. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  314. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  315. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +4 -15
  316. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  317. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  318. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  319. package/dist/hooks/getCode/useIsContractAtAddress.js +30 -46
  320. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  321. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  322. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +21 -12
  323. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  324. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  325. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +22 -12
  326. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  327. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  328. package/dist/hooks/otc/mutations/useFillOrder.js +13 -32
  329. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  330. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts +22 -3
  331. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts.map +1 -1
  332. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +39 -2
  333. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  334. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  335. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  336. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
  337. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  338. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  339. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +7 -4
  340. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  341. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +46 -4
  342. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  343. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  344. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +38 -36
  345. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  346. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  347. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  348. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  349. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  350. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  351. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  352. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  353. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  354. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  355. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +39 -31
  356. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  357. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +7 -15
  358. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  359. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  360. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  361. package/dist/hooks/sdk/useSpender.js.map +1 -1
  362. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -1
  363. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  364. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js +23 -13
  365. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  366. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  367. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  368. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +41 -10
  369. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  370. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +25 -0
  371. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -0
  372. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +88 -0
  373. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -0
  374. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +16 -0
  375. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -0
  376. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +83 -0
  377. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -0
  378. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  379. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -2
  380. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  381. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +5 -2
  382. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +1 -1
  383. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +19 -2
  384. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  385. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts +22 -3
  386. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  387. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +39 -2
  388. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  389. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  390. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  391. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  392. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  393. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  394. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  395. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  396. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts +9 -0
  397. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  398. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +49 -2
  399. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  400. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  401. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  402. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  403. package/dist/hooks/swap/tradeFlow/common/types.d.ts +17 -0
  404. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  405. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +3 -1
  406. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  407. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +164 -140
  408. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  409. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  410. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts +46 -0
  411. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts.map +1 -0
  412. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +328 -0
  413. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -0
  414. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -1
  415. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +16 -14
  416. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  417. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +74 -0
  418. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -0
  419. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +274 -0
  420. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -0
  421. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts +15 -0
  422. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts.map +1 -0
  423. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +88 -0
  424. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -0
  425. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  426. package/dist/hooks/swap/tradeFlow/common/utils.d.ts +1 -0
  427. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  428. package/dist/hooks/swap/tradeFlow/common/utils.js +16 -1
  429. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  430. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +28 -23
  431. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  432. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +59 -17
  433. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  434. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  435. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -3
  436. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  437. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +61 -15
  438. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  439. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  440. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -18
  441. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  442. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  443. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  444. package/dist/hooks/tokens/allowance/useTokenAllowance.js +25 -15
  445. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  446. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +8 -10
  447. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  448. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  449. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  450. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +20 -37
  451. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  452. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  453. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  454. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +43 -49
  455. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  456. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  457. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  458. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +21 -25
  459. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  460. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  461. package/dist/hooks/tokens/useAllTokensWithFilter.js +121 -49
  462. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  463. package/dist/hooks/tokens/useNativeToken.js +1 -1
  464. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  465. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  466. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  467. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  468. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  469. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  470. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  471. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  472. package/dist/hooks/txs/queries/useAwaitTx.js +11 -7
  473. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  474. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  475. package/dist/hooks/useAvailableCrosses.d.ts +3 -2
  476. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  477. package/dist/hooks/useAvailableCrosses.js +23 -20
  478. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  479. package/dist/hooks/useBridgeInfo.js.map +1 -1
  480. package/dist/hooks/useCurrentChain.js.map +1 -1
  481. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  482. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  483. package/dist/hooks/useGlobalDeltaEnabled.d.ts +1 -0
  484. package/dist/hooks/useGlobalDeltaEnabled.d.ts.map +1 -1
  485. package/dist/hooks/useGlobalDeltaEnabled.js +22 -17
  486. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  487. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  488. package/dist/hooks/useMinViemClient.js.map +1 -1
  489. package/dist/hooks/useSDK.d.ts +3 -2
  490. package/dist/hooks/useSDK.d.ts.map +1 -1
  491. package/dist/hooks/useSDK.js +37 -8
  492. package/dist/hooks/useSDK.js.map +1 -1
  493. package/dist/hooks/useSelectableDestChains.d.ts +14 -0
  494. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -0
  495. package/dist/hooks/useSelectableDestChains.js +91 -0
  496. package/dist/hooks/useSelectableDestChains.js.map +1 -0
  497. package/dist/hooks/useSlippage.js.map +1 -1
  498. package/dist/index.d.ts +2 -0
  499. package/dist/index.d.ts.map +1 -1
  500. package/dist/index.js +1 -0
  501. package/dist/index.js.map +1 -1
  502. package/dist/lib/constants/delta.js +1 -1
  503. package/dist/lib/constants/delta.js.map +1 -1
  504. package/dist/lib/constants/index.js +1 -1
  505. package/dist/lib/constants/index.js.map +1 -1
  506. package/dist/lib/tradeMode.d.ts +4 -0
  507. package/dist/lib/tradeMode.d.ts.map +1 -0
  508. package/dist/lib/tradeMode.js +8 -0
  509. package/dist/lib/tradeMode.js.map +1 -0
  510. package/dist/lib/utils/approval.js.map +1 -1
  511. package/dist/lib/utils/atomWithCompare.d.ts +2 -0
  512. package/dist/lib/utils/atomWithCompare.d.ts.map +1 -0
  513. package/dist/lib/utils/atomWithCompare.js +13 -0
  514. package/dist/lib/utils/atomWithCompare.js.map +1 -0
  515. package/dist/lib/utils/index.d.ts +2 -0
  516. package/dist/lib/utils/index.d.ts.map +1 -1
  517. package/dist/lib/utils/index.js +17 -1
  518. package/dist/lib/utils/index.js.map +1 -1
  519. package/dist/lib/utils/theme.d.ts +2 -0
  520. package/dist/lib/utils/theme.d.ts.map +1 -0
  521. package/dist/lib/utils/theme.js +10 -0
  522. package/dist/lib/utils/theme.js.map +1 -0
  523. package/dist/lib/web3/privy/config.js +1 -1
  524. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  525. package/dist/lib/web3/wagmi/config.js +3 -2
  526. package/dist/lib/web3/wagmi/config.js.map +1 -1
  527. package/dist/lib/web3/wagmi/constants.d.ts +2 -1
  528. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  529. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  530. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  531. package/dist/lib/web3/wagmi/switchChain.d.ts +1169 -0
  532. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -0
  533. package/dist/lib/web3/wagmi/switchChain.js +23 -0
  534. package/dist/lib/web3/wagmi/switchChain.js.map +1 -0
  535. package/dist/lib/web3/wagmi/types.d.ts +2 -2
  536. package/dist/lib/web3/wagmi/types.d.ts.map +1 -1
  537. package/dist/styles.css +83 -39
  538. package/dist/tokens/hooks.js.map +1 -1
  539. package/dist/tokens/lists/constants.d.ts +1 -0
  540. package/dist/tokens/lists/constants.d.ts.map +1 -1
  541. package/dist/tokens/lists/constants.js +6 -2
  542. package/dist/tokens/lists/constants.js.map +1 -1
  543. package/dist/tokens/lists/lists.json.d.ts +23 -44
  544. package/dist/tokens/lists/lists.json.js +354 -1
  545. package/dist/tokens/lists/lists.json.js.map +1 -1
  546. package/dist/tokens/lists/state/effects.d.ts +2 -0
  547. package/dist/tokens/lists/state/effects.d.ts.map +1 -0
  548. package/dist/tokens/lists/state/effects.js +25 -0
  549. package/dist/tokens/lists/state/effects.js.map +1 -0
  550. package/dist/tokens/lists/state/tokenListsActionsAtom.js +3 -3
  551. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  552. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +16 -7
  553. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts.map +1 -1
  554. package/dist/tokens/lists/state/tokenListsStateAtom.js +50 -5
  555. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  556. package/dist/tokens/lists/types.d.ts.map +1 -1
  557. package/dist/tokens/lists/utils.js +1 -1
  558. package/dist/tokens/queries.d.ts +4 -2
  559. package/dist/tokens/queries.d.ts.map +1 -1
  560. package/dist/tokens/queries.js +31 -25
  561. package/dist/tokens/queries.js.map +1 -1
  562. package/dist/tokens/stabeCoins/hooks.js +3 -5
  563. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  564. package/dist/tokens/state/fromListsAtom.js +4 -4
  565. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  566. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  567. package/dist/transactions/queries/ensureCallsStatus.d.ts +1 -0
  568. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  569. package/dist/transactions/queries/ensureCallsStatus.js +7 -5
  570. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  571. package/dist/transactions/queries/ensureTxReceipt.d.ts +3 -2
  572. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  573. package/dist/transactions/queries/ensureTxReceipt.js +26 -6
  574. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  575. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  576. package/dist/transactions/state/hooks/useTransactions.d.ts +2 -0
  577. package/dist/transactions/state/hooks/useTransactions.d.ts.map +1 -1
  578. package/dist/transactions/state/hooks/useTransactions.js +59 -1
  579. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  580. package/dist/transactions/types.d.ts +21 -1
  581. package/dist/transactions/types.d.ts.map +1 -1
  582. package/package.json +6 -5
  583. package/dist/external/.pnpm/react-compiler-runtime@19.1.0-rc.2_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +0 -1
  584. package/dist/tokens/lists/hooks.d.ts +0 -2
  585. package/dist/tokens/lists/hooks.d.ts.map +0 -1
  586. package/dist/tokens/lists/hooks.js +0 -26
  587. package/dist/tokens/lists/hooks.js.map +0 -1
  588. package/dist/tokens/lists/state/observer.d.ts +0 -2
  589. package/dist/tokens/lists/state/observer.d.ts.map +0 -1
  590. package/dist/tokens/lists/state/observer.js +0 -18
  591. package/dist/tokens/lists/state/observer.js.map +0 -1
  592. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.1 → react-compiler-runtime@1.0.0_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
@@ -0,0 +1,91 @@
1
+ import { d as distExports } from '../_virtual/index.js';
2
+ import { useWidgetConfig } from '../core/state/configAtom.js';
3
+ import { useEnabledDestChains } from '../core/state/enabledChainsAtom.js';
4
+ import { useGlobalDeltaEnabled } from './useGlobalDeltaEnabled.js';
5
+ import { useAvailableCrosses } from './useAvailableCrosses.js';
6
+ import { emptyArray } from '../lib/constants/index.js';
7
+
8
+ function useSelectableDestChains(fromChainId) {
9
+ const $ = distExports.c(13);
10
+ let t0;
11
+ if ($[0] !== fromChainId) {
12
+ t0 = {
13
+ fromChainId
14
+ };
15
+ $[0] = fromChainId;
16
+ $[1] = t0;
17
+ } else {
18
+ t0 = $[1];
19
+ }
20
+ const {
21
+ availableCrosses: t1
22
+ } = useAvailableCrosses(t0);
23
+ const availableCrosses = t1 === void 0 ? emptyArray : t1;
24
+ const {
25
+ enabledGlobally: deltaEnabledGlobally
26
+ } = useGlobalDeltaEnabled();
27
+ const {
28
+ enableCrossChain
29
+ } = useWidgetConfig();
30
+ const enabledDestChains = useEnabledDestChains();
31
+ let t2;
32
+ if ($[2] !== availableCrosses || $[3] !== deltaEnabledGlobally || $[4] !== enableCrossChain || $[5] !== enabledDestChains || $[6] !== fromChainId) {
33
+ t2 = computeSelectableDestChains({
34
+ enableCrossChain,
35
+ deltaEnabledGlobally,
36
+ enabledDestChains,
37
+ availableCrosses,
38
+ fromChainId
39
+ });
40
+ $[2] = availableCrosses;
41
+ $[3] = deltaEnabledGlobally;
42
+ $[4] = enableCrossChain;
43
+ $[5] = enabledDestChains;
44
+ $[6] = fromChainId;
45
+ $[7] = t2;
46
+ } else {
47
+ t2 = $[7];
48
+ }
49
+ const selectableChains = t2;
50
+ let t3;
51
+ if ($[8] !== selectableChains) {
52
+ t3 = (chain) => selectableChains.includes(chain);
53
+ $[8] = selectableChains;
54
+ $[9] = t3;
55
+ } else {
56
+ t3 = $[9];
57
+ }
58
+ let t4;
59
+ if ($[10] !== selectableChains || $[11] !== t3) {
60
+ t4 = {
61
+ selectableChains,
62
+ isChainSelectable: t3
63
+ };
64
+ $[10] = selectableChains;
65
+ $[11] = t3;
66
+ $[12] = t4;
67
+ } else {
68
+ t4 = $[12];
69
+ }
70
+ return t4;
71
+ }
72
+ function computeSelectableDestChains({
73
+ enableCrossChain,
74
+ deltaEnabledGlobally,
75
+ enabledDestChains,
76
+ availableCrosses,
77
+ fromChainId
78
+ }) {
79
+ const canCrossChain = enableCrossChain && deltaEnabledGlobally && availableCrosses.length;
80
+ if (!canCrossChain) {
81
+ return [fromChainId];
82
+ }
83
+ const selectableChains = availableCrosses.filter((chain) => enabledDestChains.includes(chain));
84
+ if (!selectableChains.includes(fromChainId)) {
85
+ selectableChains.unshift(fromChainId);
86
+ }
87
+ return selectableChains;
88
+ }
89
+
90
+ export { computeSelectableDestChains, useSelectableDestChains };
91
+ //# sourceMappingURL=useSelectableDestChains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectableDestChains.js","sources":["../../src/hooks/useSelectableDestChains.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useEnabledDestChains } from \"@/core/state/enabledChainsAtom\";\nimport { useGlobalDeltaEnabled } from \"./useGlobalDeltaEnabled\";\nimport { useAvailableCrosses } from \"./useAvailableCrosses\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport function useSelectableDestChains(fromChainId: SupportedChainId): {\n selectableChains: SupportedChainId[];\n isChainSelectable: (chain: SupportedChainId) => boolean;\n} {\n const { availableCrosses = emptyArray } = useAvailableCrosses({\n fromChainId,\n });\n const { enabledGlobally: deltaEnabledGlobally } = useGlobalDeltaEnabled();\n const { enableCrossChain } = useWidgetConfig();\n const enabledDestChains = useEnabledDestChains();\n\n const selectableChains = computeSelectableDestChains({\n enableCrossChain,\n deltaEnabledGlobally,\n enabledDestChains,\n availableCrosses,\n fromChainId,\n });\n\n return {\n selectableChains,\n isChainSelectable: (chain) => selectableChains.includes(chain),\n };\n}\n\nexport function computeSelectableDestChains({\n enableCrossChain,\n deltaEnabledGlobally,\n enabledDestChains,\n availableCrosses,\n fromChainId,\n}: {\n enableCrossChain: boolean;\n deltaEnabledGlobally: boolean;\n enabledDestChains: NonEmptyArray<SupportedChainId>;\n availableCrosses: SupportedChainId[];\n fromChainId: SupportedChainId;\n}) {\n const canCrossChain =\n enableCrossChain && deltaEnabledGlobally && availableCrosses.length;\n\n if (!canCrossChain) {\n return [fromChainId];\n }\n\n const selectableChains = availableCrosses.filter((chain) =>\n enabledDestChains.includes(chain)\n );\n\n if (!selectableChains.includes(fromChainId)) {\n selectableChains.unshift(fromChainId);\n }\n\n return selectableChains;\n}\n"],"names":["useSelectableDestChains","fromChainId","$","_c","t0","availableCrosses","t1","useAvailableCrosses","undefined","emptyArray","enabledGlobally","deltaEnabledGlobally","useGlobalDeltaEnabled","enableCrossChain","useWidgetConfig","enabledDestChains","useEnabledDestChains","t2","computeSelectableDestChains","selectableChains","t3","chain","includes","t4","isChainSelectable","canCrossChain","length","filter","unshift"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSlippage.js","sources":["../../src/hooks/useSlippage.ts"],"sourcesContent":["import { stablecoinDefaultSlippage } from \"@/components/widget/TradeParameters/state/constants\";\nimport { slippageParamAtom } from \"@/components/widget/TradeParameters/state/slippageParamAtom\";\nimport { useIsAddressStablecoin } from \"@/tokens/stabeCoins/hooks\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\n\nexport const useSlippage = (tradeMode: TradeMode) => {\n const slippageFromParams = useAtomValue(slippageParamAtom);\n const chainId = useChainId();\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const tokensAreStablecoins = useIsAddressStablecoin(\n // overhead of this is minimal, don't memoize\n [tokenFrom?.address, tokenTo?.address], // undefined will result in false\n chainId\n );\n\n const resolvedSlippage = tokensAreStablecoins\n ? stablecoinDefaultSlippage // override slippage for stablecoins\n : slippageFromParams; // otherwise use user-defined slippage\n\n return { resolvedSlippage, slippageFromParams };\n};\n"],"names":["useSlippage","tradeMode","$","_c","slippageFromParams","useAtomValue","slippageParamAtom","chainId","useChainId","tokenFrom","tokenTo","useWidgetTokens","t0","address","t1","t2","tokensAreStablecoins","useIsAddressStablecoin","resolvedSlippage","stablecoinDefaultSlippage","t3"],"mappings":";;;;;;;;AAQO,MAAMA,cAAcC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACzB,EAAA,MAAAC,kBAAAA,GAA2BC,aAAAC,iBAA8B,CAAA;AACzD,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BC,gBAAgBV,SAAS,CAAA;AAIrD,EAAA,MAAAW,KAAAH,SAAAA,EAASI,OAAAA;AAAW,EAAA,MAAAC,KAAAJ,OAAAA,EAAOG,OAAAA;AAAS,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAU,MAAAV,CAAAA,QAAAY,EAAAA,EAAA;AAArCC,IAAAA,EAAAA,GAAA,CAACH,IAAoBE,EAAgB,CAAA;AAACZ,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAFxC,EAAA,MAAAc,oBAAAA,GAA6BC,sBAAAA,CAE3BF,EAAAA,EACAR,OACF,CAAA;AAEA,EAAA,MAAAW,gBAAAA,GAAyBF,uBAAoBG,yBAAAA,GAEzCf,kBAAAA;AAAmB,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAlB,EAAA,CAAA,CAAA,KAAAgB,oBAAAhB,CAAAA,QAAAE,kBAAAA,EAAA;AAEhBgB,IAAAA,EAAAA,GAAA;AAAA,MAAAF,gBAAAA;AAAAA,MAAAd;AAAAA,KAAA;AAAwCF,IAAAA,CAAAA,MAAAgB,gBAAAA;AAAAhB,IAAAA,CAAAA,MAAAE,kBAAAA;AAAAF,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAxCkB,EAAAA;AAAwC;;;;"}
1
+ {"version":3,"file":"useSlippage.js","sources":["../../src/hooks/useSlippage.ts"],"sourcesContent":["import { stablecoinDefaultSlippage } from \"@/components/widget/TradeParameters/state/constants\";\nimport { slippageParamAtom } from \"@/components/widget/TradeParameters/state/slippageParamAtom\";\nimport { useIsAddressStablecoin } from \"@/tokens/stabeCoins/hooks\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\n\nexport const useSlippage = (tradeMode: TradeMode) => {\n const slippageFromParams = useAtomValue(slippageParamAtom);\n const chainId = useChainId();\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const tokensAreStablecoins = useIsAddressStablecoin(\n // overhead of this is minimal, don't memoize\n [tokenFrom?.address, tokenTo?.address], // undefined will result in false\n chainId\n );\n\n const resolvedSlippage = tokensAreStablecoins\n ? stablecoinDefaultSlippage // override slippage for stablecoins\n : slippageFromParams; // otherwise use user-defined slippage\n\n return { resolvedSlippage, slippageFromParams };\n};\n"],"names":["useSlippage","tradeMode","$","_c","slippageFromParams","useAtomValue","slippageParamAtom","chainId","useChainId","tokenFrom","tokenTo","useWidgetTokens","t0","address","t1","t2","tokensAreStablecoins","useIsAddressStablecoin","resolvedSlippage","stablecoinDefaultSlippage","t3"],"mappings":";;;;;;;;AAQO,MAAMA,cAAcC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACzB,EAAA,MAAAC,kBAAAA,GAA2BC,aAAaC,iBAAiB,CAAA;AACzD,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BC,gBAAgBV,SAAS,CAAA;AAIrD,EAAA,MAAAW,KAAAH,SAAAA,EAASI,OAAAA;AAAW,EAAA,MAAAC,KAAAJ,OAAAA,EAAOG,OAAAA;AAAS,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAU,MAAAV,CAAAA,QAAAY,EAAAA,EAAA;AAArCC,IAAAA,EAAAA,GAAA,CAACH,IAAoBE,EAAgB,CAAA;AAACZ,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAFxC,EAAA,MAAAc,oBAAAA,GAA6BC,sBAAAA,CAE3BF,EAAAA,EACAR,OACF,CAAA;AAEA,EAAA,MAAAW,gBAAAA,GAAyBF,uBAAAG,yBAAAA,GAAAf,kBAAAA;AAEF,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAlB,EAAA,CAAA,CAAA,KAAAgB,oBAAAhB,CAAAA,QAAAE,kBAAAA,EAAA;AAEhBgB,IAAAA,EAAAA,GAAA;AAAA,MAAAF,gBAAAA;AAAAA,MAAAd;AAAAA,KAAuC;AAACF,IAAAA,CAAAA,MAAAgB,gBAAAA;AAAAhB,IAAAA,CAAAA,MAAAE,kBAAAA;AAAAF,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAxCkB,EAAAA;AAAwC;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export { Widget } from './core';
2
2
  export type { WidgetProps, WidgetConfig, WidgetTheme, EIP1193ProviderLax, } from './core/types';
3
+ export type { SupportedChainId } from './lib/web3/wagmi/types';
4
+ export { defaults } from './core/constants';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { Widget } from './core/index.js';
2
+ export { defaults } from './core/constants.js';
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -10,7 +10,7 @@ const deltaEnabledOnAPI = {
10
10
  [avalanche.id]: false,
11
11
  [base.id]: true,
12
12
  [sonic.id]: false,
13
- [unichain.id]: false
13
+ [unichain.id]: true
14
14
  };
15
15
  const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(([chainId, enabled]) => enabled ? [Number(chainId)] : []);
16
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\nexport const deltaEnabledOnAPI: Record<SupportedChainId, boolean> = {\n [mainnet.id]: true,\n [optimism.id]: true,\n [bsc.id]: true,\n [gnosis.id]: false,\n [polygon.id]: true,\n [arbitrum.id]: true,\n [avalanche.id]: false,\n [base.id]: true,\n [sonic.id]: false,\n [unichain.id]: false,\n};\n\nexport const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(\n ([chainId, enabled]) => (enabled ? [Number(chainId) as SupportedChainId] : [])\n);\n"],"names":["deltaEnabledOnAPI","mainnet","id","optimism","bsc","gnosis","polygon","arbitrum","avalanche","base","sonic","unichain","CHAINS_WITH_DELTA","Object","entries","flatMap","chainId","enabled","Number"],"mappings":";;AAcO,MAAMA,iBAAAA,GAAuD;AAAA,EAClE,CAACC,OAAAA,CAAQC,EAAE,GAAG,IAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,IAAA;AAAA,EACf,CAACE,GAAAA,CAAIF,EAAE,GAAG,IAAA;AAAA,EACV,CAACG,MAAAA,CAAOH,EAAE,GAAG,KAAA;AAAA,EACb,CAACI,OAAAA,CAAQJ,EAAE,GAAG,IAAA;AAAA,EACd,CAACK,QAAAA,CAASL,EAAE,GAAG,IAAA;AAAA,EACf,CAACM,SAAAA,CAAUN,EAAE,GAAG,KAAA;AAAA,EAChB,CAACO,IAAAA,CAAKP,EAAE,GAAG,IAAA;AAAA,EACX,CAACQ,KAAAA,CAAMR,EAAE,GAAG,KAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,oBAAoBC,MAAAA,CAAOC,OAAAA,CAAQd,iBAAiB,CAAA,CAAEe,OAAAA,CACjE,CAAC,CAACC,OAAAA,EAASC,OAAO,CAAA,KAAOA,UAAU,CAACC,MAAAA,CAAOF,OAAO,CAAqB,CAAA,GAAI,EAC7E;;;;"}
1
+ {"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\nexport const deltaEnabledOnAPI: Record<SupportedChainId, boolean> = {\n [mainnet.id]: true,\n [optimism.id]: true,\n [bsc.id]: true,\n [gnosis.id]: false,\n [polygon.id]: true,\n [arbitrum.id]: true,\n [avalanche.id]: false,\n [base.id]: true,\n [sonic.id]: false,\n [unichain.id]: true,\n};\n\nexport const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(\n ([chainId, enabled]) => (enabled ? [Number(chainId) as SupportedChainId] : [])\n);\n"],"names":["deltaEnabledOnAPI","mainnet","id","optimism","bsc","gnosis","polygon","arbitrum","avalanche","base","sonic","unichain","CHAINS_WITH_DELTA","Object","entries","flatMap","chainId","enabled","Number"],"mappings":";;AAcO,MAAMA,iBAAAA,GAAuD;AAAA,EAClE,CAACC,OAAAA,CAAQC,EAAE,GAAG,IAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,IAAA;AAAA,EACf,CAACE,GAAAA,CAAIF,EAAE,GAAG,IAAA;AAAA,EACV,CAACG,MAAAA,CAAOH,EAAE,GAAG,KAAA;AAAA,EACb,CAACI,OAAAA,CAAQJ,EAAE,GAAG,IAAA;AAAA,EACd,CAACK,QAAAA,CAASL,EAAE,GAAG,IAAA;AAAA,EACf,CAACM,SAAAA,CAAUN,EAAE,GAAG,KAAA;AAAA,EAChB,CAACO,IAAAA,CAAKP,EAAE,GAAG,IAAA;AAAA,EACX,CAACQ,KAAAA,CAAMR,EAAE,GAAG,KAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,oBAAoBC,MAAAA,CAAOC,OAAAA,CAAQd,iBAAiB,CAAA,CAAEe,OAAAA,CACjE,CAAC,CAACC,OAAAA,EAASC,OAAO,CAAA,KAAOA,UAAU,CAACC,MAAAA,CAAOF,OAAO,CAAqB,CAAA,GAAI,EAC7E;;;;"}
@@ -1,5 +1,5 @@
1
1
  const __vite_import_meta_env__ = {};
2
- const API_URL = "https://api.staging.paraswap.io";
2
+ const API_URL = "https://api.paraswap.io";
3
3
  const API_PROXY_URL = __vite_import_meta_env__["VITE_API_PROXY_URL"] ?? "https://proxy.paraswap.io";
4
4
  const emptyArray = [];
5
5
  const emptyObject = {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL =\n import.meta.env.VITE_API_URL ?? \"https://api.paraswap.io\";\nexport const API_PROXY_URL =\n import.meta.env[\"VITE_API_PROXY_URL\"] ?? \"https://proxy.paraswap.io\";\n\nexport const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["API_URL","import","API_PROXY_URL","emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":";AAAO,MAAMA,OAAAA,GACXC;AACK,MAAMC,aAAAA,GACXD,wBAAAA,CAAgB,oBAAoB,CAAA,IAAK;AAEpC,MAAME,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL =\n import.meta.env.VITE_API_URL ?? \"https://api.paraswap.io\";\nexport const API_PROXY_URL =\n import.meta.env[\"VITE_API_PROXY_URL\"] ?? \"https://proxy.paraswap.io\";\n\nexport const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["API_URL","API_PROXY_URL","import","emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":";AAAO,MAAMA,OAAAA,GACqB;AAC3B,MAAMC,aAAAA,GACXC,wBAAAA,CAAgB,oBAAoB,CAAA,IAAK;AAEpC,MAAMC,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
@@ -0,0 +1,4 @@
1
+ import { TradeMode } from '../core/state/tradeModeAtom';
2
+ export declare const supportedTradeModes: ["swap", "limit", "otc"];
3
+ export declare function isTradeMode(mode: string): mode is TradeMode;
4
+ //# sourceMappingURL=tradeMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradeMode.d.ts","sourceRoot":"","sources":["../../src/lib/tradeMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,eAAO,MAAM,mBAAmB,0BAIa,CAAC;AAI9C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAE3D"}
@@ -0,0 +1,8 @@
1
+ const supportedTradeModes = ["swap", "limit", "otc"];
2
+ const validTradeModes = supportedTradeModes;
3
+ function isTradeMode(mode) {
4
+ return validTradeModes.includes(mode);
5
+ }
6
+
7
+ export { isTradeMode, supportedTradeModes };
8
+ //# sourceMappingURL=tradeMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradeMode.js","sources":["../../src/lib/tradeMode.ts"],"sourcesContent":["import type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport const supportedTradeModes = [\n \"swap\",\n \"limit\",\n \"otc\",\n] as const satisfies NonEmptyArray<TradeMode>;\n\nconst validTradeModes: string[] = supportedTradeModes;\n\nexport function isTradeMode(mode: string): mode is TradeMode {\n return validTradeModes.includes(mode);\n}\n"],"names":["supportedTradeModes","validTradeModes","isTradeMode","mode","includes"],"mappings":"AAGO,MAAMA,mBAAAA,GAAsB,CACjC,MAAA,EACA,OAAA,EACA,KAAK;AAGP,MAAMC,eAAAA,GAA4BD,mBAAAA;AAE3B,SAASE,YAAYC,IAAAA,EAAiC;AAC3D,EAAA,OAAOF,eAAAA,CAAgBG,SAASD,IAAI,CAAA;AACtC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sources":["../../../src/lib/utils/approval.ts"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\nimport { readContract } from \"@wagmi/core\";\nimport { useCallback } from \"react\";\nimport {\n erc20Abi,\n encodeFunctionData,\n type Address,\n type Call,\n type Hex,\n} from \"viem\";\nimport { useConfig, type Config } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\n\nexport enum TokenApprovalPolicy {\n CAN_APPROVE_DIRECTLY = \"CAN_APPROVE_DIRECTLY\",\n SHOULD_RESET_BEFORE_APPROVE = \"SHOULD_RESET_BEFORE_APPROVE\",\n}\n\nconst approveCheckerAddressMap: Record<number, Address> = {\n [mainnet.id]: \"0xC577E172a114782E4a56F83cf205f479d18B41b2\",\n};\n\nconst ApprovalCheckerABI = [\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n name: \"checkApproval\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\", // need to change to view from nonpayable for reeadContracts to infer types correctly\n // writeContract accepts nonpayable|payable, readContract accepts view|pure\n type: \"function\",\n },\n] as const;\n\ntype TokenApprovalPolicyInput = {\n address: Address;\n chainId: number;\n config: Config;\n};\n\n/**\n * This function is meant to detect non standard ERC20 tokens (USDT) that presents wrong amount to approve function.\n * For this kind of \"broken\" token, users have to reset allowance (approve(0)) before approving our smart contract again for a non-zero value\n *\n * The smart contract ApproveChecker works likewise, if token:\n * - broken (not really a contract) return 0\n * - needs straight approval return 1\n * - needs to reset allowance then ask approval return 2\n *\n * N.B: case 0 has intentionally been mapped to the same output as 1\n * just in case a token is broken but can still be approved straight away.\n */\nexport async function getTokenApprovalPolicy({\n address,\n config,\n chainId,\n}: TokenApprovalPolicyInput & {\n chainId: number;\n}): Promise<TokenApprovalPolicy> {\n const contractAddress = approveCheckerAddressMap[chainId];\n // assume default\n if (!contractAddress) return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n\n try {\n const res = await readContract(config, {\n abi: ApprovalCheckerABI,\n functionName: \"checkApproval\",\n address: contractAddress,\n args: [address],\n chainId,\n });\n\n switch (res) {\n case 2n:\n return TokenApprovalPolicy.SHOULD_RESET_BEFORE_APPROVE;\n case 0n:\n case 1n:\n default:\n return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n }\n } catch {\n return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n }\n}\n\ntype GetTokenApprovalPolicyInput = {\n address: Address;\n chainId: number;\n};\n\nexport type GetTokenApprovalPolicyFunction = (\n input: GetTokenApprovalPolicyInput\n) => Promise<TokenApprovalPolicy>;\n\n// better to have an on-deman function to fetch TokenApprovalPolicyInput and put it in cache forever,\n// than to rely on useReadContract which will fetch only async and would be disabled when ApprovalChecker is not available\nexport function useGetTokenApprovalPolicy(): GetTokenApprovalPolicyFunction {\n const client = useQueryClient();\n const wagmiConfig = useConfig();\n\n return useCallback<GetTokenApprovalPolicyFunction>(\n async ({ address, chainId }) => {\n const data = await client.ensureQueryData({\n queryKey: [\"token-approval-policy\", address, chainId],\n queryFn: () =>\n getTokenApprovalPolicy({ address, chainId, config: wagmiConfig }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return data;\n },\n [client, wagmiConfig]\n );\n}\n\ntype ApprovalTxInput = {\n spender: Address;\n amount: bigint;\n};\n\nexport function encodeApprovalCalldata({\n spender,\n amount,\n}: ApprovalTxInput): Hex {\n return encodeFunctionData({\n abi: erc20Abi,\n functionName: \"approve\",\n args: [spender, amount],\n });\n}\n\ntype ConstructApproveCallInput = ApprovalTxInput & {\n token: Address;\n};\n\nexport function constructApproveCall({\n spender,\n amount,\n token,\n}: ConstructApproveCallInput): Call {\n return {\n to: token,\n data: encodeApprovalCalldata({ spender, amount }),\n value: 0n,\n };\n}\n"],"names":["TokenApprovalPolicy","CAN_APPROVE_DIRECTLY","SHOULD_RESET_BEFORE_APPROVE","approveCheckerAddressMap","mainnet","id","ApprovalCheckerABI","inputs","internalType","name","type","outputs","stateMutability","getTokenApprovalPolicy","address","config","chainId","contractAddress","res","readContract","abi","functionName","args","useGetTokenApprovalPolicy","$","_c","client","useQueryClient","wagmiConfig","useConfig","t0","t1","data","ensureQueryData","queryKey","queryFn","staleTime","Infinity","gcTime","encodeApprovalCalldata","spender","amount","encodeFunctionData","erc20Abi","constructApproveCall","token","to","value"],"mappings":"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"}
1
+ {"version":3,"file":"approval.js","sources":["../../../src/lib/utils/approval.ts"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\nimport { readContract } from \"@wagmi/core\";\nimport { useCallback } from \"react\";\nimport {\n erc20Abi,\n encodeFunctionData,\n type Address,\n type Call,\n type Hex,\n} from \"viem\";\nimport { useConfig, type Config } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\n\nexport enum TokenApprovalPolicy {\n CAN_APPROVE_DIRECTLY = \"CAN_APPROVE_DIRECTLY\",\n SHOULD_RESET_BEFORE_APPROVE = \"SHOULD_RESET_BEFORE_APPROVE\",\n}\n\nconst approveCheckerAddressMap: Record<number, Address> = {\n [mainnet.id]: \"0xC577E172a114782E4a56F83cf205f479d18B41b2\",\n};\n\nconst ApprovalCheckerABI = [\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n name: \"checkApproval\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\", // need to change to view from nonpayable for reeadContracts to infer types correctly\n // writeContract accepts nonpayable|payable, readContract accepts view|pure\n type: \"function\",\n },\n] as const;\n\ntype TokenApprovalPolicyInput = {\n address: Address;\n chainId: number;\n config: Config;\n};\n\n/**\n * This function is meant to detect non standard ERC20 tokens (USDT) that presents wrong amount to approve function.\n * For this kind of \"broken\" token, users have to reset allowance (approve(0)) before approving our smart contract again for a non-zero value\n *\n * The smart contract ApproveChecker works likewise, if token:\n * - broken (not really a contract) return 0\n * - needs straight approval return 1\n * - needs to reset allowance then ask approval return 2\n *\n * N.B: case 0 has intentionally been mapped to the same output as 1\n * just in case a token is broken but can still be approved straight away.\n */\nexport async function getTokenApprovalPolicy({\n address,\n config,\n chainId,\n}: TokenApprovalPolicyInput & {\n chainId: number;\n}): Promise<TokenApprovalPolicy> {\n const contractAddress = approveCheckerAddressMap[chainId];\n // assume default\n if (!contractAddress) return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n\n try {\n const res = await readContract(config, {\n abi: ApprovalCheckerABI,\n functionName: \"checkApproval\",\n address: contractAddress,\n args: [address],\n chainId,\n });\n\n switch (res) {\n case 2n:\n return TokenApprovalPolicy.SHOULD_RESET_BEFORE_APPROVE;\n case 0n:\n case 1n:\n default:\n return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n }\n } catch {\n return TokenApprovalPolicy.CAN_APPROVE_DIRECTLY;\n }\n}\n\ntype GetTokenApprovalPolicyInput = {\n address: Address;\n chainId: number;\n};\n\nexport type GetTokenApprovalPolicyFunction = (\n input: GetTokenApprovalPolicyInput\n) => Promise<TokenApprovalPolicy>;\n\n// better to have an on-deman function to fetch TokenApprovalPolicyInput and put it in cache forever,\n// than to rely on useReadContract which will fetch only async and would be disabled when ApprovalChecker is not available\nexport function useGetTokenApprovalPolicy(): GetTokenApprovalPolicyFunction {\n const client = useQueryClient();\n const wagmiConfig = useConfig();\n\n return useCallback<GetTokenApprovalPolicyFunction>(\n async ({ address, chainId }) => {\n const data = await client.ensureQueryData({\n queryKey: [\"token-approval-policy\", address, chainId],\n queryFn: () =>\n getTokenApprovalPolicy({ address, chainId, config: wagmiConfig }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return data;\n },\n [client, wagmiConfig]\n );\n}\n\ntype ApprovalTxInput = {\n spender: Address;\n amount: bigint;\n};\n\nexport function encodeApprovalCalldata({\n spender,\n amount,\n}: ApprovalTxInput): Hex {\n return encodeFunctionData({\n abi: erc20Abi,\n functionName: \"approve\",\n args: [spender, amount],\n });\n}\n\ntype ConstructApproveCallInput = ApprovalTxInput & {\n token: Address;\n};\n\nexport function constructApproveCall({\n spender,\n amount,\n token,\n}: ConstructApproveCallInput): Call {\n return {\n to: token,\n data: encodeApprovalCalldata({ spender, amount }),\n value: 0n,\n };\n}\n"],"names":["TokenApprovalPolicy","CAN_APPROVE_DIRECTLY","SHOULD_RESET_BEFORE_APPROVE","approveCheckerAddressMap","mainnet","id","ApprovalCheckerABI","inputs","internalType","name","type","outputs","stateMutability","getTokenApprovalPolicy","address","config","chainId","contractAddress","res","readContract","abi","functionName","args","useGetTokenApprovalPolicy","$","_c","client","useQueryClient","wagmiConfig","useConfig","t0","t1","data","ensureQueryData","queryKey","queryFn","staleTime","Infinity","gcTime","encodeApprovalCalldata","spender","amount","encodeFunctionData","erc20Abi","constructApproveCall","token","to","value"],"mappings":";;;;;;;;AAaO,IAAKA,mBAAAA,qBAAAA,oBAAAA,KAAL;AACLC,EAAAA,qBAAAA,sBAAAA,CAAAA,GAAuB,sBAAA;AACvBC,EAAAA,qBAAAA,6BAAAA,CAAAA,GAA8B,6BAAA;AAFpBF,EAAAA,OAAAA,oBAAAA;AAAAA,CAAAA,EAAAA,mBAAAA,IAAAA,EAAAA;AAKZ,MAAMG,wBAAAA,GAAoD;AAAA,EACxD,CAACC,OAAAA,CAAQC,EAAE,GAAG;AAChB,CAAA;AAEA,MAAMC,qBAAqB,CACzB;AAAA,EACEC,QAAQ,CACN;AAAA,IACEC,YAAAA,EAAc,SAAA;AAAA,IACdC,IAAAA,EAAM,OAAA;AAAA,IACNC,IAAAA,EAAM;AAAA,GACP,CAAA;AAAA,EAEHD,IAAAA,EAAM,eAAA;AAAA,EACNE,SAAS,CACP;AAAA,IACEH,YAAAA,EAAc,SAAA;AAAA,IACdC,IAAAA,EAAM,EAAA;AAAA,IACNC,IAAAA,EAAM;AAAA,GACP,CAAA;AAAA,EAEHE,eAAAA,EAAiB,MAAA;AAAA;AAAA;AAAA,EAEjBF,IAAAA,EAAM;AACR,CAAC,CAAA;AAqBH,eAAsBG,sBAAAA,CAAuB;AAAA,EAC3CC,OAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC;AAGF,CAAA,EAAiC;AAC/B,EAAA,MAAMC,eAAAA,GAAkBd,yBAAyBa,OAAO,CAAA;AAExD,EAAA,IAAI,CAACC,iBAAiB,OAAOjB,sBAAAA;AAE7B,EAAA,IAAI;AACF,IAAA,MAAMkB,GAAAA,GAAM,MAAMC,YAAAA,CAAaJ,MAAAA,EAAQ;AAAA,MACrCK,GAAAA,EAAKd,kBAAAA;AAAAA,MACLe,YAAAA,EAAc,eAAA;AAAA,MACdP,OAAAA,EAASG,eAAAA;AAAAA,MACTK,IAAAA,EAAM,CAACR,OAAO,CAAA;AAAA,MACdE;AAAAA,KACD,CAAA;AAED,IAAA,QAAQE,GAAAA;AAAG,MACT,KAAK,EAAA;AACH,QAAA,OAAOlB,6BAAAA;AAAAA,MACT,KAAK,EAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACL;AACE,QAAA,OAAOA,sBAAAA;AAAAA;AACX,EACF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAOA,sBAAAA;AAAAA,EACT;AACF;AAaO,SAAAuB,yBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,SAAeC,cAAAA,EAAe;AAC9B,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAE,UAAAF,CAAAA,QAAAI,WAAAA,EAAA;AAG9BE,IAAAA,EAAAA,UAAAC,EAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAjB,OAAAA;AAAAA,QAAAE;AAAAA,OAAA,GAAAe,EAAAA;AACL,MAAA,MAAAC,IAAAA,GAAa,MAAMN,MAAAA,CAAMO,eAAAA,CAAiB;AAAA,QAAAC,QAAAA,EAC9B,CAAC,uBAAA,EAAyBpB,OAAAA,EAASE,OAAO,CAAA;AAAA,QAACmB,OAAAA,EAC5CA,MACPtB,sBAAAA,CAAuB;AAAA,UAAAC,OAAAA;AAAAA,UAAAE,OAAAA;AAAAA,UAAAD,MAAAA,EAA4Ba;AAAAA,SAAa,CAAA;AAAA,QAACQ,SAAAA,EACxDC,QAAAA;AAAAA,QAAQC,MAAAA,EACXD;AAAAA,OACT,CAAA;AAAE,MAAA,OAEIL,IAAAA;AAAAA,IAAI,CAAA;AACZR,IAAAA,CAAAA,MAAAE,MAAAA;AAAAF,IAAAA,CAAAA,MAAAI,WAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXIM,EAAAA;AAaN;AAQI,SAASS,sBAAAA,CAAuB;AAAA,EACrCC,OAAAA;AAAAA,EACAC;AACe,CAAA,EAAQ;AACvB,EAAA,OAAOC,kBAAAA,CAAmB;AAAA,IACxBtB,GAAAA,EAAKuB,QAAAA;AAAAA,IACLtB,YAAAA,EAAc,SAAA;AAAA,IACdC,IAAAA,EAAM,CAACkB,OAAAA,EAASC,MAAM;AAAA,GACvB,CAAA;AACH;AAMO,SAASG,oBAAAA,CAAqB;AAAA,EACnCJ,OAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAI;AACyB,CAAA,EAAS;AAClC,EAAA,OAAO;AAAA,IACLC,EAAAA,EAAID,KAAAA;AAAAA,IACJb,MAAMO,sBAAAA,CAAuB;AAAA,MAAEC,OAAAA;AAAAA,MAASC;AAAAA,KAAQ,CAAA;AAAA,IAChDM,KAAAA,EAAO;AAAA,GACT;AACF;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare function atomWithCompare<Value>(initialValue: Value, areEqual: (prev: Value, next: Value) => boolean): import('jotai').WritableAtom<Value, [Value], void>;
2
+ //# sourceMappingURL=atomWithCompare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomWithCompare.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/atomWithCompare.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,KAAK,EACnC,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,sDAShD"}
@@ -0,0 +1,13 @@
1
+ import { atomWithReducer } from 'jotai/utils';
2
+
3
+ function atomWithCompare(initialValue, areEqual) {
4
+ return atomWithReducer(initialValue, (prev, next) => {
5
+ if (areEqual(prev, next)) {
6
+ return prev;
7
+ }
8
+ return next;
9
+ });
10
+ }
11
+
12
+ export { atomWithCompare };
13
+ //# sourceMappingURL=atomWithCompare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomWithCompare.js","sources":["../../../src/lib/utils/atomWithCompare.ts"],"sourcesContent":["import { atomWithReducer } from \"jotai/utils\";\n\nexport function atomWithCompare<Value>(\n initialValue: Value,\n areEqual: (prev: Value, next: Value) => boolean\n) {\n return atomWithReducer(initialValue, (prev: Value, next: Value) => {\n if (areEqual(prev, next)) {\n return prev;\n }\n\n return next;\n });\n}\n"],"names":["atomWithCompare","initialValue","areEqual","atomWithReducer","prev","next"],"mappings":";;AAEO,SAASA,eAAAA,CACdC,cACAC,QAAAA,EACA;AACA,EAAA,OAAOC,eAAAA,CAAgBF,YAAAA,EAAc,CAACG,IAAAA,EAAaC,IAAAA,KAAgB;AACjE,IAAA,IAAIH,QAAAA,CAASE,IAAAA,EAAMC,IAAI,CAAA,EAAG;AACxB,MAAA,OAAOD,IAAAA;AAAAA,IACT;AAEA,IAAA,OAAOC,IAAAA;AAAAA,EACT,CAAC,CAAA;AACH;;;;"}
@@ -24,5 +24,7 @@ export declare const stringIncludes: (a: string, b: string) => boolean;
24
24
  export declare const shortenText: (str: string, start: number, end?: number) => string;
25
25
  export declare function shortenAddress(address: string, slashIndex?: number, rightCutLength?: number): string;
26
26
  export declare function replaceUnderscoresWithSpaces(str: string): string;
27
+ export declare function isValidUrl(url: string): boolean;
28
+ export declare function unorderedShallowEqual<T>(a: T[], b: T[]): boolean;
27
29
  export {};
28
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAI7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAwBrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAEb,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GACvC,CAAC,EAAE,CAWL;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,KAC5C,CAAC,IAAI,CAAQ,CAAC;AAEjB,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAChD,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAEtB;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE5C,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,MAAM,CAAC,EACjB,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAE1E;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,eAAO,MAAM,yBAAyB,GAAI,cAEvC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,YAAqC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAErD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,MAAK,MAAU,KACd,MAGF,CAAC;AAEF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,EACd,cAAc,SAAI,GACjB,MAAM,CAGR;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAI7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAwBrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAEb,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GACvC,CAAC,EAAE,CAWL;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,KAC5C,CAAC,IAAI,CAAQ,CAAC;AAEjB,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAChD,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAEtB;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE5C,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,MAAM,CAAC,EACjB,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAE1E;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,eAAO,MAAM,yBAAyB,GAAI,cAEvC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,YAAqC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAErD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,MAAK,MAAU,KACd,MAGF,CAAC;AAEF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,EACd,cAAc,SAAI,GACjB,MAAM,CAGR;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,WAOrC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,WAOtD"}
@@ -53,6 +53,22 @@ function shortenAddress(address, slashIndex = 6, rightCutLength = 4) {
53
53
  function replaceUnderscoresWithSpaces(str) {
54
54
  return str.replace(/_/g, " ");
55
55
  }
56
+ function isValidUrl(url) {
57
+ try {
58
+ new URL(url);
59
+ return true;
60
+ } catch {
61
+ return false;
62
+ }
63
+ }
64
+ function unorderedShallowEqual(a, b) {
65
+ if (a.length !== b.length) return false;
66
+ const setA = new Set(a);
67
+ for (const item of b) {
68
+ if (!setA.has(item)) return false;
69
+ }
70
+ return true;
71
+ }
56
72
 
57
- export { assertProp, cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonNullableEntry, isTruthy, replaceUnderscoresWithSpaces, shortenAddress, shortenText, stringIncludes };
73
+ export { assertProp, cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonNullableEntry, isTruthy, isValidUrl, replaceUnderscoresWithSpaces, shortenAddress, shortenText, stringIncludes, unorderedShallowEqual };
58
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { assert } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(\n x: T | false | 0 | 0n | \"\" | null | undefined\n): x is T => !!x;\n\nexport function isNonNullableEntry<T>(\n entry: [key: string, value: T | null | undefined]\n): entry is [string, T] {\n return entry[1] !== null && entry[1] !== undefined;\n}\n\ntype ReturnIfTruthy<T> = typeof isTruthy<T>;\n\nexport function assertProp<\n T extends Record<string, unknown>,\n K extends keyof T,\n>(obj: T, prop: K): asserts obj is T & { [P in K]-?: ReturnIfTruthy<T[P]> } {\n assert(isTruthy(obj[prop]), `${String(prop)} is required`);\n}\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport function replaceUnderscoresWithSpaces(str: string): string {\n return str.replace(/_/g, \" \");\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","isNonNullableEntry","entry","undefined","assertProp","obj","prop","assert","String","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","replaceUnderscoresWithSpaces"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { assert } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(\n x: T | false | 0 | 0n | \"\" | null | undefined\n): x is T => !!x;\n\nexport function isNonNullableEntry<T>(\n entry: [key: string, value: T | null | undefined]\n): entry is [string, T] {\n return entry[1] !== null && entry[1] !== undefined;\n}\n\ntype ReturnIfTruthy<T> = typeof isTruthy<T>;\n\nexport function assertProp<\n T extends Record<string, unknown>,\n K extends keyof T,\n>(obj: T, prop: K): asserts obj is T & { [P in K]-?: ReturnIfTruthy<T[P]> } {\n assert(isTruthy(obj[prop]), `${String(prop)} is required`);\n}\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport function replaceUnderscoresWithSpaces(str: string): string {\n return str.replace(/_/g, \" \");\n}\n\nexport function isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function unorderedShallowEqual<T>(a: T[], b: T[]) {\n if (a.length !== b.length) return false;\n const setA = new Set(a);\n for (const item of b) {\n if (!setA.has(item)) return false;\n }\n return true;\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","isNonNullableEntry","entry","undefined","assertProp","obj","prop","assert","String","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","replaceUnderscoresWithSpaces","isValidUrl","url","URL","unorderedShallowEqual","setA","item"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const getDefaultTheme: () => "light" | "dark";
2
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/theme.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,QAAO,OAAO,GAAG,MAU5C,CAAC"}
@@ -0,0 +1,10 @@
1
+ const getDefaultTheme = () => {
2
+ if (typeof window !== "undefined" && window.matchMedia) {
3
+ const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
4
+ return prefersDark ? "dark" : "light";
5
+ }
6
+ return "light";
7
+ };
8
+
9
+ export { getDefaultTheme };
10
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sources":["../../../src/lib/utils/theme.ts"],"sourcesContent":["// Function to get the default theme based on system preference\nexport const getDefaultTheme = (): \"light\" | \"dark\" => {\n // Check if we're in a browser environment\n if (typeof window !== \"undefined\" && window.matchMedia) {\n const prefersDark = window.matchMedia(\n \"(prefers-color-scheme: dark)\"\n ).matches;\n return prefersDark ? \"dark\" : \"light\";\n }\n // Fallback to light theme if not in browser or media query not supported\n return \"light\";\n};\n"],"names":["getDefaultTheme","window","matchMedia","prefersDark","matches"],"mappings":"AACO,MAAMA,kBAAkBA,MAAwB;AAErD,EAAA,IAAI,OAAOC,MAAAA,KAAW,WAAA,IAAeA,MAAAA,CAAOC,UAAAA,EAAY;AACtD,IAAA,MAAMC,WAAAA,GAAcF,MAAAA,CAAOC,UAAAA,CACzB,8BACF,CAAA,CAAEE,OAAAA;AACF,IAAA,OAAOD,cAAc,MAAA,GAAS,OAAA;AAAA,EAChC;AAEA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
31
+ walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/config.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
6
6
 
7
7
  const connectors = [
8
8
  walletConnect({
9
- projectId: "9796e40630a6bea7605ac281b0deb939"
9
+ projectId: "7535ce67d223b89670980f2442899904"
10
10
  }),
11
11
  injected(),
12
12
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
@@ -21,7 +21,8 @@ if (isInIframe) {
21
21
  const wagmiConfig = createConfig({
22
22
  chains,
23
23
  connectors,
24
- transports
24
+ transports,
25
+ syncConnectedChain: false
25
26
  });
26
27
 
27
28
  export { wagmiConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInsideSafeIframe\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n chains,\n connectors,\n transports,\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","chains","transports"],"mappings":";;;;;;AAaA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,MAAAA;AAAAA,EACAX,UAAAA;AAAAA,EACAY;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"config.js","sources":["../../../../src/lib/web3/wagmi/config.ts"],"sourcesContent":["import { createConfig, type CreateConnectorFn } from \"wagmi\";\nimport {\n injected,\n // metaMask,\n safe,\n walletConnect,\n coinbaseWallet,\n} from \"wagmi/connectors\";\nimport { chains } from \"./constants\";\nimport { transports } from \"./transports\";\nimport { isInIframe } from \"./isInsideSafeIframe\";\n\n// can add more connectors to cover wallets Privy doesn't support, but need to change UI to allow connection\nconst connectors = [\n walletConnect({\n projectId: import.meta.env.VITE_WALLET_CONNECT_ID,\n }) as CreateConnectorFn,\n injected() as CreateConnectorFn,\n // metaMask() as CreateConnectorFn, // injected() detects metamask already\n coinbaseWallet() as CreateConnectorFn,\n // raw returned types result in\n // The inferred type of 'config' cannot be named without a reference to '.pnpm/@safe-global+safe-apps-provider@0.18.6_typescript@5.8.3/node_modules/@safe-global/safe-apps-provider'. This is likely not portable. A type annotation is necessary.\n\n // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case\n];\n// @TODO see how we can implement Ledger connector, borrow it from rainbowkit?\n\nif (isInIframe) {\n // when widget is in an App inside iframe, chances are we are in Safe web app,\n // allow Safe connector to be used.\n // we can't know if we are inside specifically Safe iframe until we try to connect, though.\n // A check for that is in isInsideSafeIframe.ts\n connectors.unshift(safe());\n}\n\nexport const wagmiConfig = createConfig({\n chains,\n connectors,\n transports,\n syncConnectedChain: false,\n});\n\ndeclare module \"wagmi\" {\n interface Register {\n config: typeof wagmiConfig;\n }\n}\n"],"names":["connectors","walletConnect","projectId","import","injected","coinbaseWallet","isInIframe","unshift","safe","wagmiConfig","createConfig","chains","transports","syncConnectedChain"],"mappings":";;;;;;AAaA,MAAMA,UAAAA,GAAa;AAAA,EACjBC,aAAAA,CAAc;AAAA,IACZC,SAAAA,EAAWC;AAAAA,GACZ,CAAA;AAAA,EACDC,QAAAA,EAAS;AAAA;AAAA,EAETC,cAAAA;AAAe;AAAA;AAAA;AAIf,CAAA;AAIF,IAAIC,UAAAA,EAAY;AAKdN,EAAAA,UAAAA,CAAWO,OAAAA,CAAQC,MAAM,CAAA;AAC3B;AAEO,MAAMC,cAAcC,YAAAA,CAAa;AAAA,EACtCC,MAAAA;AAAAA,EACAX,UAAAA;AAAAA,EACAY,UAAAA;AAAAA,EACAC,kBAAAA,EAAoB;AACtB,CAAC;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { Chain } from 'wagmi/chains';
2
2
  import { SupportedChainId } from './types';
3
+ import { NonEmptyArray } from 'ts-essentials';
3
4
  export declare const chains: readonly [{
4
5
  blockExplorers: {
5
6
  readonly default: {
@@ -1165,7 +1166,7 @@ export declare const chains: readonly [{
1165
1166
  readonly transaction: typeof import('viem/chains').serializeTransactionOpStack;
1166
1167
  };
1167
1168
  }];
1168
- export declare const supportedChainIds: (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[];
1169
+ export declare const supportedChainIds: NonEmptyArray<SupportedChainId>;
1169
1170
  export declare const chainConfigMap: Record<SupportedChainId, Chain & {
1170
1171
  id: SupportedChainId;
1171
1172
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"sourcesContent":["import { type Chain } from \"wagmi/chains\";\n\nimport {\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"./supportedChains\";\n\nimport type { SupportedChainId } from \"./types\";\n\nexport const chains = [\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n] as const;\n\nexport const supportedChainIds = chains.map((chain) => chain.id);\n\nexport const chainConfigMap: Record<\n SupportedChainId,\n Chain & { id: SupportedChainId }\n> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [bsc.id]: bsc,\n [avalanche.id]: avalanche,\n [arbitrum.id]: arbitrum,\n [optimism.id]: optimism,\n [base.id]: base,\n [gnosis.id]: gnosis,\n [sonic.id]: sonic,\n [unichain.id]: unichain,\n};\n"],"names":["chains","mainnet","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","supportedChainIds","map","chain","id","chainConfigMap"],"mappings":";;AAiBO,MAAMA,MAAAA,GAAS,CACpBC,OAAAA,EACAC,OAAAA,EACAC,GAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,KAAAA,EACAC,QAAQ;AAGH,MAAMC,iBAAAA,GAAoBX,MAAAA,CAAOY,GAAAA,CAAKC,CAAAA,KAAAA,KAAUA,MAAMC,EAAE;AAExD,MAAMC,cAAAA,GAGT;AAAA,EACF,CAACd,OAAAA,CAAQa,EAAE,GAAGb,OAAAA;AAAAA,EACd,CAACC,OAAAA,CAAQY,EAAE,GAAGZ,OAAAA;AAAAA,EACd,CAACC,GAAAA,CAAIW,EAAE,GAAGX,GAAAA;AAAAA,EACV,CAACC,SAAAA,CAAUU,EAAE,GAAGV,SAAAA;AAAAA,EAChB,CAACC,QAAAA,CAASS,EAAE,GAAGT,QAAAA;AAAAA,EACf,CAACC,QAAAA,CAASQ,EAAE,GAAGR,QAAAA;AAAAA,EACf,CAACC,IAAAA,CAAKO,EAAE,GAAGP,IAAAA;AAAAA,EACX,CAACC,MAAAA,CAAOM,EAAE,GAAGN,MAAAA;AAAAA,EACb,CAACC,KAAAA,CAAMK,EAAE,GAAGL,KAAAA;AAAAA,EACZ,CAACC,QAAAA,CAASI,EAAE,GAAGJ;AACjB;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/lib/web3/wagmi/constants.ts"],"sourcesContent":["import { type Chain } from \"wagmi/chains\";\n\nimport {\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"./supportedChains\";\n\nimport type { SupportedChainId } from \"./types\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport const chains = [\n mainnet,\n polygon,\n bsc,\n avalanche,\n arbitrum,\n optimism,\n base,\n gnosis,\n sonic,\n unichain,\n] as const;\n\nexport const supportedChainIds = chains.map(\n (chain) => chain.id\n) as NonEmptyArray<SupportedChainId>;\n\nexport const chainConfigMap: Record<\n SupportedChainId,\n Chain & { id: SupportedChainId }\n> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [bsc.id]: bsc,\n [avalanche.id]: avalanche,\n [arbitrum.id]: arbitrum,\n [optimism.id]: optimism,\n [base.id]: base,\n [gnosis.id]: gnosis,\n [sonic.id]: sonic,\n [unichain.id]: unichain,\n};\n"],"names":["chains","mainnet","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","supportedChainIds","map","chain","id","chainConfigMap"],"mappings":";;AAkBO,MAAMA,MAAAA,GAAS,CACpBC,OAAAA,EACAC,OAAAA,EACAC,GAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,KAAAA,EACAC,QAAQ;AAGH,MAAMC,iBAAAA,GAAoBX,MAAAA,CAAOY,GAAAA,CACrCC,CAAAA,KAAAA,KAAUA,MAAMC,EACnB;AAEO,MAAMC,cAAAA,GAGT;AAAA,EACF,CAACd,OAAAA,CAAQa,EAAE,GAAGb,OAAAA;AAAAA,EACd,CAACC,OAAAA,CAAQY,EAAE,GAAGZ,OAAAA;AAAAA,EACd,CAACC,GAAAA,CAAIW,EAAE,GAAGX,GAAAA;AAAAA,EACV,CAACC,SAAAA,CAAUU,EAAE,GAAGV,SAAAA;AAAAA,EAChB,CAACC,QAAAA,CAASS,EAAE,GAAGT,QAAAA;AAAAA,EACf,CAACC,QAAAA,CAASQ,EAAE,GAAGR,QAAAA;AAAAA,EACf,CAACC,IAAAA,CAAKO,EAAE,GAAGP,IAAAA;AAAAA,EACX,CAACC,MAAAA,CAAOM,EAAE,GAAGN,MAAAA;AAAAA,EACb,CAACC,KAAAA,CAAMK,EAAE,GAAGL,KAAAA;AAAAA,EACZ,CAACC,QAAAA,CAASI,EAAE,GAAGJ;AACjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\n\nexport const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["isInIframe","window","parent","logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","removeEventListener","success","addEventListener","reason","postMessage"],"mappings":"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"}
1
+ {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\n\nexport const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["isInIframe","window","parent","logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","removeEventListener","success","addEventListener","reason","postMessage"],"mappings":"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"}