@velora-dex/widget 0.1.3 → 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 (428) 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/widget/AppHeader/Activities/Activities.js +4 -12
  22. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  23. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  24. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  26. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  27. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  28. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  29. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  30. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  31. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  32. package/dist/components/widget/DexesList/DexesList.js +3 -14
  33. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  34. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  35. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +131 -115
  36. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  37. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  38. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +4 -12
  39. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  40. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  41. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  42. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  43. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  44. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  45. package/dist/components/widget/Dialog/state/dialogAtom.js +24 -26
  46. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  47. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  48. package/dist/components/widget/Drawer/index.js.map +1 -1
  49. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  50. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  51. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  52. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  53. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  54. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +84 -66
  55. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  56. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  57. package/dist/components/widget/Line/Line.js.map +1 -1
  58. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  59. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  60. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +28 -30
  61. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  62. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  63. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  64. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  65. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +1 -1
  66. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  67. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +1 -1
  68. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  69. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  70. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  71. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  72. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  73. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  74. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  75. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  76. package/dist/components/widget/SwapRate/SwapRate.js +75 -43
  77. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  78. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  79. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  80. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  81. package/dist/components/widget/TokenInput/index.js.map +1 -1
  82. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  83. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  84. package/dist/components/widget/TradeOverview/Stepper.js +23 -38
  85. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  86. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  87. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +36 -27
  88. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  89. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +79 -36
  90. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  91. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  92. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -0
  93. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  94. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  95. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  96. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  97. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  98. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  99. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  100. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  101. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  102. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  103. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  104. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  105. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  106. package/dist/components/widget/TransactionDetails/TransactionListItem.js +57 -38
  107. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  108. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  109. package/dist/components/widget/Warning/Warning.js.map +1 -1
  110. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  111. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  112. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  113. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +72 -90
  114. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  115. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  116. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +141 -84
  117. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  118. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  119. package/dist/configurator/Configurator.d.ts.map +1 -1
  120. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +5 -0
  121. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -0
  122. package/dist/configurator/components/CrossChainSwitcher.d.ts +5 -0
  123. package/dist/configurator/components/CrossChainSwitcher.d.ts.map +1 -0
  124. package/dist/configurator/components/DeltaSwitcher.d.ts +5 -0
  125. package/dist/configurator/components/DeltaSwitcher.d.ts.map +1 -0
  126. package/dist/configurator/components/DevTools.d.ts +7 -0
  127. package/dist/configurator/components/DevTools.d.ts.map +1 -0
  128. package/dist/configurator/components/EnabledChainsSelector.d.ts +8 -0
  129. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -0
  130. package/dist/configurator/components/FormPropsInputs.d.ts +6 -0
  131. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -0
  132. package/dist/configurator/components/PanelHeader.d.ts +6 -0
  133. package/dist/configurator/components/PanelHeader.d.ts.map +1 -0
  134. package/dist/configurator/components/PartnerInput.d.ts +5 -0
  135. package/dist/configurator/components/PartnerInput.d.ts.map +1 -0
  136. package/dist/configurator/components/PrivyInputs.d.ts +7 -0
  137. package/dist/configurator/components/PrivyInputs.d.ts.map +1 -0
  138. package/dist/configurator/components/ThemeSwitcher.d.ts +6 -0
  139. package/dist/configurator/components/ThemeSwitcher.d.ts.map +1 -0
  140. package/dist/configurator/components/TokenListsInput.d.ts +5 -0
  141. package/dist/configurator/components/TokenListsInput.d.ts.map +1 -0
  142. package/dist/configurator/components/TradeModesSelector.d.ts +7 -0
  143. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -0
  144. package/dist/configurator/components/WidgetModeSwitcher.d.ts +5 -0
  145. package/dist/configurator/components/WidgetModeSwitcher.d.ts.map +1 -0
  146. package/dist/configurator/components/common/DetailWithTooltip.d.ts +3 -0
  147. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -0
  148. package/dist/configurator/components/common/Input.d.ts +8 -0
  149. package/dist/configurator/components/common/Input.d.ts.map +1 -0
  150. package/dist/configurator/components/common/Switch.d.ts +12 -0
  151. package/dist/configurator/components/common/Switch.d.ts.map +1 -0
  152. package/dist/configurator/state/themeAtom.d.ts +3 -0
  153. package/dist/configurator/state/themeAtom.d.ts.map +1 -0
  154. package/dist/core/ConnectWalletDrawerButton.js +53 -66
  155. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  156. package/dist/core/LimitOrderButton.js.map +1 -1
  157. package/dist/core/LimitOrderDetails.js.map +1 -1
  158. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  159. package/dist/core/OtcOrderButton.js +4 -1
  160. package/dist/core/OtcOrderButton.js.map +1 -1
  161. package/dist/core/OtcOrderDetails.js.map +1 -1
  162. package/dist/core/Toaster.js.map +1 -1
  163. package/dist/core/TradeFlowButton.d.ts.map +1 -1
  164. package/dist/core/TradeFlowButton.js +414 -621
  165. package/dist/core/TradeFlowButton.js.map +1 -1
  166. package/dist/core/Updaters.js.map +1 -1
  167. package/dist/core/Warnings.js.map +1 -1
  168. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  169. package/dist/core/index.js.map +1 -1
  170. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  171. package/dist/core/inputs/hooks/useTokenFromInputProps.js +83 -54
  172. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  173. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  174. package/dist/core/inputs/hooks/useTokenToInputProps.js +20 -28
  175. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  176. package/dist/core/inputs/state/common.js.map +1 -1
  177. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  178. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  179. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  180. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  181. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  182. package/dist/core/limit/useLimitNotSupported.js +12 -1
  183. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  184. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  185. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  186. package/dist/core/limit/useLimitRate.js.map +1 -1
  187. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  188. package/dist/core/limit/useLimitTokenFromInputProps.js +69 -52
  189. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  190. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  191. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  192. package/dist/core/logger.js +12 -14
  193. package/dist/core/logger.js.map +1 -1
  194. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  195. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  196. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  197. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  198. package/dist/core/otc/useOtcNotSupported.js +12 -1
  199. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  200. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  201. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  202. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  203. package/dist/core/otc/useOtcTokenFromInputProps.js +69 -52
  204. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  205. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  206. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  207. package/dist/core/state/chainToAtom.js.map +1 -1
  208. package/dist/core/state/configAtom.d.ts +2 -2
  209. package/dist/core/state/configAtom.d.ts.map +1 -1
  210. package/dist/core/state/configAtom.js +1 -7
  211. package/dist/core/state/configAtom.js.map +1 -1
  212. package/dist/core/state/configEffectAtom.js.map +1 -1
  213. package/dist/core/state/containerAtom.js.map +1 -1
  214. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  215. package/dist/core/state/externalProviderAtom.js.map +1 -1
  216. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  217. package/dist/core/state/tradeModeAtom.js.map +1 -1
  218. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  219. package/dist/core/swapDetails/useSwapDetailsListProps.js +34 -36
  220. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  221. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  222. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  223. package/dist/events/types/approve.d.ts +22 -6
  224. package/dist/events/types/approve.d.ts.map +1 -1
  225. package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
  226. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  227. package/dist/hooks/batch/useAwaitCalls.js +20 -16
  228. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  229. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  230. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  231. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -18
  232. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  233. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  234. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +4 -15
  235. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  236. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  237. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  238. package/dist/hooks/getCode/useIsContractAtAddress.js +30 -46
  239. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  240. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  241. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +21 -12
  242. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  243. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  244. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +22 -12
  245. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  246. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  247. package/dist/hooks/otc/mutations/useFillOrder.js +10 -32
  248. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  249. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts +22 -3
  250. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts.map +1 -1
  251. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +39 -2
  252. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  253. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  254. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  255. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
  256. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  257. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  258. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +7 -4
  259. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  260. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +46 -4
  261. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  262. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  263. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +38 -36
  264. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  265. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  266. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  267. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  268. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  269. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  270. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  271. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  272. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  273. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  274. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +39 -31
  275. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  276. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +7 -15
  277. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  278. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  279. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  280. package/dist/hooks/sdk/useSpender.js.map +1 -1
  281. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -1
  282. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js +23 -13
  284. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  285. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  286. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  287. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +41 -10
  288. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  289. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +25 -0
  290. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -0
  291. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +88 -0
  292. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -0
  293. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +16 -0
  294. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -0
  295. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +83 -0
  296. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -0
  297. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  298. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -2
  299. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  300. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  301. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts +22 -3
  302. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  303. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +39 -2
  304. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  305. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  306. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  307. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  308. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  309. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  310. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  311. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  312. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts +9 -0
  313. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  314. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +49 -2
  315. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  316. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  317. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  318. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  319. package/dist/hooks/swap/tradeFlow/common/types.d.ts +17 -0
  320. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  321. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +3 -1
  322. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  323. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +164 -140
  324. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  325. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts +46 -0
  327. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts.map +1 -0
  328. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +328 -0
  329. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -0
  330. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +16 -14
  332. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +74 -0
  334. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -0
  335. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +274 -0
  336. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -0
  337. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts +15 -0
  338. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts.map +1 -0
  339. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +88 -0
  340. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -0
  341. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  342. package/dist/hooks/swap/tradeFlow/common/utils.d.ts +1 -0
  343. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  344. package/dist/hooks/swap/tradeFlow/common/utils.js +16 -1
  345. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  346. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +28 -23
  347. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  348. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +59 -17
  349. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  350. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  351. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -3
  352. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  353. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +61 -15
  354. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  355. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  356. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -18
  357. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  358. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  359. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  360. package/dist/hooks/tokens/allowance/useTokenAllowance.js +25 -15
  361. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  362. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +8 -10
  363. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  364. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  365. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  366. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +20 -37
  367. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  368. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  369. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +11 -19
  370. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  371. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  372. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  373. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +21 -25
  374. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  375. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  376. package/dist/hooks/tokens/useAllTokensWithFilter.js +121 -49
  377. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  378. package/dist/hooks/tokens/useNativeToken.js +1 -1
  379. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  380. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  381. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  382. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  383. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  384. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  385. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  386. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  387. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  388. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  389. package/dist/hooks/useBridgeInfo.js.map +1 -1
  390. package/dist/hooks/useCurrentChain.js.map +1 -1
  391. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  392. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  393. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  394. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  395. package/dist/hooks/useMinViemClient.js.map +1 -1
  396. package/dist/hooks/useSDK.d.ts +3 -2
  397. package/dist/hooks/useSDK.d.ts.map +1 -1
  398. package/dist/hooks/useSDK.js +37 -8
  399. package/dist/hooks/useSDK.js.map +1 -1
  400. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  401. package/dist/hooks/useSlippage.js.map +1 -1
  402. package/dist/lib/utils/approval.js.map +1 -1
  403. package/dist/lib/utils/theme.d.ts +2 -0
  404. package/dist/lib/utils/theme.d.ts.map +1 -0
  405. package/dist/lib/utils/theme.js +10 -0
  406. package/dist/lib/utils/theme.js.map +1 -0
  407. package/dist/lib/web3/privy/config.js +1 -1
  408. package/dist/lib/web3/wagmi/config.js +1 -1
  409. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  410. package/dist/styles.css +80 -39
  411. package/dist/tokens/hooks.js.map +1 -1
  412. package/dist/tokens/lists/state/effects.js.map +1 -1
  413. package/dist/tokens/queries.js +6 -10
  414. package/dist/tokens/queries.js.map +1 -1
  415. package/dist/tokens/stabeCoins/hooks.js +3 -5
  416. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  417. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  418. package/dist/transactions/queries/ensureCallsStatus.d.ts +1 -0
  419. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  420. package/dist/transactions/queries/ensureCallsStatus.js +7 -5
  421. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  422. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  423. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  424. package/dist/transactions/types.d.ts +21 -1
  425. package/dist/transactions/types.d.ts.map +1 -1
  426. package/package.json +2 -2
  427. 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
  428. /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
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentChain.js","sources":["../../src/hooks/useCurrentChain.ts"],"sourcesContent":["import { chainConfigMap } from \"@/lib/web3/wagmi/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Chain } from \"viem\";\nimport { useChainId } from \"wagmi\";\n\n/**\n Only returns config for chains configured via createConfig's chains parameter.\n If the active connection chainId is not from a chain included in your Wagmi Config, useCurrentChainConfig will return the last configured chain.\n*/\nexport const useCurrentChainConfig = (\n forcedChainId?: SupportedChainId\n): Chain & { id: SupportedChainId } => {\n const currentChainId = useChainId();\n\n return chainConfigMap[forcedChainId ?? currentChainId];\n};\n"],"names":["useCurrentChainConfig","forcedChainId","currentChainId","useChainId","chainConfigMap"],"mappings":";;;AASO,MAAMA,wBAAwBC,CAAAA,aAAAA,KAAA;AAGnC,EAAA,MAAAC,iBAAuBC,UAAAA,EAAW;AAAE,EAAA,OAAAC,cAAAA,CAEdH,iBAAiBC,cAAc,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"useCurrentChain.js","sources":["../../src/hooks/useCurrentChain.ts"],"sourcesContent":["import { chainConfigMap } from \"@/lib/web3/wagmi/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Chain } from \"viem\";\nimport { useChainId } from \"wagmi\";\n\n/**\n Only returns config for chains configured via createConfig's chains parameter.\n If the active connection chainId is not from a chain included in your Wagmi Config, useCurrentChainConfig will return the last configured chain.\n*/\nexport const useCurrentChainConfig = (\n forcedChainId?: SupportedChainId\n): Chain & { id: SupportedChainId } => {\n const currentChainId = useChainId();\n\n return chainConfigMap[forcedChainId ?? currentChainId];\n};\n"],"names":["useCurrentChainConfig","forcedChainId","currentChainId","useChainId","chainConfigMap"],"mappings":";;;AASO,MAAMA,wBAAwBC,CAAAA,aAAAA,KAAA;AAGnC,EAAA,MAAAC,iBAAuBC,UAAAA,EAAW;AAAE,EAAA,OAE7BC,cAAAA,CAAeH,iBAAAC,cAA+B,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDebouncedInputState.js","sources":["../../src/hooks/useDebouncedInputState.ts"],"sourcesContent":["import { useState, useCallback, useDeferredValue } from \"react\";\n\nexport const useDeferredInputState = ({ defaultFilter = \"\" } = {}): {\n inputValue: string;\n setInputValue: (value: string) => void;\n deferredInputValue: string;\n effectiveInputValue: string;\n clearInputValue: () => void;\n handleInputValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n} => {\n const [inputValue, setInputValue] = useState<string>(defaultFilter);\n\n const deferredInputValue = useDeferredValue(inputValue);\n\n // Use immediate value if input is empty, otherwise use deferred\n const effectiveInputValue =\n inputValue === \"\" ? inputValue : deferredInputValue;\n\n const clearInputValue = useCallback(() => setInputValue(\"\"), []);\n\n const handleInputValueChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(event.target.value);\n },\n [setInputValue]\n );\n\n return {\n inputValue,\n setInputValue,\n deferredInputValue,\n effectiveInputValue,\n clearInputValue,\n handleInputValueChange,\n };\n};\n"],"names":["useDeferredInputState","t0","$","_c","t1","defaultFilter","t2","undefined","inputValue","setInputValue","useState","deferredInputValue","useDeferredValue","effectiveInputValue","t3","Symbol","for","clearInputValue","t4","event","target","value","handleInputValueChange","t5"],"mappings":";;;AAEO,MAAMA,wBAAwBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAACG,IAAAA,EAAAA,MAAAH;AAA2BC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3B,EAAA,MAAA;AAAA,IAAAG,aAAAA,EAAAC;AAAAA,GAAA,GAAAF,EAAAA;AAAE,EAAA,MAAAC,aAAAA,GAAAC,EAAAA,KAAkBC,MAAAA,GAAF,EAAA,GAAhBD,EAAAA;AAQtC,EAAA,MAAA,CAAAE,UAAAA,EAAAC,aAAA,CAAA,GAAoCC,SAAiBL,aAAa,CAAA;AAElE,EAAA,MAAAM,kBAAAA,GAA2BC,iBAAiBJ,UAAU,CAAA;AAGtD,EAAA,MAAAK,mBAAAA,GACEL,UAAAA,KAAe,EAAA,GAAKA,UAAAA,GAAaG,kBAAAA;AAAmB,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAa,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAElBF,IAAAA,EAAAA,GAAAA,MAAML,cAAc,EAAE,CAAA;AAACP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3D,EAAA,MAAAe,eAAAA,GAAwBH,EAAAA;AAAyC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAhB,EAAA,CAAA,CAAA,KAAAa,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAG/DE,IAAAA,EAAAA,GAAAC,CAAAA,KAAAA,KAAA;AACEV,MAAAA,aAAAA,CAAcU,KAAAA,CAAKC,OAAAC,KAAa,CAAA;AAAA,IAAC,CAAA;AAClCnB,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHH,EAAA,MAAAoB,sBAAAA,GAA+BJ,EAAAA;AAK7B,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAArB,CAAAA,CAAA,CAAA,CAAA,KAAAS,kBAAAA,IAAAT,CAAAA,QAAAW,mBAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAM,UAAAA,EAAA;AAEKe,IAAAA,EAAAA,GAAA;AAAA,MAAAf,UAAAA;AAAAA,MAAAC,aAAAA;AAAAA,MAAAE,kBAAAA;AAAAA,MAAAE,mBAAAA;AAAAA,MAAAI,eAAAA;AAAAA,MAAAK;AAAAA,KAAA;AAONpB,IAAAA,CAAAA,MAAAS,kBAAAA;AAAAT,IAAAA,CAAAA,MAAAW,mBAAAA;AAAAX,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPMqB,EAAAA;AAON;;;;"}
1
+ {"version":3,"file":"useDebouncedInputState.js","sources":["../../src/hooks/useDebouncedInputState.ts"],"sourcesContent":["import { useState, useCallback, useDeferredValue } from \"react\";\n\nexport const useDeferredInputState = ({ defaultFilter = \"\" } = {}): {\n inputValue: string;\n setInputValue: (value: string) => void;\n deferredInputValue: string;\n effectiveInputValue: string;\n clearInputValue: () => void;\n handleInputValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n} => {\n const [inputValue, setInputValue] = useState<string>(defaultFilter);\n\n const deferredInputValue = useDeferredValue(inputValue);\n\n // Use immediate value if input is empty, otherwise use deferred\n const effectiveInputValue =\n inputValue === \"\" ? inputValue : deferredInputValue;\n\n const clearInputValue = useCallback(() => setInputValue(\"\"), []);\n\n const handleInputValueChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(event.target.value);\n },\n [setInputValue]\n );\n\n return {\n inputValue,\n setInputValue,\n deferredInputValue,\n effectiveInputValue,\n clearInputValue,\n handleInputValueChange,\n };\n};\n"],"names":["useDeferredInputState","t0","$","_c","t1","defaultFilter","t2","undefined","inputValue","setInputValue","useState","deferredInputValue","useDeferredValue","effectiveInputValue","t3","Symbol","for","clearInputValue","t4","event","target","value","handleInputValueChange","t5"],"mappings":";;;AAEO,MAAMA,wBAAwBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAACG,IAAAA,EAAAA,GAAA,EAA0B,CAA1BH;AAA2BC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3B,EAAA,MAAA;AAAA,IAAAG,aAAAA,EAAAC;AAAAA,GAAA,GAAAF,EAAAA;AAAE,EAAA,MAAAC,aAAAA,GAAAC,EAAAA,KAAAC,MAAAA,GAAA,EAAA,GAAAD,EAAAA;AAQtC,EAAA,MAAA,CAAAE,UAAAA,EAAAC,aAAA,CAAA,GAAoCC,SAAiBL,aAAa,CAAA;AAElE,EAAA,MAAAM,kBAAAA,GAA2BC,iBAAiBJ,UAAU,CAAA;AAGtD,EAAA,MAAAK,mBAAAA,GACEL,UAAAA,KAAe,EAAA,GAAfA,UAAAA,GAAAG,kBAAAA;AAAoD,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAa,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAElBF,IAAAA,EAAAA,GAAAA,MAAML,cAAc,EAAE,CAAA;AAACP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3D,EAAA,MAAAe,eAAAA,GAAwBH,EAAAA;AAAyC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAhB,EAAA,CAAA,CAAA,KAAAa,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAG/DE,IAAAA,EAAAA,GAAAC,CAAAA,KAAAA,KAAA;AACEV,MAAAA,aAAAA,CAAcU,KAAAA,CAAKC,OAAOC,KAAM,CAAA;AAAA,IAAC,CAAA;AAClCnB,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHH,EAAA,MAAAoB,sBAAAA,GAA+BJ,EAAAA;AAK7B,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAArB,CAAAA,CAAA,CAAA,CAAA,KAAAS,kBAAAA,IAAAT,CAAAA,QAAAW,mBAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAM,UAAAA,EAAA;AAEKe,IAAAA,EAAAA,GAAA;AAAA,MAAAf,UAAAA;AAAAA,MAAAC,aAAAA;AAAAA,MAAAE,kBAAAA;AAAAA,MAAAE,mBAAAA;AAAAA,MAAAI,eAAAA;AAAAA,MAAAK;AAAAA,KAOP;AAACpB,IAAAA,CAAAA,MAAAS,kBAAAA;AAAAT,IAAAA,CAAAA,MAAAW,mBAAAA;AAAAX,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPMqB,EAAAA;AAON;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEIP1559Enabled.js","sources":["../../src/hooks/useEIP1559Enabled.ts"],"sourcesContent":["import { eip1559EnabledAtom } from \"@/components/widget/TradeParameters/state/eip1559ParamAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\nimport { gasPricesConfig } from \"./gas/config\";\n\nexport function useEIP1559Enabled() {\n const chainId = useChainId();\n const eip1559EnabledInSettings = useAtomValue(eip1559EnabledAtom);\n const eip1559EnabledOnApi = gasPricesConfig[chainId].eip1559;\n return {\n enabled: eip1559EnabledInSettings && eip1559EnabledOnApi,\n eip1559EnabledInSettings,\n eip1559EnabledOnApi,\n };\n}\n"],"names":["useEIP1559Enabled","$","_c","chainId","useChainId","eip1559EnabledInSettings","useAtomValue","eip1559EnabledAtom","eip1559EnabledOnApi","gasPricesConfig","eip1559","t0","t1","enabled"],"mappings":";;;;;;AAKO,SAAAA,iBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAAC,wBAAAA,GAAiCC,aAAAC,kBAA+B,CAAA;AAChE,EAAA,MAAAC,mBAAAA,GAAAC,eAAAA,CAA4CN,OAAO,CAAA,CAAAO,OAAAA;AAExC,EAAA,MAAAC,KAAAN,wBAAAA,IAA4BG,mBAAAA;AAAmB,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAI,wBAAAA,IAAAJ,CAAAA,QAAAO,mBAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAU,EAAAA,EAAA;AADnDC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAAAA,EACIF,EAAAA;AAAAA,MAA+CN,wBAAAA;AAAAA,MAAAG;AAAAA,KAAA;AAGzDP,IAAAA,CAAAA,MAAAI,wBAAAA;AAAAJ,IAAAA,CAAAA,MAAAO,mBAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJMW,EAAAA;AAIN;;;;"}
1
+ {"version":3,"file":"useEIP1559Enabled.js","sources":["../../src/hooks/useEIP1559Enabled.ts"],"sourcesContent":["import { eip1559EnabledAtom } from \"@/components/widget/TradeParameters/state/eip1559ParamAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\nimport { gasPricesConfig } from \"./gas/config\";\n\nexport function useEIP1559Enabled() {\n const chainId = useChainId();\n const eip1559EnabledInSettings = useAtomValue(eip1559EnabledAtom);\n const eip1559EnabledOnApi = gasPricesConfig[chainId].eip1559;\n return {\n enabled: eip1559EnabledInSettings && eip1559EnabledOnApi,\n eip1559EnabledInSettings,\n eip1559EnabledOnApi,\n };\n}\n"],"names":["useEIP1559Enabled","$","_c","chainId","useChainId","eip1559EnabledInSettings","useAtomValue","eip1559EnabledAtom","eip1559EnabledOnApi","gasPricesConfig","eip1559","t0","t1","enabled"],"mappings":";;;;;;AAKO,SAAAA,iBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAAC,wBAAAA,GAAiCC,aAAaC,kBAAkB,CAAA;AAChE,EAAA,MAAAC,mBAAAA,GAA4BC,eAAAA,CAAgBN,OAAO,CAAA,CAACO,OAAAA;AAEzC,EAAA,MAAAC,KAAAN,wBAAAA,IAAAG,mBAAAA;AAA+C,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAI,wBAAAA,IAAAJ,CAAAA,QAAAO,mBAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAU,EAAAA,EAAA;AADnDC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAAAA,EACIF,EAAAA;AAAAA,MAA+CN,wBAAAA;AAAAA,MAAAG;AAAAA,KAG1D;AAACP,IAAAA,CAAAA,MAAAI,wBAAAA;AAAAJ,IAAAA,CAAAA,MAAAO,mBAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJMW,EAAAA;AAIN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalDeltaEnabled.js","sources":["../../src/hooks/useGlobalDeltaEnabled.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\n\nexport const useGlobalDeltaEnabled = () => {\n const chainId = useChainId();\n const widgetConfig = useWidgetConfig();\n const deltaParam = useAtomValue(deltaParamAtom);\n const swapMode = useAtomValue(swapModeAtom);\n\n const enabledInConfig = widgetConfig.enableDelta;\n const enabledInSettings = deltaParam;\n const enabledOnCurrentChain = deltaEnabledOnAPI[chainId];\n const enabledGlobally =\n enabledInConfig && enabledInSettings && enabledOnCurrentChain;\n\n return {\n enabledGlobally,\n enabledInConfig,\n enabledInSettings,\n enabledOnCurrentChain,\n isDeltaMode: swapMode === \"delta\",\n };\n};\n"],"names":["useGlobalDeltaEnabled","$","_c","chainId","useChainId","widgetConfig","useWidgetConfig","deltaParam","useAtomValue","deltaParamAtom","swapMode","swapModeAtom","enabledInConfig","enableDelta","enabledInSettings","enabledOnCurrentChain","deltaEnabledOnAPI","enabledGlobally","t0","t1","isDeltaMode"],"mappings":";;;;;;;;AAOO,MAAMA,wBAAwBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACnC,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAAC,eAAqBC,eAAAA,EAAgB;AACrC,EAAA,MAAAC,UAAAA,GAAmBC,aAAAC,cAA2B,CAAA;AAC9C,EAAA,MAAAC,QAAAA,GAAiBF,aAAAG,YAAyB,CAAA;AAE1C,EAAA,MAAAC,kBAAwBP,YAAAA,CAAYQ,WAAAA;AACpC,EAAA,MAAAC,iBAAAA,GAA0BP,UAAAA;AAC1B,EAAA,MAAAQ,qBAAAA,GAAAC,kBAAgDb,OAAO,CAAA;AACvD,EAAA,MAAAc,eAAAA,GACEL,mBAAmBE,iBAAAA,IAAqBC,qBAAAA;AAO3B,EAAA,MAAAG,KAAAR,QAAAA,KAAa,OAAA;AAAO,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAlB,EAAA,CAAA,CAAA,KAAAgB,mBAAAhB,CAAAA,CAAA,CAAA,MAAAW,eAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAa,iBAAAA,IAAAb,EAAA,CAAA,CAAA,KAAAc,yBAAAd,CAAAA,QAAAiB,EAAAA,EAAA;AAL5BC,IAAAA,EAAAA,GAAA;AAAA,MAAAF,eAAAA;AAAAA,MAAAL,eAAAA;AAAAA,MAAAE,iBAAAA;AAAAA,MAAAC,qBAAAA;AAAAA,MAAAK,WAAAA,EAKQF;AAAAA,KAAoB;AAClCjB,IAAAA,CAAAA,MAAAgB,eAAAA;AAAAhB,IAAAA,CAAAA,MAAAW,eAAAA;AAAAX,IAAAA,CAAAA,MAAAa,iBAAAA;AAAAb,IAAAA,CAAAA,MAAAc,qBAAAA;AAAAd,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMkB,EAAAA;AAMN;;;;"}
1
+ {"version":3,"file":"useGlobalDeltaEnabled.js","sources":["../../src/hooks/useGlobalDeltaEnabled.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\n\nexport const useGlobalDeltaEnabled = () => {\n const chainId = useChainId();\n const widgetConfig = useWidgetConfig();\n const deltaParam = useAtomValue(deltaParamAtom);\n const swapMode = useAtomValue(swapModeAtom);\n\n const enabledInConfig = widgetConfig.enableDelta;\n const enabledInSettings = deltaParam;\n const enabledOnCurrentChain = deltaEnabledOnAPI[chainId];\n const enabledGlobally =\n enabledInConfig && enabledInSettings && enabledOnCurrentChain;\n\n return {\n enabledGlobally,\n enabledInConfig,\n enabledInSettings,\n enabledOnCurrentChain,\n isDeltaMode: swapMode === \"delta\",\n };\n};\n"],"names":["useGlobalDeltaEnabled","$","_c","chainId","useChainId","widgetConfig","useWidgetConfig","deltaParam","useAtomValue","deltaParamAtom","swapMode","swapModeAtom","enabledInConfig","enableDelta","enabledInSettings","enabledOnCurrentChain","deltaEnabledOnAPI","enabledGlobally","t0","t1","isDeltaMode"],"mappings":";;;;;;;;AAOO,MAAMA,wBAAwBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACnC,EAAA,MAAAC,UAAgBC,UAAAA,EAAW;AAC3B,EAAA,MAAAC,eAAqBC,eAAAA,EAAgB;AACrC,EAAA,MAAAC,UAAAA,GAAmBC,aAAaC,cAAc,CAAA;AAC9C,EAAA,MAAAC,QAAAA,GAAiBF,aAAaG,YAAY,CAAA;AAE1C,EAAA,MAAAC,kBAAwBP,YAAAA,CAAYQ,WAAAA;AACpC,EAAA,MAAAC,iBAAAA,GAA0BP,UAAAA;AAC1B,EAAA,MAAAQ,qBAAAA,GAA8BC,kBAAkBb,OAAO,CAAA;AACvD,EAAA,MAAAc,eAAAA,GACEL,mBAAAE,iBAAAA,IAAAC,qBAAAA;AAOa,EAAA,MAAAG,KAAAR,QAAAA,KAAa,OAAA;AAAO,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAlB,EAAA,CAAA,CAAA,KAAAgB,mBAAAhB,CAAAA,CAAA,CAAA,MAAAW,eAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAa,iBAAAA,IAAAb,EAAA,CAAA,CAAA,KAAAc,yBAAAd,CAAAA,QAAAiB,EAAAA,EAAA;AAL5BC,IAAAA,EAAAA,GAAA;AAAA,MAAAF,eAAAA;AAAAA,MAAAL,eAAAA;AAAAA,MAAAE,iBAAAA;AAAAA,MAAAC,qBAAAA;AAAAA,MAAAK,WAAAA,EAKQF;AAAAA,KACf;AAACjB,IAAAA,CAAAA,MAAAgB,eAAAA;AAAAhB,IAAAA,CAAAA,MAAAW,eAAAA;AAAAX,IAAAA,CAAAA,MAAAa,iBAAAA;AAAAb,IAAAA,CAAAA,MAAAc,qBAAAA;AAAAd,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMkB,EAAAA;AAMN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsCrosschainPossible.js","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"sourcesContent":["import { useIsTokenSupportedInDeltaQuery } from \"./swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\n\nexport function useIsCrosschainPossible({\n fromChainId,\n toChainId,\n tokenAddress,\n}: {\n fromChainId: number;\n toChainId?: number;\n tokenAddress?: string;\n}): {\n hasTokens: boolean;\n isLoading: boolean;\n tokenSupported?: boolean;\n tokenAddresses?: string[];\n isCrosschainPossible: boolean;\n} {\n const { data: bridgeInfo, isLoading: isBridgeInfoLoading } =\n useGetBridgeInfo();\n\n const tokenAddresses = toChainId\n ? bridgeInfo?.[fromChainId]?.[toChainId]\n : undefined;\n const hasTokens = tokenAddresses !== undefined && tokenAddresses.length > 0;\n\n const { data: tokenSupported, isLoading: isTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenAddress,\n chainId: fromChainId,\n });\n\n const isLoading = isBridgeInfoLoading || isTokenSupportedLoading;\n\n const isCrosschainPossible = hasTokens && !!tokenSupported;\n\n return {\n hasTokens,\n tokenSupported,\n isLoading,\n tokenAddresses,\n isCrosschainPossible,\n };\n}\n"],"names":["useIsCrosschainPossible","t0","$","_c","fromChainId","toChainId","tokenAddress","data","bridgeInfo","isLoading","isBridgeInfoLoading","useGetBridgeInfo","tokenAddresses","undefined","hasTokens","length","t1","token","chainId","tokenSupported","isTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isCrosschainPossible","t2"],"mappings":";;;;AAGO,SAAAA,wBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAiC,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAetC,EAAA,MAAA;AAAA,IAAAM,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC,SAAAA,EAAAC;AAAAA,MACEC,gBAAAA,EAAiB;AAEnB,EAAA,MAAAC,iBAAuBP,SAAAA,GACnBG,UAAAA,GAAaJ,WAAW,CAAA,GAAIC,SAAS,CAAA,GAAAQ,MAAAA;AAEzC,EAAA,MAAAC,SAAAA,GAAkBF,cAAAA,KAAcC,MAAAA,IAAkBD,cAAAA,CAAcG,MAAAA,GAAA,CAAA;AAAY,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAI,YAAAA,EAAA;AAG1CU,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EACvBX,YAAAA;AAAAA,MAAYY,OAAAA,EACVd;AAAAA,KAAW;AACrBF,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAK,IAAAA,EAAAY,cAAAA;AAAAA,IAAAV,SAAAA,EAAAW;AAAAA,GAAA,GACEC,gCAAgCL,EAG/B,CAAA;AAEH,EAAA,MAAAP,YAAkBC,mBAAAA,IAAuBU,uBAAAA;AAEzC,EAAA,MAAAE,oBAAAA,GAA6BR,SAAAA,IAAS,CAAA,CAAMK,cAAAA;AAAe,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAArB,EAAA,CAAA,CAAA,KAAAY,aAAAZ,CAAAA,CAAA,CAAA,MAAAoB,oBAAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,EAAA,CAAA,CAAA,KAAAU,kBAAAV,CAAAA,QAAAiB,cAAAA,EAAA;AAEpDI,IAAAA,EAAAA,GAAA;AAAA,MAAAT,SAAAA;AAAAA,MAAAK,cAAAA;AAAAA,MAAAV,SAAAA;AAAAA,MAAAG,cAAAA;AAAAA,MAAAU;AAAAA,KAAA;AAMNpB,IAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,MAAAoB,oBAAAA;AAAApB,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAU,cAAAA;AAAAV,IAAAA,CAAAA,MAAAiB,cAAAA;AAAAjB,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMqB,EAAAA;AAMN;;;;"}
1
+ {"version":3,"file":"useIsCrosschainPossible.js","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"sourcesContent":["import { useIsTokenSupportedInDeltaQuery } from \"./swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\n\nexport function useIsCrosschainPossible({\n fromChainId,\n toChainId,\n tokenAddress,\n}: {\n fromChainId: number;\n toChainId?: number;\n tokenAddress?: string;\n}): {\n hasTokens: boolean;\n isLoading: boolean;\n tokenSupported?: boolean;\n tokenAddresses?: string[];\n isCrosschainPossible: boolean;\n} {\n const { data: bridgeInfo, isLoading: isBridgeInfoLoading } =\n useGetBridgeInfo();\n\n const tokenAddresses = toChainId\n ? bridgeInfo?.[fromChainId]?.[toChainId]\n : undefined;\n const hasTokens = tokenAddresses !== undefined && tokenAddresses.length > 0;\n\n const { data: tokenSupported, isLoading: isTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenAddress,\n chainId: fromChainId,\n });\n\n const isLoading = isBridgeInfoLoading || isTokenSupportedLoading;\n\n const isCrosschainPossible = hasTokens && !!tokenSupported;\n\n return {\n hasTokens,\n tokenSupported,\n isLoading,\n tokenAddresses,\n isCrosschainPossible,\n };\n}\n"],"names":["useIsCrosschainPossible","t0","$","_c","fromChainId","toChainId","tokenAddress","data","bridgeInfo","isLoading","isBridgeInfoLoading","useGetBridgeInfo","tokenAddresses","undefined","hasTokens","length","t1","token","chainId","tokenSupported","isTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isCrosschainPossible","t2"],"mappings":";;;;AAGO,SAAAA,wBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAiC,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAetC,EAAA,MAAA;AAAA,IAAAM,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC,SAAAA,EAAAC;AAAAA,MACEC,gBAAAA,EAAiB;AAEnB,EAAA,MAAAC,iBAAuBP,SAAAA,GACnBG,UAAAA,GAAaJ,WAAW,CAAA,GAAIC,SAAS,CAAA,GADlBQ,MAAAA;AAGvB,EAAA,MAAAC,SAAAA,GAAkBF,cAAAA,KAAmBC,MAAAA,IAAaD,cAAAA,CAAcG,MAAAA,GAAU,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAI,YAAAA,EAAA;AAG1CU,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EACvBX,YAAAA;AAAAA,MAAYY,OAAAA,EACVd;AAAAA,KACX;AAACF,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAK,IAAAA,EAAAY,cAAAA;AAAAA,IAAAV,SAAAA,EAAAW;AAAAA,GAAA,GACEC,gCAAgCL,EAG/B,CAAA;AAEH,EAAA,MAAAP,YAAkBC,mBAAAA,IAAAU,uBAAAA;AAElB,EAAA,MAAAE,oBAAAA,GAA6BR,SAAAA,IAAA,CAAc,CAACK,cAAAA;AAAe,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAArB,EAAA,CAAA,CAAA,KAAAY,aAAAZ,CAAAA,CAAA,CAAA,MAAAoB,oBAAAA,IAAApB,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,EAAA,CAAA,CAAA,KAAAU,kBAAAV,CAAAA,QAAAiB,cAAAA,EAAA;AAEpDI,IAAAA,EAAAA,GAAA;AAAA,MAAAT,SAAAA;AAAAA,MAAAK,cAAAA;AAAAA,MAAAV,SAAAA;AAAAA,MAAAG,cAAAA;AAAAA,MAAAU;AAAAA,KAMP;AAACpB,IAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,MAAAoB,oBAAAA;AAAApB,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAU,cAAAA;AAAAV,IAAAA,CAAAA,MAAAiB,cAAAA;AAAAjB,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMqB,EAAAA;AAMN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMinViemClient.js","sources":["../../src/hooks/useMinViemClient.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useConnectorClient } from \"wagmi\";\nimport { readContract, signTypedData, writeContract } from \"viem/actions\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\n\ntype UseMinViemClientInput = {\n chainId?: SupportedChainId;\n account?: Address;\n};\n\ntype UseMinViemClientResult = {\n minClient?: MinViemClient;\n isLoading: boolean;\n error: Error | null;\n isError: boolean;\n};\n\nexport function useMinViemClient(\n options?: UseMinViemClientInput\n): UseMinViemClientResult {\n const {\n data: connectorClient,\n isLoading,\n error,\n isError,\n } = useConnectorClient(options);\n\n const minClient = useMemo<MinViemClient | undefined>(() => {\n if (!connectorClient) return;\n\n // walletClient(useWalletClient) has writeContract and signTypedData,\n // publicClient(usePublicClient) has readContract\n // sdk requires all of them,\n // easier to compose connectorClient + viem actions (readContract, writeContract)\n return {\n readContract: (params) => readContract(connectorClient, params),\n writeContract: (params) => writeContract(connectorClient, params),\n signTypedData: (params) => signTypedData(connectorClient, params),\n };\n }, [connectorClient]);\n\n return {\n minClient,\n isLoading,\n error,\n isError,\n };\n}\n"],"names":["useMinViemClient","options","$","_c","data","connectorClient","isLoading","error","isError","useConnectorClient","t0","bb0","undefined","t1","readContract","params","writeContract","params_0","signTypedData","params_1","minClient"],"mappings":";;;;;AAmBO,SAAAA,iBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,IAAAA,EAAAC,eAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAKIC,mBAAmBR,OAAO,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAAC,EAAAA,GAAAA,EAAA;AAAA,IAAA,IAAA,CAGzBN,eAAAA,EAAe;AAAEK,MAAAA,EAAAA,GAAAE,MAAAA;AAAO,MAAA,MAAAD,GAAAA;AAAAA,IAAA;AAAA,IAAA,IAAAE,GAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAG,eAAAA,EAAA;AAMtBQ,MAAAA,GAAAA,GAAA;AAAA,QAAAC,YAAAA,EAAAC,CAAAA,MAAAA,KACqBD,YAAAA,CAAaT,eAAAA,EAAiBU,MAAM,CAAA;AAAA,QAACC,aAAAA,EAAAC,CAAAA,QAAAA,KACpCD,aAAAA,CAAcX,eAAAA,EAAiBU,QAAM,CAAA;AAAA,QAACG,aAAAA,EAAAC,CAAAA,QAAAA,KACtCD,aAAAA,CAAcb,eAAAA,EAAiBU,QAAM;AAAA,OAAC;AAClEb,MAAAA,CAAAA,MAAAG,eAAAA;AAAAH,MAAAA,CAAAA,MAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAJDQ,IAAAA,EAAAA,GAAOG,GAAAA;AAAAA,EAIL;AAXJ,EAAA,MAAAO,SAAAA,GAAkBV,EAAAA;AAYI,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAK,KAAAA,IAAAL,EAAA,CAAA,CAAA,KAAAM,OAAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,IAAAJ,CAAAA,QAAAkB,SAAAA,EAAA;AAEfP,IAAAA,EAAAA,GAAA;AAAA,MAAAO,SAAAA;AAAAA,MAAAd,SAAAA;AAAAA,MAAAC,KAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAKNN,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAkB,SAAAA;AAAAlB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMW,EAAAA;AAKN;;;;"}
1
+ {"version":3,"file":"useMinViemClient.js","sources":["../../src/hooks/useMinViemClient.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useConnectorClient } from \"wagmi\";\nimport { readContract, signTypedData, writeContract } from \"viem/actions\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinViemClient } from \"@velora-dex/sdk\";\n\ntype UseMinViemClientInput = {\n chainId?: SupportedChainId;\n account?: Address;\n};\n\ntype UseMinViemClientResult = {\n minClient?: MinViemClient;\n isLoading: boolean;\n error: Error | null;\n isError: boolean;\n};\n\nexport function useMinViemClient(\n options?: UseMinViemClientInput\n): UseMinViemClientResult {\n const {\n data: connectorClient,\n isLoading,\n error,\n isError,\n } = useConnectorClient(options);\n\n const minClient = useMemo<MinViemClient | undefined>(() => {\n if (!connectorClient) return;\n\n // walletClient(useWalletClient) has writeContract and signTypedData,\n // publicClient(usePublicClient) has readContract\n // sdk requires all of them,\n // easier to compose connectorClient + viem actions (readContract, writeContract)\n return {\n readContract: (params) => readContract(connectorClient, params),\n writeContract: (params) => writeContract(connectorClient, params),\n signTypedData: (params) => signTypedData(connectorClient, params),\n };\n }, [connectorClient]);\n\n return {\n minClient,\n isLoading,\n error,\n isError,\n };\n}\n"],"names":["useMinViemClient","options","$","_c","data","connectorClient","isLoading","error","isError","useConnectorClient","t0","bb0","undefined","t1","readContract","params","writeContract","params_0","signTypedData","params_1","minClient"],"mappings":";;;;;AAmBO,SAAAA,iBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,IAAAA,EAAAC,eAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAKIC,mBAAmBR,OAAO,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAAC,EAAAA,GAAAA,EAAA;AAG9B,IAAA,IAAI,CAACN,eAAAA,EAAe;AAAEK,MAAAA,EAAAA,GAAAE,MAAAA;AAAA,MAAA,MAAAD,GAAAA;AAAAA,IAAO;AAAA,IAAA,IAAAE,GAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAG,eAAAA,EAAA;AAMtBQ,MAAAA,GAAAA,GAAA;AAAA,QAAAC,YAAAA,EACSC,CAAAA,MAAAA,KAAYD,YAAAA,CAAaT,eAAAA,EAAiBU,MAAM,CAAA;AAAA,QAACC,aAAAA,EAChDC,CAAAA,QAAAA,KAAYD,aAAAA,CAAcX,eAAAA,EAAiBU,QAAM,CAAA;AAAA,QAACG,aAAAA,EAClDC,CAAAA,QAAAA,KAAYD,aAAAA,CAAcb,eAAAA,EAAiBU,QAAM;AAAA,OAClE;AAACb,MAAAA,CAAAA,MAAAG,eAAAA;AAAAH,MAAAA,CAAAA,MAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAJDQ,IAAAA,EAAAA,GAAOG,GAAAA;AAAAA,EAIL;AAXJ,EAAA,MAAAO,SAAAA,GAAkBV,EAAAA;AAYI,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAK,KAAAA,IAAAL,EAAA,CAAA,CAAA,KAAAM,OAAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,IAAAJ,CAAAA,QAAAkB,SAAAA,EAAA;AAEfP,IAAAA,EAAAA,GAAA;AAAA,MAAAO,SAAAA;AAAAA,MAAAd,SAAAA;AAAAA,MAAAC,KAAAA;AAAAA,MAAAC;AAAAA,KAKP;AAACN,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAkB,SAAAA;AAAAlB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMW,EAAAA;AAKN;;;;"}
@@ -1,4 +1,4 @@
1
- import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions } from '@velora-dex/sdk';
1
+ import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, PreSignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions } from '@velora-dex/sdk';
2
2
  import { Address, Hash, Hex } from 'viem';
