@dynamic-labs/multi-wallet 0.17.0-RC.2 → 0.17.0-RC.21

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 (277) hide show
  1. package/CHANGELOG.md +242 -0
  2. package/package.json +10 -26
  3. package/src/index.cjs +0 -69
  4. package/src/index.d.ts +0 -18
  5. package/src/index.js +1 -23
  6. package/src/multi-wallet.cjs +38 -182
  7. package/src/multi-wallet.d.ts +1 -4
  8. package/src/multi-wallet.js +37 -180
  9. package/src/types.d.ts +12 -50
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +17 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +3 -4
  14. package/src/utils/message.d.ts +2 -2
  15. package/src/utils/message.js +1 -2
  16. package/src/errors.cjs +0 -65
  17. package/src/errors.d.ts +0 -30
  18. package/src/errors.js +0 -53
  19. package/src/polyfills.cjs +0 -16
  20. package/src/polyfills.d.ts +0 -1
  21. package/src/polyfills.js +0 -14
  22. package/src/rpcProviders.cjs +0 -76
  23. package/src/rpcProviders.d.ts +0 -5
  24. package/src/rpcProviders.js +0 -69
  25. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  26. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  27. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  28. package/src/utils/CancellablePromise/index.d.ts +0 -1
  29. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  30. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  31. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  32. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  33. package/src/utils/convertors.cjs +0 -43
  34. package/src/utils/convertors.d.ts +0 -3
  35. package/src/utils/convertors.js +0 -38
  36. package/src/utils/encoding.cjs +0 -18
  37. package/src/utils/encoding.d.ts +0 -4
  38. package/src/utils/encoding.js +0 -12
  39. package/src/utils/extractNonce.cjs +0 -13
  40. package/src/utils/extractNonce.d.ts +0 -1
  41. package/src/utils/extractNonce.js +0 -9
  42. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  43. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  44. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  45. package/src/utils/getChainInfo/index.d.ts +0 -1
  46. package/src/utils/getWalletConnectorByName.cjs +0 -19
  47. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  48. package/src/utils/getWalletConnectorByName.js +0 -15
  49. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  50. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  51. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  52. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  53. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  54. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  55. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  56. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  57. package/src/utils/isFunction/index.d.ts +0 -1
  58. package/src/utils/isFunction/isFunction.cjs +0 -8
  59. package/src/utils/isFunction/isFunction.d.ts +0 -1
  60. package/src/utils/isFunction/isFunction.js +0 -4
  61. package/src/utils/isMobile.cjs +0 -54
  62. package/src/utils/isMobile.d.ts +0 -13
  63. package/src/utils/isMobile.js +0 -46
  64. package/src/utils/isSameAddress/index.d.ts +0 -1
  65. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  66. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  67. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  68. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  69. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  70. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  71. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  72. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  73. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  74. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  75. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  76. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  77. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  78. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  79. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  80. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  81. package/src/utils/localStorageAsync.cjs +0 -28
  82. package/src/utils/localStorageAsync.d.ts +0 -3
  83. package/src/utils/localStorageAsync.js +0 -22
  84. package/src/utils/logger.cjs +0 -9
  85. package/src/utils/logger.d.ts +0 -2
  86. package/src/utils/logger.js +0 -5
  87. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  88. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  89. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  90. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  91. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  92. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  93. package/src/utils/shouldLowercaseAddress.js +0 -7
  94. package/src/utils/walletConnect.cjs +0 -30
  95. package/src/utils/walletConnect.d.ts +0 -4
  96. package/src/utils/walletConnect.js +0 -26
  97. package/src/wallets/ProviderLookup.cjs +0 -18
  98. package/src/wallets/ProviderLookup.d.ts +0 -4
  99. package/src/wallets/ProviderLookup.js +0 -14
  100. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +0 -149
  101. package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
  102. package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
  103. package/src/wallets/algorand/myalgoSigner.cjs +0 -24
  104. package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
  105. package/src/wallets/algorand/myalgoSigner.js +0 -20
  106. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  107. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  108. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  109. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  110. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  111. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  112. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  113. package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -204
  114. package/src/wallets/clients/walletConnect/walletConnect.d.ts +0 -22
  115. package/src/wallets/clients/walletConnect/walletConnect.js +0 -187
  116. package/src/wallets/constants.cjs +0 -16
  117. package/src/wallets/constants.d.ts +0 -4
  118. package/src/wallets/constants.js +0 -10
  119. package/src/wallets/cosmos/KeplrWalletConnect.cjs +0 -196
  120. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +0 -46
  121. package/src/wallets/cosmos/KeplrWalletConnect.js +0 -194
  122. package/src/wallets/cosmos/KeplrWalletConnector.cjs +0 -193
  123. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +0 -70
  124. package/src/wallets/cosmos/KeplrWalletConnector.js +0 -189
  125. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  126. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  127. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  128. package/src/wallets/cosmos/index.d.ts +0 -1
  129. package/src/wallets/cosmos/utils/indexDB.cjs +0 -97
  130. package/src/wallets/cosmos/utils/indexDB.d.ts +0 -18
  131. package/src/wallets/cosmos/utils/indexDB.js +0 -93
  132. package/src/wallets/cosmos/wcClient.cjs +0 -333
  133. package/src/wallets/cosmos/wcClient.d.ts +0 -104
  134. package/src/wallets/cosmos/wcClient.js +0 -325
  135. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  136. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
  137. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  138. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
  139. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
  140. package/src/wallets/ethereum/EthWalletConnector.js +0 -187
  141. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  142. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  143. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  144. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  145. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  146. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  147. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  148. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  149. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -102
  150. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  151. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
  152. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  153. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
  154. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  155. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
  156. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  157. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
  158. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
  159. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
  160. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  161. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  162. package/src/wallets/ethereum/coinbase.cjs +0 -65
  163. package/src/wallets/ethereum/coinbase.d.ts +0 -26
  164. package/src/wallets/ethereum/coinbase.js +0 -63
  165. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  166. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  167. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  168. package/src/wallets/ethereum/evm-network.cjs +0 -20
  169. package/src/wallets/ethereum/evm-network.d.ts +0 -22
  170. package/src/wallets/ethereum/evm-network.js +0 -16
  171. package/src/wallets/ethereum/fortmatic.cjs +0 -75
  172. package/src/wallets/ethereum/fortmatic.d.ts +0 -26
  173. package/src/wallets/ethereum/fortmatic.js +0 -69
  174. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  175. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  176. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  177. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  178. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  179. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  180. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  181. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  182. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  183. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  184. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  185. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  186. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  187. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  188. package/src/wallets/ethereum/injected/Frame.js +0 -11
  189. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  190. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  191. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  192. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  193. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  194. package/src/wallets/ethereum/injected/Opera.js +0 -11
  195. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  196. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  197. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  198. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  199. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  200. package/src/wallets/ethereum/injected/Trust.js +0 -11
  201. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  202. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  203. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  204. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  205. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  206. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  207. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  208. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  209. package/src/wallets/ethereum/meta-mask.js +0 -61
  210. package/src/wallets/flow/FlowWalletConnector.cjs +0 -163
  211. package/src/wallets/flow/FlowWalletConnector.d.ts +0 -29
  212. package/src/wallets/flow/FlowWalletConnector.js +0 -158
  213. package/src/wallets/flow/blocto.cjs +0 -22
  214. package/src/wallets/flow/blocto.d.ts +0 -7
  215. package/src/wallets/flow/blocto.js +0 -20
  216. package/src/wallets/flow/dapper.cjs +0 -22
  217. package/src/wallets/flow/dapper.d.ts +0 -7
  218. package/src/wallets/flow/dapper.js +0 -20
  219. package/src/wallets/flow/lilico.cjs +0 -42
  220. package/src/wallets/flow/lilico.d.ts +0 -8
  221. package/src/wallets/flow/lilico.js +0 -40
  222. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  223. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
  224. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
  225. package/src/wallets/getWalletConnectConnector.cjs +0 -19
  226. package/src/wallets/getWalletConnectConnector.d.ts +0 -8
  227. package/src/wallets/getWalletConnectConnector.js +0 -15
  228. package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
  229. package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
  230. package/src/wallets/solana/CoinbaseSolana.js +0 -52
  231. package/src/wallets/solana/glow.cjs +0 -51
  232. package/src/wallets/solana/glow.d.ts +0 -16
  233. package/src/wallets/solana/glow.js +0 -49
  234. package/src/wallets/solana/injected/BraveSol.cjs +0 -18
  235. package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
  236. package/src/wallets/solana/injected/BraveSol.js +0 -16
  237. package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
  238. package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
  239. package/src/wallets/solana/injected/ExodusSol.js +0 -10
  240. package/src/wallets/solana/phantom-ledger.cjs +0 -71
  241. package/src/wallets/solana/phantom-ledger.d.ts +0 -16
  242. package/src/wallets/solana/phantom-ledger.js +0 -65
  243. package/src/wallets/solana/phantom.cjs +0 -74
  244. package/src/wallets/solana/phantom.d.ts +0 -17
  245. package/src/wallets/solana/phantom.js +0 -72
  246. package/src/wallets/solana/slope.cjs +0 -96
  247. package/src/wallets/solana/slope.d.ts +0 -27
  248. package/src/wallets/solana/slope.js +0 -94
  249. package/src/wallets/solana/solProviderHelper.cjs +0 -164
  250. package/src/wallets/solana/solProviderHelper.d.ts +0 -29
  251. package/src/wallets/solana/solProviderHelper.js +0 -160
  252. package/src/wallets/solana/solWalletConnector.cjs +0 -57
  253. package/src/wallets/solana/solWalletConnector.d.ts +0 -18
  254. package/src/wallets/solana/solWalletConnector.js +0 -53
  255. package/src/wallets/solana/solflare.cjs +0 -65
  256. package/src/wallets/solana/solflare.d.ts +0 -14
  257. package/src/wallets/solana/solflare.js +0 -63
  258. package/src/wallets/starknet/argentx.cjs +0 -20
  259. package/src/wallets/starknet/argentx.d.ts +0 -7
  260. package/src/wallets/starknet/argentx.js +0 -18
  261. package/src/wallets/starknet/braavos.cjs +0 -33
  262. package/src/wallets/starknet/braavos.d.ts +0 -7
  263. package/src/wallets/starknet/braavos.js +0 -31
  264. package/src/wallets/starknet/ethereumContractAbi.cjs +0 -357
  265. package/src/wallets/starknet/ethereumContractAbi.js +0 -355
  266. package/src/wallets/starknet/starknetWalletConnector.cjs +0 -171
  267. package/src/wallets/starknet/starknetWalletConnector.d.ts +0 -34
  268. package/src/wallets/starknet/starknetWalletConnector.js +0 -169
  269. package/src/wallets/walletConnect/index.d.ts +0 -2
  270. package/src/wallets/walletConnect/walletConnect.cjs +0 -130
  271. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  272. package/src/wallets/walletConnect/walletConnect.js +0 -124
  273. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  274. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  275. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  276. package/src/wallets/walletConnect/zerion.d.ts +0 -8
  277. package/src/wallets/window.d.ts +0 -95
