@dynamic-labs/multi-wallet 0.17.0-RC.0 → 0.17.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 (268) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/package.json +11 -14
  3. package/src/index.cjs +2 -66
  4. package/src/index.d.ts +1 -16
  5. package/src/index.js +2 -21
  6. package/src/multi-wallet.cjs +46 -159
  7. package/src/multi-wallet.d.ts +0 -3
  8. package/src/multi-wallet.js +44 -156
  9. package/src/types.d.ts +9 -49
  10. package/src/utils/convertors.cjs +0 -7
  11. package/src/utils/convertors.d.ts +0 -1
  12. package/src/utils/convertors.js +1 -7
  13. package/src/utils/getApiProviders.cjs +15 -0
  14. package/src/utils/getApiProviders.d.ts +10 -0
  15. package/src/utils/getApiProviders.js +11 -0
  16. package/src/utils/message.cjs +4 -5
  17. package/src/utils/message.d.ts +2 -2
  18. package/src/utils/message.js +2 -3
  19. package/src/wallets/constants.cjs +0 -2
  20. package/src/wallets/constants.js +1 -2
  21. package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +27 -43
  22. package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +16 -20
  23. package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +20 -36
  24. package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +24 -21
  25. package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +14 -18
  26. package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +23 -20
  27. package/src/wallets/cosmos/index.d.ts +1 -1
  28. package/src/wallets/{clients/walletConnect/walletConnect.cjs → cosmos/wcClient.lib.cjs} +38 -101
  29. package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -10
  30. package/src/wallets/{clients/walletConnect/walletConnect.js → cosmos/wcClient.lib.js} +36 -97
  31. package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +13 -41
  32. package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
  33. package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +7 -35
  34. package/src/wallets/flow/blocto.cjs +2 -10
  35. package/src/wallets/flow/blocto.d.ts +2 -8
  36. package/src/wallets/flow/blocto.js +2 -10
  37. package/src/wallets/flow/dapper.cjs +2 -10
  38. package/src/wallets/flow/dapper.d.ts +2 -8
  39. package/src/wallets/flow/dapper.js +2 -10
  40. package/src/wallets/flow/lilico.cjs +4 -13
  41. package/src/wallets/flow/lilico.d.ts +2 -9
  42. package/src/wallets/flow/lilico.js +3 -12
  43. package/src/wallets/starknet/argentx.cjs +2 -2
  44. package/src/wallets/starknet/argentx.d.ts +1 -1
  45. package/src/wallets/starknet/argentx.js +2 -2
  46. package/src/wallets/starknet/braavos.cjs +4 -4
  47. package/src/wallets/starknet/braavos.d.ts +1 -1
  48. package/src/wallets/starknet/braavos.js +3 -3
  49. package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +9 -40
  50. package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
  51. package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +5 -36
  52. package/src/wallets/window.d.ts +0 -77
  53. package/src/errors.cjs +0 -65
  54. package/src/errors.d.ts +0 -30
  55. package/src/errors.js +0 -53
  56. package/src/rpcProviders.cjs +0 -76
  57. package/src/rpcProviders.d.ts +0 -5
  58. package/src/rpcProviders.js +0 -69
  59. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  60. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  61. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  62. package/src/utils/CancellablePromise/index.d.ts +0 -1
  63. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  64. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  65. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  66. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  67. package/src/utils/encoding.cjs +0 -18
  68. package/src/utils/encoding.d.ts +0 -4
  69. package/src/utils/encoding.js +0 -12
  70. package/src/utils/extractNonce.cjs +0 -13
  71. package/src/utils/extractNonce.d.ts +0 -1
  72. package/src/utils/extractNonce.js +0 -9
  73. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  74. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  75. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  76. package/src/utils/getChainInfo/index.d.ts +0 -1
  77. package/src/utils/getWalletConnectorByName.cjs +0 -19
  78. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  79. package/src/utils/getWalletConnectorByName.js +0 -15
  80. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  81. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  82. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  83. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  84. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  85. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  86. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  87. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  88. package/src/utils/isFunction/index.d.ts +0 -1
  89. package/src/utils/isFunction/isFunction.cjs +0 -8
  90. package/src/utils/isFunction/isFunction.d.ts +0 -1
  91. package/src/utils/isFunction/isFunction.js +0 -4
  92. package/src/utils/isMobile.cjs +0 -54
  93. package/src/utils/isMobile.d.ts +0 -13
  94. package/src/utils/isMobile.js +0 -46
  95. package/src/utils/isSameAddress/index.d.ts +0 -1
  96. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  97. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  98. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  99. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  100. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  101. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  102. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  103. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  104. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  105. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  106. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  107. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  108. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  109. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  110. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  111. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  112. package/src/utils/localStorageAsync.cjs +0 -28
  113. package/src/utils/localStorageAsync.d.ts +0 -3
  114. package/src/utils/localStorageAsync.js +0 -22
  115. package/src/utils/logger.cjs +0 -9
  116. package/src/utils/logger.d.ts +0 -2
  117. package/src/utils/logger.js +0 -5
  118. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  119. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  120. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  121. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  122. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  123. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  124. package/src/utils/shouldLowercaseAddress.js +0 -7
  125. package/src/utils/walletConnect.cjs +0 -30
  126. package/src/utils/walletConnect.d.ts +0 -4
  127. package/src/utils/walletConnect.js +0 -26
  128. package/src/wallets/ProviderLookup.cjs +0 -18
  129. package/src/wallets/ProviderLookup.d.ts +0 -4
  130. package/src/wallets/ProviderLookup.js +0 -14
  131. package/src/wallets/algorand/myalgo.cjs +0 -187
  132. package/src/wallets/algorand/myalgo.d.ts +0 -36
  133. package/src/wallets/algorand/myalgo.js +0 -181
  134. package/src/wallets/algorand/myalgoSigner.cjs +0 -24
  135. package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
  136. package/src/wallets/algorand/myalgoSigner.js +0 -20
  137. package/src/wallets/clients/coinbase/coinbase.cjs +0 -77
  138. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  139. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  140. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  141. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  142. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  143. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  144. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  145. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  146. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  147. package/src/wallets/ethereum/BloctoEvm.cjs +0 -140
  148. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -34
  149. package/src/wallets/ethereum/BloctoEvm.js +0 -134
  150. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -58
  151. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  152. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -54
  153. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  154. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  155. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  156. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  157. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  158. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
  159. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -34
  160. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
  161. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  162. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
  163. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  164. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
  165. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  166. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -182
  167. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -60
  168. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -178
  169. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  170. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  171. package/src/wallets/ethereum/coinbase.cjs +0 -81
  172. package/src/wallets/ethereum/coinbase.d.ts +0 -31
  173. package/src/wallets/ethereum/coinbase.js +0 -79
  174. package/src/wallets/ethereum/ethProvider.cjs +0 -171
  175. package/src/wallets/ethereum/ethProvider.d.ts +0 -35
  176. package/src/wallets/ethereum/ethProvider.js +0 -167
  177. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -190
  178. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  179. package/src/wallets/ethereum/ethProviderHelper.js +0 -186
  180. package/src/wallets/ethereum/evm-network.cjs +0 -20
  181. package/src/wallets/ethereum/evm-network.d.ts +0 -22
  182. package/src/wallets/ethereum/evm-network.js +0 -16
  183. package/src/wallets/ethereum/fortmatic.cjs +0 -98
  184. package/src/wallets/ethereum/fortmatic.d.ts +0 -34
  185. package/src/wallets/ethereum/fortmatic.js +0 -92
  186. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  187. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  188. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  189. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  190. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  191. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  192. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  193. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  194. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  195. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  196. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  197. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  198. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  199. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  200. package/src/wallets/ethereum/injected/Frame.js +0 -11
  201. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  202. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  203. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  204. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  205. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  206. package/src/wallets/ethereum/injected/Opera.js +0 -11
  207. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  208. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  209. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  210. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  211. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  212. package/src/wallets/ethereum/injected/Trust.js +0 -11
  213. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  214. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  215. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  216. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  217. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  218. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  219. package/src/wallets/ethereum/meta-mask.cjs +0 -70
  220. package/src/wallets/ethereum/meta-mask.d.ts +0 -30
  221. package/src/wallets/ethereum/meta-mask.js +0 -68
  222. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  223. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -10
  224. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
  225. package/src/wallets/getWalletConnectConnector.cjs +0 -18
  226. package/src/wallets/getWalletConnectConnector.d.ts +0 -7
  227. package/src/wallets/getWalletConnectConnector.js +0 -14
  228. package/src/wallets/initializeWalletProviders.cjs +0 -14
  229. package/src/wallets/initializeWalletProviders.d.ts +0 -6
  230. package/src/wallets/initializeWalletProviders.js +0 -10
  231. package/src/wallets/solana/CoinbaseSolana.cjs +0 -77
  232. package/src/wallets/solana/CoinbaseSolana.d.ts +0 -26
  233. package/src/wallets/solana/CoinbaseSolana.js +0 -75
  234. package/src/wallets/solana/glow.cjs +0 -74
  235. package/src/wallets/solana/glow.d.ts +0 -25
  236. package/src/wallets/solana/glow.js +0 -72
  237. package/src/wallets/solana/injected/BraveSol.cjs +0 -18
  238. package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
  239. package/src/wallets/solana/injected/BraveSol.js +0 -16
  240. package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
  241. package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
  242. package/src/wallets/solana/injected/ExodusSol.js +0 -10
  243. package/src/wallets/solana/phantom-ledger.cjs +0 -71
  244. package/src/wallets/solana/phantom-ledger.d.ts +0 -16
  245. package/src/wallets/solana/phantom-ledger.js +0 -65
  246. package/src/wallets/solana/phantom.cjs +0 -97
  247. package/src/wallets/solana/phantom.d.ts +0 -26
  248. package/src/wallets/solana/phantom.js +0 -95
  249. package/src/wallets/solana/slope.cjs +0 -125
  250. package/src/wallets/solana/slope.d.ts +0 -39
  251. package/src/wallets/solana/slope.js +0 -123
  252. package/src/wallets/solana/solProvider.cjs +0 -62
  253. package/src/wallets/solana/solProvider.d.ts +0 -18
  254. package/src/wallets/solana/solProvider.js +0 -58
  255. package/src/wallets/solana/solProviderHelper.cjs +0 -164
  256. package/src/wallets/solana/solProviderHelper.d.ts +0 -29
  257. package/src/wallets/solana/solProviderHelper.js +0 -160
  258. package/src/wallets/solana/solflare.cjs +0 -94
  259. package/src/wallets/solana/solflare.d.ts +0 -26
  260. package/src/wallets/solana/solflare.js +0 -92
  261. package/src/wallets/walletConnect/index.d.ts +0 -2
  262. package/src/wallets/walletConnect/walletConnect.cjs +0 -147
  263. package/src/wallets/walletConnect/walletConnect.d.ts +0 -39
  264. package/src/wallets/walletConnect/walletConnect.js +0 -141
  265. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -282
  266. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -40
  267. package/src/wallets/walletConnect/walletConnectV2.js +0 -273
  268. package/src/wallets/walletConnect/zerion.d.ts +0 -8
