@dynamic-labs/multi-wallet 0.17.0-RC.1 → 0.17.0-RC.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/package.json +11 -14
  3. package/src/index.cjs +0 -64
  4. package/src/index.d.ts +0 -15
  5. package/src/index.js +1 -20
  6. package/src/multi-wallet.cjs +45 -155
  7. package/src/multi-wallet.d.ts +0 -3
  8. package/src/multi-wallet.js +43 -152
  9. package/src/types.d.ts +9 -49
  10. package/src/utils/convertors.cjs +0 -7
  11. package/src/utils/convertors.d.ts +0 -1
  12. package/src/utils/convertors.js +1 -7
  13. package/src/utils/getApiProviders.cjs +15 -0
  14. package/src/utils/getApiProviders.d.ts +10 -0
  15. package/src/utils/getApiProviders.js +11 -0
  16. package/src/utils/message.cjs +3 -4
  17. package/src/utils/message.d.ts +2 -2
  18. package/src/utils/message.js +1 -2
  19. package/src/wallets/constants.cjs +0 -2
  20. package/src/wallets/constants.js +1 -2
  21. package/src/wallets/cosmos/KeplrWalletConnect.cjs +21 -21
  22. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +11 -7
  23. package/src/wallets/cosmos/KeplrWalletConnect.js +13 -13
  24. package/src/wallets/cosmos/KeplrWalletConnector.cjs +21 -6
  25. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +10 -6
  26. package/src/wallets/cosmos/KeplrWalletConnector.js +21 -6
  27. package/src/wallets/{clients/walletConnect/walletConnect.cjs → cosmos/wcClient.lib.cjs} +38 -101
  28. package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -10
  29. package/src/wallets/{clients/walletConnect/walletConnect.js → cosmos/wcClient.lib.js} +36 -97
  30. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  31. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  32. package/src/wallets/flow/lilico.cjs +2 -2
  33. package/src/wallets/flow/lilico.js +1 -1
  34. package/src/wallets/starknet/braavos.cjs +2 -2
  35. package/src/wallets/starknet/braavos.js +1 -1
  36. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  37. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  38. package/src/wallets/window.d.ts +0 -77
  39. package/src/errors.cjs +0 -65
  40. package/src/errors.d.ts +0 -30
  41. package/src/errors.js +0 -53
  42. package/src/rpcProviders.cjs +0 -76
  43. package/src/rpcProviders.d.ts +0 -5
  44. package/src/rpcProviders.js +0 -69
  45. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  46. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  47. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  48. package/src/utils/CancellablePromise/index.d.ts +0 -1
  49. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  50. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  51. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  52. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  53. package/src/utils/encoding.cjs +0 -18
  54. package/src/utils/encoding.d.ts +0 -4
  55. package/src/utils/encoding.js +0 -12
  56. package/src/utils/extractNonce.cjs +0 -13
  57. package/src/utils/extractNonce.d.ts +0 -1
  58. package/src/utils/extractNonce.js +0 -9
  59. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  60. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  61. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  62. package/src/utils/getChainInfo/index.d.ts +0 -1
  63. package/src/utils/getWalletConnectorByName.cjs +0 -19
  64. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  65. package/src/utils/getWalletConnectorByName.js +0 -15
  66. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  67. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  68. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  69. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  70. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  71. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  72. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  73. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  74. package/src/utils/isFunction/index.d.ts +0 -1
  75. package/src/utils/isFunction/isFunction.cjs +0 -8
  76. package/src/utils/isFunction/isFunction.d.ts +0 -1
  77. package/src/utils/isFunction/isFunction.js +0 -4
  78. package/src/utils/isMobile.cjs +0 -54
  79. package/src/utils/isMobile.d.ts +0 -13
  80. package/src/utils/isMobile.js +0 -46
  81. package/src/utils/isSameAddress/index.d.ts +0 -1
  82. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  83. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  84. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  85. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  86. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  87. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  88. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  89. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  90. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  91. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  92. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  93. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  94. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  95. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  96. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  97. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  98. package/src/utils/localStorageAsync.cjs +0 -28
  99. package/src/utils/localStorageAsync.d.ts +0 -3
  100. package/src/utils/localStorageAsync.js +0 -22
  101. package/src/utils/logger.cjs +0 -9
  102. package/src/utils/logger.d.ts +0 -2
  103. package/src/utils/logger.js +0 -5
  104. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  105. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  106. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  107. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  108. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  109. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  110. package/src/utils/shouldLowercaseAddress.js +0 -7
  111. package/src/utils/walletConnect.cjs +0 -30
  112. package/src/utils/walletConnect.d.ts +0 -4
  113. package/src/utils/walletConnect.js +0 -26
  114. package/src/wallets/ProviderLookup.cjs +0 -18
  115. package/src/wallets/ProviderLookup.d.ts +0 -4
  116. package/src/wallets/ProviderLookup.js +0 -14
  117. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +0 -149
  118. package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
  119. package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
  120. package/src/wallets/algorand/myalgoSigner.cjs +0 -24
  121. package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
  122. package/src/wallets/algorand/myalgoSigner.js +0 -20
  123. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  124. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  125. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  126. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  127. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  128. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  129. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  130. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  131. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  132. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  133. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  134. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
  135. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  136. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
  137. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
  138. package/src/wallets/ethereum/EthWalletConnector.js +0 -187
  139. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  140. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  141. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  142. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  143. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  144. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  145. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  146. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  147. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -102
  148. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  149. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
  150. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  151. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
  152. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  153. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
  154. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  155. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
  156. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
  157. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
  158. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  159. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  160. package/src/wallets/ethereum/coinbase.cjs +0 -65
  161. package/src/wallets/ethereum/coinbase.d.ts +0 -26
  162. package/src/wallets/ethereum/coinbase.js +0 -63
  163. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  164. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  165. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  166. package/src/wallets/ethereum/evm-network.cjs +0 -20
  167. package/src/wallets/ethereum/evm-network.d.ts +0 -22
  168. package/src/wallets/ethereum/evm-network.js +0 -16
  169. package/src/wallets/ethereum/fortmatic.cjs +0 -75
  170. package/src/wallets/ethereum/fortmatic.d.ts +0 -26
  171. package/src/wallets/ethereum/fortmatic.js +0 -69
  172. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  173. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  174. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  175. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  176. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  177. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  178. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  179. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  180. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  181. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  182. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  183. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  184. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  185. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  186. package/src/wallets/ethereum/injected/Frame.js +0 -11
  187. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  188. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  189. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  190. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  191. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  192. package/src/wallets/ethereum/injected/Opera.js +0 -11
  193. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  194. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  195. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  196. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  197. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  198. package/src/wallets/ethereum/injected/Trust.js +0 -11
  199. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  200. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  201. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  202. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  203. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  204. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  205. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  206. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  207. package/src/wallets/ethereum/meta-mask.js +0 -61
  208. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  209. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
  210. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
  211. package/src/wallets/getWalletConnectConnector.cjs +0 -19
  212. package/src/wallets/getWalletConnectConnector.d.ts +0 -8
  213. package/src/wallets/getWalletConnectConnector.js +0 -15
  214. package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
  215. package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
  216. package/src/wallets/solana/CoinbaseSolana.js +0 -52
  217. package/src/wallets/solana/glow.cjs +0 -51
  218. package/src/wallets/solana/glow.d.ts +0 -16
  219. package/src/wallets/solana/glow.js +0 -49
  220. package/src/wallets/solana/injected/BraveSol.cjs +0 -18
  221. package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
  222. package/src/wallets/solana/injected/BraveSol.js +0 -16
  223. package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
  224. package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
  225. package/src/wallets/solana/injected/ExodusSol.js +0 -10
  226. package/src/wallets/solana/phantom-ledger.cjs +0 -71
  227. package/src/wallets/solana/phantom-ledger.d.ts +0 -16
  228. package/src/wallets/solana/phantom-ledger.js +0 -65
  229. package/src/wallets/solana/phantom.cjs +0 -74
  230. package/src/wallets/solana/phantom.d.ts +0 -17
  231. package/src/wallets/solana/phantom.js +0 -72
  232. package/src/wallets/solana/slope.cjs +0 -96
  233. package/src/wallets/solana/slope.d.ts +0 -27
  234. package/src/wallets/solana/slope.js +0 -94
  235. package/src/wallets/solana/solProviderHelper.cjs +0 -164
  236. package/src/wallets/solana/solProviderHelper.d.ts +0 -29
  237. package/src/wallets/solana/solProviderHelper.js +0 -160
  238. package/src/wallets/solana/solWalletConnector.cjs +0 -57
  239. package/src/wallets/solana/solWalletConnector.d.ts +0 -18
  240. package/src/wallets/solana/solWalletConnector.js +0 -53
  241. package/src/wallets/solana/solflare.cjs +0 -65
  242. package/src/wallets/solana/solflare.d.ts +0 -14
  243. package/src/wallets/solana/solflare.js +0 -63
  244. package/src/wallets/walletConnect/index.d.ts +0 -2
  245. package/src/wallets/walletConnect/walletConnect.cjs +0 -130
  246. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  247. package/src/wallets/walletConnect/walletConnect.js +0 -124
  248. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  249. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  250. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  251. package/src/wallets/walletConnect/zerion.d.ts +0 -8
