@lifi/widget 4.0.0-beta.1 → 4.0.0-beta.3

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.
@@ -8,9 +8,6 @@ import { WidgetProvider } from './providers/WidgetProvider/WidgetProvider.js';
8
8
  import { StoreProvider } from './stores/StoreProvider.js';
9
9
  import { SettingsStoreProvider } from './stores/settings/SettingsStore.js';
10
10
  export const AppProvider = ({ children, config, formRef, }) => {
11
- if (!config.providers?.length && process.env.NODE_ENV === 'development') {
12
- console.warn('No widget providers specified');
13
- }
14
11
  return (_jsx(QueryClientProvider, { children: _jsx(SettingsStoreProvider, { config: config, children: _jsx(WidgetProvider, { config: config, children: _jsx(I18nProvider, { children: _jsx(ThemeProvider, { children: _jsx(SDKClientProvider, { children: _jsx(WalletProvider, { providers: config.providers ?? [], children: _jsx(StoreProvider, { config: config, formRef: formRef, children: children }) }) }) }) }) }) }) }));
15
12
  };
16
13
  //# sourceMappingURL=AppProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/AppProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAG1E,MAAM,CAAC,MAAM,WAAW,GAAmD,CAAC,EAC1E,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,CACL,KAAC,mBAAmB,cAClB,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,YACnC,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,YAC5B,KAAC,YAAY,cACX,KAAC,aAAa,cACZ,KAAC,iBAAiB,cAChB,KAAC,cAAc,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,YAC/C,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,YAC5C,QAAQ,GACK,GACD,GACC,GACN,GACH,GACA,GACK,GACJ,CACvB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/AppProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAG1E,MAAM,CAAC,MAAM,WAAW,GAAmD,CAAC,EAC1E,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,OAAO,CACL,KAAC,mBAAmB,cAClB,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,YACnC,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,YAC5B,KAAC,YAAY,cACX,KAAC,aAAa,cACZ,KAAC,iBAAiB,cAChB,KAAC,cAAc,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,YAC/C,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,YAC5C,QAAQ,GACK,GACD,GACC,GACN,GACH,GACA,GACK,GACJ,CACvB,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "4.0.0-beta.1";
2
+ export declare const version = "4.0.0-beta.3";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '4.0.0-beta.1';
2
+ export const version = '4.0.0-beta.3';
3
3
  //# sourceMappingURL=version.js.map
@@ -6,24 +6,32 @@ import { useWidgetConfig } from './WidgetProvider/WidgetProvider.js';
6
6
  const SDKClientContext = createContext({});
7
7
  export const useSDKClient = () => useContext(SDKClientContext);
8
8
  export const SDKClientProvider = ({ children }) => {
9
- const widgetConfig = useWidgetConfig();
9
+ const { sdkConfig, apiKey, integrator, feeConfig, fee, referrer, routePriority, slippage, } = useWidgetConfig();
10
10
  const client = useMemo(() => {
11
11
  return createClient({
12
- ...widgetConfig.sdkConfig,
13
- apiKey: widgetConfig.apiKey,
14
- integrator: widgetConfig.integrator ?? window?.location.hostname,
12
+ ...sdkConfig,
13
+ apiKey,
14
+ integrator: integrator ?? window?.location.hostname,
15
15
  routeOptions: {
16
- fee: widgetConfig.feeConfig?.fee || widgetConfig.fee,
17
- referrer: widgetConfig.referrer,
18
- order: widgetConfig.routePriority,
19
- slippage: widgetConfig.slippage,
20
- ...widgetConfig.sdkConfig?.routeOptions,
16
+ fee: feeConfig?.fee || fee,
17
+ referrer,
18
+ order: routePriority,
19
+ slippage,
20
+ ...sdkConfig?.routeOptions,
21
21
  },
22
22
  disableVersionCheck: true,
23
23
  widgetVersion: version,
24
- // debug: true,
25
24
  });
26
- }, [widgetConfig]);
25
+ }, [
26
+ sdkConfig,
27
+ apiKey,
28
+ integrator,
29
+ feeConfig,
30
+ fee,
31
+ referrer,
32
+ routePriority,
33
+ slippage,
34
+ ]);
27
35
  return (_jsx(SDKClientContext.Provider, { value: client, children: children }));
28
36
  };
