@dynamic-labs/multi-wallet 0.16.0-RC.1 → 0.16.0-RC.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.
Files changed (118) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/package.json +11 -6
  3. package/src/index.d.ts +4 -4
  4. package/src/index.js +8 -7
  5. package/src/index.js.map +1 -1
  6. package/src/multi-wallet.d.ts +1 -0
  7. package/src/multi-wallet.js +59 -51
  8. package/src/multi-wallet.js.map +1 -1
  9. package/src/types.d.ts +23 -41
  10. package/src/utils/CancellablePromise/CancellablePromise.d.ts +9 -0
  11. package/src/utils/CancellablePromise/CancellablePromise.js +32 -0
  12. package/src/utils/CancellablePromise/CancellablePromise.js.map +1 -0
  13. package/src/utils/CancellablePromise/index.d.ts +1 -0
  14. package/src/utils/CancellablePromise/index.js +6 -0
  15. package/src/utils/CancellablePromise/index.js.map +1 -0
  16. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +44 -14
  17. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js.map +1 -1
  18. package/src/utils/getChainInfo/getChainInfo.d.ts +2 -0
  19. package/src/utils/getChainInfo/getChainInfo.js +58 -0
  20. package/src/utils/getChainInfo/getChainInfo.js.map +1 -0
  21. package/src/utils/getChainInfo/index.d.ts +1 -0
  22. package/src/utils/getChainInfo/index.js +6 -0
  23. package/src/utils/getChainInfo/index.js.map +1 -0
  24. package/src/utils/isEmailOTPWalletConnector/index.d.ts +1 -0
  25. package/src/utils/isEmailOTPWalletConnector/index.js +6 -0
  26. package/src/utils/isEmailOTPWalletConnector/index.js.map +1 -0
  27. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +2 -0
  28. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +6 -0
  29. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js.map +1 -0
  30. package/src/utils/isFunction/index.d.ts +1 -0
  31. package/src/utils/isFunction/index.js +6 -0
  32. package/src/utils/isFunction/index.js.map +1 -0
  33. package/src/utils/isFunction/isFunction.d.ts +1 -0
  34. package/src/utils/isFunction/isFunction.js +7 -0
  35. package/src/utils/isFunction/isFunction.js.map +1 -0
  36. package/src/utils/message.d.ts +2 -1
  37. package/src/utils/message.js +7 -10
  38. package/src/utils/message.js.map +1 -1
  39. package/src/utils/walletConnect.d.ts +1 -4
  40. package/src/utils/walletConnect.js +15 -15
  41. package/src/utils/walletConnect.js.map +1 -1
  42. package/src/wallets/algorand/myalgo.d.ts +1 -0
  43. package/src/wallets/algorand/myalgo.js +3 -0
  44. package/src/wallets/algorand/myalgo.js.map +1 -1
  45. package/src/wallets/clients/walletConnect/walletConnect.d.ts +4 -4
  46. package/src/wallets/clients/walletConnect/walletConnect.js +5 -4
  47. package/src/wallets/clients/walletConnect/walletConnect.js.map +1 -1
  48. package/src/wallets/cosmos/getKeplrConnector.d.ts +6 -0
  49. package/src/wallets/cosmos/getKeplrConnector.js +17 -0
  50. package/src/wallets/cosmos/getKeplrConnector.js.map +1 -0
  51. package/src/wallets/cosmos/index.d.ts +1 -0
  52. package/src/wallets/cosmos/index.js +6 -0
  53. package/src/wallets/cosmos/index.js.map +1 -0
  54. package/src/wallets/cosmos/keplr.d.ts +98 -0
  55. package/src/wallets/cosmos/keplr.js +226 -0
  56. package/src/wallets/cosmos/keplr.js.map +1 -0
  57. package/src/wallets/cosmos/keplrWalletConnect.d.ts +8 -0
  58. package/src/wallets/cosmos/keplrWalletConnect.js +11 -0
  59. package/src/wallets/cosmos/keplrWalletConnect.js.map +1 -0
  60. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +12 -0
  61. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +56 -0
  62. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js.map +1 -0
  63. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +1 -0
  64. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.js +6 -0
  65. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.js.map +1 -0
  66. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +16 -0
  67. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +54 -0
  68. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js.map +1 -0
  69. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +1 -0
  70. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.js +6 -0
  71. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.js.map +1 -0
  72. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +63 -0
  73. package/src/wallets/ethereum/{MagicLink.js → MagicConnector/MagicWalletConnector/MagicWalletConnector.js} +79 -63
  74. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js.map +1 -0
  75. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +2 -0
  76. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.js +6 -0
  77. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.js.map +1 -0
  78. package/src/wallets/ethereum/MagicConnector/index.d.ts +3 -0
  79. package/src/wallets/ethereum/MagicConnector/index.js +7 -0
  80. package/src/wallets/ethereum/MagicConnector/index.js.map +1 -0
  81. package/src/wallets/ethereum/ethProvider.d.ts +1 -0
  82. package/src/wallets/ethereum/ethProvider.js +4 -0
  83. package/src/wallets/ethereum/ethProvider.js.map +1 -1
  84. package/src/wallets/ethereum/ethProviderHelper.d.ts +1 -1
  85. package/src/wallets/ethereum/ethProviderHelper.js +18 -11
  86. package/src/wallets/ethereum/ethProviderHelper.js.map +1 -1
  87. package/src/wallets/ethereum/injected/Dawn.d.ts +6 -0
  88. package/src/wallets/ethereum/injected/Dawn.js +13 -0
  89. package/src/wallets/ethereum/injected/Dawn.js.map +1 -0
  90. package/src/wallets/flow/flow-provider.d.ts +1 -0
  91. package/src/wallets/flow/flow-provider.js +3 -0
  92. package/src/wallets/flow/flow-provider.js.map +1 -1
  93. package/src/wallets/solana/solProvider.d.ts +1 -0
  94. package/src/wallets/solana/solProvider.js +4 -0
  95. package/src/wallets/solana/solProvider.js.map +1 -1
  96. package/src/wallets/starknet/braavos.d.ts +2 -1
  97. package/src/wallets/starknet/braavos.js +21 -0
  98. package/src/wallets/starknet/braavos.js.map +1 -1
  99. package/src/wallets/starknet/starknetProvider.d.ts +1 -0
  100. package/src/wallets/starknet/starknetProvider.js +3 -0
  101. package/src/wallets/starknet/starknetProvider.js.map +1 -1
  102. package/src/wallets/walletConnect/walletConnect.d.ts +1 -0
  103. package/src/wallets/walletConnect/walletConnect.js +19 -9
  104. package/src/wallets/walletConnect/walletConnect.js.map +1 -1
  105. package/src/wallets/walletConnect/walletConnectV2.d.ts +1 -0
  106. package/src/wallets/walletConnect/walletConnectV2.js +17 -7
  107. package/src/wallets/walletConnect/walletConnectV2.js.map +1 -1
  108. package/src/wallets/window.d.ts +9 -1
  109. package/src/data/wallet-connect-wallets.json +0 -9926
  110. package/src/data/wallet-links.json +0 -3912
  111. package/src/fixtures.d.ts +0 -11
  112. package/src/fixtures.js +0 -67
  113. package/src/fixtures.js.map +0 -1
  114. package/src/utils/walletLinks.d.ts +0 -13
  115. package/src/utils/walletLinks.js +0 -12
  116. package/src/utils/walletLinks.js.map +0 -1
  117. package/src/wallets/ethereum/MagicLink.d.ts +0 -48
  118. package/src/wallets/ethereum/MagicLink.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,156 @@
