@lifi/widget@4.1.0
Minor Changes
-
#796
80c1387Thanks @chybisov! - Drop React 18 support and require React 19+. Thereact/react-dompeer dependency range is narrowed from>=18to>=19, and the components are modernized to React 19 idioms (refs passed as props instead offorwardRef,use()for context). Thewidget-provider-*packages now use React-19-only APIs and declare areact: >=19peer dependency. Integrators must be on React 19 or newer. -
#775
0ad86feThanks @effie-ms! - Internal: header navigation tabs are now config-driven via the internal_navigationTabsoption (not part of the public API). The active tab drives the displayed flow's mode, variant and mode options, and the split Swap/Bridge tabs are served by this unified navigation-tabs store — existingmode: 'split'behavior is unchanged.
Patch Changes
-
#798
873fd1eThanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters). -
#797
2210d52Thanks @chybisov! - Fix a false "Not enough funds" warning that appeared on the transaction status screen while waiting for the destination chain. Pre-flight warning messages are no longer rendered during the in-progress (pending) execution state, restoring the behavior from before the v4 execution page redesign. -
#791
e956d45Thanks @tomiiide! - Respect the integrator'sexchanges/bridgesallow-list on the first route request. Previously, before the/toolsfetch populated the enabled-tools store, the initial/advanced/routesrequest omitted the exchange/bridge filter (or sent a stale persisted list), so it could return and render routes from disabled tools. The enabled-tools state is now seeded synchronously from the config allow-list and stale persisted entries are intersected against it on rehydration. -
#773
63363e5Thanks @vinzenzLIFI! - Adddata-testidattributes toCloseDrawerButton,ReverseTokensButton,BaseTransactionButton, and theWidgetSkeletoncontainer for stable e2e test targeting. -
#771
d513c30Thanks @tomiiide! - Remove the Merkle RPC (https://eth.merkle.io) from the default mainnet seed chain. viem bundles it as the mainnet default, but it is a shared public endpoint that surfaced intermittent CORS errors in the browser (consistent with rate-limiting), causing failed/slow Ethereum quotes until the request retried elsewhere. The seed chain no longer carries a public RPC of its own; the real RPCs arrive from the backend viauseSyncWagmiConfigbefore any mainnet read fires. The default client wraps the synced RPCs in afallbacktransport for per-request failover.useIsContractAddressnow waits until the chain is available from the backend before reading on-chain, so it no longer runs against the unsynced default client. -
Updated dependencies [
873fd1e,80c1387,52cbaa2,900dc78]:- @lifi/wallet-management@4.1.0
- @lifi/widget-provider@4.1.0