@dynamic-labs/multi-wallet 0.17.0-RC.7 → 0.17.0-RC.9

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 (233) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +8 -14
  3. package/src/index.cjs +0 -57
  4. package/src/index.d.ts +0 -13
  5. package/src/index.js +1 -18
  6. package/src/multi-wallet.cjs +27 -87
  7. package/src/multi-wallet.d.ts +0 -1
  8. package/src/multi-wallet.js +25 -84
  9. package/src/types.d.ts +2 -23
  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 +3 -4
  14. package/src/utils/message.js +1 -2
  15. package/src/wallets/algorand/MyAlgoWalletConnector.cjs +3 -3
  16. package/src/wallets/algorand/MyAlgoWalletConnector.js +1 -1
  17. package/src/wallets/constants.cjs +0 -2
  18. package/src/wallets/constants.js +1 -2
  19. package/src/wallets/cosmos/KeplrWalletConnect.cjs +16 -17
  20. package/src/wallets/cosmos/KeplrWalletConnect.d.ts +9 -5
  21. package/src/wallets/cosmos/KeplrWalletConnect.js +9 -10
  22. package/src/wallets/cosmos/KeplrWalletConnector.cjs +13 -5
  23. package/src/wallets/cosmos/KeplrWalletConnector.d.ts +6 -4
  24. package/src/wallets/cosmos/KeplrWalletConnector.js +13 -5
  25. package/src/wallets/cosmos/wcClient.lib.cjs +141 -0
  26. package/src/wallets/{clients/walletConnect/walletConnect.d.ts → cosmos/wcClient.lib.d.ts} +8 -11
  27. package/src/wallets/cosmos/wcClient.lib.js +126 -0
  28. package/src/wallets/flow/FlowWalletConnector.cjs +7 -8
  29. package/src/wallets/flow/FlowWalletConnector.js +2 -3
  30. package/src/wallets/flow/lilico.cjs +2 -2
  31. package/src/wallets/flow/lilico.js +1 -1
  32. package/src/wallets/solana/CoinbaseSolana.cjs +8 -11
  33. package/src/wallets/solana/CoinbaseSolana.d.ts +1 -3
  34. package/src/wallets/solana/CoinbaseSolana.js +8 -11
  35. package/src/wallets/solana/glow.cjs +8 -11
  36. package/src/wallets/solana/glow.d.ts +1 -3
  37. package/src/wallets/solana/glow.js +8 -11
  38. package/src/wallets/solana/injected/BraveSol.cjs +2 -1
  39. package/src/wallets/solana/injected/BraveSol.js +2 -1
  40. package/src/wallets/solana/phantom-ledger.cjs +5 -5
  41. package/src/wallets/solana/phantom-ledger.js +1 -1
  42. package/src/wallets/solana/phantom.cjs +11 -15
  43. package/src/wallets/solana/phantom.d.ts +1 -3
  44. package/src/wallets/solana/phantom.js +9 -13
  45. package/src/wallets/solana/slope.cjs +4 -4
  46. package/src/wallets/solana/slope.js +1 -1
  47. package/src/wallets/solana/solProviderHelper.cjs +49 -51
  48. package/src/wallets/solana/solProviderHelper.d.ts +20 -20
  49. package/src/wallets/solana/solProviderHelper.js +48 -50
  50. package/src/wallets/solana/solWalletConnector.cjs +2 -2
  51. package/src/wallets/solana/solWalletConnector.js +1 -1
  52. package/src/wallets/solana/solflare.cjs +6 -7
  53. package/src/wallets/solana/solflare.d.ts +0 -2
  54. package/src/wallets/solana/solflare.js +6 -7
  55. package/src/wallets/starknet/braavos.cjs +2 -2
  56. package/src/wallets/starknet/braavos.js +1 -1
  57. package/src/wallets/starknet/starknetWalletConnector.cjs +5 -6
  58. package/src/wallets/starknet/starknetWalletConnector.js +2 -3
  59. package/src/wallets/window.d.ts +10 -22
  60. package/src/errors.cjs +0 -66
  61. package/src/errors.d.ts +0 -34
  62. package/src/errors.js +0 -54
  63. package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
  64. package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
  65. package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
  66. package/src/utils/CancellablePromise/index.d.ts +0 -1
  67. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
  68. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
  69. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
  70. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
  71. package/src/utils/encoding.cjs +0 -18
  72. package/src/utils/encoding.d.ts +0 -4
  73. package/src/utils/encoding.js +0 -12
  74. package/src/utils/findProvider/findProvider.cjs +0 -7
  75. package/src/utils/findProvider/findProvider.d.ts +0 -2
  76. package/src/utils/findProvider/findProvider.js +0 -3
  77. package/src/utils/findProvider/index.d.ts +0 -1
  78. package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
  79. package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
  80. package/src/utils/getChainInfo/getChainInfo.js +0 -55
  81. package/src/utils/getChainInfo/index.d.ts +0 -1
  82. package/src/utils/getWalletConnectorByName.cjs +0 -19
  83. package/src/utils/getWalletConnectorByName.d.ts +0 -2
  84. package/src/utils/getWalletConnectorByName.js +0 -15
  85. package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
  86. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
  87. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
  88. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
  89. package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
  90. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
  91. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
  92. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
  93. package/src/utils/isFunction/index.d.ts +0 -1
  94. package/src/utils/isFunction/isFunction.cjs +0 -8
  95. package/src/utils/isFunction/isFunction.d.ts +0 -1
  96. package/src/utils/isFunction/isFunction.js +0 -4
  97. package/src/utils/isMobile.cjs +0 -54
  98. package/src/utils/isMobile.d.ts +0 -13
  99. package/src/utils/isMobile.js +0 -46
  100. package/src/utils/isSameAddress/index.d.ts +0 -1
  101. package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
  102. package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
  103. package/src/utils/isSameAddress/isSameAddress.js +0 -5
  104. package/src/utils/isSameAddress/utils/index.d.ts +0 -1
  105. package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
  106. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
  107. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
  108. package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
  109. package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
  110. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
  111. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
  112. package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
  113. package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
  114. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
  115. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
  116. package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
  117. package/src/utils/logger.cjs +0 -9
  118. package/src/utils/logger.d.ts +0 -2
  119. package/src/utils/logger.js +0 -5
  120. package/src/utils/normalizeWalletName/index.d.ts +0 -1
  121. package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
  122. package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
  123. package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
  124. package/src/utils/shouldLowercaseAddress.cjs +0 -11
  125. package/src/utils/shouldLowercaseAddress.d.ts +0 -1
  126. package/src/utils/shouldLowercaseAddress.js +0 -7
  127. package/src/utils/walletConnect.cjs +0 -31
  128. package/src/utils/walletConnect.d.ts +0 -5
  129. package/src/utils/walletConnect.js +0 -27
  130. package/src/wallets/ProviderLookup.cjs +0 -18
  131. package/src/wallets/ProviderLookup.d.ts +0 -4
  132. package/src/wallets/ProviderLookup.js +0 -14
  133. package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
  134. package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
  135. package/src/wallets/clients/coinbase/coinbase.js +0 -66
  136. package/src/wallets/clients/coinbase/index.d.ts +0 -2
  137. package/src/wallets/clients/coinbase/types.d.ts +0 -14
  138. package/src/wallets/clients/walletConnect/index.d.ts +0 -1
  139. package/src/wallets/clients/walletConnect/types.d.ts +0 -4
  140. package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -250
  141. package/src/wallets/clients/walletConnect/walletConnect.js +0 -233
  142. package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
  143. package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
  144. package/src/wallets/cosmos/getKeplrConnector.js +0 -14
  145. package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
  146. package/src/wallets/ethereum/BloctoEvm.d.ts +0 -22
  147. package/src/wallets/ethereum/BloctoEvm.js +0 -105
  148. package/src/wallets/ethereum/EthWalletConnector.cjs +0 -207
  149. package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -38
  150. package/src/wallets/ethereum/EthWalletConnector.js +0 -203
  151. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
  152. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
  153. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
  154. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
  155. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
  156. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
  157. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
  158. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
  159. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -103
  160. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
  161. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -99
  162. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
  163. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -56
  164. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
  165. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -52
  166. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
  167. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -177
  168. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -54
  169. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -173
  170. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
  171. package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
  172. package/src/wallets/ethereum/coinbase.cjs +0 -66
  173. package/src/wallets/ethereum/coinbase.d.ts +0 -25
  174. package/src/wallets/ethereum/coinbase.js +0 -64
  175. package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
  176. package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
  177. package/src/wallets/ethereum/ethProviderHelper.js +0 -193
  178. package/src/wallets/ethereum/evm-network.cjs +0 -20
  179. package/src/wallets/ethereum/evm-network.d.ts +0 -6
  180. package/src/wallets/ethereum/evm-network.js +0 -16
  181. package/src/wallets/ethereum/fortmatic.cjs +0 -76
  182. package/src/wallets/ethereum/fortmatic.d.ts +0 -25
  183. package/src/wallets/ethereum/fortmatic.js +0 -70
  184. package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
  185. package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
  186. package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
  187. package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
  188. package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
  189. package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
  190. package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
  191. package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
  192. package/src/wallets/ethereum/injected/Dawn.js +0 -11
  193. package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
  194. package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
  195. package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
  196. package/src/wallets/ethereum/injected/Frame.cjs +0 -13
  197. package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
  198. package/src/wallets/ethereum/injected/Frame.js +0 -11
  199. package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
  200. package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
  201. package/src/wallets/ethereum/injected/GameStop.js +0 -11
  202. package/src/wallets/ethereum/injected/Opera.cjs +0 -13
  203. package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
  204. package/src/wallets/ethereum/injected/Opera.js +0 -11
  205. package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
  206. package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
  207. package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
  208. package/src/wallets/ethereum/injected/Trust.cjs +0 -13
  209. package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
  210. package/src/wallets/ethereum/injected/Trust.js +0 -11
  211. package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
  212. package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
  213. package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
  214. package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
  215. package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
  216. package/src/wallets/ethereum/injected/Zerion.js +0 -11
  217. package/src/wallets/ethereum/meta-mask.cjs +0 -63
  218. package/src/wallets/ethereum/meta-mask.d.ts +0 -26
  219. package/src/wallets/ethereum/meta-mask.js +0 -61
  220. package/src/wallets/getMobileOrInjectedWallet.cjs +0 -22
  221. package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -9
  222. package/src/wallets/getMobileOrInjectedWallet.js +0 -18
  223. package/src/wallets/getWalletConnectConnector.cjs +0 -16
  224. package/src/wallets/getWalletConnectConnector.d.ts +0 -5
  225. package/src/wallets/getWalletConnectConnector.js +0 -12
  226. package/src/wallets/walletConnect/index.d.ts +0 -2
  227. package/src/wallets/walletConnect/walletConnect.cjs +0 -133
  228. package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
  229. package/src/wallets/walletConnect/walletConnect.js +0 -127
  230. package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
  231. package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
  232. package/src/wallets/walletConnect/walletConnectV2.js +0 -262
  233. package/src/wallets/walletConnect/zerion.d.ts +0 -6
