@velora-dex/widget 0.0.23 → 0.1.0-rc.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 (390) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.js.map +1 -1
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/ui/card.js.map +1 -1
  6. package/dist/components/ui/dialog.js.map +1 -1
  7. package/dist/components/ui/drawer.d.ts +2 -2
  8. package/dist/components/ui/drawer.d.ts.map +1 -1
  9. package/dist/components/ui/drawer.js +1 -1
  10. package/dist/components/ui/drawer.js.map +1 -1
  11. package/dist/components/ui/dropdown-menu.js.map +1 -1
  12. package/dist/components/ui/input.js.map +1 -1
  13. package/dist/components/ui/progress.js.map +1 -1
  14. package/dist/components/ui/skeleton.js.map +1 -1
  15. package/dist/components/ui/sonner.d.ts.map +1 -1
  16. package/dist/components/ui/sonner.js +1 -2
  17. package/dist/components/ui/sonner.js.map +1 -1
  18. package/dist/components/ui/switch.js.map +1 -1
  19. package/dist/components/ui/tooltip.js.map +1 -1
  20. package/dist/components/web3/AccountButton.js.map +1 -1
  21. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/WalletConnectButtons.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +23 -14
  24. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/connectRunner.d.ts.map +1 -1
  28. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +0 -2
  29. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  30. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  31. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  32. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +30 -0
  33. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  34. package/dist/components/web3/ConnectWallets/walletIcons.js +84 -2
  35. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  36. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  37. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +69 -65
  38. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  39. package/dist/components/web3/providers.js.map +1 -1
  40. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  41. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  42. package/dist/components/widget/AppHeader/AppHeader.js +49 -55
  43. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  44. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  45. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  46. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  47. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  48. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +1 -1
  49. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  50. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +2 -2
  51. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  52. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  53. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  54. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +125 -78
  55. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  56. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +5 -2
  57. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  58. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +10 -8
  59. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +5 -2
  61. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  62. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +10 -8
  63. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts +11 -0
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts.map +1 -0
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +101 -0
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -0
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts +5 -0
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -0
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +186 -0
  71. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -0
  72. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts +6 -2
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +33 -20
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  78. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  79. package/dist/components/widget/Drawer/index.d.ts +3 -1
  80. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  81. package/dist/components/widget/Drawer/index.js +64 -37
  82. package/dist/components/widget/Drawer/index.js.map +1 -1
  83. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +24 -1
  84. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  85. package/dist/components/widget/Drawer/state/useDrawerControls.js +91 -2
  86. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  87. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  88. package/dist/components/widget/Dropdown/DropdownWithItems.js +5 -3
  89. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  90. package/dist/components/widget/Dropdown/types.d.ts +2 -1
  91. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  92. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  93. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  94. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  95. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  96. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  97. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  98. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  99. package/dist/components/widget/Line/Line.js.map +1 -1
  100. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.d.ts.map +1 -1
  102. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +14 -10
  103. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  104. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
  105. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +10 -8
  106. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  107. package/dist/components/widget/NetworkSwitcher/types.d.ts +2 -2
  108. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  109. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  110. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  111. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  112. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  113. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  114. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  115. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts +1 -1
  116. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  117. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +5 -1
  118. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  119. package/dist/components/widget/RowVirtualizer/types.d.ts +1 -0
  120. package/dist/components/widget/RowVirtualizer/types.d.ts.map +1 -1
  121. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  122. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  123. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  124. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  125. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  126. package/dist/components/widget/SwapRate/SwapRate.js +3 -0
  127. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  128. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  129. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  130. package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
  131. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  132. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  133. package/dist/components/widget/TokenInput/index.js +1 -1
  134. package/dist/components/widget/TokenInput/index.js.map +1 -1
  135. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  136. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  137. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  138. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  139. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  140. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  141. package/dist/components/widget/TradeOverview/Stepper.js +39 -21
  142. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  143. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  144. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  148. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +40 -72
  149. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts +23 -3
  151. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  152. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +67 -19
  153. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeOverview.js +40 -56
  162. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  167. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  168. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  169. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  170. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  171. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +2 -2
  172. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  173. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.d.ts.map +1 -1
  174. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +42 -19
  175. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  176. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  177. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +3 -3
  178. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  179. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  180. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +1 -1
  181. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  182. package/dist/components/widget/Warning/Warning.js.map +1 -1
  183. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  184. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  185. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  186. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  187. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +18 -24
  188. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  189. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  190. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  191. package/dist/configurator/Configurator.d.ts.map +1 -1
  192. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  193. package/dist/core/Toaster.js.map +1 -1
  194. package/dist/core/TradeFlowButton.js +154 -126
  195. package/dist/core/TradeFlowButton.js.map +1 -1
  196. package/dist/core/Updaters.d.ts.map +1 -1
  197. package/dist/core/Updaters.js +2 -0
  198. package/dist/core/Updaters.js.map +1 -1
  199. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  200. package/dist/core/index.d.ts.map +1 -1
  201. package/dist/core/index.js +55 -28
  202. package/dist/core/index.js.map +1 -1
  203. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  204. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  205. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  206. package/dist/core/inputs/hooks/useTokenToInputProps.js +15 -15
  207. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  208. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  209. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  210. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  211. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  212. package/dist/core/logger.js.map +1 -1
  213. package/dist/core/state/chainToAtom.d.ts +2 -2
  214. package/dist/core/state/chainToAtom.js.map +1 -1
  215. package/dist/core/state/configActionsAtom.d.ts +1 -1
  216. package/dist/core/state/configActionsAtom.js.map +1 -1
  217. package/dist/core/state/configAtom.js.map +1 -1
  218. package/dist/core/state/externalProviderAtom.js.map +1 -1
  219. package/dist/core/swapDetails/fees.js.map +1 -1
  220. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  221. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  222. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  223. package/dist/core/swapDetails/youGet.js.map +1 -1
  224. package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js.map +1 -1
  225. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js.map +1 -1
  226. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  227. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  228. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  229. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  230. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  231. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  232. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  233. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  234. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  235. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  236. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  237. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  238. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  239. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  240. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  241. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  242. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  243. package/dist/hooks/permit/utils/construct.js.map +1 -1
  244. package/dist/hooks/permit/utils/detect.js.map +1 -1
  245. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  246. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  247. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  248. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  249. package/dist/hooks/permit/utils/utils.js.map +1 -1
  250. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  251. package/dist/hooks/sdk/useSpender.js.map +1 -1
  252. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  253. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -0
  254. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  255. package/dist/hooks/swap/prices/delta/orders/utils.js +4 -1
  256. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  257. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +14 -1
  259. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +60 -2
  261. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  262. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  263. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +8 -0
  264. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  265. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +12 -3
  266. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  267. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  268. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  269. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +14 -1
  270. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  271. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +60 -2
  272. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  273. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  274. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  275. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  276. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  277. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  278. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  279. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  280. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  281. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +1 -0
  282. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  283. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +207 -458
  284. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  285. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  286. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +1 -0
  287. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  288. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +210 -411
  289. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  290. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  291. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  292. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  293. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  294. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.d.ts.map +1 -1
  295. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +18 -7
  296. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  297. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts +3 -2
  298. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  299. package/dist/hooks/tokens/balances/useInvalidateTokenData.js +60 -77
  300. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  301. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  302. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  303. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts +5 -0
  304. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts.map +1 -0
  305. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js +38 -0
  306. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -0
  307. package/dist/hooks/tokens/balances/useTokenBalance.d.ts +15 -0
  308. package/dist/hooks/tokens/balances/useTokenBalance.d.ts.map +1 -1
  309. package/dist/hooks/tokens/balances/useTokenBalance.js +2 -0
  310. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  311. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  312. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  313. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  314. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  315. package/dist/hooks/tokens/useTokenLists.js.map +1 -1
  316. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  317. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  318. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  319. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  320. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  321. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  322. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  323. package/dist/hooks/txs/queries/utils.d.ts +3 -0
  324. package/dist/hooks/txs/queries/utils.d.ts.map +1 -0
  325. package/dist/hooks/txs/queries/utils.js +6 -0
  326. package/dist/hooks/txs/queries/utils.js.map +1 -0
  327. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  328. package/dist/hooks/useBridgeInfo.js.map +1 -1
  329. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  330. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  331. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  332. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  333. package/dist/hooks/useMinViemClient.js.map +1 -1
  334. package/dist/hooks/useSDK.js +1 -1
  335. package/dist/hooks/useSDK.js.map +1 -1
  336. package/dist/hooks/useSlippage.js.map +1 -1
  337. package/dist/lib/ipfs.js.map +1 -1
  338. package/dist/lib/queryClient.d.ts.map +1 -1
  339. package/dist/lib/queryClient.js +32 -2
  340. package/dist/lib/queryClient.js.map +1 -1
  341. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  342. package/dist/lib/utils/delta.js.map +1 -1
  343. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  344. package/dist/lib/utils/index.js.map +1 -1
  345. package/dist/lib/utils/logger.js.map +1 -1
  346. package/dist/lib/utils/price.js.map +1 -1
  347. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  348. package/dist/lib/utils/priceImpact.js +1 -1
  349. package/dist/lib/utils/priceImpact.js.map +1 -1
  350. package/dist/lib/utils/providerErrors.js.map +1 -1
  351. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  352. package/dist/lib/utils/toasts.js +0 -24
  353. package/dist/lib/utils/toasts.js.map +1 -1
  354. package/dist/lib/web3/privy/config.js +1 -1
  355. package/dist/lib/web3/wagmi/config.d.ts +12 -2
  356. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  357. package/dist/lib/web3/wagmi/config.js +6 -3
  358. package/dist/lib/web3/wagmi/config.js.map +1 -1
  359. package/dist/lib/web3/wagmi/constants.d.ts +12 -2
  360. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  361. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +25 -0
  362. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -0
  363. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +113 -0
  364. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -0
  365. package/dist/styles.css +81 -9
  366. package/dist/tokens/lists/constants.js.map +1 -1
  367. package/dist/tokens/lists/download.js.map +1 -1
  368. package/dist/tokens/lists/hooks.js.map +1 -1
  369. package/dist/tokens/lists/state/observer.js.map +1 -1
  370. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  371. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +2 -2
  372. package/dist/tokens/overrides.js.map +1 -1
  373. package/dist/tokens/queries.js.map +1 -1
  374. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  375. package/dist/tokens/state/constructTokens.js.map +1 -1
  376. package/dist/tokens/state/tokensAtom.js.map +1 -1
  377. package/dist/tokens/utils/filtering.js.map +1 -1
  378. package/dist/tokens/utils/sets.js.map +1 -1
  379. package/dist/tokens/utils/sorting.js.map +1 -1
  380. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts +51 -0
  381. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts.map +1 -0
  382. package/dist/tokens/utils/transferAmountsFromReceipt.js +281 -0
  383. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -0
  384. package/package.json +32 -31
  385. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts +0 -25
  386. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts.map +0 -1
  387. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js +0 -103
  388. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js.map +0 -1
  389. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
  390. /package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useApprove.js","sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"sourcesContent":["import { useWriteContract } from \"wagmi\";\nimport { erc20Abi, isAddress, type Hash } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type { AllowanceData } from \"@/hooks/tokens/allowance/types\";\nimport type { Token } from \"@velora-dex/sdk\";\nimport { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\n\nexport type UseApproveInput = {\n token?: Pick<Token, \"address\">;\n spender?: string;\n allowanceData?: Pick<AllowanceData, \"allowanceToSet\">;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type ApprovalInput = Pick<\n UseApproveInput,\n \"token\" | \"spender\" | \"allowanceData\"\n>;\n\nexport type UseApproveResult = {\n approve: (params?: ApprovalInput) => void;\n approveAsync: (params?: ApprovalInput) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n // @TODO reset may be useful for retrying after Tx Confirmation error/user rejection,\n // if the hook remains in sope (Comp not remounted)\n};\n\nexport const useApprove = ({\n token,\n spender,\n allowanceData,\n onSuccess,\n onError,\n}: UseApproveInput = {}): UseApproveResult => {\n const { isConnected } = useAccount();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const tokenAddress = token?.address;\n\n const allowanceToSet = allowanceData?.allowanceToSet;\n\n const approve = (params?: ApprovalInput) => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval\n writeContract({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n const approveAsync = async (params?: ApprovalInput): Promise<Hash> => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval and return the hash\n return writeContractAsync({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n return {\n approve,\n approveAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"names":["useApprove","t0","$","_c","t1","undefined","token","spender","allowanceData","onSuccess","onError","isConnected","useAccount","t2","mutation","writeContract","writeContractAsync","isPending","isSuccess","isError","error","data","txHash","reset","useWriteContract","constructViemGasParams","useConstructGasParams","tokenAddress","address","allowanceToSet","t3","params","_address","_spender","_allowanceToSet","assert","isAddress","gasParams","abi","erc20Abi","functionName","args","approve","t4","params_0","_address_0","_spender_0","_allowanceToSet_0","gasParams_0","approveAsync","t5"],"mappings":";;;;;;AAkCO,MAAMA,aAAaC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAACG,IAAAA,EAAAA,GAAAH,EAAAA,KAMJI,MAAAA,QANIJ,EAAAA;AAMJC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA;AANI,EAAA,MAAA;AAAA,IAAAI,KAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAOzB,EAAA,MAAA;AAAA,IAAAO;AAAAA,MAAwBC,UAAAA,EAAW;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAQ,WAAAR,CAAAA,QAAAO,SAAAA,EAAA;AAWhBI,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EAAA;AAAA,QAAAL,SAAAA;AAAAA,QAAAC;AAAAA;AAAA,KAAA;AAKpBR,IAAAA,CAAAA,MAAAQ,OAAAA;AAAAR,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAdD,EAAA,MAAA;AAAA,IAAAa,aAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,IAAAA,EAAAC,MAAAA;AAAAA,IAAAC;AAAAA,GAAA,GASIC,iBAAiBX,EAKpB,CAAA;AAED,EAAA,MAAA;AAAA,IAAAY;AAAAA,MAAmCC,qBAAAA,EAAsB;AAEzD,EAAA,MAAAC,eAAqBrB,KAAAA,EAAKsB,OAAAA;AAE1B,EAAA,MAAAC,iBAAuBrB,aAAAA,EAAaqB,cAAAA;AAAiB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA5B,CAAAA,QAAA2B,cAAAA,IAAA3B,EAAA,CAAA,CAAA,KAAAuB,sBAAAA,IAAAvB,CAAAA,CAAA,CAAA,CAAA,KAAAS,eAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAK,OAAAA,IAAAL,CAAAA,QAAAyB,YAAAA,IAAAzB,CAAAA,CAAA,EAAA,CAAA,KAAAa,aAAAA,EAAA;AAErCe,IAAAA,EAAAA,GAAAC,CAAAA,MAAAA,KAAA;AACd,MAAA,MAAAC,QAAAA,GAAiBD,MAAAA,EAAMzB,KAAAA,EAAAsB,OAAAA,IAAoBD,YAAAA;AAC3C,MAAA,MAAAM,QAAAA,GAAiBF,QAAMxB,OAAAA,IAAaA,OAAAA;AACpC,MAAA,MAAA2B,eAAAA,GACEH,MAAAA,EAAMvB,aAAAA,EAAAqB,cAAAA,IAAmCA,cAAAA;AAG3CM,MAAAA,MAAAA,CAAOxB,aAAa,sBAAsB,CAAA;AAC1CwB,MAAAA,MAAAA,CAAOH,QAAAA,IAAYI,SAAAA,CAAUJ,QAAQ,CAAA,EAAG,mBAAmB,CAAA;AAC3DG,MAAAA,MAAAA,CAAOF,QAAAA,IAAYG,SAAAA,CAAUH,QAAQ,CAAA,EAAG,6BAA6B,CAAA;AACrEE,MAAAA,MAAAA,CAAOD,iBAAiB,+BAA+B,CAAA;AAEvD,MAAA,MAAAG,YAAkBZ,sBAAAA,EAAuB;AAGzCV,MAAAA,aAAAA,CAAa;AAAA,QAAAa,OAAAA,EACFI,QAAAA;AAAAA,QAAQM,GAAAA,EAAAC,QAAAA;AAAAA,QAAAC,YAAAA,EAEH,SAAA;AAAA,QAASC,IAAAA,EAAA,CAChBR,QAAAA,EAAUC,eAAe,CAAA;AAAA,QAAA,GAC7BG;AAAAA,OACJ,CAAA;AAAA,KAAC;AACHnC,IAAAA,CAAAA,MAAA2B,cAAAA;AAAA3B,IAAAA,CAAAA,MAAAuB,sBAAAA;AAAAvB,IAAAA,CAAAA,MAAAS,WAAAA;AAAAT,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAyB,YAAAA;AAAAzB,IAAAA,CAAAA,OAAAa,aAAAA;AAAAb,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA;AAtBD,EAAA,MAAAwC,OAAAA,GAAgBZ,EAAAA;AAsBd,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAzC,CAAAA,SAAA2B,cAAAA,IAAA3B,EAAA,EAAA,CAAA,KAAAuB,sBAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAS,eAAAT,CAAAA,CAAA,EAAA,CAAA,KAAAK,OAAAA,IAAAL,CAAAA,SAAAyB,YAAAA,IAAAzB,CAAAA,CAAA,EAAA,CAAA,KAAAc,kBAAAA,EAAA;AAEmB2B,IAAAA,EAAAA,UAAAC,QAAAA,KAAA;AACnB,MAAA,MAAAC,UAAAA,GAAiBd,QAAAA,EAAMzB,KAAAA,EAAAsB,OAAAA,IAAoBD,YAAAA;AAC3C,MAAA,MAAAmB,UAAAA,GAAiBf,UAAMxB,OAAAA,IAAaA,OAAAA;AACpC,MAAA,MAAAwC,iBAAAA,GACEhB,QAAAA,EAAMvB,aAAAA,EAAAqB,cAAAA,IAAmCA,cAAAA;AAG3CM,MAAAA,MAAAA,CAAOxB,aAAa,sBAAsB,CAAA;AAC1CwB,MAAAA,MAAAA,CAAOH,UAAAA,IAAYI,SAAAA,CAAUJ,UAAQ,CAAA,EAAG,mBAAmB,CAAA;AAC3DG,MAAAA,MAAAA,CAAOF,UAAAA,IAAYG,SAAAA,CAAUH,UAAQ,CAAA,EAAG,6BAA6B,CAAA;AACrEE,MAAAA,MAAAA,CAAOD,mBAAiB,+BAA+B,CAAA;AAEvD,MAAA,MAAAc,cAAkBvB,sBAAAA,EAAuB;AAAE,MAAA,OAGpCT,kBAAAA,CAAkB;AAAA,QAAAY,OAAAA,EACdI,UAAAA;AAAAA,QAAQM,GAAAA,EAAAC,QAAAA;AAAAA,QAAAC,YAAAA,EAEH,SAAA;AAAA,QAASC,IAAAA,EAAA,CAChBR,UAAAA,EAAUC,iBAAe,CAAA;AAAA,QAAA,GAC7BG;AAAAA,OACJ,CAAA;AAAA,KAAC;AACHnC,IAAAA,CAAAA,OAAA2B,cAAAA;AAAA3B,IAAAA,CAAAA,OAAAuB,sBAAAA;AAAAvB,IAAAA,CAAAA,OAAAS,WAAAA;AAAAT,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAAyB,YAAAA;AAAAzB,IAAAA,CAAAA,OAAAc,kBAAAA;AAAAd,IAAAA,CAAAA,OAAAyC,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzC,EAAA,EAAA,CAAA;AAAA;AAtBD,EAAA,MAAA+C,YAAAA,GAAqBN,EAAAA;AAsBnB,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAhD,CAAAA,CAAA,EAAA,CAAA,KAAAwC,OAAAA,IAAAxC,CAAAA,CAAA,EAAA,CAAA,KAAA+C,YAAAA,IAAA/C,CAAAA,CAAA,EAAA,CAAA,KAAAkB,KAAAA,IAAAlB,EAAA,EAAA,CAAA,KAAAiB,OAAAA,IAAAjB,CAAAA,CAAA,EAAA,CAAA,KAAAe,SAAAA,IAAAf,CAAAA,CAAA,EAAA,CAAA,KAAAgB,SAAAA,IAAAhB,CAAAA,CAAA,EAAA,CAAA,KAAAqB,KAAAA,IAAArB,CAAAA,SAAAoB,MAAAA,EAAA;AAEK4B,IAAAA,EAAAA,GAAA;AAAA,MAAAR,OAAAA;AAAAA,MAAAO,YAAAA;AAAAA,MAAAhC,SAAAA;AAAAA,MAAAC,SAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC,KAAAA;AAAAA,MAAAE,MAAAA;AAAAA,MAAAC;AAAAA,KAAA;AASNrB,IAAAA,CAAAA,OAAAwC,OAAAA;AAAAxC,IAAAA,CAAAA,OAAA+C,YAAAA;AAAA/C,IAAAA,CAAAA,OAAAkB,KAAAA;AAAAlB,IAAAA,CAAAA,OAAAiB,OAAAA;AAAAjB,IAAAA,CAAAA,OAAAe,SAAAA;AAAAf,IAAAA,CAAAA,OAAAgB,SAAAA;AAAAhB,IAAAA,CAAAA,OAAAqB,KAAAA;AAAArB,IAAAA,CAAAA,OAAAoB,MAAAA;AAAApB,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhD,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,OATMgD,EAAAA;AASN;;;;"}
1
+ {"version":3,"file":"useApprove.js","sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"sourcesContent":["import { useWriteContract } from \"wagmi\";\nimport { erc20Abi, isAddress, type Hash } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type { AllowanceData } from \"@/hooks/tokens/allowance/types\";\nimport type { Token } from \"@velora-dex/sdk\";\nimport { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\n\nexport type UseApproveInput = {\n token?: Pick<Token, \"address\">;\n spender?: string;\n allowanceData?: Pick<AllowanceData, \"allowanceToSet\">;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type ApprovalInput = Pick<\n UseApproveInput,\n \"token\" | \"spender\" | \"allowanceData\"\n>;\n\nexport type UseApproveResult = {\n approve: (params?: ApprovalInput) => void;\n approveAsync: (params?: ApprovalInput) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n // @TODO reset may be useful for retrying after Tx Confirmation error/user rejection,\n // if the hook remains in sope (Comp not remounted)\n};\n\nexport const useApprove = ({\n token,\n spender,\n allowanceData,\n onSuccess,\n onError,\n}: UseApproveInput = {}): UseApproveResult => {\n const { isConnected } = useAccount();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const tokenAddress = token?.address;\n\n const allowanceToSet = allowanceData?.allowanceToSet;\n\n const approve = (params?: ApprovalInput) => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval\n writeContract({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n const approveAsync = async (params?: ApprovalInput): Promise<Hash> => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval and return the hash\n return writeContractAsync({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n return {\n approve,\n approveAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"names":["useApprove","t0","$","_c","t1","undefined","token","spender","allowanceData","onSuccess","onError","isConnected","useAccount","t2","mutation","writeContract","writeContractAsync","isPending","isSuccess","isError","error","data","txHash","reset","useWriteContract","constructViemGasParams","useConstructGasParams","tokenAddress","address","allowanceToSet","t3","params","_address","_spender","_allowanceToSet","assert","isAddress","gasParams","abi","erc20Abi","functionName","args","approve","t4","params_0","_address_0","_spender_0","_allowanceToSet_0","gasParams_0","approveAsync","t5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDepositWeth.js","sources":["../../../../src/hooks/txs/mutations/useDepositWeth.ts"],"sourcesContent":["import { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { assert } from \"ts-essentials\";\nimport type { Hash } from \"viem\";\nimport { useChainId, useWriteContract } from \"wagmi\";\n\nexport type UseDepositWethInput = {\n amount?: string;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseDepositReturn = {\n deposit: () => void;\n depositAsync: () => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nconst minWethAbi = [\n {\n constant: false,\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport function useDepositWeth({\n amount,\n onError,\n onSuccess,\n}: UseDepositWethInput = {}): UseDepositReturn {\n const chainId = useChainId();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const wrappedNativeToken = wrappedNativeCurrency[chainId];\n const value = amount ? BigInt(amount) : undefined;\n\n const deposit = (): void => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n writeContract({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n const depositAsync = (): Promise<Hash> => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n return writeContractAsync({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n return {\n deposit,\n depositAsync,\n txHash,\n isPending,\n isSuccess,\n isError,\n error,\n reset,\n };\n}\n"],"names":["minWethAbi","constant","inputs","name","outputs","payable","stateMutability","type","useDepositWeth","t0","$","_c","t1","undefined","amount","onError","onSuccess","chainId","useChainId","t2","mutation","writeContract","writeContractAsync","isPending","isSuccess","isError","error","data","txHash","reset","useWriteContract","constructViemGasParams","useConstructGasParams","wrappedNativeToken","wrappedNativeCurrency","t3","BigInt","value","t4","assert","gasParams","address","abi","functionName","deposit","t5","gasParams_0","depositAsync","t6"],"mappings":"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"}
1
+ {"version":3,"file":"useDepositWeth.js","sources":["../../../../src/hooks/txs/mutations/useDepositWeth.ts"],"sourcesContent":["import { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { assert } from \"ts-essentials\";\nimport type { Hash } from \"viem\";\nimport { useChainId, useWriteContract } from \"wagmi\";\n\nexport type UseDepositWethInput = {\n amount?: string;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseDepositReturn = {\n deposit: () => void;\n depositAsync: () => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nconst minWethAbi = [\n {\n constant: false,\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport function useDepositWeth({\n amount,\n onError,\n onSuccess,\n}: UseDepositWethInput = {}): UseDepositReturn {\n const chainId = useChainId();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const wrappedNativeToken = wrappedNativeCurrency[chainId];\n const value = amount ? BigInt(amount) : undefined;\n\n const deposit = (): void => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n writeContract({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n const depositAsync = (): Promise<Hash> => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n return writeContractAsync({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n return {\n deposit,\n depositAsync,\n txHash,\n isPending,\n isSuccess,\n isError,\n error,\n reset,\n };\n}\n"],"names":["minWethAbi","constant","inputs","name","outputs","payable","stateMutability","type","useDepositWeth","t0","$","_c","t1","undefined","amount","onError","onSuccess","chainId","useChainId","t2","mutation","writeContract","writeContractAsync","isPending","isSuccess","isError","error","data","txHash","reset","useWriteContract","constructViemGasParams","useConstructGasParams","wrappedNativeToken","wrappedNativeCurrency","t3","BigInt","value","t4","assert","gasParams","address","abi","functionName","deposit","t5","gasParams_0","depositAsync","t6"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSendTx.js","sources":["../../../../src/hooks/txs/mutations/useSendTx.ts"],"sourcesContent":["import { useSendTransaction } from \"wagmi\";\nimport { type Hash, type TransactionRequest } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\n\nexport type UseSendArbitraryTxInput = {\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseSendArbitraryTxReturn = {\n sendTransaction: (txParams: TransactionRequest) => void;\n sendTransactionAsync: (txParams: TransactionRequest) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nexport const useSendArbitraryTx = ({\n onSuccess,\n onError,\n}: UseSendArbitraryTxInput = {}): UseSendArbitraryTxReturn => {\n const { isConnected } = useAccount();\n\n const {\n sendTransaction,\n sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useSendTransaction({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const sendTx = (txParams: TransactionRequest) => {\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(txParams, \"Transaction is required\");\n assert(txParams.to, \"Transaction recipient (to) is required\");\n\n // Execute transaction\n sendTransaction(txParams);\n };\n\n const sendTxAsync = async (txParams: TransactionRequest): Promise<Hash> => {\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(txParams, \"Transaction is required\");\n assert(txParams.to, \"Transaction recipient (to) is required\");\n\n // Execute transaction and return the hash\n return sendTransactionAsync(txParams);\n };\n\n return {\n sendTransaction: sendTx,\n sendTransactionAsync: sendTxAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"names":["useSendArbitraryTx","t0","$","_c","t1","undefined","onSuccess","onError","isConnected","useAccount","t2","mutation","sendTransaction","sendTransactionAsync","isPending","isSuccess","isError","error","data","txHash","reset","useSendTransaction","t3","txParams","assert","to","sendTx","t4","txParams_0","sendTxAsync","t5"],"mappings":"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"}
1
+ {"version":3,"file":"useSendTx.js","sources":["../../../../src/hooks/txs/mutations/useSendTx.ts"],"sourcesContent":["import { useSendTransaction } from \"wagmi\";\nimport { type Hash, type TransactionRequest } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\n\nexport type UseSendArbitraryTxInput = {\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseSendArbitraryTxReturn = {\n sendTransaction: (txParams: TransactionRequest) => void;\n sendTransactionAsync: (txParams: TransactionRequest) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nexport const useSendArbitraryTx = ({\n onSuccess,\n onError,\n}: UseSendArbitraryTxInput = {}): UseSendArbitraryTxReturn => {\n const { isConnected } = useAccount();\n\n const {\n sendTransaction,\n sendTransactionAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useSendTransaction({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const sendTx = (txParams: TransactionRequest) => {\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(txParams, \"Transaction is required\");\n assert(txParams.to, \"Transaction recipient (to) is required\");\n\n // Execute transaction\n sendTransaction(txParams);\n };\n\n const sendTxAsync = async (txParams: TransactionRequest): Promise<Hash> => {\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(txParams, \"Transaction is required\");\n assert(txParams.to, \"Transaction recipient (to) is required\");\n\n // Execute transaction and return the hash\n return sendTransactionAsync(txParams);\n };\n\n return {\n sendTransaction: sendTx,\n sendTransactionAsync: sendTxAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"names":["useSendArbitraryTx","t0","$","_c","t1","undefined","onSuccess","onError","isConnected","useAccount","t2","mutation","sendTransaction","sendTransactionAsync","isPending","isSuccess","isError","error","data","txHash","reset","useSendTransaction","t3","txParams","assert","to","sendTx","t4","txParams_0","sendTxAsync","t5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAwaitTx.js","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"sourcesContent":["import type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { ReplacementReturnType, TransactionReceipt } from \"viem\";\nimport { waitForTransactionReceipt } from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForTransactionReceipt,\n type UseWaitForTransactionReceiptParameters,\n type UseWaitForTransactionReceiptReturnType,\n} from \"wagmi\";\nimport {\n waitForTransactionReceiptQueryKey,\n type WaitForTransactionReceiptData,\n} from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\n\nexport type UseAwaitTxParameters<Select = DefaultTxReceiptSelect> = {\n chainId: SupportedChainId;\n confirmations?: number;\n hash?: `0x${string}`;\n query?: UseWaitForTransactionReceiptParameters<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >[\"query\"];\n};\n\ntype OnReplacedCb = (data: ReplacementReturnType) => void;\n\nexport type DefaultTxReceiptSelect = WaitForTransactionReceiptData<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport type UseAwaitTxReturnType<Select = DefaultTxReceiptSelect> =\n UseWaitForTransactionReceiptReturnType<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >;\n\nexport type TxReceiptFromWagmi = DefaultTxReceiptSelect;\n\nexport function useAwaitTx<Select = DefaultTxReceiptSelect>({\n chainId,\n confirmations,\n hash,\n query,\n}: UseAwaitTxParameters<Select>): UseAwaitTxReturnType<Select> {\n const logger = useLogger(\"AwaitTx\");\n const queryResult = useWaitForTransactionReceipt<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >({\n chainId,\n confirmations,\n hash,\n query,\n onReplaced: (data) => {\n // @TODO connect to some atom if needed to detect cancelled/sped-up txs,\n // but sped-up txs may be detected correct internally and re-awaited with a new hash,\n // need to test\n // https://viem.sh/docs/actions/public/waitForTransactionReceipt.html#json-rpc-methods\n logger.log(\"onReplaced:tx\", hash, data);\n },\n });\n\n return queryResult;\n}\n\ntype EnsureTxReceiptFn = (\n options: Required<Pick<UseAwaitTxParameters, \"hash\" | \"chainId\">> & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\nexport function useEnsureTxReceipt(): EnsureTxReceiptFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n\n const ensureTxReceipt: EnsureTxReceiptFn = async ({\n hash,\n chainId,\n onReplaced,\n }) => {\n const queryKey = waitForTransactionReceiptQueryKey({\n hash,\n chainId,\n });\n const receipt = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () => {\n return waitForTransactionReceipt(wagmiConfig, {\n hash,\n chainId,\n onReplaced,\n });\n },\n });\n\n return receipt;\n };\n\n return ensureTxReceipt;\n}\n"],"names":["useAwaitTx","t0","$","_c","chainId","confirmations","hash","query","logger","useLogger","t1","data","log","t2","onReplaced","queryResult","useWaitForTransactionReceipt","useEnsureTxReceipt","queryClient","useQueryClient","wagmiConfig","useConfig","queryKey","waitForTransactionReceiptQueryKey","receipt","ensureQueryData","queryFn","waitForTransactionReceipt","ensureTxReceipt"],"mappings":"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"}
1
+ {"version":3,"file":"useAwaitTx.js","sources":["../../../../src/hooks/txs/queries/useAwaitTx.ts"],"sourcesContent":["import type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { ReplacementReturnType, TransactionReceipt } from \"viem\";\nimport { waitForTransactionReceipt } from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForTransactionReceipt,\n type UseWaitForTransactionReceiptParameters,\n type UseWaitForTransactionReceiptReturnType,\n} from \"wagmi\";\nimport {\n waitForTransactionReceiptQueryKey,\n type WaitForTransactionReceiptData,\n} from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\n\nexport type UseAwaitTxParameters<Select = DefaultTxReceiptSelect> = {\n chainId: SupportedChainId;\n confirmations?: number;\n hash?: `0x${string}`;\n query?: UseWaitForTransactionReceiptParameters<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >[\"query\"];\n};\n\ntype OnReplacedCb = (data: ReplacementReturnType) => void;\n\nexport type DefaultTxReceiptSelect = WaitForTransactionReceiptData<\n typeof wagmiConfig,\n SupportedChainId\n>;\n\nexport type UseAwaitTxReturnType<Select = DefaultTxReceiptSelect> =\n UseWaitForTransactionReceiptReturnType<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >;\n\nexport type TxReceiptFromWagmi = DefaultTxReceiptSelect;\n\nexport function useAwaitTx<Select = DefaultTxReceiptSelect>({\n chainId,\n confirmations,\n hash,\n query,\n}: UseAwaitTxParameters<Select>): UseAwaitTxReturnType<Select> {\n const logger = useLogger(\"AwaitTx\");\n const queryResult = useWaitForTransactionReceipt<\n typeof wagmiConfig,\n SupportedChainId,\n Select\n >({\n chainId,\n confirmations,\n hash,\n query,\n onReplaced: (data) => {\n // @TODO connect to some atom if needed to detect cancelled/sped-up txs,\n // but sped-up txs may be detected correct internally and re-awaited with a new hash,\n // need to test\n // https://viem.sh/docs/actions/public/waitForTransactionReceipt.html#json-rpc-methods\n logger.log(\"onReplaced:tx\", hash, data);\n },\n });\n\n return queryResult;\n}\n\ntype EnsureTxReceiptFn = (\n options: Required<Pick<UseAwaitTxParameters, \"hash\" | \"chainId\">> & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\nexport function useEnsureTxReceipt(): EnsureTxReceiptFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n\n const ensureTxReceipt: EnsureTxReceiptFn = async ({\n hash,\n chainId,\n onReplaced,\n }) => {\n const queryKey = waitForTransactionReceiptQueryKey({\n hash,\n chainId,\n });\n const receipt = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () => {\n return waitForTransactionReceipt(wagmiConfig, {\n hash,\n chainId,\n onReplaced,\n });\n },\n });\n\n return receipt;\n };\n\n return ensureTxReceipt;\n}\n"],"names":["useAwaitTx","t0","$","_c","chainId","confirmations","hash","query","logger","useLogger","t1","data","log","t2","onReplaced","queryResult","useWaitForTransactionReceipt","useEnsureTxReceipt","queryClient","useQueryClient","wagmiConfig","useConfig","queryKey","waitForTransactionReceiptQueryKey","receipt","ensureQueryData","queryFn","waitForTransactionReceipt","ensureTxReceipt"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TransactionReceipt } from 'viem';
2
+ export declare function isTransactionReceipt(data: unknown): data is TransactionReceipt;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/queries/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,kBAAkB,CAS5B"}
@@ -0,0 +1,6 @@
1
+ function isTransactionReceipt(data) {
2
+ return typeof data === "object" && data !== null && "blockHash" in data && "transactionHash" in data && "status" in data && "gasUsed" in data;
3
+ }
4
+
5
+ export { isTransactionReceipt };
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/hooks/txs/queries/utils.ts"],"sourcesContent":["import type { TransactionReceipt } from \"viem\";\n\nexport function isTransactionReceipt(\n data: unknown\n): data is TransactionReceipt {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"blockHash\" in data &&\n \"transactionHash\" in data &&\n \"status\" in data &&\n \"gasUsed\" in data\n );\n}\n"],"names":["isTransactionReceipt","data"],"mappings":"AAEO,SAASA,qBACdC,IAAAA,EAC4B;AAC5B,EAAA,OACE,OAAOA,IAAAA,KAAS,QAAA,IAChBA,IAAAA,KAAS,IAAA,IACT,WAAA,IAAeA,IAAAA,IACf,iBAAA,IAAqBA,IAAAA,IACrB,QAAA,IAAYA,IAAAA,IACZ,SAAA,IAAaA,IAAAA;AAEjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAvailableCrosses.js","sources":["../../src/hooks/useAvailableCrosses.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { useMemo } from \"react\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\n\nexport function useAvailableCrosses({ fromChainId }: { fromChainId: number }): {\n availableCrosses?: SupportedChainId[];\n error: Error | null;\n isLoading: boolean;\n} {\n const { data: bridgeInfo, error, isLoading } = useGetBridgeInfo();\n const acrossTokenAddresses = bridgeInfo?.[fromChainId];\n const availableCrosses = useMemo(() => {\n if (!acrossTokenAddresses && !isLoading) return [];\n return (\n acrossTokenAddresses &&\n Object.keys(acrossTokenAddresses).map(Number).filter(isSupportedChainId)\n );\n }, [acrossTokenAddresses, isLoading]);\n\n return { availableCrosses, error, isLoading };\n}\n"],"names":["useAvailableCrosses","t0","$","_c","fromChainId","data","bridgeInfo","error","isLoading","useGetBridgeInfo","acrossTokenAddresses","t1","bb0","t2","Symbol","for","Object","keys","map","Number","filter","isSupportedChainId","availableCrosses"],"mappings":";;;;;AAKO,SAAAA,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA6B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAKlC,EAAA,MAAA;AAAA,IAAAI,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,MAA+CC,gBAAAA,EAAiB;AAChE,EAAA,MAAAC,oBAAAA,GAA6BJ,aAAaF,WAAW,CAAA;AAAE,EAAA,IAAAO,EAAAA;AAAAC,EAAAA,GAAAA,EAAA;AAAA,IAAA,IAEjD,CAACF,oBAAAA,IAAoB,CAAKF,SAAAA,EAAS;AAAA,MAAA,IAAAK,GAAAA;AAAA,MAAA,IAAAX,EAAA,CAAA,CAAA,KAAAY,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAASF,QAAAA,MAAA,EAAA;AAAEX,QAAAA,CAAAA,MAAAW,GAAAA;AAAAA,OAAA,MAAA;AAAAA,QAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAATS,MAAAA,EAAAA,GAAOE,GAAAA;AAAG,MAAA,MAAAD,GAAAA;AAAAA;AAAA,IAAA,IAAAC,GAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAQ,oBAAAA,EAAA;AAEjDG,MAAAA,GAAAA,GAAAH,oBAAAA,IACAM,MAAAA,CAAAC,IAAAA,CAAYP,oBAAoB,EAACQ,GAAAA,CAAAC,MAAW,CAAA,CAACC,MAAAA,CAAAC,kBAA0B,CAAA;AAACnB,MAAAA,CAAAA,MAAAQ,oBAAAA;AAAAR,MAAAA,CAAAA,MAAAW,GAAAA;AAAAA,KAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAF1ES,IAAAA,EAAAA,GACEE,GAAAA;AAAAA;AAHJ,EAAA,MAAAS,gBAAAA,GAAyBX,EAAAA;AAMa,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAoB,gBAAAA,IAAApB,CAAAA,QAAAK,KAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAM,SAAAA,EAAA;AAE/BK,IAAAA,EAAAA,GAAA;AAAA,MAAAS,gBAAAA;AAAAA,MAAAf,KAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAAsCN,IAAAA,CAAAA,MAAAoB,gBAAAA;AAAApB,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAAtCW,EAAAA;AAAsC;;;;"}
1
+ {"version":3,"file":"useAvailableCrosses.js","sources":["../../src/hooks/useAvailableCrosses.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { useMemo } from \"react\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\n\nexport function useAvailableCrosses({ fromChainId }: { fromChainId: number }): {\n availableCrosses?: SupportedChainId[];\n error: Error | null;\n isLoading: boolean;\n} {\n const { data: bridgeInfo, error, isLoading } = useGetBridgeInfo();\n const acrossTokenAddresses = bridgeInfo?.[fromChainId];\n const availableCrosses = useMemo(() => {\n if (!acrossTokenAddresses && !isLoading) return [];\n return (\n acrossTokenAddresses &&\n Object.keys(acrossTokenAddresses).map(Number).filter(isSupportedChainId)\n );\n }, [acrossTokenAddresses, isLoading]);\n\n return { availableCrosses, error, isLoading };\n}\n"],"names":["useAvailableCrosses","t0","$","_c","fromChainId","data","bridgeInfo","error","isLoading","useGetBridgeInfo","acrossTokenAddresses","t1","bb0","t2","Symbol","for","Object","keys","map","Number","filter","isSupportedChainId","availableCrosses"],"mappings":";;;;;AAKO,SAAAA,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA6B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAKlC,EAAA,MAAA;AAAA,IAAAI,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,MAA+CC,gBAAAA,EAAiB;AAChE,EAAA,MAAAC,oBAAAA,GAA6BJ,aAAaF,WAAW,CAAA;AAAE,EAAA,IAAAO,EAAAA;AAAAC,EAAAA,GAAAA,EAAA;AAAA,IAAA,IAEjD,CAACF,oBAAAA,IAAoB,CAAKF,SAAAA,EAAS;AAAA,MAAA,IAAAK,GAAAA;AAAA,MAAA,IAAAX,EAAA,CAAA,CAAA,KAAAY,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAASF,QAAAA,MAAA,EAAA;AAAEX,QAAAA,CAAAA,MAAAW,GAAAA;AAAAA,MAAA,CAAA,MAAA;AAAAA,QAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,MAAA;AAATS,MAAAA,EAAAA,GAAOE,GAAAA;AAAG,MAAA,MAAAD,GAAAA;AAAAA,IAAA;AAAA,IAAA,IAAAC,GAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAQ,oBAAAA,EAAA;AAEjDG,MAAAA,GAAAA,GAAAH,oBAAAA,IACAM,MAAAA,CAAAC,IAAAA,CAAYP,oBAAoB,EAACQ,GAAAA,CAAAC,MAAW,CAAA,CAACC,MAAAA,CAAAC,kBAA0B,CAAA;AAACnB,MAAAA,CAAAA,MAAAQ,oBAAAA;AAAAR,MAAAA,CAAAA,MAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAF1ES,IAAAA,EAAAA,GACEE,GAAAA;AAAAA,EAEA;AALJ,EAAA,MAAAS,gBAAAA,GAAyBX,EAAAA;AAMa,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAoB,gBAAAA,IAAApB,CAAAA,QAAAK,KAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAM,SAAAA,EAAA;AAE/BK,IAAAA,EAAAA,GAAA;AAAA,MAAAS,gBAAAA;AAAAA,MAAAf,KAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAAsCN,IAAAA,CAAAA,MAAAoB,gBAAAA;AAAApB,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAtCW,EAAAA;AAAsC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeInfo.js","sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/useBridgeInfo\";\n\nexport function useGetBridgeInfo(): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n });\n\n return result;\n}\n"],"names":["useGetBridgeInfo","$","_c","t0","Symbol","for","query","staleTime","Infinity","gcTime","result","useBridgeInfoQuery"],"mappings":";;;;AAIO,SAAAA,gBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAC6BF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,KAAAA,EAAA;AAAA,QAAAC,SAAAA,EAAAC,QAAAA;AAAAA,QAAAC,MAAAA,EAAAD;AAAAA;AAAA,KAAA;AAKjCP,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA;AALD,EAAA,MAAAS,MAAAA,GAAeC,mBAAmBR,EAKjC,CAAA;AAAE,EAAA,OAEIO,MAAAA;AAAM;;;;"}
1
+ {"version":3,"file":"useBridgeInfo.js","sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/useBridgeInfo\";\n\nexport function useGetBridgeInfo(): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n });\n\n return result;\n}\n"],"names":["useGetBridgeInfo","$","_c","t0","Symbol","for","query","staleTime","Infinity","gcTime","result","useBridgeInfoQuery"],"mappings":";;;;AAIO,SAAAA,gBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAC6BF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,KAAAA,EAAA;AAAA,QAAAC,SAAAA,EAAAC,QAAAA;AAAAA,QAAAC,MAAAA,EAAAD;AAAAA;AAAA,KAAA;AAKjCP,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAS,MAAAA,GAAeC,mBAAmBR,EAKjC,CAAA;AAAE,EAAA,OAEIO,MAAAA;AAAM;;;;"}
@@ -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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA;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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA;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,KAAC;AAClCnB,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAA;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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA;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,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 +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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;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,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 +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 return {\n enabledInConfig: widgetConfig.enableDelta,\n enabledInSettings: deltaParam,\n enabledOnCurrentChain: deltaEnabledOnAPI[chainId],\n isDeltaMode: swapMode === \"delta\",\n };\n};\n"],"names":["useGlobalDeltaEnabled","$","_c","chainId","useChainId","widgetConfig","useWidgetConfig","deltaParam","useAtomValue","deltaParamAtom","swapMode","swapModeAtom","t0","deltaEnabledOnAPI","t1","t2","enableDelta","enabledInConfig","enabledInSettings","enabledOnCurrentChain","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;AAKjB,EAAA,MAAAC,EAAAA,GAAAC,kBAAkBV,OAAO,CAAA;AACnC,EAAA,MAAAW,KAAAJ,QAAAA,KAAa,OAAA;AAAO,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAM,UAAAA,IAAAN,CAAAA,QAAAW,EAAAA,IAAAX,CAAAA,CAAA,CAAA,MAAAa,EAAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAI,aAAAW,WAAAA,EAAA;AAJ5BD,IAAAA,EAAAA,GAAA;AAAA,MAAAE,iBACYZ,YAAAA,CAAYW,WAAAA;AAAAA,MAAAE,iBAAAA,EACVX,UAAAA;AAAAA,MAAUY,qBAAAA,EACNP,EAAAA;AAAAA,MAA0BQ,WAAAA,EACpCN;AAAAA,KAAoB;AAClCb,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAb,IAAAA,CAAAA,CAAA,CAAA,IAAAI,YAAAA,CAAAW,WAAAA;AAAAf,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OALMc,EAAAA;AAKN;;;;"}
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 return {\n enabledInConfig: widgetConfig.enableDelta,\n enabledInSettings: deltaParam,\n enabledOnCurrentChain: deltaEnabledOnAPI[chainId],\n isDeltaMode: swapMode === \"delta\",\n };\n};\n"],"names":["useGlobalDeltaEnabled","$","_c","chainId","useChainId","widgetConfig","useWidgetConfig","deltaParam","useAtomValue","deltaParamAtom","swapMode","swapModeAtom","t0","deltaEnabledOnAPI","t1","t2","enableDelta","enabledInConfig","enabledInSettings","enabledOnCurrentChain","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;AAKjB,EAAA,MAAAC,EAAAA,GAAAC,kBAAkBV,OAAO,CAAA;AACnC,EAAA,MAAAW,KAAAJ,QAAAA,KAAa,OAAA;AAAO,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAM,UAAAA,IAAAN,CAAAA,QAAAW,EAAAA,IAAAX,CAAAA,CAAA,CAAA,MAAAa,EAAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAI,aAAAW,WAAAA,EAAA;AAJ5BD,IAAAA,EAAAA,GAAA;AAAA,MAAAE,iBACYZ,YAAAA,CAAYW,WAAAA;AAAAA,MAAAE,iBAAAA,EACVX,UAAAA;AAAAA,MAAUY,qBAAAA,EACNP,EAAAA;AAAAA,MAA0BQ,WAAAA,EACpCN;AAAAA,KAAoB;AAClCb,IAAAA,CAAAA,MAAAM,UAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAb,IAAAA,CAAAA,CAAA,CAAA,IAAAI,YAAAA,CAAAW,WAAAA;AAAAf,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMc,EAAAA;AAKN;;;;"}
@@ -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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA;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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA;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,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 +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;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,KAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;AAJDQ,IAAAA,EAAAA,GAAOG,GAAAA;AAAAA;AAPT,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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA;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;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,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
3
- import { constructPartialSDK, constructAxiosFetcher, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructBuildCrosschainOrderBridge, constructPostDeltaOrder, constructGetBridgeInfo, constructGetMulticallHandlers, constructIsTokenSupportedInDelta, constructViemContractCaller, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx } from '@velora-dex/sdk';
3
+ import { constructAxiosFetcher, constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructBuildCrosschainOrderBridge, constructPostDeltaOrder, constructGetBridgeInfo, constructGetMulticallHandlers, constructIsTokenSupportedInDelta, constructViemContractCaller, constructSignDeltaOrder, constructGetRate, constructGetSpender, constructBuildTx } from '@velora-dex/sdk';
4
4
  import { API_URL } from '../lib/constants/index.js';
5
5
  import { useLogger } from '../core/logger.js';
6
6
 
@@ -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 constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructBuildCrosschainOrderBridge,\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 GetBridgeInfoFunctions,\n type GetMulticallHandlersFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildCrosschainOrderBridgeFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n} from \"@velora-dex/sdk\";\nimport type { Address, Hash } 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 account?: Address;\n client?: MinViemClient;\n};\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\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}): Record<keyof ConstructedSDKOutput<unknown>, undefined>; // keyof allows for autocomplete in destructuring\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):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Record<keyof ConstructedSDKOutput<unknown>, undefined>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Partial<Record<keyof ConstructedSDKOutput<unknown>, undefined>> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (!client || !account) return;\n\n const contractCaller = constructViemContractCaller(client, account);\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(SDKconfig, constructAllLimitOrdersHandlers);\n }, [account, apiURL, client, chainId]);\n\n if (!sdk) return {};\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 BuildCrosschainOrderBridgeFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n GetMulticallHandlersFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions>;\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 constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\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 constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\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","useDeltaSDK","account","client","logger","useLogger","log","constructGetDeltaOrders","constructGetDeltaPrice","constructBuildDeltaOrder","constructBuildCrosschainOrderBridge","constructPostDeltaOrder","constructGetBridgeInfo","constructGetMulticallHandlers","constructIsTokenSupportedInDelta","contractCaller","constructViemContractCaller","constructSignDeltaOrder"],"mappings":";;;;;;AAyCA,MAAMA,OAAAA,GAAUC,sBAAsBC,KAAK,CAAA;AAmBpC,SAASC,gBAAAA,CAAiB;AAAA,EAC/BC,OAAAA;AAAAA,EACAC,MAAAA,GAASC;AACM,CAAA,EAAwC;AACvD,EAAA,aAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMC,QAAQ,MAAM;AACxB,IAAA,MAAMC,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,OAAOU,mBAAAA,CACLD,SAAAA,EACAE,gBAAAA,EACAC,mBAAAA,EACAC,gBACF,CAAA;AAAA,GACF,EAAG,CAACR,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACLU,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;AA+GO,SAASS,WAAAA,CAAY;AAAA,EAC1BZ,OAAAA;AAAAA,EACAC,MAAAA,GAASC,OAAAA;AAAAA,EACTW,OAAAA;AAAAA,EACAC;AACoB,CAAA,EAAsD;AAC1E,EAAA,aAAA;AAGA,EAAA,MAAMC,MAAAA,GAASC,UAAU,UAAU,CAAA;AAEnC,EAAA,MAAMb,GAAAA,GAAMC,QAAQ,MAAM;AACxBW,IAAAA,MAAAA,CAAOE,IAAI,UAAU,CAAA;AACrB,IAAA,MAAMZ,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,IAAI,CAACkB,MAAAA,IAAU,CAACD,OAAAA,EAAS;AACvB,MAAA,OAAOP,mBAAAA,CACLD,WACAa,uBAAAA,EACAC,sBAAAA,EACAC,0BACAC,mCAAAA,EACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCACF,CAAA;AAAA;AAGF,IAAA,MAAMC,cAAAA,GAAiBC,2BAAAA,CAA4Bb,MAAAA,EAAQD,OAAO,CAAA;AAElE,IAAA,OAAOP,mBAAAA,CACL;AAAA,MAAE,GAAGD,SAAAA;AAAAA,MAAWqB;AAAAA,KAAe,EAC/BR,yBACAC,sBAAAA,EACAC,wBAAAA,EACAC,qCACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCAAAA,EACAG,uBACF,CAAA;AAAA,KACC,CAACb,MAAAA,EAAQd,QAAQD,OAAAA,EAASc,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAE7C,EAAA,OAAO;AAAA,IACLH,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;;;;"}
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 constructGetBridgeInfo,\n constructGetMulticallHandlers,\n constructIsTokenSupportedInDelta,\n constructBuildCrosschainOrderBridge,\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 GetBridgeInfoFunctions,\n type GetMulticallHandlersFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildCrosschainOrderBridgeFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n} from \"@velora-dex/sdk\";\nimport type { Address, Hash } 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 account?: Address;\n client?: MinViemClient;\n};\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\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}): Record<keyof ConstructedSDKOutput<unknown>, undefined>; // keyof allows for autocomplete in destructuring\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):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Record<keyof ConstructedSDKOutput<unknown>, undefined>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL = API_URL,\n account,\n client,\n}: LimitOrdersSDKCreateParams):\n | ConstructedSDKOutput<LimitOrdersSDK>\n | Partial<Record<keyof ConstructedSDKOutput<unknown>, undefined>> {\n \"use no memo\";\n\n const sdk = useMemo(() => {\n if (!client || !account) return;\n\n const contractCaller = constructViemContractCaller(client, account);\n\n const SDKconfig = {\n apiURL,\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(SDKconfig, constructAllLimitOrdersHandlers);\n }, [account, apiURL, client, chainId]);\n\n if (!sdk) return {};\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 BuildCrosschainOrderBridgeFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n GetMulticallHandlersFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions>;\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 constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\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 constructBuildCrosschainOrderBridge,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructGetMulticallHandlers,\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","useDeltaSDK","account","client","logger","useLogger","log","constructGetDeltaOrders","constructGetDeltaPrice","constructBuildDeltaOrder","constructBuildCrosschainOrderBridge","constructPostDeltaOrder","constructGetBridgeInfo","constructGetMulticallHandlers","constructIsTokenSupportedInDelta","contractCaller","constructViemContractCaller","constructSignDeltaOrder"],"mappings":";;;;;;AAyCA,MAAMA,OAAAA,GAAUC,sBAAsBC,KAAK,CAAA;AAmBpC,SAASC,gBAAAA,CAAiB;AAAA,EAC/BC,OAAAA;AAAAA,EACAC,MAAAA,GAASC;AACM,CAAA,EAAwC;AACvD,EAAA,aAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMC,QAAQ,MAAM;AACxB,IAAA,MAAMC,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,OAAOU,mBAAAA,CACLD,SAAAA,EACAE,gBAAAA,EACAC,mBAAAA,EACAC,gBACF,CAAA;AAAA,EACF,CAAA,EAAG,CAACR,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACLU,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;AA+GO,SAASS,WAAAA,CAAY;AAAA,EAC1BZ,OAAAA;AAAAA,EACAC,MAAAA,GAASC,OAAAA;AAAAA,EACTW,OAAAA;AAAAA,EACAC;AACoB,CAAA,EAAsD;AAC1E,EAAA,aAAA;AAGA,EAAA,MAAMC,MAAAA,GAASC,UAAU,UAAU,CAAA;AAEnC,EAAA,MAAMb,GAAAA,GAAMC,QAAQ,MAAM;AACxBW,IAAAA,MAAAA,CAAOE,IAAI,UAAU,CAAA;AACrB,IAAA,MAAMZ,SAAAA,GAAY;AAAA,MAChBJ,MAAAA;AAAAA,MACAD,OAAAA;AAAAA,MACAJ;AAAAA,KACF;AAEA,IAAA,IAAI,CAACkB,MAAAA,IAAU,CAACD,OAAAA,EAAS;AACvB,MAAA,OAAOP,mBAAAA,CACLD,WACAa,uBAAAA,EACAC,sBAAAA,EACAC,0BACAC,mCAAAA,EACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCACF,CAAA;AAAA,IACF;AAEA,IAAA,MAAMC,cAAAA,GAAiBC,2BAAAA,CAA4Bb,MAAAA,EAAQD,OAAO,CAAA;AAElE,IAAA,OAAOP,mBAAAA,CACL;AAAA,MAAE,GAAGD,SAAAA;AAAAA,MAAWqB;AAAAA,KAAe,EAC/BR,yBACAC,sBAAAA,EACAC,wBAAAA,EACAC,qCACAC,uBAAAA,EACAC,sBAAAA,EACAC,6BAAAA,EACAC,gCAAAA,EACAG,uBACF,CAAA;AAAA,EACF,GAAG,CAACb,MAAAA,EAAQd,QAAQD,OAAAA,EAASc,MAAAA,EAAQD,OAAO,CAAC,CAAA;AAE7C,EAAA,OAAO;AAAA,IACLH,YAAYP,GAAAA,CAAIQ,OAAAA;AAAAA,IAChBX,SAASG,GAAAA,CAAIH,OAAAA;AAAAA,IACbC,QAAQE,GAAAA,CAAIF,MAAAA;AAAAA,IACZE;AAAAA,GACF;AACF;;;;"}
@@ -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/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\n\nexport const useSlippage = () => {\n const slippageFromParams = useAtomValue(slippageParamAtom);\n const chainId = useChainId();\n const { tokenFrom, tokenTo } = useWidgetTokens();\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","$","_c","slippageFromParams","useAtomValue","slippageParamAtom","chainId","useChainId","tokenFrom","tokenTo","useWidgetTokens","t0","address","t1","t2","tokensAreStablecoins","useIsAddressStablecoin","resolvedSlippage","stablecoinDefaultSlippage","t3"],"mappings":";;;;;;;;AAOO,MAAMA,cAAcA,MAAA;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,MAA+BC,eAAAA,EAAgB;AAI5C,EAAA,MAAAC,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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA;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,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA;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/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useChainId } from \"wagmi\";\n\nexport const useSlippage = () => {\n const slippageFromParams = useAtomValue(slippageParamAtom);\n const chainId = useChainId();\n const { tokenFrom, tokenTo } = useWidgetTokens();\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","$","_c","slippageFromParams","useAtomValue","slippageParamAtom","chainId","useChainId","tokenFrom","tokenTo","useWidgetTokens","t0","address","t1","t2","tokensAreStablecoins","useIsAddressStablecoin","resolvedSlippage","stablecoinDefaultSlippage","t3"],"mappings":";;;;;;;;AAOO,MAAMA,cAAcA,MAAA;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,MAA+BC,eAAAA,EAAgB;AAI5C,EAAA,MAAAC,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 +1 @@
1
- {"version":3,"file":"ipfs.js","sources":["../../src/lib/ipfs.ts"],"sourcesContent":["import axios, { type AxiosResponse } from \"axios\";\n\nconst ipfsRegEx = /^(ipfs|ipns):\\/\\/(.*)$/i;\n\nexport const IPFStransformer: TransformURI = (uri) => {\n const match = uri.match(ipfsRegEx);\n // likely http:// , https:// or // uri\n if (!match) return null;\n\n const [, protocol, hash] = match;\n if (!protocol || !hash) return null;\n\n return `https://ipfs.io/${protocol}/${hash}/`;\n};\n\n// takes URI, returns string if applicable or null\ntype TransformURI = (uri: string) => string | null;\n\nconst createURItoHttpURLTransformer = (\n ...transformers: TransformURI[]\n): ((uri: string) => string) => {\n return (uri) => {\n // try each transformer\n const httpURL = transformers.reduce<string | null>(\n (result, transformer) => {\n // as soon as transformer returns string, skip further transformers\n if (result !== null) return result;\n // no transformer returned string yet, so try current transformer\n return transformer(uri);\n },\n null\n );\n\n return httpURL || uri;\n };\n};\n\n// uri can be\n// IPFS ipfs://QmV8AfDE8GFSGQvt3vck8EwAzsPuNTmtP8VcQJE3qxRPaZ\n// IPNS ipns://app.uniswap.org\n// http, https or // (match current protocol)\n\nexport const uriToHttpURL = createURItoHttpURLTransformer(IPFStransformer);\n\nconst constructIpfsFetcher =\n (baseUrl: string) =>\n async <T>(ipfsHash: string, signal?: AbortSignal) =>\n axios.get<T>(baseUrl + ipfsHash, { signal });\nconst pinataFetcher = constructIpfsFetcher(\n \"https://gateway.pinata.cloud/ipfs/\"\n);\nconst cloudflareFetcher = constructIpfsFetcher(\n \"https://cloudflare-ipfs.com/ipfs/\"\n);\n\nexport const fetchDataOnIpfs = async <T>(\n ipfsHash: string,\n signal?: AbortSignal\n): Promise<AxiosResponse<T>> => {\n try {\n return await pinataFetcher<T>(ipfsHash, signal);\n } catch {\n return await cloudflareFetcher<T>(ipfsHash, signal);\n }\n};\n"],"names":["ipfsRegEx","IPFStransformer","uri","match","protocol","hash","createURItoHttpURLTransformer","transformers","httpURL","reduce","result","transformer","uriToHttpURL"],"mappings":";;AAEA,MAAMA,SAAAA,GAAY,yBAAA;AAEX,MAAMC,kBAAiCC,CAAAA,GAAAA,KAAQ;AACpD,EAAA,MAAMC,KAAAA,GAAQD,GAAAA,CAAIC,KAAAA,CAAMH,SAAS,CAAA;AAEjC,EAAA,IAAI,CAACG,OAAO,OAAO,IAAA;AAEnB,EAAA,MAAM,GAAGC,QAAAA,EAAUC,IAAI,CAAA,GAAIF,KAAAA;AAC3B,EAAA,IAAI,CAACC,QAAAA,IAAY,CAACC,IAAAA,EAAM,OAAO,IAAA;AAE/B,EAAA,OAAO,CAAA,gBAAA,EAAmBD,QAAQ,CAAA,CAAA,EAAIC,IAAI,CAAA,CAAA,CAAA;AAC5C;AAKA,MAAMC,6BAAAA,GAAgCA,IACjCC,YAAAA,KAC2B;AAC9B,EAAA,OAAQL,CAAAA,GAAAA,KAAQ;AAEd,IAAA,MAAMM,OAAAA,GAAUD,YAAAA,CAAaE,MAAAA,CAC3B,CAACC,QAAQC,WAAAA,KAAgB;AAEvB,MAAA,IAAID,MAAAA,KAAW,MAAM,OAAOA,MAAAA;AAE5B,MAAA,OAAOC,YAAYT,GAAG,CAAA;AAAA,OAExB,IACF,CAAA;AAEA,IAAA,OAAOM,OAAAA,IAAWN,GAAAA;AAAAA,GACpB;AACF,CAAA;AAOO,MAAMU,YAAAA,GAAeN,8BAA8BL,eAAe;;;;"}
1
+ {"version":3,"file":"ipfs.js","sources":["../../src/lib/ipfs.ts"],"sourcesContent":["import axios, { type AxiosResponse } from \"axios\";\n\nconst ipfsRegEx = /^(ipfs|ipns):\\/\\/(.*)$/i;\n\nexport const IPFStransformer: TransformURI = (uri) => {\n const match = uri.match(ipfsRegEx);\n // likely http:// , https:// or // uri\n if (!match) return null;\n\n const [, protocol, hash] = match;\n if (!protocol || !hash) return null;\n\n return `https://ipfs.io/${protocol}/${hash}/`;\n};\n\n// takes URI, returns string if applicable or null\ntype TransformURI = (uri: string) => string | null;\n\nconst createURItoHttpURLTransformer = (\n ...transformers: TransformURI[]\n): ((uri: string) => string) => {\n return (uri) => {\n // try each transformer\n const httpURL = transformers.reduce<string | null>(\n (result, transformer) => {\n // as soon as transformer returns string, skip further transformers\n if (result !== null) return result;\n // no transformer returned string yet, so try current transformer\n return transformer(uri);\n },\n null\n );\n\n return httpURL || uri;\n };\n};\n\n// uri can be\n// IPFS ipfs://QmV8AfDE8GFSGQvt3vck8EwAzsPuNTmtP8VcQJE3qxRPaZ\n// IPNS ipns://app.uniswap.org\n// http, https or // (match current protocol)\n\nexport const uriToHttpURL = createURItoHttpURLTransformer(IPFStransformer);\n\nconst constructIpfsFetcher =\n (baseUrl: string) =>\n async <T>(ipfsHash: string, signal?: AbortSignal) =>\n axios.get<T>(baseUrl + ipfsHash, { signal });\nconst pinataFetcher = constructIpfsFetcher(\n \"https://gateway.pinata.cloud/ipfs/\"\n);\nconst cloudflareFetcher = constructIpfsFetcher(\n \"https://cloudflare-ipfs.com/ipfs/\"\n);\n\nexport const fetchDataOnIpfs = async <T>(\n ipfsHash: string,\n signal?: AbortSignal\n): Promise<AxiosResponse<T>> => {\n try {\n return await pinataFetcher<T>(ipfsHash, signal);\n } catch {\n return await cloudflareFetcher<T>(ipfsHash, signal);\n }\n};\n"],"names":["ipfsRegEx","IPFStransformer","uri","match","protocol","hash","createURItoHttpURLTransformer","transformers","httpURL","reduce","result","transformer","uriToHttpURL"],"mappings":";;AAEA,MAAMA,SAAAA,GAAY,yBAAA;AAEX,MAAMC,kBAAiCC,CAAAA,GAAAA,KAAQ;AACpD,EAAA,MAAMC,KAAAA,GAAQD,GAAAA,CAAIC,KAAAA,CAAMH,SAAS,CAAA;AAEjC,EAAA,IAAI,CAACG,OAAO,OAAO,IAAA;AAEnB,EAAA,MAAM,GAAGC,QAAAA,EAAUC,IAAI,CAAA,GAAIF,KAAAA;AAC3B,EAAA,IAAI,CAACC,QAAAA,IAAY,CAACC,IAAAA,EAAM,OAAO,IAAA;AAE/B,EAAA,OAAO,CAAA,gBAAA,EAAmBD,QAAQ,CAAA,CAAA,EAAIC,IAAI,CAAA,CAAA,CAAA;AAC5C;AAKA,MAAMC,6BAAAA,GAAgCA,IACjCC,YAAAA,KAC2B;AAC9B,EAAA,OAAQL,CAAAA,GAAAA,KAAQ;AAEd,IAAA,MAAMM,OAAAA,GAAUD,YAAAA,CAAaE,MAAAA,CAC3B,CAACC,QAAQC,WAAAA,KAAgB;AAEvB,MAAA,IAAID,MAAAA,KAAW,MAAM,OAAOA,MAAAA;AAE5B,MAAA,OAAOC,YAAYT,GAAG,CAAA;AAAA,IACxB,GACA,IACF,CAAA;AAEA,IAAA,OAAOM,OAAAA,IAAWN,GAAAA;AAAAA,EACpB,CAAA;AACF,CAAA;AAOO,MAAMU,YAAAA,GAAeN,8BAA8BL,eAAe;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/lib/queryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/lib/queryClient.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGhE,eAAO,MAAM,WAAW,aA6BtB,CAAC"}
@@ -1,6 +1,36 @@
1
- import { QueryClient } from '@tanstack/react-query';
1
+ import { getLogger } from '../core/logger.js';
2
+ import { isDeltaOrderFromApi, isExecutedDeltaAuction } from '../hooks/swap/prices/delta/orders/utils.js';
3
+ import { deltaAuctionPollingQueryKey } from '../hooks/swap/prices/delta/queries/useWatchDeltaOrder.js';
4
+ import { invalidateBalancesAndAllowancesFactory } from '../hooks/tokens/balances/useInvalidateTokenData.js';
5
+ import { isTransactionReceipt } from '../hooks/txs/queries/utils.js';
6
+ import { QueryClient, QueryCache } from '@tanstack/react-query';
7
+ import { waitForTransactionReceiptQueryKey } from 'wagmi/query';
2
8
 