29
37
  //# sourceMappingURL=SDKClientProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SDKClientProvider.js","sourceRoot":"","sources":["../../../src/providers/SDKClientProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAA;AACxD,OAAO,EACL,aAAa,EAEb,UAAU,EACV,OAAO,GACR,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,MAAM,gBAAgB,GAAG,aAAa,CAAY,EAAe,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACnE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,MAAM,MAAM,GAAc,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,YAAY,CAAC;YAClB,GAAG,YAAY,CAAC,SAAS;YACzB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,MAAM,EAAE,QAAQ,CAAC,QAAQ;YAChE,YAAY,EAAE;gBACZ,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG;gBACpD,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,KAAK,EAAE,YAAY,CAAC,aAAa;gBACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,GAAG,YAAY,CAAC,SAAS,EAAE,YAAY;aACxC;YACD,mBAAmB,EAAE,IAAI;YACzB,aAAa,EAAE,OAAO;YACtB,eAAe;SAChB,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACrC,QAAQ,GACiB,CAC7B,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SDKClientProvider.js","sourceRoot":"","sources":["../../../src/providers/SDKClientProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAA;AACxD,OAAO,EACL,aAAa,EAEb,UAAU,EACV,OAAO,GACR,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,MAAM,gBAAgB,GAAG,aAAa,CAAY,EAAe,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACnE,MAAM,EACJ,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,EACT,GAAG,EACH,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,GAAG,eAAe,EAAE,CAAA;IAErB,MAAM,MAAM,GAAc,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,YAAY,CAAC;YAClB,GAAG,SAAS;YACZ,MAAM;YACN,UAAU,EAAE,UAAU,IAAI,MAAM,EAAE,QAAQ,CAAC,QAAQ;YACnD,YAAY,EAAE;gBACZ,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,GAAG;gBAC1B,QAAQ;gBACR,KAAK,EAAE,aAAa;gBACpB,QAAQ;gBACR,GAAG,SAAS,EAAE,YAAY;aAC3B;YACD,mBAAmB,EAAE,IAAI;YACzB,aAAa,EAAE,OAAO;SACvB,CAAC,CAAA;IACJ,CAAC,EAAE;QACD,SAAS;QACT,MAAM;QACN,UAAU;QACV,SAAS;QACT,GAAG;QACH,QAAQ;QACR,aAAa;QACb,QAAQ;KACT,CAAC,CAAA;IAEF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACrC,QAAQ,GACiB,CAC7B,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { WidgetProviderProps } from '@lifi/widget-provider';
2
- import type { PropsWithChildren, ReactNode } from 'react';
2
+ import { type PropsWithChildren, type ReactNode } from 'react';
3
3
  interface WalletProviderProps extends PropsWithChildren {
4
4
  providers: ((props: PropsWithChildren<WidgetProviderProps>) => ReactNode)[];
5
5
  }
@@ -1,5 +1,6 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { WalletManagementProviders } from '@lifi/wallet-management';
3
+ import { useMemo } from 'react';
3
4
  import { useTranslation } from 'react-i18next';
4
5
  import { useAvailableChains } from '../../hooks/useAvailableChains.js';
5
6
  import { useInitializeSDKProviders } from '../../hooks/useInitializeSDKProviders.js';
@@ -10,17 +11,25 @@ export const WalletProvider = ({ children, providers, }) => {
10
11
  const { chains } = useAvailableChains();
11
12
  const { i18n } = useTranslation();
12
13
  const { useExternalWalletProvidersOnly, internalChainTypes } = useExternalWalletProvider();
13
- // If all chain types are already managed externally (host app set up providers),
14
- // skip re-composing — the contexts are already populated above us.
14
+ if (!providers.length &&
15
+ !useExternalWalletProvidersOnly &&
16
+ process.env.NODE_ENV === 'development') {
17
+ console.warn('No widget providers specified');
18
+ }
15
19
  const effectiveProviders = useExternalWalletProvidersOnly ? [] : providers;
16
- return (_jsx(WalletManagementProviders, { config: {
17
- locale: i18n.resolvedLanguage,
18
- enabledChainTypes: internalChainTypes,
19
- walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
20
- }, providers: effectiveProviders, chains: chains, forceInternalWalletManagement: walletConfig?.forceInternalWalletManagement, children: _jsx(SDKProviderInitializer, { children: children }) }));
20
+ const walletManagementConfig = useMemo(() => ({
21
+ locale: i18n.resolvedLanguage,
22
+ enabledChainTypes: internalChainTypes,
23
+ walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
24
+ }), [
25
+ i18n.resolvedLanguage,
26
+ internalChainTypes,
27
+ walletConfig?.walletEcosystemsOrder,
28
+ ]);
29
+ return (_jsx(WalletManagementProviders, { config: walletManagementConfig, providers: effectiveProviders, chains: chains, forceInternalWalletManagement: walletConfig?.forceInternalWalletManagement, children: _jsx(SDKProviderInitializer, { children: children }) }));
21
30
  };