@@ -1,58 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { logger } from '../../../../utils/logger.js';
3
- import { EmailMagicWalletConnector } from '../EmailMagicWalletConnector/EmailMagicWalletConnector.js';
4
-
5
- class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector {
6
- verifyOneTimePassword(otp) {
7
- return __awaiter(this, void 0, void 0, function* () {
8
- const handle = this._handle;
9
- const timeoutMs = 1000 * 10;
10
- const invalidOTPError = new Error('Please double check your code and try again');
11
- if (!handle) {
12
- throw new Error('Login with email OTP before verifying');
13
- }
14
- const timeoutPromise = new Promise((resolve, reject) => {
15
- setTimeout(() => {
16
- reject(invalidOTPError);
17
- }, timeoutMs);
18
- });
19
- const promise = new Promise((resolve, reject) => {
20
- handle
21
- .on('done', () => resolve(true))
22
- .on('invalid-email-otp', () => reject(invalidOTPError))
23
- .on('error', reject)
24
- .catch(reject)
25
- .emit('verify-email-otp', otp);
26
- });
27
- return Promise.race([promise, timeoutPromise]);
28
- });
29
- }
30
- loginWithMagic() {
31
- var _a;
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const client = this._magicClient.getClient();
34
- const user = yield this.getUserMetadata();
35
- if (user && user.publicAddress) {
36
- this.setEmail(user === null || user === void 0 ? void 0 : user.email);
37
- return user.publicAddress;
38
- }
39
- const { email } = this;
40
- if (!email)
41
- return;
42
- (_a = this._handle) === null || _a === void 0 ? void 0 : _a.emit('cancel');
43
- try {
44
- yield this._handle;
45
- }
46
- catch (err) {
47
- logger.error(err);
48
- }
49
- this._handle = client.auth.loginWithEmailOTP({
50
- email,
51
- showUI: false,
52
- });
53
- return this._handle;
54
- });
55
- }
56
- }
57
-
58
- export { EmailOTPMagicWalletConnector };
@@ -1 +0,0 @@
1
- export { EmailOTPMagicWalletConnector } from './EmailOTPMagicWalletConnector';
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var utils = require('@dynamic-labs/utils');
7
-
8
- // these are based off of Magic's EthNetworkName type
9
- const chainNameToChainIdMap = {
10
- arbitrum: 42161,
11
- avalance: 43114,
12
- bsc: 56,
13
- gnosis: 100,
14
- goerli: 5,
15
- mainnet: 1,
16
- optimism: 10,
17
- polygon: 137,
18
- sepolia: 11155111,
19
- };
20
- class MagicClientNetworkHandler {
21
- constructor({ createClient, evmNetworks, config, defaultChainId, }) {
22
- var _a, _b, _c;
23
- this._clients = {};
24
- this.evmNetworks = [];
25
- this._config = config;
26
- this.evmNetworks = utils.parseEvmNetworks(evmNetworks);
27
- this._networkId =
28
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
29
- ? chainNameToChainIdMap[config.network]
30
- : (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : defaultChainId) !== null && _c !== void 0 ? _c : 1;
31
- this._createClient = createClient;
32
- }
33
- setListeners(listeners) {
34
- this._listeners = listeners;
35
- }
36
- onChainChanged(networkChainId) {
37
- var _a, _b;
38
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
39
- }
40
- selectNetwork(networkChainId) {
41
- var _a;
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- this._networkId = networkChainId;
44
- (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
45
- });
46
- }
47
- get networkId() {
48
- return this._networkId;
49
- }
50
- get config() {
51
- return this._config;
52
- }
53
- getClient() {
54
- const networkId = this._networkId;
55
- const client = this._clients[networkId];
56
- if (client) {
57
- return client;
58
- }
59
- const config = this.getConfigForNetwork(networkId);
60
- const newClient = this._createClient(config);
61
- this._clients[networkId] = newClient;
62
- return newClient;
63
- }
64
- getConfigForNetwork(networkId) {
65
- const rpcUrl = this._getRpcUrlByNetworkId(networkId);
66
- // Should prioritize custom rpc config form dashboard
67
- if (rpcUrl) {
68
- return Object.assign(Object.assign({}, this._config), { network: {
69
- chainId: this._getChainIdByNetworkId(networkId),
70
- rpcUrl,
71
- } });
72
- }
73
- // Next should return configuration provided through settings
74
- if (this.configNetworkId === networkId) {
75
- return this._config;
76
- }
77
- if (networkId === 1) {
78
- return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
79
- }
80
- if (networkId === 5) {
81
- return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
82
- }
83
- return this._config;
84
- }
85
- get configNetworkId() {
86
- var _a, _b, _c;
87
- if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
88
- return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
89
- }
90
- return undefined;
91
- }
92
- _getRpcUrlByNetworkId(networkId) {
93
- var _a;
94
- const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
95
- return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
96
- }
97
- _getChainIdByNetworkId(networkId) {
98
- var _a;
99
- return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
100
- }
101
- }
102
-
103
- exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
@@ -1,33 +0,0 @@
1
- import { MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
2
- import { WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
- import { EvmNetwork } from '@dynamic-labs/types';
4
- import { MagicConnectorProps } from '../MagicWalletConnector';
5
- export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
6
- redirectURI?: string;
7
- };
8
- type ConfigForNetwork = MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
9
- export type MagicClientNetworkHandlerProps<TClient> = Pick<MagicConnectorProps, 'config' | 'evmNetworks' | 'defaultChainId'> & {
10
- createClient: (config: ConfigForNetwork) => TClient;
11
- };
12
- export declare class MagicClientNetworkHandler<TClient = unknown> {
13
- protected _clients: {
14
- [chainId: number]: TClient;
15
- };
16
- protected _networkId: number;
17
- protected _config: MagicLinkConfig | undefined;
18
- protected _listeners: WalletEventListeners | undefined;
19
- evmNetworks: EvmNetwork[];
20
- protected _createClient: MagicClientNetworkHandlerProps<TClient>['createClient'];
21
- constructor({ createClient, evmNetworks, config, defaultChainId, }: MagicClientNetworkHandlerProps<TClient>);
22
- setListeners(listeners: WalletEventListeners | undefined): void;
23
- onChainChanged(networkChainId: number): void;
24
- selectNetwork(networkChainId: number): Promise<void>;
25
- get networkId(): number;
26
- get config(): MagicLinkConfig | undefined;
27
- getClient(): TClient;
28
- getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
29
- private get configNetworkId();
30
- private _getRpcUrlByNetworkId;
31
- private _getChainIdByNetworkId;
32
- }
33
- export {};
@@ -1,99 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { parseEvmNetworks } from '@dynamic-labs/utils';
3
-
4
- // these are based off of Magic's EthNetworkName type
5
- const chainNameToChainIdMap = {
6
- arbitrum: 42161,
7
- avalance: 43114,
8
- bsc: 56,
9
- gnosis: 100,
10
- goerli: 5,
11
- mainnet: 1,
12
- optimism: 10,
13
- polygon: 137,
14
- sepolia: 11155111,
15
- };
16
- class MagicClientNetworkHandler {
17
- constructor({ createClient, evmNetworks, config, defaultChainId, }) {
18
- var _a, _b, _c;
19
- this._clients = {};
20
- this.evmNetworks = [];
21
- this._config = config;
22
- this.evmNetworks = parseEvmNetworks(evmNetworks);
23
- this._networkId =
24
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
25
- ? chainNameToChainIdMap[config.network]
26
- : (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : defaultChainId) !== null && _c !== void 0 ? _c : 1;
27
- this._createClient = createClient;
28
- }
29
- setListeners(listeners) {
30
- this._listeners = listeners;
31
- }
32
- onChainChanged(networkChainId) {
33
- var _a, _b;
34
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
35
- }
36
- selectNetwork(networkChainId) {
37
- var _a;
38
- return __awaiter(this, void 0, void 0, function* () {
39
- this._networkId = networkChainId;
40
- (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
41
- });
42
- }
43
- get networkId() {
44
- return this._networkId;
45
- }
46
- get config() {
47
- return this._config;
48
- }
49
- getClient() {
50
- const networkId = this._networkId;
51
- const client = this._clients[networkId];
52
- if (client) {
53
- return client;
54
- }
55
- const config = this.getConfigForNetwork(networkId);
56
- const newClient = this._createClient(config);
57
- this._clients[networkId] = newClient;
58
- return newClient;
59
- }
60
- getConfigForNetwork(networkId) {
61
- const rpcUrl = this._getRpcUrlByNetworkId(networkId);
62
- // Should prioritize custom rpc config form dashboard
63
- if (rpcUrl) {
64
- return Object.assign(Object.assign({}, this._config), { network: {
65
- chainId: this._getChainIdByNetworkId(networkId),
66
- rpcUrl,
67
- } });
68
- }
69
- // Next should return configuration provided through settings
70
- if (this.configNetworkId === networkId) {
71
- return this._config;
72
- }
73
- if (networkId === 1) {
74
- return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
75
- }
76
- if (networkId === 5) {
77
- return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
78
- }
79
- return this._config;
80
- }
81
- get configNetworkId() {
82
- var _a, _b, _c;
83
- if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
84
- return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
85
- }
86
- return undefined;
87
- }
88
- _getRpcUrlByNetworkId(networkId) {
89
- var _a;
90
- const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
91
- return ((_a = evm === null || evm === void 0 ? void 0 : evm.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || (evm === null || evm === void 0 ? void 0 : evm.rpcUrls[0]);
92
- }
93
- _getChainIdByNetworkId(networkId) {
94
- var _a;
95
- return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
96
- }
97
- }
98
-
99
- export { MagicClientNetworkHandler };
@@ -1,2 +0,0 @@
1
- export { MagicClientNetworkHandler } from './MagicClientNetworkHandler';
2
- export type { MagicLinkConfig } from './MagicClientNetworkHandler';
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var oauth = require('@magic-ext/oauth');
7
- var magicSdk = require('magic-sdk');
8
- var MagicWalletConnector = require('../MagicWalletConnector/MagicWalletConnector.cjs');
9
- var logger = require('../../../../utils/logger.cjs');
10
- var MagicClientNetworkHandler = require('../MagicClientNetworkHandler/MagicClientNetworkHandler.cjs');
11
-
12
- class MagicSocialWalletConnector extends MagicWalletConnector.MagicWalletConnector {
13
- constructor(opts) {
14
- super(opts);
15
- this.canConnectViaSocial = true;
16
- this._magicClient = new MagicClientNetworkHandler.MagicClientNetworkHandler({
17
- config: opts.config,
18
- createClient: (config) => new magicSdk.Magic(opts.apiKey, Object.assign(Object.assign({}, config), { extensions: [new oauth.OAuthExtension()] })),
19
- defaultChainId: opts.defaultChainId,
20
- evmNetworks: opts.evmNetworks,
21
- });
22
- }
23
- connect(provider) {
24
- return tslib.__awaiter(this, void 0, void 0, function* () {
25
- yield this.loginWithMagic(provider);
26
- });
27
- }
28
- loginWithMagic(provider) {
29
- return tslib.__awaiter(this, void 0, void 0, function* () {
30
- const client = this._magicClient.getClient();
31
- if (yield client.user.isLoggedIn()) {
32
- return (yield client.user.getMetadata()).publicAddress;
33
- }
34
- yield client.oauth.loginWithRedirect({
35
- provider,
36
- redirectURI: window.location.href,
37
- });
38
- return undefined;
39
- });
40
- }
41
- getSession() {
42
- return tslib.__awaiter(this, void 0, void 0, function* () {
43
- const client = this._magicClient.getClient();
44
- try {
45
- const result = yield client.oauth.getRedirectResult();
46
- return result.oauth;
47
- }
48
- catch (e) {
49
- logger.logger.error(e);
50
- return undefined;
51
- }
52
- });
53
- }
54
- }
55
-
56
- exports.MagicSocialWalletConnector = MagicSocialWalletConnector;
@@ -1,12 +0,0 @@
1
- import { OAuthExtension, OAuthProvider, OAuthRedirectResult } from '@magic-ext/oauth';
2
- import { Magic } from 'magic-sdk';
3
- import { MagicConnectorProps, MagicPromiEvent, MagicWalletConnector } from '../MagicWalletConnector';
4
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
5
- export declare class MagicSocialWalletConnector extends MagicWalletConnector {
6
- canConnectViaSocial: boolean;
7
- _magicClient: MagicClientNetworkHandler<Magic<OAuthExtension[]>>;
8
- constructor(opts: MagicConnectorProps);
9
- connect(provider: OAuthProvider): Promise<void>;
10
- loginWithMagic(provider: OAuthProvider): Promise<MagicPromiEvent | undefined>;
11
- getSession(): Promise<OAuthRedirectResult['oauth'] | undefined>;
12
- }
@@ -1,52 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { OAuthExtension } from '@magic-ext/oauth';
3
- import { Magic } from 'magic-sdk';
4
- import { MagicWalletConnector } from '../MagicWalletConnector/MagicWalletConnector.js';
5
- import { logger } from '../../../../utils/logger.js';
6
- import { MagicClientNetworkHandler } from '../MagicClientNetworkHandler/MagicClientNetworkHandler.js';
7
-
8
- class MagicSocialWalletConnector extends MagicWalletConnector {
9
- constructor(opts) {
10
- super(opts);
11
- this.canConnectViaSocial = true;
12
- this._magicClient = new MagicClientNetworkHandler({
13
- config: opts.config,
14
- createClient: (config) => new Magic(opts.apiKey, Object.assign(Object.assign({}, config), { extensions: [new OAuthExtension()] })),
15
- defaultChainId: opts.defaultChainId,
16
- evmNetworks: opts.evmNetworks,
17
- });
18
- }
19
- connect(provider) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- yield this.loginWithMagic(provider);
22
- });
23
- }
24
- loginWithMagic(provider) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const client = this._magicClient.getClient();
27
- if (yield client.user.isLoggedIn()) {
28
- return (yield client.user.getMetadata()).publicAddress;
29
- }
30
- yield client.oauth.loginWithRedirect({
31
- provider,
32
- redirectURI: window.location.href,
33
- });
34
- return undefined;
35
- });
36
- }
37
- getSession() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const client = this._magicClient.getClient();
40
- try {
41
- const result = yield client.oauth.getRedirectResult();
42
- return result.oauth;
43
- }
44
- catch (e) {
45
- logger.error(e);
46
- return undefined;
47
- }
48
- });
49
- }
50
- }
51
-
52
- export { MagicSocialWalletConnector };
@@ -1 +0,0 @@
1
- export * from './MagicSocialWalletConnector';
@@ -1,177 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var magicSdk = require('magic-sdk');
7
- var ethers = require('ethers');
8
- var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
- var utils = require('@dynamic-labs/utils');
10
- var errors = require('../../../../errors.cjs');
11
- var logger = require('../../../../utils/logger.cjs');
12
- var assignConfirmationScreenToProvider = require('../../../../utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs');
13
- var CancellablePromise = require('../../../../utils/CancellablePromise/CancellablePromise.cjs');
14
- var MagicClientNetworkHandler = require('../MagicClientNetworkHandler/MagicClientNetworkHandler.cjs');
15
-
16
- const storedAddressKey = 'dynamic_magic_address';
17
- class MagicWalletConnector extends walletConnectorCore.WalletConnectorBase {
18
- get key() {
19
- return 'magiclink';
20
- }
21
- constructor({ apiKey, walletUiUtils, evmNetworks, config, defaultChainId, }) {
22
- super();
23
- this.canConnectViaCustodialService = true;
24
- this.connectedChain = 'EVM';
25
- this.supportedChains = ['ETH', 'EVM'];
26
- this.name = 'Magic Link';
27
- this._magicClient = new MagicClientNetworkHandler.MagicClientNetworkHandler({
28
- config,
29
- createClient: (config) => new magicSdk.Magic(apiKey, config),
30
- defaultChainId,
31
- evmNetworks,
32
- });
33
- this.evmNetworks = utils.parseEvmNetworks(evmNetworks);
34
- this._walletUiUtils = walletUiUtils;
35
- }
36
- getDeepLink() {
37
- return undefined;
38
- }
39
- connect() {
40
- return tslib.__awaiter(this, void 0, void 0, function* () {
41
- yield this.fetchPublicAddress();
42
- });
43
- }
44
- endSession() {
45
- return tslib.__awaiter(this, void 0, void 0, function* () {
46
- localStorage.removeItem(storedAddressKey);
47
- const client = this._magicClient.getClient();
48
- yield client.user.logout();
49
- });
50
- }
51
- getUserMetadata() {
52
- return tslib.__awaiter(this, void 0, void 0, function* () {
53
- if (yield this._isLoggedIn()) {
54
- const client = this._magicClient.getClient();
55
- return client.user.getMetadata();
56
- }
57
- return undefined;
58
- });
59
- }
60
- fetchPublicAddress() {
61
- return tslib.__awaiter(this, void 0, void 0, function* () {
62
- const address = localStorage.getItem(storedAddressKey);
63
- if (address)
64
- return address;
65
- const client = this._magicClient.getClient();
66
- try {
67
- try {
68
- this._currentAuthCancellablePromise = CancellablePromise.CancellablePromise.fromPromise(this.loginWithMagic());
69
- yield this._currentAuthCancellablePromise;
70
- }
71
- catch (err) {
72
- logger.logger.error(err);
73
- return;
74
- }
75
- const metadata = yield client.user.getMetadata();
76
- if (!metadata || !metadata.publicAddress) {
77
- throw new Error('No public address');
78
- }
79
- if (metadata.issuer) {
80
- this.providerResources = [`magic-auth:issuer:${metadata.issuer}`];
81
- }
82
- localStorage.setItem(storedAddressKey, metadata.publicAddress);
83
- return metadata.publicAddress;
84
- }
85
- catch (err) {
86
- return undefined;
87
- }
88
- });
89
- }
90
- getBalance() {
91
- return tslib.__awaiter(this, void 0, void 0, function* () {
92
- const provider = yield this.getWeb3Provider();
93
- if (!provider)
94
- throw new errors.DynamicError('No provider');
95
- const signer = provider.getSigner();
96
- const userAddress = yield signer.getAddress();
97
- return ethers.ethers.utils.formatEther(yield provider.getBalance(userAddress));
98
- });
99
- }
100
- getConnectedAccounts() {
101
- return tslib.__awaiter(this, void 0, void 0, function* () {
102
- const address = localStorage.getItem(storedAddressKey);
103
- if (!address)
104
- return [];
105
- return [address];
106
- });
107
- }
108
- getNetwork() {
109
- return tslib.__awaiter(this, void 0, void 0, function* () {
110
- return this._magicClient.networkId;
111
- });
112
- }
113
- getRpcProvider() {
114
- return tslib.__awaiter(this, void 0, void 0, function* () {
115
- return undefined;
116
- });
117
- }
118
- getSigner() {
119
- return tslib.__awaiter(this, void 0, void 0, function* () {
120
- const provider = yield this.getWeb3Provider();
121
- return provider.getSigner();
122
- });
123
- }
124
- getWeb3Provider() {
125
- return tslib.__awaiter(this, void 0, void 0, function* () {
126
- const client = this._magicClient.getClient();
127
- const provider = new ethers.ethers.providers.Web3Provider(client.rpcProvider);
128
- assignConfirmationScreenToProvider.assignConfirmationScreenToProvider(provider, this._walletUiUtils);
129
- return provider;
130
- });
131
- }
132
- setupEventListeners(listeners) {
133
- this._listeners = listeners;
134
- this._magicClient.setListeners(listeners);
135
- this._checkIfLoggedIn();
136
- }
137
- signMessage(messageToSign) {
138
- return tslib.__awaiter(this, void 0, void 0, function* () {
139
- const provider = yield this.getWeb3Provider();
140
- return provider.getSigner().signMessage(messageToSign);
141
- });
142
- }
143
- supportsNetworkSwitching() {
144
- return true;
145
- }
146
- switchNetwork({ networkChainId, }) {
147
- return tslib.__awaiter(this, void 0, void 0, function* () {
148
- if (!networkChainId) {
149
- return;
150
- }
151
- this._magicClient.selectNetwork(networkChainId);
152
- });
153
- }
154
- teardownEventListeners() {
155
- this._listeners = undefined;
156
- this._magicClient.setListeners(undefined);
157
- }
158
- _isLoggedIn() {
159
- return tslib.__awaiter(this, void 0, void 0, function* () {
160
- const client = this._magicClient.getClient();
161
- return client.user.isLoggedIn();
162
- });
163
- }
164
- _checkIfLoggedIn() {
165
- var _a, _b;
166
- return tslib.__awaiter(this, void 0, void 0, function* () {
167
- const isLoggedIn = yield this._isLoggedIn();
168
- if (!isLoggedIn) {
169
- localStorage.removeItem(storedAddressKey);
170
- (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
171
- }
172
- return isLoggedIn;
173
- });
174
- }
175
- }
176
-
177
- exports.MagicWalletConnector = MagicWalletConnector;
@@ -1,54 +0,0 @@
1
- import { LoginWithMagicLinkEvents, Magic, MagicUserMetadata, PromiEvent } from 'magic-sdk';
2
- import { ethers } from 'ethers';
3
- import { OAuthExtension, OAuthProvider } from '@magic-ext/oauth';
4
- import { Chain, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
5
- import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
6
- import { WalletUiUtils } from '../../../../types';
7
- import { CancellablePromise } from '../../../../utils/CancellablePromise';
8
- import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
9
- export type MagicConnectorProps = {
10
- apiKey: string;
11
- config?: MagicLinkConfig;
12
- defaultChainId?: number;
13
- evmNetworks: GenericNetwork[];
14
- walletUiUtils: WalletUiUtils;
15
- };
16
- export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents & {
17
- done: (result: string | null) => void;
18
- error: (reason: any) => void;
19
- settled: () => void;
20
- }>;
21
- export declare abstract class MagicWalletConnector extends WalletConnectorBase {
22
- get key(): string;
23
- canConnectViaCustodialService: boolean;
24
- connectedChain: Chain;
25
- supportedChains: Chain[];
26
- name: string;
27
- evmNetworks: EvmNetwork[];
28
- _walletUiUtils: WalletUiUtils;
29
- _listeners: WalletEventListeners | undefined;
30
- _currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
31
- protected _magicClient: MagicClientNetworkHandler<Magic | Magic<OAuthExtension[]>>;
32
- constructor({ apiKey, walletUiUtils, evmNetworks, config, defaultChainId, }: MagicConnectorProps);
33
- abstract loginWithMagic(provider?: OAuthProvider): Promise<MagicPromiEvent | undefined>;
34
- getDeepLink(): string | undefined;
35
- connect(provider?: OAuthProvider): Promise<void>;
36
- endSession(): Promise<void>;
37
- getUserMetadata(): Promise<MagicUserMetadata | undefined>;
38
- fetchPublicAddress(): Promise<string | undefined>;
39
- getBalance(): Promise<string | undefined>;
40
- getConnectedAccounts(): Promise<string[]>;
41
- getNetwork(): Promise<number | undefined>;
42
- getRpcProvider(): Promise<void | ethers.providers.JsonRpcProvider | undefined>;
43
- getSigner(): Promise<ethers.providers.JsonRpcSigner | undefined>;
44
- getWeb3Provider(): Promise<ethers.providers.Web3Provider>;
45
- setupEventListeners(listeners: WalletEventListeners): void;
46
- signMessage(messageToSign: string): Promise<string | undefined>;
47
- supportsNetworkSwitching(): boolean;
48
- switchNetwork({ networkChainId, }: {
49
- networkChainId?: number;
50
- }): Promise<void>;
51
- teardownEventListeners(): void;
52
- _isLoggedIn(): Promise<boolean>;
53
- _checkIfLoggedIn(): Promise<boolean>;
54
- }