@lifi/widget 3.13.1 → 3.14.0-beta.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 (200) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +10 -5
  3. package/dist/esm/AppDrawer.style.d.ts +1 -3
  4. package/dist/esm/AppRoutes.d.ts +1 -1
  5. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +1 -0
  6. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  7. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +3 -9
  8. package/dist/esm/components/AlertMessage/AlertMessage.style.d.ts +2 -6
  9. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +2 -6
  10. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +2 -6
  11. package/dist/esm/components/AppContainer.d.ts +3 -9
  12. package/dist/esm/components/Avatar/Avatar.style.d.ts +6 -18
  13. package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -3
  14. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +2 -2
  15. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  16. package/dist/esm/components/ButtonTertiary.d.ts +1 -3
  17. package/dist/esm/components/ButtonTertiary.js +4 -5
  18. package/dist/esm/components/ButtonTertiary.js.map +1 -1
  19. package/dist/esm/components/Card/Card.d.ts +1 -3
  20. package/dist/esm/components/Card/CardButton.style.d.ts +4 -12
  21. package/dist/esm/components/Card/CardHeader.d.ts +1 -3
  22. package/dist/esm/components/Card/CardIconButton.d.ts +1 -3
  23. package/dist/esm/components/Card/CardLabel.d.ts +2 -6
  24. package/dist/esm/components/Card/CardLabel.js +0 -1
  25. package/dist/esm/components/Card/CardLabel.js.map +1 -1
  26. package/dist/esm/components/Card/CardTitle.d.ts +1 -3
  27. package/dist/esm/components/Card/InputCard.d.ts +1 -3
  28. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +2 -6
  29. package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -3
  30. package/dist/esm/components/Header/Header.style.d.ts +6 -18
  31. package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -6
  32. package/dist/esm/components/IconTypography.d.ts +1 -3
  33. package/dist/esm/components/ListItem/ListItem.d.ts +1 -3
  34. package/dist/esm/components/ListItem/ListItemButton.d.ts +1 -3
  35. package/dist/esm/components/ListItemButton.d.ts +1 -3
  36. package/dist/esm/components/PageContainer.d.ts +1 -3
  37. package/dist/esm/components/PoweredBy/PoweredBy.style.d.ts +1 -3
  38. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +3 -9
  39. package/dist/esm/components/RouteCard/RouteCard.js +13 -4
  40. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  41. package/dist/esm/components/RouteCard/RouteCard.style.d.ts +1 -3
  42. package/dist/esm/components/RouteCard/getMatchingLabels.d.ts +3 -0
  43. package/dist/esm/components/RouteCard/getMatchingLabels.js +34 -0
  44. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
  45. package/dist/esm/components/Routes/RoutesExpanded.js +1 -1
  46. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  47. package/dist/esm/components/Routes/RoutesExpanded.style.d.ts +4 -12
  48. package/dist/esm/components/Search/SearchInput.style.d.ts +2 -6
  49. package/dist/esm/components/Search/SearchNotFound.style.d.ts +3 -9
  50. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +3 -9
  51. package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -3
  52. package/dist/esm/components/SettingsListItemButton.d.ts +1 -3
  53. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +11 -33
  54. package/dist/esm/components/Step/CircularProgress.js +2 -1
  55. package/dist/esm/components/Step/CircularProgress.js.map +1 -1
  56. package/dist/esm/components/Step/CircularProgress.style.d.ts +1 -3
  57. package/dist/esm/components/Step/CircularProgress.style.js +13 -2
  58. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  59. package/dist/esm/components/Step/Step.js +17 -8
  60. package/dist/esm/components/Step/Step.js.map +1 -1
  61. package/dist/esm/components/Step/StepProcess.js +2 -1
  62. package/dist/esm/components/Step/StepProcess.js.map +1 -1
  63. package/dist/esm/components/Step/StepTimer.js +2 -1
  64. package/dist/esm/components/Step/StepTimer.js.map +1 -1
  65. package/dist/esm/components/StepActions/StepActions.style.d.ts +3 -9
  66. package/dist/esm/components/StepDivider/StepDivider.style.d.ts +1 -3
  67. package/dist/esm/components/Tabs/Tabs.style.d.ts +3 -9
  68. package/dist/esm/components/Token/Token.style.d.ts +3 -9
  69. package/dist/esm/components/TokenList/TokenList.style.d.ts +3 -9
  70. package/dist/esm/components/TokenList/TokenListItem.js +1 -1
  71. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  72. package/dist/esm/components/TokenRate/TokenRate.style.d.ts +1 -3
  73. package/dist/esm/config/version.d.ts +1 -1
  74. package/dist/esm/config/version.js +1 -1
  75. package/dist/esm/config/version.js.map +1 -1
  76. package/dist/esm/hooks/timer/useInterval.js +1 -1
  77. package/dist/esm/hooks/timer/useInterval.js.map +1 -1
  78. package/dist/esm/hooks/useDebouncedWatch.js +1 -1
  79. package/dist/esm/hooks/useDebouncedWatch.js.map +1 -1
  80. package/dist/esm/hooks/useProcessMessage.js +18 -6
  81. package/dist/esm/hooks/useProcessMessage.js.map +1 -1
  82. package/dist/esm/hooks/useRoutes.d.ts +2 -2
  83. package/dist/esm/hooks/useRoutes.js +99 -58
  84. package/dist/esm/hooks/useRoutes.js.map +1 -1
  85. package/dist/esm/hooks/useSetContentHeight.d.ts +1 -1
  86. package/dist/esm/hooks/useSetContentHeight.js.map +1 -1
  87. package/dist/esm/i18n/bn.json +5 -1
  88. package/dist/esm/i18n/de.json +5 -1
  89. package/dist/esm/i18n/en.json +14 -10
  90. package/dist/esm/i18n/es.json +5 -1
  91. package/dist/esm/i18n/fr.json +5 -1
  92. package/dist/esm/i18n/hi.json +5 -1
  93. package/dist/esm/i18n/id.json +5 -1
  94. package/dist/esm/i18n/it.json +5 -1
  95. package/dist/esm/i18n/ja.json +5 -1
  96. package/dist/esm/i18n/ko.json +5 -1
  97. package/dist/esm/i18n/pt.json +5 -1
  98. package/dist/esm/i18n/th.json +5 -1
  99. package/dist/esm/i18n/tr.json +5 -1
  100. package/dist/esm/i18n/uk.json +5 -1
  101. package/dist/esm/i18n/vi.json +5 -1
  102. package/dist/esm/i18n/zh.json +5 -1
  103. package/dist/esm/pages/MainPage/MainPage.style.d.ts +1 -3
  104. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +1 -3
  105. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +1 -2
  106. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  107. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  108. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +15 -45
  109. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.d.ts +1 -3
  110. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +2 -6
  111. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +3 -9
  112. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +2 -2
  113. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  114. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +1 -1
  115. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  116. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.d.ts +3 -9
  117. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
  118. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  119. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js +1 -1
  120. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js.map +1 -1
  121. package/dist/esm/providers/WalletProvider/SDKProviders.js +2 -15
  122. package/dist/esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  123. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js +1 -1
  124. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js.map +1 -1
  125. package/dist/esm/stores/bookmarks/BookmarkStore.js +1 -1
  126. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -1
  127. package/dist/esm/stores/chains/ChainOrderStore.js +1 -1
  128. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  129. package/dist/esm/stores/form/FormStore.js +1 -1
  130. package/dist/esm/stores/form/FormStore.js.map +1 -1
  131. package/dist/esm/stores/header/useHeaderStore.js +1 -1
  132. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  133. package/dist/esm/stores/routes/RouteExecutionStore.js +1 -1
  134. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
  135. package/dist/esm/stores/routes/useExecutingRoutesIds.js +2 -2
  136. package/dist/esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
  137. package/dist/esm/stores/settings/useSplitSubvariantStore.js +1 -1
  138. package/dist/esm/stores/settings/useSplitSubvariantStore.js.map +1 -1
  139. package/dist/esm/themes/createTheme.js +4 -5
  140. package/dist/esm/themes/createTheme.js.map +1 -1
  141. package/dist/esm/types/widget.d.ts +19 -1
  142. package/dist/esm/types/widget.js.map +1 -1
  143. package/package.json +13 -16
  144. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +1 -0
  145. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +3 -3
  146. package/src/components/ButtonTertiary.tsx +4 -5
  147. package/src/components/Card/CardLabel.tsx +0 -1
  148. package/src/components/RouteCard/RouteCard.tsx +19 -6
  149. package/src/components/RouteCard/getMatchingLabels.ts +53 -0
  150. package/src/components/Routes/RoutesExpanded.tsx +3 -3
  151. package/src/components/Step/CircularProgress.style.tsx +13 -2
  152. package/src/components/Step/CircularProgress.tsx +2 -1
  153. package/src/components/Step/Step.tsx +23 -12
  154. package/src/components/Step/StepProcess.tsx +2 -1
  155. package/src/components/Step/StepTimer.tsx +3 -1
  156. package/src/components/TokenList/TokenListItem.tsx +1 -1
  157. package/src/config/version.ts +1 -1
  158. package/src/hooks/timer/useInterval.ts +1 -1
  159. package/src/hooks/useDebouncedWatch.ts +1 -1
  160. package/src/hooks/useProcessMessage.ts +24 -5
  161. package/src/hooks/useRoutes.ts +127 -66
  162. package/src/hooks/useSetContentHeight.ts +1 -1
  163. package/src/i18n/bn.json +5 -1
  164. package/src/i18n/de.json +5 -1
  165. package/src/i18n/en.json +14 -10
  166. package/src/i18n/es.json +5 -1
  167. package/src/i18n/fr.json +5 -1
  168. package/src/i18n/hi.json +5 -1
  169. package/src/i18n/id.json +5 -1
  170. package/src/i18n/it.json +5 -1
  171. package/src/i18n/ja.json +5 -1
  172. package/src/i18n/ko.json +5 -1
  173. package/src/i18n/pt.json +5 -1
  174. package/src/i18n/th.json +5 -1
  175. package/src/i18n/tr.json +5 -1
  176. package/src/i18n/uk.json +5 -1
  177. package/src/i18n/vi.json +5 -1
  178. package/src/i18n/zh.json +5 -1
  179. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +2 -3
  180. package/src/pages/SendToWallet/BookmarksPage.tsx +0 -1
  181. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +2 -2
  182. package/src/pages/TransactionPage/StatusBottomSheet.tsx +1 -1
  183. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +1 -1
  184. package/src/providers/WalletProvider/EVMBaseProvider.tsx +1 -1
  185. package/src/providers/WalletProvider/SDKProviders.tsx +2 -16
  186. package/src/providers/WalletProvider/UTXOBaseProvider.tsx +1 -1
  187. package/src/stores/bookmarks/BookmarkStore.tsx +1 -1
  188. package/src/stores/chains/ChainOrderStore.tsx +1 -1
  189. package/src/stores/form/FormStore.tsx +1 -1
  190. package/src/stores/header/useHeaderStore.tsx +1 -1
  191. package/src/stores/routes/RouteExecutionStore.tsx +1 -1
  192. package/src/stores/routes/useExecutingRoutesIds.ts +2 -2
  193. package/src/stores/settings/useSplitSubvariantStore.tsx +1 -1
  194. package/src/themes/createTheme.ts +6 -8
  195. package/src/themes/types.ts +0 -1
  196. package/src/types/widget.ts +23 -0
  197. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.d.ts +0 -8
  198. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js +0 -95
  199. package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js.map +0 -1
  200. package/src/providers/WalletProvider/getSafeMultisigConfig.ts +0 -144
