@rango-dev/widget-embedded 0.1.20-next.0 → 0.1.20-next.10
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/dist/QueueManager.d.ts +3 -3
- package/dist/QueueManager.d.ts.map +1 -1
- package/dist/Widget.d.ts +8 -0
- package/dist/Widget.d.ts.map +1 -0
- package/dist/components/AppRouter.d.ts +7 -7
- package/dist/components/AppRouter.d.ts.map +1 -1
- package/dist/components/AppRoutes.d.ts +7 -7
- package/dist/components/AppRoutes.d.ts.map +1 -1
- package/dist/components/BottomLogo.d.ts +2 -2
- package/dist/components/BottomLogo.d.ts.map +1 -1
- package/dist/components/ChangeSlippageButton.d.ts +2 -2
- package/dist/components/ChangeSlippageButton.d.ts.map +1 -1
- package/dist/components/ConfirmSwapErrors.d.ts +3 -3
- package/dist/components/ConfirmSwapErrors.d.ts.map +1 -1
- package/dist/components/ConfirmSwapWarnings.d.ts +2 -2
- package/dist/components/ConfirmSwapWarnings.d.ts.map +1 -1
- package/dist/components/Footer.d.ts +111 -111
- package/dist/components/Footer.d.ts.map +1 -1
- package/dist/components/HeaderButtons.d.ts +6 -6
- package/dist/components/HeaderButtons.d.ts.map +1 -1
- package/dist/components/Layout.d.ts +6 -6
- package/dist/components/Layout.d.ts.map +1 -1
- package/dist/components/PercentageChange.d.ts +8 -8
- package/dist/components/PercentageChange.d.ts.map +1 -1
- package/dist/components/RoutesOverview.d.ts +119 -119
- package/dist/components/RoutesOverview.d.ts.map +1 -1
- package/dist/components/SwapDetailsPlaceholder.d.ts +119 -119
- package/dist/components/SwapDetailsPlaceholder.d.ts.map +1 -1
- package/dist/components/SwitchFromAndTo.d.ts +3 -3
- package/dist/components/SwitchFromAndTo.d.ts.map +1 -1
- package/dist/components/TokenInfo.d.ts +17 -17
- package/dist/components/TokenInfo.d.ts.map +1 -1
- package/dist/components/TokenPreview.d.ts +20 -20
- package/dist/components/TokenPreview.d.ts.map +1 -1
- package/dist/components/UpdateUrl.d.ts +1 -1
- package/dist/components/UpdateUrl.d.ts.map +1 -1
- package/dist/components/warnings/BalanceErrors.d.ts +6 -6
- package/dist/components/warnings/BalanceErrors.d.ts.map +1 -1
- package/dist/components/warnings/ConfirmSwapExtraMessages.d.ts +6 -6
- package/dist/components/warnings/ConfirmSwapExtraMessages.d.ts.map +1 -1
- package/dist/components/warnings/HighSlippageWarning.d.ts +6 -6
- package/dist/components/warnings/HighSlippageWarning.d.ts.map +1 -1
- package/dist/components/warnings/MinRequiredSlippage.d.ts +6 -6
- package/dist/components/warnings/MinRequiredSlippage.d.ts.map +1 -1
- package/dist/constants/errors.d.ts +3 -3
- package/dist/constants/errors.d.ts.map +1 -1
- package/dist/constants/navigationRoutes.d.ts +13 -13
- package/dist/constants/navigationRoutes.d.ts.map +1 -1
- package/dist/constants/numbers.d.ts +2 -2
- package/dist/constants/numbers.d.ts.map +1 -1
- package/dist/constants/searchParams.d.ts +7 -7
- package/dist/constants/searchParams.d.ts.map +1 -1
- package/dist/constants/swapSettings.d.ts +5 -5
- package/dist/constants/swapSettings.d.ts.map +1 -1
- package/dist/globalStyles.d.ts +1 -1
- package/dist/globalStyles.d.ts.map +1 -1
- package/dist/hooks/useConfirmSwap.d.ts +10 -10
- package/dist/hooks/useConfirmSwap.d.ts.map +1 -1
- package/dist/hooks/useNavigateBack.d.ts +3 -3
- package/dist/hooks/useNavigateBack.d.ts.map +1 -1
- package/dist/hooks/usePrevious.d.ts +1 -1
- package/dist/hooks/usePrevious.d.ts.map +1 -1
- package/dist/hooks/useSelectLanguage.d.ts +4 -4
- package/dist/hooks/useSelectLanguage.d.ts.map +1 -1
- package/dist/hooks/useTheme.d.ts +30 -4
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/i18n.d.ts +2 -2
- package/dist/i18n.d.ts.map +1 -1
- package/dist/index.d.ts +5 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -8
- package/dist/index.js.map +7 -0
- package/dist/mockData/pendingSwap.d.ts +1 -1
- package/dist/mockData/pendingSwap.d.ts.map +1 -1
- package/dist/pages/ConfirmSwapPage.d.ts +4 -2
- package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
- package/dist/pages/HistoryPage.d.ts +2 -2
- package/dist/pages/HistoryPage.d.ts.map +1 -1
- package/dist/pages/Home.d.ts +2 -2
- package/dist/pages/Home.d.ts.map +1 -1
- package/dist/pages/LiquiditySourcesPage.d.ts +6 -6
- package/dist/pages/LiquiditySourcesPage.d.ts.map +1 -1
- package/dist/pages/SelectChainPage.d.ts +7 -7
- package/dist/pages/SelectChainPage.d.ts.map +1 -1
- package/dist/pages/SelectTokenPage.d.ts +14 -14
- package/dist/pages/SelectTokenPage.d.ts.map +1 -1
- package/dist/pages/SettingsPage.d.ts +7 -7
- package/dist/pages/SettingsPage.d.ts.map +1 -1
- package/dist/pages/SwapDetailsPage.d.ts +2 -2
- package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
- package/dist/pages/WalletsPage.d.ts +8 -8
- package/dist/pages/WalletsPage.d.ts.map +1 -1
- package/dist/services/httpService.d.ts +3 -3
- package/dist/services/httpService.d.ts.map +1 -1
- package/dist/store/bestRoute.d.ts +67 -31
- package/dist/store/bestRoute.d.ts.map +1 -1
- package/dist/store/meta.d.ts +17 -8
- package/dist/store/meta.d.ts.map +1 -1
- package/dist/store/selectors.d.ts +10 -10
- package/dist/store/selectors.d.ts.map +1 -1
- package/dist/store/settings.d.ts +55 -18
- package/dist/store/settings.d.ts.map +1 -1
- package/dist/store/ui.d.ts +22 -1
- package/dist/store/ui.d.ts.map +1 -1
- package/dist/store/wallets.d.ts +59 -33
- package/dist/store/wallets.d.ts.map +1 -1
- package/dist/types/config.d.ts +114 -114
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/routing.d.ts +57 -57
- package/dist/types/routing.d.ts.map +1 -1
- package/dist/types/swap.d.ts +16 -16
- package/dist/types/swap.d.ts.map +1 -1
- package/dist/types/wallets.d.ts +6 -6
- package/dist/types/wallets.d.ts.map +1 -1
- package/dist/utils/common.d.ts +3 -3
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/configs.d.ts +6 -6
- package/dist/utils/configs.d.ts.map +1 -1
- package/dist/utils/date.d.ts +2 -2
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/numbers.d.ts +13 -13
- package/dist/utils/numbers.d.ts.map +1 -1
- package/dist/utils/queue.d.ts +3 -3
- package/dist/utils/queue.d.ts.map +1 -1
- package/dist/utils/routing.d.ts +17 -17
- package/dist/utils/routing.d.ts.map +1 -1
- package/dist/utils/swap.d.ts +52 -50
- package/dist/utils/swap.d.ts.map +1 -1
- package/dist/utils/time.d.ts +3 -3
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/wallets.d.ts +27 -27
- package/dist/utils/wallets.d.ts.map +1 -1
- package/package.json +15 -22
- package/src/QueueManager.tsx +5 -4
- package/src/{index.tsx → Widget.tsx} +1 -8
- package/src/components/AppRouter.tsx +4 -0
- package/src/components/AppRoutes.tsx +1 -1
- package/src/hooks/useConfirmSwap.ts +4 -1
- package/src/index.ts +18 -0
- package/src/pages/ConfirmSwapPage.tsx +47 -18
- package/src/pages/SwapDetailsPage.tsx +14 -9
- package/src/store/wallets.ts +8 -1
- package/src/types/config.ts +2 -2
- package/src/utils/common.ts +2 -0
- package/src/utils/swap.ts +38 -2
- package/src/utils/wallets.ts +20 -14
- package/dist/widget-embedded.cjs.development.js +0 -3401
- package/dist/widget-embedded.cjs.development.js.map +0 -1
- package/dist/widget-embedded.cjs.production.min.js +0 -3401
- package/dist/widget-embedded.cjs.production.min.js.map +0 -1
- package/dist/widget-embedded.esm.js +0 -3392
- package/dist/widget-embedded.esm.js.map +0 -1
package/src/types/config.ts
CHANGED
|
@@ -91,7 +91,7 @@ export type BlockchainAndTokenConfig = {
|
|
|
91
91
|
* include values like `"metamask"`, `"kepler"`, or `"phantom"`.
|
|
92
92
|
* @property {boolean} multiWallets - The `multiWallets` property is a boolean value that indicates
|
|
93
93
|
* whether the widget should allow the user to select multiple wallets for the transaction.
|
|
94
|
-
* @property {boolean}
|
|
94
|
+
* @property {boolean} customDestination - A boolean value indicating whether the user can input a custom
|
|
95
95
|
* address for the transaction. If set to true, the widget will allow the user to input a custom
|
|
96
96
|
* address for the destination.
|
|
97
97
|
* @property {string} language - The language property is an optional string that specifies the
|
|
@@ -110,7 +110,7 @@ export type WidgetConfig = {
|
|
|
110
110
|
liquiditySources?: string[];
|
|
111
111
|
wallets?: WalletType[];
|
|
112
112
|
multiWallets?: boolean;
|
|
113
|
-
|
|
113
|
+
customDestination?: boolean;
|
|
114
114
|
language?: string;
|
|
115
115
|
theme?: WidgetTheme;
|
|
116
116
|
};
|
package/src/utils/common.ts
CHANGED
package/src/utils/swap.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { numberToString } from './numbers';
|
|
|
12
12
|
import { WalletType } from '@rango-dev/wallets-shared';
|
|
13
13
|
import { getRequiredBalanceOfWallet } from './routing';
|
|
14
14
|
import { getRequiredChains } from './wallets';
|
|
15
|
-
import { LoadingStatus } from '../store/meta';
|
|
15
|
+
import { LoadingStatus, useMetaStore } from '../store/meta';
|
|
16
16
|
import { ConvertedToken, SwapButtonState, Wallet } from '../types';
|
|
17
17
|
import {
|
|
18
18
|
PendingSwapNetworkStatus,
|
|
@@ -317,7 +317,8 @@ export function createBestRouteRequestBody(
|
|
|
317
317
|
disabledLiquiditySources: string[],
|
|
318
318
|
slippage: number,
|
|
319
319
|
affiliateRef: string | null,
|
|
320
|
-
initialRoute?: BestRouteResponse
|
|
320
|
+
initialRoute?: BestRouteResponse,
|
|
321
|
+
destination?: string
|
|
321
322
|
): BestRouteRequest {
|
|
322
323
|
const selectedWalletsMap = selectedWallets.reduce(
|
|
323
324
|
(
|
|
@@ -370,6 +371,7 @@ export function createBestRouteRequestBody(
|
|
|
370
371
|
symbol: toToken.symbol,
|
|
371
372
|
},
|
|
372
373
|
connectedWallets,
|
|
374
|
+
destination: destination || undefined,
|
|
373
375
|
selectedWallets: selectedWalletsMap,
|
|
374
376
|
swapperGroups: disabledLiquiditySources,
|
|
375
377
|
swappersGroupsExclude: true,
|
|
@@ -561,3 +563,37 @@ export function shouldRetrySwap(pendingSwap: PendingSwap) {
|
|
|
561
563
|
new Date().getTime() - parseInt(pendingSwap.finishTime) < 4 * 3600 * 1000
|
|
562
564
|
);
|
|
563
565
|
}
|
|
566
|
+
export function isValidCustomDestination(
|
|
567
|
+
blockchain: string,
|
|
568
|
+
address: string
|
|
569
|
+
): boolean {
|
|
570
|
+
const blockchains = useMetaStore.getState().meta.blockchains;
|
|
571
|
+
const regex =
|
|
572
|
+
blockchains.find((chain) => chain.name === blockchain)?.addressPatterns ||
|
|
573
|
+
[];
|
|
574
|
+
return regex.filter((r) => new RegExp(r).test(address)).length > 0;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export function confirmSwapDisabled(
|
|
578
|
+
fetching: boolean,
|
|
579
|
+
destinationChain: string,
|
|
580
|
+
customDestination: string,
|
|
581
|
+
bestRoute: BestRouteResponse | null,
|
|
582
|
+
selectedWallets: Wallet[]
|
|
583
|
+
) {
|
|
584
|
+
return (
|
|
585
|
+
fetching ||
|
|
586
|
+
(!destinationChain &&
|
|
587
|
+
!requiredWallets(bestRoute).every((chain) =>
|
|
588
|
+
selectedWallets.map((wallet) => wallet.chain).includes(chain)
|
|
589
|
+
)) ||
|
|
590
|
+
(!!destinationChain && !customDestination) ||
|
|
591
|
+
(!!destinationChain &&
|
|
592
|
+
!!customDestination &&
|
|
593
|
+
!requiredWallets(bestRoute)
|
|
594
|
+
.filter((chain) => chain !== destinationChain)
|
|
595
|
+
.every((chain) =>
|
|
596
|
+
selectedWallets.map((wallet) => wallet.chain).includes(chain)
|
|
597
|
+
))
|
|
598
|
+
);
|
|
599
|
+
}
|
package/src/utils/wallets.ts
CHANGED
|
@@ -168,21 +168,27 @@ type Blockchain = { name: string; accounts: ConnectedWallet[] };
|
|
|
168
168
|
export function getSelectableWallets(
|
|
169
169
|
connectedWallets: ConnectedWallet[],
|
|
170
170
|
selectedWallets: Wallet[],
|
|
171
|
-
getWalletInfo: (type: WalletType) => WalletInfo
|
|
171
|
+
getWalletInfo: (type: WalletType) => WalletInfo,
|
|
172
|
+
destinationChain?: string
|
|
172
173
|
): SelectableWallet[] {
|
|
173
|
-
const selectableWallets
|
|
174
|
-
(connectedWallet) =>
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
174
|
+
const selectableWallets = connectedWallets.map(
|
|
175
|
+
(connectedWallet: ConnectedWallet) => {
|
|
176
|
+
return {
|
|
177
|
+
address: connectedWallet.address,
|
|
178
|
+
walletType: connectedWallet.walletType,
|
|
179
|
+
chain: connectedWallet.chain,
|
|
180
|
+
image: getWalletInfo(connectedWallet.walletType).img,
|
|
181
|
+
name: getWalletInfo(connectedWallet.walletType).name,
|
|
182
|
+
selected:
|
|
183
|
+
destinationChain === connectedWallet.chain
|
|
184
|
+
? false
|
|
185
|
+
: !!selectedWallets.find(
|
|
186
|
+
(selectedWallet) =>
|
|
187
|
+
selectedWallet.chain === connectedWallet.chain &&
|
|
188
|
+
selectedWallet.walletType === connectedWallet.walletType
|
|
189
|
+
),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
186
192
|
);
|
|
187
193
|
|
|
188
194
|
return selectableWallets;
|