3
- const queryClient = new QueryClient();
9
+ const queryClient = new QueryClient({
10
+ queryCache: new QueryCache({
11
+ onSuccess(data, query) {
12
+ const logger = getLogger("QueryCache");
13
+ const queryKeyPrefix = query.queryKey[0];
14
+ if (queryKeyPrefix === waitForTransactionReceiptQueryKeyPrefix && isTransactionReceipt(data)) {
15
+ logger.log(`waitForTransactionReceiptQueryKey:: tx ${data.transactionHash} is mined, invalidating balances and allowances`);
16
+ invalidateBalancesAndAllowances({
17
+ nonces: true
18
+ });
19
+ return;
20
+ }
21
+ if (queryKeyPrefix === deltaAuctionPollingQueryKeyPrefix && isDeltaOrderFromApi(data) && isExecutedDeltaAuction(data)) {
22
+ logger.log(`deltaAuctionPollingQueryKey:: order ${data.id} is executed, invalidating balances and allowances`);
23
+ invalidateBalancesAndAllowances({
24
+ nonces: !!data.order.permit
25
+ });
26
+ return;
27
+ }
28
+ }
29
+ })
30
+ });
31
+ const invalidateBalancesAndAllowances = invalidateBalancesAndAllowancesFactory(queryClient);
32
+ const waitForTransactionReceiptQueryKeyPrefix = waitForTransactionReceiptQueryKey()[0];
33
+ const deltaAuctionPollingQueryKeyPrefix = deltaAuctionPollingQueryKey()[0];
4
34
 
