@lifi/widget 3.0.0-alpha.20 → 3.0.0-alpha.21
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/AppProvider.tsx +6 -6
- package/AppRoutes.tsx +5 -0
- package/_cjs/AppProvider.js +1 -1
- package/_cjs/AppProvider.js.map +1 -1
- package/_cjs/AppRoutes.js +4 -0
- package/_cjs/AppRoutes.js.map +1 -1
- package/_cjs/components/AccountAvatar.js +3 -4
- package/_cjs/components/AccountAvatar.js.map +1 -1
- package/_cjs/components/Header/NavigationHeader.js +1 -0
- package/_cjs/components/Header/NavigationHeader.js.map +1 -1
- package/_cjs/components/Header/WalletHeader.js +1 -2
- package/_cjs/components/Header/WalletHeader.js.map +1 -1
- package/_cjs/components/Header/WalletMenu.js +4 -5
- package/_cjs/components/Header/WalletMenu.js.map +1 -1
- package/_cjs/components/SendToWallet/SendToWalletButton.js +5 -11
- package/_cjs/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/_cjs/components/SendToWallet/SendToWalletExpandButton.js +6 -5
- package/_cjs/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
- package/_cjs/components/Step/Step.js +1 -2
- package/_cjs/components/Step/Step.js.map +1 -1
- package/_cjs/config/theme.js +3 -0
- package/_cjs/config/theme.js.map +1 -1
- package/_cjs/config/version.d.ts +1 -1
- package/_cjs/config/version.js +1 -1
- package/_cjs/hooks/useGasSufficiency.js +15 -14
- package/_cjs/hooks/useGasSufficiency.js.map +1 -1
- package/_cjs/hooks/useRoutes.d.ts +1 -1
- package/_cjs/hooks/useTokenAddressBalance.d.ts +1 -1
- package/_cjs/hooks/useTokenBalance.d.ts +1 -1
- package/_cjs/hooks/useTokenBalances.d.ts +1 -1
- package/_cjs/i18n/bn.json +127 -74
- package/_cjs/i18n/de.json +52 -18
- package/_cjs/i18n/es.json +145 -77
- package/_cjs/i18n/fr.json +47 -16
- package/_cjs/i18n/hi.json +298 -0
- package/_cjs/i18n/id.json +54 -19
- package/_cjs/i18n/it.json +54 -19
- package/_cjs/i18n/ko.json +54 -19
- package/_cjs/i18n/pt.json +48 -17
- package/_cjs/i18n/th.json +54 -19
- package/_cjs/i18n/tr.json +47 -16
- package/_cjs/i18n/uk.json +47 -16
- package/_cjs/i18n/vi.json +54 -19
- package/_cjs/i18n/zh.json +47 -16
- package/_cjs/pages/SelectWalletPage/EVMListItemButton.js +1 -1
- package/_cjs/pages/SelectWalletPage/EVMListItemButton.js.map +1 -1
- package/_cjs/pages/SelectWalletPage/SelectWalletPage.js +30 -12
- package/_cjs/pages/SelectWalletPage/SelectWalletPage.js.map +1 -1
- package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js +3 -1
- package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/_cjs/pages/SendToWallet/SendToConfiguredWalletPage.d.ts +1 -0
- package/_cjs/pages/SendToWallet/SendToConfiguredWalletPage.js +74 -0
- package/_cjs/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -0
- package/_cjs/pages/SendToWallet/index.d.ts +1 -0
- package/_cjs/pages/SendToWallet/index.js +1 -0
- package/_cjs/pages/SendToWallet/index.js.map +1 -1
- package/_cjs/providers/WalletProvider/SDKProviders.js +8 -5
- package/_cjs/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/_cjs/providers/WidgetProvider/WidgetProvider.js +4 -1
- package/_cjs/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/_cjs/providers/WidgetProvider/utils.d.ts +5 -0
- package/_cjs/providers/WidgetProvider/utils.js +21 -0
- package/_cjs/providers/WidgetProvider/utils.js.map +1 -0
- package/_cjs/stores/bookmarks/BookmarkStore.js +3 -1
- package/_cjs/stores/bookmarks/BookmarkStore.js.map +1 -1
- package/_cjs/stores/bookmarks/createBookmarkStore.d.ts +6 -1
- package/_cjs/stores/bookmarks/createBookmarkStore.js +12 -2
- package/_cjs/stores/bookmarks/createBookmarkStore.js.map +1 -1
- package/_cjs/stores/bookmarks/types.d.ts +2 -5
- package/_cjs/stores/form/FormStore.js +1 -1
- package/_cjs/stores/form/FormStore.js.map +1 -1
- package/_cjs/stores/routes/utils.js.map +1 -1
- package/_cjs/types/widget.d.ts +7 -1
- package/_cjs/utils/chainType.d.ts +1 -0
- package/_cjs/utils/chainType.js +2 -0
- package/_cjs/utils/chainType.js.map +1 -1
- package/_cjs/utils/converters.js +24 -0
- package/_cjs/utils/converters.js.map +1 -1
- package/_cjs/utils/index.d.ts +1 -1
- package/_cjs/utils/index.js +1 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/navigationRoutes.d.ts +1 -0
- package/_cjs/utils/navigationRoutes.js +3 -0
- package/_cjs/utils/navigationRoutes.js.map +1 -1
- package/_esm/AppProvider.js +1 -1
- package/_esm/AppProvider.js.map +1 -1
- package/_esm/AppRoutes.js +5 -1
- package/_esm/AppRoutes.js.map +1 -1
- package/_esm/components/AccountAvatar.js +3 -4
- package/_esm/components/AccountAvatar.js.map +1 -1
- package/_esm/components/Header/NavigationHeader.js +1 -0
- package/_esm/components/Header/NavigationHeader.js.map +1 -1
- package/_esm/components/Header/WalletHeader.js +2 -3
- package/_esm/components/Header/WalletHeader.js.map +1 -1
- package/_esm/components/Header/WalletMenu.js +4 -5
- package/_esm/components/Header/WalletMenu.js.map +1 -1
- package/_esm/components/SendToWallet/SendToWalletButton.js +5 -11
- package/_esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/_esm/components/SendToWallet/SendToWalletExpandButton.js +6 -5
- package/_esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
- package/_esm/components/Step/Step.js +1 -2
- package/_esm/components/Step/Step.js.map +1 -1
- package/_esm/config/theme.js +3 -0
- package/_esm/config/theme.js.map +1 -1
- package/_esm/config/version.d.ts +1 -1
- package/_esm/config/version.js +1 -1
- package/_esm/hooks/useGasSufficiency.js +13 -12
- package/_esm/hooks/useGasSufficiency.js.map +1 -1
- package/_esm/hooks/useRoutes.d.ts +1 -1
- package/_esm/hooks/useTokenAddressBalance.d.ts +1 -1
- package/_esm/hooks/useTokenBalance.d.ts +1 -1
- package/_esm/hooks/useTokenBalances.d.ts +1 -1
- package/_esm/i18n/bn.json +127 -74
- package/_esm/i18n/de.json +52 -18
- package/_esm/i18n/es.json +145 -77
- package/_esm/i18n/fr.json +47 -16
- package/_esm/i18n/hi.json +298 -0
- package/_esm/i18n/id.json +54 -19
- package/_esm/i18n/it.json +54 -19
- package/_esm/i18n/ko.json +54 -19
- package/_esm/i18n/pt.json +48 -17
- package/_esm/i18n/th.json +54 -19
- package/_esm/i18n/tr.json +47 -16
- package/_esm/i18n/uk.json +47 -16
- package/_esm/i18n/vi.json +54 -19
- package/_esm/i18n/zh.json +47 -16
- package/_esm/pages/SelectWalletPage/EVMListItemButton.js +2 -2
- package/_esm/pages/SelectWalletPage/EVMListItemButton.js.map +1 -1
- package/_esm/pages/SelectWalletPage/SelectWalletPage.js +27 -9
- package/_esm/pages/SelectWalletPage/SelectWalletPage.js.map +1 -1
- package/_esm/pages/SendToWallet/ConfirmAddressSheet.js +3 -1
- package/_esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/_esm/pages/SendToWallet/SendToConfiguredWalletPage.d.ts +1 -0
- package/_esm/pages/SendToWallet/SendToConfiguredWalletPage.js +70 -0
- package/_esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -0
- package/_esm/pages/SendToWallet/index.d.ts +1 -0
- package/_esm/pages/SendToWallet/index.js +1 -0
- package/_esm/pages/SendToWallet/index.js.map +1 -1
- package/_esm/providers/WalletProvider/SDKProviders.js +9 -6
- package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/_esm/providers/WidgetProvider/WidgetProvider.js +4 -1
- package/_esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/_esm/providers/WidgetProvider/utils.d.ts +5 -0
- package/_esm/providers/WidgetProvider/utils.js +17 -0
- package/_esm/providers/WidgetProvider/utils.js.map +1 -0
- package/_esm/stores/bookmarks/BookmarkStore.js +3 -1
- package/_esm/stores/bookmarks/BookmarkStore.js.map +1 -1
- package/_esm/stores/bookmarks/createBookmarkStore.d.ts +6 -1
- package/_esm/stores/bookmarks/createBookmarkStore.js +12 -2
- package/_esm/stores/bookmarks/createBookmarkStore.js.map +1 -1
- package/_esm/stores/bookmarks/types.d.ts +2 -5
- package/_esm/stores/form/FormStore.js +1 -1
- package/_esm/stores/form/FormStore.js.map +1 -1
- package/_esm/stores/routes/utils.js.map +1 -1
- package/_esm/types/widget.d.ts +7 -1
- package/_esm/utils/chainType.d.ts +1 -0
- package/_esm/utils/chainType.js +2 -0
- package/_esm/utils/chainType.js.map +1 -1
- package/_esm/utils/converters.js +24 -0
- package/_esm/utils/converters.js.map +1 -1
- package/_esm/utils/index.d.ts +1 -1
- package/_esm/utils/index.js +1 -1
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/navigationRoutes.d.ts +1 -0
- package/_esm/utils/navigationRoutes.js +3 -0
- package/_esm/utils/navigationRoutes.js.map +1 -1
- package/components/AccountAvatar.tsx +3 -7
- package/components/Header/NavigationHeader.tsx +1 -0
- package/components/Header/WalletHeader.tsx +2 -6
- package/components/Header/WalletMenu.tsx +4 -8
- package/components/SendToWallet/SendToWalletButton.tsx +7 -13
- package/components/SendToWallet/SendToWalletExpandButton.tsx +9 -5
- package/components/Step/Step.tsx +3 -2
- package/config/theme.ts +3 -0
- package/config/version.ts +1 -1
- package/hooks/useGasSufficiency.ts +14 -14
- package/i18n/bn.json +127 -74
- package/i18n/de.json +52 -18
- package/i18n/es.json +145 -77
- package/i18n/fr.json +47 -16
- package/i18n/hi.json +298 -0
- package/i18n/id.json +54 -19
- package/i18n/it.json +54 -19
- package/i18n/ko.json +54 -19
- package/i18n/pt.json +48 -17
- package/i18n/th.json +54 -19
- package/i18n/tr.json +47 -16
- package/i18n/uk.json +47 -16
- package/i18n/vi.json +54 -19
- package/i18n/zh.json +47 -16
- package/package.json +12 -12
- package/pages/SelectWalletPage/EVMListItemButton.tsx +5 -5
- package/pages/SelectWalletPage/SelectWalletPage.tsx +36 -20
- package/pages/SendToWallet/ConfirmAddressSheet.tsx +3 -1
- package/pages/SendToWallet/SendToConfiguredWalletPage.tsx +149 -0
- package/pages/SendToWallet/index.ts +1 -0
- package/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +1 -1
- package/providers/WalletProvider/SDKProviders.tsx +20 -11
- package/providers/WidgetProvider/WidgetProvider.tsx +7 -2
- package/providers/WidgetProvider/utils.ts +26 -0
- package/stores/bookmarks/BookmarkStore.tsx +3 -1
- package/stores/bookmarks/createBookmarkStore.ts +19 -3
- package/stores/bookmarks/types.ts +2 -5
- package/stores/form/FormStore.tsx +1 -1
- package/stores/routes/utils.ts +4 -10
- package/types/widget.ts +7 -1
- package/utils/chainType.ts +2 -0
- package/utils/converters.ts +29 -0
- package/utils/index.ts +1 -1
- package/utils/navigationRoutes.ts +3 -0
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import type { ChainType } from '@lifi/sdk';
|
|
2
1
|
import type { StoreApi } from 'zustand';
|
|
3
2
|
import type { UseBoundStoreWithEqualityFn } from 'zustand/esm/traditional';
|
|
3
|
+
import type { ToAddress } from '../../types';
|
|
4
4
|
|
|
5
|
-
export interface Bookmark {
|
|
6
|
-
address: string;
|
|
7
|
-
chainType: ChainType;
|
|
8
|
-
name?: string;
|
|
5
|
+
export interface Bookmark extends ToAddress {
|
|
9
6
|
isConnectedAccount?: boolean;
|
|
10
7
|
}
|
|
11
8
|
|
|
@@ -39,7 +39,7 @@ export const FormStoreProvider: React.FC<PropsWithChildren> = ({
|
|
|
39
39
|
// Prevent setting address when the field is hidden
|
|
40
40
|
toAddress: hiddenToAddress
|
|
41
41
|
? formDefaultValues.toAddress
|
|
42
|
-
: toAddress || formDefaultValues.toAddress,
|
|
42
|
+
: toAddress?.address || formDefaultValues.toAddress,
|
|
43
43
|
}),
|
|
44
44
|
[
|
|
45
45
|
fromAmount,
|
package/stores/routes/utils.ts
CHANGED
|
@@ -6,20 +6,14 @@ export const isRouteDone = (route: RouteExtended) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
export const isRoutePartiallyDone = (route: RouteExtended) => {
|
|
9
|
-
return route.steps.some(
|
|
10
|
-
(
|
|
11
|
-
step.execution?.process.some(
|
|
12
|
-
(process) => process.substatus === 'PARTIAL',
|
|
13
|
-
),
|
|
9
|
+
return route.steps.some((step) =>
|
|
10
|
+
step.execution?.process.some((process) => process.substatus === 'PARTIAL'),
|
|
14
11
|
);
|
|
15
12
|
};
|
|
16
13
|
|
|
17
14
|
export const isRouteRefunded = (route: RouteExtended) => {
|
|
18
|
-
return route.steps.some(
|
|
19
|
-
(
|
|
20
|
-
step.execution?.process.some(
|
|
21
|
-
(process) => process.substatus === 'REFUNDED',
|
|
22
|
-
),
|
|
15
|
+
return route.steps.some((step) =>
|
|
16
|
+
step.execution?.process.some((process) => process.substatus === 'REFUNDED'),
|
|
23
17
|
);
|
|
24
18
|
};
|
|
25
19
|
|
package/types/widget.ts
CHANGED
|
@@ -101,12 +101,18 @@ export interface WidgetContract {
|
|
|
101
101
|
fallbackAddress?: string;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
+
export interface ToAddress {
|
|
105
|
+
name?: string;
|
|
106
|
+
address: string;
|
|
107
|
+
chainType: ChainType;
|
|
108
|
+
}
|
|
104
109
|
export interface WidgetConfig {
|
|
105
110
|
fromChain?: number;
|
|
106
111
|
toChain?: number;
|
|
107
112
|
fromToken?: string;
|
|
108
113
|
toToken?: string;
|
|
109
|
-
toAddress?:
|
|
114
|
+
toAddress?: ToAddress;
|
|
115
|
+
toAddresses?: ToAddress[];
|
|
110
116
|
fromAmount?: number | string;
|
|
111
117
|
toAmount?: number | string;
|
|
112
118
|
|
package/utils/chainType.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { isSVMAddress } from './svm';
|
|
|
5
5
|
const chainTypeAddressValidation = {
|
|
6
6
|
[ChainType.EVM]: isEVMAddress,
|
|
7
7
|
[ChainType.SVM]: isSVMAddress,
|
|
8
|
+
[ChainType.UTXO]: () => false,
|
|
8
9
|
};
|
|
9
10
|
|
|
10
11
|
export const getChainTypeFromAddress = (
|
|
@@ -22,4 +23,5 @@ export const getChainTypeFromAddress = (
|
|
|
22
23
|
export const defaultChainIdsByType = {
|
|
23
24
|
[ChainType.EVM]: ChainId.ETH,
|
|
24
25
|
[ChainType.SVM]: ChainId.SOL,
|
|
26
|
+
[ChainType.UTXO]: ChainId.BTC,
|
|
25
27
|
};
|
package/utils/converters.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ExtendedTransactionInfo,
|
|
3
|
+
FeeCost,
|
|
3
4
|
FullStatusData,
|
|
4
5
|
Process,
|
|
5
6
|
Status,
|
|
@@ -7,6 +8,7 @@ import type {
|
|
|
7
8
|
TokenAmount,
|
|
8
9
|
ToolsResponse,
|
|
9
10
|
} from '@lifi/sdk';
|
|
11
|
+
import { formatUnits } from 'viem';
|
|
10
12
|
import type { RouteExecution } from '../stores';
|
|
11
13
|
|
|
12
14
|
const buildProcessFromTxHistory = (tx: FullStatusData): Process[] => {
|
|
@@ -108,6 +110,32 @@ export const buildRouteFromTxHistory = (
|
|
|
108
110
|
chainId: receiving.token?.chainId,
|
|
109
111
|
};
|
|
110
112
|
|
|
113
|
+
const sendingValue = sending.value ? BigInt(sending.value) : 0n;
|
|
114
|
+
const sendingFeeAmount =
|
|
115
|
+
sending.gasToken.address === sending.token.address && sending.amount
|
|
116
|
+
? sendingValue - BigInt(sending.amount)
|
|
117
|
+
: sendingValue;
|
|
118
|
+
const sendingFeeAmountUsd =
|
|
119
|
+
sending.gasToken.priceUSD && sendingFeeAmount
|
|
120
|
+
? parseFloat(formatUnits(sendingFeeAmount, sending.gasToken.decimals)) *
|
|
121
|
+
parseFloat(sending.gasToken.priceUSD)
|
|
122
|
+
: 0;
|
|
123
|
+
|
|
124
|
+
const feeCosts: FeeCost[] | undefined = sendingValue
|
|
125
|
+
? [
|
|
126
|
+
{
|
|
127
|
+
amount: sendingFeeAmount.toString(),
|
|
128
|
+
amountUSD: sendingFeeAmountUsd.toFixed(2),
|
|
129
|
+
token: sending.gasToken,
|
|
130
|
+
included: false,
|
|
131
|
+
// Not used
|
|
132
|
+
description: '',
|
|
133
|
+
name: '',
|
|
134
|
+
percentage: '',
|
|
135
|
+
},
|
|
136
|
+
]
|
|
137
|
+
: undefined;
|
|
138
|
+
|
|
111
139
|
const routeExecution: RouteExecution = {
|
|
112
140
|
status: 1,
|
|
113
141
|
route: {
|
|
@@ -193,6 +221,7 @@ export const buildRouteFromTxHistory = (
|
|
|
193
221
|
type: 'SEND',
|
|
194
222
|
},
|
|
195
223
|
],
|
|
224
|
+
feeCosts,
|
|
196
225
|
},
|
|
197
226
|
},
|
|
198
227
|
],
|
package/utils/index.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
export * from './chainType';
|
|
1
2
|
export * from './colors';
|
|
2
3
|
export * from './deepMerge';
|
|
3
4
|
export * from './elements';
|
|
4
5
|
export * from './enum';
|
|
5
6
|
export * from './fees';
|
|
6
7
|
export * from './format';
|
|
7
|
-
export * from './chainType';
|
|
8
8
|
export * from './input';
|
|
9
9
|
export * from './item';
|
|
10
10
|
export * from './navigationRoutes';
|
|
@@ -19,6 +19,7 @@ export const navigationRoutes = {
|
|
|
19
19
|
bookmarks: 'bookmarks',
|
|
20
20
|
recentWallets: 'recent-wallets',
|
|
21
21
|
connectedWallets: 'connected-wallets',
|
|
22
|
+
configuredWallets: 'configured-wallets',
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
export const navigationRoutesValues = Object.values(navigationRoutes);
|
|
@@ -41,6 +42,7 @@ export const stickyHeaderRoutes = [
|
|
|
41
42
|
navigationRoutes.bookmarks,
|
|
42
43
|
navigationRoutes.recentWallets,
|
|
43
44
|
navigationRoutes.connectedWallets,
|
|
45
|
+
navigationRoutes.configuredWallets,
|
|
44
46
|
];
|
|
45
47
|
|
|
46
48
|
export const backButtonRoutes = [
|
|
@@ -63,6 +65,7 @@ export const backButtonRoutes = [
|
|
|
63
65
|
navigationRoutes.bookmarks,
|
|
64
66
|
navigationRoutes.recentWallets,
|
|
65
67
|
navigationRoutes.connectedWallets,
|
|
68
|
+
navigationRoutes.configuredWallets,
|
|
66
69
|
];
|
|
67
70
|
|
|
68
71
|
export type NavigationRouteType = keyof typeof navigationRoutes;
|