@lifi/widget 3.28.0 → 3.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +1 -0
  3. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  4. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +2 -1
  5. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  6. package/dist/esm/components/ChainSelect/ChainSelect.d.ts +1 -1
  7. package/dist/esm/components/ChainSelect/ChainSelect.js +20 -24
  8. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  9. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +3 -0
  10. package/dist/esm/components/ChainSelect/ChainSelect.style.js +40 -3
  11. package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -1
  12. package/dist/esm/components/Header/WalletHeader.js +3 -1
  13. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  14. package/dist/esm/components/Search/SearchInput.style.js +3 -0
  15. package/dist/esm/components/Search/SearchInput.style.js.map +1 -1
  16. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +7 -0
  17. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  18. package/dist/esm/components/Step/CircularProgress.js +2 -1
  19. package/dist/esm/components/Step/CircularProgress.js.map +1 -1
  20. package/dist/esm/components/Step/CircularProgress.style.js +7 -1
  21. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  22. package/dist/esm/components/Timer/StepTimer.js +2 -1
  23. package/dist/esm/components/Timer/StepTimer.js.map +1 -1
  24. package/dist/esm/config/version.d.ts +1 -1
  25. package/dist/esm/config/version.js +1 -1
  26. package/dist/esm/hooks/useInternalWalletProvider.d.ts +1 -0
  27. package/dist/esm/hooks/useInternalWalletProvider.js +6 -0
  28. package/dist/esm/hooks/useInternalWalletProvider.js.map +1 -0
  29. package/dist/esm/hooks/useProcessMessage.js +2 -5
  30. package/dist/esm/hooks/useProcessMessage.js.map +1 -1
  31. package/dist/esm/hooks/useRouteExecution.js +4 -2
  32. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  33. package/dist/esm/i18n/bn.json +2 -4
  34. package/dist/esm/i18n/de.json +2 -4
  35. package/dist/esm/i18n/en.json +2 -4
  36. package/dist/esm/i18n/es.json +2 -4
  37. package/dist/esm/i18n/fr.json +2 -4
  38. package/dist/esm/i18n/hi.json +2 -4
  39. package/dist/esm/i18n/id.json +2 -4
  40. package/dist/esm/i18n/it.json +2 -4
  41. package/dist/esm/i18n/ja.json +2 -4
  42. package/dist/esm/i18n/ko.json +2 -4
  43. package/dist/esm/i18n/pl.json +2 -4
  44. package/dist/esm/i18n/pt.json +2 -4
  45. package/dist/esm/i18n/th.json +2 -4
  46. package/dist/esm/i18n/tr.json +2 -4
  47. package/dist/esm/i18n/uk.json +2 -4
  48. package/dist/esm/i18n/vi.json +2 -4
  49. package/dist/esm/i18n/zh.json +2 -4
  50. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +12 -5
  51. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  52. package/dist/esm/providers/WalletProvider/EVMProvider.js +3 -1
  53. package/dist/esm/providers/WalletProvider/EVMProvider.js.map +1 -1
  54. package/dist/esm/providers/WalletProvider/SVMBaseProvider.d.ts +1 -1
  55. package/dist/esm/providers/WalletProvider/SVMBaseProvider.js +18 -14
  56. package/dist/esm/providers/WalletProvider/SVMBaseProvider.js.map +1 -1
  57. package/dist/esm/providers/WalletProvider/SVMProvider.js +3 -1
  58. package/dist/esm/providers/WalletProvider/SVMProvider.js.map +1 -1
  59. package/dist/esm/providers/WalletProvider/SuiProvider.js +3 -1
  60. package/dist/esm/providers/WalletProvider/SuiProvider.js.map +1 -1
  61. package/dist/esm/providers/WalletProvider/UTXOProvider.js +3 -1
  62. package/dist/esm/providers/WalletProvider/UTXOProvider.js.map +1 -1
  63. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +4 -1
  64. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -1
  65. package/dist/esm/stores/routes/createRouteExecutionStore.js +0 -13
  66. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  67. package/dist/esm/stores/routes/types.d.ts +0 -1
  68. package/dist/esm/stores/routes/types.js.map +1 -1
  69. package/dist/esm/types/widget.d.ts +7 -1
  70. package/dist/esm/types/widget.js +1 -0
  71. package/dist/esm/types/widget.js.map +1 -1
  72. package/package.json +10 -10
  73. package/package.json.tmp +9 -9
  74. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +1 -0
  75. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +4 -1
  76. package/src/components/ChainSelect/ChainSelect.style.tsx +43 -3
  77. package/src/components/ChainSelect/ChainSelect.tsx +32 -39
  78. package/src/components/Header/WalletHeader.tsx +5 -1
  79. package/src/components/Search/SearchInput.style.tsx +3 -0
  80. package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +7 -0
  81. package/src/components/Step/CircularProgress.style.tsx +7 -3
  82. package/src/components/Step/CircularProgress.tsx +2 -1
  83. package/src/components/Timer/StepTimer.tsx +2 -1
  84. package/src/config/version.ts +1 -1
  85. package/src/hooks/useInternalWalletProvider.ts +6 -0
  86. package/src/hooks/useProcessMessage.ts +2 -5
  87. package/src/hooks/useRouteExecution.ts +4 -4
  88. package/src/i18n/bn.json +2 -4
  89. package/src/i18n/de.json +2 -4
  90. package/src/i18n/en.json +2 -4
  91. package/src/i18n/es.json +2 -4
  92. package/src/i18n/fr.json +2 -4
  93. package/src/i18n/hi.json +2 -4
  94. package/src/i18n/id.json +2 -4
  95. package/src/i18n/it.json +2 -4
  96. package/src/i18n/ja.json +2 -4
  97. package/src/i18n/ko.json +2 -4
  98. package/src/i18n/pl.json +2 -4
  99. package/src/i18n/pt.json +2 -4
  100. package/src/i18n/th.json +2 -4
  101. package/src/i18n/tr.json +2 -4
  102. package/src/i18n/uk.json +2 -4
  103. package/src/i18n/vi.json +2 -4
  104. package/src/i18n/zh.json +2 -4
  105. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +25 -10
  106. package/src/providers/WalletProvider/EVMProvider.tsx +5 -3
  107. package/src/providers/WalletProvider/SVMBaseProvider.tsx +19 -16
  108. package/src/providers/WalletProvider/SVMProvider.tsx +5 -3
  109. package/src/providers/WalletProvider/SuiProvider.tsx +5 -3
  110. package/src/providers/WalletProvider/UTXOProvider.tsx +5 -3
  111. package/src/providers/WalletProvider/useExternalWalletProvider.ts +4 -1
  112. package/src/stores/routes/createRouteExecutionStore.ts +0 -13
  113. package/src/stores/routes/types.ts +0 -1
  114. package/src/types/widget.ts +6 -0
