@dynamic-labs/multi-wallet 0.17.0-RC.2 → 0.17.0-RC.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/CHANGELOG.md +242 -0
  2. package/package.json +10 -26
  3. package/src/index.cjs +0 -69
  4. package/src/index.d.ts +0 -18
  5. package/src/index.js +1 -23
  6. package/src/multi-wallet.cjs +38 -182
  7. package/src/multi-wallet.d.ts +1 -4
  8. package/src/multi-wallet.js +37 -180
  9. package/src/types.d.ts +12 -50
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +17 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +3 -4
  14. package/src/utils/message.d.ts +2 -2
  15. package/src/utils/message.js +1 -2
  16. package/src/errors.cjs +0 -65
  17. package/src/errors.d.ts +0 -30
  18. package/src/errors.js +0 -53
  19. package/src/polyfills.cjs +0 -16
  20. package/src/polyfills.d.ts +0 -1
  21. package/src/polyfills.js +0 -14
  22. package/src/rpcProviders.cjs +0 -76
  23. package/src/rpcProviders.d.ts +0 -5
  24. package/src/rpcProviders.js +0 -69
  25. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  26. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  27. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  28. package/src/utils/CancellablePromise/index.d.ts +0 -1
  29. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  30. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  31. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  32. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  33. package/src/utils/convertors.cjs +0 -43
  34. package/src/utils/convertors.d.ts +0 -3
  35. package/src/utils/convertors.js +0 -38
  36. package/src/utils/encoding.cjs +0 -18
  37. package/src/utils/encoding.d.ts +0 -4
  38. package/src/utils/encoding.js +0 -12
  39. package/src/utils/extractNonce.cjs +0 -13
  40. package/src/utils/extractNonce.d.ts +0 -1
  41. package/src/utils/extractNonce.js +0 -9
  42. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  43. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  44. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  45. package/src/utils/getChainInfo/index.d.ts +0 -1
  46. package/src/utils/getWalletConnectorByName.cjs +0 -19
  47. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  48. package/src/utils/getWalletConnectorByName.js +0 -15
  49. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  50. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  51. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  52. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  53. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  54. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  55. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  56. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  57. package/src/utils/isFunction/index.d.ts +0 -1
  58. package/src/utils/isFunction/isFunction.cjs +0 -8
  59. package/src/utils/isFunction/isFunction.d.ts +0 -1
  60. package/src/utils/isFunction/isFunction.js +0 -4
  61. package/src/utils/isMobile.cjs +0 -54
  62. package/src/utils/isMobile.d.ts +0 -13
  63. package/src/utils/isMobile.js +0 -46
  64. package/src/utils/isSameAddress/index.d.ts +0 -1
  65. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  66. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  67. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  68. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  69. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  70. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  71. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  72. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  73. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  74. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  75. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  76. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  77. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  78. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  79. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  80. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  81. package/src/utils/localStorageAsync.cjs +0 -28
  82. package/src/utils/localStorageAsync.d.ts +0 -3
  83. package/src/utils/localStorageAsync.js +0 -22
  84. package/src/utils/logger.cjs +0 -9
  85. package/src/utils/logger.d.ts +0 -2
  86. package/src/utils/logger.js +0 -5
  87. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  88. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  89. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  90. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  91. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  92. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  93. package/src/utils/shouldLowercaseAddress.js +0 -7
  94. package/src/utils/walletConnect.cjs +0 -30
  95. package/src/utils/walletConnect.d.ts +0 -4
  96. package/src/utils/walletConnect.js +0 -26
  97. package/src/wallets/ProviderLookup.cjs +0 -18
  98. package/src/wallets/ProviderLookup.d.ts +0 -4
  99. package/src/wallets/ProviderLookup.js +0 -14
  100. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +0 -149
  101. package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
  102. package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
  103. package/src/wallets/algorand/myalgoSigner.cjs +0 -24
  104. package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
  105. package/src/wallets/algorand/myalgoSigner.js +0 -20
  106. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  107. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  108. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  109. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  110. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  111. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  112. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  113. package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -204
  114. package/src/wallets/clients/walletConnect/walletConnect.d.ts +0 -22
  115. package/src/wallets/clients/walletConnect/walletConnect.js +0 -187
  116. package/src/wallets/constants.cjs +0 -16
  117. package/src/wallets/constants.d.ts +0 -4
  118. package/src/wallets/constants.js +0 -10
  119. package/src/wallets/cosmos/KeplrWalletConnect.cjs +0 -196
  120. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +0 -46
  121. package/src/wallets/cosmos/KeplrWalletConnect.js +0 -194
  122. package/src/wallets/cosmos/KeplrWalletConnector.cjs +0 -193
  123. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +0 -70
  124. package/src/wallets/cosmos/KeplrWalletConnector.js +0 -189
  125. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  126. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  127. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  128. package/src/wallets/cosmos/index.d.ts +0 -1
  129. package/src/wallets/cosmos/utils/indexDB.cjs +0 -97
  130. package/src/wallets/cosmos/utils/indexDB.d.ts +0 -18
  131. package/src/wallets/cosmos/utils/indexDB.js +0 -93
  132. package/src/wallets/cosmos/wcClient.cjs +0 -333
  133. package/src/wallets/cosmos/wcClient.d.ts +0 -104
  134. package/src/wallets/cosmos/wcClient.js +0 -325
  135. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  136. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
  137. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  138. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
  139. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
  140. package/src/wallets/ethereum/EthWalletConnector.js +0 -187
  141. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  142. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  143. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  144. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  145. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  146. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  147. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  148. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  149. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -102
  150. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  151. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
  152. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  153. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
  154. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  155. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
  156. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  157. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
  158. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
  159. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
  160. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  161. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  162. package/src/wallets/ethereum/coinbase.cjs +0 -65
  163. package/src/wallets/ethereum/coinbase.d.ts +0 -26
  164. package/src/wallets/ethereum/coinbase.js +0 -63
  165. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  166. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  167. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  168. package/src/wallets/ethereum/evm-network.cjs +0 -20
  169. package/src/wallets/ethereum/evm-network.d.ts +0 -22
  170. package/src/wallets/ethereum/evm-network.js +0 -16
  171. package/src/wallets/ethereum/fortmatic.cjs +0 -75
  172. package/src/wallets/ethereum/fortmatic.d.ts +0 -26
  173. package/src/wallets/ethereum/fortmatic.js +0 -69
  174. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  175. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  176. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  177. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  178. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  179. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  180. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  181. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  182. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  183. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  184. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  185. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  186. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  187. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  188. package/src/wallets/ethereum/injected/Frame.js +0 -11
  189. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  190. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  191. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  192. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  193. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  194. package/src/wallets/ethereum/injected/Opera.js +0 -11
  195. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  196. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  197. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  198. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  199. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  200. package/src/wallets/ethereum/injected/Trust.js +0 -11
  201. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  202. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  203. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  204. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  205. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  206. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  207. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  208. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  209. package/src/wallets/ethereum/meta-mask.js +0 -61
  210. package/src/wallets/flow/FlowWalletConnector.cjs +0 -163
  211. package/src/wallets/flow/FlowWalletConnector.d.ts +0 -29
  212. package/src/wallets/flow/FlowWalletConnector.js +0 -158
  213. package/src/wallets/flow/blocto.cjs +0 -22
  214. package/src/wallets/flow/blocto.d.ts +0 -7
  215. package/src/wallets/flow/blocto.js +0 -20
  216. package/src/wallets/flow/dapper.cjs +0 -22
  217. package/src/wallets/flow/dapper.d.ts +0 -7
  218. package/src/wallets/flow/dapper.js +0 -20
  219. package/src/wallets/flow/lilico.cjs +0 -42
  220. package/src/wallets/flow/lilico.d.ts +0 -8
  221. package/src/wallets/flow/lilico.js +0 -40
  222. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  223. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
  224. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
  225. package/src/wallets/getWalletConnectConnector.cjs +0 -19
  226. package/src/wallets/getWalletConnectConnector.d.ts +0 -8
  227. package/src/wallets/getWalletConnectConnector.js +0 -15
  228. package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
  229. package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
  230. package/src/wallets/solana/CoinbaseSolana.js +0 -52
  231. package/src/wallets/solana/glow.cjs +0 -51
  232. package/src/wallets/solana/glow.d.ts +0 -16
  233. package/src/wallets/solana/glow.js +0 -49
  234. package/src/wallets/solana/injected/BraveSol.cjs +0 -18
  235. package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
  236. package/src/wallets/solana/injected/BraveSol.js +0 -16
  237. package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
  238. package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
  239. package/src/wallets/solana/injected/ExodusSol.js +0 -10
  240. package/src/wallets/solana/phantom-ledger.cjs +0 -71
  241. package/src/wallets/solana/phantom-ledger.d.ts +0 -16
  242. package/src/wallets/solana/phantom-ledger.js +0 -65
  243. package/src/wallets/solana/phantom.cjs +0 -74
  244. package/src/wallets/solana/phantom.d.ts +0 -17
  245. package/src/wallets/solana/phantom.js +0 -72
  246. package/src/wallets/solana/slope.cjs +0 -96
  247. package/src/wallets/solana/slope.d.ts +0 -27
  248. package/src/wallets/solana/slope.js +0 -94
  249. package/src/wallets/solana/solProviderHelper.cjs +0 -164
  250. package/src/wallets/solana/solProviderHelper.d.ts +0 -29
  251. package/src/wallets/solana/solProviderHelper.js +0 -160
  252. package/src/wallets/solana/solWalletConnector.cjs +0 -57
  253. package/src/wallets/solana/solWalletConnector.d.ts +0 -18
  254. package/src/wallets/solana/solWalletConnector.js +0 -53
  255. package/src/wallets/solana/solflare.cjs +0 -65
  256. package/src/wallets/solana/solflare.d.ts +0 -14
  257. package/src/wallets/solana/solflare.js +0 -63
  258. package/src/wallets/starknet/argentx.cjs +0 -20
  259. package/src/wallets/starknet/argentx.d.ts +0 -7
  260. package/src/wallets/starknet/argentx.js +0 -18
  261. package/src/wallets/starknet/braavos.cjs +0 -33
  262. package/src/wallets/starknet/braavos.d.ts +0 -7
  263. package/src/wallets/starknet/braavos.js +0 -31
  264. package/src/wallets/starknet/ethereumContractAbi.cjs +0 -357
  265. package/src/wallets/starknet/ethereumContractAbi.js +0 -355
  266. package/src/wallets/starknet/starknetWalletConnector.cjs +0 -171
  267. package/src/wallets/starknet/starknetWalletConnector.d.ts +0 -34
  268. package/src/wallets/starknet/starknetWalletConnector.js +0 -169
  269. package/src/wallets/walletConnect/index.d.ts +0 -2
  270. package/src/wallets/walletConnect/walletConnect.cjs +0 -130
  271. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  272. package/src/wallets/walletConnect/walletConnect.js +0 -124
  273. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  274. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  275. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  276. package/src/wallets/walletConnect/zerion.d.ts +0 -8
  277. package/src/wallets/window.d.ts +0 -95