22
31
  const SDKProviderInitializer = ({ children }) => {
23
32
  useInitializeSDKProviders();
24
- return _jsx(_Fragment, { children: children });
33
+ return children;
25
34
  };
26
35
  //# sourceMappingURL=WalletProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/WalletProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAM1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,SAAS,GAC8B,EAAE,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAA;IACjC,MAAM,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,GAC1D,yBAAyB,EAAE,CAAA;IAE7B,iFAAiF;IACjF,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1E,OAAO,CACL,KAAC,yBAAyB,IACxB,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,gBAAyB;YACtC,iBAAiB,EAAE,kBAAkB;YACrC,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;SAC3D,EACD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,MAAM,EACd,6BAA6B,EAC3B,YAAY,EAAE,6BAA6B,YAG7C,KAAC,sBAAsB,cAAE,QAAQ,GAA0B,GACjC,CAC7B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrE,yBAAyB,EAAE,CAAA;IAC3B,OAAO,4BAAG,QAAQ,GAAI,CAAA;AACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"WalletProvider.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/WalletProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EAAmD,OAAO,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAM1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,SAAS,GAC8B,EAAE,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAA;IACjC,MAAM,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,GAC1D,yBAAyB,EAAE,CAAA;IAE7B,IACE,CAAC,SAAS,CAAC,MAAM;QACjB,CAAC,8BAA8B;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1E,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,IAAI,CAAC,gBAAyB;QACtC,iBAAiB,EAAE,kBAAkB;QACrC,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;KAC3D,CAAC,EACF;QACE,IAAI,CAAC,gBAAgB;QACrB,kBAAkB;QAClB,YAAY,EAAE,qBAAqB;KACpC,CACF,CAAA;IAED,OAAO,CACL,KAAC,yBAAyB,IACxB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,MAAM,EACd,6BAA6B,EAC3B,YAAY,EAAE,6BAA6B,YAG7C,KAAC,sBAAsB,cAAE,QAAQ,GAA0B,GACjC,CAC7B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrE,yBAAyB,EAAE,CAAA;IAC3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.3",
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,21 +34,21 @@
34
34
  "dependencies": {
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "4.0.0-beta.1",
37
+ "@lifi/sdk": "^4.0.0-beta.3",
38
38
  "@mui/icons-material": "^7.3.6",
39
39
  "@mui/material": "^7.3.6",
40
40
  "@mui/system": "^7.3.6",
41
- "@tanstack/react-router": "^1.167.4",
41
+ "@tanstack/react-router": "^1.168.3",
42
42
  "@tanstack/react-virtual": "^3.13.23",
43
- "i18next": "^25.8.18",
43
+ "i18next": "^25.10.9",
44
44
  "microdiff": "^1.5.0",
45
45
  "mitt": "^3.0.1",
46
- "react-i18next": "^16.5.8",
46
+ "react-i18next": "^16.6.5",
47
47
  "react-intersection-observer": "^9.16.0",
48
48
  "react-transition-group": "^4.4.5",
49
49
  "zustand": "^5.0.12",
50
- "@lifi/wallet-management": "4.0.0-beta.1",
51
- "@lifi/widget-provider": "4.0.0-beta.1"
50
+ "@lifi/wallet-management": "4.0.0-beta.3",
51
+ "@lifi/widget-provider": "4.0.0-beta.3"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@tanstack/react-query": ">=5.90.0",
@@ -14,9 +14,6 @@ export const AppProvider: React.FC<PropsWithChildren<WidgetConfigProps>> = ({
14
14
  config,
15
15
  formRef,
16
16
  }) => {
17
- if (!config.providers?.length && process.env.NODE_ENV === 'development') {
18
- console.warn('No widget providers specified')
19
- }
20
17
  return (
21
18
  <QueryClientProvider>
22
19
  <SettingsStoreProvider config={config}>
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '4.0.0-beta.1'
2
+ export const version = '4.0.0-beta.3'
@@ -13,25 +13,42 @@ const SDKClientContext = createContext<SDKClient>({} as SDKClient)
13
13
  export const useSDKClient = () => useContext(SDKClientContext)
14
14
 
15
15
  export const SDKClientProvider = ({ children }: PropsWithChildren) => {
16
- const widgetConfig = useWidgetConfig()
16
+ const {
17
+ sdkConfig,
18
+ apiKey,
19
+ integrator,
20
+ feeConfig,
21
+ fee,
22
+ referrer,
23
+ routePriority,
24
+ slippage,
25
+ } = useWidgetConfig()
17
26
 
18
27
  const client: SDKClient = useMemo(() => {
19
28
  return createClient({
20
- ...widgetConfig.sdkConfig,
21
- apiKey: widgetConfig.apiKey,
22
- integrator: widgetConfig.integrator ?? window?.location.hostname,
29
+ ...sdkConfig,
30
+ apiKey,
31
+ integrator: integrator ?? window?.location.hostname,
23
32
  routeOptions: {
24
- fee: widgetConfig.feeConfig?.fee || widgetConfig.fee,
25
- referrer: widgetConfig.referrer,
26
- order: widgetConfig.routePriority,
27
- slippage: widgetConfig.slippage,
28
- ...widgetConfig.sdkConfig?.routeOptions,
33
+ fee: feeConfig?.fee || fee,
34
+ referrer,
35
+ order: routePriority,
36
+ slippage,
37
+ ...sdkConfig?.routeOptions,
29
38
  },
30
39
  disableVersionCheck: true,
31
40
  widgetVersion: version,
32
- // debug: true,
33
41
  })
34
- }, [widgetConfig])
42
+ }, [
43
+ sdkConfig,
44
+ apiKey,
45
+ integrator,
46
+ feeConfig,
47
+ fee,
48
+ referrer,
49
+ routePriority,
50
+ slippage,
51
+ ])
35
52
 
36
53
  return (
37
54
  <SDKClientContext.Provider value={client}>
@@ -1,6 +1,6 @@
1
1
  import { WalletManagementProviders } from '@lifi/wallet-management'
2
2
  import type { WidgetProviderProps } from '@lifi/widget-provider'
3
- import type { FC, PropsWithChildren, ReactNode } from 'react'
3
+ import { type FC, type PropsWithChildren, type ReactNode, useMemo } from 'react'
4
4
  import { useTranslation } from 'react-i18next'
5
5
  import { useAvailableChains } from '../../hooks/useAvailableChains.js'
6
6
  import { useInitializeSDKProviders } from '../../hooks/useInitializeSDKProviders.js'
@@ -21,17 +21,32 @@ export const WalletProvider = ({
21
21
  const { useExternalWalletProvidersOnly, internalChainTypes } =
22
22
  useExternalWalletProvider()
23
23
 
24
- // If all chain types are already managed externally (host app set up providers),
25
- // skip re-composing — the contexts are already populated above us.
24
+ if (
25
+ !providers.length &&
26
+ !useExternalWalletProvidersOnly &&
27
+ process.env.NODE_ENV === 'development'
28
+ ) {
29
+ console.warn('No widget providers specified')
30
+ }
31
+
26
32
  const effectiveProviders = useExternalWalletProvidersOnly ? [] : providers
27
33
 
34
+ const walletManagementConfig = useMemo(
35
+ () => ({
36
+ locale: i18n.resolvedLanguage as never,
37
+ enabledChainTypes: internalChainTypes,
38
+ walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
39
+ }),
40
+ [
41
+ i18n.resolvedLanguage,
42
+ internalChainTypes,
43
+ walletConfig?.walletEcosystemsOrder,
44
+ ]
45
+ )
46
+
28
47
  return (
29
48
  <WalletManagementProviders
30
- config={{
31
- locale: i18n.resolvedLanguage as never,
32
- enabledChainTypes: internalChainTypes,
33
- walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
34
- }}
49
+ config={walletManagementConfig}
35
50
  providers={effectiveProviders}
36
51
  chains={chains}
37
52
  forceInternalWalletManagement={
@@ -45,5 +60,5 @@ export const WalletProvider = ({
45
60
 
46
61
  const SDKProviderInitializer: FC<PropsWithChildren> = ({ children }) => {
47
62
  useInitializeSDKProviders()
48
- return <>{children}</>
63
+ return children
49
64
  }