@velora-dex/widget 0.2.0 → 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 (203) 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/web3/AccountButton.d.ts.map +1 -1
  9. package/dist/components/web3/AccountButton.js +24 -27
  10. package/dist/components/web3/AccountButton.js.map +1 -1
  11. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
  13. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  14. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  15. package/dist/components/widget/AppHeader/AppHeader.js +39 -33
  16. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
  20. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  21. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
  22. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  23. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
  24. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  28. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  29. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  30. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  31. package/dist/components/widget/Drawer/index.js +119 -54
  32. package/dist/components/widget/Drawer/index.js.map +1 -1
  33. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  34. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
  35. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  36. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  37. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  38. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  39. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
  40. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  41. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
  42. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
  43. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  44. package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
  45. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  46. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
  47. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
  48. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  49. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  50. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
  51. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  52. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
  53. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  54. package/dist/components/widget/SelectToken/SelectTokenButton.js +117 -109
  55. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  56. package/dist/components/widget/SelectToken/types.d.ts +3 -1
  57. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  58. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  59. package/dist/components/widget/TokenInput/index.js +102 -141
  60. package/dist/components/widget/TokenInput/index.js.map +1 -1
  61. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
  62. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  63. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  64. package/dist/configurator/Configurator.d.ts.map +1 -1
  65. package/dist/configurator/components/FormPropsInputs.d.ts +1 -1
  66. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  67. package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
  68. package/dist/core/ConnectWalletDrawerButton.js +48 -26
  69. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  70. package/dist/core/Toaster.js +1 -1
  71. package/dist/core/Toaster.js.map +1 -1
  72. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  73. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  74. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -50
  75. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +98 -90
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/core/inputs/state/common.d.ts +2 -2
  80. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
  81. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  82. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  83. package/dist/core/inputs/state/types.d.ts +15 -0
  84. package/dist/core/inputs/state/types.d.ts.map +1 -0
  85. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  86. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  87. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  88. package/dist/core/limit/state/selectedTokenAtom.js +5 -1
  89. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  90. package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
  91. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
  93. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  94. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  95. package/dist/core/otc/state/selectedTokenAtom.js +3 -1
  96. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  97. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  98. package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
  99. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  100. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  101. package/dist/core/state/configActionsAtom.js +3 -1
  102. package/dist/core/state/configActionsAtom.js.map +1 -1
  103. package/dist/core/state/configAtom.d.ts +4 -2
  104. package/dist/core/state/configAtom.d.ts.map +1 -1
  105. package/dist/core/state/configAtom.js +4 -2
  106. package/dist/core/state/configAtom.js.map +1 -1
  107. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  108. package/dist/core/state/widgetEventsAtom.js +55 -41
  109. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  110. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  111. package/dist/core/swapDetails/fees.js +4 -2
  112. package/dist/core/swapDetails/fees.js.map +1 -1
  113. package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
  114. package/dist/core/swapDetails/orderRouting.js +7 -3
  115. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  116. package/dist/core/swapDetails/priceImpact.d.ts +3 -1
  117. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  118. package/dist/core/swapDetails/priceImpact.js +6 -2
  119. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  120. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  121. package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
  122. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  123. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  124. package/dist/core/swapDetails/youGet.js +5 -2
  125. package/dist/core/swapDetails/youGet.js.map +1 -1
  126. package/dist/core/types.d.ts +4 -1
  127. package/dist/core/types.d.ts.map +1 -1
  128. package/dist/events/getters/limit.d.ts.map +1 -1
  129. package/dist/events/getters/limit.js +3 -2
  130. package/dist/events/getters/limit.js.map +1 -1
  131. package/dist/events/getters/otc.d.ts.map +1 -1
  132. package/dist/events/getters/otc.js +3 -2
  133. package/dist/events/getters/otc.js.map +1 -1
  134. package/dist/events/getters/swap.d.ts.map +1 -1
  135. package/dist/events/getters/swap.js +3 -2
  136. package/dist/events/getters/swap.js.map +1 -1
  137. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  138. package/dist/events/hooks/useOnWalletConnect.js +2 -0
  139. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  140. package/dist/events/types/common.d.ts +3 -2
  141. package/dist/events/types/common.d.ts.map +1 -1
  142. package/dist/events/types/connectWallet.d.ts +2 -0
  143. package/dist/events/types/connectWallet.d.ts.map +1 -1
  144. package/dist/events/types/index.d.ts +5 -2
  145. package/dist/events/types/index.d.ts.map +1 -1
  146. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
  147. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  148. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
  149. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  150. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
  151. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  152. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
  153. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  154. package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
  155. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  156. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  157. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
  158. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
  159. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  160. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  161. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  162. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  163. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
  164. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  165. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
  166. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  167. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  169. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  171. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  173. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
  174. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  176. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  177. package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
  178. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  179. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
  180. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  181. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
  182. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  183. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  184. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  185. package/dist/index.d.ts +5 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/lib/utils/tradeFlow.d.ts +3 -0
  188. package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
  189. package/dist/lib/utils/tradeFlow.js +12 -0
  190. package/dist/lib/utils/tradeFlow.js.map +1 -0
  191. package/dist/lib/utils/useDateNow.d.ts +2 -0
  192. package/dist/lib/utils/useDateNow.d.ts.map +1 -0
  193. package/dist/lib/utils/useDateNow.js +7 -0
  194. package/dist/lib/utils/useDateNow.js.map +1 -0
  195. package/dist/lib/web3/privy/config.js +1 -1
  196. package/dist/lib/web3/wagmi/config.js +1 -1
  197. package/dist/styles.css +20 -17
  198. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  199. package/dist/tokens/state/addImportedTokenAtom.js +6 -23
  200. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  201. package/package.json +8 -7
  202. package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
  203. package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