@@ -1,164 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var convertors = require('../../utils/convertors.cjs');
7
- var ProviderLookup = require('../ProviderLookup.cjs');
8
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
9
-
10
- class SolProviderHelper {
11
- constructor() {
12
- this.GlowProvider = () => this.installedProviderLookup([{ flag: 'isGlow', value: true }]);
13
- this.CoinbaseProvider = () => this.findSolanaProviders(window.coinbaseSolana)[0];
14
- this.PhantomProvider = () => this.installedProviderLookup([
15
- { flag: 'isPhantom', value: true },
16
- { flag: 'isBraveWallet', value: false },
17
- { flag: 'isExodus', value: false },
18
- ]);
19
- this.SolflareProvider = () => this.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
20
- this.BraveProvider = () => this.installedProviderLookup([
21
- { flag: 'isPhantom', value: true },
22
- { flag: 'isBraveWallet', value: true },
23
- ]);
24
- this.ExodusProvider = () => this.installedProviderLookup([
25
- { flag: 'isPhantom', value: true },
26
- { flag: 'isExodus', value: true },
27
- ]);
28
- this.providers = {
29
- bravesol: this.BraveProvider,
30
- coinbasesolana: this.CoinbaseProvider,
31
- exodussol: this.ExodusProvider,
32
- glow: this.GlowProvider,
33
- phantom: this.PhantomProvider,
34
- phantomledger: this.PhantomProvider,
35
- solflare: this.SolflareProvider,
36
- };
37
- }
38
- installedProviderLookup(providerFlags) {
39
- return ProviderLookup.ProviderLookup(this.allInstalledProviders(), providerFlags);
40
- }
41
- allInstalledProviders() {
42
- return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana));
43
- }
44
- findSolanaProviders(solana) {
45
- const solanaProviders = [];
46
- if (solana && !solana.providers) {
47
- solanaProviders.push(solana);
48
- }
49
- else if (solana && solana.providers) {
50
- solana.providers.forEach((provider) => {
51
- solanaProviders.push(provider);
52
- });
53
- }
54
- return solanaProviders;
55
- }
56
- isInstalledHelper(walletName) {
57
- return this.findProvider(walletName) !== undefined;
58
- }
59
- findProvider(walletName) {
60
- var _a, _b;
61
- return (_b = (_a = this.providers)[normalizeWalletName.normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
62
- }
63
- fetchPublicAddressWithName(name) {
64
- return tslib.__awaiter(this, void 0, void 0, function* () {
65
- const provider = this.findProvider(name);
66
- if (!provider) {
67
- return Promise.resolve(undefined);
68
- }
69
- yield provider.connect();
70
- const { publicKey } = provider;
71
- return publicKey ? publicKey.toString() : Promise.resolve(undefined);
72
- });
73
- }
74
- connectWithName(name) {
75
- return tslib.__awaiter(this, void 0, void 0, function* () {
76
- const provider = this.findProvider(name);
77
- if (!provider) {
78
- return Promise.resolve(undefined);
79
- }
80
- try {
81
- yield provider.connect();
82
- return provider;
83
- }
84
- catch (err) {
85
- return undefined;
86
- }
87
- });
88
- }
89
- signMessageWithName(messageToSign, name) {
90
- return tslib.__awaiter(this, void 0, void 0, function* () {
91
- const walletAddress = yield this.fetchPublicAddressWithName(name);
92
- if (!walletAddress) {
93
- return Promise.resolve(undefined);
94
- }
95
- const provider = this.findProvider(name);
96
- if (!provider) {
97
- return Promise.resolve(undefined);
98
- }
99
- const encodedMessage = new TextEncoder().encode(messageToSign);
100
- return provider.connect().then(() => tslib.__awaiter(this, void 0, void 0, function* () {
101
- const { signature } = (yield provider.signMessage(encodedMessage, 'utf8'));
102
- return convertors.bufferToBase64(signature);
103
- }));
104
- });
105
- }
106
- _setupEventListeners(listeners, web3Provider) {
107
- const handleAccountChange = (address) => tslib.__awaiter(this, void 0, void 0, function* () {
108
- var _a, _b, _c;
109
- if (!address) {
110
- yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
111
- if ((_a = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _a === void 0 ? void 0 : _a.toString()) {
112
- (_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, [web3Provider.publicKey.toString()]);
113
- }
114
- return;
115
- }
116
- if (address.toString()) {
117
- yield ((_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [address.toString()]));
118
- }
119
- });
120
- const handleDisconnect = () => tslib.__awaiter(this, void 0, void 0, function* () {
121
- var _d;
122
- yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
123
- });
124
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', handleAccountChange);
125
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', handleDisconnect);
126
- return () => { };
127
- }
128
- _teardownEventListeners(name) {
129
- const web3Provider = this.findProvider(name);
130
- if (!web3Provider) {
131
- return;
132
- }
133
- web3Provider.removeAllListeners();
134
- }
135
- getConnectedAccountsWithName(name) {
136
- return tslib.__awaiter(this, void 0, void 0, function* () {
137
- const provider = this.findProvider(name);
138
- if (!provider) {
139
- return [];
140
- }
141
- let connectionResult;
142
- try {
143
- connectionResult = yield provider.connect({
144
- onlyIfTrusted: true,
145
- });
146
- }
147
- catch (e) {
148
- return [];
149
- }
150
- const { address, publicKey } = connectionResult !== null && connectionResult !== void 0 ? connectionResult : {};
151
- if (address) {
152
- return [address];
153
- }
154
- else if (publicKey) {
155
- return [publicKey.toString()];
156
- }
157
- else {
158
- return [];
159
- }
160
- });
161
- }
162
- }
163
-
164
- exports.SolProviderHelper = SolProviderHelper;
@@ -1,29 +0,0 @@
1
- import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
2
- import { ISolana, ProviderCondition } from '../window';
3
- export interface SignedMessage {
4
- signature: Uint8Array;
5
- }
6
- type Provider = () => ISolana | undefined;
7
- export declare class SolProviderHelper {
8
- GlowProvider: Provider;
9
- CoinbaseProvider: Provider;
10
- PhantomProvider: Provider;
11
- SolflareProvider: Provider;
12
- BraveProvider: Provider;
13
- ExodusProvider: Provider;
14
- providers: {
15
- [wallet: string]: Provider;
16
- };
17
- installedProviderLookup(providerFlags: Array<ProviderCondition>): ISolana | undefined;
18
- allInstalledProviders(): ISolana[];
19
- findSolanaProviders(solana?: ISolana): ISolana[];
20
- isInstalledHelper(walletName: string): boolean;
21
- findProvider(walletName: string): ISolana | undefined;
22
- fetchPublicAddressWithName(name: string): Promise<string | undefined>;
23
- connectWithName(name: string): Promise<ISolana | undefined>;
24
- signMessageWithName(messageToSign: string, name: string): Promise<string | undefined>;
25
- _setupEventListeners(listeners: WalletEventListeners, web3Provider?: ISolana): () => void;
26
- _teardownEventListeners(name: string): void;
27
- getConnectedAccountsWithName(name: string): Promise<string[]>;
28
- }
29
- export {};
@@ -1,160 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { bufferToBase64 } from '../../utils/convertors.js';
3
- import { ProviderLookup } from '../ProviderLookup.js';
4
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
5
-
6
- class SolProviderHelper {
7
- constructor() {
8
- this.GlowProvider = () => this.installedProviderLookup([{ flag: 'isGlow', value: true }]);
9
- this.CoinbaseProvider = () => this.findSolanaProviders(window.coinbaseSolana)[0];
10
- this.PhantomProvider = () => this.installedProviderLookup([
11
- { flag: 'isPhantom', value: true },
12
- { flag: 'isBraveWallet', value: false },
13
- { flag: 'isExodus', value: false },
14
- ]);
15
- this.SolflareProvider = () => this.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
16
- this.BraveProvider = () => this.installedProviderLookup([
17
- { flag: 'isPhantom', value: true },
18
- { flag: 'isBraveWallet', value: true },
19
- ]);
20
- this.ExodusProvider = () => this.installedProviderLookup([
21
- { flag: 'isPhantom', value: true },
22
- { flag: 'isExodus', value: true },
23
- ]);
24
- this.providers = {
25
- bravesol: this.BraveProvider,
26
- coinbasesolana: this.CoinbaseProvider,
27
- exodussol: this.ExodusProvider,
28
- glow: this.GlowProvider,
29
- phantom: this.PhantomProvider,
30
- phantomledger: this.PhantomProvider,
31
- solflare: this.SolflareProvider,
32
- };
33
- }
34
- installedProviderLookup(providerFlags) {
35
- return ProviderLookup(this.allInstalledProviders(), providerFlags);
36
- }
37
- allInstalledProviders() {
38
- return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana));
39
- }
40
- findSolanaProviders(solana) {
41
- const solanaProviders = [];
42
- if (solana && !solana.providers) {
43
- solanaProviders.push(solana);
44
- }
45
- else if (solana && solana.providers) {
46
- solana.providers.forEach((provider) => {
47
- solanaProviders.push(provider);
48
- });
49
- }
50
- return solanaProviders;
51
- }
52
- isInstalledHelper(walletName) {
53
- return this.findProvider(walletName) !== undefined;
54
- }
55
- findProvider(walletName) {
56
- var _a, _b;
57
- return (_b = (_a = this.providers)[normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
58
- }
59
- fetchPublicAddressWithName(name) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const provider = this.findProvider(name);
62
- if (!provider) {
63
- return Promise.resolve(undefined);
64
- }
65
- yield provider.connect();
66
- const { publicKey } = provider;
67
- return publicKey ? publicKey.toString() : Promise.resolve(undefined);
68
- });
69
- }
70
- connectWithName(name) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const provider = this.findProvider(name);
73
- if (!provider) {
74
- return Promise.resolve(undefined);
75
- }
76
- try {
77
- yield provider.connect();
78
- return provider;
79
- }
80
- catch (err) {
81
- return undefined;
82
- }
83
- });
84
- }
85
- signMessageWithName(messageToSign, name) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- const walletAddress = yield this.fetchPublicAddressWithName(name);
88
- if (!walletAddress) {
89
- return Promise.resolve(undefined);
90
- }
91
- const provider = this.findProvider(name);
92
- if (!provider) {
93
- return Promise.resolve(undefined);
94
- }
95
- const encodedMessage = new TextEncoder().encode(messageToSign);
96
- return provider.connect().then(() => __awaiter(this, void 0, void 0, function* () {
97
- const { signature } = (yield provider.signMessage(encodedMessage, 'utf8'));
98
- return bufferToBase64(signature);
99
- }));
100
- });
101
- }
102
- _setupEventListeners(listeners, web3Provider) {
103
- const handleAccountChange = (address) => __awaiter(this, void 0, void 0, function* () {
104
- var _a, _b, _c;
105
- if (!address) {
106
- yield (web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.connect());
107
- if ((_a = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _a === void 0 ? void 0 : _a.toString()) {
108
- (_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, [web3Provider.publicKey.toString()]);
109
- }
110
- return;
111
- }
112
- if (address.toString()) {
113
- yield ((_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [address.toString()]));
114
- }
115
- });
116
- const handleDisconnect = () => __awaiter(this, void 0, void 0, function* () {
117
- var _d;
118
- yield ((_d = listeners.onDisconnect) === null || _d === void 0 ? void 0 : _d.call(listeners));
119
- });
120
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', handleAccountChange);
121
- web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', handleDisconnect);
122
- return () => { };
123
- }
124
- _teardownEventListeners(name) {
125
- const web3Provider = this.findProvider(name);
126
- if (!web3Provider) {
127
- return;
128
- }
129
- web3Provider.removeAllListeners();
130
- }
131
- getConnectedAccountsWithName(name) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const provider = this.findProvider(name);
134
- if (!provider) {
135
- return [];
136
- }
137
- let connectionResult;
138
- try {
139
- connectionResult = yield provider.connect({
140
- onlyIfTrusted: true,
141
- });
142
- }
143
- catch (e) {
144
- return [];
145
- }
146
- const { address, publicKey } = connectionResult !== null && connectionResult !== void 0 ? connectionResult : {};
147
- if (address) {
148
- return [address];
149
- }
150
- else if (publicKey) {
151
- return [publicKey.toString()];
152
- }
153
- else {
154
- return [];
155
- }
156
- });
157
- }
158
- }
159
-
160
- export { SolProviderHelper };
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var web3_js = require('@solana/web3.js');
7
- var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
- var rpcProviders = require('../../rpcProviders.cjs');
9
- var errors = require('../../errors.cjs');
10
-
11
- class SolWalletConnector extends walletConnectorCore.WalletConnectorBase {
12
- constructor({ solNetworks }) {
13
- super();
14
- this.supportedChains = ['SOL'];
15
- this.connectedChain = 'SOL';
16
- this.solNetworks = solNetworks;
17
- }
18
- getWeb3Provider() {
19
- var _a;
20
- const [network] = this.solNetworks;
21
- if (!network) {
22
- throw new errors.DynamicError('No enabled networks');
23
- }
24
- const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
25
- return new web3_js.Connection(rpcUrl, 'confirmed');
26
- }
27
- getRpcProvider() {
28
- var _a;
29
- return tslib.__awaiter(this, void 0, void 0, function* () {
30
- if (this.solNetworks.length === 0)
31
- return;
32
- const configurations = {
33
- cosmos: [],
34
- evm: undefined,
35
- solana: this.solNetworks,
36
- starknet: undefined,
37
- };
38
- return (_a = rpcProviders.getSolanaDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
39
- });
40
- }
41
- getBalance() {
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- const signer = yield this.getSigner();
44
- if (!signer)
45
- return;
46
- const publicKey = new web3_js.PublicKey(signer.publicKey.toString());
47
- const balance = this.lamportsToSol(yield this.getWeb3Provider().getBalance(publicKey));
48
- return balance.toString();
49
- });
50
- }
51
- // Solana uses lamports as the smallest unit of currency. This converts lamports to SOL.
52
- lamportsToSol(lamports) {
53
- return lamports / 1000000000;
54
- }
55
- }
56
-
57
- exports.SolWalletConnector = SolWalletConnector;
@@ -1,18 +0,0 @@
1
- import { Connection } from '@solana/web3.js';
2
- import type { NetworkConfiguration } from '@dynamic-labs/sdk-api';
3
- import { Chain, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { ISolana } from '../window';
5
- export declare abstract class SolWalletConnector extends WalletConnectorBase {
6
- solNetworks: NetworkConfiguration[];
7
- supportedChains: Chain[];
8
- connectedChain: Chain;
9
- constructor({ solNetworks }: {
10
- solNetworks: NetworkConfiguration[];
11
- });
12
- getWeb3Provider(): Connection;
13
- getRpcProvider(): Promise<Connection | undefined>;
14
- abstract getSigner(): Promise<ISolana | undefined>;
15
- abstract connect(): Promise<void>;
16
- getBalance(): Promise<string | undefined>;
17
- lamportsToSol(lamports: number): number;
18
- }
@@ -1,53 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { Connection, PublicKey } from '@solana/web3.js';
3
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { getSolanaDefaultRpcProvider } from '../../rpcProviders.js';
5
- import { DynamicError } from '../../errors.js';
6
-
7
- class SolWalletConnector extends WalletConnectorBase {
8
- constructor({ solNetworks }) {
9
- super();
10
- this.supportedChains = ['SOL'];
11
- this.connectedChain = 'SOL';
12
- this.solNetworks = solNetworks;
13
- }
14
- getWeb3Provider() {
15
- var _a;
16
- const [network] = this.solNetworks;
17
- if (!network) {
18
- throw new DynamicError('No enabled networks');
19
- }
20
- const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
21
- return new Connection(rpcUrl, 'confirmed');
22
- }
23
- getRpcProvider() {
24
- var _a;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- if (this.solNetworks.length === 0)
27
- return;
28
- const configurations = {
29
- cosmos: [],
30
- evm: undefined,
31
- solana: this.solNetworks,
32
- starknet: undefined,
33
- };
34
- return (_a = getSolanaDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
35
- });
36
- }
37
- getBalance() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const signer = yield this.getSigner();
40
- if (!signer)
41
- return;
42
- const publicKey = new PublicKey(signer.publicKey.toString());
43
- const balance = this.lamportsToSol(yield this.getWeb3Provider().getBalance(publicKey));
44
- return balance.toString();
45
- });
46
- }
47
- // Solana uses lamports as the smallest unit of currency. This converts lamports to SOL.
48
- lamportsToSol(lamports) {
49
- return lamports / 1000000000;
50
- }
51
- }
52
-
53
- export { SolWalletConnector };
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var convertors = require('../../utils/convertors.cjs');
5
- var solWalletConnector = require('./solWalletConnector.cjs');
6
- var solProviderHelper = require('./solProviderHelper.cjs');
7
-
8
- class Solflare extends solWalletConnector.SolWalletConnector {
9
- constructor() {
10
- super(...arguments);
11
- this.name = 'Solflare';
12
- this.solProviderHelper = new solProviderHelper.SolProviderHelper();
13
- }
14
- isInstalledOnBrowser() {
15
- return this.solProviderHelper.isInstalledHelper(this.name);
16
- }
17
- fetchPublicAddress() {
18
- return tslib.__awaiter(this, void 0, void 0, function* () {
19
- return this.solProviderHelper.fetchPublicAddressWithName(this.name);
20
- });
21
- }
22
- connect() {
23
- return tslib.__awaiter(this, void 0, void 0, function* () {
24
- yield this.solProviderHelper.connectWithName(this.name);
25
- });
26
- }
27
- getSigner() {
28
- return tslib.__awaiter(this, void 0, void 0, function* () {
29
- return this.solProviderHelper.connectWithName(this.name);
30
- });
31
- }
32
- signMessage(messageToSign) {
33
- return tslib.__awaiter(this, void 0, void 0, function* () {
34
- const walletAddress = yield this.fetchPublicAddress();
35
- if (!walletAddress) {
36
- return undefined;
37
- }
38
- const provider = this.solProviderHelper.findProvider(this.name);
39
- if (!provider) {
40
- return undefined;
41
- }
42
- const encodedMessage = new TextEncoder().encode(messageToSign);
43
- const isSignedMessage = (value) => value.signature !== undefined;
44
- yield provider.connect();
45
- /**
46
- * TODO: Remove the sleep once problem is fixed on Solflare's extension.
47
- * Tracked in DYN-442
48
- */
49
- yield new Promise((resolve) => {
50
- setTimeout(resolve, 100);
51
- });
52
- const rawMessage = yield provider.signMessage(encodedMessage, 'utf8');
53
- return isSignedMessage(rawMessage)
54
- ? convertors.bufferToBase64(rawMessage.signature)
55
- : undefined;
56
- });
57
- }
58
- getConnectedAccounts() {
59
- return tslib.__awaiter(this, void 0, void 0, function* () {
60
- return this.solProviderHelper.getConnectedAccountsWithName(this.name);
61
- });
62
- }
63
- }
64
-
65
- module.exports = Solflare;
@@ -1,14 +0,0 @@
1
- import { ISolana } from '../window';
2
- import { SolWalletConnector } from './solWalletConnector';
3
- import { SolProviderHelper } from './solProviderHelper';
4
- declare class Solflare extends SolWalletConnector {
5
- name: string;
6
- solProviderHelper: SolProviderHelper;
7
- isInstalledOnBrowser(): boolean;
8
- fetchPublicAddress(): Promise<string | undefined>;
9
- connect(): Promise<void>;
10
- getSigner(): Promise<ISolana | undefined>;
11
- signMessage(messageToSign: string): Promise<string | undefined>;
12
- getConnectedAccounts(): Promise<string[]>;
13
- }
14
- export default Solflare;
@@ -1,63 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { bufferToBase64 } from '../../utils/convertors.js';
3
- import { SolWalletConnector } from './solWalletConnector.js';
4
- import { SolProviderHelper } from './solProviderHelper.js';
5
-
6
- class Solflare extends SolWalletConnector {
7
- constructor() {
8
- super(...arguments);
9
- this.name = 'Solflare';
10
- this.solProviderHelper = new SolProviderHelper();
11
- }
12
- isInstalledOnBrowser() {
13
- return this.solProviderHelper.isInstalledHelper(this.name);
14
- }
15
- fetchPublicAddress() {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- return this.solProviderHelper.fetchPublicAddressWithName(this.name);
18
- });
19
- }
20
- connect() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- yield this.solProviderHelper.connectWithName(this.name);
23
- });
24
- }
25
- getSigner() {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- return this.solProviderHelper.connectWithName(this.name);
28
- });
29
- }
30
- signMessage(messageToSign) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const walletAddress = yield this.fetchPublicAddress();
33
- if (!walletAddress) {
34
- return undefined;
35
- }
36
- const provider = this.solProviderHelper.findProvider(this.name);
37
- if (!provider) {
38
- return undefined;
39
- }
40
- const encodedMessage = new TextEncoder().encode(messageToSign);
41
- const isSignedMessage = (value) => value.signature !== undefined;
42
- yield provider.connect();
43
- /**
44
- * TODO: Remove the sleep once problem is fixed on Solflare's extension.
45
- * Tracked in DYN-442
46
- */
47
- yield new Promise((resolve) => {
48
- setTimeout(resolve, 100);
49
- });
50
- const rawMessage = yield provider.signMessage(encodedMessage, 'utf8');
51
- return isSignedMessage(rawMessage)
52
- ? bufferToBase64(rawMessage.signature)
53
- : undefined;
54
- });
55
- }
56
- getConnectedAccounts() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- return this.solProviderHelper.getConnectedAccountsWithName(this.name);
59
- });
60
- }
61
- }
62
-
63
- export { Solflare as default };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var starknetWalletConnector = require('./starknetWalletConnector.cjs');
5
-
6
- class ArgentX extends starknetWalletConnector {
7
- constructor() {
8
- super('Argent X', 'argentX');
9
- }
10
- getConnectedAccounts() {
11
- return tslib.__awaiter(this, void 0, void 0, function* () {
12
- const address = yield this.fetchPublicAddress();
13
- if (!address)
14
- return [];
15
- return [address];
16
- });
17
- }
18
- }
19
-
20
- module.exports = ArgentX;
@@ -1,7 +0,0 @@
1
- import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- import StarknetProvider from './starknetWalletConnector';
3
- declare class ArgentX extends StarknetProvider implements WalletConnector {
4
- constructor();
5
- getConnectedAccounts(): Promise<string[]>;
6
- }
7
- export default ArgentX;
@@ -1,18 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import StarknetWalletConnector from './starknetWalletConnector.js';
3
-
4
- class ArgentX extends StarknetWalletConnector {
5
- constructor() {
6
- super('Argent X', 'argentX');
7
- }
8
- getConnectedAccounts() {
9
- return __awaiter(this, void 0, void 0, function* () {
10
- const address = yield this.fetchPublicAddress();
11
- if (!address)
12
- return [];
13
- return [address];
14
- });
15
- }
16
- }
17
-
18
- export { ArgentX as default };