@funkit/connect 5.1.4 → 5.2.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/{chunk-A7G4HZZY.js → chunk-2C7D5NQG.js} +19 -4
  3. package/dist/{chunk-L55ALBJE.js → chunk-PKXUTXYG.js} +4 -4
  4. package/dist/{chunk-IDAA2OY6.js → chunk-QBCQK5KX.js} +4 -4
  5. package/dist/components/Box/Box.d.ts +29 -29
  6. package/dist/components/Dropdown/ReceiveTokenDropdown.d.ts +3 -3
  7. package/dist/components/FunBadge/FunBadge.d.ts +3 -3
  8. package/dist/components/FunButton/FunRedirectButton.d.ts +6 -0
  9. package/dist/components/FunInput/FunTwoFaInput.d.ts +2 -2
  10. package/dist/components/FunNotification/FunNotification.d.ts +2 -6
  11. package/dist/components/NewTokenDepositAlert/NewTokenDepositAlert.d.ts +7 -0
  12. package/dist/components/YouPayYouReceive/YouPayYouReceive.d.ts +2 -1
  13. package/dist/consts/funkit.d.ts +0 -5
  14. package/dist/css/sprinkles.css.d.ts +41 -35
  15. package/dist/hooks/useCheckoutAccountBalanceTransfer.d.ts +1 -1
  16. package/dist/hooks/useRelayBypass.d.ts +12 -0
  17. package/dist/index.css +2432 -2423
  18. package/dist/index.js +772 -729
  19. package/dist/providers/FunkitCheckoutContext.d.ts +1 -1
  20. package/dist/providers/FunkitThemeProvider.d.ts +18 -9
  21. package/dist/providers/GeneralWalletProvider.d.ts +8 -8
  22. package/dist/themes/baseTheme.js +1 -1
  23. package/dist/themes/darkTheme.js +2 -2
  24. package/dist/themes/lightTheme.js +2 -2
  25. package/dist/utils/checkout.d.ts +11 -9
  26. package/dist/utils/consts.d.ts +1 -0
  27. package/dist/utils/flags/config.d.ts +20 -4
  28. package/dist/utils/flags/types.d.ts +7 -0
  29. package/dist/wallets/walletConnectors/chunk-2UCNRD7H.js +70 -0
  30. package/dist/wallets/walletConnectors/chunk-3S2U24BJ.js +96 -0
  31. package/dist/wallets/walletConnectors/chunk-4WEHDI4Y.js +94 -0
  32. package/dist/wallets/walletConnectors/chunk-63YLN6R5.js +92 -0
  33. package/dist/wallets/walletConnectors/chunk-6ONTSPEY.js +98 -0
  34. package/dist/wallets/walletConnectors/chunk-A5APNTGL.js +99 -0
  35. package/dist/wallets/walletConnectors/chunk-AD2KIJB6.js +103 -0
  36. package/dist/wallets/walletConnectors/chunk-AXWP3GD4.js +100 -0
  37. package/dist/wallets/walletConnectors/chunk-DTRYS3MO.js +96 -0
  38. package/dist/wallets/walletConnectors/chunk-G73C6P5P.js +146 -0
  39. package/dist/wallets/walletConnectors/chunk-GSOYKKIS.js +92 -0
  40. package/dist/wallets/walletConnectors/chunk-HBA36GW3.js +95 -0
  41. package/dist/wallets/walletConnectors/chunk-IDKVN5CF.js +93 -0
  42. package/dist/wallets/walletConnectors/chunk-ISIBREBO.js +106 -0
  43. package/dist/wallets/walletConnectors/chunk-KR6JBW5E.js +87 -0
  44. package/dist/wallets/walletConnectors/chunk-LMZMXEXL.js +66 -0
  45. package/dist/wallets/walletConnectors/chunk-MSFKSQBY.js +110 -0
  46. package/dist/wallets/walletConnectors/chunk-W6N74MS3.js +69 -0
  47. package/dist/wallets/walletConnectors/funkitConnectWallet/funkitConnectWallet.js +0 -23
  48. package/dist/wallets/walletConnectors/index.js +62 -62
  49. package/package.json +7 -6
  50. package/dist/components/SolanaDepositAlert/SolanaDepositAlert.d.ts +0 -6
