@dynamic-labs/multi-wallet 0.17.0-RC.6 → 0.17.0-RC.8

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 (164) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +8 -6
  3. package/src/index.cjs +0 -18
  4. package/src/index.d.ts +0 -4
  5. package/src/index.js +1 -4
  6. package/src/multi-wallet.cjs +53 -96
  7. package/src/multi-wallet.js +53 -96
  8. package/src/types.d.ts +9 -47
  9. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +1 -1
  10. package/src/utils/getApiProviders.cjs +15 -0
  11. package/src/utils/getApiProviders.d.ts +10 -0
  12. package/src/utils/getApiProviders.js +11 -0
  13. package/src/utils/message.cjs +2 -2
  14. package/src/utils/message.d.ts +2 -2
  15. package/src/utils/message.js +1 -1
  16. package/src/utils/walletConnect.cjs +11 -8
  17. package/src/utils/walletConnect.d.ts +4 -4
  18. package/src/utils/walletConnect.js +11 -8
  19. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
  20. package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
  21. package/src/wallets/clients/coinbase/coinbase.cjs +4 -4
  22. package/src/wallets/clients/coinbase/coinbase.js +1 -1
  23. package/src/wallets/clients/coinbase/types.d.ts +2 -2
  24. package/src/wallets/clients/walletConnect/walletConnect.cjs +20 -46
  25. package/src/wallets/clients/walletConnect/walletConnect.d.ts +1 -3
  26. package/src/wallets/clients/walletConnect/walletConnect.js +18 -43
  27. package/src/wallets/cosmos/KeplrWalletConnect.cjs +18 -16
  28. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +7 -6
  29. package/src/wallets/cosmos/KeplrWalletConnect.js +14 -12
  30. package/src/wallets/cosmos/KeplrWalletConnector.cjs +21 -6
  31. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +10 -5
  32. package/src/wallets/cosmos/KeplrWalletConnector.js +21 -6
  33. package/src/wallets/cosmos/wcClient.lib.cjs +100 -0
  34. package/src/wallets/cosmos/wcClient.lib.d.ts +20 -0
  35. package/src/wallets/cosmos/wcClient.lib.js +87 -0
  36. package/src/wallets/ethereum/BloctoEvm.cjs +10 -12
  37. package/src/wallets/ethereum/BloctoEvm.d.ts +2 -7
  38. package/src/wallets/ethereum/BloctoEvm.js +8 -10
  39. package/src/wallets/ethereum/EthWalletConnector.cjs +34 -19
  40. package/src/wallets/ethereum/EthWalletConnector.d.ts +8 -4
  41. package/src/wallets/ethereum/EthWalletConnector.js +28 -13
  42. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -2
  43. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -2
  44. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +2 -2
  45. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  46. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +14 -38
  47. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +5 -7
  48. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +14 -38
  49. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +10 -4
  50. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +9 -3
  51. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +15 -11
  52. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +9 -8
  53. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +13 -9
  54. package/src/wallets/ethereum/coinbase.cjs +9 -11
  55. package/src/wallets/ethereum/coinbase.d.ts +7 -11
  56. package/src/wallets/ethereum/coinbase.js +10 -12
  57. package/src/wallets/ethereum/ethProviderHelper.cjs +103 -101
  58. package/src/wallets/ethereum/ethProviderHelper.d.ts +24 -31
  59. package/src/wallets/ethereum/ethProviderHelper.js +100 -98
  60. package/src/wallets/ethereum/evm-network.cjs +2 -2
  61. package/src/wallets/ethereum/evm-network.d.ts +1 -17
  62. package/src/wallets/ethereum/evm-network.js +2 -2
  63. package/src/wallets/ethereum/injected/BloctoInjected.cjs +2 -3
  64. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +2 -3
  65. package/src/wallets/ethereum/injected/BloctoInjected.js +2 -3
  66. package/src/wallets/ethereum/injected/BraveEvm.cjs +2 -3
  67. package/src/wallets/ethereum/injected/BraveEvm.d.ts +2 -3
  68. package/src/wallets/ethereum/injected/BraveEvm.js +2 -3
  69. package/src/wallets/ethereum/injected/Dawn.cjs +2 -3
  70. package/src/wallets/ethereum/injected/Dawn.d.ts +2 -3
  71. package/src/wallets/ethereum/injected/Dawn.js +2 -3
  72. package/src/wallets/ethereum/injected/ExodusEvm.cjs +2 -3
  73. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +2 -3
  74. package/src/wallets/ethereum/injected/ExodusEvm.js +2 -3
  75. package/src/wallets/ethereum/injected/Frame.cjs +2 -3
  76. package/src/wallets/ethereum/injected/Frame.d.ts +2 -3
  77. package/src/wallets/ethereum/injected/Frame.js +2 -3
  78. package/src/wallets/ethereum/injected/GameStop.cjs +2 -3
  79. package/src/wallets/ethereum/injected/GameStop.d.ts +2 -3
  80. package/src/wallets/ethereum/injected/GameStop.js +2 -3
  81. package/src/wallets/ethereum/injected/InjectedWalletBase.cjs +74 -0
  82. package/src/wallets/ethereum/{meta-mask.d.ts → injected/InjectedWalletBase.d.ts} +7 -9
  83. package/src/wallets/ethereum/injected/InjectedWalletBase.js +72 -0
  84. package/src/wallets/ethereum/injected/MetaMask.cjs +13 -0
  85. package/src/wallets/ethereum/injected/MetaMask.d.ts +6 -0
  86. package/src/wallets/ethereum/injected/MetaMask.js +11 -0
  87. package/src/wallets/ethereum/injected/Opera.cjs +2 -3
  88. package/src/wallets/ethereum/injected/Opera.d.ts +2 -3
  89. package/src/wallets/ethereum/injected/Opera.js +2 -3
  90. package/src/wallets/ethereum/injected/PhantomEvm.cjs +2 -3
  91. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +2 -3
  92. package/src/wallets/ethereum/injected/PhantomEvm.js +2 -3
  93. package/src/wallets/ethereum/injected/Trust.cjs +3 -3
  94. package/src/wallets/ethereum/injected/Trust.d.ts +3 -3
  95. package/src/wallets/ethereum/injected/Trust.js +3 -3
  96. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +2 -3
  97. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +2 -3
  98. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +2 -3
  99. package/src/wallets/ethereum/injected/Zerion.cjs +3 -3
  100. package/src/wallets/ethereum/injected/Zerion.d.ts +3 -3
  101. package/src/wallets/ethereum/injected/Zerion.js +3 -3
  102. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  103. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  104. package/src/wallets/getWalletConnectConnector.cjs +7 -10
  105. package/src/wallets/getWalletConnectConnector.d.ts +2 -5
  106. package/src/wallets/getWalletConnectConnector.js +7 -10
  107. package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
  108. package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
  109. package/src/wallets/solana/CoinbaseSolana.js +8 -11
  110. package/src/wallets/solana/glow.cjs +8 -11
  111. package/src/wallets/solana/glow.d.ts +1 -3
  112. package/src/wallets/solana/glow.js +8 -11
  113. package/src/wallets/solana/injected/BraveSol.cjs +2 -1
  114. package/src/wallets/solana/injected/BraveSol.js +2 -1
  115. package/src/wallets/solana/phantom-ledger.cjs +5 -5
  116. package/src/wallets/solana/phantom-ledger.js +1 -1
  117. package/src/wallets/solana/phantom.cjs +8 -12
  118. package/src/wallets/solana/phantom.d.ts +1 -3
  119. package/src/wallets/solana/phantom.js +8 -12
  120. package/src/wallets/solana/slope.cjs +4 -4
  121. package/src/wallets/solana/slope.js +1 -1
  122. package/src/wallets/solana/solProviderHelper.cjs +47 -48
  123. package/src/wallets/solana/solProviderHelper.d.ts +18 -18
  124. package/src/wallets/solana/solProviderHelper.js +47 -48
  125. package/src/wallets/solana/solWalletConnector.cjs +24 -6
  126. package/src/wallets/solana/solWalletConnector.d.ts +8 -5
  127. package/src/wallets/solana/solWalletConnector.js +23 -5
  128. package/src/wallets/solana/solflare.cjs +6 -7
  129. package/src/wallets/solana/solflare.d.ts +0 -2
  130. package/src/wallets/solana/solflare.js +6 -7
  131. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  132. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  133. package/src/wallets/walletConnect/index.d.ts +1 -1
  134. package/src/wallets/walletConnect/walletConnect.cjs +8 -7
  135. package/src/wallets/walletConnect/walletConnect.d.ts +7 -7
  136. package/src/wallets/walletConnect/walletConnect.js +6 -5
  137. package/src/wallets/walletConnect/walletConnectV2.cjs +14 -14
  138. package/src/wallets/walletConnect/walletConnectV2.d.ts +7 -7
  139. package/src/wallets/walletConnect/walletConnectV2.js +3 -3
  140. package/src/wallets/walletConnect/zerion.d.ts +2 -4
  141. package/src/errors.cjs +0 -66
  142. package/src/errors.d.ts +0 -34
  143. package/src/errors.js +0 -54
  144. package/src/rpcProviders.cjs +0 -76
  145. package/src/rpcProviders.d.ts +0 -5
  146. package/src/rpcProviders.js +0 -69
  147. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  148. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  149. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  150. package/src/utils/CancellablePromise/index.d.ts +0 -1
  151. package/src/utils/logger.cjs +0 -9
  152. package/src/utils/logger.d.ts +0 -2
  153. package/src/utils/logger.js +0 -5
  154. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  155. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  156. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  157. package/src/wallets/ethereum/fortmatic.cjs +0 -75
  158. package/src/wallets/ethereum/fortmatic.d.ts +0 -26
  159. package/src/wallets/ethereum/fortmatic.js +0 -69
  160. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  161. package/src/wallets/ethereum/meta-mask.js +0 -61
  162. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
  163. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
  164. package/src/wallets/getMobileOrInjectedWallet.js +0 -22