@@ -1,5 +1,12 @@
1
- import type { Route, RoutesResponse, Token } from '@lifi/sdk'
2
- import { LiFiErrorCode, getContractCallsQuote, getRoutes } from '@lifi/sdk'
1
+ import type { Route, Token } from '@lifi/sdk'
2
+ import {
3
+ LiFiErrorCode,
4
+ convertQuoteToRoute,
5
+ getContractCallsQuote,
6
+ getRelayerQuote,
7
+ getRoutes,
8
+ isEVMPermitStep,
9
+ } from '@lifi/sdk'
3
10
  import { useAccount } from '@lifi/wallet-management'
4
11
  import { useQuery, useQueryClient } from '@tanstack/react-query'
5
12
  import { parseUnits } from 'viem'
@@ -32,6 +39,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
32
39
  exchanges,
33
40
  fee,
34
41
  feeConfig,
42
+ useRelayerRoutes,
35
43
  } = useWidgetConfig()
36
44
  const setExecutableRoute = useSetExecutableRoute()
37
45
  const queryClient = useQueryClient()
@@ -258,27 +266,9 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
258
266
  contractCallQuote.toolDetails = toolDetails
259
267
  }
260
268
 
261
- const route: Route = {
262
- id: crypto.randomUUID(),
263
- fromChainId: contractCallQuote.action.fromChainId,
264
- fromAmountUSD: contractCallQuote.estimate.fromAmountUSD || '',
265
- fromAmount: contractCallQuote.action.fromAmount,
266
- fromToken: contractCallQuote.action.fromToken,
267
- fromAddress: contractCallQuote.action.fromAddress,
268
- toChainId: contractCallQuote.action.toChainId,
269
- toAmountUSD: contractCallQuote.estimate.toAmountUSD || '',
270
- toAmount: contractCallQuote.estimate.toAmount,
271
- toAmountMin: contractCallQuote.estimate.toAmountMin,
272
- toToken: toToken!,
273
- toAddress:
274
- contractCallQuote.action.toAddress ||
275
- contractCallQuote.action.fromAddress,
276
- gasCostUSD: contractCallQuote.estimate.gasCosts?.[0].amountUSD,
277
- steps: [contractCallQuote],
278
- insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },
279
- }
269
+ const route: Route = convertQuoteToRoute(contractCallQuote)
280
270
 