package/src/i18n/bn.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "সোওয়াপ সম্পন্ন হয়েছে",
262
264
  "pending": "",
263
265
  "started": "সোয়াপ লেনদেন প্রস্তুত করা হচ্ছে"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/de.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Swap abgeschlossen",
262
264
  "pending": "",
263
265
  "started": "Swap vorbereiten"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/en.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "Sign bridge transaction",
243
+ "messageRequired": "Sign bridge message",
243
244
  "done": "Bridge transaction confirmed",
244
245
  "pending": "Bridge transaction pending",
245
246
  "started": "Preparing bridge transaction"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "Sign swap transaction",
262
+ "messageRequired": "Sign swap message",
261
263
  "done": "Swap completed",
262
264
  "pending": "Swap transaction pending",
263
265
  "started": "Preparing swap transaction"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "Confirm chain switch",
267
- "done": "Chain switched"
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "Sign permit message",
271
269
  "done": "Permit message signed",
package/src/i18n/es.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "Transacción de puente confirmada",
244
245
  "pending": "",
245
246
  "started": "Preparando transacción de puente"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Swap completado.",
262
264
  "pending": "",
263
265
  "started": "Preparando transacción de intercambio"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/fr.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "Transaction Bridge confirmée",
244
245
  "pending": "",
245
246
  "started": "Préparation de la transaction bridge"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Échange terminé.",
