@lifi/widget 3.24.1 → 3.24.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [3.24.3](https://github.com/lifinance/widget/compare/v3.24.2...v3.24.3) (2025-07-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * add wallet menu args to external on connect ([#450](https://github.com/lifinance/widget/issues/450)) ([8a00045](https://github.com/lifinance/widget/commit/8a000450dd5a73bcdd1e385cf308488f82822bd0))
11
+
12
+ ### [3.24.2](https://github.com/lifinance/widget/compare/v3.24.1...v3.24.2) (2025-07-03)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * allow-deny - do not filter out tokens from unspecified chains ([#449](https://github.com/lifinance/widget/issues/449)) ([ced6cf6](https://github.com/lifinance/widget/commit/ced6cf68f329e31af0338b31fe18c5feed8417fb))
18
+
5
19
  ### [3.24.1](https://github.com/lifinance/widget/compare/v3.24.0...v3.24.1) (2025-07-02)
6
20
 
7
21
 
@@ -16,17 +16,14 @@ export const BaseTransactionButton = ({ onClick, text, disabled, loading, route,
16
16
  const handleClick = async () => {
17
17
  if (connected) {
18
18
  onClick?.();
19
+ return;
19
20
  }
20
- else if (walletConfig?.onConnect) {
21
- walletConfig.onConnect();
21
+ const connectionOptions = missingChain ? { chain: missingChain } : undefined;
22
+ if (walletConfig?.onConnect) {
23
+ walletConfig.onConnect(connectionOptions);
22
24
  }
23
25
  else {
24
- if (missingChain) {
25
- openWalletMenu({ chain: missingChain });
26
- }
27
- else {
28
- openWalletMenu();
29
- }
26
+ openWalletMenu(connectionOptions);
30
27
  }
31
28
  };
32
29
  const getButtonText = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTransactionButton.js","sourceRoot":"","sources":["../../../../src/components/BaseTransactionButton/BaseTransactionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1C,MAAM,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,iCAAiC,CACnE,KAAK,EACL,KAAK,CACN,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,EAAE,CAAA;QACb,CAAC;aAAM,IAAI,YAAY,EAAE,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,SAAS,EAAE,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,EAAE,CAAC;gBACjB,cAAc,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,cAAc,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO,YAAY;YACjB,CAAC,CAAC,CAAC,CAAC,2BAA2B,EAAE;gBAC7B,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAC/B,OAAO,EAAE,OAAO,EAChB,eAAe,EAAC,QAAQ,EACxB,SAAS,kBAER,aAAa,EAAE,GACT,CACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"BaseTransactionButton.js","sourceRoot":"","sources":["../../../../src/components/BaseTransactionButton/BaseTransactionButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1C,MAAM,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,iCAAiC,CACnE,KAAK,EACL,KAAK,CACN,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,EAAE,CAAA;YACX,OAAM;QACR,CAAC;QACD,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,IAAI,YAAY,EAAE,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,iBAAiB,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO,YAAY;YACjB,CAAC,CAAC,CAAC,CAAC,2BAA2B,EAAE;gBAC7B,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAC/B,OAAO,EAAE,OAAO,EAChB,eAAe,EAAC,QAAQ,EACxB,SAAS,kBAER,aAAa,EAAE,GACT,CACV,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.24.1";
2
+ export declare const version = "3.24.3";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.24.1';
2
+ export const version = '3.24.3';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  import { getToken } from '@lifi/sdk';
2
2
  import { useQuery, useQueryClient } from '@tanstack/react-query';
3
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
4
- import { isTokenAllowed } from '../utils/item.js';
4
+ import { filterConfigTokensByChain, isTokenAllowed } from '../utils/item.js';
5
5
  import { getQueryKey } from '../utils/queries.js';
6
6
  export const useTokenSearch = (chainId, tokenQuery, enabled, formType) => {
7
7
  const queryClient = useQueryClient();
@@ -13,8 +13,10 @@ export const useTokenSearch = (chainId, tokenQuery, enabled, formType) => {
13
13
  signal,
14
14
  });
15
15
  if (token) {
16
+ // Filter config tokens by chain before checking if token is allowed
17
+ const filteredConfigTokens = filterConfigTokensByChain(configTokens, formType, token.chainId);
16
18
  // Return undefined if the token is denied
17
- if (!isTokenAllowed(token, configTokens, formType)) {
19
+ if (!isTokenAllowed(token, filteredConfigTokens, formType)) {
18
20
  return undefined;
19
21
  }
20
22
  queryClient.setQueriesData({ queryKey: [getQueryKey('tokens', keyPrefix)] }, (data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenSearch.js","sourceRoot":"","sources":["../../../src/hooks/useTokenSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,QAAQ,EAAE,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,UAAmB,EACnB,OAAiB,EACjB,QAAmB,EACnB,EAAE;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAE7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAkB,EAAE,UAAoB,EAAE;gBACrE,MAAM;aACP,CAAC,CAAA;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,0CAA0C;gBAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACnD,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,WAAW,CAAC,cAAc,CACxB,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,EAChD,CAAC,IAAI,EAAE,EAAE;oBACP,IACE,IAAI;wBACJ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiB,CAAC,EAAE,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CACnC,EACD,CAAC;wBACD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;wBAC9B,UAAU,CAAC,MAAM,CAAC,OAAiB,CAAC,EAAE,IAAI,CAAC,KAAoB,CAAC,CAAA;wBAChE,OAAO,UAAU,CAAA;oBACnB,CAAC;gBACH,CAAC,CACF,CAAA;YACH,CAAC;YACD,OAAO,KAAoB,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,UAAU,IAAI,OAAO,CAAC;QAClD,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IACF,OAAO;QACL,KAAK,EAAE,IAAI;QACX,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useTokenSearch.js","sourceRoot":"","sources":["../../../src/hooks/useTokenSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,QAAQ,EAAE,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAG/E,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,UAAmB,EACnB,OAAiB,EACjB,QAAmB,EACnB,EAAE;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAE7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAkB,EAAE,UAAoB,EAAE;gBACrE,MAAM;aACP,CAAC,CAAA;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,oEAAoE;gBACpE,MAAM,oBAAoB,GAAG,yBAAyB,CACpD,YAAY,EACZ,QAAQ,EACR,KAAK,CAAC,OAAO,CACd,CAAA;gBAED,0CAA0C;gBAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC3D,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,WAAW,CAAC,cAAc,CACxB,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,EAChD,CAAC,IAAI,EAAE,EAAE;oBACP,IACE,IAAI;wBACJ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiB,CAAC,EAAE,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CACnC,EACD,CAAC;wBACD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;wBAC9B,UAAU,CAAC,MAAM,CAAC,OAAiB,CAAC,EAAE,IAAI,CAAC,KAAoB,CAAC,CAAA;wBAChE,OAAO,UAAU,CAAA;oBACnB,CAAC;gBACH,CAAC,CACF,CAAA;YACH,CAAC;YACD,OAAO,KAAoB,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,UAAU,IAAI,OAAO,CAAC;QAClD,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IACF,OAAO;QACL,KAAK,EAAE,IAAI;QACX,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import { ChainType, getTokens } from '@lifi/sdk';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  import { useMemo } from 'react';
4
4
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
5
- import { isTokenAllowed } from '../utils/item.js';
5
+ import { filterConfigTokensByChain, isTokenAllowed } from '../utils/item.js';
6
6
  import { getQueryKey } from '../utils/queries.js';
7
7
  import { useChains } from './useChains.js';
8
8
  export const useTokens = (selectedChainId, formType) => {
@@ -35,9 +35,11 @@ export const useTokens = (selectedChainId, formType) => {
35
35
  if (includedTokens?.length) {
36
36
  filteredTokens = [...includedTokens, ...filteredTokens];
37
37
  }
38
+ // Filter config tokens by chain before checking if token is allowed
39
+ const filteredConfigTokens = filterConfigTokensByChain(configTokens, formType, selectedChainId);
38
40
  // Get the appropriate allow/deny lists based on formType
39
41
  filteredTokens = filteredTokens.filter((token) => token.chainId === selectedChainId &&
40
- isTokenAllowed(token, configTokens, formType));
42
+ isTokenAllowed(token, filteredConfigTokens, formType));
41
43
  const filteredTokensMap = new Map(filteredTokens.map((token) => [token.address, token]));
42
44
  const [popularTokens, featuredTokens] = ['popular', 'featured'].map((tokenType) => {
43
45
  const typedConfigTokens = configTokens?.[tokenType]?.filter((token) => token.chainId === selectedChainId);
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { BaseToken, ChainType, ContractCall, ExtendedChain, Order, RouteExtended, RouteOptions, SDKConfig, StaticToken, Token } from '@lifi/sdk';
2
+ import type { WalletMenuOpenArgs } from '@lifi/wallet-management';
2
3
  import type { Components, PaletteMode, PaletteOptions, Shape, SxProps, Theme } from '@mui/material';
3
4
  import type { TypographyVariantsOptions } from '@mui/material/styles';
4
5
  import type { CSSProperties, FC, ReactNode, RefObject } from 'react';
@@ -75,7 +76,7 @@ export type DefaultUI = {
75
76
  transactionDetailsExpanded?: boolean;
76
77
  };
77
78
  export interface WidgetWalletConfig {
78
- onConnect?(): void;
79
+ onConnect?(args?: WalletMenuOpenArgs): void;
79
80
  walletConnect?: WalletConnectParameters;
80
81
  coinbase?: CoinbaseWalletParameters;
81
82
  metaMask?: MetaMaskParameters;
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AAoFA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;IAC/C,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;IAC/C,uCAA2B,CAAA;IAC3B,+CAAmC,CAAA;IACnC,uEAA2D,CAAA;AAC7D,CAAC,EAfW,QAAQ,KAAR,QAAQ,QAenB;AAGD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,+DAAiD,CAAA;AACnD,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;IAC/C,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;IAC/C,uCAA2B,CAAA;IAC3B,+CAAmC,CAAA;IACnC,uEAA2D,CAAA;AAC7D,CAAC,EAfW,QAAQ,KAAR,QAAQ,QAenB;AAGD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,+DAAiD,CAAA;AACnD,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
@@ -4,4 +4,13 @@ import type { AllowDeny, WidgetTokens } from '../types/widget.js';
4
4
  type IncludesFn<T> = (list: T[], item: T) => boolean;
5
5
  export declare const isItemAllowed: <T>(item: T, items?: AllowDeny<T>, includes?: IncludesFn<T>) => boolean;
6
6
  export declare const isTokenAllowed: (token: BaseToken, configTokens: WidgetTokens | undefined, formType: FormType | undefined) => boolean;
7
+ export declare const filterConfigTokensByChain: (configTokens: WidgetTokens | undefined, formType: FormType | undefined, chainId: number) => {
8
+ allow: BaseToken[];
9
+ deny: BaseToken[];
10
+ featured?: import("@lifi/sdk").StaticToken[];
11
+ include?: import("@lifi/sdk").Token[];
12
+ popular?: import("@lifi/sdk").StaticToken[];
13
+ from?: AllowDeny<BaseToken>;
14
+ to?: AllowDeny<BaseToken>;
15
+ } | undefined;
7
16
  export {};
@@ -11,4 +11,22 @@ export const isTokenAllowed = (token, configTokens, formType) => {
11
11
  ? isItemAllowed(token, configTokens?.[formType], tokenIncludes)
12
12
  : true));
13
13
  };
14
+ export const filterConfigTokensByChain = (configTokens, formType, chainId) => {
15
+ if (!configTokens) {
16
+ return configTokens;
17
+ }
18
+ return {
19
+ ...configTokens,
20
+ allow: configTokens.allow?.filter((t) => t.chainId === chainId) ?? [],
21
+ deny: configTokens.deny?.filter((t) => t.chainId === chainId) ?? [],
22
+ ...(formType && {
23
+ [formType]: {
24
+ allow: configTokens[formType]?.allow?.filter((t) => t.chainId === chainId) ??
25
+ [],
26
+ deny: configTokens[formType]?.deny?.filter((t) => t.chainId === chainId) ??
27
+ [],
28
+ },
29
+ }),
30
+ };
31
+ };
14
32
  //# sourceMappingURL=item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/utils/item.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,KAAoB,EACpB,WAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClD,EAAE;IACX,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,IAAe,EAAE,EAAE,CAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAgB,EAChB,YAAsC,EACtC,QAA8B,EAC9B,EAAE;IACF,OAAO,CACL,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC;QACjD,CAAC,QAAQ;YACP,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,CACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/utils/item.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,KAAoB,EACpB,WAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClD,EAAE;IACX,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,IAAe,EAAE,EAAE,CAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAgB,EAChB,YAAsC,EACtC,QAA8B,EAC9B,EAAE;IACF,OAAO,CACL,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC;QACjD,CAAC,QAAQ;YACP,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,YAAsC,EACtC,QAA8B,EAC9B,OAAe,EACf,EAAE;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,OAAO;QACL,GAAG,YAAY;QACf,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE;QACrE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE;QACnE,GAAG,CAAC,QAAQ,IAAI;YACd,CAAC,QAAQ,CAAC,EAAE;gBACV,KAAK,EACH,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;oBACnE,EAAE;gBACJ,IAAI,EACF,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;oBAClE,EAAE;aACL;SACF,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.24.1",
3
+ "version": "3.24.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,11 +34,11 @@
34
34
  "@bigmi/core": "^0.4.0",
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "^3.7.10",
37
+ "@lifi/sdk": "^3.7.11",
38
38
  "@mui/icons-material": "^7.2.0",
39
39
  "@mui/material": "^7.2.0",
40
40
  "@mui/system": "^7.2.0",
41
- "@mysten/sui": "^1.34.0",
41
+ "@mysten/sui": "^1.35.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.2",
@@ -46,12 +46,12 @@
46
46
  "i18next": "^25.3.0",
47
47
  "microdiff": "^1.5.0",
48
48
  "mitt": "^3.0.1",
49
- "react-i18next": "^15.5.3",
49
+ "react-i18next": "^15.6.0",
50
50
  "react-intersection-observer": "^9.16.0",
51
51
  "react-router-dom": "^6.30.0",
52
52
  "viem": "^2.31.6",
53
53
  "zustand": "^5.0.6",
54
- "@lifi/wallet-management": "^3.12.0"
54
+ "@lifi/wallet-management": "^3.12.1"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@bigmi/react": ">=0.4.0",
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.24.1",
3
+ "version": "3.24.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": "./src/index.ts",
@@ -53,12 +53,12 @@
53
53
  "@bigmi/core": "^0.4.0",
54
54
  "@emotion/react": "^11.14.0",
55
55
  "@emotion/styled": "^11.14.1",
56
- "@lifi/sdk": "^3.7.10",
56
+ "@lifi/sdk": "^3.7.11",
57
57
  "@lifi/wallet-management": "workspace:^",
58
58
  "@mui/icons-material": "^7.2.0",
59
59
  "@mui/material": "^7.2.0",
60
60
  "@mui/system": "^7.2.0",
61
- "@mysten/sui": "^1.34.0",
61
+ "@mysten/sui": "^1.35.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.2",
@@ -66,7 +66,7 @@
66
66
  "i18next": "^25.3.0",
67
67
  "microdiff": "^1.5.0",
68
68
  "mitt": "^3.0.1",
69
- "react-i18next": "^15.5.3",
69
+ "react-i18next": "^15.6.0",
70
70
  "react-intersection-observer": "^9.16.0",
71
71
  "react-router-dom": "^6.30.0",
72
72
  "viem": "^2.31.6",
@@ -27,14 +27,13 @@ export const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({
27
27
  const handleClick = async () => {
28
28
  if (connected) {
29
29
  onClick?.()
30
- } else if (walletConfig?.onConnect) {
31
- walletConfig.onConnect()
30
+ return
31
+ }
32
+ const connectionOptions = missingChain ? { chain: missingChain } : undefined
33
+ if (walletConfig?.onConnect) {
34
+ walletConfig.onConnect(connectionOptions)
32
35
  } else {
33
- if (missingChain) {
34
- openWalletMenu({ chain: missingChain })
35
- } else {
36
- openWalletMenu()
37
- }
36
+ openWalletMenu(connectionOptions)
38
37
  }
39
38
  }
40
39
 
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.24.1'
2
+ export const version = '3.24.3'
@@ -3,7 +3,7 @@ import { useQuery, useQueryClient } from '@tanstack/react-query'
3
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
4
4
  import type { FormType } from '../stores/form/types.js'
5
5
  import type { TokenAmount } from '../types/token.js'
6
- import { isTokenAllowed } from '../utils/item.js'
6
+ import { filterConfigTokensByChain, isTokenAllowed } from '../utils/item.js'
7
7
  import { getQueryKey } from '../utils/queries.js'
8
8
 
9
9
  export const useTokenSearch = (
@@ -23,8 +23,15 @@ export const useTokenSearch = (
23
23
  })
24
24
 
25
25
  if (token) {
26
+ // Filter config tokens by chain before checking if token is allowed
27
+ const filteredConfigTokens = filterConfigTokensByChain(
28
+ configTokens,
29
+ formType,
30
+ token.chainId
31
+ )
32
+
26
33
  // Return undefined if the token is denied
27
- if (!isTokenAllowed(token, configTokens, formType)) {
34
+ if (!isTokenAllowed(token, filteredConfigTokens, formType)) {
28
35
  return undefined
29
36
  }
30
37
 
@@ -4,7 +4,7 @@ import { useMemo } from 'react'
4
4
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
5
5
  import type { FormType } from '../stores/form/types.js'
6
6
  import type { TokenAmount } from '../types/token.js'
7
- import { isTokenAllowed } from '../utils/item.js'
7
+ import { filterConfigTokensByChain, isTokenAllowed } from '../utils/item.js'
8
8
  import { getQueryKey } from '../utils/queries.js'
9
9
  import { useChains } from './useChains.js'
10
10
 
@@ -47,11 +47,18 @@ export const useTokens = (selectedChainId?: number, formType?: FormType) => {
47
47
  filteredTokens = [...includedTokens, ...filteredTokens]
48
48
  }
49
49
 
50
+ // Filter config tokens by chain before checking if token is allowed
51
+ const filteredConfigTokens = filterConfigTokensByChain(
52
+ configTokens,
53
+ formType,
54
+ selectedChainId
55
+ )
56
+
50
57
  // Get the appropriate allow/deny lists based on formType
51
58
  filteredTokens = filteredTokens.filter(
52
59
  (token) =>
53
60
  token.chainId === selectedChainId &&
54
- isTokenAllowed(token, configTokens, formType)
61
+ isTokenAllowed(token, filteredConfigTokens, formType)
55
62
  )
56
63
 
57
64
  const filteredTokensMap = new Map(
@@ -10,6 +10,7 @@ import type {
10
10
  StaticToken,
11
11
  Token,
12
12
  } from '@lifi/sdk'
13
+ import type { WalletMenuOpenArgs } from '@lifi/wallet-management'
13
14
  import type {
14
15
  Components,
15
16
  PaletteMode,
@@ -119,7 +120,7 @@ export type DefaultUI = {
119
120
  }
120
121
 
121
122
  export interface WidgetWalletConfig {
122
- onConnect?(): void
123
+ onConnect?(args?: WalletMenuOpenArgs): void
123
124
  walletConnect?: WalletConnectParameters
124
125
  coinbase?: CoinbaseWalletParameters
125
126
  metaMask?: MetaMaskParameters
package/src/utils/item.ts CHANGED
@@ -31,3 +31,29 @@ export const isTokenAllowed = (
31
31
  : true)
32
32
  )
33
33
  }
34
+
35
+ export const filterConfigTokensByChain = (
36
+ configTokens: WidgetTokens | undefined,
37
+ formType: FormType | undefined,
38
+ chainId: number
39
+ ) => {
40
+ if (!configTokens) {
41
+ return configTokens
42
+ }
43
+
44
+ return {
45
+ ...configTokens,
46
+ allow: configTokens.allow?.filter((t) => t.chainId === chainId) ?? [],
47
+ deny: configTokens.deny?.filter((t) => t.chainId === chainId) ?? [],
48
+ ...(formType && {
49
+ [formType]: {
50
+ allow:
51
+ configTokens[formType]?.allow?.filter((t) => t.chainId === chainId) ??
52
+ [],
53
+ deny:
54
+ configTokens[formType]?.deny?.filter((t) => t.chainId === chainId) ??
55
+ [],
56
+ },
57
+ }),
58
+ }
59
+ }