@@ -3,41 +3,15 @@ import { bufferToBase64 } from '../../utils/convertors.js';
3
3
  import { ProviderLookup } from '../ProviderLookup.js';
4
4
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
5
5
 
6
+ var _a;
6
7
  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) {
8
+ static installedProviderLookup(providerFlags) {
35
9
  return ProviderLookup(this.allInstalledProviders(), providerFlags);
36
10
  }
37
- allInstalledProviders() {
11
+ static allInstalledProviders() {
38
12
  return this.findSolanaProviders(window.solana).concat(this.findSolanaProviders(window.solflare), this.findSolanaProviders(window.glowSolana));
39
13
  }
40
- findSolanaProviders(solana) {
14
+ static findSolanaProviders(solana) {
41
15
  const solanaProviders = [];
42
16
  if (solana && !solana.providers) {
43
17
  solanaProviders.push(solana);
@@ -49,14 +23,14 @@ class SolProviderHelper {
49
23
  }
50
24
  return solanaProviders;
51
25
  }
52
- isInstalledHelper(walletName) {
26
+ static isInstalledHelper(walletName) {
53
27
  return this.findProvider(walletName) !== undefined;
54
28
  }
55
- findProvider(walletName) {
56
- var _a, _b;
57
- return (_b = (_a = this.providers)[normalizeWalletName(walletName)]) === null || _b === void 0 ? void 0 : _b.call(_a);
29
+ static findProvider(walletName) {
30
+ var _b, _c;
31
+ return (_c = (_b = this.providers)[normalizeWalletName(walletName)]) === null || _c === void 0 ? void 0 : _c.call(_b);
58
32
  }
59
- fetchPublicAddressWithName(name) {
33
+ static fetchPublicAddressWithName(name) {
60
34
  return __awaiter(this, void 0, void 0, function* () {
61
35
  const provider = this.findProvider(name);
62
36
  if (!provider) {
@@ -67,7 +41,7 @@ class SolProviderHelper {
67
41
  return publicKey ? publicKey.toString() : Promise.resolve(undefined);
68
42
  });
69
43
  }
70
- connectWithName(name) {
44
+ static connectWithName(name) {
71
45
  return __awaiter(this, void 0, void 0, function* () {
72
46
  const provider = this.findProvider(name);
73
47
  if (!provider) {
@@ -82,7 +56,7 @@ class SolProviderHelper {
82
56
  }
83
57
  });
84
58
  }
85
- signMessageWithName(messageToSign, name) {
59
+ static signMessageWithName(messageToSign, name) {
86
60
  return __awaiter(this, void 0, void 0, function* () {
87
61
  const walletAddress = yield this.fetchPublicAddressWithName(name);
88
62
  if (!walletAddress) {
@@ -99,36 +73,35 @@ class SolProviderHelper {
99
73
  }));
100
74
  });
101
75
  }
102
- _setupEventListeners(listeners, web3Provider) {
76
+ static _setupEventListeners(listeners, web3Provider) {
103
77
  const handleAccountChange = (address) => __awaiter(this, void 0, void 0, function* () {
104
- var _a, _b, _c;
78
+ var _b, _c, _d;
105
79
  if (!address) {
106
80
  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()]);
81
+ if ((_b = web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString()) {
82
+ (_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [web3Provider.publicKey.toString()]);
109
83
  }
110
84
  return;
111
85
  }
112
86
  if (address.toString()) {
113
- yield ((_c = listeners.onAccountChange) === null || _c === void 0 ? void 0 : _c.call(listeners, [address.toString()]));
87
+ yield ((_d = listeners.onAccountChange) === null || _d === void 0 ? void 0 : _d.call(listeners, [address.toString()]));
114
88
  }
115
89
  });
116
90
  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));
91
+ var _e;
92
+ yield ((_e = listeners.onDisconnect) === null || _e === void 0 ? void 0 : _e.call(listeners));
119
93
  });
120
94
  web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('accountChanged', handleAccountChange);
121
95
  web3Provider === null || web3Provider === void 0 ? void 0 : web3Provider.on('disconnect', handleDisconnect);
122
- return () => { };
123
96
  }
124
- _teardownEventListeners(name) {
97
+ static _teardownEventListeners(name) {
125
98
  const web3Provider = this.findProvider(name);
126
99
  if (!web3Provider) {
127
100
  return;
128
101
  }
129
102
  web3Provider.removeAllListeners();
130
103
  }
131
- getConnectedAccountsWithName(name) {
104
+ static getConnectedAccountsWithName(name) {
132
105
  return __awaiter(this, void 0, void 0, function* () {
133
106
  const provider = this.findProvider(name);
134
107
  if (!provider) {
@@ -155,6 +128,32 @@ class SolProviderHelper {
155
128
  }
156
129
  });
157
130
  }
158
- }
131
+ }
132
+ _a = SolProviderHelper;
133
+ SolProviderHelper.GlowProvider = () => _a.installedProviderLookup([{ flag: 'isGlow', value: true }]);
134
+ SolProviderHelper.CoinbaseProvider = () => _a.findSolanaProviders(window.coinbaseSolana)[0];
135
+ SolProviderHelper.PhantomProvider = () => _a.installedProviderLookup([
136
+ { flag: 'isPhantom', value: true },
137
+ { flag: 'isBraveWallet', value: false },
138
+ { flag: 'isExodus', value: false },
139
+ ]);
140
+ SolProviderHelper.SolflareProvider = () => _a.installedProviderLookup([{ flag: 'isSolflare', value: true }]);
141
+ SolProviderHelper.BraveProvider = () => _a.installedProviderLookup([
142
+ { flag: 'isPhantom', value: true },
143
+ { flag: 'isBraveWallet', value: true },
144
+ ]);
145
+ SolProviderHelper.ExodusProvider = () => _a.installedProviderLookup([
146
+ { flag: 'isPhantom', value: true },
147
+ { flag: 'isExodus', value: true },
148
+ ]);
149
+ SolProviderHelper.providers = {
150
+ bravesol: _a.BraveProvider,
151
+ coinbasesolana: _a.CoinbaseProvider,
152
+ exodussol: _a.ExodusProvider,
153
+ glow: _a.GlowProvider,
154
+ phantom: _a.PhantomProvider,
155
+ phantomledger: _a.PhantomProvider,
156
+ solflare: _a.SolflareProvider,
157
+ };
159
158
 
160
159
  export { SolProviderHelper };
@@ -5,27 +5,45 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var web3_js = require('@solana/web3.js');
7
7
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
- var rpcProviders = require('../../rpcProviders.cjs');
9
- var errors = require('../../errors.cjs');
8
+ var rpcProviders = require('@dynamic-labs/rpc-providers');
9
+ var utils = require('@dynamic-labs/utils');
10
10
 
11
11
  class SolWalletConnector extends walletConnectorCore.WalletConnectorBase {
12
- constructor({ solNetworks }) {
12
+ constructor({ solNetworks, chainRpcProviders }) {
13
+ var _a;
13
14
  super();
14
15
  this.supportedChains = ['SOL'];
15
16
  this.connectedChain = 'SOL';
16
17
  this.solNetworks = solNetworks;
18
+ this.chainRpcProviders = chainRpcProviders;
19
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(rpcProviders.ProviderChain.SOLANA, (config) => {
20
+ const rpcProviders = {};
21
+ if (config === null || config === void 0 ? void 0 : config.solana) {
22
+ rpcProviders.solana = config.solana.map((network) => {
23
+ var _a;
24
+ const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
25
+ const provider = new web3_js.Connection(rpcUrl);
26
+ return {
27
+ chainId: network.chainId.toString(),
28
+ chainName: network.name,
29
+ provider,
30
+ };
31
+ });
32
+ }
33
+ return rpcProviders.solana;
34
+ });
17
35
  }
18
36
  getWeb3Provider() {
19
37
  var _a;
20
38
  const [network] = this.solNetworks;
21
39
  if (!network) {
22
- throw new errors.DynamicError('No enabled networks');
40
+ throw new utils.DynamicError('No enabled networks');
23
41
  }
24
42
  const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
25
43
  return new web3_js.Connection(rpcUrl, 'confirmed');
26
44
  }
27
45
  getRpcProvider() {
28
- var _a;
46
+ var _a, _b;
29
47
  return tslib.__awaiter(this, void 0, void 0, function* () {
30
48
  if (this.solNetworks.length === 0)
31
49
  return;
@@ -35,7 +53,7 @@ class SolWalletConnector extends walletConnectorCore.WalletConnectorBase {
35
53
  solana: this.solNetworks,
36
54
  starknet: undefined,
37
55
  };
38
- return (_a = rpcProviders.getSolanaDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
56
+ return (_b = (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.getSolanaRpcProviderByChainId(configurations, '101')) === null || _b === void 0 ? void 0 : _b.provider;
39
57
  });
40
58
  }
41
59
  getBalance() {
@@ -1,14 +1,17 @@
1
1
  import { Connection } from '@solana/web3.js';
2
- import type { NetworkConfiguration } from '@dynamic-labs/sdk-api';
3
2
  import { Chain, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
+ import { GenericNetwork } from '@dynamic-labs/types';
4
+ import { ChainRpcProviders } from '@dynamic-labs/rpc-providers';
4
5
  import { ISolana } from '../window';
6
+ export type SolWalletConnectorOpts = {
7
+ chainRpcProviders: typeof ChainRpcProviders;
8
+ solNetworks: GenericNetwork[];
9
+ };
5
10
  export declare abstract class SolWalletConnector extends WalletConnectorBase {
6
- solNetworks: NetworkConfiguration[];
11
+ solNetworks: GenericNetwork[];
7
12
  supportedChains: Chain[];
8
13
  connectedChain: Chain;
9
- constructor({ solNetworks }: {
10
- solNetworks: NetworkConfiguration[];
11
- });
14
+ constructor({ solNetworks, chainRpcProviders }: SolWalletConnectorOpts);
12
15
  getWeb3Provider(): Connection;
13
16
  getRpcProvider(): Promise<Connection | undefined>;
14
17
  abstract getSigner(): Promise<ISolana | undefined>;
@@ -1,15 +1,33 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
3
  import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { getSolanaDefaultRpcProvider } from '../../rpcProviders.js';
5
- import { DynamicError } from '../../errors.js';
4
+ import { ProviderChain } from '@dynamic-labs/rpc-providers';
5
+ import { DynamicError } from '@dynamic-labs/utils';
6
6
 
7
7
  class SolWalletConnector extends WalletConnectorBase {
8
- constructor({ solNetworks }) {
8
+ constructor({ solNetworks, chainRpcProviders }) {
9
+ var _a;
9
10
  super();
10
11
  this.supportedChains = ['SOL'];
11
12
  this.connectedChain = 'SOL';
12
13
  this.solNetworks = solNetworks;
14
+ this.chainRpcProviders = chainRpcProviders;
15
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerChainProviders(ProviderChain.SOLANA, (config) => {
16
+ const rpcProviders = {};
17
+ if (config === null || config === void 0 ? void 0 : config.solana) {
18
+ rpcProviders.solana = config.solana.map((network) => {
19
+ var _a;
20
+ const rpcUrl = ((_a = network.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || network.rpcUrls[0];
21
+ const provider = new Connection(rpcUrl);
22
+ return {
23
+ chainId: network.chainId.toString(),
24
+ chainName: network.name,
25
+ provider,
26
+ };
27
+ });
28
+ }
29
+ return rpcProviders.solana;
30
+ });
13
31
  }
14
32
  getWeb3Provider() {
15
33
  var _a;
@@ -21,7 +39,7 @@ class SolWalletConnector extends WalletConnectorBase {
21
39
  return new Connection(rpcUrl, 'confirmed');
22
40
  }
23
41
  getRpcProvider() {
24
- var _a;
42
+ var _a, _b;
25
43
  return __awaiter(this, void 0, void 0, function* () {
26
44
  if (this.solNetworks.length === 0)
27
45
  return;
@@ -31,7 +49,7 @@ class SolWalletConnector extends WalletConnectorBase {
31
49
  solana: this.solNetworks,
32
50
  starknet: undefined,
33
51
  };
34
- return (_a = getSolanaDefaultRpcProvider(configurations)) === null || _a === void 0 ? void 0 : _a.provider;
52
+ return (_b = (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.getSolanaRpcProviderByChainId(configurations, '101')) === null || _b === void 0 ? void 0 : _b.provider;
35
53
  });
36
54
  }
37
55
  getBalance() {
@@ -9,24 +9,23 @@ class Solflare extends solWalletConnector.SolWalletConnector {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.name = 'Solflare';
12
- this.solProviderHelper = new solProviderHelper.SolProviderHelper();
13
12
  }
14
13
  isInstalledOnBrowser() {
15
- return this.solProviderHelper.isInstalledHelper(this.name);
14
+ return solProviderHelper.SolProviderHelper.isInstalledHelper(this.name);
16
15
  }
17
16
  fetchPublicAddress() {
18
17
  return tslib.__awaiter(this, void 0, void 0, function* () {
19
- return this.solProviderHelper.fetchPublicAddressWithName(this.name);
18
+ return solProviderHelper.SolProviderHelper.fetchPublicAddressWithName(this.name);
20
19
  });
21
20
  }
22
21
  connect() {
23
22
  return tslib.__awaiter(this, void 0, void 0, function* () {
24
- yield this.solProviderHelper.connectWithName(this.name);
23
+ yield solProviderHelper.SolProviderHelper.connectWithName(this.name);
25
24
  });
26
25
  }
27
26
  getSigner() {
28
27
  return tslib.__awaiter(this, void 0, void 0, function* () {
29
- return this.solProviderHelper.connectWithName(this.name);
28
+ return solProviderHelper.SolProviderHelper.connectWithName(this.name);
30
29
  });
31
30
  }
32
31
  signMessage(messageToSign) {
@@ -35,7 +34,7 @@ class Solflare extends solWalletConnector.SolWalletConnector {
35
34
  if (!walletAddress) {
36
35
  return undefined;
37
36
  }
38
- const provider = this.solProviderHelper.findProvider(this.name);
37
+ const provider = solProviderHelper.SolProviderHelper.findProvider(this.name);
39
38
  if (!provider) {
40
39
  return undefined;
41
40
  }
@@ -57,7 +56,7 @@ class Solflare extends solWalletConnector.SolWalletConnector {
57
56
  }
58
57
  getConnectedAccounts() {
59
58
  return tslib.__awaiter(this, void 0, void 0, function* () {
60
- return this.solProviderHelper.getConnectedAccountsWithName(this.name);
59
+ return solProviderHelper.SolProviderHelper.getConnectedAccountsWithName(this.name);
61
60
  });
62
61
  }
63
62
  }
@@ -1,9 +1,7 @@
1
1
  import { ISolana } from '../window';
2
2
  import { SolWalletConnector } from './solWalletConnector';
3
- import { SolProviderHelper } from './solProviderHelper';
4
3
  declare class Solflare extends SolWalletConnector {
5
4
  name: string;
6
- solProviderHelper: SolProviderHelper;
7
5
  isInstalledOnBrowser(): boolean;
8
6
  fetchPublicAddress(): Promise<string | undefined>;
9
7
  connect(): Promise<void>;
@@ -7,24 +7,23 @@ class Solflare extends SolWalletConnector {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.name = 'Solflare';
10
- this.solProviderHelper = new SolProviderHelper();
11
10
  }
12
11
  isInstalledOnBrowser() {
13
- return this.solProviderHelper.isInstalledHelper(this.name);
12
+ return SolProviderHelper.isInstalledHelper(this.name);
14
13
  }
15
14
  fetchPublicAddress() {
16
15
  return __awaiter(this, void 0, void 0, function* () {
17
- return this.solProviderHelper.fetchPublicAddressWithName(this.name);
16
+ return SolProviderHelper.fetchPublicAddressWithName(this.name);
18
17
  });
19
18
  }
20
19
  connect() {
21
20
  return __awaiter(this, void 0, void 0, function* () {
22
- yield this.solProviderHelper.connectWithName(this.name);
21
+ yield SolProviderHelper.connectWithName(this.name);
23
22
  });
24
23
  }
25
24
  getSigner() {
26
25
  return __awaiter(this, void 0, void 0, function* () {
27
- return this.solProviderHelper.connectWithName(this.name);
26
+ return SolProviderHelper.connectWithName(this.name);
28
27
  });
29
28
  }
30
29
  signMessage(messageToSign) {
@@ -33,7 +32,7 @@ class Solflare extends SolWalletConnector {
33
32
  if (!walletAddress) {
34
33
  return undefined;
35
34
  }
36
- const provider = this.solProviderHelper.findProvider(this.name);
35
+ const provider = SolProviderHelper.findProvider(this.name);
37
36
  if (!provider) {
38
37
  return undefined;
39
38
  }
@@ -55,7 +54,7 @@ class Solflare extends SolWalletConnector {
55
54
  }
56
55
  getConnectedAccounts() {
57
56
  return __awaiter(this, void 0, void 0, function* () {
58
- return this.solProviderHelper.getConnectedAccountsWithName(this.name);
57
+ return SolProviderHelper.getConnectedAccountsWithName(this.name);
59
58
  });
60
59
  }
61
60
  }
@@ -6,8 +6,7 @@ var starknet = require('starknet');
6
6
  var constants = require('starknet/constants');
7
7
  var uint256 = require('starknet/dist/utils/uint256');
8
8
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
- var errors = require('../../errors.cjs');
10
- var logger = require('../../utils/logger.cjs');
9
+ var utils = require('@dynamic-labs/utils');
11
10
  var convertors = require('../../utils/convertors.cjs');
12
11
  var constants$1 = require('../constants.cjs');
13
12
  var ethereumContractAbi = require('./ethereumContractAbi.cjs');
@@ -31,7 +30,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
31
30
  }
32
31
  }
33
32
  catch (err) {
34
- logger.logger.error(err);
33
+ walletConnectorCore.logger.error(err);
35
34
  }
36
35
  });
37
36
  }
@@ -68,7 +67,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
68
67
  const wallet = yield this.getWallet();
69
68
  const walletAddress = yield this.fetchPublicAddress();
70
69
  if (!walletAddress || !wallet) {
71
- logger.logger.error('Could not fetch wallet address for signing message');
70
+ walletConnectorCore.logger.error('Could not fetch wallet address for signing message');
72
71
  return undefined;
73
72
  }
74
73
  const { account } = wallet;
@@ -83,7 +82,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
83
82
  const walletAddress = yield this.fetchPublicAddress();
84
83
  const provider = yield this.getWeb3Provider();
85
84
  if (!walletAddress || !provider) {
86
- logger.logger.error('Could not fetch wallet address for getting balance');
85
+ walletConnectorCore.logger.error('Could not fetch wallet address for getting balance');
87
86
  return undefined;
88
87
  }
89
88
  const contract = new starknet.Contract(ethereumContractAbi, constants$1.ETH_STARKNET_ADDRESS, provider);
@@ -97,7 +96,7 @@ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
97
96
  return (gweiBalance / 1e18).toFixed(6);
98
97
  }
99
98
  catch (error) {
100
- throw new errors.DynamicError('Something went wrong');
99
+ throw new utils.DynamicError('Something went wrong');
101
100
  }
102
101
  });
103
102
  }
@@ -3,9 +3,8 @@ import { getInstalledWallets, disconnect } from 'get-starknet';
3
3
  import { Contract } from 'starknet';
4
4
  import { StarknetChainId } from 'starknet/constants.js';
5
5
  import { uint256ToBN } from 'starknet/dist/utils/uint256.js';
6
- import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
7
- import { DynamicError } from '../../errors.js';
8
- import { logger } from '../../utils/logger.js';
6
+ import { WalletConnectorBase, logger } from '@dynamic-labs/wallet-connector-core';
7
+ import { DynamicError } from '@dynamic-labs/utils';
9
8
  import { formatTypedDataMessage } from '../../utils/convertors.js';
10
9
  import { ETH_STARKNET_ADDRESS } from '../constants.js';
11
10
  import ETH_CONTRACT_ABI from './ethereumContractAbi.js';
@@ -1,2 +1,2 @@
1
1
  export { default } from './walletConnect';
2
- export { default as WalletConnectV2 } from './walletConnectV2';
2
+ export { default as WalletConnectV2, type WalletConnectorV2Opts, } from './walletConnectV2';
@@ -4,20 +4,21 @@ var tslib = require('tslib');
4
4
  var WalletConnectProvider = require('@walletconnect/ethereum-provider');
5
5
  var ethers = require('ethers');
6
6
  var walletBook = require('@dynamic-labs/wallet-book');
7
+ var utils = require('@dynamic-labs/utils');
7
8
  var constants = require('../constants.cjs');
8
9
  var EthWalletConnector = require('../ethereum/EthWalletConnector.cjs');
9
10
  var walletConnect = require('../clients/walletConnect/walletConnect.cjs');
10
11
  var isMobile = require('../../utils/isMobile.cjs');
11
12
  var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
12
- var errors = require('../../errors.cjs');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
16
16
  var WalletConnectProvider__default = /*#__PURE__*/_interopDefaultLegacy(WalletConnectProvider);
17
17
 
18
18
  class WalletConnect extends EthWalletConnector.EthWalletConnector {
19
- constructor({ walletName, evmNetworks, }) {
20
- super({ evmNetworks });
19
+ constructor(_a) {
20
+ var { walletName } = _a, props = tslib.__rest(_a, ["walletName"]);
21
+ super(props);
21
22
  this.supportedChains = ['EVM', 'ETH'];
22
23
  this.connectedChain = 'EVM';
23
24
  this.canConnectViaQrCode = true;
@@ -42,7 +43,7 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
42
43
  }
43
44
  }
44
45
  setupEventListeners(listeners) {
45
- return walletConnect.setupWalletConnectEventListeners({
46
+ walletConnect.setupWalletConnectEventListeners({
46
47
  onAccountChange: listeners.onAccountChange,
47
48
  onChainChange: listeners.onChainChange,
48
49
  onDisconnect: listeners.onDisconnect,
@@ -104,13 +105,13 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
104
105
  }
105
106
  if (this.switchNetworkOnlyFromWallet !== undefined &&
106
107
  this.switchNetworkOnlyFromWallet) {
107
- throw new errors.DynamicError('Network switching is only supported through the wallet');
108
+ throw new utils.DynamicError('Network switching is only supported through the wallet');
108
109
  }
109
110
  if (!this.supportsNetworkSwitching()) {
110
- throw new errors.DynamicError('Network switching not supported');
111
+ throw new utils.DynamicError('Network switching not supported');
111
112
  }
112
113
  if (!client) {
113
- throw new errors.DynamicError('Client not found');
114
+ throw new utils.DynamicError('Client not found');
114
115
  }
115
116
  if (isMobile.isMobile()) {
116
117
  const deepLink = walletConnect.getDeepLink(client.uri, walletBook.getWalletBookWallet(this.name));
@@ -1,8 +1,11 @@
1
1
  import Client from '@walletconnect/client';
2
2
  import { ethers } from 'ethers';
3
3
  import { Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
- import { EthWalletConnector } from '../ethereum/EthWalletConnector';
5
- import { EvmNetwork } from '../ethereum/evm-network';
4
+ import { EvmNetwork } from '@dynamic-labs/types';
5
+ import { EthWalletConnector, EthWalletConnectorOpts } from '../ethereum/EthWalletConnector';
6
+ export type WalletConnectOpts = EthWalletConnectorOpts & {
7
+ walletName: string;
8
+ };
6
9
  declare class WalletConnect extends EthWalletConnector {
7
10
  supportedChains: Chain[];
8
11
  connectedChain: Chain;
@@ -12,13 +15,10 @@ declare class WalletConnect extends EthWalletConnector {
12
15
  switchNetworkOnlyFromWallet: boolean;
13
16
  client?: Client;
14
17
  clientOptions?: any;
15
- constructor({ walletName, evmNetworks, }: {
16
- evmNetworks: EvmNetwork[];
17
- walletName: string;
18
- });
18
+ constructor({ walletName, ...props }: WalletConnectOpts);
19
19
  getClient(): Client;
20
20
  supportsNetworkSwitching(): boolean;
21
- setupEventListeners(listeners: WalletEventListeners): () => void;
21
+ setupEventListeners(listeners: WalletEventListeners): void;
22
22
  teardownEventListeners(): void;
23
23
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
24
24
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -1,17 +1,18 @@
1
- import { __awaiter } from 'tslib';
1
+ import { __rest, __awaiter } from 'tslib';
2
2
  import WalletConnectProvider from '@walletconnect/ethereum-provider';
3
3
  import { ethers } from 'ethers';
4
4
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
5
+ import { DynamicError } from '@dynamic-labs/utils';
5
6
  import { infuraId } from '../constants.js';
6
7
  import { EthWalletConnector } from '../ethereum/EthWalletConnector.js';
7
8
  import { initClient, setupWalletConnectEventListeners, teardownWalletConnectEventListeners, fetchWalletConnectEVMPublicAddress, getDeepLink, signWalletConnectPersonalMessage, killWalletConnectSession } from '../clients/walletConnect/walletConnect.js';
8
9
  import { isMobile, isIOS } from '../../utils/isMobile.js';
9
10
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
10
- import { DynamicError } from '../../errors.js';
11
11
 
12
12
  class WalletConnect extends EthWalletConnector {
13
- constructor({ walletName, evmNetworks, }) {
14
- super({ evmNetworks });
13
+ constructor(_a) {
14
+ var { walletName } = _a, props = __rest(_a, ["walletName"]);
15
+ super(props);
15
16
  this.supportedChains = ['EVM', 'ETH'];
16
17
  this.connectedChain = 'EVM';
17
18
  this.canConnectViaQrCode = true;
@@ -36,7 +37,7 @@ class WalletConnect extends EthWalletConnector {
36
37
  }
37
38
  }
38
39
  setupEventListeners(listeners) {
39
- return setupWalletConnectEventListeners({
40
+ setupWalletConnectEventListeners({
40
41
  onAccountChange: listeners.onAccountChange,
41
42
  onChainChange: listeners.onChainChange,
42
43
  onDisconnect: listeners.onDisconnect,