281
- return { routes: [route] } as RoutesResponse
271
+ return [route]
282
272
  }
283
273
 
284
274
  // Prevent sending a request for the same chain token combinations.
@@ -286,50 +276,110 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
286
276
  return
287
277
  }
288
278
 
289
- const data = await getRoutes(
290
- {
291
- fromAddress,
292
- fromAmount: fromAmount.toString(),
293
- fromChainId,
294
- fromTokenAddress,
295
- toAddress,
296
- toChainId,
297
- toTokenAddress,
298
- fromAmountForGas:
299
- enabledRefuel && gasRecommendationFromAmount
300
- ? gasRecommendationFromAmount
301
- : undefined,
302
- options: {
303
- allowSwitchChain:
304
- subvariant === 'refuel' ? false : allowSwitchChain,
305
- bridges:
306
- allowBridges?.length || disabledBridges.length
307
- ? {
308
- allow: allowBridges,
309
- deny: disabledBridges.length
310
- ? disabledBridges
279
+ const isObservableRelayerRoute =
280
+ observableRoute?.steps?.some(isEVMPermitStep)
281
+
282
+ const shouldUseMainRoutes =
283
+ !observableRoute || !isObservableRelayerRoute
284
+ const shouldUseRelayerQuote =
285
+ fromAddress &&
286
+ useRelayerRoutes &&
287
+ (!observableRoute || isObservableRelayerRoute)
288
+
289
+ const [routesResult, relayerRouteResult] = await Promise.all([
290
+ shouldUseMainRoutes
291
+ ? getRoutes(
292
+ {
293
+ fromAddress,
294
+ fromAmount: fromAmount.toString(),
295
+ fromChainId,
296
+ fromTokenAddress,
297
+ toAddress,
298
+ toChainId,
299
+ toTokenAddress,
300
+ fromAmountForGas:
301
+ enabledRefuel && gasRecommendationFromAmount
302
+ ? gasRecommendationFromAmount
303
+ : undefined,
304
+ options: {
305
+ allowSwitchChain:
306
+ subvariant === 'refuel' ? false : allowSwitchChain,
307
+ bridges:
308
+ allowBridges?.length || disabledBridges.length
309
+ ? {
310
+ allow: allowBridges,
311
+ deny: disabledBridges.length
312
+ ? disabledBridges
313
+ : undefined,
314
+ }
311
315
  : undefined,
312
- }
313
- : undefined,
314
- exchanges:
315
- allowExchanges?.length || disabledExchanges.length
316
- ? {
317
- allow: allowExchanges,
318
- deny: disabledExchanges.length
319
- ? disabledExchanges
316
+ exchanges:
317
+ allowExchanges?.length || disabledExchanges.length
318
+ ? {
319
+ allow: allowExchanges,
320
+ deny: disabledExchanges.length
321
+ ? disabledExchanges
322
+ : undefined,
323
+ }
320
324
  : undefined,
321
- }
322
- : undefined,
323
- order: routePriority,
324
- slippage: formattedSlippage,
325
- fee: calculatedFee || fee,
326
- },
327
- },
328
- { signal }
329
- )
330
- if (data.routes[0] && fromAddress) {
325
+ order: routePriority,
326
+ slippage: formattedSlippage,
327
+ fee: calculatedFee || fee,
328
+ },
329
+ },
330
+ { signal }
331
+ )
332
+ : Promise.resolve(null),
333
+ shouldUseRelayerQuote
334
+ ? getRelayerQuote(
335
+ {
336
+ fromAddress,
337
+ fromAmount: fromAmount.toString(),
338
+ fromChain: fromChainId,
339
+ fromToken: fromTokenAddress,
340
+ toAddress,
341
+ toChain: toChainId,
342
+ toToken: toTokenAddress,
343
+ fromAmountForGas:
344
+ enabledRefuel && gasRecommendationFromAmount
345
+ ? gasRecommendationFromAmount
346
+ : undefined,
347
+ order: routePriority,
348
+ slippage: formattedSlippage,
349
+ fee: calculatedFee || fee,
350
+ ...(allowBridges?.length || disabledBridges.length
351
+ ? {
352
+ allowBridges: allowBridges,
353
+ denyBridges: disabledBridges.length
354
+ ? disabledBridges
355
+ : undefined,
356
+ }
357
+ : undefined),
358
+ ...(allowExchanges?.length || disabledExchanges.length
359
+ ? {
360
+ allowExchanges: allowExchanges,
361
+ denyExchanges: disabledExchanges.length
362
+ ? disabledExchanges
363
+ : undefined,
364
+ }
365
+ : undefined),
366
+ },
367
+ { signal }
368
+ )
369
+ .then((response) => {
370
+ const quote = {
371
+ ...response.data.quote.step,
372
+ ...response.data.quote,
373
+ }
374
+ return convertQuoteToRoute(quote)
375
+ })
376
+ .catch(() => null)
377
+ : Promise.resolve(null),
378
+ ])
379
+
380
+ if (routesResult?.routes[0] && fromAddress) {
331
381
  // Update local tokens cache to keep priceUSD in sync
332
- const { fromToken, toToken } = data.routes[0]
382
+ const { fromToken, toToken } = routesResult.routes[0]
333
383
  ;[fromToken, toToken].forEach((token) => {
334
384
  queryClient.setQueriesData<Token[]>(
335
385
  { queryKey: ['token-balances', fromAddress, token.chainId] },
@@ -349,8 +399,16 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
349
399
  )
350
400
  })
351
401
  }
352
- emitter.emit(WidgetEvent.AvailableRoutes, data.routes)
353
- return data
402
+
403
+ const routes = routesResult?.routes ?? []
404
+
405
+ // Add relayer route if available
406
+ if (relayerRouteResult) {
407
+ routes.splice(1, 0, relayerRouteResult)
408
+ }
409
+
410
+ emitter.emit(WidgetEvent.AvailableRoutes, routes)
411
+ return routes
354
412
  },