@@ -1,178 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { Magic } from 'magic-sdk';
3
- import { ethers } from 'ethers';
4
- import { DynamicError } from '../../../../errors.js';
5
- import { logger } from '../../../../utils/logger.js';
6
- import { assignConfirmationScreenToProvider } from '../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js';
7
- import { CancellablePromise } from '../../../../utils/CancellablePromise/CancellablePromise.js';
8
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
9
-
10
- const storedAddressKey = 'dynamic_magic_address';
11
- class MagicWalletConnector {
12
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
13
- this.key = 'magiclink';
14
- this.canConnectViaCustodialService = true;
15
- this.canConnectViaQrCode = false;
16
- this.canConnectViaSocial = false;
17
- this.connectedChain = 'EVM';
18
- this.supportedChains = ['ETH', 'EVM'];
19
- this.isWalletConnect = false;
20
- this.name = 'Magic Link';
21
- this.providerResources = undefined;
22
- this._magicClient = new MagicClientNetworkHandler({
23
- apiKey,
24
- config,
25
- createClient: (config) => new Magic(apiKey, config),
26
- evmNetworks,
27
- });
28
- this.evmNetworks = evmNetworks;
29
- this._walletUiUtils = walletUiUtils;
30
- }
31
- getDeepLink() {
32
- return undefined;
33
- }
34
- connect() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- yield this.fetchPublicAddress();
37
- });
38
- }
39
- endSession() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- localStorage.removeItem(storedAddressKey);
42
- const client = this._magicClient.getClient();
43
- yield client.user.logout();
44
- });
45
- }
46
- getUserMetadata() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- if (yield this._isLoggedIn()) {
49
- const client = this._magicClient.getClient();
50
- return client.user.getMetadata();
51
- }
52
- return undefined;
53
- });
54
- }
55
- fetchPublicAddress() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const address = localStorage.getItem(storedAddressKey);
58
- if (address)
59
- return address;
60
- const client = this._magicClient.getClient();
61
- try {
62
- try {
63
- this._currentAuthCancellablePromise = CancellablePromise.fromPromise(this.loginWithMagic());
64
- yield this._currentAuthCancellablePromise;
65
- }
66
- catch (err) {
67
- logger.error(err);
68
- return;
69
- }
70
- const metadata = yield client.user.getMetadata();
71
- if (!metadata || !metadata.publicAddress) {
72
- throw new Error('No public address');
73
- }
74
- if (metadata.issuer) {
75
- this.providerResources = [`magic-auth:issuer:${metadata.issuer}`];
76
- }
77
- localStorage.setItem(storedAddressKey, metadata.publicAddress);
78
- return metadata.publicAddress;
79
- }
80
- catch (err) {
81
- return undefined;
82
- }
83
- });
84
- }
85
- getBalance() {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- const provider = yield this.getWeb3Provider();
88
- if (!provider)
89
- throw new DynamicError('No provider');
90
- const signer = provider.getSigner();
91
- const userAddress = yield signer.getAddress();
92
- return ethers.utils.formatEther(yield provider.getBalance(userAddress));
93
- });
94
- }
95
- getConnectedAccounts() {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- const address = localStorage.getItem(storedAddressKey);
98
- if (!address)
99
- return [];
100
- return [address];
101
- });
102
- }
103
- getNetwork() {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- return this._magicClient.networkId;
106
- });
107
- }
108
- getRpcProvider() {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- return undefined;
111
- });
112
- }
113
- getSigner() {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- const provider = yield this.getWeb3Provider();
116
- return provider.getSigner();
117
- });
118
- }
119
- getWeb3Provider() {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- const client = this._magicClient.getClient();
122
- const provider = new ethers.providers.Web3Provider(client.rpcProvider);
123
- assignConfirmationScreenToProvider(provider, this._walletUiUtils);
124
- return provider;
125
- });
126
- }
127
- isInstalledOnBrowser() {
128
- return false;
129
- }
130
- proveOwnership(messageToSign) {
131
- return this.signMessage(messageToSign);
132
- }
133
- setupEventListeners(listeners) {
134
- this._listeners = listeners;
135
- this._magicClient.setListeners(listeners);
136
- this._checkIfLoggedIn();
137
- }
138
- signMessage(messageToSign) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- const provider = yield this.getWeb3Provider();
141
- return provider.getSigner().signMessage(messageToSign);
142
- });
143
- }
144
- supportsNetworkSwitching() {
145
- return true;
146
- }
147
- switchNetwork({ networkChainId, }) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- if (!networkChainId) {
150
- return;
151
- }
152
- this._magicClient.selectNetwork(networkChainId);
153
- });
154
- }
155
- teardownEventListeners() {
156
- this._listeners = undefined;
157
- this._magicClient.setListeners(undefined);
158
- }
159
- _isLoggedIn() {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- const client = this._magicClient.getClient();
162
- return client.user.isLoggedIn();
163
- });
164
- }
165
- _checkIfLoggedIn() {
166
- var _a, _b;
167
- return __awaiter(this, void 0, void 0, function* () {
168
- const isLoggedIn = yield this._isLoggedIn();
169
- if (!isLoggedIn) {
170
- localStorage.removeItem(storedAddressKey);
171
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
172
- }
173
- return isLoggedIn;
174
- });
175
- }
176
- }
177
-
178
- 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,81 +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 normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
7
- var ethProviderHelper = require('./ethProviderHelper.cjs');
8
- var ethProvider = require('./ethProvider.cjs');
9
-
10
- class Coinbase extends ethProvider.EthProvider {
11
- constructor({ appName, appLogoUrl, evmNetworks, }) {
12
- super({ evmNetworks });
13
- this.name = 'Coinbase';
14
- this.supportedChains = ['EVM', 'ETH'];
15
- this.connectedChain = 'EVM';
16
- this.canConnectViaQrCode = true;
17
- this.canConnectViaCustodialService = false;
18
- this.isWalletConnect = false;
19
- this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
20
- this.coinbaseProviderOpts = {
21
- appLogoUrl: appLogoUrl,
22
- appName: appName,
23
- evmNetworks: evmNetworks,
24
- };
25
- }
26
- get key() {
27
- return normalizeWalletName.normalizeWalletName(this.name);
28
- }
29
- setupEventListeners(listeners) {
30
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
31
- }
32
- teardownEventListeners() {
33
- return this.ethProviderHelper._teardownEventListeners(this.name);
34
- }
35
- getWeb3Provider() {
36
- if (this.isInstalledOnBrowser()) {
37
- return this.ethProviderHelper.findProvider(this.name);
38
- }
39
- return new ethers.ethers.providers.Web3Provider(coinbase.getCoinbaseProvider({
40
- opts: this.coinbaseProviderOpts,
41
- }), 'any');
42
- }
43
- isInstalledOnBrowser() {
44
- return this.ethProviderHelper.isInstalledHelper(this.name);
45
- }
46
- connect() {
47
- return tslib.__awaiter(this, void 0, void 0, function* () {
48
- yield this.fetchPublicAddress();
49
- });
50
- }
51
- fetchPublicAddress(opts) {
52
- return tslib.__awaiter(this, void 0, void 0, function* () {
53
- if (this.isInstalledOnBrowser()) {
54
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
55
- }
56
- return coinbase.fetchPublicAddress(this.coinbaseProviderOpts, opts);
57
- });
58
- }
59
- signMessage(messageToSign) {
60
- return tslib.__awaiter(this, void 0, void 0, function* () {
61
- if (this.isInstalledOnBrowser()) {
62
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
63
- }
64
- return coinbase.signMessage(this.coinbaseProviderOpts, messageToSign);
65
- });
66
- }
67
- proveOwnership(messageToSign) {
68
- return tslib.__awaiter(this, void 0, void 0, function* () {
69
- return this.signMessage(messageToSign);
70
- });
71
- }
72
- endSession() {
73
- return tslib.__awaiter(this, void 0, void 0, function* () {
74
- if (this.isInstalledOnBrowser())
75
- return;
76
- coinbase.killCoinbaseSession();
77
- });
78
- }
79
- }
80
-
81
- module.exports = Coinbase;
@@ -1,31 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { EthProviderHelper } from './ethProviderHelper';
4
- import { EthProvider } from './ethProvider';
5
- import { EvmNetwork } from './evm-network';
6
- declare class Coinbase extends EthProvider implements WalletConnector {
7
- name: string;
8
- supportedChains: Chain[];
9
- connectedChain: Chain;
10
- canConnectViaQrCode: boolean;
11
- canConnectViaCustodialService: boolean;
12
- isWalletConnect: boolean;
13
- ethProviderHelper: EthProviderHelper;
14
- private coinbaseProviderOpts;
15
- constructor({ appName, appLogoUrl, evmNetworks, }: {
16
- appLogoUrl?: string;
17
- appName?: string;
18
- evmNetworks: EvmNetwork[];
19
- });
20
- get key(): string;
21
- setupEventListeners(listeners: WalletEventListeners): () => void;
22
- teardownEventListeners(): void;
23
- getWeb3Provider(): ethers.providers.Web3Provider | undefined;
24
- isInstalledOnBrowser(): boolean;
25
- connect(): Promise<void>;
26
- fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
27
- signMessage(messageToSign: string): Promise<string | undefined>;
28
- proveOwnership(messageToSign: string): Promise<string | undefined>;
29
- endSession(): Promise<void>;
30
- }
31
- export default Coinbase;
@@ -1,79 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { ethers } from 'ethers';
3
- import { getCoinbaseProvider, fetchPublicAddress, signMessage, killCoinbaseSession } from '../clients/coinbase/coinbase.js';
4
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
5
- import { EthProviderHelper } from './ethProviderHelper.js';
6
- import { EthProvider } from './ethProvider.js';
7
-
8
- class Coinbase extends EthProvider {
9
- constructor({ appName, appLogoUrl, evmNetworks, }) {
10
- super({ evmNetworks });
11
- this.name = 'Coinbase';
12
- this.supportedChains = ['EVM', 'ETH'];
13
- this.connectedChain = 'EVM';
14
- this.canConnectViaQrCode = true;
15
- this.canConnectViaCustodialService = false;
16
- this.isWalletConnect = false;
17
- this.ethProviderHelper = new EthProviderHelper();
18
- this.coinbaseProviderOpts = {
19
- appLogoUrl: appLogoUrl,
20
- appName: appName,
21
- evmNetworks: evmNetworks,
22
- };
23
- }
24
- get key() {
25
- return normalizeWalletName(this.name);
26
- }
27
- setupEventListeners(listeners) {
28
- return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
29
- }
30
- teardownEventListeners() {
31
- return this.ethProviderHelper._teardownEventListeners(this.name);
32
- }
33
- getWeb3Provider() {
34
- if (this.isInstalledOnBrowser()) {
35
- return this.ethProviderHelper.findProvider(this.name);
36
- }
37
- return new ethers.providers.Web3Provider(getCoinbaseProvider({
38
- opts: this.coinbaseProviderOpts,
39
- }), 'any');
40
- }
41
- isInstalledOnBrowser() {
42
- return this.ethProviderHelper.isInstalledHelper(this.name);
43
- }
44
- connect() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- yield this.fetchPublicAddress();
47
- });
48
- }
49
- fetchPublicAddress(opts) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- if (this.isInstalledOnBrowser()) {
52
- return this.ethProviderHelper.fetchPublicAddressWithName(this.name);
53
- }
54
- return fetchPublicAddress(this.coinbaseProviderOpts, opts);
55
- });
56
- }
57
- signMessage(messageToSign) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- if (this.isInstalledOnBrowser()) {
60
- return this.ethProviderHelper.signMessageWithName(messageToSign, this.name);
61
- }
62
- return signMessage(this.coinbaseProviderOpts, messageToSign);
63
- });
64
- }
65
- proveOwnership(messageToSign) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- return this.signMessage(messageToSign);
68
- });
69
- }
70
- endSession() {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- if (this.isInstalledOnBrowser())
73
- return;
74
- killCoinbaseSession();
75
- });
76
- }
77
- }
78
-
79
- export { Coinbase as default };
@@ -1,171 +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 errors = require('../../errors.cjs');
8
- var rpcProviders = require('../../rpcProviders.cjs');
9
- var evmNetwork = require('./evm-network.cjs');
10
-
11
- class EthProvider {
12
- getDeepLink() {
13
- return undefined;
14
- }
15
- getRpcProvider() {
16
- var _a, _b;
17
- return tslib.__awaiter(this, void 0, void 0, function* () {
18
- const networkId = yield this.getNetwork();
19
- if (this.evmNetworks.length === 0) {
20
- return undefined;
21
- }
22
- const configurations = {
23
- cosmos: [],
24
- evm: this.evmNetworks,
25
- solana: [],
26
- starknet: undefined,
27
- };
28
- if (!networkId) {
29
- return (_a = rpcProviders.getEvmDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
30
- }
31
- return (_b = rpcProviders.getEvmRpcProviderByChainId(configurations, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
32
- });
33
- }
34
- constructor({ evmNetworks }) {
35
- this.canConnectViaSocial = false;
36
- this.getBalance = () => tslib.__awaiter(this, void 0, void 0, function* () {
37
- var _a;
38
- // This is equivalent to getSigner().getAddress() but does not crash
39
- // if the signer is not available
40
- const [address] = yield this.getConnectedAccounts();
41
- if (!address)
42
- return;
43
- const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
44
- if (!result)
45
- return;
46
- return ethers.ethers.utils.formatEther(result);
47
- });
48
- this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
49
- var _a;
50
- [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
51
- ? network.privateCustomerRpcUrls
52
- : network.rpcUrls;
53
- return acc;
54
- }, {});
55
- this.evmNetworks = evmNetworks;
56
- }
57
- getNetwork() {
58
- return tslib.__awaiter(this, void 0, void 0, function* () {
59
- const provider = this.getWeb3Provider();
60
- if (!this.supportsNetworkSwitching ||
61
- !provider ||
62
- !('getNetwork' in provider)) {
63
- return Promise.resolve(undefined);
64
- }
65
- const network = yield provider.getNetwork();
66
- return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
67
- });
68
- }
69
- getSigner() {
70
- var _a;
71
- return tslib.__awaiter(this, void 0, void 0, function* () {
72
- return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
73
- });
74
- }
75
- supportsNetworkSwitching() {
76
- return true;
77
- }
78
- switchNetwork({ networkName, networkChainId, }) {
79
- return tslib.__awaiter(this, void 0, void 0, function* () {
80
- const network = evmNetwork.findEvmNetwork({
81
- chainId: networkChainId,
82
- name: networkName,
83
- networks: this.evmNetworks,
84
- });
85
- if (!network) {
86
- throw new errors.DynamicError('Could not find network');
87
- }
88
- if (!this.supportsNetworkSwitching()) {
89
- throw new errors.DynamicError('Network switching is not supported');
90
- }
91
- const provider = this.getWeb3Provider();
92
- if (!provider) {
93
- throw new errors.DynamicError('Provider not found');
94
- }
95
- return this.providerSwitchNetwork({ network, provider });
96
- });
97
- }
98
- getConnectedAccounts() {
99
- return tslib.__awaiter(this, void 0, void 0, function* () {
100
- const provider = this.getWeb3Provider();
101
- if (!provider)
102
- return [];
103
- return provider.send('eth_accounts', []);
104
- });
105
- }
106
- providerSwitchNetwork({ network, provider, }) {
107
- var _a, _b, _c;
108
- return tslib.__awaiter(this, void 0, void 0, function* () {
109
- const { chainId } = network;
110
- const currentNetworkId = yield this.getNetwork();
111
- if (currentNetworkId && currentNetworkId === chainId) {
112
- return;
113
- }
114
- try {
115
- if (!this.supportsNetworkSwitching()) {
116
- throw new errors.DynamicError('Network switching is not supported');
117
- }
118
- return yield provider.send('wallet_switchEthereumChain', [
119
- {
120
- chainId: `0x${chainId.toString(16)}`,
121
- },
122
- ]);
123
- }
124
- catch (error) {
125
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
126
- (typeof error === 'string' && error.includes('rejected'))) {
127
- throw new errors.DynamicError("User rejected the wallet's request to switch network");
128
- }
129
- else if (error.code === 4902 ||
130
- error.message.includes('Unrecognized chain') ||
131
- // https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
132
- ((_c = (_b = error === null || error === void 0 ? void 0 : error.data) === null || _b === void 0 ? void 0 : _b.orginalError) === null || _c === void 0 ? void 0 : _c.code) === 4902) {
133
- // error code indicates the chain has not been added yet
134
- // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
135
- return this.providerAddNetwork({ network, provider });
136
- }
137
- else {
138
- throw error;
139
- }
140
- }
141
- });
142
- }
143
- providerAddNetwork({ network, provider, }) {
144
- var _a;
145
- return tslib.__awaiter(this, void 0, void 0, function* () {
146
- const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, chainName } = network;
147
- try {
148
- return yield provider.send('wallet_addEthereumChain', [
149
- {
150
- blockExplorerUrls,
151
- chainId: `0x${chainId.toString(16)}`,
152
- chainName,
153
- nativeCurrency,
154
- rpcUrls,
155
- },
156
- ]);
157
- }
158
- catch (error) {
159
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
160
- (typeof error === 'string' && error.includes('rejected'))) {
161
- throw new errors.DynamicError("User rejected the wallet's request to add network");
162
- }
163
- else {
164
- throw error;
165
- }
166
- }
167
- });
168
- }
169
- }
170
-
171
- exports.EthProvider = EthProvider;
@@ -1,35 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { EvmNetwork } from './evm-network';
3
- export type SwitchNetworkOps = {
4
- networkChainId?: number;
5
- networkName?: string;
6
- };
7
- type EvmRpcMap = {
8
- [chainId: number]: string;
9
- };
10
- export declare abstract class EthProvider {
11
- canConnectViaSocial: boolean;
12
- evmNetworks: EvmNetwork[];
13
- abstract getWeb3Provider(): ethers.providers.Web3Provider | undefined;
14
- getDeepLink(): string | undefined;
15
- getRpcProvider(): Promise<ethers.providers.JsonRpcProvider | undefined>;
16
- constructor({ evmNetworks }: {
17
- evmNetworks: EvmNetwork[];
18
- });
19
- getNetwork(): Promise<number | undefined>;
20
- getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
21
- getBalance: () => Promise<string | undefined>;
22
- supportsNetworkSwitching(): boolean;
23
- switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
24
- getConnectedAccounts(): Promise<string[]>;
25
- protected providerSwitchNetwork({ network, provider, }: {
26
- network: EvmNetwork;
27
- provider: ethers.providers.Web3Provider;
28
- }): Promise<void>;
29
- protected providerAddNetwork({ network, provider, }: {
30
- network: EvmNetwork;
31
- provider: ethers.providers.Web3Provider;
32
- }): Promise<void>;
33
- protected evmNetworkRpcMap: () => EvmRpcMap;
34
- }
35
- export {};