@dynamic-labs/multi-wallet 0.17.0-RC.7 → 0.17.0-RC.9

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 (233) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +8 -14
  3. package/src/index.cjs +0 -57
  4. package/src/index.d.ts +0 -13
  5. package/src/index.js +1 -18
  6. package/src/multi-wallet.cjs +27 -87
  7. package/src/multi-wallet.d.ts +0 -1
  8. package/src/multi-wallet.js +25 -84
  9. package/src/types.d.ts +2 -23
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +10 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +3 -4
  14. package/src/utils/message.js +1 -2
  15. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
  16. package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
  17. package/src/wallets/constants.cjs +0 -2
  18. package/src/wallets/constants.js +1 -2
  19. package/src/wallets/cosmos/KeplrWalletConnect.cjs +16 -17
  20. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +9 -5
  21. package/src/wallets/cosmos/KeplrWalletConnect.js +9 -10
  22. package/src/wallets/cosmos/KeplrWalletConnector.cjs +13 -5
  23. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +6 -4
  24. package/src/wallets/cosmos/KeplrWalletConnector.js +13 -5
  25. package/src/wallets/cosmos/wcClient.lib.cjs +141 -0
  26. package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -11
  27. package/src/wallets/cosmos/wcClient.lib.js +126 -0
  28. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  29. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  30. package/src/wallets/flow/lilico.cjs +2 -2
  31. package/src/wallets/flow/lilico.js +1 -1
  32. package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
  33. package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
  34. package/src/wallets/solana/CoinbaseSolana.js +8 -11
  35. package/src/wallets/solana/glow.cjs +8 -11
  36. package/src/wallets/solana/glow.d.ts +1 -3
  37. package/src/wallets/solana/glow.js +8 -11
  38. package/src/wallets/solana/injected/BraveSol.cjs +2 -1
  39. package/src/wallets/solana/injected/BraveSol.js +2 -1
  40. package/src/wallets/solana/phantom-ledger.cjs +5 -5
  41. package/src/wallets/solana/phantom-ledger.js +1 -1
  42. package/src/wallets/solana/phantom.cjs +11 -15
  43. package/src/wallets/solana/phantom.d.ts +1 -3
  44. package/src/wallets/solana/phantom.js +9 -13
  45. package/src/wallets/solana/slope.cjs +4 -4
  46. package/src/wallets/solana/slope.js +1 -1
  47. package/src/wallets/solana/solProviderHelper.cjs +49 -51
  48. package/src/wallets/solana/solProviderHelper.d.ts +20 -20
  49. package/src/wallets/solana/solProviderHelper.js +48 -50
  50. package/src/wallets/solana/solWalletConnector.cjs +2 -2
  51. package/src/wallets/solana/solWalletConnector.js +1 -1
  52. package/src/wallets/solana/solflare.cjs +6 -7
  53. package/src/wallets/solana/solflare.d.ts +0 -2
  54. package/src/wallets/solana/solflare.js +6 -7
  55. package/src/wallets/starknet/braavos.cjs +2 -2
  56. package/src/wallets/starknet/braavos.js +1 -1
  57. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  58. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  59. package/src/wallets/window.d.ts +10 -22
  60. package/src/errors.cjs +0 -66
  61. package/src/errors.d.ts +0 -34
  62. package/src/errors.js +0 -54
  63. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  64. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  65. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  66. package/src/utils/CancellablePromise/index.d.ts +0 -1
  67. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  68. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  69. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  70. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  71. package/src/utils/encoding.cjs +0 -18
  72. package/src/utils/encoding.d.ts +0 -4
  73. package/src/utils/encoding.js +0 -12
  74. package/src/utils/findProvider/findProvider.cjs +0 -7
  75. package/src/utils/findProvider/findProvider.d.ts +0 -2
  76. package/src/utils/findProvider/findProvider.js +0 -3
  77. package/src/utils/findProvider/index.d.ts +0 -1
  78. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  79. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  80. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  81. package/src/utils/getChainInfo/index.d.ts +0 -1
  82. package/src/utils/getWalletConnectorByName.cjs +0 -19
  83. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  84. package/src/utils/getWalletConnectorByName.js +0 -15
  85. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  86. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  87. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  88. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  89. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  90. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  91. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  92. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  93. package/src/utils/isFunction/index.d.ts +0 -1
  94. package/src/utils/isFunction/isFunction.cjs +0 -8
  95. package/src/utils/isFunction/isFunction.d.ts +0 -1
  96. package/src/utils/isFunction/isFunction.js +0 -4
  97. package/src/utils/isMobile.cjs +0 -54
  98. package/src/utils/isMobile.d.ts +0 -13
  99. package/src/utils/isMobile.js +0 -46
  100. package/src/utils/isSameAddress/index.d.ts +0 -1
  101. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  102. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  103. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  104. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  105. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  106. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  107. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  108. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  109. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  110. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  111. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  112. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  113. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  114. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  115. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  116. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  117. package/src/utils/logger.cjs +0 -9
  118. package/src/utils/logger.d.ts +0 -2
  119. package/src/utils/logger.js +0 -5
  120. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  121. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  122. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  123. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  124. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  125. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  126. package/src/utils/shouldLowercaseAddress.js +0 -7
  127. package/src/utils/walletConnect.cjs +0 -31
  128. package/src/utils/walletConnect.d.ts +0 -5
  129. package/src/utils/walletConnect.js +0 -27
  130. package/src/wallets/ProviderLookup.cjs +0 -18
  131. package/src/wallets/ProviderLookup.d.ts +0 -4
  132. package/src/wallets/ProviderLookup.js +0 -14
  133. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  134. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  135. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  136. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  137. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  138. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  139. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  140. package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -250
  141. package/src/wallets/clients/walletConnect/walletConnect.js +0 -233
  142. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  143. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  144. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  145. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  146. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -22
  147. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  148. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -207
  149. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -38
  150. package/src/wallets/ethereum/EthWalletConnector.js +0 -203
  151. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  152. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  153. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  154. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  155. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  156. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  157. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  158. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  159. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
  160. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  161. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
  162. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  163. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
  164. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  165. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
  166. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  167. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -177
  168. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -54
  169. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -173
  170. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  171. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  172. package/src/wallets/ethereum/coinbase.cjs +0 -66
  173. package/src/wallets/ethereum/coinbase.d.ts +0 -25
  174. package/src/wallets/ethereum/coinbase.js +0 -64
  175. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  176. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  177. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  178. package/src/wallets/ethereum/evm-network.cjs +0 -20
  179. package/src/wallets/ethereum/evm-network.d.ts +0 -6
  180. package/src/wallets/ethereum/evm-network.js +0 -16
  181. package/src/wallets/ethereum/fortmatic.cjs +0 -76
  182. package/src/wallets/ethereum/fortmatic.d.ts +0 -25
  183. package/src/wallets/ethereum/fortmatic.js +0 -70
  184. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  185. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  186. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  187. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  188. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  189. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  190. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  191. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  192. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  193. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  194. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  195. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  196. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  197. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  198. package/src/wallets/ethereum/injected/Frame.js +0 -11
  199. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  200. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  201. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  202. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  203. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  204. package/src/wallets/ethereum/injected/Opera.js +0 -11
  205. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  206. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  207. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  208. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  209. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  210. package/src/wallets/ethereum/injected/Trust.js +0 -11
  211. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  212. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  213. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  214. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  215. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  216. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  217. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  218. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  219. package/src/wallets/ethereum/meta-mask.js +0 -61
  220. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -22
  221. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -9
  222. package/src/wallets/getMobileOrInjectedWallet.js +0 -18
  223. package/src/wallets/getWalletConnectConnector.cjs +0 -16
  224. package/src/wallets/getWalletConnectConnector.d.ts +0 -5
  225. package/src/wallets/getWalletConnectConnector.js +0 -12
  226. package/src/wallets/walletConnect/index.d.ts +0 -2
  227. package/src/wallets/walletConnect/walletConnect.cjs +0 -133
  228. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  229. package/src/wallets/walletConnect/walletConnect.js +0 -127
  230. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  231. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  232. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  233. package/src/wallets/walletConnect/zerion.d.ts +0 -6