1
1
 
2
+ ## [0.16.0-RC.10](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.9...v0.16.0-RC.10) (2023-03-31)
3
+
4
+
5
+ ### Features
6
+
7
+ * **DYN-2093:** add new_user boolean flag to UserProfile ([4150047](https://github.com/dynamic-labs/DynamicAuth/commit/4150047ae5598ec949f1e1e4484d08be6e84eba5))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **magic-otp:** reload the page on click edit email ([11af506](https://github.com/dynamic-labs/DynamicAuth/commit/11af506b50462b8e121d5b95b1b1ec53ed09992b))
13
+ * **multi-wallet:** display OTP view when reconnecting wallet ([4a3ad0a](https://github.com/dynamic-labs/DynamicAuth/commit/4a3ad0a96912edba8451697252de47ea5858fe31))
14
+ * **Portal:** allow for custom element id ([d27589d](https://github.com/dynamic-labs/DynamicAuth/commit/d27589de093e0933c69041a90fe18bb35325cfc8))
15
+
16
+ ## [0.16.0-RC.9](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.8...v0.16.0-RC.9) (2023-03-30)
17
+
18
+
19
+ ### Features
20
+
21
+ * **DYN-2030:** cosmos/keplr integration ([#1756](https://github.com/dynamic-labs/DynamicAuth/issues/1756)) ([1521dac](https://github.com/dynamic-labs/DynamicAuth/commit/1521dac370b6dbecfedf7eaa367c436ce4d9286d))
22
+
23
+ ## [0.16.0-RC.8](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.7...v0.16.0-RC.8) (2023-03-29)
24
+
25
+
26
+ ### Features
27
+
28
+ * **DYN-2030:** filter keplr wallets ([6f38c81](https://github.com/dynamic-labs/DynamicAuth/commit/6f38c818d1489f118d10703f180d20e79b262c2f))
29
+ * **Keplr:** prepare basic Keplr, Cosmos connector ([0316736](https://github.com/dynamic-labs/DynamicAuth/commit/03167364d78218aa7b93dc24333a1172826411c7))
30
+ * **magic_otp:** enable magic otp ([cd073a3](https://github.com/dynamic-labs/DynamicAuth/commit/cd073a3a50ccb268a0bbd7f1462a85cf263e34e3))
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * make depedencies patch only ([ac23c2b](https://github.com/dynamic-labs/DynamicAuth/commit/ac23c2bb315d650a6d8727893b8997e98e8a0d86))
36
+ * multiple improvments for keplr integration ([119da9b](https://github.com/dynamic-labs/DynamicAuth/commit/119da9be7c1513ef4e4805c832a0e22f9a2fbdde))
37
+ * pin @hcaptcha/react-hcaptcha to patch updates only ([c173f14](https://github.com/dynamic-labs/DynamicAuth/commit/c173f1448ad3db8c9257cc74f7bb5d9cfaabc9f3))
38
+ * show all the wallets if they are less than number of wallets to show ([17258b1](https://github.com/dynamic-labs/DynamicAuth/commit/17258b19fcea4da386f20d01877fb6dc8e54fc83))
39
+
40
+ ## [0.16.0-RC.7](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.6...v0.16.0-RC.7) (2023-03-27)
41
+
42
+
43
+ ### Features
44
+
45
+ * support phantom evm in non-override mode ([6505dfa](https://github.com/dynamic-labs/DynamicAuth/commit/6505dfa15640c775bc3c9a25c830b64ad9d5c4ce))
46
+ * update user profile ui ([#1670](https://github.com/dynamic-labs/DynamicAuth/issues/1670)) ([13220fa](https://github.com/dynamic-labs/DynamicAuth/commit/13220faee806a94d3594c21f61cf00ad9eb23dbf))
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * **CustomerCallbacks:** make sure that we always call customer callbacks ([5013508](https://github.com/dynamic-labs/DynamicAuth/commit/5013508207d3c55a591b4e781e12049757528526))
52
+ * do not filter out magic even if all chains are disabled ([6970129](https://github.com/dynamic-labs/DynamicAuth/commit/697012962909427ca30c4426e86c7b080261e76d))
53
+ * **email_wallet:** display loading state for magic auth ([ebab810](https://github.com/dynamic-labs/DynamicAuth/commit/ebab81041c7988cd6b239ab4614755b693b6f3b4))
54
+ * exclude flow from primary wallet sync hook ([d6fc719](https://github.com/dynamic-labs/DynamicAuth/commit/d6fc719f9c382b66666a7aebdbea71b92e9df43b))
55
+ * **magic_wallet:** disconnect user when magic is logged out ([8573cb5](https://github.com/dynamic-labs/DynamicAuth/commit/8573cb50231da281c534d3f83a05aa3f7b55bd14))
56
+ * **magic_wallet:** prevent failure when email is edited ([dd7cbbb](https://github.com/dynamic-labs/DynamicAuth/commit/dd7cbbb823aa65ef1df80a5dcf909aff961c37ce))
57
+ * **NetworkPicker:** make sure that we use correct network picker on 'network not supported' step ([2062d5f](https://github.com/dynamic-labs/DynamicAuth/commit/2062d5fb2ad68c2b44c70445c0146cc7b9ee56bc))
58
+ * remove dep on multi-wallet in wagmi connector ([e8069b3](https://github.com/dynamic-labs/DynamicAuth/commit/e8069b30a39728e8175880838e2bd3e30c0adb1f))
59
+ * wallet transfer icon size ([77409bd](https://github.com/dynamic-labs/DynamicAuth/commit/77409bd0c1f674be26c93786235bd9f95d5b29ad))
60
+
61
+ ## [0.16.0-RC.6](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.5...v0.16.0-RC.6) (2023-03-21)
62
+
63
+
64
+ ### Features
65
+
66
+ * add Braavos in-App browser navigation ([5c59e5a](https://github.com/dynamic-labs/DynamicAuth/commit/5c59e5a24f00a0ed74561a30a42ac3ec0b801998))
67
+ * add Dawn wallet ([6fc9135](https://github.com/dynamic-labs/DynamicAuth/commit/6fc91354083433cbebbdd8fd593db78eea7307d7))
68
+ * add getDeepLink to WalletConnector ([7af621c](https://github.com/dynamic-labs/DynamicAuth/commit/7af621ccc35875c296b7698c5c474f53ba702dca))
69
+ * add new link-wallet icon ([bf8b7ce](https://github.com/dynamic-labs/DynamicAuth/commit/bf8b7ce35612a73b3b4b0d4ee670c4294c9ae9a2))
70
+ * change buttonSize prop name to buttonPadding and add a padding-none variant ([91ec635](https://github.com/dynamic-labs/DynamicAuth/commit/91ec63520dbc1f87f351c1b1716d4a07068b34e0))
71
+ * create LogoutButton ([6c76820](https://github.com/dynamic-labs/DynamicAuth/commit/6c76820d4c23122e1227372c7badad63dca28ad1))
72
+ * **DYN-2039:** expose defaultNumberOfWalletsToShow ([bf069b9](https://github.com/dynamic-labs/DynamicAuth/commit/bf069b9810ef64f1872f8f68f27c3d950ce87efd))
73
+ * **DYN-2044:** update network switcher in kyc step ([687d38c](https://github.com/dynamic-labs/DynamicAuth/commit/687d38ce7f844e26ea288389124e65e392fd8429))
74
+ * fix tests ([8977740](https://github.com/dynamic-labs/DynamicAuth/commit/8977740f0f8e75e4dcba1fe0fad773ba4c5030ac))
75
+ * **magic:** add network/testMode/locale/redirectURI magic configuration ([34b7a97](https://github.com/dynamic-labs/DynamicAuth/commit/34b7a9721c0d67e13809e44ca2983bcbb2240b22))
76
+ * **magic:** sendTransaction/signMessage modal improvements ([6ee448e](https://github.com/dynamic-labs/DynamicAuth/commit/6ee448ecf726905934e1a5d8e7c23bc2e9b77ee9))
77
+ * make profile the 1st option in the widget switcher ([9693f47](https://github.com/dynamic-labs/DynamicAuth/commit/9693f47279d92ebacc13e5c8e08a24a002d0e8c6))
78
+ * move LinkWalletIcon to iconic ([76ba74d](https://github.com/dynamic-labs/DynamicAuth/commit/76ba74d8feda15b2ee4903e441d5394e4fe55ce3))
79
+ * move logout button from widget header to index view footer and profile view footer ([c919005](https://github.com/dynamic-labs/DynamicAuth/commit/c919005ccd43444f734bdafd6e9876e6bf59327d))
80
+ * move widget switcher to the top ([e038744](https://github.com/dynamic-labs/DynamicAuth/commit/e0387444813dadc8f4494edca152649f9e3a3a56))
81
+ * set max height to onboarding user data form ([a25129e](https://github.com/dynamic-labs/DynamicAuth/commit/a25129ed72460b392fa54cdc85e7d7276ffc826b))
82
+ * set max height to user profile view ([c207b21](https://github.com/dynamic-labs/DynamicAuth/commit/c207b2111bb39189487e08b95889ab9977d9db81))
83
+ * update buttons aligment in footer ([e6f3638](https://github.com/dynamic-labs/DynamicAuth/commit/e6f36384a902db03b5ae7aec0909192a0ddf5776))
84
+
85
+
86
+ ### Bug Fixes
87
+
88
+ * add missing width to dynamic logo to work with webkit browsers ([c03cdfb](https://github.com/dynamic-labs/DynamicAuth/commit/c03cdfb6577f6a9b6c0432befb6bec57fa89afa0))
89
+ * **DYN-2045:** no access icon is too big ([8c34ab7](https://github.com/dynamic-labs/DynamicAuth/commit/8c34ab74643f0c8bf06bedfda7f8487f8d0591fc))
90
+ * **DynamicContext:** use the app name and logo from project settings ([0a08dc8](https://github.com/dynamic-labs/DynamicAuth/commit/0a08dc80ab699e3c4b499e1180dac2f22b7b1604))
91
+ * icon with spinner inner icon size ([b8f94e2](https://github.com/dynamic-labs/DynamicAuth/commit/b8f94e2d4239bd2992e7918dbd27848f3878825e))
92
+ * PendingConnectView icon size ([a801edf](https://github.com/dynamic-labs/DynamicAuth/commit/a801edff524e8993b8f6a6723ca4c0eca0349c01))
93
+ * remove IsBrowser from dynamic wagmi connector ([f89d5c0](https://github.com/dynamic-labs/DynamicAuth/commit/f89d5c0b6368d873181bdfc51656db638d8c2692))
94
+ * remove scroll copy ([601774c](https://github.com/dynamic-labs/DynamicAuth/commit/601774c12debc02f3f14a772c1cf54a792addded))
95
+
96
+ ## [0.16.0-RC.5](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.4...v0.16.0-RC.5) (2023-03-16)
97
+
98
+
99
+ ### Features
100
+
101
+ * add modal backdrop css variables ([8b872d4](https://github.com/dynamic-labs/DynamicAuth/commit/8b872d403437da4232698dd059ad727aec74c24b))
102
+ * add optional evmNetworks prop to dynamic wagmi connector ([29f1a95](https://github.com/dynamic-labs/DynamicAuth/commit/29f1a951b96ab17025da60e95cceeda2e7d644e9))
103
+ * add optional evmNetworks prop to dynamic wagmi connector ([62da3fa](https://github.com/dynamic-labs/DynamicAuth/commit/62da3fa024480c65eea7343037101e9a65b79ffa))
104
+ * implement @dynamic-labs/wallet-book ([f6ebbee](https://github.com/dynamic-labs/DynamicAuth/commit/f6ebbee99786409cb8ee037a53942bac3aab1ca6))
105
+
106
+
107
+ ### Bug Fixes
108
+
109
+ * **bundle_size:** move bundle size to its own CI job ([6870845](https://github.com/dynamic-labs/DynamicAuth/commit/68708457464f7d740e055cda00dd5c26f42d8c83))
110
+ * coolwallet icon id ([c48e1bf](https://github.com/dynamic-labs/DynamicAuth/commit/c48e1bf4331594d11f3fceee17fc726a7f28970d))
111
+ * **DYN-2016:** User is not able to logout when 'wallet not connected' promp shows ([a19b113](https://github.com/dynamic-labs/DynamicAuth/commit/a19b1132290c5602c4cbfb24240588d2343da0d6))
112
+ * image-update-npm ([ae05791](https://github.com/dynamic-labs/DynamicAuth/commit/ae05791434c6f12cc3953bcda33d430d15b056d0))
113
+ * **magic_wallet:** add confirmation to transactions ([14d0e20](https://github.com/dynamic-labs/DynamicAuth/commit/14d0e2069e64a393d82f97d7214d8449e930b341))
114
+ * **react-focus-lock:** ensure it will not fight with blocto focus ([631f0f9](https://github.com/dynamic-labs/DynamicAuth/commit/631f0f9c6bdeca47baec65078f996e0ae26bb905))
115
+ * **UserAddress:** use correct user address in UserAddress component ([9ea8754](https://github.com/dynamic-labs/DynamicAuth/commit/9ea875482fe2f27aaeb97a7186596f85489a44b4))
116
+ * **UserProfile:** Submit button should be active after changes are made ([3d36e2e](https://github.com/dynamic-labs/DynamicAuth/commit/3d36e2e374646f7981765845a2c547af969927a1))
117
+
118
+ ## [0.16.0-RC.4](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.3...v0.16.0-RC.4) (2023-03-10)
119
+
120
+
121
+ ### Features
122
+
123
+ * Show toolkit on user profile open ([fe373be](https://github.com/dynamic-labs/DynamicAuth/commit/fe373be16b54727bb6596b6bae3e42afa3b3262b))
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * **DYN-144:** Dynamic widget should show when multiWalletWidgetState changes ([1e0ae27](https://github.com/dynamic-labs/DynamicAuth/commit/1e0ae27bb99d95a2e436f011302c532dfecfc3db))
129
+ * **dynamic_context:** use token to check if is authenticated ([88e4de4](https://github.com/dynamic-labs/DynamicAuth/commit/88e4de44636078bfc2408130ec526d75f0909f93))
130
+ * update validateAuthUser to account for verified credential with emails ([4d3ab68](https://github.com/dynamic-labs/DynamicAuth/commit/4d3ab6812525efa9e042374150ba59fe47596212))
131
+
132
+ ## [0.16.0-RC.3](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.2...v0.16.0-RC.3) (2023-03-08)
133
+
134
+ ## [0.16.0-RC.2](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.1...v0.16.0-RC.2) (2023-03-08)
135
+
136
+
137
+ ### Features
138
+
139
+ * add feedback to the button component ([cb8e79b](https://github.com/dynamic-labs/DynamicAuth/commit/cb8e79b230eda12a76141b0bbe8b6df8a8a8bd55))
140
+ * **DYN-1792:** install hCaptcha ([d981a10](https://github.com/dynamic-labs/DynamicAuth/commit/d981a10180b352c26518b9b20580bdb06f1f9c46))
141
+ * **LoginWithEmail:** hide wallets in login with email view when chains are disabled ([ffbea58](https://github.com/dynamic-labs/DynamicAuth/commit/ffbea582d32ef88bfa6e1b5cfb6dce3cdc4b0601))
142
+ * **magic-link:** add send transaction confirmation gate ([77d6ac9](https://github.com/dynamic-labs/DynamicAuth/commit/77d6ac94b33776d838aabb3383ee5a2ad1ce9e4f))
143
+ * save authMode to localstorage ([e0ba68c](https://github.com/dynamic-labs/DynamicAuth/commit/e0ba68c148db69229f2dd53baa6c19764a13d3df))
144
+
145
+
146
+ ### Bug Fixes
147
+
148
+ * **DYN-2006:** broken user profile on single wallet and email login ([7937d7b](https://github.com/dynamic-labs/DynamicAuth/commit/7937d7be855f03e9772a2c7b37fa3f2ba2775a58))
149
+ * **LoginWithEmail:** update email verifaction success message background color to dynamic-connection-green-2 ([cc86957](https://github.com/dynamic-labs/DynamicAuth/commit/cc86957ba025a313175034478ac61f7d228e8472))
150
+ * network picker for connect-only ([561bf95](https://github.com/dynamic-labs/DynamicAuth/commit/561bf951fa8fb9a0ba8b686d9c11458df40b040b))
151
+ * not opening the widget ([810a400](https://github.com/dynamic-labs/DynamicAuth/commit/810a4002242c43679b25fa158a44b9bf74ea1702))
152
+ * update profile to work with connect-only ([3577c53](https://github.com/dynamic-labs/DynamicAuth/commit/3577c5337db4f08e2943ed3ed2d920586d9bf8cc))
153
+
2
154
  ## [0.16.0-RC.1](https://github.com/dynamic-labs/DynamicAuth/compare/v0.15.1-RC.1...v0.16.0-RC.1) (2023-03-07)
3
155
 
4
156
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.16.0-RC.1",
3
+ "version": "0.16.0-RC.10",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -8,8 +8,11 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@blocto/sdk": "0.3.3",
11
- "@coinbase/wallet-sdk": "3.6.2",
12
- "@dynamic-labs/sdk-api": "0.0.155",
11
+ "@coinbase/wallet-sdk": "3.6.4",
12
+ "@dynamic-labs/iconic": "0.1.16",
13
+ "@dynamic-labs/sdk-api": "0.0.171",
14
+ "@dynamic-labs/wallet-book": "0.0.7",
15
+ "@keplr-wallet/types": "0.11.51",
13
16
  "@onflow/fcl": "1.3.2",
14
17
  "@randlabs/myalgo-connect": "1.4.2",
15
18
  "@solana/web3.js": "1.70.1",
@@ -20,11 +23,13 @@
20
23
  "ethers": "5.7.2",
21
24
  "fortmatic": "2.4.0",
22
25
  "get-starknet": "1.5.0",
23
- "magic-sdk": "13.4.0",
26
+ "magic-sdk": "13.6.2",
27
+ "react": "18.2.0",
28
+ "react-dom": "18.2.0",
24
29
  "starknet": "3.19.0",
25
30
  "tslib": "2.4.1",
26
- "@dynamic-labs/logger": "0.16.0-RC.1",
27
- "@dynamic-labs/wallet-connector-core": "0.16.0-RC.1"
31
+ "@dynamic-labs/logger": "0.16.0-RC.10",
32
+ "@dynamic-labs/wallet-connector-core": "0.16.0-RC.10"
28
33
  },
29
34
  "devDependencies": {
30
35
  "@walletconnect/types": "^2.2.1"
package/src/index.d.ts CHANGED
@@ -4,17 +4,17 @@ export * from './types';
4
4
  export * from './errors';
5
5
  export * from './rpcProviders';
6
6
  export * from './utils/logger';
7
- export * from './wallets/ethereum/MagicLink';
7
+ export * from './wallets/ethereum/MagicConnector';
8
8
  export { generateMessageToSign } from './utils/message';
9
9
  export { isIPad, isIPhone, isMobile } from './utils/isMobile';
10
10
  export { normalizeWalletName } from './utils/normalizeWalletName';
11
11
  export { isEmailWalletConnector } from './utils/isEmailWalletConnector';
12
- export { walletMetadata, getWalletConnectMetadata, } from './utils/walletConnect';
13
- export { getWalletLinks } from './utils/walletLinks';
14
- export type { BrowserName, WalletLinks } from './utils/walletLinks';
12
+ export { isEmailOTPWalletConnector } from './utils/isEmailOTPWalletConnector';
13
+ export { getChainInfo } from './utils/getChainInfo';
15
14
  export { getWalletConnectorByName } from './utils/getWalletConnectorByName';
16
15
  export * from './wallets/clients/walletConnect';
17
16
  export * from './wallets/clients/coinbase';
18
17
  export type { EvmNetwork } from './wallets/ethereum/evm-network';
18
+ export { Keplr } from './wallets/cosmos/keplr';
19
19
  export * from './utils/isSameAddress';
20
20
  export { defaultStarknetTypedDataDomain } from './wallets/constants';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultStarknetTypedDataDomain = exports.getWalletConnectorByName = exports.getWalletLinks = exports.getWalletConnectMetadata = exports.walletMetadata = exports.isEmailWalletConnector = exports.normalizeWalletName = exports.isMobile = exports.isIPhone = exports.isIPad = exports.generateMessageToSign = void 0;
3
+ exports.defaultStarknetTypedDataDomain = exports.Keplr = exports.getWalletConnectorByName = exports.getChainInfo = exports.isEmailOTPWalletConnector = exports.isEmailWalletConnector = exports.normalizeWalletName = exports.isMobile = exports.isIPhone = exports.isIPad = exports.generateMessageToSign = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  require("./polyfills");
6
6
  tslib_1.__exportStar(require("./multi-wallet"), exports);
@@ -8,7 +8,7 @@ tslib_1.__exportStar(require("./types"), exports);
8
8
  tslib_1.__exportStar(require("./errors"), exports);
9
9
  tslib_1.__exportStar(require("./rpcProviders"), exports);
10
10
  tslib_1.__exportStar(require("./utils/logger"), exports);
11
- tslib_1.__exportStar(require("./wallets/ethereum/MagicLink"), exports);
11
+ tslib_1.__exportStar(require("./wallets/ethereum/MagicConnector"), exports);
12
12
  var message_1 = require("./utils/message");
13
13
  Object.defineProperty(exports, "generateMessageToSign", { enumerable: true, get: function () { return message_1.generateMessageToSign; } });
14
14
  var isMobile_1 = require("./utils/isMobile");
@@ -19,15 +19,16 @@ var normalizeWalletName_1 = require("./utils/normalizeWalletName");
19
19
  Object.defineProperty(exports, "normalizeWalletName", { enumerable: true, get: function () { return normalizeWalletName_1.normalizeWalletName; } });
20
20
  var isEmailWalletConnector_1 = require("./utils/isEmailWalletConnector");
21
21
  Object.defineProperty(exports, "isEmailWalletConnector", { enumerable: true, get: function () { return isEmailWalletConnector_1.isEmailWalletConnector; } });
22
- var walletConnect_1 = require("./utils/walletConnect");
23
- Object.defineProperty(exports, "walletMetadata", { enumerable: true, get: function () { return walletConnect_1.walletMetadata; } });
24
- Object.defineProperty(exports, "getWalletConnectMetadata", { enumerable: true, get: function () { return walletConnect_1.getWalletConnectMetadata; } });
25
- var walletLinks_1 = require("./utils/walletLinks");
26
- Object.defineProperty(exports, "getWalletLinks", { enumerable: true, get: function () { return walletLinks_1.getWalletLinks; } });
22
+ var isEmailOTPWalletConnector_1 = require("./utils/isEmailOTPWalletConnector");
23
+ Object.defineProperty(exports, "isEmailOTPWalletConnector", { enumerable: true, get: function () { return isEmailOTPWalletConnector_1.isEmailOTPWalletConnector; } });
24
+ var getChainInfo_1 = require("./utils/getChainInfo");
25
+ Object.defineProperty(exports, "getChainInfo", { enumerable: true, get: function () { return getChainInfo_1.getChainInfo; } });
27
26
  var getWalletConnectorByName_1 = require("./utils/getWalletConnectorByName");
28
27
  Object.defineProperty(exports, "getWalletConnectorByName", { enumerable: true, get: function () { return getWalletConnectorByName_1.getWalletConnectorByName; } });
29
28
  tslib_1.__exportStar(require("./wallets/clients/walletConnect"), exports);
30
29
  tslib_1.__exportStar(require("./wallets/clients/coinbase"), exports);
30
+ var keplr_1 = require("./wallets/cosmos/keplr");
31
+ Object.defineProperty(exports, "Keplr", { enumerable: true, get: function () { return keplr_1.Keplr; } });
31
32
  tslib_1.__exportStar(require("./utils/isSameAddress"), exports);
32
33
  var constants_1 = require("./wallets/constants");
33
34
  Object.defineProperty(exports, "defaultStarknetTypedDataDomain", { enumerable: true, get: function () { return constants_1.defaultStarknetTypedDataDomain; } });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;AAAA,uBAAqB;AAErB,yDAA+B;AAC/B,kDAAwB;AACxB,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,uEAA6C;AAE7C,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAE/B,uDAG+B;AAF7B,+GAAA,cAAc,OAAA;AACd,yHAAA,wBAAwB,OAAA;AAE1B,mDAAqD;AAA5C,6GAAA,cAAc,OAAA;AAEvB,6EAA4E;AAAnE,oIAAA,wBAAwB,OAAA;AAEjC,0EAAgD;AAChD,qEAA2C;AAI3C,gEAAsC;AAEtC,iDAAqE;AAA5D,2HAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;AAAA,uBAAqB;AAErB,yDAA+B;AAC/B,kDAAwB;AACxB,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,4EAAkD;AAElD,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAC/B,+EAA8E;AAArE,sIAAA,yBAAyB,OAAA;AAClC,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,6EAA4E;AAAnE,oIAAA,wBAAwB,OAAA;AAEjC,0EAAgD;AAChD,qEAA2C;AAI3C,gDAA+C;AAAtC,8FAAA,KAAK,OAAA;AAEd,gEAAsC;AAEtC,iDAAqE;AAA5D,2HAAA,8BAA8B,OAAA"}
@@ -6,6 +6,7 @@ export declare const getSupportedWallets: GetSupportedWallets;
6
6
  export declare const getSupportedChainsForWalletConnector: (walletConnector: WalletConnector) => Chain[];
7
7
  export declare const getEnabledWallets: (props: {
8
8
  enabledChains: Chain[];
9
+ enabledNetworks: number[];
9
10
  getSupportedWalletOpts: GetSupportedWalletsOpts;
10
11
  installed: boolean;
11
12
  }) => Promise<WalletConnector[]>;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEnabledWallets = exports.getSupportedChainsForWalletConnector = exports.getSupportedWallets = exports.filteredWalletConnectWallets = exports.phantomLedgerWalletName = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const wallet_book_1 = require("@dynamic-labs/wallet-book");
5
6
  const phantom_1 = tslib_1.__importDefault(require("./wallets/solana/phantom"));
6
7
  const coinbase_1 = tslib_1.__importDefault(require("./wallets/ethereum/coinbase"));
7
8
  const slope_1 = tslib_1.__importDefault(require("./wallets/solana/slope"));
@@ -10,7 +11,6 @@ const glow_1 = tslib_1.__importDefault(require("./wallets/solana/glow"));
10
11
  const blocto_1 = tslib_1.__importDefault(require("./wallets/flow/blocto"));
11
12
  const dapper_1 = tslib_1.__importDefault(require("./wallets/flow/dapper"));
12
13
  const isMobile_1 = require("./utils/isMobile");
13
- const walletLinks_1 = require("./utils/walletLinks");
14
14
  const walletConnect_1 = require("./utils/walletConnect");
15
15
  const myalgo_1 = tslib_1.__importDefault(require("./wallets/algorand/myalgo"));
16
16
  const BraveEvm_1 = tslib_1.__importDefault(require("./wallets/ethereum/injected/BraveEvm"));
@@ -34,10 +34,11 @@ const getMetaMaskConnector_1 = require("./wallets/getMetaMaskConnector");
34
34
  const getTrustConnector_1 = require("./wallets/getTrustConnector");
35
35
  const getWalletConnectConnector_1 = require("./wallets/getWalletConnectConnector");
36
36
  const initializeWalletProviders_1 = require("./wallets/initializeWalletProviders");
37
- const logger_1 = require("./utils/logger");
37
+ const Dawn_1 = tslib_1.__importDefault(require("./wallets/ethereum/injected/Dawn"));
38
38
  const PhantomEvm_1 = tslib_1.__importDefault(require("./wallets/ethereum/injected/PhantomEvm"));
39
- const MagicLink_1 = require("./wallets/ethereum/MagicLink");
39
+ const MagicConnector_1 = require("./wallets/ethereum/MagicConnector");
40
40
  const isEmailWalletConnector_1 = require("./utils/isEmailWalletConnector");
41
+ const getKeplrConnector_1 = require("./wallets/cosmos/getKeplrConnector");
41
42
  var phantom_ledger_2 = require("./wallets/solana/phantom-ledger");
42
43
  Object.defineProperty(exports, "phantomLedgerWalletName", { enumerable: true, get: function () { return phantom_ledger_2.walletName; } });
43
44
  let wallets = [];
@@ -48,20 +49,24 @@ exports.filteredWalletConnectWallets = [
48
49
  'Gnosis Safe',
49
50
  'Trust',
50
51
  'lilico',
52
+ 'Keplr',
51
53
  ];
52
54
  const defaultWalletUiUtils = {
53
55
  enableInternalSign: () => {
54
56
  throw Error('enableInternalSign, not implemented');
55
57
  },
56
- requestSignMessageConfirmation: () => {
57
- throw Error('requestSignMessageConfirmation, not implemented');
58
+ sendTransaction: () => {
59
+ throw Error('requestSendTransactionConfirmation not implemented');
60
+ },
61
+ signMessage: () => {
62
+ throw Error('signMessage not implemented');
58
63
  },
59
64
  };
60
- const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, networkConfigurations, skipMemo, vendorCredentials, walletConnectProjectId, walletUiUtils, magicLinkApiKey, } = {
65
+ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, networkConfigurations, skipMemo, vendorCredentials, walletConnectProjectId, walletUiUtils, magicLinkApiKey, magicLinkConfig, } = {
61
66
  appLogoUrl: '',
62
67
  appName: '',
63
68
  isWalletConnectV2Enabled: false,
64
- networkConfigurations: { evm: [], solana: [], starknet: [] },
69
+ networkConfigurations: { cosmos: [], evm: [], solana: [], starknet: [] },
65
70
  skipMemo: false,
66
71
  vendorCredentials: {},
67
72
  walletConnectProjectId: '',
@@ -71,11 +76,13 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
71
76
  }
72
77
  const evmNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.evm) || [];
73
78
  const solanaNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.solana) || [];
79
+ const cosmosNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.cosmos) || [];
74
80
  const walletConnectWallets = (0, walletConnect_1.fetchWalletConnectWallets)(evmNetworkConfigs, isWalletConnectV2Enabled);
75
81
  // temporary hack to filter out metamask, which currently has walletconnect
76
82
  // functionality built-in
77
83
  const filtered = walletConnectWallets.filter(({ name }) => !exports.filteredWalletConnectWallets.includes(name));
78
84
  const allWallets = [
85
+ new Dawn_1.default({ evmNetworks: evmNetworkConfigs }),
79
86
  new phantom_1.default({ solNetworks: solanaNetworkConfigs }),
80
87
  (0, getMetaMaskConnector_1.getMetaMaskConnector)({ evmNetworks: evmNetworkConfigs }),
81
88
  (0, getTrustConnector_1.getTrustConnector)({
@@ -107,8 +114,9 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
107
114
  new Opera_1.default({ evmNetworks: evmNetworkConfigs }),
108
115
  ...(magicLinkApiKey
109
116
  ? [
110
- new MagicLink_1.MagicConnector({
117
+ new MagicConnector_1.EmailOTPMagicWalletConnector({
111
118
  apiKey: magicLinkApiKey,
119
+ config: magicLinkConfig,
112
120
  evmNetworks: evmNetworkConfigs,
113
121
  walletUiUtils: walletUiUtils || defaultWalletUiUtils,
114
122
  }),
@@ -122,6 +130,8 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
122
130
  new Frame_1.default({ evmNetworks: evmNetworkConfigs }),
123
131
  new lilico_1.default({ appLogoUrl, appName }),
124
132
  new PhantomEvm_1.default({ evmNetworks: evmNetworkConfigs }),
133
+ //TODO: https://linear.app/dynamic-labs/issue/DYN-2127/rename-evmnetworks-to-networks-across-the-application
134
+ (0, getKeplrConnector_1.getKeplerConnector)({ evmNetworks: cosmosNetworkConfigs }),
125
135
  ...((vendorCredentials === null || vendorCredentials === void 0 ? void 0 : vendorCredentials.fortmatic)
126
136
  ? [
127
137
  new fortmatic_1.default({
@@ -144,37 +154,32 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
144
154
  });
145
155
  exports.getSupportedWallets = getSupportedWallets;
146
156
  const applyLinksOverrides = (wallets) => wallets.map((wallet) => {
147
- const links = (0, walletLinks_1.getWalletLinks)(wallet.name);
148
- if (links !== undefined &&
149
- links.switchNetworkOnlyFromWallet !== undefined) {
150
- wallet.switchNetworkOnlyFromWallet = links.switchNetworkOnlyFromWallet;
157
+ const metadata = (0, wallet_book_1.getWalletBookWallet)(wallet.name);
158
+ if (metadata.switchNetworkOnlyFromWallet !== undefined) {
159
+ wallet.switchNetworkOnlyFromWallet = metadata.switchNetworkOnlyFromWallet;
151
160
  }
152
161
  return wallet;
153
162
  });
154
163
  const filterWalletsForPlatform = (wallets) => wallets.filter((wallet) => {
155
- const links = (0, walletLinks_1.getWalletLinks)(wallet.name);
156
- if (links === undefined) {
157
- logger_1.logger.error(`Missing wallet configuration for ${wallet.name}`);
158
- return false;
159
- }
164
+ const metadata = (0, wallet_book_1.getWalletBookWallet)(wallet.name);
160
165
  if (wallet.isInstalledOnBrowser()) {
161
166
  return true;
162
167
  }
163
168
  else if ((0, isEmailWalletConnector_1.isEmailWalletConnector)(wallet)) {
164
169
  return true;
165
170
  }
166
- else if (links.showOnlyIfInstalled) {
171
+ else if (metadata.showOnlyIfInstalled) {
167
172
  return false;
168
173
  }
169
174
  else if (!(0, isMobile_1.isMobile)()) {
170
175
  return true;
171
176
  }
172
177
  else {
173
- return handleMobileWalletFilter(wallet, links);
178
+ return handleMobileWalletFilter(wallet, metadata);
174
179
  }
175
180
  });
176
- const handleMobileWalletFilter = (wallet, links) => {
177
- if (links.mobile.disabled)
181
+ const handleMobileWalletFilter = (wallet, metadata) => {
182
+ if (!metadata.mobile)
178
183
  return false;
179
184
  /**
180
185
  * Custom check added with DYN-1489 for mobile version only:
@@ -184,31 +189,28 @@ const handleMobileWalletFilter = (wallet, links) => {
184
189
  if (wallet.isWalletConnect && wallet.name === 'WalletConnect') {
185
190
  return true;
186
191
  }
187
- const walletConnectMetadata = (0, walletConnect_1.getWalletConnectMetadata)(wallet.name);
188
192
  /**
189
193
  * WalletConnect provides a "universal" and "native" deep link. They recommend using
190
194
  * the universal deep link over the native one due to UX differences, and our current
191
195
  * implementation uses only universal. This means we need to filter for wallets that
192
196
  * have a universal deep link available.
193
197
  */
194
- const hasWalletConnectLink = walletConnectMetadata &&
195
- (Boolean(walletConnectMetadata.mobile.universal) ||
196
- Boolean(walletConnectMetadata.mobile.native));
197
- const isWalletConnectWallet = walletConnectMetadata !== undefined;
198
+ const hasWalletConnectLink = Boolean(metadata.mobile.universal) || Boolean(metadata.mobile.native);
199
+ const isWalletConnectWallet = metadata.walletConnect !== undefined;
198
200
  /**
199
201
  * wallets-links.json is the source of truth for wallet support on mobile platforms.
200
202
  * if a wallet has a non-empty value for ios, that means that wallet has an ios app
201
203
  * and we support that app. the same goes for android
202
204
  */
203
205
  if ((0, isMobile_1.isIPad)() || (0, isMobile_1.isIPhone)()) {
204
- const hasIOSLink = links.mobile.ios !== '';
206
+ const hasIOSLink = metadata.mobile.iosId !== undefined;
205
207
  return !isWalletConnectWallet
206
208
  ? hasIOSLink
207
209
  : hasIOSLink && hasWalletConnectLink;
208
210
  // It is an android device
209
211
  }
210
212
  else {
211
- const hasAndroidLink = links.mobile.android !== '';
213
+ const hasAndroidLink = metadata.mobile.androidId !== undefined;
212
214
  return !isWalletConnectWallet
213
215
  ? hasAndroidLink
214
216
  : hasAndroidLink && hasWalletConnectLink;
@@ -219,34 +221,40 @@ const chainStringToChains = {
219
221
  'flow:mainnet': ['FLOW'],
220
222
  };
221
223
  const getSupportedChainsForWalletConnector = (walletConnector) => {
222
- const metadata = (0, walletConnect_1.getWalletConnectMetadata)(walletConnector.name);
223
- // if this walletConnector is in the metadata, then it is a WalletConnect wallet
224
- if (metadata) {
225
- /**
226
- * chains could contain multiple eth networks eg
227
- * "eip155:1",
228
- * "eip155:10",
229
- * "eip155:56",
230
- * "eip155:100",
231
- *
232
- * so we will use a set to ensure uniqueness
233
- */
234
- const chainSet = new Set();
235
- const chainStringList = metadata.chains;
236
- chainStringList.forEach((chainString) => {
237
- const chains = chainStringToChains[chainString];
238
- chains === null || chains === void 0 ? void 0 : chains.forEach((chain) => {
239
- chainSet.add(chain);
240
- });
224
+ var _a;
225
+ const metadata = (0, wallet_book_1.getWalletBookWallet)(walletConnector.name);
226
+ /**
227
+ * chains could contain multiple eth networks eg
228
+ * "eip155:1",
229
+ * "eip155:10",
230
+ * "eip155:56",
231
+ * "eip155:100",
232
+ *
233
+ * so we will use a set to ensure uniqueness
234
+ */
235
+ const chainSet = new Set();
236
+ const chainStringList = (_a = metadata.chains) !== null && _a !== void 0 ? _a : [];
237
+ chainStringList.forEach((chainString) => {
238
+ const chains = chainStringToChains[chainString];
239
+ chains === null || chains === void 0 ? void 0 : chains.forEach((chain) => {
240
+ chainSet.add(chain);
241
241
  });
242
- return [...chainSet];
243
- }
244
- return walletConnector.supportedChains;
242
+ });
243
+ walletConnector.supportedChains.forEach((chain) => {
244
+ chainSet.add(chain);
245
+ });
246
+ return [...chainSet];
245
247
  };
246
248
  exports.getSupportedChainsForWalletConnector = getSupportedChainsForWalletConnector;
247
249
  const getEnabledWallets = (props) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
248
250
  const supportedWallets = yield (0, exports.getSupportedWallets)(props.getSupportedWalletOpts);
249
- const allEnabledWallets = supportedWallets.filter((wallet) => props.enabledChains.some((chain) => (0, exports.getSupportedChainsForWalletConnector)(wallet).includes(chain)) && wallet.isInstalledOnBrowser() === props.installed);
251
+ const isKeplrWalletEnabled = (wallet) => wallet.name.includes('Keplr') &&
252
+ props.enabledNetworks.includes(wallet.networkId) &&
253
+ wallet.isInstalledOnBrowser() === props.installed;
254
+ const allEnabledWallets = supportedWallets.filter((wallet) => isKeplrWalletEnabled(wallet) ||
255
+ (props.enabledChains.some((chain) => (0, exports.getSupportedChainsForWalletConnector)(wallet).includes(chain)) &&
256
+ wallet.isInstalledOnBrowser() === props.installed) ||
257
+ wallet.key === 'magiclink');
250
258
  return allEnabledWallets;
251
259
  });
252
260
  exports.getEnabledWallets = getEnabledWallets;
@@ -1 +1 @@
1
- {"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":";;;;AAEA,+EAA+C;AAC/C,mFAAmD;AACnD,2EAA2C;AAC3C,iFAAiD;AACjD,yEAAyC;AACzC,2EAA2C;AAC3C,2EAA2C;AAM3C,+CAA8D;AAC9D,qDAAkE;AAClE,yDAG+B;AAC/B,+EAA+C;AAC/C,4FAA4D;AAC5D,sFAAsD;AACtD,0FAA0D;AAC1D,sHAAsF;AACtF,4FAA4D;AAC5D,8FAA8D;AAC9D,4FAA4D;AAC5D,wGAAwE;AACxE,iFAAiD;AACjD,iFAAiD;AACjD,qFAAqD;AACrD,6FAA4D;AAC5D,4GAA4G;AAC5G,6FAA6D;AAC7D,sFAAsD;AACtD,qFAAqD;AACrD,2EAA2C;AAC3C,yEAAsE;AACtE,mEAAgE;AAChE,mFAAgF;AAChF,mFAAgF;AAChF,2CAAwC;AACxC,gGAAgE;AAChE,4DAA8D;AAC9D,2EAAwE;AACxE,kEAAwF;AAA/E,yHAAA,UAAU,OAA2B;AAE9C,IAAI,OAAO,GAAsB,EAAE,CAAC;AAEpC,4DAA4D;AAC5D,8BAA8B;AACjB,QAAA,4BAA4B,GAAG;IAC1C,UAAU;IACV,aAAa;IACb,OAAO;IACP,QAAQ;CACT,CAAC;AAEF,MAAM,oBAAoB,GAAkB;IAC1C,kBAAkB,EAAE,GAAG,EAAE;QACvB,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IACD,8BAA8B,EAAE,GAAG,EAAE;QACnC,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;CACF,CAAC;AAEK,MAAM,mBAAmB,GAAwB,CACtD,EACE,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,GAAG;IACF,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,wBAAwB,EAAE,KAAK;IAC/B,qBAAqB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,EAAE;IACrB,sBAAsB,EAAE,EAAE;CAC3B,EACD,EAAE;IACF,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,iBAAiB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,GAAG,KAAI,EAAE,CAAC;IAC3D,MAAM,oBAAoB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,MAAM,KAAI,EAAE,CAAC;IAEjE,MAAM,oBAAoB,GAAG,IAAA,yCAAyB,EACpD,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;IAEF,2EAA2E;IAC3E,yBAAyB;IACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAC1C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,oCAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3D,CAAC;IACF,MAAM,UAAU,GAAG;QACjB,IAAI,iBAAO,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAClD,IAAA,2CAAoB,EAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACxD,IAAA,qCAAiB,EAAC;YAChB,WAAW,EAAE,iBAAiB;YAC9B,wBAAwB;SACzB,CAAC;QACF,IAAI,kBAAQ,CAAC;YACX,UAAU;YACV,OAAO;YACP,WAAW,EAAE,iBAAiB;SAC/B,CAAC;QACF,IAAI,kBAAQ,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACnD,IAAI,cAAI,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAC/C,IAAI,eAAK,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAChD,IAAI,gBAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACnC,IAAI,gBAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACnC,IAAI,mBAAS,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACjD,IAAI,wBAAc,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACtD,IAAA,qDAAyB,EAAC;YACxB,WAAW,EAAE,iBAAiB;YAC9B,wBAAwB;SACzB,CAAC;QACF,IAAI,kBAAQ,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACnD,IAAI,kBAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAChD,IAAI,+BAAqB,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAC7D,IAAI,kBAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAChD,IAAI,mBAAS,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACjD,IAAI,mBAAS,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACpD,IAAI,eAAK,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAC7C,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC;gBACE,IAAI,0BAAc,CAAC;oBACjB,MAAM,EAAE,eAAe;oBACvB,WAAW,EAAE,iBAAiB;oBAC9B,aAAa,EAAE,aAAa,IAAI,oBAAoB;iBACrD,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,gBAAM,EAAE;QACZ,IAAI,iBAAO,EAAE;QACb,IAAI,iBAAO,EAAE;QACb,IAAI,wBAAa,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACxD,IAAI,wBAAc,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACzD,IAAI,eAAK,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAC7C,IAAI,gBAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACnC,IAAI,oBAAU,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAClD,GAAG,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS;YAC9B,CAAC,CAAC;gBACE,IAAI,mBAAS,CAAC;oBACZ,MAAM,EAAE,iBAAiB,CAAC,SAAS;oBACnC,WAAW,EAAE,iBAAiB;iBAC/B,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,QAAQ;KACZ,CAAC;IAEF,MAAM,IAAA,qDAAyB,EAAC;QAC9B,WAAW,EAAE,iBAAiB;QAC9B,wBAAwB;QACxB,sBAAsB;KACvB,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AA1GW,QAAA,mBAAmB,uBA0G9B;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,EAAE,CACzD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,MAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,IACE,KAAK,KAAK,SAAS;QACnB,KAAK,CAAC,2BAA2B,KAAK,SAAS,EAC/C;QACA,MAAM,CAAC,2BAA2B,GAAG,KAAK,CAAC,2BAA2B,CAAC;KACxE;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,MAAM,wBAAwB,GAAG,CAAC,OAA0B,EAAE,EAAE,CAC9D,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,MAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,eAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,CAAC,oBAAoB,EAAE,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAA,+CAAsB,EAAC,MAAM,CAAC,EAAE;QACzC,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,CAAC,IAAA,mBAAQ,GAAE,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAChD;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,wBAAwB,GAAG,CAC/B,MAAuB,EACvB,KAAkB,EACT,EAAE;IACX,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC;;;;OAIG;IACH,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE;QAC7D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,qBAAqB,GAAG,IAAA,wCAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;OAKG;IAEH,MAAM,oBAAoB,GACxB,qBAAqB;QACrB,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC;YAC9C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,qBAAqB,GAAG,qBAAqB,KAAK,SAAS,CAAC;IAClE;;;;OAIG;IACH,IAAI,IAAA,iBAAM,GAAE,IAAI,IAAA,mBAAQ,GAAE,EAAE;QAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAC3C,OAAO,CAAC,qBAAqB;YAC3B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,IAAI,oBAAoB,CAAC;QAEvC,0BAA0B;KAC3B;SAAM;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;QACnD,OAAO,CAAC,qBAAqB;YAC3B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,cAAc,IAAI,oBAAoB,CAAC;KAC5C;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAA4B;IACnD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1B,cAAc,EAAE,CAAC,MAAM,CAAC;CACzB,CAAC;AAEK,MAAM,oCAAoC,GAAG,CAClD,eAAgC,EACvB,EAAE;IACX,MAAM,QAAQ,GAAG,IAAA,wCAAwB,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChE,gFAAgF;IAChF,IAAI,QAAQ,EAAE;QACZ;;;;;;;;WAQG;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAS,CAAC;QAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxC,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO,eAAe,CAAC,eAAe,CAAC;AACzC,CAAC,CAAC;AA5BW,QAAA,oCAAoC,wCA4B/C;AAEK,MAAM,iBAAiB,GAAG,CAAO,KAIvC,EAA8B,EAAE;IAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAA,2BAAmB,EAChD,KAAK,CAAC,sBAAsB,CAC7B,CAAC;IACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC/C,CAAC,MAAM,EAAE,EAAE,CACT,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,IAAA,4CAAoC,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC7D,IAAI,MAAM,CAAC,oBAAoB,EAAE,KAAK,KAAK,CAAC,SAAS,CACzD,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAA,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
1
+ {"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":"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"}