@lifi/widget 3.30.11 → 3.30.13

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 (71) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/esm/components/RouteCard/RouteCard.js +3 -3
  3. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  4. package/dist/esm/components/RouteCard/RouteCardEssentials.js +3 -5
  5. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  6. package/dist/esm/components/StepActions/StepActions.js +3 -3
  7. package/dist/esm/components/TokenList/TokenList.js +0 -1
  8. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  9. package/dist/esm/components/TransactionDetails.js +7 -7
  10. package/dist/esm/components/TransactionDetails.js.map +1 -1
  11. package/dist/esm/config/version.d.ts +1 -1
  12. package/dist/esm/config/version.js +1 -1
  13. package/dist/esm/hooks/useGasRecommendation.js +4 -2
  14. package/dist/esm/hooks/useGasRecommendation.js.map +1 -1
  15. package/dist/esm/hooks/useGasRefuel.js +6 -1
  16. package/dist/esm/hooks/useGasRefuel.js.map +1 -1
  17. package/dist/esm/hooks/useGasSufficiency.js +2 -3
  18. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  19. package/dist/esm/hooks/useRoutes.js +2 -2
  20. package/dist/esm/hooks/useRoutes.js.map +1 -1
  21. package/dist/esm/i18n/bn.json +1 -0
  22. package/dist/esm/i18n/de.json +1 -0
  23. package/dist/esm/i18n/es.json +1 -0
  24. package/dist/esm/i18n/fr.json +1 -0
  25. package/dist/esm/i18n/hi.json +1 -0
  26. package/dist/esm/i18n/id.json +1 -0
  27. package/dist/esm/i18n/it.json +1 -0
  28. package/dist/esm/i18n/ja.json +1 -0
  29. package/dist/esm/i18n/ko.json +1 -0
  30. package/dist/esm/i18n/pl.json +1 -0
  31. package/dist/esm/i18n/pt.json +2 -1
  32. package/dist/esm/i18n/th.json +1 -0
  33. package/dist/esm/i18n/tr.json +1 -0
  34. package/dist/esm/i18n/uk.json +10 -9
  35. package/dist/esm/i18n/vi.json +1 -0
  36. package/dist/esm/i18n/zh.json +1 -0
  37. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +2 -4
  38. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  39. package/dist/esm/types/events.d.ts +30 -29
  40. package/dist/esm/types/events.js +13 -13
  41. package/dist/esm/types/events.js.map +1 -1
  42. package/package.json +7 -7
  43. package/package.json.tmp +6 -6
  44. package/src/components/RouteCard/RouteCard.tsx +3 -3
  45. package/src/components/RouteCard/RouteCardEssentials.tsx +4 -5
  46. package/src/components/StepActions/StepActions.tsx +3 -3
  47. package/src/components/TokenList/TokenList.tsx +0 -1
  48. package/src/components/TransactionDetails.tsx +8 -8
  49. package/src/config/version.ts +1 -1
  50. package/src/hooks/useGasRecommendation.ts +5 -2
  51. package/src/hooks/useGasRefuel.ts +6 -2
  52. package/src/hooks/useGasSufficiency.ts +1 -2
  53. package/src/hooks/useRoutes.ts +2 -3
  54. package/src/i18n/bn.json +1 -0
  55. package/src/i18n/de.json +1 -0
  56. package/src/i18n/es.json +1 -0
  57. package/src/i18n/fr.json +1 -0
  58. package/src/i18n/hi.json +1 -0
  59. package/src/i18n/id.json +1 -0
  60. package/src/i18n/it.json +1 -0
  61. package/src/i18n/ja.json +1 -0
  62. package/src/i18n/ko.json +1 -0
  63. package/src/i18n/pl.json +1 -0
  64. package/src/i18n/pt.json +2 -1
  65. package/src/i18n/th.json +1 -0
  66. package/src/i18n/tr.json +1 -0
  67. package/src/i18n/uk.json +10 -9
  68. package/src/i18n/vi.json +1 -0
  69. package/src/i18n/zh.json +1 -0
  70. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +2 -7
  71. package/src/types/events.ts +31 -29
@@ -174,6 +174,7 @@
174
174
  "exchangeRateUpdateCanceled": "Fiyat güncellemesi iptal edildi",
175
175
  "gasLimitIsTooLow": "Gaz limiti çok düşük",
176
176
  "insufficientFunds": "Yetersiz bakiye",
177
+ "insufficientGas": "",
177
178
  "rateLimitExceeded": "",
178
179
  "signatureRejected": "İmza gerekiyor",
179
180
  "slippageNotMet": "Slipaj koşulları karşılanmadı",
@@ -36,7 +36,7 @@
36
36
  "getGas": "Отримати газ",
37
37
  "learnMore": "Докладніше",
38
38
  "light": "Світла",
39
- "max": "",
39
+ "max": "МАКС",
40
40
  "ok": "Ок",
41
41
  "options": "Опції",
42
42
  "removeTransaction": "Видалити транзакцію",
@@ -92,7 +92,7 @@
92
92
  "emptyBridgesList": "Ми не змогли знайти жодного моста, що відповідає вашому запиту",
93
93
  "emptyChainList": "Ми не змогли знайти жодного чейна, що відповідає вашому запиту",