@@ -1,173 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { Magic } from 'magic-sdk';
3
- import { ethers } from 'ethers';
4
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
5
- import { parseEvmNetworks } from '@dynamic-labs/utils';
6
- import { DynamicError } from '../../../../errors.js';
7
- import { logger } from '../../../../utils/logger.js';
8
- import { assignConfirmationScreenToProvider } from '../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js';
9
- import { CancellablePromise } from '../../../../utils/CancellablePromise/CancellablePromise.js';
10
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
11
-
12
- const storedAddressKey = 'dynamic_magic_address';
13
- class MagicWalletConnector extends WalletConnectorBase {
14
- get key() {
15
- return 'magiclink';
16
- }
17
- constructor({ apiKey, walletUiUtils, evmNetworks, config, defaultChainId, }) {
18
- super();
19
- this.canConnectViaCustodialService = true;
20
- this.connectedChain = 'EVM';
21
- this.supportedChains = ['ETH', 'EVM'];
22
- this.name = 'Magic Link';
23
- this._magicClient = new MagicClientNetworkHandler({
24
- config,
25
- createClient: (config) => new Magic(apiKey, config),
26
- defaultChainId,
27
- evmNetworks,
28
- });
29
- this.evmNetworks = parseEvmNetworks(evmNetworks);
30
- this._walletUiUtils = walletUiUtils;
31
- }
32
- getDeepLink() {
33
- return undefined;
34
- }
35
- connect() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- yield this.fetchPublicAddress();
38
- });
39
- }
40
- endSession() {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- localStorage.removeItem(storedAddressKey);
43
- const client = this._magicClient.getClient();
44
- yield client.user.logout();
45
- });
46
- }
47
- getUserMetadata() {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- if (yield this._isLoggedIn()) {
50
- const client = this._magicClient.getClient();
51
- return client.user.getMetadata();
52
- }
53
- return undefined;
54
- });
55
- }
56
- fetchPublicAddress() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const address = localStorage.getItem(storedAddressKey);
59
- if (address)
60
- return address;
61
- const client = this._magicClient.getClient();
62
- try {
63
- try {
64
- this._currentAuthCancellablePromise = CancellablePromise.fromPromise(this.loginWithMagic());
65
- yield this._currentAuthCancellablePromise;
66
- }
67
- catch (err) {
68
- logger.error(err);
69
- return;
70
- }
71
- const metadata = yield client.user.getMetadata();
72
- if (!metadata || !metadata.publicAddress) {
73
- throw new Error('No public address');
74
- }
75
- if (metadata.issuer) {
76
- this.providerResources = [`magic-auth:issuer:${metadata.issuer}`];
77
- }
78
- localStorage.setItem(storedAddressKey, metadata.publicAddress);
79
- return metadata.publicAddress;
80
- }
81
- catch (err) {
82
- return undefined;
83
- }
84
- });
85
- }
86
- getBalance() {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const provider = yield this.getWeb3Provider();
89
- if (!provider)
90
- throw new DynamicError('No provider');
91
- const signer = provider.getSigner();
92
- const userAddress = yield signer.getAddress();
93
- return ethers.utils.formatEther(yield provider.getBalance(userAddress));
94
- });
95
- }
96
- getConnectedAccounts() {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const address = localStorage.getItem(storedAddressKey);
99
- if (!address)
100
- return [];
101
- return [address];
102
- });
103
- }
104
- getNetwork() {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- return this._magicClient.networkId;
107
- });
108
- }
109
- getRpcProvider() {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- return undefined;
112
- });
113
- }
114
- getSigner() {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const provider = yield this.getWeb3Provider();
117
- return provider.getSigner();
118
- });
119
- }
120
- getWeb3Provider() {
121
- return __awaiter(this, void 0, void 0, function* () {
122
- const client = this._magicClient.getClient();
123
- const provider = new ethers.providers.Web3Provider(client.rpcProvider);
124
- assignConfirmationScreenToProvider(provider, this._walletUiUtils);
125
- return provider;
126
- });
127
- }
128
- setupEventListeners(listeners) {
129
- this._listeners = listeners;
130
- this._magicClient.setListeners(listeners);
131
- this._checkIfLoggedIn();
132
- }
133
- signMessage(messageToSign) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- const provider = yield this.getWeb3Provider();
136
- return provider.getSigner().signMessage(messageToSign);
137
- });
138
- }
139
- supportsNetworkSwitching() {
140
- return true;
141
- }
142
- switchNetwork({ networkChainId, }) {
143
- return __awaiter(this, void 0, void 0, function* () {
144
- if (!networkChainId) {
145
- return;
146
- }
147
- this._magicClient.selectNetwork(networkChainId);
148
- });
149
- }
150
- teardownEventListeners() {
151
- this._listeners = undefined;
152
- this._magicClient.setListeners(undefined);
153
- }
154
- _isLoggedIn() {
155
- return __awaiter(this, void 0, void 0, function* () {
156
- const client = this._magicClient.getClient();
157
- return client.user.isLoggedIn();
158
- });
159
- }
160
- _checkIfLoggedIn() {
161
- var _a, _b;
162
- return __awaiter(this, void 0, void 0, function* () {
163
- const isLoggedIn = yield this._isLoggedIn();
164
- if (!isLoggedIn) {
165
- localStorage.removeItem(storedAddressKey);
166
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
167
- }
168
- return isLoggedIn;
169
- });
170
- }
171
- }
172
-
173
- export { MagicWalletConnector };
@@ -1,2 +0,0 @@
1
- export { MagicWalletConnector } from './MagicWalletConnector';
2
- export type { MagicConnectorProps, MagicPromiEvent, } from './MagicWalletConnector';
@@ -1,5 +0,0 @@
1
- export * from './EmailMagicWalletConnector';
2
- export * from './MagicWalletConnector';
3
- export * from './EmailOTPMagicWalletConnector';
4
- export * from './MagicClientNetworkHandler';
5
- export * from './MagicSocialWalletConnector';
@@ -1,66 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var ethers = require('ethers');
5
- var coinbase = require('../clients/coinbase/coinbase.cjs');
6
- var ethProviderHelper = require('./ethProviderHelper.cjs');
7
- var EthWalletConnector = require('./EthWalletConnector.cjs');
8
-
9
- class Coinbase extends EthWalletConnector.EthWalletConnector {
10
- constructor(_a) {
11
- var { appName, appLogoUrl, evmNetworks } = _a, props = tslib.__rest(_a, ["appName", "appLogoUrl", "evmNetworks"]);
12
- super(Object.assign({ evmNetworks }, props));
13
- this.name = 'Coinbase';
14
- this.supportedChains = ['EVM', 'ETH'];
15
- this.connectedChain = 'EVM';
16
- this.canConnectViaQrCode = true;
17
- this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
18
- this.coinbaseProviderOpts = {
19
- appLogoUrl: appLogoUrl,
20
- appName: appName,
21
- evmNetworks: evmNetworks,
22
- };
23
- }
24
- setupEventListeners(listeners) {
25
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
26
- }
27
- teardownEventListeners() {
28
- return this.ethProviderHelper._teardownEventListeners(this.name);
29
- }
30
- getWeb3Provider() {
31
- if (this.isInstalledOnBrowser()) {
32
- return this.ethProviderHelper.findProvider(this.name);
33
- }
34
- return new ethers.ethers.providers.Web3Provider(coinbase.getCoinbaseProvider({
35
- opts: this.coinbaseProviderOpts,
36
- }), 'any');
37
- }
38
- isInstalledOnBrowser() {
39
- return this.ethProviderHelper.isInstalledHelper(this.name);
40
- }
41
- fetchPublicAddress(opts) {
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- if (this.isInstalledOnBrowser()) {
44
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
45
- }
46
- return coinbase.fetchPublicAddress(this.coinbaseProviderOpts, opts);
47
- });
48
- }
49
- signMessage(messageToSign) {
50
- return tslib.__awaiter(this, void 0, void 0, function* () {
51
- if (this.isInstalledOnBrowser()) {
52
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
53
- }
54
- return coinbase.signMessage(this.coinbaseProviderOpts, messageToSign);
55
- });
56
- }
57
- endSession() {
58
- return tslib.__awaiter(this, void 0, void 0, function* () {
59
- if (this.isInstalledOnBrowser())
60
- return;
61
- coinbase.killCoinbaseSession();
62
- });
63
- }
64
- }
65
-
66
- module.exports = Coinbase;
@@ -1,25 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { EthProviderHelper } from './ethProviderHelper';
4
- import { EthWalletConnector, EthWalletConnectorOpts } from './EthWalletConnector';
5
- type CoinbaseOpts = EthWalletConnectorOpts & {
6
- appLogoUrl?: string;
7
- appName?: string;
8
- };
9
- declare class Coinbase extends EthWalletConnector {
10
- name: string;
11
- supportedChains: Chain[];
12
- connectedChain: Chain;
13
- canConnectViaQrCode: boolean;
14
- ethProviderHelper: EthProviderHelper;
15
- private coinbaseProviderOpts;
16
- constructor({ appName, appLogoUrl, evmNetworks, ...props }: CoinbaseOpts);
17
- setupEventListeners(listeners: WalletEventListeners): () => void;
18
- teardownEventListeners(): void;
19
- getWeb3Provider(): ethers.providers.Web3Provider | undefined;
20
- isInstalledOnBrowser(): boolean;
21
- fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
22
- signMessage(messageToSign: string): Promise<string | undefined>;
23
- endSession(): Promise<void>;
24
- }
25
- export default Coinbase;
@@ -1,64 +0,0 @@
1
- import { __rest, __awaiter } from 'tslib';
2
- import { ethers } from 'ethers';
3
- import { getCoinbaseProvider, fetchPublicAddress, signMessage, killCoinbaseSession } from '../clients/coinbase/coinbase.js';
4
- import { EthProviderHelper } from './ethProviderHelper.js';
5
- import { EthWalletConnector } from './EthWalletConnector.js';
6
-
7
- class Coinbase extends EthWalletConnector {
8
- constructor(_a) {
9
- var { appName, appLogoUrl, evmNetworks } = _a, props = __rest(_a, ["appName", "appLogoUrl", "evmNetworks"]);
10
- super(Object.assign({ evmNetworks }, props));
11
- this.name = 'Coinbase';
12
- this.supportedChains = ['EVM', 'ETH'];
13
- this.connectedChain = 'EVM';
14
- this.canConnectViaQrCode = true;
15
- this.ethProviderHelper = new EthProviderHelper();
16
- this.coinbaseProviderOpts = {
17
- appLogoUrl: appLogoUrl,
18
- appName: appName,
19
- evmNetworks: evmNetworks,
20
- };
21
- }
22
- setupEventListeners(listeners) {
23
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
24
- }
25
- teardownEventListeners() {
26
- return this.ethProviderHelper._teardownEventListeners(this.name);
27
- }
28
- getWeb3Provider() {
29
- if (this.isInstalledOnBrowser()) {
30
- return this.ethProviderHelper.findProvider(this.name);
31
- }
32
- return new ethers.providers.Web3Provider(getCoinbaseProvider({
33
- opts: this.coinbaseProviderOpts,
34
- }), 'any');
35
- }
36
- isInstalledOnBrowser() {
37
- return this.ethProviderHelper.isInstalledHelper(this.name);
38
- }
39
- fetchPublicAddress(opts) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- if (this.isInstalledOnBrowser()) {
42
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
43
- }
44
- return fetchPublicAddress(this.coinbaseProviderOpts, opts);
45
- });
46
- }
47
- signMessage(messageToSign) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- if (this.isInstalledOnBrowser()) {
50
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
51
- }
52
- return signMessage(this.coinbaseProviderOpts, messageToSign);
53
- });
54
- }
55
- endSession() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- if (this.isInstalledOnBrowser())
58
- return;
59
- killCoinbaseSession();
60
- });
61
- }
62
- }
63
-
64
- export { Coinbase as default };
@@ -1,197 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var ethers = require('ethers');
7
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
8
- var ProviderLookup = require('../ProviderLookup.cjs');
9
- var isUnsupportedProviderError = require('../../utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs');
10
- var logger = require('../../utils/logger.cjs');
11
-
12
- class EthProviderHelper {
13
- constructor() {
14
- this.MetamaskProvider = () =>
15
- // Stop these wallets from showing up as MetaMask
16
- this.installedProviderLookup([
17
- { flag: 'isDawn', value: false },
18
- { flag: 'isBraveWallet', value: false },
19
- { flag: 'isTrustWallet', value: false },
20
- { flag: 'isExodus', value: false },
21
- { flag: 'isPhantom', value: false },
22
- { flag: 'isZerion', value: false },
23
- { flag: 'isMetaMask', value: true },
24
- ]);
25
- this.BraveProvider = () => this.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
26
- this.DawnProvider = () => this.installedProviderLookup([{ flag: 'isDawn', value: true }]);
27
- this.FrameProvider = () => this.installedProviderLookup([{ flag: 'isFrame', value: true }]);
28
- this.CoinbaseProvider = () => this.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
29
- this.OperaProvider = () => this.installedProviderLookup([{ flag: 'isOpera', value: true }]);
30
- this.GameStopProvider = () => this.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
31
- this.ExodusProvider = () => this.installedProviderLookup([{ flag: 'isExodus', value: true }]);
32
- this.BloctoProvider = () => this.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
33
- this.TrustWalletProvider = () => this.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
34
- this.PhantomProvider = () => this.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
35
- this.ZerionProvider = () => this.installedProviderLookup([{ flag: 'isZerion', value: true }]);
36
- this.UnknownInjectedProvider = () => this.installedProviderLookup([
37
- { flag: 'isMetaMask', value: false },
38
- { flag: 'isExodus', value: false },
39
- { flag: 'isCoinbaseWallet', value: false },
40
- { flag: 'isBraveWallet', value: false },
41
- { flag: 'isGamestop', value: false },
42
- { flag: 'isFrame', value: false },
43
- { flag: 'isOpera', value: false },
44
- { flag: 'isBlocto', value: false },
45
- { flag: 'isTrustWallet', value: false },
46
- { flag: 'isPhantom', value: false },
47
- { flag: 'isZerion', value: false },
48
- ]);
49
- this.providers = {
50
- bloctoinjected: this.BloctoProvider,
51
- braveevm: this.BraveProvider,
52
- coinbase: this.CoinbaseProvider,
53
- dawn: this.DawnProvider,
54
- exodusevm: this.ExodusProvider,
55
- frame: this.FrameProvider,
56
- gamestop: this.GameStopProvider,
57
- injectedwallet: this.UnknownInjectedProvider,
58
- metamask: this.MetamaskProvider,
59
- opera: this.OperaProvider,
60
- phantomevm: this.PhantomProvider,
61
- trust: this.TrustWalletProvider,
62
- zerion: this.ZerionProvider,
63
- };
64
- }
65
- installedProviderLookup(providerFlags) {
66
- const allInstalledProviders = this.allInstalledProviders();
67
- return ProviderLookup.ProviderLookup(allInstalledProviders, providerFlags);
68
- }
69
- allInstalledProviders() {
70
- var _a;
71
- const ethereumProviders = [];
72
- if (window.ethereum) {
73
- if (!window.ethereum.providers) {
74
- ethereumProviders.push(window.ethereum);
75
- }
76
- else {
77
- window.ethereum.providers.forEach((provider) => {
78
- ethereumProviders.push(provider);
79
- });
80
- }
81
- }
82
- if ((_a = window.phantom) === null || _a === void 0 ? void 0 : _a.ethereum) {
83
- ethereumProviders.push(window.phantom.ethereum);
84
- }
85
- if (window.zerionWallet) {
86
- ethereumProviders.push(window.zerionWallet);
87
- }
88
- return ethereumProviders;
89
- }
90
- isInstalledHelper(walletName) {
91
- return this.findProvider(walletName) !== undefined;
92
- }
93
- findProvider(walletName) {
94
- var _a, _b;
95
- try {
96
- const provider = (_b = (_a = this.providers)[normalizeWalletName.normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
97
- return provider === undefined
98
- ? undefined
99
- : new ethers.ethers.providers.Web3Provider(provider, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
100
- }
101
- catch (err) {
102
- if (isUnsupportedProviderError.isUnsupportedProviderError(err)) {
103
- logger.logger.error(`ETH Provider is not supported ${err.value}`, err);
104
- return;
105
- }
106
- logger.logger.error(`Could not find provider for ${walletName}`, err);
107
- return undefined;
108
- }
109
- }
110
- fetchPublicAddressWithName(name) {
111
- return tslib.__awaiter(this, void 0, void 0, function* () {
112
- const provider = this.findProvider(name);
113
- if (!provider) {
114
- return Promise.resolve(undefined);
115
- }
116
- return this.fetchPublicAddressWithProvider(provider);
117
- });
118
- }
119
- fetchPublicAddressWithProvider(provider) {
120
- return tslib.__awaiter(this, void 0, void 0, function* () {
121
- try {
122
- const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
123
- const publicAddress = ethers.utils.getAddress(lowercaseAddress);
124
- return publicAddress;
125
- }
126
- catch (err) {
127
- logger.logger.error(err);
128
- return Promise.reject(err);
129
- }
130
- });
131
- }
132
- signMessageWithName(messageToSign, name) {
133
- return tslib.__awaiter(this, void 0, void 0, function* () {
134
- const walletAddress = yield this.fetchPublicAddressWithName(name);
135
- if (!walletAddress) {
136
- return Promise.resolve(undefined);
137
- }
138
- const provider = this.findProvider(name);
139
- if (!provider) {
140
- return Promise.resolve(undefined);
141
- }
142
- const signer = provider.getSigner();
143
- const signedMessage = yield signer.signMessage(messageToSign);
144
- return signedMessage;
145
- });
146
- }
147
- _setupEventListeners(listeners, web3Provider) {
148
- if (!web3Provider) {
149
- return () => {
150
- // nothing to teardown
151
- };
152
- }
153
- const externalProvider = web3Provider.provider;
154
- this.handleAccountChange = (accounts) => tslib.__awaiter(this, void 0, void 0, function* () {
155
- var _a, _b;
156
- if (accounts.length === 0) {
157
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
158
- return;
159
- }
160
- yield ((_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, accounts));
161
- });
162
- this.handleChainChange = () => tslib.__awaiter(this, void 0, void 0, function* () {
163
- var _c;
164
- const network = yield web3Provider.getNetwork();
165
- yield ((_c = listeners.onChainChange) === null || _c === void 0 ? void 0 : _c.call(listeners, network.chainId.toString()));
166
- });
167
- this.handleDisconnect = (error) => tslib.__awaiter(this, void 0, void 0, function* () {
168
- var _d;
169
- if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
170
- return;
171
- }
172
- yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
173
- });
174
- externalProvider.on('accountsChanged', this.handleAccountChange);
175
- externalProvider.on('chainChanged', this.handleChainChange);
176
- externalProvider.on('disconnect', this.handleDisconnect);
177
- return () => { };
178
- }
179
- _teardownEventListeners(name) {
180
- const web3Provider = this.findProvider(name);
181
- if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
182
- return;
183
- }
184
- const externalProvider = web3Provider.provider;
185
- if (this.handleAccountChange) {
186
- externalProvider.removeListener('accountsChanged', this.handleAccountChange);
187
- }
188
- if (this.handleChainChange) {
189
- externalProvider.removeListener('chainChanged', this.handleChainChange);
190
- }
191
- if (this.handleDisconnect) {
192
- externalProvider.removeListener('disconnect', this.handleDisconnect);
193
- }
194
- }
195
- }
196
-
197
- exports.EthProviderHelper = EthProviderHelper;
@@ -1,40 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { ProviderCondition, IEthereum } from '../window';
4
- type Provider = () => ethers.providers.ExternalProvider | undefined;
5
- type AccountChangeEventHandler = (accounts: string[]) => Promise<void>;
6
- type ChainChangeEventHandler = (chainId: string | number) => Promise<void>;
7
- type DisconnectEventHandler = (error?: {
8
- code: number;
9
- }) => Promise<void>;
10
- export declare class EthProviderHelper {
11
- handleAccountChange: AccountChangeEventHandler | undefined;
12
- handleChainChange: ChainChangeEventHandler | undefined;
13
- handleDisconnect: DisconnectEventHandler | undefined;
14
- MetamaskProvider: Provider;
15
- BraveProvider: Provider;
16
- DawnProvider: Provider;
17
- FrameProvider: Provider;
18
- CoinbaseProvider: Provider;
19
- OperaProvider: Provider;
20
- GameStopProvider: Provider;
21
- ExodusProvider: Provider;
22
- BloctoProvider: Provider;
23
- TrustWalletProvider: Provider;
24
- PhantomProvider: Provider;
25
- ZerionProvider: Provider;
26
- UnknownInjectedProvider: Provider;
27
- providers: {
28
- [wallet: string]: Provider;
29
- };
30
- installedProviderLookup(providerFlags: Array<ProviderCondition>): IEthereum | undefined;
31
- allInstalledProviders(): IEthereum[];
32
- isInstalledHelper(walletName: string): boolean;
33
- findProvider(walletName: string): ethers.providers.Web3Provider | undefined;
34
- fetchPublicAddressWithName(name: string): Promise<string | undefined>;
35
- fetchPublicAddressWithProvider(provider: ethers.providers.Web3Provider): Promise<string | undefined>;
36
- signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
37
- _setupEventListeners(listeners: WalletEventListeners, web3Provider?: ethers.providers.Web3Provider): () => void;
38
- _teardownEventListeners(name: string): void;
39
- }
40
- export {};