@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 +14 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +5 -8
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useTokenSearch.js +4 -2
- package/dist/esm/hooks/useTokenSearch.js.map +1 -1
- package/dist/esm/hooks/useTokens.js +4 -2
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/types/widget.d.ts +2 -1
- package/dist/esm/types/widget.js.map +1 -1
- package/dist/esm/utils/item.d.ts +9 -0
- package/dist/esm/utils/item.js +18 -0
- package/dist/esm/utils/item.js.map +1 -1
- package/package.json +5 -5
- package/package.json.tmp +4 -4
- package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +6 -7
- package/src/config/version.ts +1 -1
- package/src/hooks/useTokenSearch.ts +9 -2
- package/src/hooks/useTokens.ts +9 -2
- package/src/types/widget.ts +2 -1
- package/src/utils/item.ts +26 -0
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
|
-
|
|
21
|
-
|
|
21
|
+
const connectionOptions = missingChain ? { chain: missingChain } : undefined;
|
|
22
|
+
if (walletConfig?.onConnect) {
|
|
23
|
+
walletConfig.onConnect(connectionOptions);
|
|
22
24
|
}
|
|
23
25
|
else {
|
|
24
|
-
|
|
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;
|
|
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.
|
|
2
|
+
export declare const version = "3.24.3";
|
|
@@ -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,
|
|
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;
|
|
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,
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
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":"
|
|
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"}
|
package/dist/esm/utils/item.d.ts
CHANGED
|
@@ -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 {};
|
package/dist/esm/utils/item.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
31
|
-
|
|
30
|
+
return
|
|
31
|
+
}
|
|
32
|
+
const connectionOptions = missingChain ? { chain: missingChain } : undefined
|
|
33
|
+
if (walletConfig?.onConnect) {
|
|
34
|
+
walletConfig.onConnect(connectionOptions)
|
|
32
35
|
} else {
|
|
33
|
-
|
|
34
|
-
openWalletMenu({ chain: missingChain })
|
|
35
|
-
} else {
|
|
36
|
-
openWalletMenu()
|
|
37
|
-
}
|
|
36
|
+
openWalletMenu(connectionOptions)
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.24.
|
|
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,
|
|
34
|
+
if (!isTokenAllowed(token, filteredConfigTokens, formType)) {
|
|
28
35
|
return undefined
|
|
29
36
|
}
|
|
30
37
|
|
package/src/hooks/useTokens.ts
CHANGED
|
@@ -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,
|
|
61
|
+
isTokenAllowed(token, filteredConfigTokens, formType)
|
|
55
62
|
)
|
|
56
63
|
|
|
57
64
|
const filteredTokensMap = new Map(
|
package/src/types/widget.ts
CHANGED
|
@@ -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
|
+
}
|