5
35
  export { queryClient };
6
36
  //# sourceMappingURL=queryClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.js","sources":["../../src/lib/queryClient.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\n\nexport const queryClient = new QueryClient();\n"],"names":["queryClient","QueryClient"],"mappings":";;AAEO,MAAMA,WAAAA,GAAc,IAAIC,WAAAA;;;;"}
1
+ {"version":3,"file":"queryClient.js","sources":["../../src/lib/queryClient.ts"],"sourcesContent":["import { getLogger } from \"@/core/logger\";\nimport {\n isDeltaOrderFromApi,\n isExecutedDeltaAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { deltaAuctionPollingQueryKey } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { invalidateBalancesAndAllowancesFactory } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport { isTransactionReceipt } from \"@/hooks/txs/queries/utils\";\nimport { QueryCache, QueryClient } from \"@tanstack/react-query\";\nimport { waitForTransactionReceiptQueryKey } from \"wagmi/query\";\n\nexport const queryClient = new QueryClient({\n queryCache: new QueryCache({\n onSuccess(data, query) {\n const logger = getLogger(\"QueryCache\");\n const queryKeyPrefix = query.queryKey[0];\n\n if (\n queryKeyPrefix === waitForTransactionReceiptQueryKeyPrefix &&\n isTransactionReceipt(data)\n ) {\n logger.log(\n `waitForTransactionReceiptQueryKey:: tx ${data.transactionHash} is mined, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: true });\n return;\n }\n if (\n queryKeyPrefix === deltaAuctionPollingQueryKeyPrefix &&\n isDeltaOrderFromApi(data) &&\n isExecutedDeltaAuction(data)\n ) {\n logger.log(\n `deltaAuctionPollingQueryKey:: order ${data.id} is executed, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: !!data.order.permit });\n return;\n }\n },\n }),\n});\n\nconst invalidateBalancesAndAllowances =\n invalidateBalancesAndAllowancesFactory(queryClient);\n\nconst waitForTransactionReceiptQueryKeyPrefix =\n waitForTransactionReceiptQueryKey()[0];\nconst deltaAuctionPollingQueryKeyPrefix = deltaAuctionPollingQueryKey()[0];\n"],"names":["queryClient","QueryClient","queryCache","QueryCache","onSuccess","data","query","logger","getLogger","queryKeyPrefix","queryKey","waitForTransactionReceiptQueryKeyPrefix","isTransactionReceipt","log","transactionHash","invalidateBalancesAndAllowances","nonces","deltaAuctionPollingQueryKeyPrefix","isDeltaOrderFromApi","isExecutedDeltaAuction","id","order","permit","invalidateBalancesAndAllowancesFactory","waitForTransactionReceiptQueryKey","deltaAuctionPollingQueryKey"],"mappings":";;;;;;;;AAWO,MAAMA,WAAAA,GAAc,IAAIC,WAAAA,CAAY;AAAA,EACzCC,UAAAA,EAAY,IAAIC,UAAAA,CAAW;AAAA,IACzBC,SAAAA,CAAUC,MAAMC,KAAAA,EAAO;AACrB,MAAA,MAAMC,MAAAA,GAASC,UAAU,YAAY,CAAA;AACrC,MAAA,MAAMC,cAAAA,GAAiBH,KAAAA,CAAMI,QAAAA,CAAS,CAAC,CAAA;AAEvC,MAAA,IACED,cAAAA,KAAmBE,uCAAAA,IACnBC,oBAAAA,CAAqBP,IAAI,CAAA,EACzB;AACAE,QAAAA,MAAAA,CAAOM,GAAAA,CACL,CAAA,uCAAA,EAA0CR,IAAAA,CAAKS,eAAe,CAAA,+CAAA,CAChE,CAAA;AACAC,QAAAA,+BAAAA,CAAgC;AAAA,UAAEC,MAAAA,EAAQ;AAAA,SAAM,CAAA;AAChD,QAAA;AAAA,MACF;AACA,MAAA,IACEP,mBAAmBQ,iCAAAA,IACnBC,mBAAAA,CAAoBb,IAAI,CAAA,IACxBc,sBAAAA,CAAuBd,IAAI,CAAA,EAC3B;AACAE,QAAAA,MAAAA,CAAOM,GAAAA,CACL,CAAA,oCAAA,EAAuCR,IAAAA,CAAKe,EAAE,CAAA,kDAAA,CAChD,CAAA;AACAL,QAAAA,+BAAAA,CAAgC;AAAA,UAAEC,MAAAA,EAAQ,CAAC,CAACX,IAAAA,CAAKgB,KAAAA,CAAMC;AAAAA,SAAQ,CAAA;AAC/D,QAAA;AAAA,MACF;AAAA,IACF;AAAA,GACD;AACH,CAAC;AAED,MAAMP,+BAAAA,GACJQ,uCAAuCvB,WAAW,CAAA;AAEpD,MAAMW,uCAAAA,GACJa,iCAAAA,EAAkC,CAAE,CAAC,CAAA;AACvC,MAAMP,iCAAAA,GAAoCQ,2BAAAA,EAA4B,CAAE,CAAC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"copyToClipboard.js","sources":["../../../src/lib/utils/copyToClipboard.ts"],"sourcesContent":["import copy from \"copy-to-clipboard\";\n\nexport async function copyToClipboard(text: string): Promise<void> {\n try {\n // breaks inside iframe without 'clipboard-write' permission\n return await navigator.clipboard.writeText(text);\n } catch {\n // uses a deprecated document.execCommand('copy')\n copy(text, { debug: import.meta.env.DEV });\n }\n}\n"],"names":["copyToClipboard","text","navigator","clipboard","writeText","copy","debug","import"],"mappings":";;AAEA,eAAsBA,gBAAgBC,IAAAA,EAA6B;AACjE,EAAA,IAAI;AAEF,IAAA,OAAO,MAAMC,SAAAA,CAAUC,SAAAA,CAAUC,SAAAA,CAAUH,IAAI,CAAA;AAAA,GACjD,CAAA,MAAQ;AAENI,IAAAA,IAAAA,CAAKJ,IAAAA,EAAM;AAAA,MAAEK,KAAAA,EAAOC;AAAAA,KAAqB,CAAA;AAAA;AAE7C;;;;"}
1
+ {"version":3,"file":"copyToClipboard.js","sources":["../../../src/lib/utils/copyToClipboard.ts"],"sourcesContent":["import copy from \"copy-to-clipboard\";\n\nexport async function copyToClipboard(text: string): Promise<void> {\n try {\n // breaks inside iframe without 'clipboard-write' permission\n return await navigator.clipboard.writeText(text);\n } catch {\n // uses a deprecated document.execCommand('copy')\n copy(text, { debug: import.meta.env.DEV });\n }\n}\n"],"names":["copyToClipboard","text","navigator","clipboard","writeText","copy","debug","import"],"mappings":";;AAEA,eAAsBA,gBAAgBC,IAAAA,EAA6B;AACjE,EAAA,IAAI;AAEF,IAAA,OAAO,MAAMC,SAAAA,CAAUC,SAAAA,CAAUC,SAAAA,CAAUH,IAAI,CAAA;AAAA,EACjD,CAAA,CAAA,MAAQ;AAENI,IAAAA,IAAAA,CAAKJ,IAAAA,EAAM;AAAA,MAAEK,KAAAA,EAAOC;AAAAA,KAAqB,CAAA;AAAA,EAC3C;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"delta.js","sources":["../../../src/lib/utils/delta.ts"],"sourcesContent":["import axios from \"axios\";\n\nfunction getErrorData(error: Error): Record<string, unknown> | null {\n if (!axios.isAxiosError(error)) return null;\n\n const errorData = error.response?.data;\n if (!errorData || typeof errorData !== \"object\") return null;\n\n return errorData;\n}\n\n// API Errors Across Error\ntype KnownErrorTypes = \"UnsupportedToken\" | \"BridgeQuoteFailed\";\n\n/**\n * Parses a Delta API error and extracts known error types and descriptions.\n */\nexport function parseDeltaApiError(\n error: Error | null\n):\n | { errorType: string | KnownErrorTypes; description: string }\n | { errorType?: undefined; description?: undefined } {\n if (!axios.isAxiosError(error)) return {};\n\n const errorData = getErrorData(error);\n\n if (!errorData) return {};\n\n if (\"errorType\" in errorData) {\n const errorType = errorData[\"errorType\"];\n const description =\n errorData[\"description\"] || errorData[\"message\"] || errorData[\"details\"]; // Across error has .details\n\n if (typeof errorType === \"string\" && typeof description === \"string\")\n return { errorType, description };\n }\n\n return {};\n}\n"],"names":["getErrorData","error","axios","isAxiosError","errorData","response","data","parseDeltaApiError","errorType","description"],"mappings":";;AAEA,SAASA,aAAaC,KAAAA,EAA8C;AAClE,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,GAAG,OAAO,IAAA;AAEvC,EAAA,MAAMG,SAAAA,GAAYH,MAAMI,QAAAA,EAAUC,IAAAA;AAClC,EAAA,IAAI,CAACF,SAAAA,IAAa,OAAOA,SAAAA,KAAc,UAAU,OAAO,IAAA;AAExD,EAAA,OAAOA,SAAAA;AACT;AAQO,SAASG,mBACdN,KAAAA,EAGqD;AACrD,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,CAAA,SAAU,EAAC;AAExC,EAAA,MAAMG,SAAAA,GAAYJ,aAAaC,KAAK,CAAA;AAEpC,EAAA,IAAI,CAACG,SAAAA,EAAW,OAAO,EAAC;AAExB,EAAA,IAAI,eAAeA,SAAAA,EAAW;AAC5B,IAAA,MAAMI,SAAAA,GAAYJ,UAAU,WAAW,CAAA;AACvC,IAAA,MAAMK,WAAAA,GACJL,UAAU,aAAa,CAAA,IAAKA,UAAU,SAAS,CAAA,IAAKA,UAAU,SAAS,CAAA;AAEzE,IAAA,IAAI,OAAOI,SAAAA,KAAc,QAAA,IAAY,OAAOC,WAAAA,KAAgB,UAC1D,OAAO;AAAA,MAAED,SAAAA;AAAAA,MAAWC;AAAAA,KAAY;AAAA;AAGpC,EAAA,OAAO,EAAC;AACV;;;;"}
1
+ {"version":3,"file":"delta.js","sources":["../../../src/lib/utils/delta.ts"],"sourcesContent":["import axios from \"axios\";\n\nfunction getErrorData(error: Error): Record<string, unknown> | null {\n if (!axios.isAxiosError(error)) return null;\n\n const errorData = error.response?.data;\n if (!errorData || typeof errorData !== \"object\") return null;\n\n return errorData;\n}\n\n// API Errors Across Error\ntype KnownErrorTypes = \"UnsupportedToken\" | \"BridgeQuoteFailed\";\n\n/**\n * Parses a Delta API error and extracts known error types and descriptions.\n */\nexport function parseDeltaApiError(\n error: Error | null\n):\n | { errorType: string | KnownErrorTypes; description: string }\n | { errorType?: undefined; description?: undefined } {\n if (!axios.isAxiosError(error)) return {};\n\n const errorData = getErrorData(error);\n\n if (!errorData) return {};\n\n if (\"errorType\" in errorData) {\n const errorType = errorData[\"errorType\"];\n const description =\n errorData[\"description\"] || errorData[\"message\"] || errorData[\"details\"]; // Across error has .details\n\n if (typeof errorType === \"string\" && typeof description === \"string\")\n return { errorType, description };\n }\n\n return {};\n}\n"],"names":["getErrorData","error","axios","isAxiosError","errorData","response","data","parseDeltaApiError","errorType","description"],"mappings":";;AAEA,SAASA,aAAaC,KAAAA,EAA8C;AAClE,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,GAAG,OAAO,IAAA;AAEvC,EAAA,MAAMG,SAAAA,GAAYH,MAAMI,QAAAA,EAAUC,IAAAA;AAClC,EAAA,IAAI,CAACF,SAAAA,IAAa,OAAOA,SAAAA,KAAc,UAAU,OAAO,IAAA;AAExD,EAAA,OAAOA,SAAAA;AACT;AAQO,SAASG,mBACdN,KAAAA,EAGqD;AACrD,EAAA,IAAI,CAACC,KAAAA,CAAMC,YAAAA,CAAaF,KAAK,CAAA,SAAU,EAAC;AAExC,EAAA,MAAMG,SAAAA,GAAYJ,aAAaC,KAAK,CAAA;AAEpC,EAAA,IAAI,CAACG,SAAAA,EAAW,OAAO,EAAC;AAExB,EAAA,IAAI,eAAeA,SAAAA,EAAW;AAC5B,IAAA,MAAMI,SAAAA,GAAYJ,UAAU,WAAW,CAAA;AACvC,IAAA,MAAMK,WAAAA,GACJL,UAAU,aAAa,CAAA,IAAKA,UAAU,SAAS,CAAA,IAAKA,UAAU,SAAS,CAAA;AAEzE,IAAA,IAAI,OAAOI,SAAAA,KAAc,QAAA,IAAY,OAAOC,WAAAA,KAAgB,UAC1D,OAAO;AAAA,MAAED,SAAAA;AAAAA,MAAWC;AAAAA,KAAY;AAAA,EACpC;AAEA,EAAA,OAAO,EAAC;AACV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatTokenBalance.js","sources":["../../../src/lib/utils/formatTokenBalance.ts"],"sourcesContent":["import { formatUnits } from \"viem\";\nimport { removeTrailingZeros } from \"./removeZeroDecimals\";\n\n/**\n * Formats a token balance from wei to human-readable format with specified precision\n * @param balance - Balance in wei as string or bigint\n * @param decimals - Token decimals\n * @param precision - Number of decimal places to show (default: 6)\n * @returns Formatted balance string\n */\nexport function formatTokenBalance(\n balance: string | bigint,\n decimals: number,\n precision: number = 6\n): string {\n if (!balance || balance === \"0\") return \"0\";\n\n // Convert wei to token units using viem\n const tokenUnits = formatUnits(BigInt(balance), decimals);\n\n // Convert to number for precision handling\n const num = Number(tokenUnits);\n\n // Handle very large numbers (show as whole numbers)\n const maxPrecision = 10 ** precision;\n if (num >= maxPrecision) {\n return num.toFixed(0);\n }\n\n // Format with specified precision\n return num.toFixed(precision);\n}\n\n/**\n * Formats a token balance and removes trailing zeros\n * @param balance - Balance in wei as string or bigint\n * @param decimals - Token decimals\n * @param precision - Number of decimal places to show (default: 6)\n * @returns Formatted balance string with trailing zeros removed\n */\nexport function formatTokenBalanceClean(\n balance: string | bigint,\n decimals: number,\n precision: number = 6\n): string {\n const formatted = formatTokenBalance(balance, decimals, precision);\n return removeTrailingZeros(formatted);\n}\n\n/**\n * Formats a token amount (already in token units) with nice formatting for large numbers\n * @param amount - Amount in token units (e.g., 12.4335)\n * @param maxDecimals - Maximum decimal places to show (default: 6)\n * @returns Formatted amount string with K/M/B suffixes for large numbers\n */\nexport function formatTokenAmount(\n amount: number | string | bigint,\n maxDecimals: number = 6\n): string {\n // Convert to number\n const num = Number(amount);\n\n if (!num || num === 0) return \"0\";\n\n // Handle amounts less than 100 with maximum precision\n if (num < 100) {\n return removeTrailingZeros(num.toFixed(maxDecimals));\n }\n\n // Handle large numbers with K/M/B suffixes\n if (num >= 1e9) {\n return removeTrailingZeros((num / 1e9).toFixed(2)) + \"B\";\n } else if (num >= 1e6) {\n return removeTrailingZeros((num / 1e6).toFixed(2)) + \"M\";\n } else if (num >= 1e3) {\n return removeTrailingZeros((num / 1e3).toFixed(2)) + \"K\";\n } else {\n // For numbers between 100 and 1000, show up to 2 decimal places\n return removeTrailingZeros(num.toFixed(2));\n }\n}\n\n/**\n * Formats an amount with nice formatting for large numbers\n * @param amount - Amount in token units (e.g., 12.4335)\n * @param maxDecimals - Maximum decimal places to show (default: 6)\n * @returns Formatted amount string without trailing zeros\n */\nexport function formatAmount(\n amount: number | string | bigint,\n maxDecimals: number = 6\n): string {\n const num = Number(amount);\n\n if (!num || num === 0) return \"0\";\n\n return removeTrailingZeros(num.toFixed(maxDecimals));\n}\n"],"names":["formatTokenBalance","balance","decimals","precision","tokenUnits","formatUnits","BigInt","num","Number","maxPrecision","toFixed","formatTokenBalanceClean","formatted","removeTrailingZeros","formatTokenAmount","amount","maxDecimals"],"mappings":";;;AAUO,SAASA,kBAAAA,CACdC,OAAAA,EACAC,QAAAA,EACAC,SAAAA,GAAoB,CAAA,EACZ;AACR,EAAA,IAAI,CAACF,OAAAA,IAAWA,OAAAA,KAAY,GAAA,EAAK,OAAO,GAAA;AAGxC,EAAA,MAAMG,UAAAA,GAAaC,WAAAA,CAAYC,MAAAA,CAAOL,OAAO,GAAGC,QAAQ,CAAA;AAGxD,EAAA,MAAMK,GAAAA,GAAMC,OAAOJ,UAAU,CAAA;AAG7B,EAAA,MAAMK,eAAe,EAAA,IAAMN,SAAAA;AAC3B,EAAA,IAAII,OAAOE,YAAAA,EAAc;AACvB,IAAA,OAAOF,GAAAA,CAAIG,QAAQ,CAAC,CAAA;AAAA;AAItB,EAAA,OAAOH,GAAAA,CAAIG,QAAQP,SAAS,CAAA;AAC9B;AASO,SAASQ,uBAAAA,CACdV,OAAAA,EACAC,QAAAA,EACAC,SAAAA,GAAoB,CAAA,EACZ;AACR,EAAA,MAAMS,SAAAA,GAAYZ,kBAAAA,CAAmBC,OAAAA,EAASC,QAAAA,EAAUC,SAAS,CAAA;AACjE,EAAA,OAAOU,oBAAoBD,SAAS,CAAA;AACtC;AAQO,SAASE,iBAAAA,CACdC,MAAAA,EACAC,WAAAA,GAAsB,CAAA,EACd;AAER,EAAA,MAAMT,GAAAA,GAAMC,OAAOO,MAAM,CAAA;AAEzB,EAAA,IAAI,CAACR,GAAAA,IAAOA,GAAAA,KAAQ,CAAA,EAAG,OAAO,GAAA;AAG9B,EAAA,IAAIA,MAAM,GAAA,EAAK;AACb,IAAA,OAAOM,mBAAAA,CAAoBN,GAAAA,CAAIG,OAAAA,CAAQM,WAAW,CAAC,CAAA;AAAA;AAIrD,EAAA,IAAIT,OAAO,GAAA,EAAK;AACd,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,GACvD,MAAA,IAAWH,OAAO,GAAA,EAAK;AACrB,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,GACvD,MAAA,IAAWH,OAAO,GAAA,EAAK;AACrB,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,GACvD,MAAO;AAEL,IAAA,OAAOG,mBAAAA,CAAoBN,GAAAA,CAAIG,OAAAA,CAAQ,CAAC,CAAC,CAAA;AAAA;AAE7C;;;;"}
1
+ {"version":3,"file":"formatTokenBalance.js","sources":["../../../src/lib/utils/formatTokenBalance.ts"],"sourcesContent":["import { formatUnits } from \"viem\";\nimport { removeTrailingZeros } from \"./removeZeroDecimals\";\n\n/**\n * Formats a token balance from wei to human-readable format with specified precision\n * @param balance - Balance in wei as string or bigint\n * @param decimals - Token decimals\n * @param precision - Number of decimal places to show (default: 6)\n * @returns Formatted balance string\n */\nexport function formatTokenBalance(\n balance: string | bigint,\n decimals: number,\n precision: number = 6\n): string {\n if (!balance || balance === \"0\") return \"0\";\n\n // Convert wei to token units using viem\n const tokenUnits = formatUnits(BigInt(balance), decimals);\n\n // Convert to number for precision handling\n const num = Number(tokenUnits);\n\n // Handle very large numbers (show as whole numbers)\n const maxPrecision = 10 ** precision;\n if (num >= maxPrecision) {\n return num.toFixed(0);\n }\n\n // Format with specified precision\n return num.toFixed(precision);\n}\n\n/**\n * Formats a token balance and removes trailing zeros\n * @param balance - Balance in wei as string or bigint\n * @param decimals - Token decimals\n * @param precision - Number of decimal places to show (default: 6)\n * @returns Formatted balance string with trailing zeros removed\n */\nexport function formatTokenBalanceClean(\n balance: string | bigint,\n decimals: number,\n precision: number = 6\n): string {\n const formatted = formatTokenBalance(balance, decimals, precision);\n return removeTrailingZeros(formatted);\n}\n\n/**\n * Formats a token amount (already in token units) with nice formatting for large numbers\n * @param amount - Amount in token units (e.g., 12.4335)\n * @param maxDecimals - Maximum decimal places to show (default: 6)\n * @returns Formatted amount string with K/M/B suffixes for large numbers\n */\nexport function formatTokenAmount(\n amount: number | string | bigint,\n maxDecimals: number = 6\n): string {\n // Convert to number\n const num = Number(amount);\n\n if (!num || num === 0) return \"0\";\n\n // Handle amounts less than 100 with maximum precision\n if (num < 100) {\n return removeTrailingZeros(num.toFixed(maxDecimals));\n }\n\n // Handle large numbers with K/M/B suffixes\n if (num >= 1e9) {\n return removeTrailingZeros((num / 1e9).toFixed(2)) + \"B\";\n } else if (num >= 1e6) {\n return removeTrailingZeros((num / 1e6).toFixed(2)) + \"M\";\n } else if (num >= 1e3) {\n return removeTrailingZeros((num / 1e3).toFixed(2)) + \"K\";\n } else {\n // For numbers between 100 and 1000, show up to 2 decimal places\n return removeTrailingZeros(num.toFixed(2));\n }\n}\n\n/**\n * Formats an amount with nice formatting for large numbers\n * @param amount - Amount in token units (e.g., 12.4335)\n * @param maxDecimals - Maximum decimal places to show (default: 6)\n * @returns Formatted amount string without trailing zeros\n */\nexport function formatAmount(\n amount: number | string | bigint,\n maxDecimals: number = 6\n): string {\n const num = Number(amount);\n\n if (!num || num === 0) return \"0\";\n\n return removeTrailingZeros(num.toFixed(maxDecimals));\n}\n"],"names":["formatTokenBalance","balance","decimals","precision","tokenUnits","formatUnits","BigInt","num","Number","maxPrecision","toFixed","formatTokenBalanceClean","formatted","removeTrailingZeros","formatTokenAmount","amount","maxDecimals"],"mappings":";;;AAUO,SAASA,kBAAAA,CACdC,OAAAA,EACAC,QAAAA,EACAC,SAAAA,GAAoB,CAAA,EACZ;AACR,EAAA,IAAI,CAACF,OAAAA,IAAWA,OAAAA,KAAY,GAAA,EAAK,OAAO,GAAA;AAGxC,EAAA,MAAMG,UAAAA,GAAaC,WAAAA,CAAYC,MAAAA,CAAOL,OAAO,GAAGC,QAAQ,CAAA;AAGxD,EAAA,MAAMK,GAAAA,GAAMC,OAAOJ,UAAU,CAAA;AAG7B,EAAA,MAAMK,eAAe,EAAA,IAAMN,SAAAA;AAC3B,EAAA,IAAII,OAAOE,YAAAA,EAAc;AACvB,IAAA,OAAOF,GAAAA,CAAIG,QAAQ,CAAC,CAAA;AAAA,EACtB;AAGA,EAAA,OAAOH,GAAAA,CAAIG,QAAQP,SAAS,CAAA;AAC9B;AASO,SAASQ,uBAAAA,CACdV,OAAAA,EACAC,QAAAA,EACAC,SAAAA,GAAoB,CAAA,EACZ;AACR,EAAA,MAAMS,SAAAA,GAAYZ,kBAAAA,CAAmBC,OAAAA,EAASC,QAAAA,EAAUC,SAAS,CAAA;AACjE,EAAA,OAAOU,oBAAoBD,SAAS,CAAA;AACtC;AAQO,SAASE,iBAAAA,CACdC,MAAAA,EACAC,WAAAA,GAAsB,CAAA,EACd;AAER,EAAA,MAAMT,GAAAA,GAAMC,OAAOO,MAAM,CAAA;AAEzB,EAAA,IAAI,CAACR,GAAAA,IAAOA,GAAAA,KAAQ,CAAA,EAAG,OAAO,GAAA;AAG9B,EAAA,IAAIA,MAAM,GAAA,EAAK;AACb,IAAA,OAAOM,mBAAAA,CAAoBN,GAAAA,CAAIG,OAAAA,CAAQM,WAAW,CAAC,CAAA;AAAA,EACrD;AAGA,EAAA,IAAIT,OAAO,GAAA,EAAK;AACd,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,EACvD,CAAA,MAAA,IAAWH,OAAO,GAAA,EAAK;AACrB,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,EACvD,CAAA,MAAA,IAAWH,OAAO,GAAA,EAAK;AACrB,IAAA,OAAOM,qBAAqBN,GAAAA,GAAM,GAAA,EAAKG,OAAAA,CAAQ,CAAC,CAAC,CAAA,GAAI,GAAA;AAAA,EACvD,CAAA,MAAO;AAEL,IAAA,OAAOG,mBAAAA,CAAoBN,GAAAA,CAAIG,OAAAA,CAAQ,CAAC,CAAC,CAAA;AAAA,EAC3C;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength"],"mappings":";;;AAIO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,GACT,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,GACR,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CAAIC,CAAAA,KAC1B,CAAC,CAACA;AAEG,SAASC,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAaZ,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMa,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength"],"mappings":";;;AAIO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,EACT,CAAA,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CAAIC,CAAAA,KAC1B,CAAC,CAACA;AAEG,SAASC,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAaZ,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMa,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;;;;"}