355
413
  enabled: isEnabled,
356
414
  staleTime: refetchTime,
@@ -361,6 +419,9 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
361
419
  )
362
420
  },
363
421
  retry(failureCount, error: any) {
422
+ if (process.env.NODE_ENV === 'development') {
423
+ console.warn('Route query failed:', { failureCount, error })
424
+ }
364
425
  if (failureCount >= 5) {
365
426
  return false
366
427
  }
@@ -382,7 +443,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
382
443
  }
383
444
 
384
445
  return {
385
- routes: data?.routes,
446
+ routes: data,
386
447
  isLoading: isEnabled && isLoading,
387
448
  isFetching,
388
449
  isFetched,
@@ -8,7 +8,7 @@ import { useDefaultElementId } from './useDefaultElementId.js'
8
8
  // CSS changes in those components can have implications for the functionality in this hook
9
9
 
10
10
  export const useSetContentHeight = (
11
- ref: MutableRefObject<HTMLElement | undefined>
11
+ ref: MutableRefObject<HTMLElement | null>
12
12
  ) => {
13
13
  const elementId = useDefaultElementId()
14
14
  useLayoutEffect(() => {
package/src/i18n/bn.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "",
56
57
  "bridge": "",
57
58
  "checkout": "চেকআউট",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "",
62
64
  "from": "থেকে সোওয়াপ করুন",
63
65
  "gas": "গ্যাস",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "ব্রিজ",
266
268
  "stepBridgeAndBuy": "",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "লি.ফাই এর মাধ্যমে {{tool}}",
269
273
  "stepSwap": "সোওয়াপ",
270
274
  "stepSwapAndBridge": "সোওয়াপ এবং ব্রিজ",
271
275
  "stepSwapAndBuy": "",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "{{tool}} এর মাধ্যমে {{chain}} এ সোওয়াপ করুন",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "",
277
281
  "fastest": ""
package/src/i18n/de.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Aktive Transaktion",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "",
56
57
  "bridge": "Bridge",
57
58
  "checkout": "Zur Kasse",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "Exchange",
62
64
  "from": "Swap von",
63
65
  "gas": "Gas",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Bridge",
266
268
  "stepBridgeAndBuy": "Bridge und Kauf",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "Buy",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} via LI.FI",
269
273
  "stepSwap": "Swap",
270
274
  "stepSwapAndBridge": "Tauschen und überbrücken",
271
275
  "stepSwapAndBuy": "Tauschen und kaufen",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "Tausche auf {{chain}} über {{tool}}",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "",
277
281
  "fastest": ""
package/src/i18n/en.json CHANGED
@@ -220,9 +220,10 @@
220
220
  "priceImpact": "Price impact",
221
221
  "process": {
222
222
  "bridge": {
223
- "actionRequired": "Please sign the transaction",
223
+ "permitRequired": "Sign permit for {{tokenSymbol}}",
224
+ "actionRequired": "Sign bridge transaction",
224
225
  "done": "Bridge transaction confirmed",
225
- "pending": "Waiting for bridge transaction",
226
+ "pending": "Bridge transaction pending",
226
227
  "started": "Preparing bridge transaction"
227
228
  },
228
229
  "checkout": {
@@ -238,19 +239,21 @@
238
239
  "refunded": "Bridge transaction refunded"
239
240
  },
240
241
  "swap": {
241
- "actionRequired": "Please sign the transaction",
242
+ "permitRequired": "Sign permit for {{tokenSymbol}}",
243
+ "actionRequired": "Sign swap transaction",
242
244
  "done": "Swap completed",
243
- "pending": "Waiting for swap transaction",
245
+ "pending": "Swap transaction pending",
244
246
  "started": "Preparing swap transaction"
245
247
  },
246
248
  "switchChain": {
247
- "actionRequired": "Chain switch required",
248
- "done": "Chain switched successfully"
249
+ "actionRequired": "Confirm chain switch",
250
+ "done": "Chain switched"
249
251
  },
250
252
  "tokenAllowance": {
251
- "done": "Token allowance approved",
252
- "pending": "Waiting for token allowance",
253
- "started": "Setting token allowance"
253
+ "actionRequired": "Approve {{tokenSymbol}} spending",
254
+ "done": "{{tokenSymbol}} spending approved",
255
+ "pending": "{{tokenSymbol}} approval pending",
256
+ "started": "Preparing approval transaction"
254
257
  }
255
258
  },
256
259
  "quotedAmount": "Quoted amount",
@@ -278,7 +281,8 @@
278
281
  "transferId": "Transfer ID",
279
282
  "tags": {
280
283
  "cheapest": "Best Return",
281
- "fastest": "Fastest"
284
+ "fastest": "Fastest",
285
+ "gasless": "Gasless"
282
286
  },
283
287
  "to": "To",
284
288
  "tokenOnChain": "{{tokenSymbol}} on {{chainName}}",
package/src/i18n/es.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Transacciones activas",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "Billeteras preferidas",
56
57
  "bridge": "Puente",
57
58
  "checkout": "Checkout",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "Intercambio",
62
64
  "from": "Intercambiar de",
63
65
  "gas": "Gas",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Cruzar",
266
268
  "stepBridgeAndBuy": "Puente y compra",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "Comprar",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} a través de LI.FI",
269
273
  "stepSwap": "Swap",
270
274
  "stepSwapAndBridge": "Swap y cruzar",
271
275
  "stepSwapAndBuy": "Intercambiar y comprar",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "Intercambiar en {{chain}} a través de {{tool}}",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "Mejor retorno",
277
281
  "fastest": "Más rápido"
package/src/i18n/fr.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Transactions actives",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "Portefeuilles favoris",
56
57
  "bridge": "Bridge",
57
58
  "checkout": "Paiement",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "Échanger",
62
64
  "from": "Échanger de",
63
65
  "gas": "Gaz",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Bridge",
266
268
  "stepBridgeAndBuy": "Bridge et acheter",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "Acheter",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} via LI.FI",
269
273
  "stepSwap": "Échanger",
270
274
  "stepSwapAndBridge": "Échange et Bridge",
271
275
  "stepSwapAndBuy": "Échanger et acheter",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "Échanger sur {{chain}} via {{tool}}",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "Meilleur Retour",
277
281
  "fastest": "Le plus rapide"
package/src/i18n/hi.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "",
56
57
  "bridge": "",
57
58
  "checkout": "",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "",
62
64
  "from": "",
63
65
  "gas": "गैस",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "",
266
268
  "stepBridgeAndBuy": "",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "",
269
273
  "stepSwap": "",
270
274
  "stepSwapAndBridge": "",
271
275
  "stepSwapAndBuy": "",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "",
277
281
  "fastest": ""
package/src/i18n/id.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Transaksi aktif",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "Dompet yang ditandai",
56
57
  "bridge": "Bridge",
57
58
  "checkout": "Checkout",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "Pertukaran",
62
64
  "from": "Swap dari",
63
65
  "gas": "Gas",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Bridge",
266
268
  "stepBridgeAndBuy": "Bridge dan beli",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "Beli",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} melalui LI.FI",
