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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +8 -14
  3. package/src/index.cjs +0 -57
  4. package/src/index.d.ts +0 -13
  5. package/src/index.js +1 -18
  6. package/src/multi-wallet.cjs +27 -87
  7. package/src/multi-wallet.d.ts +0 -1
  8. package/src/multi-wallet.js +25 -84
  9. package/src/types.d.ts +2 -23
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +10 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +3 -4
  14. package/src/utils/message.js +1 -2
  15. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
  16. package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
  17. package/src/wallets/constants.cjs +0 -2
  18. package/src/wallets/constants.js +1 -2
  19. package/src/wallets/cosmos/KeplrWalletConnect.cjs +16 -17
  20. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +9 -5
  21. package/src/wallets/cosmos/KeplrWalletConnect.js +9 -10
  22. package/src/wallets/cosmos/KeplrWalletConnector.cjs +13 -5
  23. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +6 -4
  24. package/src/wallets/cosmos/KeplrWalletConnector.js +13 -5
  25. package/src/wallets/cosmos/wcClient.lib.cjs +141 -0
  26. package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -11
  27. package/src/wallets/cosmos/wcClient.lib.js +126 -0
  28. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  29. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  30. package/src/wallets/flow/lilico.cjs +2 -2
  31. package/src/wallets/flow/lilico.js +1 -1
  32. package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
  33. package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
  34. package/src/wallets/solana/CoinbaseSolana.js +8 -11
  35. package/src/wallets/solana/glow.cjs +8 -11
  36. package/src/wallets/solana/glow.d.ts +1 -3
  37. package/src/wallets/solana/glow.js +8 -11
  38. package/src/wallets/solana/injected/BraveSol.cjs +2 -1
  39. package/src/wallets/solana/injected/BraveSol.js +2 -1
  40. package/src/wallets/solana/phantom-ledger.cjs +5 -5
  41. package/src/wallets/solana/phantom-ledger.js +1 -1
  42. package/src/wallets/solana/phantom.cjs +11 -15
  43. package/src/wallets/solana/phantom.d.ts +1 -3
  44. package/src/wallets/solana/phantom.js +9 -13
  45. package/src/wallets/solana/slope.cjs +4 -4
  46. package/src/wallets/solana/slope.js +1 -1
  47. package/src/wallets/solana/solProviderHelper.cjs +49 -51
  48. package/src/wallets/solana/solProviderHelper.d.ts +20 -20
  49. package/src/wallets/solana/solProviderHelper.js +48 -50
  50. package/src/wallets/solana/solWalletConnector.cjs +2 -2
  51. package/src/wallets/solana/solWalletConnector.js +1 -1
  52. package/src/wallets/solana/solflare.cjs +6 -7
  53. package/src/wallets/solana/solflare.d.ts +0 -2
  54. package/src/wallets/solana/solflare.js +6 -7
  55. package/src/wallets/starknet/braavos.cjs +2 -2
  56. package/src/wallets/starknet/braavos.js +1 -1
  57. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  58. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  59. package/src/wallets/window.d.ts +10 -22
  60. package/src/errors.cjs +0 -66
  61. package/src/errors.d.ts +0 -34
  62. package/src/errors.js +0 -54
  63. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  64. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  65. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  66. package/src/utils/CancellablePromise/index.d.ts +0 -1
  67. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  68. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  69. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  70. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  71. package/src/utils/encoding.cjs +0 -18
  72. package/src/utils/encoding.d.ts +0 -4
  73. package/src/utils/encoding.js +0 -12
  74. package/src/utils/findProvider/findProvider.cjs +0 -7
  75. package/src/utils/findProvider/findProvider.d.ts +0 -2
  76. package/src/utils/findProvider/findProvider.js +0 -3
  77. package/src/utils/findProvider/index.d.ts +0 -1
  78. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  79. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  80. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  81. package/src/utils/getChainInfo/index.d.ts +0 -1
  82. package/src/utils/getWalletConnectorByName.cjs +0 -19
  83. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  84. package/src/utils/getWalletConnectorByName.js +0 -15
  85. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  86. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  87. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  88. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  89. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  90. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  91. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  92. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  93. package/src/utils/isFunction/index.d.ts +0 -1
  94. package/src/utils/isFunction/isFunction.cjs +0 -8
  95. package/src/utils/isFunction/isFunction.d.ts +0 -1
  96. package/src/utils/isFunction/isFunction.js +0 -4
  97. package/src/utils/isMobile.cjs +0 -54
  98. package/src/utils/isMobile.d.ts +0 -13
  99. package/src/utils/isMobile.js +0 -46
  100. package/src/utils/isSameAddress/index.d.ts +0 -1
  101. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  102. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  103. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  104. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  105. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  106. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  107. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  108. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  109. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  110. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  111. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  112. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  113. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  114. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  115. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  116. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  117. package/src/utils/logger.cjs +0 -9
  118. package/src/utils/logger.d.ts +0 -2
  119. package/src/utils/logger.js +0 -5
  120. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  121. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  122. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  123. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  124. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  125. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  126. package/src/utils/shouldLowercaseAddress.js +0 -7
  127. package/src/utils/walletConnect.cjs +0 -31
  128. package/src/utils/walletConnect.d.ts +0 -5
  129. package/src/utils/walletConnect.js +0 -27
  130. package/src/wallets/ProviderLookup.cjs +0 -18
  131. package/src/wallets/ProviderLookup.d.ts +0 -4
  132. package/src/wallets/ProviderLookup.js +0 -14
  133. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  134. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  135. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  136. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  137. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  138. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  139. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  140. package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -250
  141. package/src/wallets/clients/walletConnect/walletConnect.js +0 -233
  142. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  143. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  144. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  145. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  146. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -22
  147. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  148. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -207
  149. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -38
  150. package/src/wallets/ethereum/EthWalletConnector.js +0 -203
  151. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  152. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  153. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  154. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  155. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  156. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  157. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  158. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  159. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
  160. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  161. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
  162. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  163. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
  164. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  165. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
  166. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  167. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -177
  168. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -54
  169. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -173
  170. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  171. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  172. package/src/wallets/ethereum/coinbase.cjs +0 -66
  173. package/src/wallets/ethereum/coinbase.d.ts +0 -25
  174. package/src/wallets/ethereum/coinbase.js +0 -64
  175. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  176. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  177. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  178. package/src/wallets/ethereum/evm-network.cjs +0 -20
  179. package/src/wallets/ethereum/evm-network.d.ts +0 -6
  180. package/src/wallets/ethereum/evm-network.js +0 -16
  181. package/src/wallets/ethereum/fortmatic.cjs +0 -76
  182. package/src/wallets/ethereum/fortmatic.d.ts +0 -25
  183. package/src/wallets/ethereum/fortmatic.js +0 -70
  184. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  185. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  186. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  187. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  188. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  189. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  190. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  191. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  192. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  193. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  194. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  195. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  196. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  197. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  198. package/src/wallets/ethereum/injected/Frame.js +0 -11
  199. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  200. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  201. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  202. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  203. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  204. package/src/wallets/ethereum/injected/Opera.js +0 -11
  205. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  206. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  207. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  208. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  209. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  210. package/src/wallets/ethereum/injected/Trust.js +0 -11
  211. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  212. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  213. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  214. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  215. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  216. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  217. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  218. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  219. package/src/wallets/ethereum/meta-mask.js +0 -61
  220. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -22
  221. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -9
  222. package/src/wallets/getMobileOrInjectedWallet.js +0 -18
  223. package/src/wallets/getWalletConnectConnector.cjs +0 -16
  224. package/src/wallets/getWalletConnectConnector.d.ts +0 -5
  225. package/src/wallets/getWalletConnectConnector.js +0 -12
  226. package/src/wallets/walletConnect/index.d.ts +0 -2
  227. package/src/wallets/walletConnect/walletConnect.cjs +0 -133
  228. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  229. package/src/wallets/walletConnect/walletConnect.js +0 -127
  230. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  231. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  232. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  233. package/src/wallets/walletConnect/zerion.d.ts +0 -6
