@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,16 +1,14 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
2
+ import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
3
3
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
4
- import { initClient, fetchWalletConnectCosmosPublicAddress, killWalletConnectSession, getDeepLink, setupWalletConnectEventListeners, teardownWalletConnectEventListeners } from '../clients/walletConnect/walletConnect.js';
5
- import { isMobile, isIOS } from '../../utils/isMobile.js';
6
- import { logger } from '../../utils/logger.js';
4
+ import { parseEvmNetworks, parseChainId, isMobile, isIOS } from '@dynamic-labs/utils';
7
5
  import { KeplrWalletConnectV1 } from './wcClient.js';
6
+ import { initClient, fetchWalletConnectCosmosPublicAddress, killWalletConnectSession, getDeepLink, setupWalletConnectEventListeners, teardownWalletConnectEventListeners } from './wcClient.lib.js';
8
7
 
9
8
  const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
10
9
  class KeplrWalletConnect extends WalletConnectorBase {
11
- constructor({ evmNetworks }) {
12
- var _a;
13
- super();
10
+ constructor(props) {
11
+ super(props);
14
12
  this.name = 'Keplr';
15
13
  this.isWalletConnect = true;
16
14
  this.canConnectViaQrCode = true;
@@ -27,22 +25,24 @@ class KeplrWalletConnect extends WalletConnectorBase {
27
25
  };
28
26
  this.supportedChains = ['COSMOS'];
29
27
  this.connectedChain = 'COSMOS';
30
- this.evmNetworks = evmNetworks;
28
+ this.evmNetworks = parseEvmNetworks(props.cosmosNetworks);
31
29
  const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
32
30
  if (persistedNetworkId) {
33
31
  this.selectedNetworkId = Number(persistedNetworkId);
34
32
  }
35
33
  else {
36
- this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
34
+ this.selectedNetworkId =
35
+ (this.evmNetworks[0] && parseChainId(this.evmNetworks[0].chainId)) ||
36
+ 401;
37
37
  }
38
38
  }
39
39
  get evmNetwork() {
40
40
  var _a;
41
- return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
41
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => parseChainId(network.chainId) === this.selectedNetworkId);
42
42
  }
43
43
  get selectedNetwork() {
44
44
  var _a;
45
- return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
45
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => parseChainId(network.networkId) === this.selectedNetworkId);
46
46
  }
