@velora-dex/widget 0.2.1 → 0.2.2

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 (137) hide show
  1. package/README.md +3 -3
  2. package/dist/assets/price-impact.svg.js +12 -0
  3. package/dist/assets/price-impact.svg.js.map +1 -0
  4. package/dist/components/ui/accordion.js +1 -1
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/progress.d.ts.map +1 -1
  7. package/dist/components/ui/progress.js.map +1 -1
  8. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
  9. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  10. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
  11. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  12. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
  13. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
  15. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  20. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  21. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  22. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
  23. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  24. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  25. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  26. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  27. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
  28. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  29. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
  30. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
  31. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  32. package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
  33. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  34. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
  35. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
  36. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  37. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  38. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
  39. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  40. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
  41. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  42. package/dist/components/widget/SelectToken/SelectTokenButton.js +84 -76
  43. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  44. package/dist/components/widget/SelectToken/types.d.ts +2 -0
  45. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  46. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  47. package/dist/components/widget/TokenInput/index.js +43 -41
  48. package/dist/components/widget/TokenInput/index.js.map +1 -1
  49. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
  50. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  51. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  52. package/dist/core/Toaster.js +1 -1
  53. package/dist/core/Toaster.js.map +1 -1
  54. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  55. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +5 -1
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  57. package/dist/core/index.d.ts.map +1 -1
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  60. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  61. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  62. package/dist/core/limit/state/selectedTokenAtom.js +5 -1
  63. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  64. package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
  65. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  66. package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
  67. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  68. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  69. package/dist/core/otc/state/selectedTokenAtom.js +3 -1
  70. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  71. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  72. package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
  73. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  74. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  75. package/dist/core/swapDetails/fees.js +4 -2
  76. package/dist/core/swapDetails/fees.js.map +1 -1
  77. package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
  78. package/dist/core/swapDetails/orderRouting.js +7 -3
  79. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  80. package/dist/core/swapDetails/priceImpact.d.ts +3 -1
  81. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  82. package/dist/core/swapDetails/priceImpact.js +6 -2
  83. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  84. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  85. package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
  86. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  87. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  88. package/dist/core/swapDetails/youGet.js +5 -2
  89. package/dist/core/swapDetails/youGet.js.map +1 -1
  90. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
  91. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  92. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
  93. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  94. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
  95. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  96. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
  97. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  98. package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
  99. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  100. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  101. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
  102. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
  103. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  105. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  106. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  107. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
  108. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  109. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
  110. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  111. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  112. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  113. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  114. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  116. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  117. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
  118. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  119. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  120. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  121. package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
  122. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  123. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
  124. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  125. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
  126. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  127. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  128. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  129. package/dist/lib/utils/useDateNow.d.ts +2 -0
  130. package/dist/lib/utils/useDateNow.d.ts.map +1 -0
  131. package/dist/lib/utils/useDateNow.js +7 -0
  132. package/dist/lib/utils/useDateNow.js.map +1 -0
  133. package/dist/styles.css +3 -4
  134. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  135. package/dist/tokens/state/addImportedTokenAtom.js +6 -23
  136. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  137. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/selectedTokenAtom\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","setCurrentInput","useSetAtom","currentLimitInputAtom","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n // @TODO change to destChain when implementing Crosschain Delta Limit Orders\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n // @TODO provide all necessary networks and other props when implementing Crosschain Delta Limit Orders\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n return {\n warningMessage: unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentLimitInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useUnsupportedLimitTokens","tokenFrom","useLimitTokenFrom","address","network","chainId","data","isDestTokenSupported","isDestTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isSrcTokenSupported","isSrcTokenSupportedLoading","unsupportedTokens","push","isFilledArray","undefined","t5","t6","useWarningMessage","customUnsupportedTokenMessage","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses","tokens","length","symbol","tokenSymbols","map","join"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,MAAMA,wBAAwBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC5B,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIlBF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,eAAAA,EAAmBC;AAAAA,KAAmC;AAACR,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAE,OAAAA,EAAA;AAF/BO,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EAC/BR,OAAAA;AAAAA,MAAOS,YAAAA,EACAP;AAAAA,KAChB;AAACJ,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAY;AAAAA,GAAA,GAAwBC,gBAAgBJ,EAGvC,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAY,WAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAAC,iBAAiBH,WAAW,CAAA;AAACZ,IAAAA,CAAAA,MAAAY,WAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7Bc,EAAAA;AAA6B,CAAA;AAGtC,MAAME,gBAAgBA,MAAA;AAAA,EAAA,MAAAhB,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAEpB,EAAA,MAAAgB,aAAmBC,UAAAA,EAAW;AAE9B,EAAA,MAAAC,eAAAA,GAAwBC,WAAWC,qBAAqB,CAAA;AAAE,EAAA,IAAAjB,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAiB,UAAAA,EAAA;AAK5Cb,IAAAA,EAAAA,GAAA,CAACa,UAAU,CAAA;AAACjB,IAAAA,CAAAA,MAAAiB,UAAAA;AAAAjB,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAiB,cAAAjB,CAAAA,QAAAI,EAAAA,EAAA;AAFFK,IAAAA,EAAAA,GAAA;AAAA,MAAAa,QAAAA,EAEVlB,EAAAA;AAAAA,MAAYmB,eAAAA,EACLN,UAAAA;AAAAA,MAAUO,QAAAA,EACjB,IAAA;AAAA,MAAIC,MAAAA,EACN;AAAA,KACV;AAACzB,IAAAA,CAAAA,MAAAiB,UAAAA;AAAAjB,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAmB,eAAAA,EAAA;AAEQL,IAAAA,EAAAA,GAAAA,MAAMK,gBAAgB,IAAI,CAAA;AAACnB,IAAAA,CAAAA,MAAAmB,eAAAA;AAAAnB,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0B,EAAAA;AAAA,EAAA,IAAA1B,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAC7BoB,IAAAA,EAAAA,mBAAA,GAAA,CAAA,UAAM,QAAA,EAAA,SAAA,EAAO,CAAA;AAAO1B,IAAAA,CAAAA,MAAA0B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA2B,EAAAA;AAAA,EAAA,IAAA3B,EAAA,CAAA,CAAA,KAAAS,MAAAT,CAAAA,QAAAc,EAAAA,EAAA;AAVtBa,IAAAA,EAAAA,GAAA;AAAA,MAAAC,oBAAAA,EACiBnB,EAAAA;AAAAA,MAMrBoB,SAAAA,EACU,IAAA;AAAA,MAAaC,OAAAA,EACfhB,EAAAA;AAAAA,MAA2BiB,KAAAA,EAC7BL;AAAAA,KACT;AAAC1B,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAA2B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXM2B,EAAAA;AAWN,CAAA;AAGH,MAAMK,wBAAwBA,MAAA;AAAA,EAAA,MAAAhC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAI5B,EAAA,MAAAgC,MAAAA,GAAeC,UAAU,6BAA6B,CAAA;AACtD,EAAA,MAAAhC,UAAgBC,eAAAA,EAAgB;AAEhC,EAAA,MAAAgC,aAAAA,GAAsBC,aAAaC,2BAA2B,CAAA;AAC9D,EAAA,MAAAC,gBAAAA,GAAyBlB,WAAWmB,yBAAyB,CAAA;AAE7D,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAsBC,aAAa,OAAO,CAAA;AAAE,EAAA,IAAArC,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAiC,UAAAjC,CAAAA,QAAAsC,gBAAAA,EAAA;AAENlC,IAAAA,EAAAA,GAAAsC,CAAAA,MAAAA,KAAA;AACpCT,MAAAA,MAAAA,CAAMU,GAAAA,CAAK,0BAA0BD,MAAM,CAAA;AAC3CJ,MAAAA,gBAAAA,CAAiBI,OAAME,KAAM,CAAA;AAAA,IAAC,CAAA;AAC/B5C,IAAAA,CAAAA,MAAAiC,MAAAA;AAAAjC,IAAAA,CAAAA,MAAAsC,gBAAAA;AAAAtC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA6C,cAAAA,GAAsCzC,EAAAA;AAKtC,EAAA,MAAA0C,UAAAA,GAAmB1B,WAAW2B,sBAAsB,CAAA;AAAE,EAAA,IAAAtC,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAwC,aAAAxC,CAAAA,CAAA,CAAA,MAAA6C,cAAAA,IAAA7C,CAAAA,CAAA,CAAA,CAAA,KAAAmC,aAAAA,IAAAnC,EAAA,CAAA,CAAA,KAAA8C,cAAA9C,CAAAA,QAAAE,OAAAA,EAAA;AAE/CO,IAAAA,EAAAA,GAAA;AAAA,MAAAuC,MAAAA,EACGb,aAAAA;AAAAA,MAAaK,SAAAA;AAAAA,MAAA9B,KAAAA,EAEdR,OAAAA;AAAAA,MAAO2C,cAAAA;AAAAA,MAAAI,aAAAA,EAECH;AAAAA,KACjB;AAAC9C,IAAAA,CAAAA,MAAAwC,SAAAA;AAAAxC,IAAAA,CAAAA,MAAA6C,cAAAA;AAAA7C,IAAAA,CAAAA,MAAAmC,aAAAA;AAAAnC,IAAAA,CAAAA,MAAA8C,UAAAA;AAAA9C,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMS,EAAAA;AAMN,CAAA;AAQI,SAAAyC,yBAAAA,GAAA;AAAA,EAAA,MAAAlD,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACL,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAChC,EAAA,MAAAgD,YAAkBC,iBAAAA,EAAkB;AAIzB,EAAA,MAAAhD,KAAAF,OAAAA,EAAOmD,OAAAA;AACL,EAAA,MAAA5C,EAAAA,GAAAP,OAAAA,EAAOoD,OAAAA,IAAaH,SAAAA,CAASG,OAAAA;AAAQ,EAAA,IAAAxC,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAI,MAAAJ,CAAAA,QAAAS,EAAAA,EAAA;AAFhBK,IAAAA,EAAAA,GAAA;AAAA,MAAAJ,KAAAA,EACvBN,EAAAA;AAAAA,MAAgBmD,OAAAA,EACd9C;AAAAA,KACX;AAACT,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAwD,IAAAA,EAAAC,oBAAAA;AAAAA,IAAAjB,SAAAA,EAAAkB;AAAAA,GAAA,GACEC,gCAAgC7C,EAG/B,CAAA;AAAE,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAA1B,CAAAA,CAAA,CAAA,CAAA,KAAAmD,SAAAA,CAAAE,WAAArD,CAAAA,CAAA,CAAA,CAAA,KAAAmD,SAAAA,CAAAG,OAAAA,EAAA;AAG6B5B,IAAAA,EAAAA,GAAA;AAAA,MAAAhB,OACvByC,SAAAA,CAASE,OAAAA;AAAAA,MAAQE,SACfJ,SAAAA,CAASG;AAAAA,KACpB;AAACtD,IAAAA,CAAAA,CAAA,CAAA,IAAAmD,SAAAA,CAAAE,OAAAA;AAAArD,IAAAA,CAAAA,CAAA,CAAA,IAAAmD,SAAAA,CAAAG,OAAAA;AAAAtD,IAAAA,CAAAA,MAAA0B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1B,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAwD,IAAAA,EAAAI,mBAAAA;AAAAA,IAAApB,SAAAA,EAAAqB;AAAAA,GAAA,GACEF,gCAAgCjC,EAG/B,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA3B,CAAAA,CAAA,CAAA,CAAA,KAAAyD,oBAAAA,IAAAzD,EAAA,CAAA,CAAA,KAAA4D,mBAAAA,IAAA5D,CAAAA,CAAA,CAAA,CAAA,KAAAmD,SAAAA,IAAAnD,CAAAA,QAAAE,OAAAA,EAAA;AAEL,IAAA,MAAA4D,oBAAmC,EAAA;AACnC,IAAA,IAAIF,wBAAwB,KAAA,EAAK;AAC/BE,MAAAA,iBAAAA,CAAiBC,KAAMZ,SAAS,CAAA;AAAA,IAAC;AAEnC,IAAA,IAAIM,oBAAAA,KAAyB,SAAzBvD,OAAAA,EAAyC;AAC3C4D,MAAAA,iBAAAA,CAAiBC,KAAM7D,OAAO,CAAA;AAAA,IAAC;AAIZyB,IAAAA,EAAAA,GAAAqC,aAAAA,CAAcF,iBAErB,CAAA,GADPA,iBAAAA,GADcG,MAAAA;AAENjE,IAAAA,CAAAA,MAAAyD,oBAAAA;AAAAzD,IAAAA,CAAAA,MAAA4D,mBAAAA;AAAA5D,IAAAA,CAAAA,MAAAmD,SAAAA;AAAAnD,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,OAAA2B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3B,EAAA,EAAA,CAAA;AAAA,EAAA;AACF,EAAA,MAAAkE,KAAAR,2BAAAA,IAAAG,0BAAAA;AAAyD,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAnE,EAAA,EAAA,CAAA,KAAA2B,MAAA3B,CAAAA,SAAAkE,EAAAA,EAAA;AAJ/DC,IAAAA,EAAAA,GAAA;AAAA,MAAAL,iBAAAA,EACcnC,EAAAA;AAAAA,MAENa,SAAAA,EACF0B;AAAAA,KACb;AAAClE,IAAAA,CAAAA,OAAA2B,EAAAA;AAAA3B,IAAAA,CAAAA,OAAAkE,EAAAA;AAAAlE,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMmE,EAAAA;AAKN;AAGH,SAAAC,iBAAAA,GAAA;AAAA,EAAA,MAAApE,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGE,EAAA,MAAA;AAAA,IAAA6D,iBAAAA;AAAAA,IAAAtB;AAAAA,MAAyCU,yBAAAA,EAA0B;AAAE,EAAA,IAAA9C,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAA8D,iBAAAA,EAAA;AAEnD1D,IAAAA,EAAAA,GAAA0D,iBAAAA,GACZO,6BAAAA,CAA8BP,iBACtB,CAAA,GAFIG,MAAAA;AAEHjE,IAAAA,CAAAA,MAAA8D,iBAAAA;AAAA9D,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAwC,SAAAA,IAAAxC,CAAAA,QAAAI,EAAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAA8D,iBAAAA,EAAA;AAHRrD,IAAAA,EAAAA,GAAA;AAAA,MAAA6D,cAAAA,EACWlE,EAAAA;AAAAA,MAEH0D,iBAAAA;AAAAA,MAAAtB;AAAAA,KAGf;AAACxC,IAAAA,CAAAA,MAAAwC,SAAAA;AAAAxC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAA8D,iBAAAA;AAAA9D,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMS,EAAAA;AAMN;AAGI,MAAM8D,4BAA4BA,MAAA;AAAA,EAAA,MAAAvE,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACvC,EAAA,MAAAuE,mBAAyBxC,qBAAAA,EAAsB;AAC/C,EAAA,MAAAyC,aAAmBzD,aAAAA,EAAc;AACjC,EAAA,MAAA0D,mBAAyB3E,qBAAAA,EAAsB;AAC/C,EAAA,MAAA4E,UAAgBC,oBAAAA,EAAqB;AACrC,EAAA,MAAA;AAAA,IAAAN;AAAAA,MAA2BF,iBAAAA,EAAkB;AAAE,EAAA,IAAAhE,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAA2E,WAAA3E,CAAAA,CAAA,CAAA,MAAAwE,gBAAAA,IAAAxE,CAAAA,CAAA,CAAA,CAAA,KAAAyE,UAAAA,IAAAzE,EAAA,CAAA,CAAA,KAAA0E,oBAAA1E,CAAAA,QAAAsE,cAAAA,EAAA;AAExClE,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACFqE,UAAAA;AAAAA,MAAU,GACVD,gBAAAA;AAAAA,MAAgBE,gBAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAL;AAAAA,KAIrB;AAACtE,IAAAA,CAAAA,MAAA2E,OAAAA;AAAA3E,IAAAA,CAAAA,MAAAwE,gBAAAA;AAAAxE,IAAAA,CAAAA,MAAAyE,UAAAA;AAAAzE,IAAAA,CAAAA,MAAA0E,gBAAAA;AAAA1E,IAAAA,CAAAA,MAAAsE,cAAAA;AAAAtE,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMI,EAAAA;AAMN;AAGH,SAASiE,8BACPQ,MAAAA,EACoB;AACpB,EAAA,IAAI,CAACb,aAAAA,CAAca,MAAM,CAAA,EAAG;AAC1B,IAAA;AAAA,EACF;AACA,EAAA,IAAIA,MAAAA,CAAOC,WAAW,CAAA,EAAG;AACvB,IAAA,OAAO,CAAA,MAAA,EAASD,MAAAA,CAAO,CAAC,CAAA,CAAEE,MAAM,CAAA,gCAAA,CAAA;AAAA,EAClC;AAEA,EAAA,MAAMC,YAAAA,GAAeH,OAAOI,GAAAA,CAAKvE,CAAAA,KAAAA,KAAUA,MAAMqE,MAAM,CAAA,CAAEG,KAAK,IAAI,CAAA;AAClE,EAAA,OAAO,UAAUF,YAAY,CAAA,iCAAA,CAAA;AAC/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,gBAAgB;;CAAyB,CAAC;AACvD,eAAO,MAAM,cAAc;;CAAgB,CAAC;AAE5C,eAAO,MAAM,eAAe,aAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,yBAAqC,CAAC;AAEhE,eAAO,MAAM,6BAA6B,GAAI,SAAS,gBAAgB,SAUtE,CAAC"}
