@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,262 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import Provider from '@walletconnect/universal-provider';
3
- import { ethers } from 'ethers';
4
- import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
5
- import { EthWalletConnector } from '../ethereum/EthWalletConnector.js';
6
- import { isMobile } from '../../utils/isMobile.js';
7
- import { getDeepLink } from '../clients/walletConnect/walletConnect.js';
8
- import { DynamicError } from '../../errors.js';
9
- import { logger } from '../../utils/logger.js';
10
- import { utf8ToHex } from '../../utils/encoding.js';
11
-
12
- const performPlatformSpecificConnectionMethod = (uri, metadata, opts) => {
13
- var _a, _b, _c;
14
- if (isMobile()) {
15
- const deepLink = getDeepLink(uri, metadata);
16
- window.location.href = deepLink;
17
- }
18
- else {
19
- if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
20
- const desktopUri = getDeepLink(uri, metadata);
21
- (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, desktopUri);
22
- }
23
- (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, uri);
24
- }
25
- };
26
- const sessionTopicKey = (walletName) => `dynamic-wc2-session-topic-${walletName}`;
27
- class WalletConnectV2 extends EthWalletConnector {
28
- constructor(opts) {
29
- super({ evmNetworks: opts.evmNetworks });
30
- this.supportedChains = ['EVM', 'ETH'];
31
- this.connectedChain = 'EVM';
32
- this.canConnectViaQrCode = true;
33
- this.isWalletConnect = true;
34
- this.name = opts.walletName;
35
- this.projectId = opts.projectId;
36
- }
37
- initProvider() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- if (this.projectId && !WalletConnectV2.provider) {
40
- WalletConnectV2.provider = yield Provider.init({
41
- projectId: this.projectId,
42
- });
43
- const connection = yield WalletConnectV2.provider.client.connect({
44
- requiredNamespaces: {
45
- eip155: {
46
- chains: this.evmNetworks
47
- // filtering out Palm for now since it causes Trust to crash
48
- .filter((network) => network.chainId !== 11297108109)
49
- .map((network) => `eip155:${network.chainId}`),
50
- events: ['chainChanged', 'accountsChanged'],
51
- methods: [
52
- 'eth_sendTransaction',
53
- 'eth_signTransaction',
54
- 'eth_sign',
55
- 'personal_sign',
56
- 'eth_signTypedData',
57
- ],
58
- },
59
- },
60
- });
61
- // eslint-disable-next-line prefer-destructuring
62
- WalletConnectV2.provider.uri = connection.uri;
63
- WalletConnectV2.createSession = connection.approval;
64
- }
65
- });
66
- }
67
- init() {
68
- var _a, _b, _c, _d;
69
- return __awaiter(this, void 0, void 0, function* () {
70
- yield this.initProvider();
71
- if ((_b = (_a = WalletConnectV2.provider) === null || _a === void 0 ? void 0 : _a.session) === null || _b === void 0 ? void 0 : _b.topic) {
72
- if (localStorage.getItem(this.sessionTopicKey) ===
73
- ((_d = (_c = WalletConnectV2.provider) === null || _c === void 0 ? void 0 : _c.session) === null || _d === void 0 ? void 0 : _d.topic)) {
74
- this.session = WalletConnectV2.provider.session;
75
- }
76
- }
77
- });
78
- }
79
- get sessionTopicKey() {
80
- return sessionTopicKey(this.key);
81
- }
82
- supportsNetworkSwitching() {
83
- return true;
84
- }
85
- setupEventListeners(listeners) {
86
- if (!WalletConnectV2.provider) {
87
- return;
88
- }
89
- WalletConnectV2.provider.client.on('session_event', ({ params }) => {
90
- var _a, _b;
91
- if (!params || !params.event) {
92
- logger.debug('session_event was called without params or params.event');
93
- return;
94
- }
95
- const { name, data } = params.event;
96
- if (name === 'chainChanged') {
97
- if (typeof data !== 'string') {
98
- logger.debug(`received unexpected data for chainChanged: ${data} with type ${typeof data}}`);
99
- return;
100
- }
101
- (_a = listeners.onChainChange) === null || _a === void 0 ? void 0 : _a.call(listeners, data);
102
- }
103
- else if (name === 'accountsChanged') {
104
- if (typeof data !== 'string' || !Array.isArray(data)) {
105
- logger.debug(`received unexpected data for accountsChanged: ${data} with type ${typeof data}}`);
106
- return;
107
- }
108
- (_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, data);
109
- }
110
- });
111
- WalletConnectV2.provider.client.on('session_delete', () => __awaiter(this, void 0, void 0, function* () {
112
- var _a;
113
- localStorage.removeItem(this.sessionTopicKey);
114
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
115
- }));
116
- }
117
- teardownEventListeners() {
118
- if (!WalletConnectV2.provider) {
119
- return;
120
- }
121
- WalletConnectV2.provider.client.removeAllListeners('session_event');
122
- WalletConnectV2.provider.client.removeAllListeners('session_delete');
123
- }
124
- getDeepLink() {
125
- var _a, _b;
126
- if (!((_a = WalletConnectV2.provider) === null || _a === void 0 ? void 0 : _a.uri))
127
- return;
128
- const wallet = getWalletBookWallet(this.name);
129
- if (!isMobile() && !((_b = wallet.desktop) === null || _b === void 0 ? void 0 : _b.native)) {
130
- return undefined;
131
- }
132
- return getDeepLink(WalletConnectV2.provider.uri, wallet);
133
- }
134
- getWeb3Provider() {
135
- if (!WalletConnectV2.provider) {
136
- throw new Error('No provider found');
137
- }
138
- return new ethers.providers.Web3Provider(WalletConnectV2.provider, 'any');
139
- }
140
- fetchPublicAddress(opts) {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- if (this.session) {
143
- return this.session.namespaces.eip155.accounts[0].split(':')[2];
144
- }
145
- const metadata = getWalletBookWallet(this.name);
146
- if (!WalletConnectV2.provider) {
147
- throw new DynamicError('No provider found');
148
- }
149
- if (!WalletConnectV2.provider.uri || !WalletConnectV2.createSession) {
150
- throw new DynamicError('No uri or approval found');
151
- }
152
- performPlatformSpecificConnectionMethod(WalletConnectV2.provider.uri, metadata, {
153
- onDesktopUri: opts === null || opts === void 0 ? void 0 : opts.onDesktopUri,
154
- onDisplayUri: opts === null || opts === void 0 ? void 0 : opts.onDisplayUri,
155
- });
156
- const session = yield WalletConnectV2.createSession();
157
- if (!session) {
158
- return undefined;
159
- }
160
- this.session = session;
161
- localStorage.setItem(this.sessionTopicKey, session.topic);
162
- // need to "reconnect" the provider so that we can tell it what the rpc urls are
163
- yield WalletConnectV2.provider.connect({
164
- namespaces: {
165
- eip155: {
166
- chains: this.evmNetworks
167
- // filtering out Palm for now since it causes Trust to crash
168
- .filter((network) => network.chainId !== 11297108109)
169
- .map((network) => `eip155:${network.chainId}`),
170
- events: ['chainChanged', 'accountsChanged'],
171
- methods: [
172
- 'eth_sendTransaction',
173
- 'eth_signTransaction',
174
- 'eth_sign',
175
- 'personal_sign',
176
- 'eth_signTypedData',
177
- ],
178
- rpcMap: this.evmNetworkRpcMap(),
179
- },
180
- },
181
- skipPairing: true,
182
- });
183
- // THIS LINE IS SUPER IMPORTANT
184
- // since we are skipping pairing, (see: skipPairing: true above), we need to manually set the session
185
- // so that future provider requests work (like getNetwork)
186
- WalletConnectV2.provider.session = session;
187
- return session.namespaces.eip155.accounts[0].split(':')[2];
188
- });
189
- }
190
- signMessage(messageToSign) {
191
- return __awaiter(this, void 0, void 0, function* () {
192
- if (!this.session) {
193
- throw new DynamicError('no session');
194
- }
195
- if (!WalletConnectV2.provider) {
196
- throw new DynamicError('No WalletConnect provider found to handle signing');
197
- }
198
- const metadata = getWalletBookWallet(this.name);
199
- if (isMobile()) {
200
- // for sign message, no uri is needed because the uri encodes connection details,
201
- // and at this point we are already connected
202
- const deepLink = getDeepLink('', metadata);
203
- window.location.href = deepLink;
204
- }
205
- // eslint-disable-next-line prefer-destructuring
206
- const address = this.session.namespaces.eip155.accounts[0].split(':')[2];
207
- const web3Provider = this.getWeb3Provider();
208
- return web3Provider.send('personal_sign', [
209
- utf8ToHex(messageToSign, true),
210
- address,
211
- ]);
212
- });
213
- }
214
- endSession() {
215
- return __awaiter(this, void 0, void 0, function* () {
216
- if (!this.session) {
217
- return;
218
- }
219
- if (!WalletConnectV2.provider) {
220
- return;
221
- }
222
- try {
223
- yield WalletConnectV2.provider.disconnect();
224
- localStorage.removeItem(this.sessionTopicKey);
225
- }
226
- catch (e) {
227
- logger.debug(e);
228
- }
229
- });
230
- }
231
- providerSwitchNetwork({ network, provider, }) {
232
- const _super = Object.create(null, {
233
- providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
234
- });
235
- return __awaiter(this, void 0, void 0, function* () {
236
- const currentNetworkId = yield this.getNetwork();
237
- if (currentNetworkId && currentNetworkId === network.chainId) {
238
- return;
239
- }
240
- if (this.switchNetworkOnlyFromWallet) {
241
- throw new DynamicError('Network switching is only supported through the wallet');
242
- }
243
- if (!this.supportsNetworkSwitching()) {
244
- throw new DynamicError('Network switching not supported');
245
- }
246
- if (!provider) {
247
- throw new DynamicError('Provider not found');
248
- }
249
- return _super.providerSwitchNetwork.call(this, { network, provider });
250
- });
251
- }
252
- getConnectedAccounts() {
253
- return __awaiter(this, void 0, void 0, function* () {
254
- if (!this.session) {
255
- return [];
256
- }
257
- return [this.session.namespaces.eip155.accounts[0].split(':')[2]];
258
- });
259
- }
260
- }
261
-
262
- export { WalletConnectV2 as default };
@@ -1,8 +0,0 @@
1
- import { EvmNetwork } from '../ethereum/evm-network';
2
- import WalletConnect from '.';
3
- declare class TrustWalletConnect extends WalletConnect {
4
- constructor({ evmNetworks }: {
5
- evmNetworks: EvmNetwork[];
6
- });
7
- }
8
- export default TrustWalletConnect;