269
273
  "stepSwap": "Swap",
270
274
  "stepSwapAndBridge": "Swap dan bridge",
271
275
  "stepSwapAndBuy": "Swap dan beli",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "Swap di {{chain}} melalui {{tool}}",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "Pengembalian terbaik",
277
281
  "fastest": "Tercepat"
package/src/i18n/it.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Transazioni attive",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "",
56
57
  "bridge": "Bridge",
57
58
  "checkout": "Checkout",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "Exchange",
62
64
  "from": "Scambia da",
63
65
  "gas": "Gas",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Bridge",
266
268
  "stepBridgeAndBuy": "Trasferisci e acquista",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "Acquista",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} tramite LI.FI",
269
273
  "stepSwap": "Scambio",
270
274
  "stepSwapAndBridge": "Scambia e bridge",
271
275
  "stepSwapAndBuy": "Scambia e acquista",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "Scambio su {{chain}} tramite {{tool}}.",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "",
277
281
  "fastest": ""
package/src/i18n/ja.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "アクティブなトランザクション",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "ブックマークされたウォレット",
56
57
  "bridge": "ブリッジ",
57
58
  "checkout": "支払い",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "スワップ",
62
64
  "from": "交換元",
63
65
  "gas": "ガス",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "ブリッジ",
266
268
  "stepBridgeAndBuy": "ブリッジと購入",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "購入",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "LI.FI経由の{{tool}}",