262
264
  "pending": "",
263
265
  "started": "Préparation de la transaction d'échange"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/hi.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "",
262
264
  "pending": "",
263
265
  "started": ""
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/id.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "Mempersiapkan transaksi bridge",
243
+ "messageRequired": "",
243
244
  "done": "Tranksaksi bridge dikonfirmasi",
244
245
  "pending": "Transaksi bridge tertunda",
245
246
  "started": "Mempersiapkan transaksi bridge"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "Mempersiapkan transaksi bridge",
262
+ "messageRequired": "",
261
263
  "done": "Swap selesai",
262
264
  "pending": "Transaksi swap tertunda",
263
265
  "started": "Mempersiapkan transaksi swap"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "Konfirmasikan pergantian rantai",
267
- "done": "Rantai beralih"
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "Tanda tangani pesan izin",
271
269
  "done": "Permit tertandatangani",
package/src/i18n/it.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Scambio completato",
262
264
  "pending": "",
263
265
  "started": "Preparazione dello scambio"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/ja.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "ブリッジのトランザクションが確認されました",
244
245
  "pending": "",
245
246
  "started": "ブリッジのトランザクションを準備中"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "スワップ完了",
262
264
  "pending": "",
263
265
  "started": "スワップのトランザクションを準備中"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/ko.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "스왑 완료",
262
264
  "pending": "",
263
265
  "started": "스왑 트랜잭션 준비 중"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/pl.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "",
244
245
  "pending": "",
245
246
  "started": ""
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "",
262
264
  "pending": "",
263
265
  "started": ""
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/pt.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "Assinar a transação de transferência de fundos entre redes",
243
+ "messageRequired": "",
243
244
  "done": "Transação da ponte confirmada",
244
245
  "pending": "Transação de transferência de fundos entre redes, pendente",
245
246
  "started": "Preparando a transação da ponte"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "Assinar transação de troca",
262
+ "messageRequired": "",
261
263
  "done": "Conversão concluída",
262
264
  "pending": "Transação de troca pendente",
263
265
  "started": "Preparando a transação de conversão"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "Confirmar troca de rede",
267
- "done": "Rede alterada"
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "Assinar mensagem de permissão",
271
269
  "done": "Mensagem de permissão assinada",
package/src/i18n/th.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "ธุรกรรมข้ามเชนได้รับการยืนยันแล้ว",
244
245
  "pending": "",
245
246
  "started": "เตรียมการทำรายการบริดจ์"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "การแลกเปลี่ยนเสร็จสมบูรณ์",
262
264
  "pending": "",
263
265
  "started": "กำลังเตรียมการแลกเปลี่ยนธุรกรรม"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/tr.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "Köprü işlemi teyit edildi",
244
245
  "pending": "",
245
246
  "started": "Köprü işlemi hazırlanıyor"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Takas işlemi tamamlandı",
262
264
  "pending": "",
263
265
  "started": "Takas işlemi hazırlanıyor"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/uk.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "Підпишіть бридж транзакцію",
243
+ "messageRequired": "",
243
244
  "done": "Бридж транзакцію схвалено",
244
245
  "pending": "Очікування бридж операції",
245
246
  "started": "Підготовка бридж транзакції"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "Підпишіть своп транзакцію",
262
+ "messageRequired": "",
261
263
  "done": "Своп завершено",
262
264
  "pending": "Очікування своп операції",
263
265
  "started": "Підготовка своп транзакції"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "Підтвердіть перемикання чейна",
267
- "done": "Чейн перемкнено"
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "Підпишіть дозвіл на витрати",
271
269
  "done": "Дозвіл на витрати підписано",
package/src/i18n/vi.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "Giao dịch cầu đã được xác nhận",
244
245
  "pending": "",
245
246
  "started": "Chuẩn bị giao dịch cầu"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "Lệnh swap đã hoàn tất",
262
264
  "pending": "",
263
265
  "started": "Đang chuẩn bị giao dịch Swap"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