47
47
  get lcdUrl() {
48
48
  var _a;
@@ -56,7 +56,7 @@ class KeplrWalletConnect extends WalletConnectorBase {
56
56
  if (!this.selectedNetwork) {
57
57
  return 'osmosis-1';
58
58
  }
59
- return this.chainIdMap[this.selectedNetwork.chainId];
59
+ return this.chainIdMap[parseChainId(this.selectedNetwork.chainId)];
60
60
  }
61
61
  getProvider() {
62
62
  if (!this._keplrInstance) {
@@ -177,7 +177,7 @@ class KeplrWalletConnect extends WalletConnectorBase {
177
177
  return this.getProvider();
178
178
  }
179
179
  setupEventListeners(listeners) {
180
- return setupWalletConnectEventListeners({
180
+ setupWalletConnectEventListeners({
181
181
  onAccountChange: listeners.onAccountChange,
182
182
  onChainChange: listeners.onChainChange,
183
183
  onDisconnect: listeners.onDisconnect,
@@ -4,14 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
7
- var logger = require('../../utils/logger.cjs');
7
+ var utils = require('@dynamic-labs/utils');
8
+ var KeplrWalletConnect = require('./KeplrWalletConnect.cjs');
8
9
 
9
10
  const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
10
11
  class KeplrWalletConnector extends walletConnectorCore.WalletConnectorBase {
11
- constructor({ evmNetworks }) {
12
- super();
12
+ getMobileOrInstalledWallet() {
13
+ if (this.isInstalledOnBrowser()) {
14
+ return this;
15
+ }
16
+ else {
17
+ return new KeplrWalletConnect(this.constructorProps);
18
+ }
19
+ }
20
+ constructor(props) {
21
+ super(props);
13
22
  this.switchNetworkOnlyFromWallet = true;
14
- this.selectedNetworkId = 401;
23
+ this._selectedNetworkId = 401;
15
24
  this.name = 'Keplr';
16
25
  this.connectedChain = 'COSMOS';
17
26
  this.supportedChains = ['COSMOS'];
@@ -20,13 +29,19 @@ class KeplrWalletConnector extends walletConnectorCore.WalletConnectorBase {
20
29
  402: 'axelar-dojo-1',
21
30
  403: 'osmosis-1',
22
31
  };
23
- this.evmNetworks = evmNetworks;
32
+ this.evmNetworks = utils.parseEvmNetworks(props.cosmosNetworks);
24
33
  this._handleAccountChange = this._handleAccountChange.bind(this);
25
34
  const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
26
35
  if (persistedNetworkId) {
27
36
  this.selectedNetworkId = Number(persistedNetworkId);
28
37
  }
29
38
  }
39
+ get selectedNetworkId() {
40
+ return this._selectedNetworkId;
41
+ }
42
+ set selectedNetworkId(networkId) {
43
+ this._selectedNetworkId = utils.parseChainId(networkId);
44
+ }
30
45
  getWeb3Provider() {
31
46
  return this.keplr;
32
47
  }
@@ -175,7 +190,7 @@ class KeplrWalletConnector extends walletConnectorCore.WalletConnectorBase {
175
190
  return balance.toString();
176
191
  }
177
192
  catch (e) {
178
- logger.logger.error(e);
193
+ walletConnectorCore.logger.error(e);
179
194
  return '0';
180
195
  }
181
196
  });
@@ -1,7 +1,7 @@
1
1
  import { Keplr as KeplrWallet } from '@keplr-wallet/types';
2
2
  import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { SwitchNetworkOps } from '../ethereum/EthWalletConnector';
4
- import { EvmNetwork } from '../ethereum/evm-network';
3
+ import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
4
+ import KeplrWalletConnect, { SwitchNetworkOps } from './KeplrWalletConnect';
5
5
  export interface IFetchBalanceResponse {
6
6
  balances: IFetchBalanceBalance[];
7
7
  pagination: IFetchBalancePagination;
@@ -14,17 +14,21 @@ export interface IFetchBalancePagination {
14
14
  next_key: any;
15
15
  total: string;
16
16
  }
17
+ export type KeplrWalletConnectorProps = {
18
+ cosmosNetworks: GenericNetwork[];
19
+ };
17
20
  export declare class KeplrWalletConnector extends WalletConnectorBase {
18
21
  evmNetworks: EvmNetwork[];
19
22
  switchNetworkOnlyFromWallet: boolean;
20
- selectedNetworkId: number;
23
+ private _selectedNetworkId;
21
24
  name: string;
22
25
  connectedChain: Chain;
23
26
  supportedChains: Chain[];
24
27
  chainIdMap: Record<number, string>;
25
- constructor({ evmNetworks }: {
26
- evmNetworks: EvmNetwork[];
27
- });
28
+ getMobileOrInstalledWallet(): this | KeplrWalletConnect;
29
+ constructor(props: KeplrWalletConnectorProps);
30
+ get selectedNetworkId(): number;
31
+ set selectedNetworkId(networkId: number);
28
32
  getWeb3Provider(): KeplrWallet;
29
33
  getDeepLink(): string | undefined;
30
34
  get selectedNetwork(): EvmNetwork | undefined;
@@ -1,13 +1,22 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
- import { logger } from '../../utils/logger.js';
2
+ import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
3
+ import { parseEvmNetworks, parseChainId } from '@dynamic-labs/utils';
4
+ import KeplrWalletConnect from './KeplrWalletConnect.js';
4
5
 
5
6
  const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_network_id';
6
7
  class KeplrWalletConnector extends WalletConnectorBase {
7
- constructor({ evmNetworks }) {
8
- super();
8
+ getMobileOrInstalledWallet() {
9
+ if (this.isInstalledOnBrowser()) {
10
+ return this;
11
+ }
12
+ else {
13
+ return new KeplrWalletConnect(this.constructorProps);
14
+ }
15
+ }
16
+ constructor(props) {
17
+ super(props);
9
18
  this.switchNetworkOnlyFromWallet = true;
10
- this.selectedNetworkId = 401;
19
+ this._selectedNetworkId = 401;
11
20
  this.name = 'Keplr';
12
21
  this.connectedChain = 'COSMOS';
13
22
  this.supportedChains = ['COSMOS'];
@@ -16,13 +25,19 @@ class KeplrWalletConnector extends WalletConnectorBase {
16
25
  402: 'axelar-dojo-1',
17
26
  403: 'osmosis-1',
18
27
  };
19
- this.evmNetworks = evmNetworks;
28
+ this.evmNetworks = parseEvmNetworks(props.cosmosNetworks);
20
29
  this._handleAccountChange = this._handleAccountChange.bind(this);
21
30
  const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
22
31
  if (persistedNetworkId) {
23
32
  this.selectedNetworkId = Number(persistedNetworkId);
24
33
  }
25
34
  }
35
+ get selectedNetworkId() {
36
+ return this._selectedNetworkId;
37
+ }
38
+ set selectedNetworkId(networkId) {
39
+ this._selectedNetworkId = parseChainId(networkId);
40
+ }
26
41
  getWeb3Provider() {
27
42
  return this.keplr;
28
43
  }
@@ -4,9 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var Client = require('@walletconnect/client');
7
- var isMobile = require('../../../utils/isMobile.cjs');
8
- var isSameAddress = require('../../../utils/isSameAddress/isSameAddress.cjs');
9
- var logger = require('../../../utils/logger.cjs');
7
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
+ var utils = require('@dynamic-labs/utils');
10
9
 
11
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
11
 
@@ -20,14 +19,25 @@ const initClient = (name, settings) => {
20
19
  : { bridge: 'https://bridge.walletconnect.org', storageId };
21
20
  return new Client__default["default"](Object.assign(Object.assign({}, clientArgs), settings));
22
21
  };
22
+ /**
23
+ * Initialize a client from a stored session and terminate the connection.
24
+ */
25
+ const killWalletConnectSession = (client) => tslib.__awaiter(void 0, void 0, void 0, function* () {
26
+ try {
27
+ if (client === null || client === void 0 ? void 0 : client.connected) {
28
+ yield client.killSession();
29
+ }
30
+ }
31
+ catch (e) {
32
+ walletConnectorCore.logger.debug(e);
33
+ }
34
+ });
23
35
  /**
24
36
  * Attach event handlers to WalletConnect events.
25
37
  */
26
38
  const setupWalletConnectEventListeners = (opts, client) => {
27
39
  if (!client) {
28
- return () => {
29
- // nothing to teardown
30
- };
40
+ return;
31
41
  }
32
42
  let prevAccount;
33
43
  let prevChain;
@@ -44,7 +54,7 @@ const setupWalletConnectEventListeners = (opts, client) => {
44
54
  var _b, _c;
45
55
  // eslint-disable-next-line prefer-destructuring
46
56
  const { accounts, chainId } = payload.params[0];
47
- const didAccountChange = !isSameAddress.isSameAddress(prevAccount || '', accounts[0], 'eip155');
57
+ const didAccountChange = !walletConnectorCore.isSameAddress(prevAccount || '', accounts[0], 'eip155');
48
58
  const didChainChange = prevChain !== chainId;
49
59
  // eslint-disable-next-line prefer-destructuring
50
60
  prevAccount = accounts[0];
@@ -56,31 +66,27 @@ const setupWalletConnectEventListeners = (opts, client) => {
56
66
  yield ((_c = opts.onChainChange) === null || _c === void 0 ? void 0 : _c.call(opts, String(chainId)));
57
67
  }
58
68
  }));
59
- return () => {
60
- client.off('disconnect');
61
- client.off('session_update');
62
- };
63
69
  };
64
70
  const teardownWalletConnectEventListeners = (client) => {
65
71
  client.off('disconnect');
66
72
  client.off('session_update');
67
73
  };
68
- /**
69
- * Initialize a client from a stored session and terminate the connection.
70
- */
71
- const killWalletConnectSession = (client) => tslib.__awaiter(void 0, void 0, void 0, function* () {
72
- try {
73
- if (client === null || client === void 0 ? void 0 : client.connected) {
74
- yield client.killSession();
75
- }
74
+ const useDeepLink = (metadata, wcClient, opts) => {
75
+ var _a, _b, _c;
76
+ const deepLink = getDeepLink(wcClient.uri, metadata);
77
+ if (utils.isMobile()) {
78
+ window.location.href = deepLink;
76
79
  }
77
- catch (e) {
78
- logger.logger.debug(e);
80
+ else {
81
+ if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
82
+ (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
83
+ }
84
+ (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
79
85
  }
80
- });
86
+ };
81
87
  const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
82
88
  var _a, _b, _c, _d;
83
- if (!isMobile.isMobile()) {
89
+ if (!utils.isMobile()) {
84
90
  const origin = ((_a = metadata.desktop) === null || _a === void 0 ? void 0 : _a.universal) || ((_b = metadata.desktop) === null || _b === void 0 ? void 0 : _b.native);
85
91
  if (removeWCUri)
86
92
  return origin || '';
@@ -88,7 +94,7 @@ const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
88
94
  }
89
95
  // deeplinks for ios require special treatment
90
96
  // see: https://docs.walletconnect.com/mobile-linking#for-ios
91
- else if (isMobile.isIOS()) {
97
+ else if (utils.isIOS()) {
92
98
  const origin = ((_c = metadata.mobile) === null || _c === void 0 ? void 0 : _c.universal) || ((_d = metadata.mobile) === null || _d === void 0 ? void 0 : _d.native);
93
99
  if (removeWCUri)
94
100
  return origin || '';
@@ -100,34 +106,16 @@ const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
100
106
  };
101
107
  const createSession = (client) => tslib.__awaiter(void 0, void 0, void 0, function* () {
102
108
  return new Promise((resolve, reject) => {
103
- try {
104
- client.on('connect', (error, payload) => tslib.__awaiter(void 0, void 0, void 0, function* () {
105
- if (error)
106
- throw error;
107
- resolve(payload);
108
- }));
109
- client.on('disconnect', (error, payload) => {
110
- throw error || payload.params[0].message;
111
- });
112
- }
113
- catch (e) {
114
- reject(e);
115
- }
109
+ client.on('connect', (error, payload) => tslib.__awaiter(void 0, void 0, void 0, function* () {
110
+ if (error)
111
+ throw error;
112
+ resolve(payload);
113
+ }));
114
+ client.on('disconnect', (error, payload) => {
115
+ reject(error || payload.params[0].message);
116
+ });
116
117
  });
117
118
  });
118
- const useDeepLink = (metadata, wcClient, opts) => {
119
- var _a, _b, _c;
120
- const deepLink = getDeepLink(wcClient.uri, metadata);
121
- if (isMobile.isMobile()) {
122
- window.location.href = deepLink;
123
- }
124
- else {
125
- if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
126
- (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
127
- }
128
- (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
129
- }
130
- };
131
119
  const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opts) => tslib.__awaiter(void 0, void 0, void 0, function* () {
132
120
  var _a;
133
121
  if (wcClient.connected) {
@@ -141,64 +129,13 @@ const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opt
141
129
  (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
142
130
  wcClient.accounts = [key.bech32Address];
143
131
  return key.bech32Address;
144
- });
145
- const fetchWalletConnectEVMPublicAddress = (metadata, wcClient, opts) => tslib.__awaiter(void 0, void 0, void 0, function* () {
146
- var _b;
147
- if (wcClient.connected) {
148
- const [accountPublicAddress] = wcClient.accounts;
149
- return accountPublicAddress;
150
- }
151
- // createSession will trigger the QR code...
152
- yield wcClient.createSession();
153
- useDeepLink(metadata, wcClient, opts);
154
- const payload = yield createSession(wcClient);
155
- (_b = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _b === void 0 ? void 0 : _b.call(opts, payload);
156
- const [accountPublicAddress] = payload.params[0].accounts;
157
- return accountPublicAddress;
158
- });
159
- const signWalletConnectPersonalMessage = (messageToSign, metadata, client) => tslib.__awaiter(void 0, void 0, void 0, function* () {
160
- var _c, _d;
161
- const isCryptoWallet = ((_c = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _c === void 0 ? void 0 : _c.name) === 'Crypto.com | DeFi Wallet' ||
162
- ((_d = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _d === void 0 ? void 0 : _d.name) === 'DeFi Wallet';
163
- if (!client || !client.connected) {
164
- return;
165
- }
166
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
167
- const [accountPublicAddress] = client.accounts;
168
- if (isMobile.isMobile()) {
169
- const deepLink = getDeepLink(client.uri, metadata, {
170
- removeWCUri: isMobile.isIOS() && isCryptoWallet,
171
- });
172
- window.location.href = deepLink;
173
- }
174
- try {
175
- // This delay is required for Crypto.com DeFi wallet, when there is no delay the app
176
- // will not open the pop-up to sign. That seems to be a limitation in the standalone client
177
- // so the delay is required to allow the users to sign the message
178
- if (isCryptoWallet && isMobile.isMobile()) {
179
- yield sleep(4000);
180
- }
181
- else {
182
- // The delay of 1 second is necessary for some of the wallets to open the sign UI in the
183
- // correct order, without this some wallets like Trust or OKX will no open properly,
184
- // and not allowing the user to sign the message
185
- yield sleep(1000);
186
- }
187
- return client.signPersonalMessage([messageToSign, accountPublicAddress]);
188
- }
189
- catch (e) {
190
- logger.logger.debug(e);
191
- throw e;
192
- }
193
132
  });
194
133
 
195
134
  exports.createSession = createSession;
196
135
  exports.fetchWalletConnectCosmosPublicAddress = fetchWalletConnectCosmosPublicAddress;
197
- exports.fetchWalletConnectEVMPublicAddress = fetchWalletConnectEVMPublicAddress;
198
136
  exports.getDeepLink = getDeepLink;
199
137
  exports.initClient = initClient;
200
138
  exports.killWalletConnectSession = killWalletConnectSession;
201
139
  exports.setupWalletConnectEventListeners = setupWalletConnectEventListeners;
202
- exports.signWalletConnectPersonalMessage = signWalletConnectPersonalMessage;
203
140
  exports.teardownWalletConnectEventListeners = teardownWalletConnectEventListeners;
204
141
  exports.useDeepLink = useDeepLink;
@@ -1,22 +1,20 @@
1
1
  import Client from '@walletconnect/client';
2
- import { FetchPublicAddressOpts, PayloadParams, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
2
  import { WalletSchema } from '@dynamic-labs/wallet-book';
4
- import { KeplrWalletConnectV1 } from '../../cosmos/wcClient';
3
+ import { FetchPublicAddressOpts, PayloadParams, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
+ import { KeplrWalletConnectV1 } from './wcClient';
5
5
  export declare const initClient: (name: string, settings?: any) => Client;
6
- /**
7
- * Attach event handlers to WalletConnect events.
8
- */
9
- export declare const setupWalletConnectEventListeners: (opts: WalletEventListeners, client: Client) => (() => void);
10
- export declare const teardownWalletConnectEventListeners: (client: Client) => void;
11
6
  /**
12
7
  * Initialize a client from a stored session and terminate the connection.
13
8
  */
14
9
  export declare const killWalletConnectSession: (client: Client) => Promise<void>;
10
+ /**
11
+ * Attach event handlers to WalletConnect events.
12
+ */
13
+ export declare const setupWalletConnectEventListeners: (opts: WalletEventListeners, client: Client) => void;
14
+ export declare const teardownWalletConnectEventListeners: (client: Client) => void;
15
+ export declare const useDeepLink: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => void;
15
16
  export declare const getDeepLink: (uri: string, metadata: WalletSchema, { removeWCUri, }?: {
16
17
  removeWCUri?: boolean | undefined;
17
18
  }) => string;
18
19
  export declare const createSession: (client: Client) => Promise<PayloadParams>;
19
- export declare const useDeepLink: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => void;
20
20
  export declare const fetchWalletConnectCosmosPublicAddress: (metadata: WalletSchema, wcClient: Client, provider: KeplrWalletConnectV1, opts: FetchPublicAddressOpts & Required<Pick<FetchPublicAddressOpts, 'chainId'>>) => Promise<string>;
21
- export declare const fetchWalletConnectEVMPublicAddress: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => Promise<string | undefined>;
22
- export declare const signWalletConnectPersonalMessage: (messageToSign: string, metadata: WalletSchema, client: Client) => Promise<string | undefined>;
@@ -1,8 +1,7 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import Client from '@walletconnect/client';
3
- import { isMobile, isIOS } from '../../../utils/isMobile.js';
4
- import { isSameAddress } from '../../../utils/isSameAddress/isSameAddress.js';
5
- import { logger } from '../../../utils/logger.js';
3
+ import { logger, isSameAddress } from '@dynamic-labs/wallet-connector-core';
4
+ import { isMobile, isIOS } from '@dynamic-labs/utils';
6
5
 
7
6
  const initClient = (name, settings) => {
8
7
  const storageId = `walletconnect-${name}`;
@@ -12,14 +11,25 @@ const initClient = (name, settings) => {
12
11
  : { bridge: 'https://bridge.walletconnect.org', storageId };
13
12
  return new Client(Object.assign(Object.assign({}, clientArgs), settings));
14
13
  };
14
+ /**
15
+ * Initialize a client from a stored session and terminate the connection.
16
+ */
17
+ const killWalletConnectSession = (client) => __awaiter(void 0, void 0, void 0, function* () {
18
+ try {
19
+ if (client === null || client === void 0 ? void 0 : client.connected) {
20
+ yield client.killSession();
21
+ }
22
+ }
23
+ catch (e) {
24
+ logger.debug(e);
25
+ }
26
+ });
15
27
  /**
16
28
  * Attach event handlers to WalletConnect events.
17
29
  */
18
30
  const setupWalletConnectEventListeners = (opts, client) => {
19
31
  if (!client) {
20
- return () => {
21
- // nothing to teardown
22
- };
32
+ return;
23
33
  }
24
34
  let prevAccount;
25
35
  let prevChain;
@@ -48,28 +58,24 @@ const setupWalletConnectEventListeners = (opts, client) => {
48
58
  yield ((_c = opts.onChainChange) === null || _c === void 0 ? void 0 : _c.call(opts, String(chainId)));
49
59
  }
50
60
  }));
51
- return () => {
52
- client.off('disconnect');
53
- client.off('session_update');
54
- };
55
61
  };
56
62
  const teardownWalletConnectEventListeners = (client) => {
57
63
  client.off('disconnect');
58
64
  client.off('session_update');
59
65
  };
60
- /**
61
- * Initialize a client from a stored session and terminate the connection.
62
- */
63
- const killWalletConnectSession = (client) => __awaiter(void 0, void 0, void 0, function* () {
64
- try {
65
- if (client === null || client === void 0 ? void 0 : client.connected) {
66
- yield client.killSession();
67
- }
66
+ const useDeepLink = (metadata, wcClient, opts) => {
67
+ var _a, _b, _c;
68
+ const deepLink = getDeepLink(wcClient.uri, metadata);
69
+ if (isMobile()) {
70
+ window.location.href = deepLink;
68
71
  }
69
- catch (e) {
70
- logger.debug(e);
72
+ else {
73
+ if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
74
+ (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
75
+ }
76
+ (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
71
77
  }
72
- });
78
+ };
73
79
  const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
74
80
  var _a, _b, _c, _d;
75
81
  if (!isMobile()) {
@@ -92,34 +98,16 @@ const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
92
98
  };
93
99
  const createSession = (client) => __awaiter(void 0, void 0, void 0, function* () {
94
100
  return new Promise((resolve, reject) => {
95
- try {
96
- client.on('connect', (error, payload) => __awaiter(void 0, void 0, void 0, function* () {
97
- if (error)
98
- throw error;
99
- resolve(payload);
100
- }));
101
- client.on('disconnect', (error, payload) => {
102
- throw error || payload.params[0].message;
103
- });
104
- }
105
- catch (e) {
106
- reject(e);
107
- }
101
+ client.on('connect', (error, payload) => __awaiter(void 0, void 0, void 0, function* () {
102
+ if (error)
103
+ throw error;
104
+ resolve(payload);
105
+ }));
106
+ client.on('disconnect', (error, payload) => {
107
+ reject(error || payload.params[0].message);
108
+ });
108
109
  });
109
110
  });
110
- const useDeepLink = (metadata, wcClient, opts) => {
111
- var _a, _b, _c;
112
- const deepLink = getDeepLink(wcClient.uri, metadata);
113
- if (isMobile()) {
114
- window.location.href = deepLink;
115
- }
116
- else {
117
- if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
118
- (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
119
- }
120
- (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
121
- }
122
- };
123
111
  const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opts) => __awaiter(void 0, void 0, void 0, function* () {
124
112
  var _a;
125
113
  if (wcClient.connected) {
@@ -133,55 +121,6 @@ const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opt
133
121
  (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
134
122
  wcClient.accounts = [key.bech32Address];
135
123
  return key.bech32Address;
136
- });
137
- const fetchWalletConnectEVMPublicAddress = (metadata, wcClient, opts) => __awaiter(void 0, void 0, void 0, function* () {
138
- var _b;
139
- if (wcClient.connected) {
140
- const [accountPublicAddress] = wcClient.accounts;
141
- return accountPublicAddress;
142
- }
143
- // createSession will trigger the QR code...
144
- yield wcClient.createSession();
145
- useDeepLink(metadata, wcClient, opts);
146
- const payload = yield createSession(wcClient);
147
- (_b = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _b === void 0 ? void 0 : _b.call(opts, payload);
148
- const [accountPublicAddress] = payload.params[0].accounts;
149
- return accountPublicAddress;
150
- });
151
- const signWalletConnectPersonalMessage = (messageToSign, metadata, client) => __awaiter(void 0, void 0, void 0, function* () {
152
- var _c, _d;
153
- const isCryptoWallet = ((_c = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _c === void 0 ? void 0 : _c.name) === 'Crypto.com | DeFi Wallet' ||
154
- ((_d = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _d === void 0 ? void 0 : _d.name) === 'DeFi Wallet';
155
- if (!client || !client.connected) {
156
- return;
157
- }
158
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
159
- const [accountPublicAddress] = client.accounts;
160
- if (isMobile()) {
161
- const deepLink = getDeepLink(client.uri, metadata, {
162
- removeWCUri: isIOS() && isCryptoWallet,
163
- });
164
- window.location.href = deepLink;
165
- }
166
- try {
167
- // This delay is required for Crypto.com DeFi wallet, when there is no delay the app
168
- // will not open the pop-up to sign. That seems to be a limitation in the standalone client
169
- // so the delay is required to allow the users to sign the message
170
- if (isCryptoWallet && isMobile()) {
171
- yield sleep(4000);
172
- }
173
- else {
174
- // The delay of 1 second is necessary for some of the wallets to open the sign UI in the
175
- // correct order, without this some wallets like Trust or OKX will no open properly,
176
- // and not allowing the user to sign the message
177
- yield sleep(1000);
178
- }
179
- return client.signPersonalMessage([messageToSign, accountPublicAddress]);
180
- }
181
- catch (e) {
182
- logger.debug(e);
183
- throw e;
184
- }
185
124
  });
186
125
 
187
- export { createSession, fetchWalletConnectCosmosPublicAddress, fetchWalletConnectEVMPublicAddress, getDeepLink, initClient, killWalletConnectSession, setupWalletConnectEventListeners, signWalletConnectPersonalMessage, teardownWalletConnectEventListeners, useDeepLink };
126
+ export { createSession, fetchWalletConnectCosmosPublicAddress, getDeepLink, initClient, killWalletConnectSession, setupWalletConnectEventListeners, teardownWalletConnectEventListeners, useDeepLink };