@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,193 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { ethers, utils } from 'ethers';
3
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
4
- import { ProviderLookup } from '../ProviderLookup.js';
5
- import { isUnsupportedProviderError } from '../../utils/isUnsupportedProviderError/isUnsupportedProviderError.js';
6
- import { logger } from '../../utils/logger.js';
7
-
8
- class EthProviderHelper {
9
- constructor() {
10
- this.MetamaskProvider = () =>
11
- // Stop these wallets from showing up as MetaMask
12
- this.installedProviderLookup([
13
- { flag: 'isDawn', value: false },
14
- { flag: 'isBraveWallet', value: false },
15
- { flag: 'isTrustWallet', value: false },
16
- { flag: 'isExodus', value: false },
17
- { flag: 'isPhantom', value: false },
18
- { flag: 'isZerion', value: false },
19
- { flag: 'isMetaMask', value: true },
20
- ]);
21
- this.BraveProvider = () => this.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
22
- this.DawnProvider = () => this.installedProviderLookup([{ flag: 'isDawn', value: true }]);
23
- this.FrameProvider = () => this.installedProviderLookup([{ flag: 'isFrame', value: true }]);
24
- this.CoinbaseProvider = () => this.installedProviderLookup([{ flag: 'isCoinbaseWallet', value: true }]);
25
- this.OperaProvider = () => this.installedProviderLookup([{ flag: 'isOpera', value: true }]);
26
- this.GameStopProvider = () => this.installedProviderLookup([{ flag: 'isGamestop', value: true }]);
27
- this.ExodusProvider = () => this.installedProviderLookup([{ flag: 'isExodus', value: true }]);
28
- this.BloctoProvider = () => this.installedProviderLookup([{ flag: 'isBlocto', value: true }]);
29
- this.TrustWalletProvider = () => this.installedProviderLookup([{ flag: 'isTrustWallet', value: true }]);
30
- this.PhantomProvider = () => this.installedProviderLookup([{ flag: 'isPhantom', value: true }]);
31
- this.ZerionProvider = () => this.installedProviderLookup([{ flag: 'isZerion', value: true }]);
32
- this.UnknownInjectedProvider = () => this.installedProviderLookup([
33
- { flag: 'isMetaMask', value: false },
34
- { flag: 'isExodus', value: false },
35
- { flag: 'isCoinbaseWallet', value: false },
36
- { flag: 'isBraveWallet', value: false },
37
- { flag: 'isGamestop', value: false },
38
- { flag: 'isFrame', value: false },
39
- { flag: 'isOpera', value: false },
40
- { flag: 'isBlocto', value: false },
41
- { flag: 'isTrustWallet', value: false },
42
- { flag: 'isPhantom', value: false },
43
- { flag: 'isZerion', value: false },
44
- ]);
45
- this.providers = {
46
- bloctoinjected: this.BloctoProvider,
47
- braveevm: this.BraveProvider,
48
- coinbase: this.CoinbaseProvider,
49
- dawn: this.DawnProvider,
50
- exodusevm: this.ExodusProvider,
51
- frame: this.FrameProvider,
52
- gamestop: this.GameStopProvider,
53
- injectedwallet: this.UnknownInjectedProvider,
54
- metamask: this.MetamaskProvider,
55
- opera: this.OperaProvider,
56
- phantomevm: this.PhantomProvider,
57
- trust: this.TrustWalletProvider,
58
- zerion: this.ZerionProvider,
59
- };
60
- }
61
- installedProviderLookup(providerFlags) {
62
- const allInstalledProviders = this.allInstalledProviders();
63
- return ProviderLookup(allInstalledProviders, providerFlags);
64
- }
65
- allInstalledProviders() {
66
- var _a;
67
- const ethereumProviders = [];
68
- if (window.ethereum) {
69
- if (!window.ethereum.providers) {
70
- ethereumProviders.push(window.ethereum);
71
- }
72
- else {
73
- window.ethereum.providers.forEach((provider) => {
74
- ethereumProviders.push(provider);
75
- });
76
- }
77
- }
78
- if ((_a = window.phantom) === null || _a === void 0 ? void 0 : _a.ethereum) {
79
- ethereumProviders.push(window.phantom.ethereum);
80
- }
81
- if (window.zerionWallet) {
82
- ethereumProviders.push(window.zerionWallet);
83
- }
84
- return ethereumProviders;
85
- }
86
- isInstalledHelper(walletName) {
87
- return this.findProvider(walletName) !== undefined;
88
- }
89
- findProvider(walletName) {
90
- var _a, _b;
91
- try {
92
- const provider = (_b = (_a = this.providers)[normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
93
- return provider === undefined
94
- ? undefined
95
- : new ethers.providers.Web3Provider(provider, 'any'); // https://github.com/ethers-io/ethers.js/discussions/1480
96
- }
97
- catch (err) {
98
- if (isUnsupportedProviderError(err)) {
99
- logger.error(`ETH Provider is not supported ${err.value}`, err);
100
- return;
101
- }
102
- logger.error(`Could not find provider for ${walletName}`, err);
103
- return undefined;
104
- }
105
- }
106
- fetchPublicAddressWithName(name) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- const provider = this.findProvider(name);
109
- if (!provider) {
110
- return Promise.resolve(undefined);
111
- }
112
- return this.fetchPublicAddressWithProvider(provider);
113
- });
114
- }
115
- fetchPublicAddressWithProvider(provider) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- try {
118
- const [lowercaseAddress] = yield provider.send('eth_requestAccounts', []);
119
- const publicAddress = utils.getAddress(lowercaseAddress);
120
- return publicAddress;
121
- }
122
- catch (err) {
123
- logger.error(err);
124
- return Promise.reject(err);
125
- }
126
- });
127
- }
128
- signMessageWithName(messageToSign, name) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- const walletAddress = yield this.fetchPublicAddressWithName(name);
131
- if (!walletAddress) {
132
- return Promise.resolve(undefined);
133
- }
134
- const provider = this.findProvider(name);
135
- if (!provider) {
136
- return Promise.resolve(undefined);
137
- }
138
- const signer = provider.getSigner();
139
- const signedMessage = yield signer.signMessage(messageToSign);
140
- return signedMessage;
141
- });
142
- }
143
- _setupEventListeners(listeners, web3Provider) {
144
- if (!web3Provider) {
145
- return () => {
146
- // nothing to teardown
147
- };
148
- }
149
- const externalProvider = web3Provider.provider;
150
- this.handleAccountChange = (accounts) => __awaiter(this, void 0, void 0, function* () {
151
- var _a, _b;
152
- if (accounts.length === 0) {
153
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
154
- return;
155
- }
156
- yield ((_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, accounts));
157
- });
158
- this.handleChainChange = () => __awaiter(this, void 0, void 0, function* () {
159
- var _c;
160
- const network = yield web3Provider.getNetwork();
161
- yield ((_c = listeners.onChainChange) === null || _c === void 0 ? void 0 : _c.call(listeners, network.chainId.toString()));
162
- });
163
- this.handleDisconnect = (error) => __awaiter(this, void 0, void 0, function* () {
164
- var _d;
165
- if ((error === null || error === void 0 ? void 0 : error.code) === 1013) {
166
- return;
167
- }
168
- yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
169
- });
170
- externalProvider.on('accountsChanged', this.handleAccountChange);
171
- externalProvider.on('chainChanged', this.handleChainChange);
172
- externalProvider.on('disconnect', this.handleDisconnect);
173
- return () => { };
174
- }
175
- _teardownEventListeners(name) {
176
- const web3Provider = this.findProvider(name);
177
- if (!web3Provider || !(web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.provider)) {
178
- return;
179
- }
180
- const externalProvider = web3Provider.provider;
181
- if (this.handleAccountChange) {
182
- externalProvider.removeListener('accountsChanged', this.handleAccountChange);
183
- }
184
- if (this.handleChainChange) {
185
- externalProvider.removeListener('chainChanged', this.handleChainChange);
186
- }
187
- if (this.handleDisconnect) {
188
- externalProvider.removeListener('disconnect', this.handleDisconnect);
189
- }
190
- }
191
- }
192
-
193
- export { EthProviderHelper };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const findEvmNetwork = ({ chainId, name, networks, }) => {
6
- if (!chainId && !name) {
7
- return undefined;
8
- }
9
- if (chainId && name) {
10
- return networks.find((network) => network.chainId === chainId && network.chainName === name);
11
- }
12
- else if (chainId) {
13
- return networks.find((network) => network.chainId === chainId);
14
- }
15
- else {
16
- return networks.find((network) => network.chainName === name);
17
- }
18
- };
19
-
20
- exports.findEvmNetwork = findEvmNetwork;
@@ -1,22 +0,0 @@
1
- export type EvmNetwork = {
2
- blockExplorerUrls?: string[];
3
- chainId: number;
4
- chainName: string;
5
- iconUrls?: string[];
6
- lcdUrl?: string;
7
- nativeCurrency: {
8
- decimals: number;
9
- denom?: string;
10
- name: string;
11
- symbol: string;
12
- };
13
- networkId: number;
14
- privateCustomerRpcUrls?: string[];
15
- rpcUrls: string[];
16
- vanityName?: string;
17
- };
18
- export declare const findEvmNetwork: ({ chainId, name, networks, }: {
19
- chainId?: number | undefined;
20
- name?: string | undefined;
21
- networks: EvmNetwork[];
22
- }) => EvmNetwork | undefined;
@@ -1,16 +0,0 @@
1
- const findEvmNetwork = ({ chainId, name, networks, }) => {
2
- if (!chainId && !name) {
3
- return undefined;
4
- }
5
- if (chainId && name) {
6
- return networks.find((network) => network.chainId === chainId && network.chainName === name);
7
- }
8
- else if (chainId) {
9
- return networks.find((network) => network.chainId === chainId);
10
- }
11
- else {
12
- return networks.find((network) => network.chainName === name);
13
- }
14
- };
15
-
16
- export { findEvmNetwork };
@@ -1,75 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var ethers = require('ethers');
5
- var FortmaticClient = require('fortmatic');
6
- var errors = require('../../errors.cjs');
7
- var logger = require('../../utils/logger.cjs');
8
- var ethProviderHelper = require('./ethProviderHelper.cjs');
9
- var EthWalletConnector = require('./EthWalletConnector.cjs');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var FortmaticClient__default = /*#__PURE__*/_interopDefaultLegacy(FortmaticClient);
14
-
15
- class Fortmatic extends EthWalletConnector.EthWalletConnector {
16
- constructor({ evmNetworks, apiKey, }) {
17
- super({ evmNetworks });
18
- this.name = 'Fortmatic';
19
- this.supportedChains = ['ETH', 'EVM'];
20
- this.connectedChain = 'EVM';
21
- this.canConnectViaCustodialService = true;
22
- this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
23
- this.apiKey = apiKey;
24
- }
25
- getFortmaticProvider() {
26
- const fm = new FortmaticClient__default["default"](this.apiKey);
27
- return fm.getProvider();
28
- }
29
- getWeb3Provider() {
30
- const provider = new ethers.ethers.providers.Web3Provider(this.getFortmaticProvider());
31
- return provider;
32
- }
33
- fetchPublicAddress() {
34
- var _a;
35
- return tslib.__awaiter(this, void 0, void 0, function* () {
36
- const fmProvider = this.getFortmaticProvider();
37
- try {
38
- const [address] = yield fmProvider.enable();
39
- return address;
40
- }
41
- catch (error) {
42
- if ((error === null || error === void 0 ? void 0 : error.code) === -32603 && ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('User denied'))) {
43
- error.code = 4001; // hack the error code to be the same as Metamask
44
- }
45
- throw error;
46
- }
47
- });
48
- }
49
- signMessage(messageToSign) {
50
- return tslib.__awaiter(this, void 0, void 0, function* () {
51
- const signer = this.getWeb3Provider().getSigner();
52
- const signedMessage = yield signer.signMessage(messageToSign);
53
- logger.logger.debug('signedMessage:', signedMessage);
54
- return signedMessage;
55
- });
56
- }
57
- proveOwnership(messageToSign) {
58
- return tslib.__awaiter(this, void 0, void 0, function* () {
59
- return this.signMessage(messageToSign);
60
- });
61
- }
62
- endSession() {
63
- return tslib.__awaiter(this, void 0, void 0, function* () {
64
- const fm = new FortmaticClient__default["default"](this.apiKey);
65
- fm.user.logout();
66
- });
67
- }
68
- providerSwitchNetwork() {
69
- return tslib.__awaiter(this, void 0, void 0, function* () {
70
- throw new errors.DynamicError('Not supported');
71
- });
72
- }
73
- }
74
-
75
- module.exports = Fortmatic;
@@ -1,26 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { Chain } from '@dynamic-labs/wallet-connector-core';
3
- import { EthProviderHelper } from './ethProviderHelper';
4
- import { EthWalletConnector } from './EthWalletConnector';
5
- import { EvmNetwork } from './evm-network';
6
- declare class Fortmatic extends EthWalletConnector {
7
- name: string;
8
- supportedChains: Chain[];
9
- connectedChain: Chain;
10
- canConnectViaCustodialService: boolean;
11
- ethProviderHelper: EthProviderHelper;
12
- publicAddress: string | undefined;
13
- private apiKey;
14
- constructor({ evmNetworks, apiKey, }: {
15
- apiKey: string;
16
- evmNetworks: EvmNetwork[];
17
- });
18
- getFortmaticProvider(): import("fortmatic/dist/cjs/src/core/fm-provider").FmProvider;
19
- getWeb3Provider(): ethers.providers.Web3Provider;
20
- fetchPublicAddress(): Promise<string | undefined>;
21
- signMessage(messageToSign: string): Promise<string | undefined>;
22
- proveOwnership(messageToSign: string): Promise<string | undefined>;
23
- endSession(): Promise<void>;
24
- providerSwitchNetwork(): Promise<void>;
25
- }
26
- export default Fortmatic;
@@ -1,69 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { ethers } from 'ethers';
3
- import FortmaticClient from 'fortmatic';
4
- import { DynamicError } from '../../errors.js';
5
- import { logger } from '../../utils/logger.js';
6
- import { EthProviderHelper } from './ethProviderHelper.js';
7
- import { EthWalletConnector } from './EthWalletConnector.js';
8
-
9
- class Fortmatic extends EthWalletConnector {
10
- constructor({ evmNetworks, apiKey, }) {
11
- super({ evmNetworks });
12
- this.name = 'Fortmatic';
13
- this.supportedChains = ['ETH', 'EVM'];
14
- this.connectedChain = 'EVM';
15
- this.canConnectViaCustodialService = true;
16
- this.ethProviderHelper = new EthProviderHelper();
17
- this.apiKey = apiKey;
18
- }
19
- getFortmaticProvider() {
20
- const fm = new FortmaticClient(this.apiKey);
21
- return fm.getProvider();
22
- }
23
- getWeb3Provider() {
24
- const provider = new ethers.providers.Web3Provider(this.getFortmaticProvider());
25
- return provider;
26
- }
27
- fetchPublicAddress() {
28
- var _a;
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const fmProvider = this.getFortmaticProvider();
31
- try {
32
- const [address] = yield fmProvider.enable();
33
- return address;
34
- }
35
- catch (error) {
36
- if ((error === null || error === void 0 ? void 0 : error.code) === -32603 && ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('User denied'))) {
37
- error.code = 4001; // hack the error code to be the same as Metamask
38
- }
39
- throw error;
40
- }
41
- });
42
- }
43
- signMessage(messageToSign) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const signer = this.getWeb3Provider().getSigner();
46
- const signedMessage = yield signer.signMessage(messageToSign);
47
- logger.debug('signedMessage:', signedMessage);
48
- return signedMessage;
49
- });
50
- }
51
- proveOwnership(messageToSign) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- return this.signMessage(messageToSign);
54
- });
55
- }
56
- endSession() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const fm = new FortmaticClient(this.apiKey);
59
- fm.user.logout();
60
- });
61
- }
62
- providerSwitchNetwork() {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- throw new DynamicError('Not supported');
65
- });
66
- }
67
- }
68
-
69
- export { Fortmatic as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class BloctoInjected extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'bloctoInjected';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = BloctoInjected;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class BloctoInjected extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default BloctoInjected;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class BloctoInjected extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'bloctoInjected';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { BloctoInjected as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class BraveEvm extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'BraveEvm';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = BraveEvm;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class BraveEvm extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default BraveEvm;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class BraveEvm extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'BraveEvm';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { BraveEvm as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class Dawn extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'Dawn';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = Dawn;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class Dawn extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default Dawn;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class Dawn extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'Dawn';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { Dawn as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class ExodusEvm extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'ExodusEvm';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = ExodusEvm;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class ExodusEvm extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default ExodusEvm;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class ExodusEvm extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'ExodusEvm';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { ExodusEvm as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class Frame extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'Frame';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = Frame;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class Frame extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default Frame;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class Frame extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'Frame';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { Frame as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class GameStop extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'GameStop';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = GameStop;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class GameStop extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default GameStop;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class GameStop extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'GameStop';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { GameStop as default };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var metaMask = require('../meta-mask.cjs');
4
-
5
- class Opera extends metaMask {
6
- constructor() {
7
- super(...arguments);
8
- this.name = 'Opera';
9
- this.canConnectViaQrCode = false;
10
- }
11
- }
12
-
13
- module.exports = Opera;
@@ -1,6 +0,0 @@
1
- import MetaMask from '../meta-mask';
2
- declare class Opera extends MetaMask {
3
- name: string;
4
- canConnectViaQrCode: boolean;
5
- }
6
- export default Opera;
@@ -1,11 +0,0 @@
1
- import MetaMask from '../meta-mask.js';
2
-
3
- class Opera extends MetaMask {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'Opera';
7
- this.canConnectViaQrCode = false;
8
- }
9
- }
10
-
11
- export { Opera as default };