package/src/i18n/zh.json CHANGED
@@ -240,6 +240,7 @@
240
240
  "process": {
241
241
  "bridge": {
242
242
  "actionRequired": "",
243
+ "messageRequired": "",
243
244
  "done": "跨链交易已确认",
244
245
  "pending": "",
245
246
  "started": "准备执行跨链交易"
@@ -258,14 +259,11 @@
258
259
  },
259
260
  "swap": {
260
261
  "actionRequired": "",
262
+ "messageRequired": "",
261
263
  "done": "兑换完成",
262
264
  "pending": "",
263
265
  "started": "准备兑换"
264
266
  },
265
- "switchChain": {
266
- "actionRequired": "",
267
- "done": ""
268
- },
269
267
  "permit": {
270
268
  "actionRequired": "",
271
269
  "done": "",
@@ -1,4 +1,4 @@
1
- import { Box } from '@mui/material'
1
+ import { Box, type Theme, useMediaQuery } from '@mui/material'
2
2
  import type { FC, RefObject } from 'react'
3
3
  import { useRef } from 'react'
4
4
  import { useTranslation } from 'react-i18next'
@@ -41,27 +41,42 @@ export const SelectTokenPage: FC<FormTypeProps> = ({ formType }) => {
41
41
  (swapOnly && formType === 'to') ||
42
42
  hiddenUI?.includes(HiddenUI.ChainSelect)
43
43
 
44
+ const isMobile = useMediaQuery((theme: Theme) =>
45
+ theme.breakpoints.down(theme.breakpoints.values.xs)
46
+ )
47
+ const hideSearchTokenInput = hiddenUI?.includes(HiddenUI.SearchTokenInput)
48
+
49
+ const hasHeader = !hideChainSelect || !hideSearchTokenInput
50
+
44
51
  return (
45
52
  <FullPageContainer disableGutters>
46
53
  <Box
47
54
  ref={headerRef}
48
55
  sx={{
49
- pb: 2,
56
+ pb: hasHeader ? 2 : 0,
50
57
  px: 3,
51
58
  }}
52
59
  >
53
60
  {!hideChainSelect ? <ChainSelect formType={formType} /> : null}
54
- <Box
55
- sx={{
56
- mt: !hideChainSelect ? 2 : 0,
57
- }}
58
- >
59
- <SearchTokenInput />
60
- </Box>
61
+ {!hideSearchTokenInput && (
62
+ <Box
63
+ sx={{
64
+ mt: !hideChainSelect ? 2 : 0,
65
+ }}
66
+ >
67
+ <SearchTokenInput />
68
+ </Box>
69
+ )}
61
70
  </Box>
62
71
  <WrappedTokenList
63
72
  // Rerender component if variant changes (since chains tiles change height)
64
- key={hideChainSelect ? 'without-offset' : 'with-offset'}
73
+ key={
74
+ hideChainSelect
75
+ ? 'without-offset'
76
+ : isMobile
77
+ ? 'with-offset-mobile'
78
+ : 'with-offset'
79
+ }
65
80
  headerRef={headerRef}
66
81
  formType={formType}
67
82
  />
@@ -1,6 +1,7 @@
1
1
  import { ChainType } from '@lifi/sdk'
2
2
  import { type FC, type PropsWithChildren, useContext } from 'react'
3
3
  import { WagmiContext } from 'wagmi'
4
+ import { useInternalWalletProvider } from '../../hooks/useInternalWalletProvider.js'
4
5
  import { isItemAllowed } from '../../utils/item.js'
5
6
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
6
7
  import { EVMBaseProvider } from './EVMBaseProvider.js'
@@ -15,12 +16,13 @@ export function useInWagmiContext(): boolean {
15
16
 
16
17
  export const EVMProvider: FC<PropsWithChildren> = ({ children }) => {
17
18
  const inWagmiContext = useInWagmiContext()
19
+ const useInternalWallet = useInternalWalletProvider(inWagmiContext)
18
20
 
19
- return inWagmiContext ? (
21
+ return useInternalWallet ? (
22
+ <EVMBaseProvider>{children}</EVMBaseProvider>
23
+ ) : (
20
24
  <EVMExternalContext.Provider value={inWagmiContext}>
21
25
  {children}
22
26
  </EVMExternalContext.Provider>
23
- ) : (
24
- <EVMBaseProvider>{children}</EVMBaseProvider>
25
27
  )
26
28
  }
@@ -6,24 +6,27 @@ import {
6
6
  WalletProvider,
7
7
  } from '@solana/wallet-adapter-react'
8
8
  import { clusterApiUrl } from '@solana/web3.js'
9
- import type { FC, PropsWithChildren } from 'react'
10
-
11
- const endpoint = clusterApiUrl(WalletAdapterNetwork.Mainnet)
12
- /**
13
- * Wallets that implement either of these standards will be available automatically.
14
- *
15
- * - Solana Mobile Stack Mobile Wallet Adapter Protocol
16
- * (https://github.com/solana-mobile/mobile-wallet-adapter)
17
- * - Solana Wallet Standard
18
- * (https://github.com/solana-labs/wallet-standard)
19
- *
20
- * If you wish to support a wallet that supports neither of those standards,
21
- * instantiate its legacy wallet adapter here. Common legacy adapters can be found
22
- * in the npm package `@solana/wallet-adapter-wallets`.
23
- */
24
- const wallets: Adapter[] = [new CoinbaseWalletAdapter()]
9
+ import { type FC, type PropsWithChildren, useMemo } from 'react'
25
10
 
26
11
  export const SVMBaseProvider: FC<PropsWithChildren> = ({ children }) => {
12
+ const [endpoint, wallets] = useMemo(() => {
13
+ const endpoint = clusterApiUrl(WalletAdapterNetwork.Mainnet)
14
+ /**
15
+ * Wallets that implement either of these standards will be available automatically.
16
+ *
17
+ * - Solana Mobile Stack Mobile Wallet Adapter Protocol
18
+ * (https://github.com/solana-mobile/mobile-wallet-adapter)
19
+ * - Solana Wallet Standard
20
+ * (https://github.com/solana-labs/wallet-standard)
21
+ *
22
+ * If you wish to support a wallet that supports neither of those standards,
23
+ * instantiate its legacy wallet adapter here. Common legacy adapters can be found
24
+ * in the npm package `@solana/wallet-adapter-wallets`.
25
+ */
26
+ const wallets: Adapter[] = [new CoinbaseWalletAdapter()]
27
+ return [endpoint, wallets]
28
+ }, [])
29
+
27
30
  return (
28
31
  <ConnectionProvider endpoint={endpoint}>
29
32
  <WalletProvider wallets={wallets} autoConnect>
@@ -1,6 +1,7 @@
1
1
  import { ChainType } from '@lifi/sdk'
2
2
  import { ConnectionContext } from '@solana/wallet-adapter-react'
3
3
  import { type FC, type PropsWithChildren, useContext } from 'react'
4
+ import { useInternalWalletProvider } from '../../hooks/useInternalWalletProvider.js'
4
5
  import { isItemAllowed } from '../../utils/item.js'
5
6
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
6
7
  import { SVMBaseProvider } from './SVMBaseProvider.js'
@@ -16,12 +17,13 @@ export function useInSolanaContext(): boolean {
16
17
 
17
18
  export const SVMProvider: FC<PropsWithChildren> = ({ children }) => {
18
19
  const inSolanaContext = useInSolanaContext()
20
+ const useInternalWallet = useInternalWalletProvider(inSolanaContext)
19
21
 
20
- return inSolanaContext ? (
22
+ return useInternalWallet ? (
23
+ <SVMBaseProvider>{children}</SVMBaseProvider>
24
+ ) : (
21
25
  <SVMExternalContext.Provider value={inSolanaContext}>
22
26
  {children}
23
27
  </SVMExternalContext.Provider>
24
- ) : (
25
- <SVMBaseProvider>{children}</SVMBaseProvider>
26
28
  )
27
29
  }
@@ -1,6 +1,7 @@
1
1
  import { ChainType } from '@lifi/sdk'
2
2
  import { SuiClientContext } from '@mysten/dapp-kit'
3
3
  import { type FC, type PropsWithChildren, useContext } from 'react'
4
+ import { useInternalWalletProvider } from '../../hooks/useInternalWalletProvider.js'
4
5
  import { isItemAllowed } from '../../utils/item.js'
5
6
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
6
7
  import { SuiBaseProvider } from './SuiBaseProvider.js'
@@ -15,12 +16,13 @@ export function useInSuiContext(): boolean {
15
16
 
16
17
  export const SuiProvider: FC<PropsWithChildren> = ({ children }) => {
17
18
  const inSuiContext = useInSuiContext()
19
+ const useInternalWallet = useInternalWalletProvider(inSuiContext)
18
20
 
19
- return inSuiContext ? (
21
+ return useInternalWallet ? (
22
+ <SuiBaseProvider>{children}</SuiBaseProvider>
23
+ ) : (
20
24
  <SuiExternalContext.Provider value={inSuiContext}>
21
25
  {children}
22
26
  </SuiExternalContext.Provider>
23
- ) : (
24
- <SuiBaseProvider>{children}</SuiBaseProvider>
25
27
  )
26
28
  }
@@ -1,6 +1,7 @@
1
1
  import { BigmiContext } from '@bigmi/react'
2
2
  import { ChainType } from '@lifi/sdk'
3
3
  import { type FC, type PropsWithChildren, useContext } from 'react'
4
+ import { useInternalWalletProvider } from '../../hooks/useInternalWalletProvider.js'
4
5
  import { isItemAllowed } from '../../utils/item.js'
5
6
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
6
7
  import { UTXOBaseProvider } from './UTXOBaseProvider.js'
@@ -15,12 +16,13 @@ export function useInBigmiContext(): boolean {
15
16
 
16
17
  export const UTXOProvider: FC<PropsWithChildren> = ({ children }) => {
17
18
  const inBigmiContext = useInBigmiContext()
19
+ const useInternalWallet = useInternalWalletProvider(inBigmiContext)
18
20
 
19
- return inBigmiContext ? (
21
+ return useInternalWallet ? (
22
+ <UTXOBaseProvider>{children}</UTXOBaseProvider>
23
+ ) : (
20
24
  <UTXOExternalContext.Provider value={inBigmiContext}>
21
25
  {children}
22
26
  </UTXOExternalContext.Provider>
23
- ) : (
24
- <UTXOBaseProvider>{children}</UTXOBaseProvider>
25
27
  )
26
28
  }
@@ -46,7 +46,9 @@ export function useExternalWalletProvider(): ExternalWalletProvider {
46
46
  hasExternalSuiContext
47
47
 
48
48
  const useExternalWalletProvidersOnly =
49
- hasExternalProvider && !walletConfig?.usePartialWalletManagement
49
+ hasExternalProvider &&
50
+ !walletConfig?.usePartialWalletManagement &&
51
+ !walletConfig?.forceInternalWalletManagement
50
52
  return {
51
53
  useExternalWalletProvidersOnly,
52
54
  externalChainTypes: providers,
@@ -60,6 +62,7 @@ export function useExternalWalletProvider(): ExternalWalletProvider {
60
62
  hasExternalUTXOContext,
61
63
  hasExternalSuiContext,
62
64
  walletConfig?.usePartialWalletManagement,
65
+ walletConfig?.forceInternalWalletManagement,
63
66
  ])
64
67
 
65
68
  return data
@@ -86,19 +86,6 @@ export const createRouteExecutionStore = ({ namePrefix }: PersistStoreProps) =>
86
86
  })
87
87
  }
88
88
  },
89
- restartRoute: (routeId: string) => {
90
- if (get().routes[routeId]) {
91
- set((state: RouteExecutionState) => ({
92
- routes: {
93
- ...state.routes,
94
- [routeId]: {
95
- ...state.routes[routeId]!,
96
- status: RouteExecutionStatus.Pending,
97
- },
98
- },
99
- }))
100
- }
101
- },
102
89
  deleteRoute: (routeId: string) => {
103
90
  if (get().routes[routeId]) {
104
91
  set((state: RouteExecutionState) => {