@@ -1,191 +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 walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
- var errors = require('../../errors.cjs');
9
- var rpcProviders = require('../../rpcProviders.cjs');
10
- var evmNetwork = require('./evm-network.cjs');
11
-
12
- class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
13
- getRpcProvider() {
14
- var _a, _b;
15
- return tslib.__awaiter(this, void 0, void 0, function* () {
16
- const networkId = yield this.getNetwork();
17
- if (this.evmNetworks.length === 0) {
18
- return undefined;
19
- }
20
- const configurations = {
21
- cosmos: [],
22
- evm: this.evmNetworks,
23
- solana: [],
24
- starknet: undefined,
25
- };
26
- if (!networkId) {
27
- return (_a = rpcProviders.getEvmDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
28
- }
29
- return (_b = rpcProviders.getEvmRpcProviderByChainId(configurations, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
30
- });
31
- }
32
- constructor({ evmNetworks }) {
33
- super();
34
- this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
35
- var _a;
36
- [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
37
- ? network.privateCustomerRpcUrls
38
- : network.rpcUrls;
39
- return acc;
40
- }, {});
41
- this.evmNetworks = evmNetworks;
42
- }
43
- getNetwork() {
44
- return tslib.__awaiter(this, void 0, void 0, function* () {
45
- const provider = this.getWeb3Provider();
46
- if (!this.supportsNetworkSwitching ||
47
- !provider ||
48
- !('getNetwork' in provider)) {
49
- return Promise.resolve(undefined);
50
- }
51
- const network = yield provider.getNetwork();
52
- return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
53
- });
54
- }
55
- getNameService() {
56
- return tslib.__awaiter(this, void 0, void 0, function* () {
57
- const [[address], provider] = yield Promise.all([
58
- this.getConnectedAccounts(),
59
- this.getRpcProvider(),
60
- ]);
61
- if (!address || !provider || !('lookupAddress' in provider)) {
62
- return;
63
- }
64
- const [ensName, ensAvatar] = yield Promise.all([
65
- provider.lookupAddress(address),
66
- provider.getAvatar(address),
67
- ]);
68
- const ensData = {
69
- avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
70
- name: ensName !== null && ensName !== void 0 ? ensName : undefined,
71
- };
72
- return ensData;
73
- });
74
- }
75
- getSigner() {
76
- var _a;
77
- return tslib.__awaiter(this, void 0, void 0, function* () {
78
- return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
79
- });
80
- }
81
- getBalance() {
82
- var _a;
83
- return tslib.__awaiter(this, void 0, void 0, function* () {
84
- // This is equivalent to getSigner().getAddress() but does not crash
85
- // if the signer is not available
86
- const [address] = yield this.getConnectedAccounts();
87
- if (!address)
88
- return;
89
- const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
90
- if (!result)
91
- return;
92
- return ethers.ethers.utils.formatEther(result);
93
- });
94
- }
95
- supportsNetworkSwitching() {
96
- return true;
97
- }
98
- switchNetwork({ networkName, networkChainId, }) {
99
- return tslib.__awaiter(this, void 0, void 0, function* () {
100
- const network = evmNetwork.findEvmNetwork({
101
- chainId: networkChainId,
102
- name: networkName,
103
- networks: this.evmNetworks,
104
- });
105
- if (!network) {
106
- throw new errors.DynamicError('Could not find network');
107
- }
108
- if (!this.supportsNetworkSwitching()) {
109
- throw new errors.DynamicError('Network switching is not supported');
110
- }
111
- const provider = this.getWeb3Provider();
112
- if (!provider) {
113
- throw new errors.DynamicError('Provider not found');
114
- }
115
- return this.providerSwitchNetwork({ network, provider });
116
- });
117
- }
118
- getConnectedAccounts() {
119
- return tslib.__awaiter(this, void 0, void 0, function* () {
120
- const provider = this.getWeb3Provider();
121
- if (!provider)
122
- return [];
123
- return provider.send('eth_accounts', []);
124
- });
125
- }
126
- providerSwitchNetwork({ network, provider, }) {
127
- var _a, _b, _c;
128
- return tslib.__awaiter(this, void 0, void 0, function* () {
129
- const { chainId } = network;
130
- const currentNetworkId = yield this.getNetwork();
131
- if (currentNetworkId && currentNetworkId === chainId) {
132
- return;
133
- }
134
- try {
135
- if (!this.supportsNetworkSwitching()) {
136
- throw new errors.DynamicError('Network switching is not supported');
137
- }
138
- return yield provider.send('wallet_switchEthereumChain', [
139
- {
140
- chainId: `0x${chainId.toString(16)}`,
141
- },
142
- ]);
143
- }
144
- catch (error) {
145
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
146
- (typeof error === 'string' && error.includes('rejected'))) {
147
- throw new errors.DynamicError("User rejected the wallet's request to switch network");
148
- }
149
- else if (error.code === 4902 ||
150
- error.message.includes('Unrecognized chain') ||
151
- // https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
152
- ((_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) {
153
- // error code indicates the chain has not been added yet
154
- // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
155
- return this.providerAddNetwork({ network, provider });
156
- }
157
- else {
158
- throw error;
159
- }
160
- }
161
- });
162
- }
163
- providerAddNetwork({ network, provider, }) {
164
- var _a;
165
- return tslib.__awaiter(this, void 0, void 0, function* () {
166
- const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, chainName } = network;
167
- try {
168
- return yield provider.send('wallet_addEthereumChain', [
169
- {
170
- blockExplorerUrls,
171
- chainId: `0x${chainId.toString(16)}`,
172
- chainName,
173
- nativeCurrency,
174
- rpcUrls,
175
- },
176
- ]);
177
- }
178
- catch (error) {
179
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
180
- (typeof error === 'string' && error.includes('rejected'))) {
181
- throw new errors.DynamicError("User rejected the wallet's request to add network");
182
- }
183
- else {
184
- throw error;
185
- }
186
- }
187
- });
188
- }
189
- }
190
-
191
- exports.EthWalletConnector = EthWalletConnector;
@@ -1,35 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { NameServiceData, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
- import { EvmNetwork } from './evm-network';
4
- export type SwitchNetworkOps = {
5
- networkChainId?: number;
6
- networkName?: string;
7
- };
8
- type EvmRpcMap = {
9
- [chainId: number]: string;
10
- };
11
- export declare abstract class EthWalletConnector extends WalletConnectorBase {
12
- evmNetworks: EvmNetwork[];
13
- abstract getWeb3Provider(): ethers.providers.Web3Provider | undefined;
14
- getRpcProvider(): Promise<ethers.providers.JsonRpcProvider | undefined>;
15
- constructor({ evmNetworks }: {
16
- evmNetworks: EvmNetwork[];
17
- });
18
- getNetwork(): Promise<number | undefined>;
19
- getNameService(): Promise<NameServiceData | 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 {};
@@ -1,187 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { ethers } from 'ethers';
3
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { DynamicError } from '../../errors.js';
5
- import { getEvmDefaultRpcProvider, getEvmRpcProviderByChainId } from '../../rpcProviders.js';
6
- import { findEvmNetwork } from './evm-network.js';
7
-
8
- class EthWalletConnector extends WalletConnectorBase {
9
- getRpcProvider() {
10
- var _a, _b;
11
- return __awaiter(this, void 0, void 0, function* () {
12
- const networkId = yield this.getNetwork();
13
- if (this.evmNetworks.length === 0) {
14
- return undefined;
15
- }
16
- const configurations = {
17
- cosmos: [],
18
- evm: this.evmNetworks,
19
- solana: [],
20
- starknet: undefined,
21
- };
22
- if (!networkId) {
23
- return (_a = getEvmDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
24
- }
25
- return (_b = getEvmRpcProviderByChainId(configurations, networkId)) === null || _b === void 0 ? void 0 : _b.provider;
26
- });
27
- }
28
- constructor({ evmNetworks }) {
29
- super();
30
- this.evmNetworkRpcMap = () => this.evmNetworks.reduce((acc, network) => {
31
- var _a;
32
- [acc[network.chainId]] = ((_a = network === null || network === void 0 ? void 0 : network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a.length)
33
- ? network.privateCustomerRpcUrls
34
- : network.rpcUrls;
35
- return acc;
36
- }, {});
37
- this.evmNetworks = evmNetworks;
38
- }
39
- getNetwork() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const provider = this.getWeb3Provider();
42
- if (!this.supportsNetworkSwitching ||
43
- !provider ||
44
- !('getNetwork' in provider)) {
45
- return Promise.resolve(undefined);
46
- }
47
- const network = yield provider.getNetwork();
48
- return Promise.resolve(network === null || network === void 0 ? void 0 : network.chainId);
49
- });
50
- }
51
- getNameService() {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const [[address], provider] = yield Promise.all([
54
- this.getConnectedAccounts(),
55
- this.getRpcProvider(),
56
- ]);
57
- if (!address || !provider || !('lookupAddress' in provider)) {
58
- return;
59
- }
60
- const [ensName, ensAvatar] = yield Promise.all([
61
- provider.lookupAddress(address),
62
- provider.getAvatar(address),
63
- ]);
64
- const ensData = {
65
- avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
66
- name: ensName !== null && ensName !== void 0 ? ensName : undefined,
67
- };
68
- return ensData;
69
- });
70
- }
71
- getSigner() {
72
- var _a;
73
- return __awaiter(this, void 0, void 0, function* () {
74
- return (_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getSigner();
75
- });
76
- }
77
- getBalance() {
78
- var _a;
79
- return __awaiter(this, void 0, void 0, function* () {
80
- // This is equivalent to getSigner().getAddress() but does not crash
81
- // if the signer is not available
82
- const [address] = yield this.getConnectedAccounts();
83
- if (!address)
84
- return;
85
- const result = yield ((_a = this.getWeb3Provider()) === null || _a === void 0 ? void 0 : _a.getBalance(address));
86
- if (!result)
87
- return;
88
- return ethers.utils.formatEther(result);
89
- });
90
- }
91
- supportsNetworkSwitching() {
92
- return true;
93
- }
94
- switchNetwork({ networkName, networkChainId, }) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- const network = findEvmNetwork({
97
- chainId: networkChainId,
98
- name: networkName,
99
- networks: this.evmNetworks,
100
- });
101
- if (!network) {
102
- throw new DynamicError('Could not find network');
103
- }
104
- if (!this.supportsNetworkSwitching()) {
105
- throw new DynamicError('Network switching is not supported');
106
- }
107
- const provider = this.getWeb3Provider();
108
- if (!provider) {
109
- throw new DynamicError('Provider not found');
110
- }
111
- return this.providerSwitchNetwork({ network, provider });
112
- });
113
- }
114
- getConnectedAccounts() {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const provider = this.getWeb3Provider();
117
- if (!provider)
118
- return [];
119
- return provider.send('eth_accounts', []);
120
- });
121
- }
122
- providerSwitchNetwork({ network, provider, }) {
123
- var _a, _b, _c;
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const { chainId } = network;
126
- const currentNetworkId = yield this.getNetwork();
127
- if (currentNetworkId && currentNetworkId === chainId) {
128
- return;
129
- }
130
- try {
131
- if (!this.supportsNetworkSwitching()) {
132
- throw new DynamicError('Network switching is not supported');
133
- }
134
- return yield provider.send('wallet_switchEthereumChain', [
135
- {
136
- chainId: `0x${chainId.toString(16)}`,
137
- },
138
- ]);
139
- }
140
- catch (error) {
141
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
142
- (typeof error === 'string' && error.includes('rejected'))) {
143
- throw new DynamicError("User rejected the wallet's request to switch network");
144
- }
145
- else if (error.code === 4902 ||
146
- error.message.includes('Unrecognized chain') ||
147
- // https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
148
- ((_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) {
149
- // error code indicates the chain has not been added yet
150
- // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
151
- return this.providerAddNetwork({ network, provider });
152
- }
153
- else {
154
- throw error;
155
- }
156
- }
157
- });
158
- }
159
- providerAddNetwork({ network, provider, }) {
160
- var _a;
161
- return __awaiter(this, void 0, void 0, function* () {
162
- const { blockExplorerUrls, chainId, nativeCurrency, rpcUrls, chainName } = network;
163
- try {
164
- return yield provider.send('wallet_addEthereumChain', [
165
- {
166
- blockExplorerUrls,
167
- chainId: `0x${chainId.toString(16)}`,
168
- chainName,
169
- nativeCurrency,
170
- rpcUrls,
171
- },
172
- ]);
173
- }
174
- catch (error) {
175
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
176
- (typeof error === 'string' && error.includes('rejected'))) {
177
- throw new DynamicError("User rejected the wallet's request to add network");
178
- }
179
- else {
180
- throw error;
181
- }
182
- }
183
- });
184
- }
185
- }
186
-
187
- export { EthWalletConnector };
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var MagicWalletConnector = require('../MagicWalletConnector/MagicWalletConnector.cjs');
7
-
8
- class EmailMagicWalletConnector extends MagicWalletConnector.MagicWalletConnector {
9
- constructor() {
10
- super(...arguments);
11
- this.canConnectViaEmail = true;
12
- }
13
- get email() {
14
- return this._email;
15
- }
16
- setEmail(email) {
17
- this._email = email;
18
- if (!email) {
19
- localStorage.removeItem('magic-link-email');
20
- }
21
- else {
22
- localStorage.setItem('magic-link-email', email);
23
- }
24
- this.cancelPreviousEmail();
25
- }
26
- clearEmail() {
27
- this.setEmail(undefined);
28
- }
29
- endSession() {
30
- const _super = Object.create(null, {
31
- endSession: { get: () => super.endSession }
32
- });
33
- return tslib.__awaiter(this, void 0, void 0, function* () {
34
- yield _super.endSession.call(this);
35
- this.clearEmail();
36
- });
37
- }
38
- cancelPreviousEmail() {
39
- var _a;
40
- (_a = this._currentAuthCancellablePromise) === null || _a === void 0 ? void 0 : _a.cancel();
41
- }
42
- loginWithMagic() {
43
- var _a;
44
- return tslib.__awaiter(this, void 0, void 0, function* () {
45
- const client = this._magicClient.getClient();
46
- const user = yield this.getUserMetadata();
47
- if (user && user.publicAddress) {
48
- this.setEmail(user === null || user === void 0 ? void 0 : user.email);
49
- return user.publicAddress;
50
- }
51
- const { email } = this;
52
- if (!email)
53
- return;
54
- return client.auth.loginWithMagicLink({
55
- email,
56
- redirectURI: (_a = this._magicClient.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
57
- showUI: false,
58
- });
59
- });
60
- }
61
- }
62
-
63
- exports.EmailMagicWalletConnector = EmailMagicWalletConnector;
@@ -1,12 +0,0 @@
1
- import { IEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- import { MagicPromiEvent, MagicWalletConnector } from '../MagicWalletConnector';
3
- export declare class EmailMagicWalletConnector extends MagicWalletConnector implements IEmailWalletConnector {
4
- canConnectViaEmail: boolean;
5
- protected _email: string | undefined | null;
6
- get email(): string | null | undefined;
7
- setEmail(email: EmailMagicWalletConnector['email']): void;
8
- clearEmail(): void;
9
- endSession(): Promise<void>;
10
- cancelPreviousEmail(): void;
11
- loginWithMagic(): Promise<MagicPromiEvent | undefined>;
12
- }
@@ -1,59 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { MagicWalletConnector } from '../MagicWalletConnector/MagicWalletConnector.js';
3
-
4
- class EmailMagicWalletConnector extends MagicWalletConnector {
5
- constructor() {
6
- super(...arguments);
7
- this.canConnectViaEmail = true;
8
- }
9
- get email() {
10
- return this._email;
11
- }
12
- setEmail(email) {
13
- this._email = email;
14
- if (!email) {
15
- localStorage.removeItem('magic-link-email');
16
- }
17
- else {
18
- localStorage.setItem('magic-link-email', email);
19
- }
20
- this.cancelPreviousEmail();
21
- }
22
- clearEmail() {
23
- this.setEmail(undefined);
24
- }
25
- endSession() {
26
- const _super = Object.create(null, {
27
- endSession: { get: () => super.endSession }
28
- });
29
- return __awaiter(this, void 0, void 0, function* () {
30
- yield _super.endSession.call(this);
31
- this.clearEmail();
32
- });
33
- }
34
- cancelPreviousEmail() {
35
- var _a;
36
- (_a = this._currentAuthCancellablePromise) === null || _a === void 0 ? void 0 : _a.cancel();
37
- }
38
- loginWithMagic() {
39
- var _a;
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const client = this._magicClient.getClient();
42
- const user = yield this.getUserMetadata();
43
- if (user && user.publicAddress) {
44
- this.setEmail(user === null || user === void 0 ? void 0 : user.email);
45
- return user.publicAddress;
46
- }
47
- const { email } = this;
48
- if (!email)
49
- return;
50
- return client.auth.loginWithMagicLink({
51
- email,
52
- redirectURI: (_a = this._magicClient.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
53
- showUI: false,
54
- });
55
- });
56
- }
57
- }
58
-
59
- export { EmailMagicWalletConnector };
@@ -1 +0,0 @@
1
- export { EmailMagicWalletConnector } from './EmailMagicWalletConnector';
@@ -1,62 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var logger = require('../../../../utils/logger.cjs');
7
- var EmailMagicWalletConnector = require('../EmailMagicWalletConnector/EmailMagicWalletConnector.cjs');
8
-
9
- class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector.EmailMagicWalletConnector {
10
- verifyOneTimePassword(otp) {
11
- return tslib.__awaiter(this, void 0, void 0, function* () {
12
- const handle = this._handle;
13
- const timeoutMs = 1000 * 10;
14
- const invalidOTPError = new Error('Please double check your code and try again');
15
- if (!handle) {
16
- throw new Error('Login with email OTP before verifying');
17
- }
18
- const timeoutPromise = new Promise((resolve, reject) => {
19
- setTimeout(() => {
20
- reject(invalidOTPError);
21
- }, timeoutMs);
22
- });
23
- const promise = new Promise((resolve, reject) => {
24
- handle
25
- .on('done', () => resolve(true))
26
- .on('invalid-email-otp', () => reject(invalidOTPError))
27
- .on('error', reject)
28
- .catch(reject)
29
- .emit('verify-email-otp', otp);
30
- });
31
- return Promise.race([promise, timeoutPromise]);
32
- });
33
- }
34
- loginWithMagic() {
35
- var _a;
36
- return tslib.__awaiter(this, void 0, void 0, function* () {
37
- const client = this._magicClient.getClient();
38
- const user = yield this.getUserMetadata();
39
- if (user && user.publicAddress) {
40
- this.setEmail(user === null || user === void 0 ? void 0 : user.email);
41
- return user.publicAddress;
42
- }
43
- const { email } = this;
44
- if (!email)
45
- return;
46
- (_a = this._handle) === null || _a === void 0 ? void 0 : _a.emit('cancel');
47
- try {
48
- yield this._handle;
49
- }
50
- catch (err) {
51
- logger.logger.error(err);
52
- }
53
- this._handle = client.auth.loginWithEmailOTP({
54
- email,
55
- showUI: false,
56
- });
57
- return this._handle;
58
- });
59
- }
60
- }
61
-
62
- exports.EmailOTPMagicWalletConnector = EmailOTPMagicWalletConnector;
@@ -1,11 +0,0 @@
1
- import { Magic } from 'magic-sdk';
2
- import { IEmailOTPWalletConnector } from '@dynamic-labs/wallet-connector-core';
3
- import { EmailMagicWalletConnector } from '../EmailMagicWalletConnector';
4
- import { MagicPromiEvent } from '../MagicWalletConnector';
5
- type LoginWithEmailOTPPromiEvent = ReturnType<Magic['auth']['loginWithEmailOTP']>;
6
- export declare class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector implements IEmailOTPWalletConnector {
7
- _handle: LoginWithEmailOTPPromiEvent | undefined;
8
- verifyOneTimePassword(otp: string): Promise<boolean>;
9
- loginWithMagic(): Promise<MagicPromiEvent | undefined>;
10
- }
11
- export {};