@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,103 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
-
7
- // these are based off of Magic's EthNetworkName type
8
- const chainNameToChainIdMap = {
9
- arbitrum: 42161,
10
- avalance: 43114,
11
- bsc: 56,
12
- gnosis: 100,
13
- goerli: 5,
14
- mainnet: 1,
15
- optimism: 10,
16
- polygon: 137,
17
- sepolia: 11155111,
18
- };
19
- class MagicClientNetworkHandler {
20
- constructor({ apiKey, createClient, evmNetworks, config, }) {
21
- var _a, _b;
22
- this._clients = {};
23
- this.evmNetworks = [];
24
- this._config = config;
25
- this._apiKey = apiKey;
26
- this.evmNetworks = evmNetworks;
27
- this._networkId =
28
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
29
- ? chainNameToChainIdMap[config.network]
30
- : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
31
- this._createClient = createClient;
32
- }
33
- setListeners(listeners) {
34
- this._listeners = listeners;
35
- }
36
- onChainChanged(networkChainId) {
37
- var _a, _b;
38
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
39
- }
40
- selectNetwork(networkChainId) {
41
- var _a;
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- this._networkId = networkChainId;
44
- (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
45
- });
46
- }
47
- get networkId() {
48
- return this._networkId;
49
- }
50
- get config() {
51
- return this._config;
52
- }
53
- getClient() {
54
- const networkId = this._networkId;
55
- const client = this._clients[networkId];
56
- if (client) {
57
- return client;
58
- }
59
- const config = this.getConfigForNetwork(networkId);
60
- const newClient = this._createClient(config);
61
- this._clients[networkId] = newClient;
62
- return newClient;
63
- }
64
- getConfigForNetwork(networkId) {
65
- const rpcUrl = this._getRpcUrlByNetworkId(networkId);
66
- // Should prioritize custom rpc config form dashboard
67
- if (rpcUrl) {
68
- return Object.assign(Object.assign({}, this._config), { network: {
69
- chainId: this._getChainIdByNetworkId(networkId),
70
- rpcUrl,
71
- } });
72
- }
73
- // Next should return configuration provided through settings
74
- if (this.configNetworkId === networkId) {
75
- return this._config;
76
- }
77
- if (networkId === 1) {
78
- return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
79
- }
80
- if (networkId === 5) {
81
- return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
82
- }
83
- return this._config;
84
- }
85
- get configNetworkId() {
86
- var _a, _b, _c;
87
- if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
88
- return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
89
- }
90
- return undefined;
91
- }
92
- _getRpcUrlByNetworkId(networkId) {
93
- var _a;
94
- const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
95
- return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
96
- }
97
- _getChainIdByNetworkId(networkId) {
98
- var _a;
99
- return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
100
- }
101
- }
102
-
103
- exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
@@ -1,34 +0,0 @@
1
- import { MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
2
- import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { MagicConnectorProps } from '../MagicWalletConnector';
4
- import { EvmNetwork } from '../../evm-network';
5
- export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
6
- redirectURI?: string;
7
- };
8
- type ConfigForNetwork = MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
9
- export type MagicClientNetworkHandlerProps<TClient> = Pick<MagicConnectorProps, 'apiKey' | 'config' | 'evmNetworks'> & {
10
- createClient: (config: ConfigForNetwork) => TClient;
11
- };
12
- export declare class MagicClientNetworkHandler<TClient = unknown> {
13
- protected _apiKey: string;
14
- protected _clients: {
15
- [chainId: number]: TClient;
16
- };
17
- protected _networkId: number;
18
- protected _config: MagicLinkConfig | undefined;
19
- protected _listeners: WalletEventListeners | undefined;
20
- evmNetworks: EvmNetwork[];
21
- protected _createClient: MagicClientNetworkHandlerProps<TClient>['createClient'];
22
- constructor({ apiKey, createClient, evmNetworks, config, }: MagicClientNetworkHandlerProps<TClient>);
23
- setListeners(listeners: WalletEventListeners | undefined): void;
24
- onChainChanged(networkChainId: number): void;
25
- selectNetwork(networkChainId: number): Promise<void>;
26
- get networkId(): number;
27
- get config(): MagicLinkConfig | undefined;
28
- getClient(): TClient;
29
- getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
30
- private get configNetworkId();
31
- private _getRpcUrlByNetworkId;
32
- private _getChainIdByNetworkId;
33
- }
34
- export {};
@@ -1,99 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
-
3
- // these are based off of Magic's EthNetworkName type
4
- const chainNameToChainIdMap = {
5
- arbitrum: 42161,
6
- avalance: 43114,
7
- bsc: 56,
8
- gnosis: 100,
9
- goerli: 5,
10
- mainnet: 1,
11
- optimism: 10,
12
- polygon: 137,
13
- sepolia: 11155111,
14
- };
15
- class MagicClientNetworkHandler {
16
- constructor({ apiKey, createClient, evmNetworks, config, }) {
17
- var _a, _b;
18
- this._clients = {};
19
- this.evmNetworks = [];
20
- this._config = config;
21
- this._apiKey = apiKey;
22
- this.evmNetworks = evmNetworks;
23
- this._networkId =
24
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
25
- ? chainNameToChainIdMap[config.network]
26
- : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
27
- this._createClient = createClient;
28
- }
29
- setListeners(listeners) {
30
- this._listeners = listeners;
31
- }
32
- onChainChanged(networkChainId) {
33
- var _a, _b;
34
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
35
- }
36
- selectNetwork(networkChainId) {
37
- var _a;
38
- return __awaiter(this, void 0, void 0, function* () {
39
- this._networkId = networkChainId;
40
- (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
41
- });
42
- }
43
- get networkId() {
44
- return this._networkId;
45
- }
46
- get config() {
47
- return this._config;
48
- }
49
- getClient() {
50
- const networkId = this._networkId;
51
- const client = this._clients[networkId];
52
- if (client) {
53
- return client;
54
- }
55
- const config = this.getConfigForNetwork(networkId);
56
- const newClient = this._createClient(config);
57
- this._clients[networkId] = newClient;
58
- return newClient;
59
- }
60
- getConfigForNetwork(networkId) {
61
- const rpcUrl = this._getRpcUrlByNetworkId(networkId);
62
- // Should prioritize custom rpc config form dashboard
63
- if (rpcUrl) {
64
- return Object.assign(Object.assign({}, this._config), { network: {
65
- chainId: this._getChainIdByNetworkId(networkId),
66
- rpcUrl,
67
- } });
68
- }
69
- // Next should return configuration provided through settings
70
- if (this.configNetworkId === networkId) {
71
- return this._config;
72
- }
73
- if (networkId === 1) {
74
- return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
75
- }
76
- if (networkId === 5) {
77
- return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
78
- }
79
- return this._config;
80
- }
81
- get configNetworkId() {
82
- var _a, _b, _c;
83
- if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
84
- return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
85
- }
86
- return undefined;
87
- }
88
- _getRpcUrlByNetworkId(networkId) {
89
- var _a;
90
- const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
91
- return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
92
- }
93
- _getChainIdByNetworkId(networkId) {
94
- var _a;
95
- return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
96
- }
97
- }
98
-
99
- export { MagicClientNetworkHandler };
@@ -1,2 +0,0 @@
1
- export { MagicClientNetworkHandler } from './MagicClientNetworkHandler';
2
- export type { MagicLinkConfig } from './MagicClientNetworkHandler';
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var oauth = require('@magic-ext/oauth');
7
- var magicSdk = require('magic-sdk');
8
- var MagicWalletConnector = require('../MagicWalletConnector/MagicWalletConnector.cjs');
9
- var logger = require('../../../../utils/logger.cjs');
10
- var MagicClientNetworkHandler = require('../MagicClientNetworkHandler/MagicClientNetworkHandler.cjs');
11
-
12
- class MagicSocialWalletConnector extends MagicWalletConnector.MagicWalletConnector {
13
- constructor(opts) {
14
- super(opts);
15
- this.canConnectViaSocial = true;
16
- this._magicClient = new MagicClientNetworkHandler.MagicClientNetworkHandler({
17
- apiKey: opts.apiKey,
18
- config: opts.config,
19
- createClient: (config) => new magicSdk.Magic(opts.apiKey, Object.assign(Object.assign({}, config), { extensions: [new oauth.OAuthExtension()] })),
20
- evmNetworks: opts.evmNetworks,
21
- });
22
- }
23
- connect(provider) {
24
- return tslib.__awaiter(this, void 0, void 0, function* () {
25
- yield this.loginWithMagic(provider);
26
- });
27
- }
28
- loginWithMagic(provider) {
29
- return tslib.__awaiter(this, void 0, void 0, function* () {
30
- const client = this._magicClient.getClient();
31
- if (yield client.user.isLoggedIn()) {
32
- return (yield client.user.getMetadata()).publicAddress;
33
- }
34
- yield client.oauth.loginWithRedirect({
35
- provider,
36
- redirectURI: window.location.href,
37
- });
38
- return undefined;
39
- });
40
- }
41
- getSession() {
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- const client = this._magicClient.getClient();
44
- try {
45
- const result = yield client.oauth.getRedirectResult();
46
- return result.oauth;
47
- }
48
- catch (e) {
49
- logger.logger.error(e);
50
- return undefined;
51
- }
52
- });
53
- }
54
- }
55
-
56
- exports.MagicSocialWalletConnector = MagicSocialWalletConnector;
@@ -1,12 +0,0 @@
1
- import { OAuthExtension, OAuthProvider, OAuthRedirectResult } from '@magic-ext/oauth';
2
- import { Magic } from 'magic-sdk';
3
- import { MagicConnectorProps, MagicPromiEvent, MagicWalletConnector } from '../MagicWalletConnector';
4
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
5
- export declare class MagicSocialWalletConnector extends MagicWalletConnector {
6
- canConnectViaSocial: boolean;
7
- _magicClient: MagicClientNetworkHandler<Magic<OAuthExtension[]>>;
8
- constructor(opts: MagicConnectorProps);
9
- connect(provider: OAuthProvider): Promise<void>;
10
- loginWithMagic(provider: OAuthProvider): Promise<MagicPromiEvent | undefined>;
11
- getSession(): Promise<OAuthRedirectResult['oauth'] | undefined>;
12
- }
@@ -1,52 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { OAuthExtension } from '@magic-ext/oauth';
3
- import { Magic } from 'magic-sdk';
4
- import { MagicWalletConnector } from '../MagicWalletConnector/MagicWalletConnector.js';
5
- import { logger } from '../../../../utils/logger.js';
6
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
7
-
8
- class MagicSocialWalletConnector extends MagicWalletConnector {
9
- constructor(opts) {
10
- super(opts);
11
- this.canConnectViaSocial = true;
12
- this._magicClient = new MagicClientNetworkHandler({
13
- apiKey: opts.apiKey,
14
- config: opts.config,
15
- createClient: (config) => new Magic(opts.apiKey, Object.assign(Object.assign({}, config), { extensions: [new OAuthExtension()] })),
16
- evmNetworks: opts.evmNetworks,
17
- });
18
- }
19
- connect(provider) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- yield this.loginWithMagic(provider);
22
- });
23
- }
24
- loginWithMagic(provider) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const client = this._magicClient.getClient();
27
- if (yield client.user.isLoggedIn()) {
28
- return (yield client.user.getMetadata()).publicAddress;
29
- }
30
- yield client.oauth.loginWithRedirect({
31
- provider,
32
- redirectURI: window.location.href,
33
- });
34
- return undefined;
35
- });
36
- }
37
- getSession() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const client = this._magicClient.getClient();
40
- try {
41
- const result = yield client.oauth.getRedirectResult();
42
- return result.oauth;
43
- }
44
- catch (e) {
45
- logger.error(e);
46
- return undefined;
47
- }
48
- });
49
- }
50
- }
51
-
52
- export { MagicSocialWalletConnector };
@@ -1 +0,0 @@
1
- export * from './MagicSocialWalletConnector';
@@ -1,182 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var magicSdk = require('magic-sdk');
7
- var ethers = require('ethers');
8
- var errors = require('../../../../errors.cjs');
9
- var logger = require('../../../../utils/logger.cjs');
10
- var assignConfirmationScreenToProvider = require('../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs');
11
- var CancellablePromise = require('../../../../utils/CancellablePromise/CancellablePromise.cjs');
12
- var MagicClientNetworkHandler = require('../MagicClientNetworkHandler/MagicClientNetworkHandler.cjs');
13
-
14
- const storedAddressKey = 'dynamic_magic_address';
15
- class MagicWalletConnector {
16
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
17
- this.key = 'magiclink';
18
- this.canConnectViaCustodialService = true;
19
- this.canConnectViaQrCode = false;
20
- this.canConnectViaSocial = false;
21
- this.connectedChain = 'EVM';
22
- this.supportedChains = ['ETH', 'EVM'];
23
- this.isWalletConnect = false;
24
- this.name = 'Magic Link';
25
- this.providerResources = undefined;
26
- this._magicClient = new MagicClientNetworkHandler.MagicClientNetworkHandler({
27
- apiKey,
28
- config,
29
- createClient: (config) => new magicSdk.Magic(apiKey, config),
30
- evmNetworks,
31
- });
32
- this.evmNetworks = evmNetworks;
33
- this._walletUiUtils = walletUiUtils;
34
- }
35
- getDeepLink() {
36
- return undefined;
37
- }
38
- connect() {
39
- return tslib.__awaiter(this, void 0, void 0, function* () {
40
- yield this.fetchPublicAddress();
41
- });
42
- }
43
- endSession() {
44
- return tslib.__awaiter(this, void 0, void 0, function* () {
45
- localStorage.removeItem(storedAddressKey);
46
- const client = this._magicClient.getClient();
47
- yield client.user.logout();
48
- });
49
- }
50
- getUserMetadata() {
51
- return tslib.__awaiter(this, void 0, void 0, function* () {
52
- if (yield this._isLoggedIn()) {
53
- const client = this._magicClient.getClient();
54
- return client.user.getMetadata();
55
- }
56
- return undefined;
57
- });
58
- }
59
- fetchPublicAddress() {
60
- return tslib.__awaiter(this, void 0, void 0, function* () {
61
- const address = localStorage.getItem(storedAddressKey);
62
- if (address)
63
- return address;
64
- const client = this._magicClient.getClient();
65
- try {
66
- try {
67
- this._currentAuthCancellablePromise = CancellablePromise.CancellablePromise.fromPromise(this.loginWithMagic());
68
- yield this._currentAuthCancellablePromise;
69
- }
70
- catch (err) {
71
- logger.logger.error(err);
72
- return;
73
- }
74
- const metadata = yield client.user.getMetadata();
75
- if (!metadata || !metadata.publicAddress) {
76
- throw new Error('No public address');
77
- }
78
- if (metadata.issuer) {
79
- this.providerResources = [`magic-auth:issuer:${metadata.issuer}`];
80
- }
81
- localStorage.setItem(storedAddressKey, metadata.publicAddress);
82
- return metadata.publicAddress;
83
- }
84
- catch (err) {
85
- return undefined;
86
- }
87
- });
88
- }
89
- getBalance() {
90
- return tslib.__awaiter(this, void 0, void 0, function* () {
91
- const provider = yield this.getWeb3Provider();
92
- if (!provider)
93
- throw new errors.DynamicError('No provider');
94
- const signer = provider.getSigner();
95
- const userAddress = yield signer.getAddress();
96
- return ethers.ethers.utils.formatEther(yield provider.getBalance(userAddress));
97
- });
98
- }
99
- getConnectedAccounts() {
100
- return tslib.__awaiter(this, void 0, void 0, function* () {
101
- const address = localStorage.getItem(storedAddressKey);
102
- if (!address)
103
- return [];
104
- return [address];
105
- });
106
- }
107
- getNetwork() {
108
- return tslib.__awaiter(this, void 0, void 0, function* () {
109
- return this._magicClient.networkId;
110
- });
111
- }
112
- getRpcProvider() {
113
- return tslib.__awaiter(this, void 0, void 0, function* () {
114
- return undefined;
115
- });
116
- }
117
- getSigner() {
118
- return tslib.__awaiter(this, void 0, void 0, function* () {
119
- const provider = yield this.getWeb3Provider();
120
- return provider.getSigner();
121
- });
122
- }
123
- getWeb3Provider() {
124
- return tslib.__awaiter(this, void 0, void 0, function* () {
125
- const client = this._magicClient.getClient();
126
- const provider = new ethers.ethers.providers.Web3Provider(client.rpcProvider);
127
- assignConfirmationScreenToProvider.assignConfirmationScreenToProvider(provider, this._walletUiUtils);
128
- return provider;
129
- });
130
- }
131
- isInstalledOnBrowser() {
132
- return false;
133
- }
134
- proveOwnership(messageToSign) {
135
- return this.signMessage(messageToSign);
136
- }
137
- setupEventListeners(listeners) {
138
- this._listeners = listeners;
139
- this._magicClient.setListeners(listeners);
140
- this._checkIfLoggedIn();
141
- }
142
- signMessage(messageToSign) {
143
- return tslib.__awaiter(this, void 0, void 0, function* () {
144
- const provider = yield this.getWeb3Provider();
145
- return provider.getSigner().signMessage(messageToSign);
146
- });
147
- }
148
- supportsNetworkSwitching() {
149
- return true;
150
- }
151
- switchNetwork({ networkChainId, }) {
152
- return tslib.__awaiter(this, void 0, void 0, function* () {
153
- if (!networkChainId) {
154
- return;
155
- }
156
- this._magicClient.selectNetwork(networkChainId);
157
- });
158
- }
159
- teardownEventListeners() {
160
- this._listeners = undefined;
161
- this._magicClient.setListeners(undefined);
162
- }
163
- _isLoggedIn() {
164
- return tslib.__awaiter(this, void 0, void 0, function* () {
165
- const client = this._magicClient.getClient();
166
- return client.user.isLoggedIn();
167
- });
168
- }
169
- _checkIfLoggedIn() {
170
- var _a, _b;
171
- return tslib.__awaiter(this, void 0, void 0, function* () {
172
- const isLoggedIn = yield this._isLoggedIn();
173
- if (!isLoggedIn) {
174
- localStorage.removeItem(storedAddressKey);
175
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
176
- }
177
- return isLoggedIn;
178
- });
179
- }
180
- }
181
-
182
- exports.MagicWalletConnector = MagicWalletConnector;
@@ -1,60 +0,0 @@
1
- import { LoginWithMagicLinkEvents, Magic, MagicUserMetadata, PromiEvent } from 'magic-sdk';
2
- import { ethers } from 'ethers';
3
- import { OAuthExtension, OAuthProvider } from '@magic-ext/oauth';
4
- import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
5
- import { WalletUiUtils } from '../../../../types';
6
- import { CancellablePromise } from '../../../../utils/CancellablePromise';
7
- import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
8
- import { EvmNetwork } from './../../evm-network';
9
- export type MagicConnectorProps = {
10
- apiKey: string;
11
- config?: MagicLinkConfig;
12
- evmNetworks: EvmNetwork[];
13
- walletUiUtils: WalletUiUtils;
14
- };
15
- export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents & {
16
- done: (result: string | null) => void;
17
- error: (reason: any) => void;
18
- settled: () => void;
19
- }>;
20
- export declare abstract class MagicWalletConnector implements WalletConnector {
21
- key: string;
22
- canConnectViaCustodialService: boolean;
23
- canConnectViaQrCode: boolean;
24
- canConnectViaSocial: boolean;
25
- connectedChain: Chain;
26
- supportedChains: Chain[];
27
- isWalletConnect: boolean;
28
- name: string;
29
- switchNetworkOnlyFromWallet?: boolean;
30
- providerResources?: string[];
31
- evmNetworks: EvmNetwork[];
32
- _walletUiUtils: WalletUiUtils;
33
- _listeners: WalletEventListeners | undefined;
34
- _currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
35
- protected _magicClient: MagicClientNetworkHandler<Magic | Magic<OAuthExtension[]>>;
36
- constructor({ apiKey, walletUiUtils, evmNetworks, config, }: MagicConnectorProps);
37
- abstract loginWithMagic(provider?: OAuthProvider): Promise<MagicPromiEvent | undefined>;
38
- getDeepLink(): string | undefined;
39
- connect(provider?: OAuthProvider): Promise<void>;
40
- endSession(): Promise<void>;
41
- getUserMetadata(): Promise<MagicUserMetadata | undefined>;
42
- fetchPublicAddress(): Promise<string | undefined>;
43
- getBalance(): Promise<string | undefined>;
44
- getConnectedAccounts(): Promise<string[]>;
45
- getNetwork(): Promise<number | undefined>;
46
- getRpcProvider(): Promise<void | ethers.providers.JsonRpcProvider | undefined>;
47
- getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
48
- getWeb3Provider(): Promise<ethers.providers.Web3Provider>;
49
- isInstalledOnBrowser(): boolean;
50
- proveOwnership(messageToSign: string): Promise<string | undefined>;
51
- setupEventListeners(listeners: WalletEventListeners): void;
52
- signMessage(messageToSign: string): Promise<string | undefined>;
53
- supportsNetworkSwitching(): boolean;
54
- switchNetwork({ networkChainId, }: {
55
- networkChainId?: number;
56
- }): Promise<void>;
57
- teardownEventListeners(): void;
58
- _isLoggedIn(): Promise<boolean>;
59
- _checkIfLoggedIn(): Promise<boolean>;
60
- }