@imtbl/checkout-widgets 2.7.4 → 2.7.5-alpha.0
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/browser/{AddTokensWidget-B4nZ0HMf.js → AddTokensWidget-BCWjE2Pz.js} +3 -3
- package/dist/browser/{BridgeWidget-S1v1fnty.js → BridgeWidget-BXB7tL8H.js} +6 -6
- package/dist/browser/{CommerceWidget-CaLd6p8w.js → CommerceWidget-E2bxekSi.js} +21 -15
- package/dist/browser/{FeesBreakdown-BNI5ph2W.js → FeesBreakdown-DizTYvG3.js} +1 -1
- package/dist/browser/{OnRampWidget-DOgoM-HN.js → OnRampWidget-BqXKz_k2.js} +3 -3
- package/dist/browser/{SaleWidget-CsFlqCGg.js → SaleWidget-DBoCY2xY.js} +10 -10
- package/dist/browser/{SpendingCapHero-DCd0XHoV.js → SpendingCapHero-BDioa265.js} +1 -1
- package/dist/browser/{SwapWidget-Ckfq52QX.js → SwapWidget-DjOu_VrR.js} +6 -6
- package/dist/browser/{TokenImage-B9f71jQ8.js → TokenImage-BxKfbWiG.js} +1 -1
- package/dist/browser/{TopUpView-C25Gy1Pf.js → TopUpView-Cl09KbdC.js} +1 -1
- package/dist/browser/{WalletApproveHero-Dr0k2Zy7.js → WalletApproveHero-B4L4fZyi.js} +2 -2
- package/dist/browser/{WalletWidget-DnsMbzSc.js → WalletWidget-CPda1Pax.js} +3 -3
- package/dist/browser/{auto-track-CTf45F8G.js → auto-track-CtH8fUVB.js} +1 -1
- package/dist/browser/{index-CJZPS4R8.js → index-ANjHW9LZ.js} +2 -2
- package/dist/browser/{index-D6WQa-Wt.js → index-BJLu6k8z.js} +1 -1
- package/dist/browser/{index-C0bbz4Qj.js → index-BSjTexIp.js} +1 -1
- package/dist/browser/{index-DFw2AGCn.js → index-BdWWOWZY.js} +40 -33
- package/dist/browser/{index-oh9cIxv4.js → index-CUF1iqKM.js} +1 -1
- package/dist/browser/{index-B7UkvAen.js → index-CvJL8EcP.js} +1 -1
- package/dist/browser/{index-DXcVSTMH.js → index-DSXCtSIc.js} +1 -1
- package/dist/browser/{index-DQK3bdYc.js → index-DeAC7eQx.js} +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/{index.umd-8eJ-j-_P.js → index.umd-BtV5PgHB.js} +1 -1
- package/dist/browser/{useInterval-CE0RNArG.js → useInterval-C3RHVG_6.js} +1 -1
- package/dist/types/components/ConnectLoader/ConnectLoader.d.ts +3 -2
- package/dist/types/widgets/connect/ConnectWidget.d.ts +1 -1
- package/dist/types/widgets/connect/components/WalletList.d.ts +2 -1
- package/dist/types/widgets/connect/views/ConnectWallet.d.ts +3 -2
- package/dist/types/widgets/immutable-commerce/CommerceWidgetRoot.d.ts +1 -0
- package/dist/types/widgets/immutable-commerce/functions/getConnectLoaderParams.d.ts +2 -2
- package/package.json +7 -7
- package/src/components/ConnectLoader/ConnectLoader.tsx +5 -2
- package/src/widgets/connect/ConnectWidget.tsx +3 -1
- package/src/widgets/connect/components/WalletList.tsx +19 -10
- package/src/widgets/connect/views/ConnectWallet.tsx +4 -1
- package/src/widgets/immutable-commerce/CommerceWidget.tsx +2 -2
- package/src/widgets/immutable-commerce/functions/getConnectLoaderParams.ts +8 -1
- package/src/widgets/on-ramp/OnRampWidgetRoot.tsx +1 -0
- package/src/widgets/sale/SaleWidgetRoot.tsx +2 -0
- package/src/widgets/swap/SwapWidgetRoot.tsx +1 -0
- package/src/widgets/wallet/WalletWidgetRoot.tsx +1 -0
|
@@ -3,9 +3,10 @@ export interface ConnectWalletProps {
|
|
|
3
3
|
targetWalletRdns?: string;
|
|
4
4
|
targetChainId: ChainId;
|
|
5
5
|
allowedChains: ChainId[];
|
|
6
|
-
|
|
6
|
+
allowlistWalletRdns?: string[];
|
|
7
|
+
blocklistWalletRdns: string[];
|
|
7
8
|
checkNetwork: boolean;
|
|
8
9
|
showBackButton?: boolean;
|
|
9
10
|
onBackButtonClick?: () => void;
|
|
10
11
|
}
|
|
11
|
-
export declare function ConnectWallet({ targetWalletRdns, targetChainId, allowedChains, blocklistWalletRdns, checkNetwork, showBackButton, onBackButtonClick, }: ConnectWalletProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function ConnectWallet({ targetWalletRdns, targetChainId, allowedChains, allowlistWalletRdns, blocklistWalletRdns, checkNetwork, showBackButton, onBackButtonClick, }: ConnectWalletProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -9,6 +9,7 @@ export declare class CommerceWidgetRoot extends Base<WidgetType.IMMUTABLE_COMMER
|
|
|
9
9
|
targetChainId?: import("@imtbl/checkout-sdk").ChainId;
|
|
10
10
|
targetWalletRdns?: string | import("@imtbl/checkout-sdk").WalletProviderRdns;
|
|
11
11
|
blocklistWalletRdns?: string[];
|
|
12
|
+
allowlistWalletRdns?: string[];
|
|
12
13
|
};
|
|
13
14
|
protected getValidWalletFlowParams(params: CommerceWidgetWalletFlowParams): CommerceWidgetWalletFlowParams;
|
|
14
15
|
protected getValidSaleFlowParams(params: CommerceWidgetSaleFlowParams): {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Checkout, WrappedBrowserProvider } from '@imtbl/checkout-sdk';
|
|
1
|
+
import { Checkout, CommerceWidgetConfiguration, WrappedBrowserProvider } from '@imtbl/checkout-sdk';
|
|
2
2
|
import { ConnectLoaderParams } from '../../../components/ConnectLoader/ConnectLoader';
|
|
3
3
|
import { View } from '../../../context/view-context/ViewContext';
|
|
4
4
|
/**
|
|
5
5
|
* Get the connect loader params for the widget
|
|
6
6
|
*/
|
|
7
|
-
export declare function getConnectLoaderParams(view: View, checkout: Checkout, browserProvider: WrappedBrowserProvider | undefined): ConnectLoaderParams;
|
|
7
|
+
export declare function getConnectLoaderParams(view: View, flowConfig: CommerceWidgetConfiguration, checkout: Checkout, browserProvider: WrappedBrowserProvider | undefined): ConnectLoaderParams;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imtbl/checkout-widgets",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5-alpha.0",
|
|
4
4
|
"browserslist": {
|
|
5
5
|
"production": [
|
|
6
6
|
">0.2%",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"@biom3/design-tokens": "^0.4.5",
|
|
19
19
|
"@biom3/react": "^0.29.4",
|
|
20
20
|
"@emotion/react": "^11.11.3",
|
|
21
|
-
"@imtbl/bridge-sdk": "2.7.
|
|
22
|
-
"@imtbl/checkout-sdk": "2.7.
|
|
23
|
-
"@imtbl/config": "2.7.
|
|
24
|
-
"@imtbl/cryptofiat": "2.7.
|
|
25
|
-
"@imtbl/dex-sdk": "2.7.
|
|
26
|
-
"@imtbl/passport": "2.7.
|
|
21
|
+
"@imtbl/bridge-sdk": "2.7.5-alpha.0",
|
|
22
|
+
"@imtbl/checkout-sdk": "2.7.5-alpha.0",
|
|
23
|
+
"@imtbl/config": "2.7.5-alpha.0",
|
|
24
|
+
"@imtbl/cryptofiat": "2.7.5-alpha.0",
|
|
25
|
+
"@imtbl/dex-sdk": "2.7.5-alpha.0",
|
|
26
|
+
"@imtbl/passport": "2.7.5-alpha.0",
|
|
27
27
|
"@imtbl/react-analytics": "0.3.4-alpha",
|
|
28
28
|
"@rive-app/react-canvas-lite": "^4.9.0",
|
|
29
29
|
"@walletconnect/ethereum-provider": "^2.11.1",
|
|
@@ -37,11 +37,12 @@ export interface ConnectLoaderProps {
|
|
|
37
37
|
|
|
38
38
|
export interface ConnectLoaderParams {
|
|
39
39
|
targetChainId: ChainId;
|
|
40
|
-
walletProviderName
|
|
41
|
-
browserProvider
|
|
40
|
+
walletProviderName: WalletProviderName | undefined;
|
|
41
|
+
browserProvider: WrappedBrowserProvider | undefined;
|
|
42
42
|
checkout: Checkout;
|
|
43
43
|
allowedChains: ChainId[];
|
|
44
44
|
isCheckNetworkEnabled?: boolean;
|
|
45
|
+
allowlistWalletRdns: string[] | undefined;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export function ConnectLoader({
|
|
@@ -60,6 +61,7 @@ export function ConnectLoader({
|
|
|
60
61
|
allowedChains,
|
|
61
62
|
browserProvider,
|
|
62
63
|
isCheckNetworkEnabled,
|
|
64
|
+
allowlistWalletRdns,
|
|
63
65
|
} = params;
|
|
64
66
|
|
|
65
67
|
const { t } = useTranslation();
|
|
@@ -253,6 +255,7 @@ export function ConnectLoader({
|
|
|
253
255
|
<ConnectWidget
|
|
254
256
|
config={widgetConfig}
|
|
255
257
|
targetChainId={targetChainId}
|
|
258
|
+
allowlistWalletRdns={allowlistWalletRdns}
|
|
256
259
|
browserProvider={provider}
|
|
257
260
|
checkout={checkout}
|
|
258
261
|
deepLink={deepLink}
|
|
@@ -80,6 +80,7 @@ export default function ConnectWidget({
|
|
|
80
80
|
targetWalletRdns,
|
|
81
81
|
targetChainId,
|
|
82
82
|
allowedChains,
|
|
83
|
+
allowlistWalletRdns,
|
|
83
84
|
blocklistWalletRdns,
|
|
84
85
|
deepLink = ConnectWidgetViews.CONNECT_WALLET,
|
|
85
86
|
isCheckNetworkEnabled,
|
|
@@ -219,7 +220,8 @@ export default function ConnectWidget({
|
|
|
219
220
|
targetWalletRdns={targetWalletRdns}
|
|
220
221
|
targetChainId={targetChain}
|
|
221
222
|
allowedChains={allowedChains ?? [targetChain]}
|
|
222
|
-
|
|
223
|
+
allowlistWalletRdns={allowlistWalletRdns}
|
|
224
|
+
blocklistWalletRdns={blocklistWalletRdns ?? []}
|
|
223
225
|
checkNetwork={isCheckNetworkEnabled ?? true}
|
|
224
226
|
showBackButton={showBackButton}
|
|
225
227
|
onBackButtonClick={sendGoBackEventOverride}
|
|
@@ -55,10 +55,17 @@ export interface WalletListProps {
|
|
|
55
55
|
targetWalletRdns?: string;
|
|
56
56
|
targetChainId: ChainId;
|
|
57
57
|
allowedChains: ChainId[];
|
|
58
|
-
|
|
58
|
+
allowlistWalletRdns?: string[];
|
|
59
|
+
blocklistWalletRdns: string[];
|
|
59
60
|
isCheckNetworkEnabled: boolean;
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
// eslint-disable-next-line max-len
|
|
64
|
+
const getAllowedProviders = (providers: EIP6963ProviderDetail[], allowlist: string[] | undefined, blocklist: string[]) =>
|
|
65
|
+
(allowlist ?
|
|
66
|
+
providers.filter((provider) => !blocklist.includes(provider.info.rdns) && allowlist.includes(provider.info.rdns)) :
|
|
67
|
+
providers.filter((provider) => !blocklist.includes(provider.info.rdns)));
|
|
68
|
+
|
|
62
69
|
export function WalletList(props: WalletListProps) {
|
|
63
70
|
const { t } = useTranslation();
|
|
64
71
|
const {
|
|
@@ -66,8 +73,9 @@ export function WalletList(props: WalletListProps) {
|
|
|
66
73
|
targetChainId,
|
|
67
74
|
allowedChains,
|
|
68
75
|
isCheckNetworkEnabled,
|
|
76
|
+
allowlistWalletRdns,
|
|
77
|
+
blocklistWalletRdns,
|
|
69
78
|
} = props;
|
|
70
|
-
const blocklistWalletRdns = props?.blocklistWalletRdns || [];
|
|
71
79
|
const {
|
|
72
80
|
connectDispatch,
|
|
73
81
|
connectState: { checkout },
|
|
@@ -83,24 +91,25 @@ export function WalletList(props: WalletListProps) {
|
|
|
83
91
|
const [showNonPassportWarning, setShowNonPassportWarning] = useState(false);
|
|
84
92
|
const [chosenProviderDetail, setChosenProviderDetail] = useState<EIP6963ProviderDetail>();
|
|
85
93
|
|
|
94
|
+
const allowedProviders = useMemo(
|
|
95
|
+
() => getAllowedProviders(providers, allowlistWalletRdns, blocklistWalletRdns),
|
|
96
|
+
[providers, allowlistWalletRdns, blocklistWalletRdns],
|
|
97
|
+
);
|
|
98
|
+
|
|
86
99
|
const filteredProviders = useMemo(
|
|
87
|
-
() =>
|
|
100
|
+
() => allowedProviders
|
|
88
101
|
.filter(
|
|
89
102
|
(provider) => !(provider.info.rdns === WalletProviderRdns.PASSPORT),
|
|
90
|
-
)
|
|
91
|
-
.filter(
|
|
92
|
-
(provider) => !blocklistWalletRdns.includes(provider.info.rdns),
|
|
93
103
|
),
|
|
94
|
-
[
|
|
104
|
+
[allowedProviders],
|
|
95
105
|
);
|
|
96
106
|
|
|
97
107
|
// Don't allow Passport if targetChainId is L1
|
|
98
108
|
const passportProviderDetail = useMemo(
|
|
99
109
|
() => targetChainId !== checkout!.config.l1ChainId
|
|
100
|
-
&&
|
|
101
|
-
.filter((provider) => !blocklistWalletRdns.includes(provider.info.rdns))
|
|
110
|
+
&& allowedProviders
|
|
102
111
|
.find((provider) => provider.info.rdns === WalletProviderRdns.PASSPORT),
|
|
103
|
-
[
|
|
112
|
+
[allowedProviders, checkout, targetChainId],
|
|
104
113
|
);
|
|
105
114
|
|
|
106
115
|
const selectBrowserProvider = useCallback(
|
|
@@ -13,7 +13,8 @@ export interface ConnectWalletProps {
|
|
|
13
13
|
targetWalletRdns?: string,
|
|
14
14
|
targetChainId: ChainId;
|
|
15
15
|
allowedChains: ChainId[];
|
|
16
|
-
|
|
16
|
+
allowlistWalletRdns?: string[];
|
|
17
|
+
blocklistWalletRdns: string[];
|
|
17
18
|
checkNetwork: boolean;
|
|
18
19
|
showBackButton?: boolean;
|
|
19
20
|
onBackButtonClick?: () => void;
|
|
@@ -23,6 +24,7 @@ export function ConnectWallet({
|
|
|
23
24
|
targetWalletRdns,
|
|
24
25
|
targetChainId,
|
|
25
26
|
allowedChains,
|
|
27
|
+
allowlistWalletRdns,
|
|
26
28
|
blocklistWalletRdns,
|
|
27
29
|
checkNetwork,
|
|
28
30
|
showBackButton,
|
|
@@ -86,6 +88,7 @@ export function ConnectWallet({
|
|
|
86
88
|
targetWalletRdns={targetWalletRdns}
|
|
87
89
|
targetChainId={targetChainId}
|
|
88
90
|
allowedChains={allowedChains}
|
|
91
|
+
allowlistWalletRdns={allowlistWalletRdns}
|
|
89
92
|
blocklistWalletRdns={blocklistWalletRdns}
|
|
90
93
|
isCheckNetworkEnabled={checkNetwork}
|
|
91
94
|
/>
|
|
@@ -80,8 +80,8 @@ export default function CommerceWidget(props: CommerceWidgetInputs) {
|
|
|
80
80
|
const { provider } = commerceState;
|
|
81
81
|
|
|
82
82
|
const connectLoaderParams = useMemo(
|
|
83
|
-
() => getConnectLoaderParams(view, checkout, provider || browserProvider),
|
|
84
|
-
[view, checkout, provider, browserProvider],
|
|
83
|
+
() => getConnectLoaderParams(view, flowConfig, checkout, provider || browserProvider),
|
|
84
|
+
[view, flowConfig, checkout, provider, browserProvider],
|
|
85
85
|
);
|
|
86
86
|
|
|
87
87
|
const connectLoaderSuccessEvent = (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Checkout, CommerceFlowType, WrappedBrowserProvider,
|
|
2
|
+
Checkout, CommerceFlowType, CommerceWidgetConfiguration, WrappedBrowserProvider,
|
|
3
3
|
} from '@imtbl/checkout-sdk';
|
|
4
4
|
import { ConnectLoaderParams } from '../../../components/ConnectLoader/ConnectLoader';
|
|
5
5
|
import { View } from '../../../context/view-context/ViewContext';
|
|
@@ -9,6 +9,7 @@ import { View } from '../../../context/view-context/ViewContext';
|
|
|
9
9
|
*/
|
|
10
10
|
export function getConnectLoaderParams(
|
|
11
11
|
view: View,
|
|
12
|
+
flowConfig: CommerceWidgetConfiguration,
|
|
12
13
|
checkout: Checkout,
|
|
13
14
|
browserProvider: WrappedBrowserProvider | undefined,
|
|
14
15
|
): ConnectLoaderParams {
|
|
@@ -24,6 +25,8 @@ export function getConnectLoaderParams(
|
|
|
24
25
|
checkout.config.l1ChainId,
|
|
25
26
|
checkout.config.l2ChainId,
|
|
26
27
|
],
|
|
28
|
+
allowlistWalletRdns: flowConfig.CONNECT?.allowlistWalletRdns,
|
|
29
|
+
walletProviderName: undefined,
|
|
27
30
|
};
|
|
28
31
|
case CommerceFlowType.ONRAMP:
|
|
29
32
|
case CommerceFlowType.ADD_TOKENS:
|
|
@@ -35,6 +38,8 @@ export function getConnectLoaderParams(
|
|
|
35
38
|
checkout.config.l1ChainId,
|
|
36
39
|
checkout.config.l2ChainId,
|
|
37
40
|
],
|
|
41
|
+
allowlistWalletRdns: flowConfig.CONNECT?.allowlistWalletRdns,
|
|
42
|
+
walletProviderName: undefined,
|
|
38
43
|
};
|
|
39
44
|
case CommerceFlowType.SALE:
|
|
40
45
|
case CommerceFlowType.SWAP:
|
|
@@ -44,6 +49,8 @@ export function getConnectLoaderParams(
|
|
|
44
49
|
browserProvider,
|
|
45
50
|
targetChainId: checkout.config.l2ChainId,
|
|
46
51
|
allowedChains: [checkout.config.l2ChainId],
|
|
52
|
+
allowlistWalletRdns: flowConfig.CONNECT?.allowlistWalletRdns,
|
|
53
|
+
walletProviderName: undefined,
|
|
47
54
|
};
|
|
48
55
|
default:
|
|
49
56
|
return {} as ConnectLoaderParams;
|
|
@@ -82,6 +82,7 @@ export class OnRamp extends Base<WidgetType.ONRAMP> {
|
|
|
82
82
|
browserProvider: this.browserProvider,
|
|
83
83
|
checkout: this.checkout,
|
|
84
84
|
allowedChains: [this.checkout.config.l1ChainId, this.checkout.config.l2ChainId],
|
|
85
|
+
allowlistWalletRdns: undefined,
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
this.reactRoot.render(
|
|
@@ -124,6 +124,8 @@ export class Sale extends Base<WidgetType.SALE> {
|
|
|
124
124
|
browserProvider: this.browserProvider,
|
|
125
125
|
checkout: this.checkout,
|
|
126
126
|
allowedChains: [this.checkout.config.l2ChainId],
|
|
127
|
+
allowlistWalletRdns: undefined,
|
|
128
|
+
walletProviderName: undefined,
|
|
127
129
|
};
|
|
128
130
|
const config = this.strongConfig();
|
|
129
131
|
|
|
@@ -74,6 +74,7 @@ export class Wallet extends Base<WidgetType.WALLET> {
|
|
|
74
74
|
browserProvider: this.browserProvider,
|
|
75
75
|
checkout: this.checkout,
|
|
76
76
|
allowedChains: [this.checkout.config.l1ChainId, this.checkout.config.l2ChainId],
|
|
77
|
+
allowlistWalletRdns: undefined,
|
|
77
78
|
};
|
|
78
79
|
|
|
79
80
|
this.reactRoot.render(
|