94
94
  "emptyExchangesList": "Ми не змогли знайти жодного обмінника, що відповідає вашому запиту",
95
- "emptyTokenListAllNetworks": "",
95
+ "emptyTokenListAllNetworks": "Не вдалося знайти жодного токена. Будь ласка, пошукайте за адресою токена або спробуйте вибрати інший чейн.",
96
96
  "emptyTransactionHistory": "Історія транзакцій зберігається лише локально та буде видалена, якщо ви очистите дані браузера.",
97
97
  "routeNotFound": "Причинами цього можуть бути: низька ліквідність, вибрана надто низька сума, занадто високі витрати на газ або відсутність маршрутів для вибраної комбінації.",
98
98
  "toAddressIsRequired": "Для продовження переказу необхідно вказати адресу гаманця одержувача.",
@@ -129,7 +129,7 @@
129
129
  "highValueLoss": "Вартість отриманих токенів значно нижча, ніж обмінені токени та вартість транзакції.",
130
130
  "insufficientFunds": "У вас недостатньо коштів для здійснення свопу.",
131
131
  "insufficientGas": "Для завершення свопа у вас недостатньо газу. Вам необхідно додати хоча б:",
132
- "minFromAmountUSD": "",
132
+ "minFromAmountUSD": "Мінімальна сума {{amount, currencyExt(currency: USD)}}. Будь ласка, введіть більшу суму.",
133
133
  "rateChanged": "Курс обміну змінився. Продовжуючи своп, ви приймете новий курс.",
134
134
  "resetSettings": "Це скине пріоритет вашого маршруту, прослизання, ціну газу, увімкнені бриджі та обмінники.",
135
135
  "slippageOutsideRecommendedLimits": "Високий допуск до прослизання може призвести до несприятливої торгівлі через фронт-біг.",
@@ -174,6 +174,7 @@
174
174
  "exchangeRateUpdateCanceled": "Оновлення обмінного курсу скасовано",
175
175
  "gasLimitIsTooLow": "Занадто низький ліміт газу",
176
176
  "insufficientFunds": "Недостатньо коштів",
177
+ "insufficientGas": "Недостатня кількість газу",
177
178
  "rateLimitExceeded": "Перевищено ліміт запитів",
178
179
  "signatureRejected": "Підпис обов'язковий",
179
180
  "slippageNotMet": "Не виконані умови прослизання",
@@ -212,7 +213,7 @@
212
213
  "slippage": "Максимальна процентна різниця між очікуваною ціною і фактичною ціною з якою виконується трансфер. Ця величина може бути змінена в налаштуваннях."
213
214
  },