@@ -1,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.name === name);
11
- }
12
- else if (chainId) {
13
- return networks.find((network) => network.chainId === chainId);
14
- }
15
- else {
16
- return networks.find((network) => network.name === name);
17
- }
18
- };
19
-
20
- exports.findEvmNetwork = findEvmNetwork;
@@ -1,6 +0,0 @@
1
- import { EvmNetwork } from '@dynamic-labs/types';
2
- export declare const findEvmNetwork: ({ chainId, name, networks, }: {
3
- chainId?: number | undefined;
4
- name?: string | undefined;
5
- networks: EvmNetwork[];
6
- }) => 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.name === name);
7
- }
8
- else if (chainId) {
9
- return networks.find((network) => network.chainId === chainId);
10
- }
11
- else {
12
- return networks.find((network) => network.name === name);
13
- }
14
- };
15
-
16
- export { findEvmNetwork };
@@ -1,76 +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(_a) {
17
- var { apiKey } = _a, props = tslib.__rest(_a, ["apiKey"]);
18
- super(props);
19
- this.name = 'Fortmatic';
20
- this.supportedChains = ['ETH', 'EVM'];
21
- this.connectedChain = 'EVM';
22
- this.canConnectViaCustodialService = true;
23
- this.ethProviderHelper = new ethProviderHelper.EthProviderHelper();
24
- this.apiKey = apiKey;
25
- }
26
- getFortmaticProvider() {
27
- const fm = new FortmaticClient__default["default"](this.apiKey);
28
- return fm.getProvider();
29
- }
30
- getWeb3Provider() {
31
- const provider = new ethers.ethers.providers.Web3Provider(this.getFortmaticProvider());
32
- return provider;
33
- }
34
- fetchPublicAddress() {
35
- var _a;
36
- return tslib.__awaiter(this, void 0, void 0, function* () {
37
- const fmProvider = this.getFortmaticProvider();
38
- try {
39
- const [address] = yield fmProvider.enable();
40
- return address;
41
- }
42
- catch (error) {
43
- 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'))) {
44
- error.code = 4001; // hack the error code to be the same as Metamask
45
- }
46
- throw error;
47
- }
48
- });
49
- }
50
- signMessage(messageToSign) {
51
- return tslib.__awaiter(this, void 0, void 0, function* () {
52
- const signer = this.getWeb3Provider().getSigner();
53
- const signedMessage = yield signer.signMessage(messageToSign);
54
- logger.logger.debug('signedMessage:', signedMessage);
55
- return signedMessage;
56
- });
57
- }
58
- proveOwnership(messageToSign) {
59
- return tslib.__awaiter(this, void 0, void 0, function* () {
60
- return this.signMessage(messageToSign);
61
- });
62
- }
63
- endSession() {
64
- return tslib.__awaiter(this, void 0, void 0, function* () {
65
- const fm = new FortmaticClient__default["default"](this.apiKey);
66
- fm.user.logout();
67
- });
68
- }
69
- providerSwitchNetwork() {
70
- return tslib.__awaiter(this, void 0, void 0, function* () {
71
- throw new errors.DynamicError('Not supported');
72
- });
73
- }
74
- }
75
-
76
- module.exports = Fortmatic;
@@ -1,25 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { Chain } from '@dynamic-labs/wallet-connector-core';
3
- import { EthProviderHelper } from './ethProviderHelper';
4
- import { EthWalletConnector, EthWalletConnectorOpts } from './EthWalletConnector';
5
- type FortmaticOpts = EthWalletConnectorOpts & {
6
- apiKey: string;
7
- };
8
- declare class Fortmatic extends EthWalletConnector {
9
- name: string;
10
- supportedChains: Chain[];
11
- connectedChain: Chain;
12
- canConnectViaCustodialService: boolean;
13
- ethProviderHelper: EthProviderHelper;
14
- publicAddress: string | undefined;
15
- private apiKey;
16
- constructor({ apiKey, ...props }: FortmaticOpts);
17
- getFortmaticProvider(): import("fortmatic/dist/cjs/src/core/fm-provider").FmProvider;
18
- getWeb3Provider(): ethers.providers.Web3Provider;
19
- fetchPublicAddress(): Promise<string | undefined>;
20
- signMessage(messageToSign: string): Promise<string | undefined>;
21
- proveOwnership(messageToSign: string): Promise<string | undefined>;
22
- endSession(): Promise<void>;
23
- providerSwitchNetwork(): Promise<void>;
24
- }
25
- export default Fortmatic;
@@ -1,70 +0,0 @@
1
- import { __rest, __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(_a) {
11
- var { apiKey } = _a, props = __rest(_a, ["apiKey"]);
12
- super(props);
13
- this.name = 'Fortmatic';
14
- this.supportedChains = ['ETH', 'EVM'];
15
- this.connectedChain = 'EVM';
16
- this.canConnectViaCustodialService = true;
17
- this.ethProviderHelper = new EthProviderHelper();
18
- this.apiKey = apiKey;
19
- }
20
- getFortmaticProvider() {
21
- const fm = new FortmaticClient(this.apiKey);
22
- return fm.getProvider();
23
- }
24
- getWeb3Provider() {
25
- const provider = new ethers.providers.Web3Provider(this.getFortmaticProvider());
26
- return provider;
27
- }
28
- fetchPublicAddress() {
29
- var _a;
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const fmProvider = this.getFortmaticProvider();
32
- try {
33
- const [address] = yield fmProvider.enable();
34
- return address;
35
- }
36
- catch (error) {
37
- 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'))) {
38
- error.code = 4001; // hack the error code to be the same as Metamask
39
- }
40
- throw error;
41
- }
42
- });
43
- }
44
- signMessage(messageToSign) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const signer = this.getWeb3Provider().getSigner();
47
- const signedMessage = yield signer.signMessage(messageToSign);
48
- logger.debug('signedMessage:', signedMessage);
49
- return signedMessage;
50
- });
51
- }
52
- proveOwnership(messageToSign) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- return this.signMessage(messageToSign);
55
- });
56
- }
57
- endSession() {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const fm = new FortmaticClient(this.apiKey);
60
- fm.user.logout();
61
- });
62
- }
63
- providerSwitchNetwork() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- throw new DynamicError('Not supported');
66
- });
67
- }
68
- }
69
-
70
- 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 };