3
3
  import { Prettify } from 'ts-essentials';
4
4
  type SDKCreateParams = {
@@ -28,7 +28,8 @@ export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }:
28
28
  client: MinViemClient;
29
29
  }): ConstructedSDKOutput<LimitOrdersSDK>;
30
30
  export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }: LimitOrdersSDKCreateParams): ConstructedSDKOutput<LimitOrdersSDK | ReadOnlyLimitOrdersSDK>;
31
- export declare const useFillOrderDirectlyCalldataSDK: ({ chainId, apiURL, account, client, }: LimitOrdersSDKCreateParams) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex>>>;
31
+ export declare const useFetchOnlySDK: ({ chainId, apiURL, }: SDKCreateParams) => Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>>;
32
+ export declare const useCalldataSDK: ({ chainId, apiURL, client, }: Omit<LimitOrdersSDKCreateParams, "account">) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex> & PreSignDeltaOrderFunctions<Hex> & BuildDeltaOrderFunctions>>;
32
33
  type ReadOnlyDeltaSDK = Prettify<GetDeltaOrdersFunctions & GetDeltaPriceFunctions & BuildDeltaOrderFunctions & PostDeltaOrderFunctions & GetBridgeInfoFunctions & IsTokenSupportedInDeltaFunctions & {
33
34
  chainId: number;
34
35
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"AAGA,OAAO,EAgBL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAKlB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,mBAAmB,GAAG,gBAAgB,GAAG,gBAAgB,CAC1D,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,GAAG,EAAE,CAAC,CAAC;IACP,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,MAAgB,GACjB,EAAE,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAwBvD;AACD,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,KAAK,sBAAsB,GAAG,QAAQ,CACpC,uBAAuB,GAAG,wBAAwB,GAAG,uBAAuB,CAC7E,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAIhE,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG;IAC9B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AACjD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACvB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACzC,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG,oBAAoB,CAClD,cAAc,GAAG,sBAAsB,CACxC,CAAC;AA0EF,eAAO,MAAM,+BAA+B,GAAI,uCAK7C,0BAA0B,KAAG,OAAO,CACrC,oBAAoB,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CA4BtD,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,CAC9B,uBAAuB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,uBAAuB,GACvB,sBAAsB,GACtB,gCAAgC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CACzD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAC7B,gBAAgB,GAAG,uBAAuB,GAAG,yBAAyB,CACvE,CAAC;AAEF,KAAK,oBAAoB,GAAG,eAAe,GAAG;IAC5C,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAC3C,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACvB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACnC,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
3
- import { constructAxiosFetcher, constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx, constructFillOrderDirectly, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers } from '@velora-dex/sdk';
3
+ import { constructAxiosFetcher, constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx, constructFillOrderDirectly, constructPreSignDeltaOrder, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
4
4
  import { encodeFunctionData } from 'viem';
5
5
  import { API_URL } from '../lib/constants/index.js';
6
6
  import { useLogger } from '../core/logger.js';
@@ -80,16 +80,45 @@ const constructCalldataContractCaller = () => {
80
80
  signTypedDataCall: staticCall
81
81
  };
82
82
  };
83
- const useFillOrderDirectlyCalldataSDK = ({
83
+ const useFetchOnlySDK = ({
84
+ chainId,
85
+ apiURL = API_URL
86
+ }) => {
87
+ "use no memo";
88
+ const sdk = useMemo(() => {
89
+ if (typeof window === "undefined") return;
90
+ const _fetcher = constructFetchFetcher(window.fetch);
91
+ const fetcher2 = (params) => {
92
+ return _fetcher({
93
+ ...params,
94
+ requestParams: {
95
+ ...params.requestParams,
96
+ keepalive: true
97
+ }
98
+ });
99
+ };
100
+ return constructPartialSDK({
101
+ apiURL,
102
+ chainId,
103
+ fetcher: fetcher2
104
+ }, constructPostDeltaOrder);
105
+ }, [apiURL, chainId]);
106
+ return {
107
+ appVersion: sdk?.version,
108
+ chainId: sdk?.chainId,
109
+ apiURL: sdk?.apiURL,
110
+ sdk
111
+ };
112
+ };
113
+ const useCalldataSDK = ({
84
114
  chainId,
85
115
  apiURL = API_URL,
86
- account,
87
116
  client
88
117
  }) => {
89
118
  "use no memo";
90
- const logger = useLogger("FillOrderDirectlyCalldataSDK");
119
+ const logger = useLogger("CalldataSDK");
91
120
  const sdk = useMemo(() => {
92
- if (!client || !account) return;
121
+ if (!client) return;
93
122
  logger.log("init sdk");
94
123
  const contractCaller = constructCalldataContractCaller();
95
124
  const SDKconfig = {
@@ -98,8 +127,8 @@ const useFillOrderDirectlyCalldataSDK = ({
98
127
  fetcher,
99
128
  contractCaller
100
129
  };
101
- return constructPartialSDK(SDKconfig, constructFillOrderDirectly);
102
- }, [client, account, logger, apiURL, chainId]);
130
+ return constructPartialSDK(SDKconfig, constructFillOrderDirectly, constructPreSignDeltaOrder, constructBuildDeltaOrder);
131
+ }, [client, logger, apiURL, chainId]);
103
132
  return {
104
133
  appVersion: sdk?.version,
105
134
  chainId: sdk?.chainId,
@@ -139,5 +168,5 @@ function useDeltaSDK({
139
168
  };
140
169
  }
141
170
 
142
- export { useDeltaSDK, useFillOrderDirectlyCalldataSDK, useLimitOrdersSDK, useMarketSwapSDK };
171
+ export { useCalldataSDK, useDeltaSDK, useFetchOnlySDK, useLimitOrdersSDK, useMarketSwapSDK };
143
172
  //# sourceMappingURL=useSDK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { API_URL } from \"@/lib/constants\";\nimport { useLogger } from \"@/core/logger\";\n\nconst fetcher = constructAxiosFetcher(axios);\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL = API_URL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const logger = useLogger(\"LimitOrdersSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, logger]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\nexport const useFillOrderDirectlyCalldataSDK = ({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): Partial<\n ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex>>\n> => {\n \"use no memo\";\n\n const logger = useLogger(\"FillOrderDirectlyCalldataSDK\");\n\n const sdk = useMemo(() => {\n if (!client || !account) return;\n logger.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(SDKconfig, constructFillOrderDirectly);\n }, [client, account, logger, apiURL, chainId]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const logger = useLogger(\"DeltaSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder\n );\n }, [logger, apiURL, chainId, client, account]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["fetcher","constructAxiosFetcher","axios","useMarketSwapSDK","chainId","apiURL","API_URL","sdk","useMemo","SDKconfig","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","useLimitOrdersSDK","account","client","logger","useLogger","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFillOrderDirectlyCalldataSDK","constructFillOrderDirectly","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructBuildDeltaOrder","constructPostDeltaOrder","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
1
+ {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { API_URL } from \"@/lib/constants\";\nimport { useLogger } from \"@/core/logger\";\n\nconst fetcher = constructAxiosFetcher(axios);\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL = API_URL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const logger = useLogger(\"LimitOrdersSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, logger]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL = API_URL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (typeof window === \"undefined\") return;\n const _fetcher = constructFetchFetcher(window.fetch);\n const fetcher: typeof _fetcher = (params) => {\n return _fetcher({\n ...params,\n requestParams: {\n ...params.requestParams,\n keepalive: true,\n },\n });\n };\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials always\n // which is incompatible with API CORS settings\n return constructPartialSDK(\n { apiURL, chainId, fetcher },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL = API_URL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const logger = useLogger(\"CalldataSDK\");\n\n const sdk = useMemo(() => {\n if (!client) return;\n logger.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [client, logger, apiURL, chainId]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const logger = useLogger(\"DeltaSDK\");\n\n const sdk = useMemo(() => {\n logger.log(\"init sdk\");\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder\n );\n }, [logger, apiURL, chainId, client, account]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["fetcher","constructAxiosFetcher","axios","useMarketSwapSDK","chainId","apiURL","API_URL","sdk","useMemo","SDKconfig","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","useLimitOrdersSDK","account","client","logger","useLogger","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","window","_fetcher","constructFetchFetcher","fetch","requestParams","keepalive","constructPostDeltaOrder","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder"],"mappings":"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"}
@@ -1 +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
+ {"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;;;;"}
@@ -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":"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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
@@ -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
@@ -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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"}