@@ -1,59 +1,20 @@
1
1
  import { __awaiter } from 'tslib';
2
+ import { isEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
2
3
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
3
- import Phantom from './wallets/solana/phantom.js';
4
- import Coinbase from './wallets/ethereum/coinbase.js';
5
- import Slope from './wallets/solana/slope.js';
6
- import Solflare from './wallets/solana/solflare.js';
7
- import Glow from './wallets/solana/glow.js';
4
+ import { EmailOTPMagicWalletConnector, MagicSocialWalletConnector } from '@dynamic-labs/magic';
5
+ import { isMobile, isIPad, isIPhone } from '@dynamic-labs/utils';
6
+ import { EthereumWalletConnectors } from '@dynamic-labs/ethereum-all';
7
+ import { AlgorandWalletConnectors } from '@dynamic-labs/algorand-all';
8
+ import { SolanaWalletConnectors } from '@dynamic-labs/solana-all';
8
9
  import Blocto from './wallets/flow/blocto.js';
9
10
  import Dapper from './wallets/flow/dapper.js';
10
- import { isMobile, isIPad, isIPhone } from './utils/isMobile.js';
11
- import { fetchWalletConnectWallets } from './utils/walletConnect.js';
12
- import MyAlgoWalletConnector from './wallets/algorand/MyAlgoWalletConnector.js';
13
- import BraveEvm from './wallets/ethereum/injected/BraveEvm.js';
14
- import Opera from './wallets/ethereum/injected/Opera.js';
15
- import BraveSol from './wallets/solana/injected/BraveSol.js';
16
- import UnknownInjectedWallet from './wallets/ethereum/injected/UnknownInjectedWallet.js';
17
- import GameStop from './wallets/ethereum/injected/GameStop.js';
18
- import ExodusEvm from './wallets/ethereum/injected/ExodusEvm.js';
19
- import ExodusSol from './wallets/solana/injected/ExodusSol.js';
20
- import BloctoInjected from './wallets/ethereum/injected/BloctoInjected.js';
21
11
  import ArgentX from './wallets/starknet/argentx.js';
22
12
  import Braavos from './wallets/starknet/braavos.js';
23
- import BloctoEvm from './wallets/ethereum/BloctoEvm.js';
24
- import PhantomLedger from './wallets/solana/phantom-ledger.js';
25
- export { walletName as phantomLedgerWalletName } from './wallets/solana/phantom-ledger.js';
26
- import CoinbaseSolana from './wallets/solana/CoinbaseSolana.js';
27
- import Frame from './wallets/ethereum/injected/Frame.js';
28
- import Fortmatic from './wallets/ethereum/fortmatic.js';
29
13
  import Lilico from './wallets/flow/lilico.js';
30
- import { getWalletConnectConnector } from './wallets/getWalletConnectConnector.js';
31
- import Dawn from './wallets/ethereum/injected/Dawn.js';
32
- import PhantomEvm from './wallets/ethereum/injected/PhantomEvm.js';
33
- import 'magic-sdk';
34
- import 'ethers';
35
- import '@dynamic-labs/wallet-connector-core';
36
- import './utils/logger.js';
37
- import { EmailOTPMagicWalletConnector } from './wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js';
38
- import { MagicSocialWalletConnector } from './wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js';
39
- import { isEmailWalletConnector } from './utils/isEmailWalletConnector/isEmailWalletConnector.js';
40
- import { getKeplerConnector } from './wallets/cosmos/getKeplrConnector.js';
41
- import Zerion from './wallets/ethereum/injected/Zerion.js';
42
- import { getMobileOrInjectedWallet } from './wallets/getMobileOrInjectedWallet.js';
43
- import MetaMask from './wallets/ethereum/meta-mask.js';
44
- import Trust from './wallets/ethereum/injected/Trust.js';
14
+ import { KeplrWalletConnector } from './wallets/cosmos/KeplrWalletConnector.js';
15
+ import { getApiProviders } from './utils/getApiProviders.js';
45
16
 
46
17
  let wallets = [];
47
- // These wallets are either not supported or implement their
48
- // own WalletConnect connector
49
- const filteredWalletConnectWallets = [
50
- 'MetaMask',
51
- 'Gnosis Safe',
52
- 'Trust',
53
- 'lilico',
54
- 'Keplr',
55
- 'Zerion',
56
- ];
57
18
  const defaultWalletUiUtils = {
58
19
  enableInternalSign: () => {
59
20
  throw Error('enableInternalSign, not implemented');
@@ -65,106 +26,48 @@ const defaultWalletUiUtils = {
65
26
  throw Error('signMessage not implemented');
66
27
  },
67
28
  };
68
- const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, networkConfigurations, skipMemo, vendorCredentials, walletConnectProjectId, walletUiUtils, magicLinkApiKey, magicLinkConfig, } = {
69
- appLogoUrl: '',
70
- appName: '',
71
- isWalletConnectV2Enabled: false,
72
- networkConfigurations: { cosmos: [], evm: [], solana: [], starknet: [] },
73
- skipMemo: false,
74
- vendorCredentials: {},
75
- walletConnectProjectId: '',
76
- }) => __awaiter(void 0, void 0, void 0, function* () {
29
+ const getSupportedWallets = (args) => __awaiter(void 0, void 0, void 0, function* () {
30
+ var _a;
31
+ const { appLogoUrl = '', appName = '', chainRpcProviders, isWalletConnectV2Enabled = false, networkConfigurations = { cosmos: [], evm: [], solana: [], starknet: [] }, customerApiProviders = [], skipMemo = false, walletConnectProjectId = '', walletUiUtils = undefined, } = args;
77
32
  if (!skipMemo && wallets.length > 0) {
78
33
  return wallets;
79
34
  }
80
35
  const evmNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.evm) || [];
81
36
  const solanaNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.solana) || [];
82
37
  const cosmosNetworkConfigs = (networkConfigurations === null || networkConfigurations === void 0 ? void 0 : networkConfigurations.cosmos) || [];
83
- const walletConnectWallets = fetchWalletConnectWallets(evmNetworkConfigs, isWalletConnectV2Enabled);
84
- // temporary hack to filter out metamask, which currently has walletconnect
85
- // functionality built-in
86
- const filtered = walletConnectWallets.filter(({ name }) => !filteredWalletConnectWallets.includes(name));
38
+ const apiProviders = getApiProviders(customerApiProviders);
39
+ const opts = {
40
+ apiProviders,
41
+ appLogoUrl,
42
+ appName,
43
+ chainRpcProviders,
44
+ cosmosNetworks: cosmosNetworkConfigs,
45
+ evmNetworks: evmNetworkConfigs,
46
+ isWalletConnectV2Enabled,
47
+ projectId: walletConnectProjectId,
48
+ solNetworks: solanaNetworkConfigs,
49
+ walletUiUtils: walletUiUtils || defaultWalletUiUtils,
50
+ };
51
+ const importedWallets = [
52
+ ...EthereumWalletConnectors(opts),
53
+ ...AlgorandWalletConnectors(opts),
54
+ ...SolanaWalletConnectors(opts),
55
+ ].map((wallet) => new wallet(opts));
87
56
  const allWallets = [
88
- new Dawn({ evmNetworks: evmNetworkConfigs }),
89
- new Phantom({ solNetworks: solanaNetworkConfigs }),
90
- getMobileOrInjectedWallet({
91
- evmNetworks: evmNetworkConfigs,
92
- injectedWallet: new MetaMask({ evmNetworks: evmNetworkConfigs }),
93
- isWalletConnectV2: isWalletConnectV2Enabled,
94
- walletConnectName: 'MetaMask',
95
- }),
96
- getMobileOrInjectedWallet({
97
- evmNetworks: evmNetworkConfigs,
98
- injectedWallet: new Trust({ evmNetworks: evmNetworkConfigs }),
99
- isWalletConnectV2: isWalletConnectV2Enabled,
100
- walletConnectName: 'Trust',
101
- }),
102
- new PhantomEvm({ evmNetworks: evmNetworkConfigs }),
103
- new PhantomLedger({ solNetworks: solanaNetworkConfigs }),
104
- new Coinbase({
105
- appLogoUrl,
106
- appName,
107
- evmNetworks: evmNetworkConfigs,
108
- }),
109
- new Solflare({ solNetworks: solanaNetworkConfigs }),
110
- new Glow({ solNetworks: solanaNetworkConfigs }),
111
- new Slope({ solNetworks: solanaNetworkConfigs }),
112
- new Dapper({ appLogoUrl, appName }),
113
- new Blocto({ appLogoUrl, appName }),
114
- new BloctoEvm({ evmNetworks: evmNetworkConfigs }),
115
- new BloctoInjected({ evmNetworks: evmNetworkConfigs }),
116
- getWalletConnectConnector({
117
- evmNetworks: evmNetworkConfigs,
118
- isWalletConnectV2Enabled,
119
- projectId: walletConnectProjectId,
120
- }),
121
- new BraveSol({ solNetworks: solanaNetworkConfigs }),
122
- new BraveEvm({ evmNetworks: evmNetworkConfigs }),
123
- new UnknownInjectedWallet({ evmNetworks: evmNetworkConfigs }),
124
- new GameStop({ evmNetworks: evmNetworkConfigs }),
125
- new ExodusEvm({ evmNetworks: evmNetworkConfigs }),
126
- new ExodusSol({ solNetworks: solanaNetworkConfigs }),
127
- new Opera({ evmNetworks: evmNetworkConfigs }),
128
- ...(magicLinkApiKey
57
+ ...importedWallets,
58
+ new Dapper(opts),
59
+ new Blocto(opts),
60
+ ...(((_a = apiProviders.magicLink) === null || _a === void 0 ? void 0 : _a.providerProjectId)
129
61
  ? [
130
- new EmailOTPMagicWalletConnector({
131
- apiKey: magicLinkApiKey,
132
- config: magicLinkConfig,
133
- evmNetworks: evmNetworkConfigs,
134
- walletUiUtils: walletUiUtils || defaultWalletUiUtils,
135
- }),
136
- new MagicSocialWalletConnector({
137
- apiKey: magicLinkApiKey,
138
- config: magicLinkConfig,
139
- evmNetworks: evmNetworkConfigs,
140
- walletUiUtils: walletUiUtils || defaultWalletUiUtils,
141
- }),
62
+ new EmailOTPMagicWalletConnector(Object.assign({}, opts)),
63
+ new MagicSocialWalletConnector(Object.assign({}, opts)),
142
64
  ]
143
65
  : []),
144
- new MyAlgoWalletConnector(),
145
66
  new ArgentX(),
146
67
  new Braavos(),
147
- new CoinbaseSolana({ solNetworks: solanaNetworkConfigs }),
148
- new Frame({ evmNetworks: evmNetworkConfigs }),
149
- new Lilico({ appLogoUrl, appName }),
150
- getMobileOrInjectedWallet({
151
- evmNetworks: evmNetworkConfigs,
152
- injectedWallet: new Zerion({ evmNetworks: evmNetworkConfigs }),
153
- isWalletConnectV2: isWalletConnectV2Enabled,
154
- walletConnectName: 'Zerion',
155
- }),
156
- //TODO: https://linear.app/dynamic-labs/issue/DYN-2127/rename-evmnetworks-to-networks-across-the-application
157
- getKeplerConnector({ evmNetworks: cosmosNetworkConfigs }),
158
- ...((vendorCredentials === null || vendorCredentials === void 0 ? void 0 : vendorCredentials.fortmatic)
159
- ? [
160
- new Fortmatic({
161
- apiKey: vendorCredentials.fortmatic,
162
- evmNetworks: evmNetworkConfigs,
163
- }),
164
- ]
165
- : []),
166
- ...filtered,
167
- ];
68
+ new Lilico(opts),
69
+ new KeplrWalletConnector(opts),
70
+ ].map((wallet) => wallet.getMobileOrInstalledWallet());
168
71
  yield Promise.all(allWallets.map((wallet) => { var _a; return (_a = wallet.init) === null || _a === void 0 ? void 0 : _a.call(wallet); }));
169
72
  // Memoize the wallets
170
73
  const filteredWallets = filterWalletsForPlatform(allWallets);
@@ -193,20 +96,12 @@ const filterWalletsForPlatform = (wallets) => wallets.filter((wallet) => {
193
96
  return true;
194
97
  }
195
98
  else {
196
- return handleMobileWalletFilter(wallet, metadata);
99
+ return handleMobileWalletFilter(metadata);
197
100
  }
198
101
  });
199
- const handleMobileWalletFilter = (wallet, metadata) => {
102
+ const handleMobileWalletFilter = (metadata) => {
200
103
  if (!metadata.mobile)
201
104
  return false;
202
- /**
203
- * Custom check added with DYN-1489 for mobile version only:
204
- * it shows a WalletConnect listItem that wraps-up all the WalletConnect wallets
205
- * in a new wallet-list view.
206
- */
207
- if (wallet.isWalletConnect && wallet.name === 'WalletConnect') {
208
- return true;
209
- }
210
105
  /**
211
106
  * WalletConnect provides a "universal" and "native" deep link. They recommend using
212
107
  * the universal deep link over the native one due to UX differences, and our current
@@ -265,14 +160,10 @@ const getSupportedChainsForWalletConnector = (walletConnector) => {
265
160
  };
266
161
  const getEnabledWallets = (props) => __awaiter(void 0, void 0, void 0, function* () {
267
162
  const supportedWallets = yield getSupportedWallets(props.getSupportedWalletOpts);
268
- const isKeplrWalletEnabled = (wallet) => wallet.name.includes('Keplr') &&
269
- props.enabledNetworks.includes(wallet.networkId) &&
270
- wallet.isInstalledOnBrowser() === props.installed;
271
- const allEnabledWallets = supportedWallets.filter((wallet) => isKeplrWalletEnabled(wallet) ||
272
- (props.enabledChains.some((chain) => getSupportedChainsForWalletConnector(wallet).includes(chain)) &&
273
- wallet.isInstalledOnBrowser() === props.installed) ||
163
+ const allEnabledWallets = supportedWallets.filter((wallet) => (props.enabledChains.some((chain) => getSupportedChainsForWalletConnector(wallet).includes(chain)) &&
164
+ wallet.isInstalledOnBrowser() === props.installed) ||
274
165
  wallet.key === 'magiclink');
275
166
  return allEnabledWallets;
276
167
  });
277
168
 
278
- export { filteredWalletConnectWallets, getEnabledWallets, getSupportedChainsForWalletConnector, getSupportedWallets };
169
+ export { getEnabledWallets, getSupportedChainsForWalletConnector, getSupportedWallets };
package/src/types.d.ts CHANGED
@@ -1,58 +1,19 @@
1
- import { Connection } from '@solana/web3.js';
2
- import { ethers } from 'ethers';
3
- import { OAuthProvider } from '@magic-ext/oauth';
4
- import type { NetworkConfiguration } from '@dynamic-labs/sdk-api';
1
+ import type { Provider } from '@dynamic-labs/sdk-api';
5
2
  import { WalletConnector, Chain } from '@dynamic-labs/wallet-connector-core';
6
- import { EvmNetwork } from './wallets/ethereum/evm-network';
7
- import { MagicLinkConfig } from './wallets/ethereum/MagicConnector';
8
- export type VendorCredentials = {
9
- fortmatic?: string;
10
- };
11
- export type EvmRpcProvider = {
12
- chainId: number;
13
- chainName: string;
14
- provider: ethers.providers.JsonRpcProvider;
15
- };
16
- export type SolanaRpcProvider = {
17
- chainId?: number;
18
- chainName: string;
19
- provider: Connection;
20
- };
21
- export type RpcProviders = {
22
- evm?: EvmRpcProvider[];
23
- solana?: SolanaRpcProvider[];
24
- };
25
- export type NetworkConfigurationMap = {
26
- cosmos: EvmNetwork[] | undefined;
27
- evm: EvmNetwork[] | undefined;
28
- solana: NetworkConfiguration[] | undefined;
29
- starknet: NetworkConfiguration[] | undefined;
30
- };
3
+ import { NetworkConfigurationMap, WalletUiUtils } from '@dynamic-labs/types';
4
+ import { ChainRpcProviders } from '@dynamic-labs/rpc-providers';
31
5
  export type GetSupportedWalletsOpts = {
32
6
  appLogoUrl?: string;
33
7
  appName?: string;
34
- isWalletConnectV2Enabled: boolean;
35
- magicLinkApiKey?: string;
36
- magicLinkConfig?: MagicLinkConfig;
37
- networkConfigurations: NetworkConfigurationMap | undefined;
8
+ chainRpcProviders: typeof ChainRpcProviders;
9
+ customerApiProviders?: Provider[];
10
+ isWalletConnectV2Enabled?: boolean;
11
+ networkConfigurations?: NetworkConfigurationMap;
38
12
  skipMemo?: boolean;
39
- vendorCredentials?: VendorCredentials;
40
- walletConnectProjectId: string | undefined;
13
+ walletConnectProjectId?: string;
41
14
  walletUiUtils?: WalletUiUtils;
42
15
  };
43
- export type GetSupportedWallets = (opts?: GetSupportedWalletsOpts) => Promise<WalletConnector[]>;
44
- export type WalletUiUtils = {
45
- enableInternalSign: () => void;
46
- sendTransaction: (props: {
47
- handler: (transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest>) => Promise<ethers.providers.TransactionResponse>;
48
- provider: ethers.providers.Web3Provider;
49
- transaction: ethers.utils.Deferrable<ethers.providers.TransactionRequest>;
50
- }) => Promise<ethers.providers.TransactionResponse>;
51
- signMessage: (props: {
52
- handler: (message: string | ethers.utils.Bytes) => Promise<string>;
53
- message: string | ethers.utils.Bytes;
54
- }) => Promise<string>;
55
- };
16
+ export type GetSupportedWallets = (opts: GetSupportedWalletsOpts) => Promise<WalletConnector[]>;
56
17
  export type ChainInfo = {
57
18
  blockchainName: string;
58
19
  displayName: string;
@@ -63,4 +24,3 @@ export type ChainWihtIcon = {
63
24
  icon?: string;
64
25
  name: string | undefined;
65
26
  };
66
- export type SocialOAuthProvider = OAuthProvider;
@@ -4,12 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var constants = require('../wallets/constants.cjs');
6
6
 
7
- const bufferToBase64 = (buf) => {
8
- const binstr = Array.prototype.map
9
- .call(buf, (ch) => String.fromCharCode(ch))
10
- .join('');
11
- return btoa(binstr);
12
- };
13
7
  const defaultTypedData = Object.assign(Object.assign({}, constants.DEFAULT_STARKNET_TYPED_DATA_DOMAIN), { primaryType: 'Message', types: {
14
8
  Message: [
15
9
  {
@@ -39,5 +33,4 @@ const formatTypedDataMessage = (inputMessage, chainId = 'SN_MAIN') => {
39
33
  return Object.assign(Object.assign({}, defaultTypedData), { domain: Object.assign(Object.assign({}, defaultTypedData.domain), { chainId }), message });
40
34
  };
41
35
 
42
- exports.bufferToBase64 = bufferToBase64;
43
36
  exports.formatTypedDataMessage = formatTypedDataMessage;
@@ -1,3 +1,2 @@
1
1
  import { TypedData } from 'starknet/dist/utils/typedData';
2
- export declare const bufferToBase64: (buf: Uint8Array) => string;
3
2
  export declare const formatTypedDataMessage: (inputMessage: string, chainId?: 'SN_MAIN' | 'SN_GOERLI') => TypedData;
@@ -1,11 +1,5 @@
1
1
  import { DEFAULT_STARKNET_TYPED_DATA_DOMAIN } from '../wallets/constants.js';
2
2
 
3
- const bufferToBase64 = (buf) => {
4
- const binstr = Array.prototype.map
5
- .call(buf, (ch) => String.fromCharCode(ch))
6
- .join('');
7
- return btoa(binstr);
8
- };
9
3
  const defaultTypedData = Object.assign(Object.assign({}, DEFAULT_STARKNET_TYPED_DATA_DOMAIN), { primaryType: 'Message', types: {
10
4
  Message: [
11
5
  {
@@ -35,4 +29,4 @@ const formatTypedDataMessage = (inputMessage, chainId = 'SN_MAIN') => {
35
29
  return Object.assign(Object.assign({}, defaultTypedData), { domain: Object.assign(Object.assign({}, defaultTypedData.domain), { chainId }), message });
36
30
  };
37
31
 
38
- export { bufferToBase64, formatTypedDataMessage };
32
+ export { formatTypedDataMessage };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var sdkApi = require('@dynamic-labs/sdk-api');
6
+
7
+ const getApiProviders = (providers) => Object.values(sdkApi.ProviderEnum).reduce((acc, provider) => {
8
+ const foundProvider = providers.find((providerSetting) => providerSetting.provider === provider);
9
+ if (foundProvider) {
10
+ acc[provider] = foundProvider;
11
+ }
12
+ return acc;
13
+ }, {});
14
+
15
+ exports.getApiProviders = getApiProviders;
@@ -0,0 +1,10 @@
1
+ import { Provider, ProviderEnum } from '@dynamic-labs/sdk-api';
2
+ export declare const getApiProviders: (providers: Provider[]) => {
3
+ emailOnly?: Provider | undefined;
4
+ magicLink?: Provider | undefined;
5
+ google?: Provider | undefined;
6
+ facebook?: Provider | undefined;
7
+ twitter?: Provider | undefined;
8
+ discord?: Provider | undefined;
9
+ github?: Provider | undefined;
10
+ };
@@ -0,0 +1,11 @@
1
+ import { ProviderEnum } from '@dynamic-labs/sdk-api';
2
+
3
+ const getApiProviders = (providers) => Object.values(ProviderEnum).reduce((acc, provider) => {
4
+ const foundProvider = providers.find((providerSetting) => providerSetting.provider === provider);
5
+ if (foundProvider) {
6
+ acc[provider] = foundProvider;
7
+ }
8
+ return acc;
9
+ }, {});
10
+
11
+ export { getApiProviders };
@@ -3,15 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var utils = require('ethers/lib/utils');
6
- var logger = require('./logger.cjs');
7
- var getChainInfo = require('./getChainInfo/getChainInfo.cjs');
6
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
7
 
9
8
  const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, resources, }) => {
10
9
  var _a, _b;
11
10
  if (blockchain === 'STARK') {
12
11
  return nonce;
13
12
  }
14
- const blockchainName = (_b = (_a = getChainInfo.getChainInfo(blockchain)) === null || _a === void 0 ? void 0 : _a.blockchainName) !== null && _b !== void 0 ? _b : 'Ethereum';
13
+ const blockchainName = (_b = (_a = walletConnectorCore.getChainInfo(blockchain)) === null || _a === void 0 ? void 0 : _a.blockchainName) !== null && _b !== void 0 ? _b : 'Ethereum';
15
14
  // This format follows the sign-in with ethereum (SIWE) standard,
16
15
  // but we are using it also for non-ethereum wallets for now (eg. Solana)
17
16
  // for more context on format and fields, please see:
@@ -48,7 +47,7 @@ const getEip55Address = (publicKey, chainId) => {
48
47
  }
49
48
  }
50
49
  catch (err) {
51
- logger.logger.debug(`Error getting checksum, returning default ${publicKey}`);
50
+ walletConnectorCore.logger.debug(`Error getting checksum, returning default ${publicKey}`);
52
51
  }
53
52
  return publicKey;
54
53
  };
@@ -1,7 +1,7 @@
1
1
  import { Chain } from '@dynamic-labs/wallet-connector-core';
2
2
  export interface MessageParameters {
3
3
  blockchain: Chain;
4
- chainId?: number;
4
+ chainId?: number | string;
5
5
  domain: string;
6
6
  issuedAt?: string;
7
7
  nonce: string;
@@ -12,4 +12,4 @@ export interface MessageParameters {
12
12
  uri: string;
13
13
  }
14
14
  export declare const generateMessageToSign: ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt, statement, requestId, resources, }: MessageParameters) => string;
15
- export declare const getEip55Address: (publicKey: string, chainId?: number) => string;
15
+ export declare const getEip55Address: (publicKey: string, chainId?: number | string) => string;
@@ -1,6 +1,5 @@
1
1
  import { getAddress } from 'ethers/lib/utils.js';
2
- import { logger } from './logger.js';
3
- import { getChainInfo } from './getChainInfo/getChainInfo.js';
2
+ import { getChainInfo, logger } from '@dynamic-labs/wallet-connector-core';
4
3
 
5
4
  const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, resources, }) => {
6
5
  var _a, _b;
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const infuraId = '87939db78f824920ada5c872db3e56b8';
6
5
  const ETH_STARKNET_ADDRESS = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
7
6
  const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
8
7
  domain: {
@@ -13,4 +12,3 @@ const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
13
12
 
14
13
  exports.DEFAULT_STARKNET_TYPED_DATA_DOMAIN = DEFAULT_STARKNET_TYPED_DATA_DOMAIN;
15
14
  exports.ETH_STARKNET_ADDRESS = ETH_STARKNET_ADDRESS;
16
- exports.infuraId = infuraId;
@@ -1,4 +1,3 @@
1
- const infuraId = '87939db78f824920ada5c872db3e56b8';
2
1
  const ETH_STARKNET_ADDRESS = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
3
2
  const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
4
3
  domain: {
@@ -7,4 +6,4 @@ const DEFAULT_STARKNET_TYPED_DATA_DOMAIN = {
7
6
  },
8
7
  };
9
8
 
10
- export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN, ETH_STARKNET_ADDRESS, infuraId };
9
+ export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN, ETH_STARKNET_ADDRESS };
@@ -3,16 +3,14 @@
3
3
  var tslib = require('tslib');
4
4
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
5
5
  var walletBook = require('@dynamic-labs/wallet-book');
6
- var walletConnect = require('../clients/walletConnect/walletConnect.cjs');
7
- var isMobile = require('../../utils/isMobile.cjs');
8
- var logger = require('../../utils/logger.cjs');
6
+ var utils = require('@dynamic-labs/utils');
9
7
  var wcClient = require('./wcClient.cjs');
8
+ var wcClient_lib = require('./wcClient.lib.cjs');
10
9
 
11
10
  const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
12
11
  class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
13
- constructor({ evmNetworks }) {
14
- var _a;
15
- super();
12
+ constructor(props) {
13
+ super(props);
16
14
  this.name = 'Keplr';
17
15
  this.isWalletConnect = true;
18
16
  this.canConnectViaQrCode = true;
@@ -29,22 +27,24 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
29
27
  };
30
28
  this.supportedChains = ['COSMOS'];
31
29
  this.connectedChain = 'COSMOS';
32
- this.evmNetworks = evmNetworks;
30
+ this.evmNetworks = utils.parseEvmNetworks(props.cosmosNetworks);
33
31
  const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
34
32
  if (persistedNetworkId) {
35
33
  this.selectedNetworkId = Number(persistedNetworkId);
36
34
  }
37
35
  else {
38
- this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
36
+ this.selectedNetworkId =
37
+ (this.evmNetworks[0] && utils.parseChainId(this.evmNetworks[0].chainId)) ||
38
+ 401;
39
39
  }
40
40
  }
41
41
  get evmNetwork() {
42
42
  var _a;
43
- return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
43
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => utils.parseChainId(network.chainId) === this.selectedNetworkId);
44
44
  }
45
45
  get selectedNetwork() {
46
46
  var _a;
47
- return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
47
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => utils.parseChainId(network.networkId) === this.selectedNetworkId);
48
48
  }
49
49
  get lcdUrl() {
50
50
  var _a;
@@ -58,7 +58,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
58
58
  if (!this.selectedNetwork) {
59
59
  return 'osmosis-1';
60
60
  }
61
- return this.chainIdMap[this.selectedNetwork.chainId];
61
+ return this.chainIdMap[utils.parseChainId(this.selectedNetwork.chainId)];
62
62
  }
63
63
  getProvider() {
64
64
  if (!this._keplrInstance) {
@@ -70,7 +70,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
70
70
  if (this.client) {
71
71
  return this.client;
72
72
  }
73
- this.client = walletConnect.initClient(this.key, this.clientOptions);
73
+ this.client = wcClient_lib.initClient(this.key, this.clientOptions);
74
74
  return this.client;
75
75
  }
76
76
  getNetwork() {
@@ -87,7 +87,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
87
87
  localStorage.setItem(DYNAMIC_KEPLR_NETWORK_ID, networkChainId.toString());
88
88
  }
89
89
  catch (e) {
90
- logger.logger.error(e);
90
+ walletConnectorCore.logger.error(e);
91
91
  }
92
92
  });
93
93
  }
@@ -115,7 +115,7 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
115
115
  return tslib.__awaiter(this, void 0, void 0, function* () {
116
116
  const client = this.getClient();
117
117
  const keplr = this.getProvider();
118
- return walletConnect.fetchWalletConnectCosmosPublicAddress(walletBook.getWalletBookWallet(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
118
+ return wcClient_lib.fetchWalletConnectCosmosPublicAddress(walletBook.getWalletBookWallet(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
119
119
  var _a;
120
120
  payload.params[0].chainId = this.selectedNetworkId;
121
121
  (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
@@ -138,14 +138,14 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
138
138
  return balance.toString();
139
139
  }
140
140
  catch (e) {
141
- logger.logger.error(e);
141
+ walletConnectorCore.logger.error(e);
142
142
  return '0';
143
143
  }
144
144
  });
145
145
  }
146
146
  endSession() {
147
147
  return tslib.__awaiter(this, void 0, void 0, function* () {
148
- walletConnect.killWalletConnectSession(this.getClient());
148
+ wcClient_lib.killWalletConnectSession(this.getClient());
149
149
  });
150
150
  }
151
151
  getConnectedAccounts() {
@@ -159,11 +159,11 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
159
159
  getDeepLink() {
160
160
  var _a;
161
161
  const wallet = walletBook.getWalletBookWallet(this.name);
162
- if (!isMobile.isMobile() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
162
+ if (!utils.isMobile() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
163
163
  return undefined;
164
164
  }
165
- return walletConnect.getDeepLink(this.getClient().uri, wallet, {
166
- removeWCUri: isMobile.isIOS() && this.key === 'cryptocom',
165
+ return wcClient_lib.getDeepLink(this.getClient().uri, wallet, {
166
+ removeWCUri: utils.isIOS() && this.key === 'cryptocom',
167
167
  });
168
168
  }
169
169
  getRpcProvider() {
@@ -179,14 +179,14 @@ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
179
179
  return this.getProvider();
180
180
  }
181
181
  setupEventListeners(listeners) {
182
- return walletConnect.setupWalletConnectEventListeners({
182
+ wcClient_lib.setupWalletConnectEventListeners({
183
183
  onAccountChange: listeners.onAccountChange,
184
184
  onChainChange: listeners.onChainChange,
185
185
  onDisconnect: listeners.onDisconnect,
186
186
  }, this.getClient());
187
187
  }
188
188
  teardownEventListeners() {
189
- walletConnect.teardownWalletConnectEventListeners(this.getClient());
189
+ wcClient_lib.teardownWalletConnectEventListeners(this.getClient());
190
190
  }
191
191
  supportsNetworkSwitching() {
192
192
  return true;
@@ -1,13 +1,17 @@
1
1
  import Client from '@walletconnect/client';
2
2
  import { OfflineAminoSigner } from '@keplr-wallet/types';
3
3
  import { Chain, FetchPublicAddressOpts, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
- import { EvmNetwork } from '../ethereum/evm-network';
5
- import { SwitchNetworkOps } from '../ethereum/EthWalletConnector';
4
+ import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
6
5
  import { KeplrWalletConnectV1 } from './wcClient';
6
+ export type KeplrWalletConnectProps = {
7
+ cosmosNetworks: GenericNetwork[];
8
+ };
9
+ export type SwitchNetworkOps = {
10
+ networkChainId?: number;
11
+ networkName?: string;
12
+ };
7
13
  declare class KeplrWalletConnect extends WalletConnectorBase {
8
- constructor({ evmNetworks }: {
9
- evmNetworks: EvmNetwork[];
10
- });
14
+ constructor(props: KeplrWalletConnectProps);
11
15
  name: string;
12
16
  isWalletConnect: boolean;
13
17
  canConnectViaQrCode: boolean;
@@ -22,7 +26,7 @@ declare class KeplrWalletConnect extends WalletConnectorBase {
22
26
  connectedChain: Chain;
23
27
  _keplrInstance: KeplrWalletConnectV1 | undefined;
24
28
  get evmNetwork(): EvmNetwork | undefined;
25
- get selectedNetwork(): EvmNetwork | undefined;
29
+ get selectedNetwork(): GenericNetwork | undefined;
26
30
  get lcdUrl(): string | undefined;
27
31
  get denom(): string | undefined;
28
32
  get chainId(): string;
@@ -39,7 +43,7 @@ declare class KeplrWalletConnect extends WalletConnectorBase {
39
43
  getRpcProvider(): Promise<unknown>;
40
44
  getSigner(): Promise<OfflineAminoSigner | undefined>;
41
45
  getWeb3Provider(): KeplrWalletConnectV1 | undefined;
42
- setupEventListeners(listeners: WalletEventListeners): () => void;
46
+ setupEventListeners(listeners: WalletEventListeners): void;
43
47
  teardownEventListeners(): void;
44
48
  supportsNetworkSwitching(): boolean;
45
49
  }