269
273
  "stepSwap": "スワップ",
270
274
  "stepSwapAndBridge": "スワップとブリッジ",
271
275
  "stepSwapAndBuy": "スワップと購入",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "{{chain}} で {{tool}} 経由のスワップ",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "最良",
277
281
  "fastest": "最速"
package/src/i18n/ko.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "활성화된 거래",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "",
56
57
  "bridge": "브릿지",
57
58
  "checkout": "주문",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "교환",
62
64
  "from": "다음에서 스왑",
63
65
  "gas": "가스",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "브릿지",
266
268
  "stepBridgeAndBuy": "브릿지 그리고 매수",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "매수",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "LI.FI 를 통한 {{tool}}",
269
273
  "stepSwap": "스왑",
270
274
  "stepSwapAndBridge": "스왑 그리고 브릿지",
271
275
  "stepSwapAndBuy": "스왑 그리고 매수",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "{{tool}}로 {{chain}}에서 스왑",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "",
277
281
  "fastest": ""
package/src/i18n/pt.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "Transações ativas",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "Carteiras favoritas",
56
57
  "bridge": "Ponte",
57
58
  "checkout": "Finalizar",
58
59
  "checkoutDetails": "Detalhes de pagamento",
59
60
  "deposit": "Depósito",
60
61
  "depositDetails": "Detalhes do depósito",