214
215
  "main": {
215
- "allNetworks": "",
216
+ "allNetworks": "Всі мережі",
216
217
  "allTokens": "Всі токени",
217
218
  "bridgeStepDetails": "Бридж з {{from}} до {{to}} через {{tool}}",
218
219
  "checkoutStepDetails": "Купівля через {{tool}}",
@@ -241,7 +242,7 @@
241
242
  "process": {
242
243
  "bridge": {
243
244
  "actionRequired": "Підпишіть бридж транзакцію",
244
- "messageRequired": "",
245
+ "messageRequired": "Підпишіть брідж повідомлення",
245
246
  "done": "Бридж транзакцію схвалено",
246
247
  "pending": "Очікування бридж операції",
247
248
  "started": "Підготовка бридж транзакції"
@@ -260,7 +261,7 @@
260
261
  },
261
262
  "swap": {
262
263
  "actionRequired": "Підпишіть своп транзакцію",
263
- "messageRequired": "",
264
+ "messageRequired": "Підпишіть своп повідомлення",
264
265
  "done": "Своп завершено",
265
266
  "pending": "Очікування своп операції",
266
267
  "started": "Підготовка своп транзакції"
@@ -313,7 +314,7 @@
313
314
  "valueLoss": "Втрата вартості",
314
315
  "searchBridges": "Пошук за назвою моста",
315
316
  "searchExchanges": "Пошук за назвою обмінника",
316
- "searchNetwork": ""
317
+ "searchNetwork": "Пошук мережі"
317
318
  },
318
319
  "settings": {
319
320
  "appearance": "Вигляд",
@@ -345,7 +346,7 @@
345
346
  "tokenMetric": {
346
347
  "currentPrice": "Поточна ціна",
347
348
  "contractAddress": "Адреса контракту",
348
- "marketCap": "",
349
- "volume24h": ""
349
+ "marketCap": "Ринкова капіталізація",
350
+ "volume24h": "Обсяг 24г"
350
351
  }
351
352
  }
@@ -174,6 +174,7 @@
174
174
  "exchangeRateUpdateCanceled": "Đã hủy cập nhật tỷ giá",
175
175
  "gasLimitIsTooLow": "Giới hạn gas quá thấp",
176
176
  "insufficientFunds": "Không đủ tài sản",
177
+ "insufficientGas": "",
177
178
  "rateLimitExceeded": "",
178
179
  "signatureRejected": "Yêu cầu chữ ký",
179
180
  "slippageNotMet": "Điều kiện trượt giá không được đáp ứng",
@@ -174,6 +174,7 @@
174
174
  "exchangeRateUpdateCanceled": "兑换率更新已取消",
175
175
  "gasLimitIsTooLow": "燃气费设置过低",
176
176
  "insufficientFunds": "资金不足",
177
+ "insufficientGas": "",
177
178
  "rateLimitExceeded": "",
178
179
  "signatureRejected": "交易需要签名。",
179
180
  "slippageNotMet": "滑点未满足",
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { isRelayerStep } from '@lifi/sdk';
3
2
  import WarningRounded from '@mui/icons-material/WarningRounded';
4
3
  import { Box, Button, Typography } from '@mui/material';
5
4
  import { forwardRef, useRef } from 'react';
@@ -25,7 +24,6 @@ const TokenValueBottomSheetContent = ({ route, onCancel, onContinue, }) => {
25
24
  const { gasCosts, feeCosts, gasCostUSD, feeCostUSD } = getAccumulatedFeeCostsBreakdown(route);
26
25
  const fromAmountUSD = Number.parseFloat(route.fromAmountUSD);
27
26
  const toAmountUSD = Number.parseFloat(route.toAmountUSD);
28
- const hasRelayerSupport = route.steps.every(isRelayerStep);
29
27
  return (_jsxs(Box, { ref: ref, sx: {
30
28
  p: 3,
31
29
  }, children: [_jsxs(CenterContainer, { children: [_jsx(IconCircle, { status: "warning", mb: 1, children: _jsx(WarningRounded, { color: "warning" }) }), _jsx(Typography, { sx: {
@@ -44,9 +42,9 @@ const TokenValueBottomSheetContent = ({ route, onCancel, onContinue, }) => {
44
42
  display: 'flex',
45
43
  justifyContent: 'space-between',
46
44
  mt: 0.25,
47
- }, children: [_jsx(Typography, { children: t('main.fees.network') }), _jsx(FeeBreakdownTooltip, { gasCosts: gasCosts, relayerSupport: hasRelayerSupport, children: _jsx(Typography, { sx: {
45
+ }, children: [_jsx(Typography, { children: t('main.fees.network') }), _jsx(FeeBreakdownTooltip, { gasCosts: gasCosts, relayerSupport: !gasCostUSD, children: _jsx(Typography, { sx: {
48
46
  fontWeight: 600,
49
- }, children: hasRelayerSupport || !gasCostUSD
47
+ }, children: !gasCostUSD
50
48
  ? t('main.fees.free')
51
49
  : t('format.currency', { value: gasCostUSD }) }) })] }), feeCostUSD ? (_jsxs(Box, { sx: {
52
50
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"TokenValueBottomSheet.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/TokenValueBottomSheet.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAQzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAG7C,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,CAAC;QAAC,GAAkC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QACrD,QAAQ,EAAE,EAAE,CAAA;IACd,CAAC,CAAA;IAED,OAAO,CACL,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,YACtC,KAAC,4BAA4B,IAC3B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,GACtB,GACU,CACf,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAyC,CAAC,EAC1E,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACxB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAClD,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1D,OAAO,CACL,MAAC,GAAG,IACF,GAAG,EAAE,GAAG,EACR,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;SACL,aAED,MAAC,eAAe,eACd,KAAC,UAAU,IAAC,MAAM,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,YAChC,KAAC,cAAc,IAAC,KAAK,EAAC,SAAS,GAAG,GACvB,EACb,KAAC,UAAU,IACT,EAAE,EAAE;4BACF,EAAE,EAAE,CAAC;4BACL,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;yBAChB,YAEA,CAAC,CAAC,6BAA6B,CAAC,GACtB,IACG,EAClB,KAAC,UAAU,IACT,EAAE,EAAE;oBACF,EAAE,EAAE,CAAC;iBACN,YAEA,CAAC,CAAC,+BAA+B,CAAC,GACxB,EACb,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,EAAE,EAAE,CAAC;iBACN,aAED,KAAC,UAAU,cAAE,CAAC,CAAC,cAAc,CAAC,GAAc,EAC5C,KAAC,UAAU,IACT,EAAE,EAAE;4BACF,UAAU,EAAE,GAAG;yBAChB,YAEA,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,GAC1C,IACT,EACN,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,EAAE,EAAE,IAAI;iBACT,aAED,KAAC,UAAU,cAAE,CAAC,CAAC,mBAAmB,CAAC,GAAc,EACjD,KAAC,mBAAmB,IAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,iBAAiB,YAEjC,KAAC,UAAU,IACT,EAAE,EAAE;gCACF,UAAU,EAAE,GAAG;6BAChB,YAEA,iBAAiB,IAAI,CAAC,UAAU;gCAC/B,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;gCACrB,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACpC,GACO,IAClB,EACL,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,EAAE,EAAE,IAAI;iBACT,aAED,KAAC,UAAU,cAAE,CAAC,CAAC,oBAAoB,CAAC,GAAc,EAClD,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,YACrC,KAAC,UAAU,IACT,EAAE,EAAE;gCACF,UAAU,EAAE,GAAG;6BAChB,YAEA,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACjC,GACO,IAClB,CACP,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,EAAE,EAAE,IAAI;iBACT,aAED,KAAC,UAAU,cAAE,CAAC,CAAC,gBAAgB,CAAC,GAAc,EAC9C,KAAC,UAAU,IACT,EAAE,EAAE;4BACF,UAAU,EAAE,GAAG;yBAChB,YAEA,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GACxC,IACT,EACN,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,EAAE,EAAE,IAAI;iBACT,aAED,KAAC,UAAU,cAAE,CAAC,CAAC,gBAAgB,CAAC,GAAc,EAC9C,MAAC,UAAU,IACT,EAAE,EAAE;4BACF,UAAU,EAAE,GAAG;yBAChB,aAEA,4BAA4B,CAC3B,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,CACX,SAEU,IACT,EACN,MAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,EAAE,EAAE,CAAC;iBACN,aAED,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,kBAChD,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,GAAG,IACF,EAAE,EAAE;4BACF,OAAO,EAAE,MAAM;4BACf,CAAC,EAAE,CAAC;yBACL,GACD,EACF,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,kBACvD,CAAC,CAAC,iBAAiB,CAAC,GACd,IACL,IACF,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"TokenValueBottomSheet.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/TokenValueBottomSheet.tsx"],"names":[],"mappings":"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"}
@@ -4,53 +4,50 @@ import type { SettingsProps } from '../stores/settings/types.js';
4
4
  import type { NavigationRouteType } from '../utils/navigationRoutes.js';
5
5
  import type { TokenAmount } from './token.js';
6
6
  export declare enum WidgetEvent {
7
- RouteExecutionStarted = "routeExecutionStarted",
8
- RouteExecutionUpdated = "routeExecutionUpdated",
9
- RouteExecutionCompleted = "routeExecutionCompleted",
10
- RouteExecutionFailed = "routeExecutionFailed",
11
- RouteHighValueLoss = "routeHighValueLoss",
12
- RouteSelected = "routeSelected",
13
7
  AvailableRoutes = "availableRoutes",
8
+ ChainPinned = "chainPinned",
14
9
  ContactSupport = "contactSupport",
15
- SourceChainTokenSelected = "sourceChainTokenSelected",
16
10
  DestinationChainTokenSelected = "destinationChainTokenSelected",
17
- SendToWalletToggled = "sendToWalletToggled",
11
+ FormFieldChanged = "formFieldChanged",
12
+ LowAddressActivityConfirmed = "lowAddressActivityConfirmed",
13
+ PageEntered = "pageEntered",
18
14
  /**
19
15
  * @deprecated Use `PageEntered` event instead.
20
16
  */
21
17
  ReviewTransactionPageEntered = "reviewTransactionPageEntered",
22
- WidgetExpanded = "widgetExpanded",
23
- PageEntered = "pageEntered",
24
- FormFieldChanged = "formFieldChanged",
18
+ RouteExecutionCompleted = "routeExecutionCompleted",
19
+ RouteExecutionFailed = "routeExecutionFailed",
20
+ RouteExecutionStarted = "routeExecutionStarted",
21
+ RouteExecutionUpdated = "routeExecutionUpdated",
22
+ RouteHighValueLoss = "routeHighValueLoss",
23
+ RouteSelected = "routeSelected",
24
+ SendToWalletToggled = "sendToWalletToggled",
25
25
  SettingUpdated = "settingUpdated",
26
+ SourceChainTokenSelected = "sourceChainTokenSelected",
26
27
  TokenSearch = "tokenSearch",
27
- LowAddressActivityConfirmed = "lowAddressActivityConfirmed",
28
- ChainPinned = "chainPinned"
28
+ WidgetExpanded = "widgetExpanded"
29
29
  }
30
30
  export type WidgetEvents = {
31
- routeExecutionStarted: Route;
32
- routeExecutionUpdated: RouteExecutionUpdate;
33
- routeExecutionCompleted: Route;
34
- routeExecutionFailed: RouteExecutionUpdate;
35
- routeHighValueLoss: RouteHighValueLossUpdate;
36
- routeSelected: RouteSelected;
37
31
  availableRoutes: Route[];
32
+ chainPinned: ChainPinned;
38
33
  contactSupport: ContactSupport;
39
- sourceChainTokenSelected: ChainTokenSelected;
40
34
  destinationChainTokenSelected: ChainTokenSelected;
41
- sendToWalletToggled: boolean;
42
35
  formFieldChanged: FormFieldChanged;
43
- reviewTransactionPageEntered?: Route;
44
- walletConnected: WalletConnected;
45
- widgetExpanded: boolean;
36
+ lowAddressActivityConfirmed: LowAddressActivityConfirmed;
46
37
  pageEntered: NavigationRouteType;
38
+ reviewTransactionPageEntered?: Route;
39
+ routeExecutionCompleted: Route;
40
+ routeExecutionFailed: RouteExecutionUpdate;
41
+ routeExecutionStarted: Route;
42
+ routeExecutionUpdated: RouteExecutionUpdate;
43
+ routeHighValueLoss: RouteHighValueLossUpdate;
44
+ routeSelected: RouteSelected;
45
+ sendToWalletToggled: boolean;
47
46
  settingUpdated: SettingUpdated;
47
+ sourceChainTokenSelected: ChainTokenSelected;
48
48
  tokenSearch: TokenSearch;
49
- chainPinned: ChainPinned;
50
- [WidgetEvent.LowAddressActivityConfirmed]: {
51
- address: string;
52
- chainId: number;
53
- };
49
+ walletConnected: WalletConnected;
50
+ widgetExpanded: boolean;
54
51
  };
55
52
  export type ContactSupport = {
56
53
  supportId?: string;
@@ -101,3 +98,7 @@ export type ChainPinned = {
101
98
  chainId: number;
102
99
  pinned: boolean;
103
100
  };
101
+ export type LowAddressActivityConfirmed = {
102
+ address: string;
103
+ chainId: number;
104
+ };
@@ -1,26 +1,26 @@
1
1
  export var WidgetEvent;
2
2
  (function (WidgetEvent) {
3
- WidgetEvent["RouteExecutionStarted"] = "routeExecutionStarted";
4
- WidgetEvent["RouteExecutionUpdated"] = "routeExecutionUpdated";
5
- WidgetEvent["RouteExecutionCompleted"] = "routeExecutionCompleted";
6
- WidgetEvent["RouteExecutionFailed"] = "routeExecutionFailed";
7
- WidgetEvent["RouteHighValueLoss"] = "routeHighValueLoss";
8
- WidgetEvent["RouteSelected"] = "routeSelected";
9
3
  WidgetEvent["AvailableRoutes"] = "availableRoutes";
4
+ WidgetEvent["ChainPinned"] = "chainPinned";
10
5
  WidgetEvent["ContactSupport"] = "contactSupport";
11
- WidgetEvent["SourceChainTokenSelected"] = "sourceChainTokenSelected";
12
6
  WidgetEvent["DestinationChainTokenSelected"] = "destinationChainTokenSelected";
13
- WidgetEvent["SendToWalletToggled"] = "sendToWalletToggled";
7
+ WidgetEvent["FormFieldChanged"] = "formFieldChanged";
8
+ WidgetEvent["LowAddressActivityConfirmed"] = "lowAddressActivityConfirmed";
9
+ WidgetEvent["PageEntered"] = "pageEntered";
14
10
  /**
15
11
  * @deprecated Use `PageEntered` event instead.
16
12
  */
17
13
  WidgetEvent["ReviewTransactionPageEntered"] = "reviewTransactionPageEntered";
18
- WidgetEvent["WidgetExpanded"] = "widgetExpanded";
19
- WidgetEvent["PageEntered"] = "pageEntered";
20
- WidgetEvent["FormFieldChanged"] = "formFieldChanged";
14
+ WidgetEvent["RouteExecutionCompleted"] = "routeExecutionCompleted";
15
+ WidgetEvent["RouteExecutionFailed"] = "routeExecutionFailed";
16
+ WidgetEvent["RouteExecutionStarted"] = "routeExecutionStarted";
17
+ WidgetEvent["RouteExecutionUpdated"] = "routeExecutionUpdated";
18
+ WidgetEvent["RouteHighValueLoss"] = "routeHighValueLoss";
19
+ WidgetEvent["RouteSelected"] = "routeSelected";
20
+ WidgetEvent["SendToWalletToggled"] = "sendToWalletToggled";
21
21
  WidgetEvent["SettingUpdated"] = "settingUpdated";
22
+ WidgetEvent["SourceChainTokenSelected"] = "sourceChainTokenSelected";
22
23
  WidgetEvent["TokenSearch"] = "tokenSearch";
23
- WidgetEvent["LowAddressActivityConfirmed"] = "lowAddressActivityConfirmed";
24
- WidgetEvent["ChainPinned"] = "chainPinned";
24
+ WidgetEvent["WidgetExpanded"] = "widgetExpanded";
25
25
  })(WidgetEvent || (WidgetEvent = {}));
26
26
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAuBX;AAvBD,WAAY,WAAW;IACrB,8DAA+C,CAAA;IAC/C,8DAA+C,CAAA;IAC/C,kEAAmD,CAAA;IACnD,4DAA6C,CAAA;IAC7C,wDAAyC,CAAA;IACzC,8CAA+B,CAAA;IAC/B,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,oEAAqD,CAAA;IACrD,8EAA+D,CAAA;IAC/D,0DAA2C,CAAA;IAC3C;;OAEG;IACH,4EAA6D,CAAA;IAC7D,gDAAiC,CAAA;IACjC,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,gDAAiC,CAAA;IACjC,0CAA2B,CAAA;IAC3B,0EAA2D,CAAA;IAC3D,0CAA2B,CAAA;AAC7B,CAAC,EAvBW,WAAW,KAAX,WAAW,QAuBtB"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAuBX;AAvBD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,8EAA+D,CAAA;IAC/D,oDAAqC,CAAA;IACrC,0EAA2D,CAAA;IAC3D,0CAA2B,CAAA;IAC3B;;OAEG;IACH,4EAA6D,CAAA;IAC7D,kEAAmD,CAAA;IACnD,4DAA6C,CAAA;IAC7C,8DAA+C,CAAA;IAC/C,8DAA+C,CAAA;IAC/C,wDAAyC,CAAA;IACzC,8CAA+B,CAAA;IAC/B,0DAA2C,CAAA;IAC3C,gDAAiC,CAAA;IACjC,oEAAqD,CAAA;IACrD,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;AACnC,CAAC,EAvBW,WAAW,KAAX,WAAW,QAuBtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.30.11",
3
+ "version": "3.30.13",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -34,11 +34,11 @@
34
34
  "@bigmi/core": "^0.5.2",
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "^3.12.6",
37
+ "@lifi/sdk": "^3.12.8",
38
38
  "@mui/icons-material": "^7.3.2",
39
39
  "@mui/material": "^7.3.2",
40
40
  "@mui/system": "^7.3.2",
41
- "@mysten/sui": "^1.37.6",
41
+ "@mysten/sui": "^1.38.0",
42
42
  "@solana/wallet-adapter-base": "^0.9.27",
43
43
  "@solana/wallet-adapter-coinbase": "^0.1.23",
44
44
  "@solana/web3.js": "^1.98.4",
@@ -50,18 +50,18 @@
50
50
  "react-intersection-observer": "^9.16.0",
51
51
  "react-router-dom": "^6.30.0",
52
52
  "react-transition-group": "^4.4.5",
53
- "viem": "^2.37.5",
53
+ "viem": "^2.37.6",
54
54
  "zustand": "^5.0.8",
55
- "@lifi/wallet-management": "^3.16.5"
55
+ "@lifi/wallet-management": "^3.16.7"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@bigmi/react": ">=0.5.0",
59
- "@mysten/dapp-kit": ">=0.17.0",
59
+ "@mysten/dapp-kit": ">=0.18.0",
60
60
  "@solana/wallet-adapter-react": ">=0.15.35",
61
61
  "@tanstack/react-query": ">=5.87.0",
62
62
  "react": ">=18",
63
63
  "react-dom": ">=18",
64
- "wagmi": ">=2.14.0"
64
+ "wagmi": ">=2.16.0"
65
65
  },
66
66
  "exports": {
67
67
  ".": {
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.30.11",
3
+ "version": "3.30.13",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -53,12 +53,12 @@
53
53
  "@bigmi/core": "^0.5.2",
54
54
  "@emotion/react": "^11.14.0",
55
55
  "@emotion/styled": "^11.14.1",
56
- "@lifi/sdk": "^3.12.6",
56
+ "@lifi/sdk": "^3.12.8",
57
57
  "@lifi/wallet-management": "workspace:^",
58
58
  "@mui/icons-material": "^7.3.2",
59
59
  "@mui/material": "^7.3.2",
60
60
  "@mui/system": "^7.3.2",
61
- "@mysten/sui": "^1.37.6",
61
+ "@mysten/sui": "^1.38.0",
62
62
  "@solana/wallet-adapter-base": "^0.9.27",
63
63
  "@solana/wallet-adapter-coinbase": "^0.1.23",
64
64
  "@solana/web3.js": "^1.98.4",
@@ -70,7 +70,7 @@
70
70
  "react-intersection-observer": "^9.16.0",
71
71
  "react-router-dom": "^6.30.0",
72
72
  "react-transition-group": "^4.4.5",
73
- "viem": "^2.37.5",
73
+ "viem": "^2.37.6",
74
74
  "zustand": "^5.0.8"
75
75
  },
76
76
  "devDependencies": {
@@ -84,12 +84,12 @@
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@bigmi/react": ">=0.5.0",
87
- "@mysten/dapp-kit": ">=0.17.0",
87
+ "@mysten/dapp-kit": ">=0.18.0",
88
88
  "@solana/wallet-adapter-react": ">=0.15.35",
89
89
  "@tanstack/react-query": ">=5.87.0",
90
90
  "react": ">=18",
91
91
  "react-dom": ">=18",
92
- "wagmi": ">=2.14.0"
92
+ "wagmi": ">=2.16.0"
93
93
  },
94
94
  "files": [
95
95
  "dist/**",
@@ -1,5 +1,4 @@
1
1
  import type { TokenAmount } from '@lifi/sdk'
2
- import { isRelayerStep } from '@lifi/sdk'
3
2
  import ExpandLess from '@mui/icons-material/ExpandLess'
4
3
  import ExpandMore from '@mui/icons-material/ExpandMore'
5
4
  import { Box, Collapse } from '@mui/material'
@@ -8,6 +7,7 @@ import { useState } from 'react'
8
7
  import { useTranslation } from 'react-i18next'
9
8
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
10
9
  import { HiddenUI } from '../../types/widget.js'
10
+ import { getAccumulatedFeeCostsBreakdown } from '../../utils/fees.js'
11
11
  import type { CardProps } from '../Card/Card.js'
12
12
  import { Card } from '../Card/Card.js'
13
13
  import { CardIconButton } from '../Card/CardIconButton.js'
@@ -53,8 +53,8 @@ export const RouteCard: React.FC<
53
53
  (tag) => tag === 'CHEAPEST' || tag === 'FASTEST'
54
54
  )
55
55
  const tags: string[] = mainTag ? [mainTag] : []
56
- const hasRelayerSupport = route.steps.every(isRelayerStep)
57
- if (hasRelayerSupport) {
56
+ const { combinedFeesUSD } = getAccumulatedFeeCostsBreakdown(route)
57
+ if (!combinedFeesUSD) {
58
58
  tags.push('GASLESS')
59
59
  }
60
60
 
@@ -1,4 +1,3 @@
1
- import { isRelayerStep } from '@lifi/sdk'
2
1
  import AccessTimeFilled from '@mui/icons-material/AccessTimeFilled'
3
2
  import LocalGasStationRounded from '@mui/icons-material/LocalGasStationRounded'
4
3
  import { Box, Tooltip, Typography } from '@mui/material'
@@ -20,9 +19,9 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
20
19
  0
21
20
  )
22
21
  )
22
+
23
23
  const { gasCosts, feeCosts, combinedFeesUSD } =
24
24
  getAccumulatedFeeCostsBreakdown(route)
25
- const hasRelayerSupport = route.steps.every(isRelayerStep)
26
25
  return (
27
26
  <Box
28
27
  sx={{
@@ -43,7 +42,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
43
42
  <FeeBreakdownTooltip
44
43
  gasCosts={gasCosts}
45
44
  feeCosts={feeCosts}
46
- relayerSupport={hasRelayerSupport}
45
+ relayerSupport={!combinedFeesUSD}
47
46
  >
48
47
  <Box
49
48
  sx={{
@@ -56,7 +55,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
56
55
  <LocalGasStationRounded fontSize="inherit" />
57
56
  </IconTypography>
58
57
  <Typography
59
- data-value={hasRelayerSupport ? 0 : combinedFeesUSD}
58
+ data-value={combinedFeesUSD}
60
59
  sx={{
61
60
  fontSize: 14,
62
61
  color: 'text.primary',
@@ -64,7 +63,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
64
63
  lineHeight: 1,
65
64
  }}
66
65
  >
67
- {hasRelayerSupport || !combinedFeesUSD
66
+ {!combinedFeesUSD
68
67
  ? t('main.fees.free')
69
68
  : t('format.currency', {
70
69
  value: combinedFeesUSD,
@@ -1,5 +1,5 @@
1
1
  import type { LiFiStep, StepExtended } from '@lifi/sdk'
2
- import { isRelayerStep } from '@lifi/sdk'
2
+ import { isGaslessStep } from '@lifi/sdk'
3
3
  import ArrowForward from '@mui/icons-material/ArrowForward'
4
4
  import ExpandLess from '@mui/icons-material/ExpandLess'
5
5
  import ExpandMore from '@mui/icons-material/ExpandMore'
@@ -163,7 +163,7 @@ const IncludedSteps: React.FC<IncludedStepsProps> = ({ step }) => {
163
163
  ) : null
164
164
  }
165
165
 
166
- const hasRelayerSupport = isRelayerStep(step)
166
+ const hasGaslessSupport = isGaslessStep(step)
167
167
 
168
168
  return (
169
169
  <Box
@@ -195,7 +195,7 @@ const IncludedSteps: React.FC<IncludedStepsProps> = ({ step }) => {
195
195
  <ProtocolStepDetailsLabel
196
196
  step={step}
197
197
  feeConfig={feeConfig}
198
- relayerSupport={hasRelayerSupport}
198
+ relayerSupport={hasGaslessSupport}
199
199
  />
200
200
  ) : (
201
201
  <SwapStepDetailsLabel step={step} />
@@ -56,7 +56,6 @@ export const TokenList: FC<TokenListProps> = memo(
56
56
  tokens,
57
57
  })
58
58
  }
59
- // eslint-disable-next-line react-hooks/exhaustive-deps
60
59
  }, [tokenSearchFilter, tokens, emitter])
61
60
 
62
61
  return (
@@ -1,5 +1,5 @@
1
1
  import type { RouteExtended } from '@lifi/sdk'
2
- import { isRelayerStep } from '@lifi/sdk'
2
+ import { isGaslessStep } from '@lifi/sdk'
3
3
  import ExpandLess from '@mui/icons-material/ExpandLess'
4
4
  import ExpandMore from '@mui/icons-material/ExpandMore'
5
5
  import LocalGasStationRounded from '@mui/icons-material/LocalGasStationRounded'
@@ -71,10 +71,10 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
71
71
  ) ?? 0
72
72
  }
73
73
 
74
- const hasRelayerSupport = route.steps.every(isRelayerStep)
74
+ const hasGaslessSupport = route.steps.every((step) => isGaslessStep(step))
75
75
 
76
76
  const showIntegratorFeeCollectionDetails =
77
- (feeAmountUSD || Number.isFinite(feeConfig?.fee)) && !hasRelayerSupport
77
+ (feeAmountUSD || Number.isFinite(feeConfig?.fee)) && !hasGaslessSupport
78
78
 
79
79
  return (
80
80
  <Card selectionColor="secondary" {...props}>
@@ -100,7 +100,7 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
100
100
  <FeeBreakdownTooltip
101
101
  gasCosts={gasCosts}
102
102
  feeCosts={feeCosts}
103
- relayerSupport={hasRelayerSupport}
103
+ relayerSupport={hasGaslessSupport}
104
104
  >
105
105
  <Box
106
106
  onClick={toggleCard}
@@ -116,7 +116,7 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
116
116
  <LocalGasStationRounded fontSize="inherit" />
117
117
  </IconTypography>
118
118
  <Typography
119
- data-value={hasRelayerSupport ? 0 : combinedFeesUSD}
119
+ data-value={combinedFeesUSD}
120
120
  sx={{
121
121
  fontSize: 14,
122
122
  color: 'text.primary',
@@ -124,7 +124,7 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
124
124
  lineHeight: 1.429,
125
125
  }}
126
126
  >
127
- {hasRelayerSupport || !combinedFeesUSD
127
+ {!combinedFeesUSD
128
128
  ? t('main.fees.free')
129
129
  : t('format.currency', { value: combinedFeesUSD })}
130
130
  </Typography>
@@ -156,13 +156,13 @@ export const TransactionDetails: React.FC<TransactionDetailsProps> = ({
156
156
  <Typography variant="body2">{t('main.fees.network')}</Typography>
157
157
  <FeeBreakdownTooltip
158
158
  gasCosts={gasCosts}
159
- relayerSupport={hasRelayerSupport}
159
+ relayerSupport={hasGaslessSupport}
160
160
  >
161
161
  <Typography
162
162
  variant="body2"
163
163
  sx={{ fontWeight: 600, cursor: 'help' }}
164
164
  >
165
- {hasRelayerSupport || !gasCostUSD
165
+ {!gasCostUSD
166
166
  ? t('main.fees.free')
167
167
  : t('format.currency', {
168
168
  value: gasCostUSD,
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.30.11'
2
+ export const version = '3.30.13'
@@ -1,6 +1,7 @@
1
1
  import { type ChainId, getGasRecommendation } from '@lifi/sdk'
2
2
  import { useQuery } from '@tanstack/react-query'
3
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
4
+ import { HiddenUI } from '../types/widget.js'
4
5
  import { getQueryKey } from '../utils/queries.js'
5
6
  import { useAvailableChains } from './useAvailableChains.js'
6
7
 
@@ -12,7 +13,7 @@ export const useGasRecommendation = (
12
13
  fromToken?: string
13
14
  ) => {
14
15
  const { chains } = useAvailableChains()
15
- const { keyPrefix } = useWidgetConfig()
16
+ const { keyPrefix, hiddenUI } = useWidgetConfig()
16
17
 
17
18
  const checkRecommendationLiFuel =
18
19
  Boolean(toChainId) &&
@@ -47,7 +48,9 @@ export const useGasRecommendation = (
47
48
  )
48
49
  return gasRecommendation
49
50
  },
50
- enabled: checkRecommendationLiFuel || checkRecommendationMaxButton,
51
+ enabled:
52
+ (checkRecommendationLiFuel || checkRecommendationMaxButton) &&
53
+ !hiddenUI?.includes(HiddenUI.GasRefuelMessage),
51
54
  refetchInterval,
52
55
  staleTime: refetchInterval,
53
56
  })
@@ -1,6 +1,8 @@
1
1
  import { useAccount } from '@lifi/wallet-management'
2
2
  import { useMemo } from 'react'
3
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
3
4
  import { useFieldValues } from '../stores/form/useFieldValues.js'
5
+ import { HiddenUI } from '../types/widget.js'
4
6
  import { useAvailableChains } from './useAvailableChains.js'
5
7
  import { useGasRecommendation } from './useGasRecommendation.js'
6
8
  import { useIsContractAddress } from './useIsContractAddress.js'
@@ -8,7 +10,7 @@ import { useTokenBalance } from './useTokenBalance.js'
8
10
 
9
11
  export const useGasRefuel = () => {
10
12
  const { getChainById } = useAvailableChains()
11
-
13
+ const { hiddenUI } = useWidgetConfig()
12
14
  const [fromChainId, fromTokenAddress, toChainId, toAddress] = useFieldValues(
13
15
  'fromChain',
14
16
  'fromToken',
@@ -56,7 +58,8 @@ export const useGasRefuel = () => {
56
58
  !gasRecommendation?.recommended ||
57
59
  !destinationNativeToken ||
58
60
  !isChainTypeSatisfied ||
59
- !isToAddressSatisfied
61
+ !isToAddressSatisfied ||
62
+ hiddenUI?.includes(HiddenUI.GasRefuelMessage)
60
63
  ) {
61
64
  return false
62
65
  }
@@ -74,6 +77,7 @@ export const useGasRefuel = () => {
74
77
  isToAddressSatisfied,
75
78
  destinationNativeToken,
76
79
  toChainId,
80
+ hiddenUI,
77
81
  ])
78
82
 
79
83
  return {
@@ -1,5 +1,5 @@
1
1
  import type { EVMChain, RouteExtended, Token, TokenAmount } from '@lifi/sdk'
2
- import { ChainType, isRelayerStep } from '@lifi/sdk'
2
+ import { ChainType } from '@lifi/sdk'
3
3
  import { useAccount } from '@lifi/wallet-management'
4
4
  import { useQuery } from '@tanstack/react-query'
5
5
  import { useMemo } from 'react'
@@ -73,7 +73,6 @@ export const useGasSufficiency = (route?: RouteExtended) => {
73
73
  // Filter out steps that are relayer steps or have primaryType 'Permit' or 'Order'
74
74
  const filteredSteps = route.steps.filter(
75
75
  (step) =>
76
- !isRelayerStep(step) &&
77
76
  !step.typedData?.some(
78
77
  (t) => t.primaryType === 'Permit' || t.primaryType === 'Order'
79
78
  )