1
+ {"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,gBAAgB;;CAAyB,CAAC;AACvD,eAAO,MAAM,cAAc;;CAAgB,CAAC;AAE5C,eAAO,MAAM,eAAe,aAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,yBAAqC,CAAC;AAEhE,eAAO,MAAM,6BAA6B,GAAI,SAAS,gBAAgB,SAoBtE,CAAC"}
@@ -13,9 +13,11 @@ const useOtcTokenTo = () => {
13
13
  return useAtomValue(otcTokenToAtom);
14
14
  };
15
15
  const syncOtcTokensAfterChainSwitch = (chainId) => {
16
+ const tokenFrom = jotaiStore.get(otcTokenFromAtom);
17
+ const tokenTo = jotaiStore.get(otcTokenToAtom);
18
+ if (tokenFrom.network === chainId && (!tokenTo || tokenTo.network === chainId)) return;
16
19
  const [defaultTokenFrom2, defaultTokenTo] = pickDefaultTokenPair(chainId, "otc");
17
20
  jotaiStore.set(otcTokenFromAtom, defaultTokenFrom2);
18
- const tokenTo = jotaiStore.get(otcTokenToAtom);
19
21
  if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);
20
22
  };
21
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","otcTokenFromAtom","atom","otcTokenToAtom","useOtcTokenFrom","useAtomValue","useOtcTokenTo","syncOtcTokensAfterChainSwitch","defaultTokenTo","jotaiStore","set","tokenTo","get"],"mappings":";;;;;AAOA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,KACF,CAAA;AAEO,MAAMC,gBAAAA,GAAmBC,KAAKN,gBAAgB;AAC9C,MAAMO,iBAAiBD,IAAAA;AAEvB,MAAME,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,gBAAgB,CAAA;AAAC;AAC5D,MAAMK,gBAAgBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,cAAc,CAAA;AAAC;AAExD,MAAMI,6BAAAA,GAAgCA,CAACP,OAAAA,KAA8B;AAC1E,EAAA,MAAM,CAACJ,iBAAAA,EAAkBY,cAAc,CAAA,GAAIX,oBAAAA,CACzCG,SACA,KACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWC,GAAAA,CAAIT,kBAAkBL,iBAAgB,CAAA;AAEjD,EAAA,MAAMe,OAAAA,GAAUF,UAAAA,CAAWG,GAAAA,CAAIT,cAAc,CAAA;AAC7C,EAAA,IAAIQ,OAAAA,EAASF,UAAAA,CAAWC,GAAAA,CAAIP,cAAAA,EAAgBK,cAAc,CAAA;AAC5D;;;;"}
1
+ {"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(otcTokenFromAtom);\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","otcTokenFromAtom","atom","otcTokenToAtom","useOtcTokenFrom","useAtomValue","useOtcTokenTo","syncOtcTokensAfterChainSwitch","tokenFrom","jotaiStore","get","tokenTo","network","defaultTokenTo","set"],"mappings":";;;;;AAOA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,KACF,CAAA;AAEO,MAAMC,gBAAAA,GAAmBC,KAAKN,gBAAgB;AAC9C,MAAMO,iBAAiBD,IAAAA;AAEvB,MAAME,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,gBAAgB,CAAA;AAAC;AAC5D,MAAMK,gBAAgBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,cAAc,CAAA;AAAC;AAExD,MAAMI,6BAAAA,GAAgCA,CAACP,OAAAA,KAA8B;AAC1E,EAAA,MAAMQ,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIT,gBAAgB,CAAA;AACjD,EAAA,MAAMU,OAAAA,GAAUF,UAAAA,CAAWC,GAAAA,CAAIP,cAAc,CAAA;AAI7C,EAAA,IACEK,UAAUI,OAAAA,KAAYZ,OAAAA,KACrB,CAACW,OAAAA,IAAWA,OAAAA,CAAQC,YAAYZ,OAAAA,CAAAA,EAEjC;AAEF,EAAA,MAAM,CAACJ,iBAAAA,EAAkBiB,cAAc,CAAA,GAAIhB,oBAAAA,CACzCG,SACA,KACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWK,GAAAA,CAAIb,kBAAkBL,iBAAgB,CAAA;AAEjD,EAAA,IAAIe,OAAAA,EAASF,UAAAA,CAAWK,GAAAA,CAAIX,cAAAA,EAAgBU,cAAc,CAAA;AAC5D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAiE5E,eAAO,MAAM,uBAAuB,QAAO,eAY1C,CAAC"}
1
+ {"version":3,"file":"useOtcTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA0E5E,eAAO,MAAM,uBAAuB,QAAO,eAY1C,CAAC"}
@@ -12,6 +12,7 @@ import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useOtcInputClasses } from './useOtcTokenFromInputProps.js';
13
13
  import { selectOtcTokenToAtom } from './state/selectedTokenActionsAtom.js';