@@ -92,6 +92,15 @@ const widgetEventsAtom = atom({}, (get, set, callbacks) => {
92
92
  };
93
93
  callbacks.onConnectWallet(payloadWithState);
94
94
  };
95
+ const _onConnectWalletClick = callbacks.onConnectWalletClick;
96
+ const onConnectWalletClick = _onConnectWalletClick ? (payload) => {
97
+ const widgetState = getWidgetState(get);
98
+ const payloadWithState = {
99
+ event: payload.event,
100
+ state: widgetState
101
+ };
102
+ _onConnectWalletClick(payloadWithState);
103
+ } : void 0;
95
104
  const onCancelOrder = (payload) => {
96
105
  if (!callbacks.onCancelOrder) return;
97
106
  const widgetState = getWidgetState(get);
@@ -136,6 +145,7 @@ const widgetEventsAtom = atom({}, (get, set, callbacks) => {
136
145
  onWrapETH,
137
146
  onSettingsChange,
138
147
  onConnectWallet,
148
+ onConnectWalletClick,
139
149
  onCancelOrder,
140
150
  onFillOTCOrder,
141
151
  onFormInputChange,
@@ -146,13 +156,14 @@ const useWidgetEvents = () => {
146
156
  return useAtomValue(widgetEventsAtom);
147
157
  };
148
158
  const useWidgetEventsSetter = (callbacks) => {
149
- const $ = distExports.c(26);
159
+ const $ = distExports.c(28);
150
160
  const setWidgetEvents = useSetAtom(widgetEventsAtom);
151
161
  let t0;
152
- if ($[0] !== callbacks?.onAllowToken || $[1] !== callbacks?.onCancelOrder || $[2] !== callbacks?.onConnectWallet || $[3] !== callbacks?.onFillOTCOrder || $[4] !== callbacks?.onFormInputChange || $[5] !== callbacks?.onLimitOrder || $[6] !== callbacks?.onOTCOrder || $[7] !== callbacks?.onPriceChange || $[8] !== callbacks?.onSettingsChange || $[9] !== callbacks?.onSwap || $[10] !== callbacks?.onWrapETH || $[11] !== setWidgetEvents) {
162
+ if ($[0] !== callbacks?.onAllowToken || $[1] !== callbacks?.onCancelOrder || $[2] !== callbacks?.onConnectWallet || $[3] !== callbacks?.onConnectWalletClick || $[4] !== callbacks?.onFillOTCOrder || $[5] !== callbacks?.onFormInputChange || $[6] !== callbacks?.onLimitOrder || $[7] !== callbacks?.onOTCOrder || $[8] !== callbacks?.onPriceChange || $[9] !== callbacks?.onSettingsChange || $[10] !== callbacks?.onSwap || $[11] !== callbacks?.onWrapETH || $[12] !== setWidgetEvents) {
153
163
  t0 = () => {
154
164
  setWidgetEvents({
155
165
  onConnectWallet: callbacks?.onConnectWallet,
166
+ onConnectWalletClick: callbacks?.onConnectWalletClick,
156
167
  onAllowToken: callbacks?.onAllowToken,
157
168
  onSwap: callbacks?.onSwap,
158
169
  onOTCOrder: callbacks?.onOTCOrder,
@@ -168,50 +179,53 @@ const useWidgetEventsSetter = (callbacks) => {
168
179
  $[0] = callbacks?.onAllowToken;
169
180
  $[1] = callbacks?.onCancelOrder;
170
181
  $[2] = callbacks?.onConnectWallet;
171
- $[3] = callbacks?.onFillOTCOrder;
172
- $[4] = callbacks?.onFormInputChange;
173
- $[5] = callbacks?.onLimitOrder;
174
- $[6] = callbacks?.onOTCOrder;
175
- $[7] = callbacks?.onPriceChange;
176
- $[8] = callbacks?.onSettingsChange;
177
- $[9] = callbacks?.onSwap;
178
- $[10] = callbacks?.onWrapETH;
179
- $[11] = setWidgetEvents;
180
- $[12] = t0;
182
+ $[3] = callbacks?.onConnectWalletClick;
183
+ $[4] = callbacks?.onFillOTCOrder;
184
+ $[5] = callbacks?.onFormInputChange;
185
+ $[6] = callbacks?.onLimitOrder;
186
+ $[7] = callbacks?.onOTCOrder;
187
+ $[8] = callbacks?.onPriceChange;
188
+ $[9] = callbacks?.onSettingsChange;
189
+ $[10] = callbacks?.onSwap;
190
+ $[11] = callbacks?.onWrapETH;
191
+ $[12] = setWidgetEvents;
192
+ $[13] = t0;
181
193
  } else {
182
- t0 = $[12];
194
+ t0 = $[13];
183
195
  }
184
196
  const t1 = callbacks?.onConnectWallet;
185
- const t2 = callbacks?.onAllowToken;
186
- const t3 = callbacks?.onSwap;
187
- const t4 = callbacks?.onOTCOrder;
188
- const t5 = callbacks?.onLimitOrder;
189
- const t6 = callbacks?.onWrapETH;
190
- const t7 = callbacks?.onSettingsChange;
191
- const t8 = callbacks?.onCancelOrder;
192
- const t9 = callbacks?.onFillOTCOrder;
193
- const t10 = callbacks?.onFormInputChange;
194
- const t11 = callbacks?.onPriceChange;
195
- let t12;
196
- if ($[13] !== setWidgetEvents || $[14] !== t1 || $[15] !== t10 || $[16] !== t11 || $[17] !== t2 || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7 || $[23] !== t8 || $[24] !== t9) {
197
- t12 = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, setWidgetEvents];
198
- $[13] = setWidgetEvents;
199
- $[14] = t1;
200
- $[15] = t10;
201
- $[16] = t11;
202
- $[17] = t2;
203
- $[18] = t3;
204
- $[19] = t4;
205
- $[20] = t5;
206
- $[21] = t6;
207
- $[22] = t7;
208
- $[23] = t8;
209
- $[24] = t9;
210
- $[25] = t12;
197
+ const t2 = callbacks?.onConnectWalletClick;
198
+ const t3 = callbacks?.onAllowToken;
199
+ const t4 = callbacks?.onSwap;
200
+ const t5 = callbacks?.onOTCOrder;
201
+ const t6 = callbacks?.onLimitOrder;
202
+ const t7 = callbacks?.onWrapETH;
203
+ const t8 = callbacks?.onSettingsChange;
204
+ const t9 = callbacks?.onCancelOrder;
205
+ const t10 = callbacks?.onFillOTCOrder;
206
+ const t11 = callbacks?.onFormInputChange;
207
+ const t12 = callbacks?.onPriceChange;
208
+ let t13;
209
+ if ($[14] !== setWidgetEvents || $[15] !== t1 || $[16] !== t10 || $[17] !== t11 || $[18] !== t12 || $[19] !== t2 || $[20] !== t3 || $[21] !== t4 || $[22] !== t5 || $[23] !== t6 || $[24] !== t7 || $[25] !== t8 || $[26] !== t9) {
210
+ t13 = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, setWidgetEvents];
211
+ $[14] = setWidgetEvents;
212
+ $[15] = t1;
213
+ $[16] = t10;
214
+ $[17] = t11;
215
+ $[18] = t12;
216
+ $[19] = t2;
217
+ $[20] = t3;
218
+ $[21] = t4;
219
+ $[22] = t5;
220
+ $[23] = t6;
221
+ $[24] = t7;
222
+ $[25] = t8;
223
+ $[26] = t9;
224
+ $[27] = t13;
211
225
  } else {
212
- t12 = $[25];
226
+ t13 = $[27];
213
227
  }
214
- useLayoutEffect(t0, t12);
228
+ useLayoutEffect(t0, t13);
215
229
  };
216
230
  function isFullTokenFormState(state) {
217
231
  return !!(state.tokenTo && state.receiverAddress && state.destChainId && state.connectedAccount);
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: WidgetEventCallbacksMin[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: WidgetEventCallbacksMin[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: WidgetEventCallbacksMin[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: WidgetEventCallbacksMin[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: WidgetEventCallbacksMin[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: WidgetEventCallbacksMin[\"onSettingsChange\"] = (\n payload\n ) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: WidgetEventCallbacksMin[\"onConnectWallet\"] = (\n payload\n ) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const onCancelOrder: WidgetEventCallbacksMin[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: WidgetEventCallbacksMin[\"onFillOTCOrder\"] = (\n payload\n ) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: WidgetEventCallbacksMin[\"onFormInputChange\"] = (\n payload\n ) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = (payload) => {\n if (!callbacks.onPriceChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onPriceChange(payloadWithState);\n };\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","onCancelOrder","onFillOTCOrder","onFormInputChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
1
+ {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: WidgetEventCallbacksMin[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: WidgetEventCallbacksMin[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: WidgetEventCallbacksMin[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: WidgetEventCallbacksMin[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: WidgetEventCallbacksMin[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: WidgetEventCallbacksMin[\"onSettingsChange\"] = (\n payload\n ) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: WidgetEventCallbacksMin[\"onConnectWallet\"] = (\n payload\n ) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: WidgetEventCallbacksMin[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: WidgetEventCallbacksMin[\"onFillOTCOrder\"] = (\n payload\n ) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: WidgetEventCallbacksMin[\"onFormInputChange\"] = (\n payload\n ) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = (payload) => {\n if (!callbacks.onPriceChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onPriceChange(payloadWithState);\n };\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"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"}
@@ -1,4 +1,4 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../../_virtual/index.js';
3
3
  import { SwapRate } from '../../components/widget/SwapRate/SwapRate.js';
4
4
  import { useCurrentSwapPrice } from '../../hooks/swap/prices/useSwapPrices.js';
@@ -9,12 +9,15 @@ import { constructOrderRoutingDetail } from './orderRouting.js';
9
9
  import { constructPriceImpactDetail } from './priceImpact.js';
10
10
  import { constructSwapFeesDetail, constructNetworkFeesDetail } from './fees.js';
11
11
  import { useSwapSide } from '../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
12
- import { isTruthy } from '../../lib/utils/index.js';
12
+ import { cn, isTruthy } from '../../lib/utils/index.js';
13
13
  import { constructYouGetDetail } from './youGet.js';
14
14
  import { useSlippage } from '../../hooks/useSlippage.js';
15
+ import { ReactComponent as ForwardRef } from '../../assets/price-impact.svg.js';
16
+ import { TooltipTrigger, TooltipContent, Tooltip } from '../../components/ui/tooltip.js';
17
+ import { Skeleton } from '../../components/ui/skeleton.js';
15
18
 
16
19
  const useSwapDetailsListProps = () => {
17
- const $ = distExports.c(19);
20
+ const $ = distExports.c(49);
18
21
  const {
19
22
  tokenFrom,
20
23
  tokenTo
@@ -39,14 +42,25 @@ const useSwapDetailsListProps = () => {
39
42
  resolvedSlippage
40
43
  } = useSlippage("swap");
41
44
  const swapSide = useSwapSide();
45
+ let T0;
46
+ let T1;
47
+ let details;
42
48
  let t1;
43
- if ($[1] !== isLoading || $[2] !== price || $[3] !== priceMode || $[4] !== resolvedSlippage || $[5] !== swapSide || $[6] !== tokenTo) {
49
+ let t2;
50
+ let t3;
51
+ let t4;
52
+ let t5;
53
+ let t6;
54
+ if ($[1] !== destAmountWei || $[2] !== isLoading || $[3] !== price || $[4] !== priceMode || $[5] !== resolvedSlippage || $[6] !== srcAmountWei || $[7] !== swapSide || $[8] !== tokenFrom || $[9] !== tokenTo) {
44
55
  const orderRoutingDetail = constructOrderRoutingDetail({
45
56
  bestRoutes: price && "bestRoute" in price ? price.bestRoute : void 0,
46
57
  swapMode: priceMode,
47
58
  isLoading
48
59
  });
49
- const priceImpactDetail = constructPriceImpactDetail({
60
+ const {
61
+ isHighImpact,
62
+ ...priceImpactDetail
63
+ } = constructPriceImpactDetail({
50
64
  price,
51
65
  isLoading
52
66
  });
@@ -66,55 +80,154 @@ const useSwapDetailsListProps = () => {
66
80
  tokenTo,
67
81
  swapSide
68
82
  });
69
- t1 = [orderRoutingDetail, priceImpactDetail, swapFeesDetail, youGetDetail, networkFeesDetail].filter(isTruthy);
70
- $[1] = isLoading;
71
- $[2] = price;
72
- $[3] = priceMode;
73
- $[4] = resolvedSlippage;
74
- $[5] = swapSide;
75
- $[6] = tokenTo;
76
- $[7] = t1;
77
- } else {
78
- t1 = $[7];
79
- }
80
- const details = t1;
81
- const isBuy = swapSide === "BUY";
82
- let t2;
83
- if ($[8] !== destAmountWei || $[9] !== isBuy || $[10] !== isLoading || $[11] !== srcAmountWei || $[12] !== tokenFrom || $[13] !== tokenTo) {
84
- t2 = /* @__PURE__ */ jsx(SwapRate, { srcToken: tokenFrom, destToken: tokenTo, srcAmountWei, destAmountWei, isLoading, reverse: isBuy });
85
- $[8] = destAmountWei;
86
- $[9] = isBuy;
87
- $[10] = isLoading;
88
- $[11] = srcAmountWei;
89
- $[12] = tokenFrom;
90
- $[13] = tokenTo;
83
+ details = [orderRoutingDetail, priceImpactDetail, swapFeesDetail, youGetDetail, networkFeesDetail].filter(isTruthy);
84
+ const isBuy = swapSide === "BUY";
85
+ t5 = "flex items-center justify-between";
86
+ let t72;
87
+ if ($[19] !== destAmountWei || $[20] !== isBuy || $[21] !== isLoading || $[22] !== srcAmountWei || $[23] !== tokenFrom || $[24] !== tokenTo) {
88
+ t72 = /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(SwapRate, { srcToken: tokenFrom, destToken: tokenTo, srcAmountWei, destAmountWei, isLoading, reverse: isBuy }) }) });
89
+ $[19] = destAmountWei;
90
+ $[20] = isBuy;
91
+ $[21] = isLoading;
92
+ $[22] = srcAmountWei;
93
+ $[23] = tokenFrom;
94
+ $[24] = tokenTo;
95
+ $[25] = t72;
96
+ } else {
97
+ t72 = $[25];
98
+ }
99
+ let t82;
100
+ if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
101
+ t82 = /* @__PURE__ */ jsx(TooltipContent, { children: "Best price for this trade based on the current market conditions" });
102
+ $[26] = t82;
103
+ } else {
104
+ t82 = $[26];
105
+ }
106
+ if ($[27] !== t72) {
107
+ t6 = /* @__PURE__ */ jsxs(Tooltip, { children: [
108
+ t72,
109
+ t82
110
+ ] });
111
+ $[27] = t72;
112
+ $[28] = t6;
113
+ } else {
114
+ t6 = $[28];
115
+ }
116
+ T1 = Tooltip;
117
+ T0 = TooltipTrigger;
118
+ t4 = true;
119
+ t1 = "flex items-center gap-1";
120
+ t2 = !isHighImpact && /* @__PURE__ */ jsx(ForwardRef, { className: "size-[16px]" });
121
+ t3 = priceImpactDetail.isLoading ? /* @__PURE__ */ jsx(Skeleton, { className: "bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]" }) : /* @__PURE__ */ jsx("div", { className: cn({
122
+ "text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1": isHighImpact
123
+ }), children: priceImpactDetail.value ?? "-" });
124
+ $[1] = destAmountWei;
125
+ $[2] = isLoading;
126
+ $[3] = price;
127
+ $[4] = priceMode;
128
+ $[5] = resolvedSlippage;
129
+ $[6] = srcAmountWei;
130
+ $[7] = swapSide;
131
+ $[8] = tokenFrom;
132
+ $[9] = tokenTo;
133
+ $[10] = T0;
134
+ $[11] = T1;
135
+ $[12] = details;
136
+ $[13] = t1;
91
137
  $[14] = t2;
138
+ $[15] = t3;
139
+ $[16] = t4;
140
+ $[17] = t5;
141
+ $[18] = t6;
92
142
  } else {
143
+ T0 = $[10];
144
+ T1 = $[11];
145
+ details = $[12];
146
+ t1 = $[13];
93
147
  t2 = $[14];
148
+ t3 = $[15];
149
+ t4 = $[16];
150
+ t5 = $[17];
151
+ t6 = $[18];
94
152
  }
95
- let t3;
96
- if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
97
- t3 = {
153
+ let t7;
154
+ if ($[29] !== t1 || $[30] !== t2 || $[31] !== t3) {
155
+ t7 = /* @__PURE__ */ jsxs("div", { className: t1, children: [
156
+ t2,
157
+ t3
158
+ ] });
159
+ $[29] = t1;
160
+ $[30] = t2;
161
+ $[31] = t3;
162
+ $[32] = t7;
163
+ } else {
164
+ t7 = $[32];
165
+ }
166
+ let t8;
167
+ if ($[33] !== T0 || $[34] !== t4 || $[35] !== t7) {
168
+ t8 = /* @__PURE__ */ jsx(T0, { asChild: t4, children: t7 });
169
+ $[33] = T0;
170
+ $[34] = t4;
171
+ $[35] = t7;
172
+ $[36] = t8;
173
+ } else {
174
+ t8 = $[36];
175
+ }
176
+ let t9;
177
+ if ($[37] === Symbol.for("react.memo_cache_sentinel")) {
178
+ t9 = /* @__PURE__ */ jsx(TooltipContent, { children: "Price Impact" });
179
+ $[37] = t9;
180
+ } else {
181
+ t9 = $[37];
182
+ }
183
+ let t10;
184
+ if ($[38] !== T1 || $[39] !== t8) {
185
+ t10 = /* @__PURE__ */ jsxs(T1, { children: [
186
+ t8,
187
+ t9
188
+ ] });
189
+ $[38] = T1;
190
+ $[39] = t8;
191
+ $[40] = t10;
192
+ } else {
193
+ t10 = $[40];
194
+ }
195
+ let t11;
196
+ if ($[41] !== t10 || $[42] !== t5 || $[43] !== t6) {
197
+ t11 = /* @__PURE__ */ jsxs("div", { className: t5, children: [
198
+ t6,
199
+ t10
200
+ ] });
201
+ $[41] = t10;
202
+ $[42] = t5;
203
+ $[43] = t6;
204
+ $[44] = t11;
205
+ } else {
206
+ t11 = $[44];
207
+ }
208
+ let t12;
209
+ if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
210
+ t12 = {
98
211
  root: "mt-4"
99
212
  };
100
- $[15] = t3;
213
+ $[45] = t12;
101
214
  } else {
102
- t3 = $[15];
215
+ t12 = $[45];
103
216
  }
104
- let t4;
105
- if ($[16] !== details || $[17] !== t2) {
106
- t4 = {
107
- trigger: t2,
217
+ let t13;
218
+ if ($[46] !== details || $[47] !== t11) {
219
+ t13 = {
220
+ trigger: t11,
108
221
  details,
109
- classes: t3
222
+ classes: t12
110
223
  };
111
- $[16] = details;
112
- $[17] = t2;
113
- $[18] = t4;
224
+ $[46] = details;
225
+ $[47] = t11;
226
+ $[48] = t13;
114
227
  } else {
115
- t4 = $[18];
228
+ t13 = $[48];
116
229
  }
117
- return t4;
230
+ return t13;
118
231
  };
119
232
 
120
233
  export { useSwapDetailsListProps };