62
+ "depositTo": "",
61
63
  "exchange": "Conversão",
62
64
  "from": "Converter a partir de",
63
65
  "gas": "Gás",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "Ponte",
266
268
  "stepBridgeAndBuy": "Transfira e compre",
267
269
  "stepBridgeAndDeposit": "Ponte e depósito",
270
+ "stepBuy": "Comprar",
271
+ "stepDeposit": "Depósito",
268
272
  "stepDetails": "{{tool}} via LI.FI",
269
273
  "stepSwap": "Conversão",
270
274
  "stepSwapAndBridge": "Converter e enviar pela ponte",
271
275
  "stepSwapAndBuy": "Converta e compre",
272
276
  "stepSwapAndDeposit": "Converter e depositar",
273
- "transferId": "ID de transferência",
274
277
  "swapStepDetails": "Converter na {{chain}} via {{tool}}",
278
+ "transferId": "ID de transferência",
275
279
  "tags": {
276
280
  "cheapest": "Melhor retorno",
277
281
  "fastest": "Mais rápido"
package/src/i18n/th.json CHANGED
@@ -52,12 +52,14 @@
52
52
  },
53
53
  "header": {
54
54
  "activeTransactions": "ธุรกรรมมีผล",
55
+ "amount": "",
55
56
  "bookmarkedWallets": "กระเป๋าเงินที่ Bokkmark ไว้แล้ว",
56
57
  "bridge": "บริดจ์",
57
58
  "checkout": "เช็คเอาท์",
58
59
  "checkoutDetails": "",
59
60
  "deposit": "",
60
61
  "depositDetails": "",
62
+ "depositTo": "",
61
63
  "exchange": "แลกเปลี่ยน",
62
64
  "from": "แลกเปลี่ยนจาก",
63
65
  "gas": "แก็ส",
@@ -265,13 +267,15 @@
265
267
  "stepBridge": "บริดจ์",
266
268
  "stepBridgeAndBuy": "บริดจ์และซื้อ",
267
269
  "stepBridgeAndDeposit": "",
270
+ "stepBuy": "ซื้อ",
271
+ "stepDeposit": "",
268
272
  "stepDetails": "{{tool}} โดย LI.FI",
269
273
  "stepSwap": "แลกเปลี่ยน",
270
274
  "stepSwapAndBridge": "แลกเปลี่ยนและบริดจ์",
271
275
  "stepSwapAndBuy": "แลกเปลี่ยน และ ซื้อ",
272
276
  "stepSwapAndDeposit": "",
273
- "transferId": "",
274
277
  "swapStepDetails": "แลกเปลี่ยนบน {{chain}} ผ่าน {{tool}}",
278
+ "transferId": "",
275
279
  "tags": {
276
280
  "cheapest": "ผลตอบแทนที่ดีที่สุด",
277
281
  "fastest": "รวดเร็วที่สุด"