@@ -0,0 +1,98 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/bybitWallet/bybitWallet.ts
11
+ var bybitWallet = ({
12
+ projectId,
13
+ walletConnectParameters
14
+ }) => {
15
+ const isBybitInjected = hasInjectedProvider({
16
+ namespace: "bybitWallet"
17
+ });
18
+ const shouldUseWalletConnect = !isBybitInjected;
19
+ const getUri = (uri) => {
20
+ return `bybitapp://open/route?targetUrl=by://web3/walletconnect/wc?uri=${encodeURIComponent(
21
+ uri
22
+ )}`;
23
+ };
24
+ return {
25
+ id: "bybit",
26
+ name: "Bybit Wallet",
27
+ rdns: "com.bybit",
28
+ iconUrl: async () => (await import("./bybitWallet-GOPAS32Q.js")).default,
29
+ installed: !shouldUseWalletConnect ? isBybitInjected : void 0,
30
+ iconBackground: "#000000",
31
+ downloadUrls: {
32
+ chrome: "https://chromewebstore.google.com/detail/bybit-wallet/pdliaogehgdbhbnmkklieghmmjkpigpa",
33
+ browserExtension: "https://www.bybit.com/en/web3",
34
+ android: "https://play.google.com/store/apps/details?id=com.bybit.app",
35
+ ios: "https://apps.apple.com/us/app/bybit-buy-trade-crypto/id1488296980",
36
+ mobile: "https://www.bybit.com/en/web3",
37
+ qrCode: "https://www.bybit.com/en/web3"
38
+ },
39
+ mobile: {
40
+ getUri: shouldUseWalletConnect ? getUri : void 0
41
+ },
42
+ qrCode: shouldUseWalletConnect ? {
43
+ getUri: (uri) => uri,
44
+ instructions: {
45
+ learnMoreUrl: "https://www.bybit.com/en/web3",
46
+ steps: [
47
+ {
48
+ description: "wallet_connectors.bybit.qr_code.step1.description",
49
+ step: "install",
50
+ title: "wallet_connectors.bybit.qr_code.step1.title"
51
+ },
52
+ {
53
+ description: "wallet_connectors.bybit.qr_code.step2.description",
54
+ step: "create",
55
+ title: "wallet_connectors.bybit.qr_code.step2.title"
56
+ },
57
+ {
58
+ description: "wallet_connectors.bybit.qr_code.step3.description",
59
+ step: "scan",
60
+ title: "wallet_connectors.bybit.qr_code.step3.title"
61
+ }
62
+ ]
63
+ }
64
+ } : void 0,
65
+ extension: {
66
+ instructions: {
67
+ learnMoreUrl: "https://www.bybit.com/en/web3",
68
+ steps: [
69
+ {
70
+ description: "wallet_connectors.bybit.extension.step1.description",
71
+ step: "install",
72
+ title: "wallet_connectors.bybit.extension.step1.title"
73
+ },
74
+ {
75
+ description: "wallet_connectors.bybit.extension.step2.description",
76
+ step: "create",
77
+ title: "wallet_connectors.bybit.extension.step2.title"
78
+ },
79
+ {
80
+ description: "wallet_connectors.bybit.extension.step3.description",
81
+ step: "refresh",
82
+ title: "wallet_connectors.bybit.extension.step3.title"
83
+ }
84
+ ]
85
+ }
86
+ },
87
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
88
+ projectId,
89
+ walletConnectParameters
90
+ }) : getInjectedConnector({
91
+ namespace: "bybitWallet"
92
+ })
93
+ };
94
+ };
95
+
96
+ export {
97
+ bybitWallet
98
+ };
@@ -0,0 +1,99 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/bitgetWallet/bitgetWallet.ts
11
+ import { isAndroid } from "@funkit/utils";
12
+ var bitgetWallet = ({
13
+ projectId,
14
+ walletConnectParameters
15
+ }) => {
16
+ const isBitKeepInjected = hasInjectedProvider({
17
+ namespace: "bitkeep.ethereum",
18
+ flag: "isBitKeep"
19
+ });
20
+ const shouldUseWalletConnect = !isBitKeepInjected;
21
+ return {
22
+ id: "bitget",
23
+ name: "Bitget Wallet",
24
+ rdns: "com.bitget.web3",
25
+ iconUrl: async () => (await import("./bitgetWallet-CBQAJOIK.js")).default,
26
+ iconAccent: "#f6851a",
27
+ iconBackground: "#fff",
28
+ installed: !shouldUseWalletConnect ? isBitKeepInjected : void 0,
29
+ downloadUrls: {
30
+ android: "https://web3.bitget.com/en/wallet-download?type=0",
31
+ ios: "https://apps.apple.com/app/bitkeep/id1395301115",
32
+ mobile: "https://web3.bitget.com/en/wallet-download?type=2",
33
+ qrCode: "https://web3.bitget.com/en/wallet-download",
34
+ chrome: "https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",
35
+ browserExtension: "https://web3.bitget.com/en/wallet-download"
36
+ },
37
+ extension: {
38
+ instructions: {
39
+ learnMoreUrl: "https://web3.bitget.com/en/academy",
40
+ steps: [
41
+ {
42
+ description: "wallet_connectors.bitget.extension.step1.description",
43
+ step: "install",
44
+ title: "wallet_connectors.bitget.extension.step1.title"
45
+ },
46
+ {
47
+ description: "wallet_connectors.bitget.extension.step2.description",
48
+ step: "create",
49
+ title: "wallet_connectors.bitget.extension.step2.title"
50
+ },
51
+ {
52
+ description: "wallet_connectors.bitget.extension.step3.description",
53
+ step: "refresh",
54
+ title: "wallet_connectors.bitget.extension.step3.description"
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ mobile: {
60
+ getUri: shouldUseWalletConnect ? (uri) => {
61
+ return isAndroid() ? uri : `bitkeep://wc?uri=${encodeURIComponent(uri)}`;
62
+ } : void 0
63
+ },
64
+ qrCode: shouldUseWalletConnect ? {
65
+ getUri: (uri) => uri,
66
+ instructions: {
67
+ learnMoreUrl: "https://web3.bitget.com/en/academy",
68
+ steps: [
69
+ {
70
+ description: "wallet_connectors.bitget.qr_code.step1.description",
71
+ step: "install",
72
+ title: "wallet_connectors.bitget.qr_code.step1.title"
73
+ },
74
+ {
75
+ description: "wallet_connectors.bitget.qr_code.step2.description",
76
+ step: "create",
77
+ title: "wallet_connectors.bitget.qr_code.step2.title"
78
+ },
79
+ {
80
+ description: "wallet_connectors.bitget.qr_code.step3.description",
81
+ step: "scan",
82
+ title: "wallet_connectors.bitget.qr_code.step3.title"
83
+ }
84
+ ]
85
+ }
86
+ } : void 0,
87
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
88
+ projectId,
89
+ walletConnectParameters
90
+ }) : getInjectedConnector({
91
+ namespace: "bitkeep.ethereum",
92
+ flag: "isBitKeep"
93
+ })
94
+ };
95
+ };
96
+
97
+ export {
98
+ bitgetWallet
99
+ };
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/subWallet/subWallet.ts
11
+ var subWallet = ({
12
+ projectId,
13
+ walletConnectParameters
14
+ }) => {
15
+ const isSubWalletInjected = hasInjectedProvider({ namespace: "SubWallet" });
16
+ const shouldUseWalletConnect = !isSubWalletInjected;
17
+ const getUriMobile = (uri) => {
18
+ return `subwallet://wc?uri=${encodeURIComponent(uri)}`;
19
+ };
20
+ const getUriQR = (uri) => {
21
+ return uri;
22
+ };
23
+ const mobileConnector = {
24
+ getUri: shouldUseWalletConnect ? getUriMobile : void 0
25
+ };
26
+ let qrConnector = void 0;
27
+ if (shouldUseWalletConnect) {
28
+ qrConnector = {
29
+ getUri: getUriQR,
30
+ instructions: {
31
+ learnMoreUrl: "https://www.subwallet.app/",
32
+ steps: [
33
+ {
34
+ description: "wallet_connectors.subwallet.qr_code.step1.description",
35
+ step: "install",
36
+ title: "wallet_connectors.subwallet.qr_code.step1.title"
37
+ },
38
+ {
39
+ description: "wallet_connectors.subwallet.qr_code.step2.description",
40
+ step: "create",
41
+ title: "wallet_connectors.subwallet.qr_code.step2.title"
42
+ },
43
+ {
44
+ description: "wallet_connectors.subwallet.qr_code.step3.description",
45
+ step: "scan",
46
+ title: "wallet_connectors.subwallet.qr_code.step3.title"
47
+ }
48
+ ]
49
+ }
50
+ };
51
+ }
52
+ const extensionConnector = {
53
+ instructions: {
54
+ learnMoreUrl: "https://www.subwallet.app/",
55
+ steps: [
56
+ {
57
+ description: "wallet_connectors.subwallet.extension.step1.description",
58
+ step: "install",
59
+ title: "wallet_connectors.subwallet.extension.step1.title"
60
+ },
61
+ {
62
+ description: "wallet_connectors.subwallet.extension.step2.description",
63
+ step: "create",
64
+ title: "wallet_connectors.subwallet.extension.step2.title"
65
+ },
66
+ {
67
+ description: "wallet_connectors.subwallet.extension.step3.description",
68
+ step: "refresh",
69
+ title: "wallet_connectors.subwallet.extension.step3.title"
70
+ }
71
+ ]
72
+ }
73
+ };
74
+ return {
75
+ id: "subwallet",
76
+ name: "SubWallet",
77
+ rdns: "app.subwallet",
78
+ iconUrl: async () => (await import("./subWallet-5WUZ4IIO.js")).default,
79
+ iconBackground: "#fff",
80
+ installed: isSubWalletInjected || void 0,
81
+ downloadUrls: {
82
+ browserExtension: "https://www.subwallet.app/download",
83
+ chrome: "https://chrome.google.com/webstore/detail/subwallet-polkadot-wallet/onhogfjeacnfoofkfgppdlbmlmnplgbn",
84
+ firefox: "https://addons.mozilla.org/en-US/firefox/addon/subwallet/",
85
+ edge: "https://chrome.google.com/webstore/detail/subwallet-polkadot-wallet/onhogfjeacnfoofkfgppdlbmlmnplgbn",
86
+ mobile: "https://www.subwallet.app/download",
87
+ android: "https://play.google.com/store/apps/details?id=app.subwallet.mobile",
88
+ ios: "https://apps.apple.com/us/app/subwallet-polkadot-wallet/id1633050285",
89
+ qrCode: "https://www.subwallet.app/download"
90
+ },
91
+ mobile: mobileConnector,
92
+ qrCode: qrConnector,
93
+ extension: extensionConnector,
94
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
95
+ projectId,
96
+ walletConnectParameters
97
+ }) : getInjectedConnector({ namespace: "SubWallet" })
98
+ };
99
+ };
100
+
101
+ export {
102
+ subWallet
103
+ };
@@ -0,0 +1,100 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/zerionWallet/zerionWallet.ts
11
+ import { isIOS } from "@funkit/utils";
12
+ var zerionWallet = ({
13
+ projectId,
14
+ walletConnectParameters
15
+ }) => {
16
+ const isZerionInjected = hasInjectedProvider({
17
+ namespace: "zerionWallet",
18
+ flag: "isZerion"
19
+ });
20
+ const shouldUseWalletConnect = !isZerionInjected;
21
+ const getUri = (uri) => {
22
+ return isIOS() ? `zerion://wc?uri=${encodeURIComponent(uri)}` : uri;
23
+ };
24
+ return {
25
+ id: "zerion",
26
+ name: "Zerion",
27
+ rdns: "io.zerion.wallet",
28
+ iconUrl: async () => (await import("./zerionWallet-SEPREHKH.js")).default,
29
+ iconAccent: "#2962ef",
30
+ iconBackground: "#2962ef",
31
+ installed: !shouldUseWalletConnect ? isZerionInjected : void 0,
32
+ downloadUrls: {
33
+ android: "https://play.google.com/store/apps/details?id=io.zerion.android",
34
+ ios: "https://apps.apple.com/app/apple-store/id1456732565",
35
+ mobile: "https://link.zerion.io/pt3gdRP0njb",
36
+ qrCode: "https://link.zerion.io/pt3gdRP0njb",
37
+ chrome: "https://chrome.google.com/webstore/detail/klghhnkeealcohjjanjjdaeeggmfmlpl",
38
+ browserExtension: "https://zerion.io/extension"
39
+ },
40
+ mobile: {
41
+ getUri: shouldUseWalletConnect ? getUri : void 0
42
+ },
43
+ qrCode: shouldUseWalletConnect ? {
44
+ getUri,
45
+ instructions: {
46
+ learnMoreUrl: "https://zerion.io/blog/announcing-the-zerion-smart-wallet/",
47
+ steps: [
48
+ {
49
+ description: "wallet_connectors.zerion.qr_code.step1.description",
50
+ step: "install",
51
+ title: "wallet_connectors.zerion.qr_code.step1.title"
52
+ },
53
+ {
54
+ description: "wallet_connectors.zerion.qr_code.step2.description",
55
+ step: "create",
56
+ title: "wallet_connectors.zerion.qr_code.step2.title"
57
+ },
58
+ {
59
+ description: "wallet_connectors.zerion.qr_code.step3.description",
60
+ step: "scan",
61
+ title: "wallet_connectors.zerion.qr_code.step3.title"
62
+ }
63
+ ]
64
+ }
65
+ } : void 0,
66
+ extension: {
67
+ instructions: {
68
+ learnMoreUrl: "https://help.zerion.io/en/",
69
+ steps: [
70
+ {
71
+ description: "wallet_connectors.zerion.extension.step1.description",
72
+ step: "install",
73
+ title: "wallet_connectors.zerion.extension.step1.title"
74
+ },
75
+ {
76
+ description: "wallet_connectors.zerion.extension.step2.description",
77
+ step: "create",
78
+ title: "wallet_connectors.zerion.extension.step2.title"
79
+ },
80
+ {
81
+ description: "wallet_connectors.zerion.extension.step3.description",
82
+ step: "refresh",
83
+ title: "wallet_connectors.zerion.extension.step3.title"
84
+ }
85
+ ]
86
+ }
87
+ },
88
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
89
+ projectId,
90
+ walletConnectParameters
91
+ }) : getInjectedConnector({
92
+ namespace: "zerionWallet",
93
+ flag: "isZerion"
94
+ })
95
+ };
96
+ };
97
+
98
+ export {
99
+ zerionWallet
100
+ };
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/coin98Wallet/coin98Wallet.ts
11
+ var coin98Wallet = ({
12
+ projectId,
13
+ walletConnectParameters
14
+ }) => {
15
+ const isCoin98WalletInjected = hasInjectedProvider({
16
+ namespace: "coin98.provider",
17
+ flag: "isCoin98"
18
+ });
19
+ const shouldUseWalletConnect = !isCoin98WalletInjected;
20
+ return {
21
+ id: "coin98",
22
+ name: "Coin98 Wallet",
23
+ iconUrl: async () => (await import("./coin98Wallet-I5CP5KYZ.js")).default,
24
+ installed: isCoin98WalletInjected,
25
+ iconAccent: "#CDA349",
26
+ iconBackground: "#fff",
27
+ rdns: "coin98.com",
28
+ downloadUrls: {
29
+ android: "https://play.google.com/store/apps/details?id=coin98.crypto.finance.media",
30
+ ios: "https://apps.apple.com/vn/app/coin98-super-app/id1561969966",
31
+ mobile: "https://coin98.com/wallet",
32
+ qrCode: "https://coin98.com/wallet",
33
+ chrome: "https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg",
34
+ browserExtension: "https://coin98.com/wallet"
35
+ },
36
+ mobile: {
37
+ getUri: shouldUseWalletConnect ? (uri) => uri : void 0
38
+ },
39
+ qrCode: shouldUseWalletConnect ? {
40
+ getUri: (uri) => uri,
41
+ instructions: {
42
+ learnMoreUrl: "https://coin98.com/wallet",
43
+ steps: [
44
+ {
45
+ description: "wallet_connectors.coin98.qr_code.step1.description",
46
+ step: "install",
47
+ title: "wallet_connectors.coin98.qr_code.step1.title"
48
+ },
49
+ {
50
+ description: "wallet_connectors.coin98.qr_code.step2.description",
51
+ step: "create",
52
+ title: "wallet_connectors.coin98.qr_code.step2.title"
53
+ },
54
+ {
55
+ description: "wallet_connectors.coin98.qr_code.step3.description",
56
+ step: "scan",
57
+ title: "wallet_connectors.coin98.qr_code.step3.title"
58
+ }
59
+ ]
60
+ }
61
+ } : void 0,
62
+ extension: {
63
+ instructions: {
64
+ learnMoreUrl: "https://coin98.com/wallet",
65
+ steps: [
66
+ {
67
+ description: "wallet_connectors.coin98.extension.step1.description",
68
+ step: "install",
69
+ title: "wallet_connectors.coin98.extension.step1.title"
70
+ },
71
+ {
72
+ description: "wallet_connectors.coin98.extension.step2.description",
73
+ step: "create",
74
+ title: "wallet_connectors.coin98.extension.step2.title"
75
+ },
76
+ {
77
+ description: "wallet_connectors.coin98.extension.step3.description",
78
+ step: "refresh",
79
+ title: "wallet_connectors.coin98.extension.step3.title"
80
+ }
81
+ ]
82
+ }
83
+ },
84
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
85
+ projectId,
86
+ walletConnectParameters
87
+ }) : getInjectedConnector({
88
+ namespace: "coin98Wallet",
89
+ flag: "isCoin98"
90
+ })
91
+ };
92
+ };
93
+
94
+ export {
95
+ coin98Wallet
96
+ };
@@ -0,0 +1,146 @@
1
+ "use client";
2
+ import {
3
+ getWalletConnectConnector
4
+ } from "./chunk-23WIEY36.js";
5
+ import {
6
+ getInjectedConnector,
7
+ hasInjectedProvider
8
+ } from "./chunk-WRA2DVJ7.js";
9
+
10
+ // src/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.ts
11
+ import { isAndroid, isIOS } from "@funkit/utils";
12
+ function isMetaMask(ethereum) {
13
+ if (!ethereum?.isMetaMask) return false;
14
+ if (ethereum.isBraveWallet && !ethereum._events && !ethereum._state)
15
+ return false;
16
+ if (ethereum.isApexWallet) return false;
17
+ if (ethereum.isAvalanche) return false;
18
+ if (ethereum.isBackpack) return false;
19
+ if (ethereum.isBifrost) return false;
20
+ if (ethereum.isBitKeep) return false;
21
+ if (ethereum.isBitski) return false;
22
+ if (ethereum.isBlockWallet) return false;
23
+ if (ethereum.isCoinbaseWallet) return false;
24
+ if (ethereum.isDawn) return false;
25
+ if (ethereum.isEnkrypt) return false;
26
+ if (ethereum.isExodus) return false;
27
+ if (ethereum.isFrame) return false;
28
+ if (ethereum.isFrontier) return false;
29
+ if (ethereum.isGamestop) return false;
30
+ if (ethereum.isHyperPay) return false;
31
+ if (ethereum.isImToken) return false;
32
+ if (ethereum.isKuCoinWallet) return false;
33
+ if (ethereum.isMathWallet) return false;
34
+ if (ethereum.isNestWallet) return false;
35
+ if (ethereum.isOkxWallet || ethereum.isOKExWallet) return false;
36
+ if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet)
37
+ return false;
38
+ if (ethereum.isOpera) return false;
39
+ if (ethereum.isPhantom) return false;
40
+ if (ethereum.isPortal) return false;
41
+ if (ethereum.isRabby) return false;
42
+ if (ethereum.isRainbow) return false;
43
+ if (ethereum.isStatus) return false;
44
+ if (ethereum.isTalisman) return false;
45
+ if (ethereum.isTally) return false;
46
+ if (ethereum.isTokenPocket) return false;
47
+ if (ethereum.isTokenary) return false;
48
+ if (ethereum.isTrust || ethereum.isTrustWallet) return false;
49
+ if (ethereum.isXDEFI) return false;
50
+ if (ethereum.isZeal) return false;
51
+ if (ethereum.isZerion) return false;
52
+ return true;
53
+ }
54
+ var metaMaskWallet = ({
55
+ projectId,
56
+ walletConnectParameters
57
+ }) => {
58
+ const isMetaMaskInjected = hasInjectedProvider({ flag: "isMetaMask" });
59
+ const shouldUseWalletConnect = !isMetaMaskInjected;
60
+ const getUri = (uri) => {
61
+ return isAndroid() ? uri : isIOS() ? (
62
+ // currently broken in MetaMask v6.5.0 https://github.com/MetaMask/metamask-mobile/issues/6457
63
+ `metamask://wc?uri=${encodeURIComponent(uri)}`
64
+ ) : `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}`;
65
+ };
66
+ return {
67
+ id: "metaMask",
68
+ name: "MetaMask",
69
+ rdns: "io.metamask",
70
+ iconUrl: async () => (await import("./metaMaskWallet-RMHEKBDR.js")).default,
71
+ iconAccent: "#f6851a",
72
+ iconBackground: "#fff",
73
+ installed: !shouldUseWalletConnect ? isMetaMaskInjected : void 0,
74
+ downloadUrls: {
75
+ android: "https://play.google.com/store/apps/details?id=io.metamask",
76
+ ios: "https://apps.apple.com/us/app/metamask/id1438144202",
77
+ mobile: "https://metamask.io/download",
78
+ qrCode: "https://metamask.io/download",
79
+ chrome: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn",
80
+ edge: "https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm",
81
+ firefox: "https://addons.mozilla.org/firefox/addon/ether-metamask",
82
+ opera: "https://addons.opera.com/extensions/details/metamask-10",
83
+ browserExtension: "https://metamask.io/download"
84
+ },
85
+ mobile: {
86
+ getUri: shouldUseWalletConnect ? getUri : void 0
87
+ },
88
+ qrCode: shouldUseWalletConnect ? {
89
+ getUri,
90
+ instructions: {
91
+ learnMoreUrl: "https://metamask.io/faqs/",
92
+ steps: [
93
+ {
94
+ description: "wallet_connectors.metamask.qr_code.step1.description",
95
+ step: "install",
96
+ title: "wallet_connectors.metamask.qr_code.step1.title"
97
+ },
98
+ {
99
+ description: "wallet_connectors.metamask.qr_code.step2.description",
100
+ step: "create",
101
+ title: "wallet_connectors.metamask.qr_code.step2.title"
102
+ },
103
+ {
104
+ description: "wallet_connectors.metamask.qr_code.step3.description",
105
+ step: "refresh",
106
+ title: "wallet_connectors.metamask.qr_code.step3.title"
107
+ }
108
+ ]
109
+ }
110
+ } : void 0,
111
+ extension: {
112
+ instructions: {
113
+ learnMoreUrl: "https://metamask.io/faqs/",
114
+ steps: [
115
+ {
116
+ description: "wallet_connectors.metamask.extension.step1.description",
117
+ step: "install",
118
+ title: "wallet_connectors.metamask.extension.step1.title"
119
+ },
120
+ {
121
+ description: "wallet_connectors.metamask.extension.step2.description",
122
+ step: "create",
123
+ title: "wallet_connectors.metamask.extension.step2.title"
124
+ },
125
+ {
126
+ description: "wallet_connectors.metamask.extension.step3.description",
127
+ step: "refresh",
128
+ title: "wallet_connectors.metamask.extension.step3.title"
129
+ }
130
+ ]
131
+ }
132
+ },
133
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
134
+ projectId,
135
+ walletConnectParameters
136
+ }) : getInjectedConnector({
137
+ target: typeof window !== "undefined" ? window.ethereum?.providers?.find(
138
+ isMetaMask
139
+ ) ?? window.ethereum : void 0
140
+ })
141
+ };
142
+ };
143
+
144
+ export {
145
+ metaMaskWallet
146
+ };