14
14
  import { useOtcTokenTo } from './state/selectedTokenAtom.js';
15
+ import { useChainId } from 'wagmi';
15
16
 
16
17
  const useTokenToBalanceUnit = () => {
17
18
  const $ = distExports.c(5);
@@ -50,36 +51,61 @@ const useTokenToBalanceUnit = () => {
50
51
  return t2;
51
52
  };
52
53
  const useExtraProps = () => {
53
- const $ = distExports.c(5);
54
+ const $ = distExports.c(11);
55
+ const appChainId = useChainId();
54
56
  const setCurrentInput = useSetAtom(currentOtcInputAtom);
55
57
  let t0;
56
- if ($[0] !== setCurrentInput) {
57
- t0 = () => setCurrentInput("to");
58
- $[0] = setCurrentInput;
58
+ if ($[0] !== appChainId) {
59
+ t0 = [appChainId];
60
+ $[0] = appChainId;
59
61
  $[1] = t0;
60
62
  } else {
61
63
  t0 = $[1];
62
64
  }
63
65
  let t1;
64
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
65
- t1 = /* @__PURE__ */ jsx("span", { children: "Receive" });
66
- $[2] = t1;
66
+ if ($[2] !== appChainId || $[3] !== t0) {
67
+ t1 = {
68
+ networks: t0,
69
+ selectedNetwork: appChainId,
70
+ disabled: true,
71
+ hidden: true
72
+ };
73
+ $[2] = appChainId;
74
+ $[3] = t0;
75
+ $[4] = t1;
67
76
  } else {
68
- t1 = $[2];
77
+ t1 = $[4];
69
78
  }
70
79
  let t2;
71
- if ($[3] !== t0) {
72
- t2 = {
80
+ if ($[5] !== setCurrentInput) {
81
+ t2 = () => setCurrentInput("to");
82
+ $[5] = setCurrentInput;
83
+ $[6] = t2;
84
+ } else {
85
+ t2 = $[6];
86
+ }
87
+ let t3;
88
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
89
+ t3 = /* @__PURE__ */ jsx("span", { children: "Receive" });
90
+ $[7] = t3;
91
+ } else {
92
+ t3 = $[7];
93
+ }
94
+ let t4;
95
+ if ($[8] !== t1 || $[9] !== t2) {
96
+ t4 = {
97
+ networkSwitcherProps: t1,
73
98
  tokenType: "to",
74
- onFocus: t0,
75
- label: t1
99
+ onFocus: t2,
100
+ label: t3
76
101
  };
77
- $[3] = t0;
78
- $[4] = t2;
102
+ $[8] = t1;
103
+ $[9] = t2;
104
+ $[10] = t4;
79
105
  } else {
80
- t2 = $[4];
106
+ t4 = $[10];
81
107
  }
82
- return t2;
108
+ return t4;
83
109
  };
84
110
  const useTokenToAmountProps = () => {
85
111
  const $ = distExports.c(9);
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenToInputProps.js","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { otcReceiveInputAmountAtom } from \"./state/otcInputAmountAtom\";\nimport { setOtcReceiveAmountAtom } from \"./state/otcInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useOtcInputClasses } from \"./useOtcTokenFromInputProps\";\nimport { selectOtcTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenTo } from \"./state/selectedTokenAtom\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useOtcTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"OTC::TokenTo::AmountProps\");\n const tokenTo = useOtcTokenTo();\n\n const receiveAmount = useAtomValue(otcReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setOtcReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"otc\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectOtcTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useOtcTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useOtcInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useOtcTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","setCurrentInput","useSetAtom","currentOtcInputAtom","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","otcReceiveInputAmountAtom","setReceiveAmount","setOtcReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectOtcTokenToAtom","amount","onTokenSelect","useOtcTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useOtcInputClasses"],"mappings":"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"}
1
+ {"version":3,"file":"useOtcTokenToInputProps.js","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { otcReceiveInputAmountAtom } from \"./state/otcInputAmountAtom\";\nimport { setOtcReceiveAmountAtom } from \"./state/otcInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useOtcInputClasses } from \"./useOtcTokenFromInputProps\";\nimport { selectOtcTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenTo } from \"./state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useOtcTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"OTC::TokenTo::AmountProps\");\n const tokenTo = useOtcTokenTo();\n\n const receiveAmount = useAtomValue(otcReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setOtcReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"otc\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectOtcTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useOtcTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useOtcInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useOtcTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentOtcInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","otcReceiveInputAmountAtom","setReceiveAmount","setOtcReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectOtcTokenToAtom","amount","onTokenSelect","useOtcTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useOtcInputClasses"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAkB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAWlB"}
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAmB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
@@ -15,7 +15,8 @@ function constructSwapFeesDetail({
15
15
  return {
16
16
  title: "Swap Fees",
17
17
  value: formattedFee === "$0.00" ? "<$0.01" : formattedFee,
18
- isLoading
18
+ isLoading,
19
+ tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`
19
20
  };
20
21
  }
21
22
  function constructNetworkFeesDetail({
@@ -33,7 +34,8 @@ function constructNetworkFeesDetail({
33
34
  return {
34
35
  title: "Network Fees",
35
36
  value,
36
- isLoading
37
+ isLoading,
38
+ tooltip: "Those fees are paid to validators, Velora and its partners don't control this fee"
37
39
  };
38
40
  }
39
41
 
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return { title: \"Network Fees\", value, isLoading };\n}\n"],"names":["constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","isDeltaPrice","receivedDestUSD","partnerFeeUSD","calculateFeeUSD","formattedFee","formatFiatPrice","toNumber","title","value","constructNetworkFeesDetail","swapMode","gasCostUSD","undefined","formattedPrice","Number"],"mappings":";;;;;AAOO,SAASA,uBAAAA,CAAwB;AAAA,EACtCC,KAAAA;AAAAA,EACAC;AAIF,CAAA,EAAgC;AAG9B,EAAA,IAAI,CAACD,KAAAA,IAASA,KAAAA,CAAME,UAAAA,KAAe,CAAA,EAAG;AAEtC,EAAA,MAAMC,UAAUC,YAAAA,CAAaJ,KAAK,CAAA,GAAIA,KAAAA,CAAMK,kBAAkBL,KAAAA,CAAMG,OAAAA;AACpE,EAAA,IAAI,CAACA,OAAAA,EAAS;AAEd,EAAA,MAAMG,aAAAA,GAAgBC,eAAAA,CAAgBP,KAAAA,CAAME,UAAAA,EAAYC,OAAO,CAAA;AAC/D,EAAA,MAAMK,eAAeF,aAAAA,GACjBG,eAAAA,CAAgBH,aAAAA,CAAcI,QAAAA,EAAU,CAAA,GACxC,IAAA;AAEJ,EAAA,OAAO;AAAA,IACLC,KAAAA,EAAO,WAAA;AAAA,IACPC,KAAAA,EAAOJ,YAAAA,KAAiB,OAAA,GAAU,QAAA,GAAWA,YAAAA;AAAAA,IAC7CP;AAAAA,GACF;AACF;AAEO,SAASY,0BAAAA,CAA2B;AAAA,EACzCb,KAAAA;AAAAA,EACAc,QAAAA;AAAAA,EACAb;AAKF,CAAA,EAAoB;AAClB,EAAA,IAAIW,KAAAA,GAAyB,IAAA;AAE7B,EAAA,IAAIE,aAAa,OAAA,EAAS;AACxBF,IAAAA,KAAAA,mBAAQ,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EAAiB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,EACjD,CAAA,MAAA,IAAWZ,KAAAA,EAAOe,UAAAA,KAAeC,MAAAA,EAAW;AAC1C,IAAA,MAAMC,cAAAA,GAAiBR,eAAAA,CAAgBS,MAAAA,CAAOlB,KAAAA,CAAMe,UAAU,CAAC,CAAA;AAC/DH,IAAAA,KAAAA,GAAQK,cAAAA,KAAmB,UAAU,QAAA,GAAWA,cAAAA;AAAAA,EAClD;AAEA,EAAA,OAAO;AAAA,IAAEN,KAAAA,EAAO,cAAA;AAAA,IAAgBC,KAAAA;AAAAA,IAAOX;AAAAA,GAAU;AACnD;;;;"}
1
+ {"version":3,"file":"fees.js","sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"names":["constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","isDeltaPrice","receivedDestUSD","partnerFeeUSD","calculateFeeUSD","formattedFee","formatFiatPrice","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","gasCostUSD","undefined","formattedPrice","Number"],"mappings":";;;;;AAOO,SAASA,uBAAAA,CAAwB;AAAA,EACtCC,KAAAA;AAAAA,EACAC;AAIF,CAAA,EAAgC;AAG9B,EAAA,IAAI,CAACD,KAAAA,IAASA,KAAAA,CAAME,UAAAA,KAAe,CAAA,EAAG;AAEtC,EAAA,MAAMC,UAAUC,YAAAA,CAAaJ,KAAK,CAAA,GAAIA,KAAAA,CAAMK,kBAAkBL,KAAAA,CAAMG,OAAAA;AACpE,EAAA,IAAI,CAACA,OAAAA,EAAS;AAEd,EAAA,MAAMG,aAAAA,GAAgBC,eAAAA,CAAgBP,KAAAA,CAAME,UAAAA,EAAYC,OAAO,CAAA;AAC/D,EAAA,MAAMK,eAAeF,aAAAA,GACjBG,eAAAA,CAAgBH,aAAAA,CAAcI,QAAAA,EAAU,CAAA,GACxC,IAAA;AAEJ,EAAA,OAAO;AAAA,IACLC,KAAAA,EAAO,WAAA;AAAA,IACPC,KAAAA,EAAOJ,YAAAA,KAAiB,OAAA,GAAU,QAAA,GAAWA,YAAAA;AAAAA,IAC7CP,SAAAA;AAAAA,IACAY,SAAS,CAAA,qBAAA,EAAwBb,KAAAA,CAAME,UAAAA,CAAWY,OAAAA,CAAQ,CAAC,CAAC,CAAA,gBAAA;AAAA,GAC9D;AACF;AAEO,SAASC,0BAAAA,CAA2B;AAAA,EACzCf,KAAAA;AAAAA,EACAgB,QAAAA;AAAAA,EACAf;AAKF,CAAA,EAAoB;AAClB,EAAA,IAAIW,KAAAA,GAAyB,IAAA;AAE7B,EAAA,IAAII,aAAa,OAAA,EAAS;AACxBJ,IAAAA,KAAAA,mBAAQ,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EAAiB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,EACjD,CAAA,MAAA,IAAWZ,KAAAA,EAAOiB,UAAAA,KAAeC,MAAAA,EAAW;AAC1C,IAAA,MAAMC,cAAAA,GAAiBV,eAAAA,CAAgBW,MAAAA,CAAOpB,KAAAA,CAAMiB,UAAU,CAAC,CAAA;AAC/DL,IAAAA,KAAAA,GAAQO,cAAAA,KAAmB,UAAU,QAAA,GAAWA,cAAAA;AAAAA,EAClD;AAEA,EAAA,OAAO;AAAA,IACLR,KAAAA,EAAO,cAAA;AAAA,IACPC,KAAAA;AAAAA,IACAX,SAAAA;AAAAA,IACAY,OAAAA,EACE;AAAA,GACJ;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"orderRouting.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/orderRouting.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC,GAAG,eAAe,CA2ClB"}
1
+ {"version":3,"file":"orderRouting.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/orderRouting.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC,GAAG,eAAe,CA4ClB"}
@@ -2,6 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { DeltaIcon } from '../../components/widget/Icon/DeltaIcon.js';
3
3
  import { isSimplePath, isMultiSwap, isMegaSwap } from '../../lib/utils/dexes.js';
4
4
 
5
+ const tooltip = "Velora routes and splits your order across many exchanges to achieve the best available rate.";
5
6
  function constructOrderRoutingDetail({
6
7
  swapMode,
7
8
  isLoading,
@@ -16,15 +17,17 @@ function constructOrderRoutingDetail({
16
17
  /* @__PURE__ */ jsx(DeltaIcon, {}),
17
18
  " Delta"
18
19
  ] }),
19
- isLoading: false
20
+ isLoading: false,
20
21
  // Delta mode does not have routing
22
+ tooltip
21
23
  };
22
24
  }
23
25
  if (!bestRoutes || bestRoutes.length === 0) {
24
26
  return {
25
27
  title,
26
28
  value: null,
27
- isLoading
29
+ isLoading,
30
+ tooltip
28
31
  };
29
32
  }
30
33
  if (isSimplePath(bestRoutes)) {
@@ -50,7 +53,8 @@ function constructOrderRoutingDetail({
50
53
  return {
51
54
  title: "Order Routing",
52
55
  value: routing,
53
- isLoading
56
+ isLoading,
57
+ tooltip
54
58
  };
55
59
  }
56
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"orderRouting.js","sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading };\n}\n"],"names":["constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","value","length","isSimplePath","swapExchanges","swaps","swapExchange","exchange","isMultiSwap","isMegaSwap"],"mappings":";;;;AAOO,SAASA,2BAAAA,CAA4B;AAAA,EAC1CC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC;AAKF,CAAA,EAAoB;AAClB,EAAA,MAAMC,KAAAA,GAAQ,eAAA;AACd,EAAA,IAAIC,OAAAA,GAAuC,IAAA;AAE3C,EAAA,IAAIJ,aAAa,OAAA,EAAS;AACxB,IAAA,OAAO;AAAA,MACLG,KAAAA;AAAAA,MACAE,KAAAA,kBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAS,CAAA;AAAA,QAAG;AAAA,OAAA,EACf,CAAA;AAAA,MAEFJ,SAAAA,EAAW;AAAA;AAAA,KACb;AAAA,EACF;AAEA,EAAA,IAAI,CAACC,UAAAA,IAAcA,UAAAA,CAAWI,MAAAA,KAAW,CAAA,EAAG;AAC1C,IAAA,OAAO;AAAA,MAAEH,KAAAA;AAAAA,MAAOE,KAAAA,EAAO,IAAA;AAAA,MAAMJ;AAAAA,KAAU;AAAA,EACzC;AAEA,EAAA,IAAIM,YAAAA,CAAaL,UAAU,CAAA,EAAG;AAC5B,IAAA,MAAM,CAAC;AAAA,MAAEM;AAAAA,KAAe,CAAA,GAAIN,UAAAA,CAAW,CAAC,CAAA,CAAEO,KAAAA;AAE1C,IAAA,IAAID,aAAAA,CAAcF,SAAS,CAAA,EAAG;AAC5BF,MAAAA,OAAAA,GAAU,kBAAA;AAAA,IACZ,CAAA,MAAO;AACL,MAAA,MAAMM,YAAAA,GAAeF,cAAc,CAAC,CAAA;AAEpC,MAAA,IAAIE,YAAAA,EAAc;AAChBN,QAAAA,OAAAA,mBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+DAAA,EAA+D,QAAA,EAAA;AAAA,UAAA,OAAA;AAAA,UACtEM,YAAAA,CAAaC;AAAAA,SAAAA,EACrB,CAAA;AAAA,MAEJ;AAAA,IACF;AAAA,EACF,CAAA,MAAA,IAAWC,WAAAA,CAAYV,UAAU,CAAA,EAAG;AAClCE,IAAAA,OAAAA,GAAU,WAAA;AAAA,EACZ,CAAA,MAAA,IAAWS,UAAAA,CAAWX,UAAU,CAAA,EAAG;AACjCE,IAAAA,OAAAA,GAAU,UAAA;AAAA,EACZ;AAEA,EAAA,OAAO;AAAA,IAAED,KAAAA,EAAO,eAAA;AAAA,IAAiBE,KAAAA,EAAOD,OAAAA;AAAAA,IAASH;AAAAA,GAAU;AAC7D;;;;"}
1
+ {"version":3,"file":"orderRouting.js","sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nconst tooltip =\n \"Velora routes and splits your order across many exchanges to achieve the best available rate.\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n tooltip,\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading, tooltip };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading, tooltip };\n}\n"],"names":["tooltip","constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","value","length","isSimplePath","swapExchanges","swaps","swapExchange","exchange","isMultiSwap","isMegaSwap"],"mappings":";;;;AAOA,MAAMA,OAAAA,GACJ,+FAAA;AAEK,SAASC,2BAAAA,CAA4B;AAAA,EAC1CC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC;AAKF,CAAA,EAAoB;AAClB,EAAA,MAAMC,KAAAA,GAAQ,eAAA;AACd,EAAA,IAAIC,OAAAA,GAAuC,IAAA;AAE3C,EAAA,IAAIJ,aAAa,OAAA,EAAS;AACxB,IAAA,OAAO;AAAA,MACLG,KAAAA;AAAAA,MACAE,KAAAA,kBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAS,CAAA;AAAA,QAAG;AAAA,OAAA,EACf,CAAA;AAAA,MAEFJ,SAAAA,EAAW,KAAA;AAAA;AAAA,MACXH;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,IAAI,CAACI,UAAAA,IAAcA,UAAAA,CAAWI,MAAAA,KAAW,CAAA,EAAG;AAC1C,IAAA,OAAO;AAAA,MAAEH,KAAAA;AAAAA,MAAOE,KAAAA,EAAO,IAAA;AAAA,MAAMJ,SAAAA;AAAAA,MAAWH;AAAAA,KAAQ;AAAA,EAClD;AAEA,EAAA,IAAIS,YAAAA,CAAaL,UAAU,CAAA,EAAG;AAC5B,IAAA,MAAM,CAAC;AAAA,MAAEM;AAAAA,KAAe,CAAA,GAAIN,UAAAA,CAAW,CAAC,CAAA,CAAEO,KAAAA;AAE1C,IAAA,IAAID,aAAAA,CAAcF,SAAS,CAAA,EAAG;AAC5BF,MAAAA,OAAAA,GAAU,kBAAA;AAAA,IACZ,CAAA,MAAO;AACL,MAAA,MAAMM,YAAAA,GAAeF,cAAc,CAAC,CAAA;AAEpC,MAAA,IAAIE,YAAAA,EAAc;AAChBN,QAAAA,OAAAA,mBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+DAAA,EAA+D,QAAA,EAAA;AAAA,UAAA,OAAA;AAAA,UACtEM,YAAAA,CAAaC;AAAAA,SAAAA,EACrB,CAAA;AAAA,MAEJ;AAAA,IACF;AAAA,EACF,CAAA,MAAA,IAAWC,WAAAA,CAAYV,UAAU,CAAA,EAAG;AAClCE,IAAAA,OAAAA,GAAU,WAAA;AAAA,EACZ,CAAA,MAAA,IAAWS,UAAAA,CAAWX,UAAU,CAAA,EAAG;AACjCE,IAAAA,OAAAA,GAAU,UAAA;AAAA,EACZ;AAEA,EAAA,OAAO;AAAA,IAAED,KAAAA,EAAO,eAAA;AAAA,IAAiBE,KAAAA,EAAOD,OAAAA;AAAAA,IAASH,SAAAA;AAAAA,IAAWH;AAAAA,GAAQ;AACtE;;;;"}
@@ -3,5 +3,7 @@ import { DeltaOrMarketPrice } from '../../hooks/swap/prices/types';
3
3
  export declare function constructPriceImpactDetail({ price, isLoading, }: {
4
4
  price?: DeltaOrMarketPrice;
5
5
  isLoading: boolean;
6
- }): DetailWithValue;
6
+ }): DetailWithValue & {
7
+ isHighImpact?: boolean;
8
+ };
7
9
  //# sourceMappingURL=priceImpact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/priceImpact.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CA+BlB"}
1
+ {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/priceImpact.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAQpE,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAkCA"}
@@ -3,6 +3,7 @@ import { cn } from '../../lib/utils/index.js';
3
3
  import { getPriceImpact } from '../../lib/utils/priceImpact.js';
4
4
  import { TriangleAlert } from 'lucide-react';
5
5
 
6
+ const tooltip = "The expected influence of the trade over the current market fiat price of the chosen pair of tokens.";
6
7
  function constructPriceImpactDetail({
7
8
  price,
8
9
  isLoading
@@ -12,7 +13,8 @@ function constructPriceImpactDetail({
12
13
  return {
13
14
  title,
14
15
  value: null,
15
- isLoading
16
+ isLoading,
17
+ tooltip
16
18
  };
17
19
  }
18
20
  const {
@@ -32,7 +34,9 @@ function constructPriceImpactDetail({
32
34
  "text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1": isHighImpact
33
35
  })
34
36
  },
35
- isLoading
37
+ isLoading,
38
+ tooltip,
39
+ isHighImpact
36
40
  };
37
41
  }
38
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.js","sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { cn } from \"@/lib/utils\";\nimport { getPriceImpact } from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\n\nexport function constructPriceImpactDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue {\n const title = \"Price Impact\";\n\n if (!price) {\n return {\n title,\n value: null,\n isLoading,\n };\n }\n const { priceImpact, isHighImpact } = getPriceImpact(price);\n\n const priceImpactPercent = `${priceImpact.toFixed(2)}%`;\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isHighImpact,\n }),\n },\n isLoading,\n };\n}\n"],"names":["constructPriceImpactDetail","price","isLoading","title","value","priceImpact","isHighImpact","getPriceImpact","priceImpactPercent","toFixed","classes","cn"],"mappings":";;;;;AAMO,SAASA,0BAAAA,CAA2B;AAAA,EACzCC,KAAAA;AAAAA,EACAC;AAIF,CAAA,EAAoB;AAClB,EAAA,MAAMC,KAAAA,GAAQ,cAAA;AAEd,EAAA,IAAI,CAACF,KAAAA,EAAO;AACV,IAAA,OAAO;AAAA,MACLE,KAAAA;AAAAA,MACAC,KAAAA,EAAO,IAAA;AAAA,MACPF;AAAAA,KACF;AAAA,EACF;AACA,EAAA,MAAM;AAAA,IAAEG,WAAAA;AAAAA,IAAaC;AAAAA,GAAa,GAAIC,eAAeN,KAAK,CAAA;AAE1D,EAAA,MAAMO,kBAAAA,GAAqB,CAAA,EAAGH,WAAAA,CAAYI,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAEpD,EAAA,OAAO;AAAA,IACLN,KAAAA;AAAAA,IACAC,KAAAA,EAAOE,YAAAA,mBACL,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,MAAM,EAAA,EAAG,CAAA;AAAA,MAAG,GAAA;AAAA,MAAEE;AAAAA,KAAAA,EAC/B,CAAA,GAEAA,kBAAAA;AAAAA,IAEFE,OAAAA,EAAS;AAAA,MACPN,OAAOO,EAAAA,CAAG;AAAA,QACR,gEAAA,EACEL;AAAAA,OACH;AAAA,KACH;AAAA,IACAJ;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"priceImpact.js","sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { cn } from \"@/lib/utils\";\nimport { getPriceImpact } from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\n\nconst tooltip =\n \"The expected influence of the trade over the current market fiat price of the chosen pair of tokens.\";\n\nexport function constructPriceImpactDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue & {\n isHighImpact?: boolean;\n} {\n const title = \"Price Impact\";\n\n if (!price) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n const { priceImpact, isHighImpact } = getPriceImpact(price);\n\n const priceImpactPercent = `${priceImpact.toFixed(2)}%`;\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isHighImpact,\n }),\n },\n isLoading,\n tooltip,\n isHighImpact,\n };\n}\n"],"names":["tooltip","constructPriceImpactDetail","price","isLoading","title","value","priceImpact","isHighImpact","getPriceImpact","priceImpactPercent","toFixed","classes","cn"],"mappings":";;;;;AAMA,MAAMA,OAAAA,GACJ,sGAAA;AAEK,SAASC,0BAAAA,CAA2B;AAAA,EACzCC,KAAAA;AAAAA,EACAC;AAIF,CAAA,EAEE;AACA,EAAA,MAAMC,KAAAA,GAAQ,cAAA;AAEd,EAAA,IAAI,CAACF,KAAAA,EAAO;AACV,IAAA,OAAO;AAAA,MACLE,KAAAA;AAAAA,MACAC,KAAAA,EAAO,IAAA;AAAA,MACPF,SAAAA;AAAAA,MACAH;AAAAA,KACF;AAAA,EACF;AACA,EAAA,MAAM;AAAA,IAAEM,WAAAA;AAAAA,IAAaC;AAAAA,GAAa,GAAIC,eAAeN,KAAK,CAAA;AAE1D,EAAA,MAAMO,kBAAAA,GAAqB,CAAA,EAAGH,WAAAA,CAAYI,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAEpD,EAAA,OAAO;AAAA,IACLN,KAAAA;AAAAA,IACAC,KAAAA,EAAOE,YAAAA,mBACL,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,MAAM,EAAA,EAAG,CAAA;AAAA,MAAG,GAAA;AAAA,MAAEE;AAAAA,KAAAA,EAC/B,CAAA,GAEAA,kBAAAA;AAAAA,IAEFE,OAAAA,EAAS;AAAA,MACPN,OAAOO,EAAAA,CAAG;AAAA,QACR,gEAAA,EACEL;AAAAA,OACH;AAAA,KACH;AAAA,IACAJ,SAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAO;AAAAA,GACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAkB3C,eAAO,MAAM,uBAAuB,QAC9B,kCAsEH,CAAC"}
1
+ {"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AA0B3C,eAAO,MAAM,uBAAuB,QAC9B,kCAsGH,CAAC"}