@dynamic-labs/multi-wallet 0.16.0-RC.13 → 0.16.0-RC.14

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 (28) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +6 -5
  3. package/src/wallets/clients/walletConnect/walletConnect.d.ts +7 -3
  4. package/src/wallets/clients/walletConnect/walletConnect.js +59 -33
  5. package/src/wallets/clients/walletConnect/walletConnect.js.map +1 -1
  6. package/src/wallets/cosmos/keplrWalletConnect.d.ts +47 -2
  7. package/src/wallets/cosmos/keplrWalletConnect.js +202 -3
  8. package/src/wallets/cosmos/keplrWalletConnect.js.map +1 -1
  9. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +2 -2
  10. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js.map +1 -1
  11. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  12. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js.map +1 -1
  13. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +24 -0
  14. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +94 -0
  15. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js.map +1 -0
  16. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +2 -0
  17. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js +6 -0
  18. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.js.map +1 -0
  19. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +7 -13
  20. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +26 -45
  21. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js.map +1 -1
  22. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +1 -1
  23. package/src/wallets/ethereum/MagicConnector/index.d.ts +1 -0
  24. package/src/wallets/ethereum/MagicConnector/index.js +1 -0
  25. package/src/wallets/ethereum/MagicConnector/index.js.map +1 -1
  26. package/src/wallets/walletConnect/walletConnect.d.ts +1 -0
  27. package/src/wallets/walletConnect/walletConnect.js +2 -2
  28. package/src/wallets/walletConnect/walletConnect.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,22 @@
1
1
 
2
+ ## [0.16.0-RC.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.13...v0.16.0-RC.14) (2023-04-12)
3
+
4
+
5
+ ### Features
6
+
7
+ * **DYN-2073:** use emailOnly property to decide whether to show wallet list or not ([#1855](https://github.com/dynamic-labs/DynamicAuth/issues/1855)) ([9f98713](https://github.com/dynamic-labs/DynamicAuth/commit/9f9871343811e9bcaa4bad3b01407fcab7401630))
8
+ * **Keplr:** sign message with walletconnect and authorize ([699d438](https://github.com/dynamic-labs/DynamicAuth/commit/699d438e9c14ce5f562cbebe9c4895530bbeb0cf))
9
+ * **Keplr:** support network switch ([28c98b3](https://github.com/dynamic-labs/DynamicAuth/commit/28c98b31010bfd74b0a1a767165311a7ca1bca8a))
10
+ * **KeplrWalletCnnect:** fetch balance ([d42aad9](https://github.com/dynamic-labs/DynamicAuth/commit/d42aad9c848ced5eff782da23fd0ed50a1727f74))
11
+ * **KeplrWalletCnnect:** fetch balance ([bd0f854](https://github.com/dynamic-labs/DynamicAuth/commit/bd0f854ea95425dabdc918f87a3e85c1f30e42c9))
12
+ * **magic:** handle network switching ([c9636ef](https://github.com/dynamic-labs/DynamicAuth/commit/c9636ef61bc72970fde4182f7c2e5c05fcccf1bf))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **Keplr:** authorize with persited network ([82e9e94](https://github.com/dynamic-labs/DynamicAuth/commit/82e9e945039d9ee39a64193d6b14f993b9f980f0))
18
+ * remove extend WalletConnect from keplrWalletConnect ([9ae62be](https://github.com/dynamic-labs/DynamicAuth/commit/9ae62be5d47e1b17a986bd4c84aba3a8d3583743))
19
+
2
20
  ## [0.16.0-RC.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.0-RC.12...v0.16.0-RC.13) (2023-04-11)
3
21
 
4
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.16.0-RC.13",
3
+ "version": "0.16.0-RC.14",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -10,9 +10,10 @@
10
10
  "@blocto/sdk": "0.3.3",
11
11
  "@coinbase/wallet-sdk": "3.6.4",
12
12
  "@dynamic-labs/iconic": "0.1.16",
13
- "@dynamic-labs/sdk-api": "0.0.173",
13
+ "@dynamic-labs/sdk-api": "0.0.174",
14
14
  "@dynamic-labs/wallet-book": "0.0.10",
15
- "@keplr-wallet/types": "0.11.51",
15
+ "@keplr-wallet/types": "0.11.53",
16
+ "@keplr-wallet/wc-client": "0.11.53",
16
17
  "@onflow/fcl": "1.3.2",
17
18
  "@randlabs/myalgo-connect": "1.4.2",
18
19
  "@solana/web3.js": "1.70.1",
@@ -27,8 +28,8 @@
27
28
  "react": "18.2.0",
28
29
  "starknet": "3.19.0",
29
30
  "tslib": "2.4.1",
30
- "@dynamic-labs/logger": "0.16.0-RC.13",
31
- "@dynamic-labs/wallet-connector-core": "0.16.0-RC.13"
31
+ "@dynamic-labs/logger": "0.16.0-RC.14",
32
+ "@dynamic-labs/wallet-connector-core": "0.16.0-RC.14"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@walletconnect/types": "^2.2.1"
@@ -1,7 +1,8 @@
1
1
  import Client from '@walletconnect/client';
2
- import { FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
2
+ import { KeplrWalletConnectV1 } from '@keplr-wallet/wc-client';
3
+ import { FetchPublicAddressOpts, PayloadParams, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
4
  import { WalletSchema } from '@dynamic-labs/wallet-book';
4
- export declare const initClient: (name: string) => Client;
5
+ export declare const initClient: (name: string, settings?: any) => Client;
5
6
  /**
6
7
  * Attach event handlers to WalletConnect events.
7
8
  */
@@ -14,5 +15,8 @@ export declare const killWalletConnectSession: (client: Client) => Promise<void>
14
15
  export declare const getDeepLink: (uri: string, metadata: WalletSchema, { removeWCUri, }?: {
15
16
  removeWCUri?: boolean | undefined;
16
17
  }) => string;
17
- export declare const fetchWalletConnectPublicAddress: (metadata: WalletSchema, client: Client, opts?: FetchPublicAddressOpts) => Promise<string | undefined>;
18
+ export declare const createSession: (client: Client) => Promise<PayloadParams>;
19
+ export declare const useDeepLink: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => void;
20
+ export declare const fetchWalletConnectCosmosPublicAddress: (metadata: WalletSchema, wcClient: Client, provider: KeplrWalletConnectV1, opts: FetchPublicAddressOpts & Required<Pick<FetchPublicAddressOpts, 'chainId'>>) => Promise<string>;
21
+ export declare const fetchWalletConnectEVMPublicAddress: (metadata: WalletSchema, wcClient: Client, opts?: FetchPublicAddressOpts) => Promise<string | undefined>;
18
22
  export declare const signWalletConnectPersonalMessage: (messageToSign: string, metadata: WalletSchema, client: Client) => Promise<string | undefined>;
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signWalletConnectPersonalMessage = exports.fetchWalletConnectPublicAddress = exports.getDeepLink = exports.killWalletConnectSession = exports.teardownWalletConnectEventListeners = exports.setupWalletConnectEventListeners = exports.initClient = void 0;
3
+ exports.signWalletConnectPersonalMessage = exports.fetchWalletConnectEVMPublicAddress = exports.fetchWalletConnectCosmosPublicAddress = exports.useDeepLink = exports.createSession = exports.getDeepLink = exports.killWalletConnectSession = exports.teardownWalletConnectEventListeners = exports.setupWalletConnectEventListeners = exports.initClient = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const client_1 = tslib_1.__importDefault(require("@walletconnect/client"));
6
6
  const isMobile_1 = require("../../../utils/isMobile");
7
7
  const isSameAddress_1 = require("../../../utils/isSameAddress");
8
8
  const logger_1 = require("../../../utils/logger");
9
- const initClient = (name) => {
9
+ const initClient = (name, settings) => {
10
10
  const storageId = `walletconnect-${name}`;
11
11
  const session = localStorage.getItem(storageId);
12
12
  const clientArgs = session
13
13
  ? { session: JSON.parse(session), storageId }
14
14
  : { bridge: 'https://bridge.walletconnect.org', storageId };
15
- return new client_1.default(clientArgs);
15
+ return new client_1.default(Object.assign(Object.assign({}, clientArgs), settings));
16
16
  };
17
17
  exports.initClient = initClient;
18
18
  /**
@@ -97,46 +97,72 @@ const getDeepLink = (uri, metadata, { removeWCUri = false, } = {}) => {
97
97
  return uri;
98
98
  };
99
99
  exports.getDeepLink = getDeepLink;
100
- const fetchWalletConnectPublicAddress = (metadata, client, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
100
+ const createSession = (client) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
101
+ return new Promise((resolve, reject) => {
102
+ try {
103
+ client.on('connect', (error, payload) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
104
+ if (error)
105
+ throw error;
106
+ resolve(payload);
107
+ }));
108
+ client.on('disconnect', (error, payload) => {
109
+ throw error || payload.params[0].message;
110
+ });
111
+ }
112
+ catch (e) {
113
+ reject(e);
114
+ }
115
+ });
116
+ });
117
+ exports.createSession = createSession;
118
+ const useDeepLink = (metadata, wcClient, opts) => {
101
119
  var _a, _b, _c;
102
- if (client.connected) {
103
- const [accountPublicAddress] = client.accounts;
104
- return accountPublicAddress;
105
- }
106
- // createSession will trigger the QR code...
107
- yield client.createSession();
120
+ const deepLink = (0, exports.getDeepLink)(wcClient.uri, metadata);
108
121
  if ((0, isMobile_1.isMobile)()) {
109
- const deepLink = (0, exports.getDeepLink)(client.uri, metadata);
110
122
  window.location.href = deepLink;
111
123
  }
112
124
  else {
113
125
  if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.desktop) === null || _a === void 0 ? void 0 : _a.native) {
114
- const uri = (0, exports.getDeepLink)(client.uri, metadata);
115
- (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, uri);
126
+ (_b = opts === null || opts === void 0 ? void 0 : opts.onDesktopUri) === null || _b === void 0 ? void 0 : _b.call(opts, deepLink);
116
127
  }
117
- (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, client.uri);
128
+ (_c = opts === null || opts === void 0 ? void 0 : opts.onDisplayUri) === null || _c === void 0 ? void 0 : _c.call(opts, wcClient.uri);
118
129
  }
119
- return new Promise((resolve, reject) => {
120
- // ...then once the QR is scanned, this callback will run
121
- client.on('connect', (error, payload) => {
122
- var _a;
123
- if (error) {
124
- reject(error);
125
- }
126
- (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
127
- const [accountPublicAddress] = payload.params[0].accounts;
128
- resolve(accountPublicAddress);
129
- });
130
- client.on('disconnect', (error, payload) => {
131
- reject(error || payload.params[0].message);
132
- });
133
- });
130
+ };
131
+ exports.useDeepLink = useDeepLink;
132
+ const fetchWalletConnectCosmosPublicAddress = (metadata, wcClient, provider, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
133
+ var _a;
134
+ if (wcClient.connected) {
135
+ const key = yield provider.getKey(opts.chainId);
136
+ return key.bech32Address;
137
+ }
138
+ yield wcClient.createSession();
139
+ (0, exports.useDeepLink)(metadata, wcClient, opts);
140
+ const payload = yield (0, exports.createSession)(wcClient);
141
+ const key = yield provider.getKey(opts.chainId);
142
+ (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
143
+ wcClient.accounts = [key.bech32Address];
144
+ return key.bech32Address;
145
+ });
146
+ exports.fetchWalletConnectCosmosPublicAddress = fetchWalletConnectCosmosPublicAddress;
147
+ const fetchWalletConnectEVMPublicAddress = (metadata, wcClient, opts) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
148
+ var _b;
149
+ if (wcClient.connected) {
150
+ const [accountPublicAddress] = wcClient.accounts;
151
+ return accountPublicAddress;
152
+ }
153
+ // createSession will trigger the QR code...
154
+ yield wcClient.createSession();
155
+ (0, exports.useDeepLink)(metadata, wcClient, opts);
156
+ const payload = yield (0, exports.createSession)(wcClient);
157
+ (_b = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _b === void 0 ? void 0 : _b.call(opts, payload);
158
+ const [accountPublicAddress] = payload.params[0].accounts;
159
+ return accountPublicAddress;
134
160
  });
135
- exports.fetchWalletConnectPublicAddress = fetchWalletConnectPublicAddress;
161
+ exports.fetchWalletConnectEVMPublicAddress = fetchWalletConnectEVMPublicAddress;
136
162
  const signWalletConnectPersonalMessage = (messageToSign, metadata, client) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
137
- var _d, _e;
138
- const isCryptoWallet = ((_d = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _d === void 0 ? void 0 : _d.name) === 'Crypto.com | DeFi Wallet' ||
139
- ((_e = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _e === void 0 ? void 0 : _e.name) === 'DeFi Wallet';
163
+ var _c, _d;
164
+ const isCryptoWallet = ((_c = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _c === void 0 ? void 0 : _c.name) === 'Crypto.com | DeFi Wallet' ||
165
+ ((_d = client === null || client === void 0 ? void 0 : client.peerMeta) === null || _d === void 0 ? void 0 : _d.name) === 'DeFi Wallet';
140
166
  if (!client || !client.connected) {
141
167
  return;
142
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":";;;;AAAA,2EAA2C;AAS3C,sDAA0D;AAC1D,gEAA6D;AAC7D,kDAA+C;AAExC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,SAAS,GAAG,iBAAiB,IAAI,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE;QAC7C,CAAC,CAAC,EAAE,MAAM,EAAE,kCAAkC,EAAE,SAAS,EAAE,CAAC;IAE9D,OAAO,IAAI,gBAAM,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC,CAAC;AATW,QAAA,UAAU,cASrB;AAEF;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAC9C,IAA0B,EAC1B,MAAc,EACA,EAAE;IAChB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,GAAG,EAAE;YACV,sBAAsB;QACxB,CAAC,CAAC;KACH;IAED,IAAI,WAA+B,CAAC;IACpC,IAAI,SAA6B,CAAC;IAElC,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,gDAAgD;QAChD,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KAC5B;IAED,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;;QACjC,MAAM,CAAA,MAAA,IAAI,CAAC,YAAY,oDAAI,CAAA,CAAC;IAC9B,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAO,CAAC,EAAE,OAAsB,EAAE,EAAE;;QAC9D,gDAAgD;QAChD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,CAAC,IAAA,6BAAa,EACrC,WAAW,IAAI,EAAE,EACjB,QAAQ,CAAC,CAAC,CAAC,EACX,QAAQ,CACT,CAAC;QACF,MAAM,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC;QAE7C,gDAAgD;QAChD,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,SAAS,GAAG,OAAO,CAAC;QAEpB,IAAI,gBAAgB,EAAE;YACpB,MAAM,CAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,QAAQ,CAAC,CAAA,CAAC;SACxC;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAA,MAAA,IAAI,CAAC,aAAa,qDAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;SAC7C;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,gCAAgC,oCAmD3C;AAEK,MAAM,mCAAmC,GAAG,CAAC,MAAc,EAAE,EAAE;IACpE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC/B,CAAC,CAAC;AAHW,QAAA,mCAAmC,uCAG9C;AAEF;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAO,MAAc,EAAE,EAAE;IAC/D,IAAI;QACF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE;YACrB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;SAC5B;KACF;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAA,CAAC;AARW,QAAA,wBAAwB,4BAQnC;AAEK,MAAM,WAAW,GAAG,CACzB,GAAW,EACX,QAAsB,EACtB,EACE,WAAW,GAAG,KAAK,MAGjB,EAAE,EACN,EAAE;;IACF,IAAI,CAAC,IAAA,mBAAQ,GAAE,EAAE;QACf,MAAM,MAAM,GAAG,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,SAAS,MAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAC;QAEvE,IAAI,WAAW;YAAE,OAAO,MAAM,IAAI,EAAE,CAAC;QAErC,OAAO,GAAG,MAAM,QAAQ,kBAAkB,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,CAAC;KACzD;IACD,8CAA8C;IAC9C,6DAA6D;SACxD,IAAI,IAAA,gBAAK,GAAE,EAAE;QAChB,MAAM,MAAM,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,SAAS,MAAI,MAAA,QAAQ,CAAC,MAAM,0CAAE,MAAM,CAAA,CAAC;QAErE,IAAI,WAAW;YAAE,OAAO,MAAM,IAAI,EAAE,CAAC;QAErC,OAAO,GAAG,MAAM,QAAQ,kBAAkB,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,CAAC;KACzD;IAED,6CAA6C;IAC7C,iEAAiE;IACjE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB;AAEK,MAAM,+BAA+B,GAAG,CAC7C,QAAsB,EACtB,MAAc,EACd,IAA6B,EACA,EAAE;;IAC/B,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,MAAM,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/C,OAAO,oBAAoB,CAAC;KAC7B;IAED,4CAA4C;IAC5C,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IAE7B,IAAI,IAAA,mBAAQ,GAAE,EAAE;QACd,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;KACjC;SAAM;QACL,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,MAAM,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,GAAG,CAAC,CAAC;SAC3B;QAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,qDAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KAClC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,yDAAyD;QACzD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,OAAsB,EAAE,EAAE;;YACnE,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;aACf;YAED,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,qDAAG,OAAO,CAAC,CAAC;YAE3B,MAAM,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAmB,EAAE,OAAsB,EAAE,EAAE;YACtE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA1CW,QAAA,+BAA+B,mCA0C1C;AAEK,MAAM,gCAAgC,GAAG,CAC9C,aAAqB,EACrB,QAAsB,EACtB,MAAc,EACe,EAAE;;IAC/B,MAAM,cAAc,GAClB,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,IAAI,MAAK,0BAA0B;QACrD,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,IAAI,MAAK,aAAa,CAAC;IAE3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QAChC,OAAO;KACR;IAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAC3B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpD,MAAM,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE/C,IAAI,IAAA,mBAAQ,GAAE,EAAE;QACd,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE;YACjD,WAAW,EAAE,IAAA,gBAAK,GAAE,IAAI,cAAc;SACvC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;KACjC;IAED,IAAI;QACF,oFAAoF;QACpF,2FAA2F;QAC3F,kEAAkE;QAClE,IAAI,cAAc,IAAI,IAAA,mBAAQ,GAAE,EAAE;YAChC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM;YACL,wFAAwF;YACxF,oFAAoF;YACpF,gDAAgD;YAChD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;KAC1E;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,CAAC;KACT;AACH,CAAC,CAAA,CAAC;AA5CW,QAAA,gCAAgC,oCA4C3C"}
1
+ {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/clients/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,53 @@
1
+ import { KeplrWalletConnectV1 } from '@keplr-wallet/wc-client';
2
+ import Client from '@walletconnect/client';
3
+ import { OfflineAminoSigner } from '@keplr-wallet/types';
4
+ import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
1
5
  import { EvmNetwork } from '../ethereum/evm-network';
2
- import WalletConnect from '../walletConnect';
3
- declare class KeplrWalletConnect extends WalletConnect {
6
+ import { SwitchNetworkOps } from '../ethereum/ethProvider';
7
+ declare class KeplrWalletConnect implements WalletConnector {
4
8
  constructor({ evmNetworks }: {
5
9
  evmNetworks: EvmNetwork[];
6
10
  });
11
+ name: string;
12
+ isWalletConnect: boolean;
13
+ switchNetworkOnlyFromWallet: boolean;
14
+ client?: Client;
15
+ clientOptions: {
16
+ signingMethods: string[];
17
+ };
18
+ evmNetworks?: EvmNetwork[];
19
+ selectedNetworkId: number;
20
+ chainIdMap: Record<number, string>;
21
+ supportedChains: Chain[];
22
+ connectedChain: Chain;
23
+ providerResources?: string[];
24
+ canConnectViaCustodialService: boolean;
25
+ canConnectViaQrCode: boolean;
26
+ _keplrInstance?: KeplrWalletConnectV1;
27
+ get key(): string;
28
+ get evmNetwork(): EvmNetwork | undefined;
29
+ get selectedNetwork(): EvmNetwork | undefined;
30
+ get lcdUrl(): string | undefined;
31
+ get denom(): string | undefined;
32
+ get chainId(): string;
33
+ getProvider(): KeplrWalletConnectV1;
34
+ getClient(): Client;
35
+ getNetwork(): Promise<number>;
36
+ switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
37
+ signMessage(messageToSign: string): Promise<string | undefined>;
38
+ fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
39
+ getBalance(): Promise<string>;
40
+ connect(): Promise<void>;
41
+ endSession(): Promise<void>;
42
+ getConnectedAccounts(): Promise<string[]>;
43
+ getDeepLink(): string | undefined;
44
+ getRpcProvider(): Promise<unknown>;
45
+ getSigner(): Promise<OfflineAminoSigner | undefined>;
46
+ getWeb3Provider(): KeplrWalletConnectV1 | undefined;
47
+ isInstalledOnBrowser(): boolean;
48
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
49
+ setupEventListeners(listeners: WalletEventListeners): () => void;
50
+ teardownEventListeners(): void;
51
+ supportsNetworkSwitching(): boolean;
7
52
  }
8
53
  export default KeplrWalletConnect;
@@ -1,10 +1,209 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const walletConnect_1 = tslib_1.__importDefault(require("../walletConnect"));
5
- class KeplrWalletConnect extends walletConnect_1.default {
4
+ const wc_client_1 = require("@keplr-wallet/wc-client");
5
+ const wallet_book_1 = require("@dynamic-labs/wallet-book");
6
+ const walletConnect_1 = require("../clients/walletConnect");
7
+ const isMobile_1 = require("../../utils/isMobile");
8
+ const logger_1 = require("../../utils/logger");
9
+ const normalizeWalletName_1 = require("../../utils/normalizeWalletName");
10
+ const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
11
+ class KeplrWalletConnect {
6
12
  constructor({ evmNetworks }) {
7
- super({ evmNetworks, walletName: 'Keplr' });
13
+ var _a;
14
+ this.name = 'Keplr';
15
+ this.isWalletConnect = true;
16
+ this.switchNetworkOnlyFromWallet = false;
17
+ this.clientOptions = {
18
+ signingMethods: [
19
+ 'keplr_enable_wallet_connect_v1',
20
+ 'keplr_sign_amino_wallet_connect_v1',
21
+ ],
22
+ };
23
+ this.chainIdMap = {
24
+ 401: 'cosmoshub-4',
25
+ 402: 'axelar-dojo-1',
26
+ 403: 'osmosis-1',
27
+ };
28
+ this.supportedChains = ['COSMOS'];
29
+ this.connectedChain = 'COSMOS';
30
+ this.canConnectViaCustodialService = false;
31
+ this.canConnectViaQrCode = true;
32
+ this.evmNetworks = evmNetworks;
33
+ const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
34
+ if (persistedNetworkId) {
35
+ this.selectedNetworkId = Number(persistedNetworkId);
36
+ }
37
+ else {
38
+ this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
39
+ }
40
+ }
41
+ get key() {
42
+ return (0, normalizeWalletName_1.normalizeWalletName)(this.name);
43
+ }
44
+ get evmNetwork() {
45
+ var _a;
46
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
47
+ }
48
+ get selectedNetwork() {
49
+ var _a;
50
+ return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.networkId === this.selectedNetworkId);
51
+ }
52
+ get lcdUrl() {
53
+ var _a;
54
+ return (_a = this.selectedNetwork) === null || _a === void 0 ? void 0 : _a.lcdUrl;
55
+ }
56
+ get denom() {
57
+ var _a;
58
+ return (_a = this.selectedNetwork) === null || _a === void 0 ? void 0 : _a.nativeCurrency.denom;
59
+ }
60
+ get chainId() {
61
+ if (!this.selectedNetwork) {
62
+ return 'osmosis-1';
63
+ }
64
+ return this.chainIdMap[this.selectedNetwork.chainId];
65
+ }
66
+ getProvider() {
67
+ if (this.client && !this._keplrInstance) {
68
+ this._keplrInstance = new wc_client_1.KeplrWalletConnectV1(this.client);
69
+ }
70
+ return this._keplrInstance;
71
+ }
72
+ getClient() {
73
+ if (this.client) {
74
+ return this.client;
75
+ }
76
+ this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name), this.clientOptions);
77
+ return this.client;
78
+ }
79
+ getNetwork() {
80
+ return Promise.resolve(this.selectedNetworkId);
81
+ }
82
+ switchNetwork({ networkChainId }) {
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ if (!networkChainId)
85
+ return;
86
+ try {
87
+ const keplr = this.getProvider();
88
+ yield keplr.enable(this.chainIdMap[networkChainId]);
89
+ this.selectedNetworkId = networkChainId;
90
+ localStorage.setItem(DYNAMIC_KEPLR_NETWORK_ID, networkChainId.toString());
91
+ }
92
+ catch (e) {
93
+ logger_1.logger.error(e);
94
+ }
95
+ });
96
+ }
97
+ signMessage(messageToSign) {
98
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
99
+ const keplr = this.getProvider();
100
+ const key = yield keplr.getKey(this.chainId);
101
+ const res = yield keplr.signAmino(this.chainId, key.bech32Address, {
102
+ // The property is required in the amino doc
103
+ // https://cosmos.github.io/cosmjs/latest/amino/interfaces/StdSignDoc.html
104
+ account_number: '0',
105
+ chain_id: this.chainId,
106
+ fee: {
107
+ amount: [],
108
+ gas: '0',
109
+ },
110
+ memo: '',
111
+ msgs: [{ type: 'custom/MsgSignText', value: { text: messageToSign } }],
112
+ sequence: '0',
113
+ });
114
+ return JSON.stringify(res);
115
+ });
116
+ }
117
+ fetchPublicAddress(opts) {
118
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
119
+ const client = this.getClient();
120
+ const keplr = this.getProvider();
121
+ return (0, walletConnect_1.fetchWalletConnectCosmosPublicAddress)((0, wallet_book_1.getWalletBookWallet)(this.name), client, keplr, Object.assign(Object.assign({}, opts), { chainId: this.chainId, onConnect: (payload) => {
122
+ var _a;
123
+ payload.params[0].chainId = this.selectedNetworkId;
124
+ (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
125
+ } }));
126
+ });
127
+ }
128
+ getBalance() {
129
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
130
+ const address = yield this.fetchPublicAddress();
131
+ if (!address)
132
+ throw new Error('Address not found');
133
+ try {
134
+ const response = yield fetch(`${this.lcdUrl}/cosmos/bank/v1beta1/balances/${address}`).then((res) => res.json());
135
+ const balance = response.balances.reduce((acc, cur) => {
136
+ if (cur.denom === this.denom) {
137
+ return Number(cur.amount) / 1e6;
138
+ }
139
+ return acc;
140
+ }, 0);
141
+ return balance.toString();
142
+ }
143
+ catch (e) {
144
+ logger_1.logger.error(e);
145
+ return '0';
146
+ }
147
+ });
148
+ }
149
+ connect() {
150
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
151
+ yield this.fetchPublicAddress();
152
+ });
153
+ }
154
+ endSession() {
155
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
156
+ (0, walletConnect_1.killWalletConnectSession)(this.getClient());
157
+ });
158
+ }
159
+ getConnectedAccounts() {
160
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
161
+ const address = yield this.fetchPublicAddress({ chainId: this.chainId });
162
+ if (address)
163
+ return [address];
164
+ return [];
165
+ });
166
+ }
167
+ getDeepLink() {
168
+ var _a;
169
+ const wallet = (0, wallet_book_1.getWalletBookWallet)(this.name);
170
+ if (!(0, isMobile_1.isMobile)() && !((_a = wallet.desktop) === null || _a === void 0 ? void 0 : _a.native)) {
171
+ return undefined;
172
+ }
173
+ return (0, walletConnect_1.getDeepLink)(this.getClient().uri, wallet, {
174
+ removeWCUri: (0, isMobile_1.isIOS)() && (0, normalizeWalletName_1.normalizeWalletName)(this.name) === 'cryptocom',
175
+ });
176
+ }
177
+ getRpcProvider() {
178
+ throw new Error('Method not implemented.');
179
+ }
180
+ getSigner() {
181
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
182
+ const keplr = this.getProvider();
183
+ return keplr.getOfflineSigner(this.chainId);
184
+ });
185
+ }
186
+ getWeb3Provider() {
187
+ return this.getProvider();
188
+ }
189
+ isInstalledOnBrowser() {
190
+ return false;
191
+ }
192
+ proveOwnership(messageToSign) {
193
+ return this.signMessage(messageToSign);
194
+ }
195
+ setupEventListeners(listeners) {
196
+ return (0, walletConnect_1.setupWalletConnectEventListeners)({
197
+ onAccountChange: listeners.onAccountChange,
198
+ onChainChange: listeners.onChainChange,
199
+ onDisconnect: listeners.onDisconnect,
200
+ }, this.getClient());
201
+ }
202
+ teardownEventListeners() {
203
+ (0, walletConnect_1.teardownWalletConnectEventListeners)(this.getClient());
204
+ }
205
+ supportsNetworkSwitching() {
206
+ return true;
8
207
  }
9
208
  }
10
209
  exports.default = KeplrWalletConnect;
@@ -1 +1 @@
1
- {"version":3,"file":"keplrWalletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/cosmos/keplrWalletConnect.ts"],"names":[],"mappings":";;;AACA,6EAA6C;AAE7C,MAAM,kBAAmB,SAAQ,uBAAa;IAC5C,YAAY,EAAE,WAAW,EAAiC;QACxD,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"keplrWalletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/cosmos/keplrWalletConnect.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ class EmailMagicWalletConnector extends MagicWalletConnector_1.MagicWalletConnec
35
35
  loginWithMagic() {
36
36
  var _a;
37
37
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
- const client = this._getClient();
38
+ const client = this.getClient();
39
39
  const user = yield this.getUserMetadata();
40
40
  if (user && user.publicAddress) {
41
41
  this.setEmail((user === null || user === void 0 ? void 0 : user.email) || '');
@@ -46,7 +46,7 @@ class EmailMagicWalletConnector extends MagicWalletConnector_1.MagicWalletConnec
46
46
  return;
47
47
  return client.auth.loginWithMagicLink({
48
48
  email,
49
- redirectURI: (_a = this._config) === null || _a === void 0 ? void 0 : _a.redirectURI,
49
+ redirectURI: (_a = this.config) === null || _a === void 0 ? void 0 : _a.redirectURI,
50
50
  showUI: false,
51
51
  });
52
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,KAAK;gBACL,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW;gBACtC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;;KACJ;CACF;AAnDD,8DAmDC"}
1
+ {"version":3,"file":"EmailMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAEA,kEAAgF;AAEhF,MAAa,yBACX,SAAQ,2CAAoB;IAD9B;;QAIE,uBAAkB,GAAG,IAAI,CAAC;IA+C5B,CAAC;IA5CC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEc,UAAU;;;;;YACvB,MAAM,OAAM,UAAU,WAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,mBAAmB;;QACjB,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAEK,cAAc;;;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpC,KAAK;gBACL,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW;gBACrC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;;KACJ;CACF;AAnDD,8DAmDC"}
@@ -32,7 +32,7 @@ class EmailOTPMagicWalletConnector extends EmailMagicWalletConnector_1.EmailMagi
32
32
  loginWithMagic() {
33
33
  var _a;
34
34
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
- const client = this._getClient();
35
+ const client = this.getClient();
36
36
  const user = yield this.getUserMetadata();
37
37
  if (user && user.publicAddress) {
38
38
  this.setEmail((user === null || user === void 0 ? void 0 : user.email) || '');
@@ -1 +1 @@
1
- {"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC3C,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,OAAO,CAAC;;KACrB;CACF;AAhED,oEAgEC"}
1
+ {"version":3,"file":"EmailOTPMagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.ts"],"names":[],"mappings":";;;;AAIA,qDAAkD;AAClD,4EAAyE;AAOzE,MAAa,4BACX,SAAQ,qDAAyB;IAK3B,qBAAqB,CAAC,GAAW;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,6CAA6C,CAC9C,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9D,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvD,MAAM;qBACH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC/B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACtD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;qBACnB,KAAK,CAAC,MAAM,CAAC;qBACb,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,CAAC;KAAA;IAEc,cAAc;;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC3C,KAAK;gBACL,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,OAAO,CAAC;;KACrB;CACF;AAhED,oEAgEC"}
@@ -0,0 +1,24 @@
1
+ import { Magic, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from 'magic-sdk';
2
+ import { MagicConnectorProps } from '../MagicWalletConnector';
3
+ import { EvmNetwork } from '../../evm-network';
4
+ export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
5
+ redirectURI?: string;
6
+ };
7
+ export type MagicClientNetworkHandlerProps = Pick<MagicConnectorProps, 'apiKey' | 'config' | 'evmNetworks'>;
8
+ export declare abstract class MagicClientNetworkHandler {
9
+ private _apiKey;
10
+ private _clients;
11
+ private _networkId;
12
+ private _config;
13
+ evmNetworks: EvmNetwork[];
14
+ constructor({ apiKey, evmNetworks, config }: MagicClientNetworkHandlerProps);
15
+ abstract onChainChanged?(networkChainId: number): void;
16
+ selectNetwork(networkChainId: number): Promise<void>;
17
+ get networkId(): number;
18
+ get config(): MagicLinkConfig | undefined;
19
+ getClient(): Magic<MagicSDKExtensionsOption<string>>;
20
+ getConfigForNetwork(networkId: number): MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>> | undefined;
21
+ private get configNetworkId();
22
+ private _getRpcUrlByNetworkId;
23
+ private _getChainIdByNetworkId;
24
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MagicClientNetworkHandler = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const magic_sdk_1 = require("magic-sdk");
6
+ // these are based off of Magic's EthNetworkName type
7
+ const chainNameToChainIdMap = {
8
+ arbitrum: 42161,
9
+ avalance: 43114,
10
+ bsc: 56,
11
+ gnosis: 100,
12
+ goerli: 5,
13
+ mainnet: 1,
14
+ optimism: 10,
15
+ polygon: 137,
16
+ sepolia: 11155111,
17
+ };
18
+ class MagicClientNetworkHandler {
19
+ constructor({ apiKey, evmNetworks, config }) {
20
+ var _a, _b;
21
+ this._clients = {};
22
+ this.evmNetworks = [];
23
+ this._config = config;
24
+ this._apiKey = apiKey;
25
+ this.evmNetworks = evmNetworks;
26
+ this._networkId =
27
+ typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
28
+ ? chainNameToChainIdMap[config.network]
29
+ : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
30
+ }
31
+ selectNetwork(networkChainId) {
32
+ var _a;
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
+ this._networkId = networkChainId;
35
+ (_a = this.onChainChanged) === null || _a === void 0 ? void 0 : _a.call(this, networkChainId);
36
+ });
37
+ }
38
+ get networkId() {
39
+ return this._networkId;
40
+ }
41
+ get config() {
42
+ return this._config;
43
+ }
44
+ getClient() {
45
+ const networkId = this._networkId;
46
+ const client = this._clients[networkId];
47
+ if (client) {
48
+ return client;
49
+ }
50
+ const config = this.getConfigForNetwork(networkId);
51
+ const newClient = new magic_sdk_1.Magic(this._apiKey, config);
52
+ this._clients[networkId] = newClient;
53
+ return newClient;
54
+ }
55
+ getConfigForNetwork(networkId) {
56
+ const rpcUrl = this._getRpcUrlByNetworkId(networkId);
57
+ // Should prioritize custom rpc config form dashboard
58
+ if (rpcUrl) {
59
+ return Object.assign(Object.assign({}, this._config), { network: {
60
+ chainId: this._getChainIdByNetworkId(networkId),
61
+ rpcUrl,
62
+ } });
63
+ }
64
+ // Next should return configuration provided through settings
65
+ if (this.configNetworkId === networkId) {
66
+ return this._config;
67
+ }
68
+ if (networkId === 1) {
69
+ return Object.assign(Object.assign({}, this._config), { network: 'mainnet' });
70
+ }
71
+ if (networkId === 5) {
72
+ return Object.assign(Object.assign({}, this._config), { network: 'goerli' });
73
+ }
74
+ return this._config;
75
+ }
76
+ get configNetworkId() {
77
+ var _a, _b, _c;
78
+ if (typeof ((_a = this._config) === null || _a === void 0 ? void 0 : _a.network) !== 'string') {
79
+ return (_c = (_b = this._config) === null || _b === void 0 ? void 0 : _b.network) === null || _c === void 0 ? void 0 : _c.chainId;
80
+ }
81
+ return undefined;
82
+ }
83
+ _getRpcUrlByNetworkId(networkId) {
84
+ var _a;
85
+ const evm = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId);
86
+ 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]);
87
+ }
88
+ _getChainIdByNetworkId(networkId) {
89
+ var _a;
90
+ return (_a = this.evmNetworks.find((evmNetwork) => evmNetwork.networkId === networkId)) === null || _a === void 0 ? void 0 : _a.chainId;
91
+ }
92
+ }
93
+ exports.MagicClientNetworkHandler = MagicClientNetworkHandler;
94
+ //# sourceMappingURL=MagicClientNetworkHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicClientNetworkHandler.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { MagicClientNetworkHandler } from './MagicClientNetworkHandler';
2
+ export type { MagicLinkConfig } from './MagicClientNetworkHandler';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MagicClientNetworkHandler = void 0;
4
+ var MagicClientNetworkHandler_1 = require("./MagicClientNetworkHandler");
5
+ Object.defineProperty(exports, "MagicClientNetworkHandler", { enumerable: true, get: function () { return MagicClientNetworkHandler_1.MagicClientNetworkHandler; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA"}
@@ -1,12 +1,10 @@
1
- import { LoginWithMagicLinkEvents, Magic as MagicClient, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption, MagicUserMetadata, PromiEvent } from 'magic-sdk';
1
+ import { LoginWithMagicLinkEvents, MagicUserMetadata, PromiEvent } from 'magic-sdk';
2
2
  import { ethers } from 'ethers';
3
3
  import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
4
  import { WalletUiUtils } from '../../../../types';
5
5
  import { CancellablePromise } from '../../../../utils/CancellablePromise';
6
+ import { MagicLinkConfig, MagicClientNetworkHandler } from '../MagicClientNetworkHandler';
6
7
  import { EvmNetwork } from './../../evm-network';
7
- export type MagicLinkConfig = Pick<MagicSDKAdditionalConfiguration<string, MagicSDKExtensionsOption<string>>, 'network' | 'testMode' | 'locale'> & {
8
- redirectURI?: string;
9
- };
10
8
  export type MagicConnectorProps = {
11
9
  apiKey: string;
12
10
  config?: MagicLinkConfig;
@@ -18,7 +16,7 @@ export type MagicPromiEvent = PromiEvent<string | null, LoginWithMagicLinkEvents
18
16
  error: (reason: any) => void;
19
17
  settled: () => void;
20
18
  }>;
21
- export declare abstract class MagicWalletConnector implements WalletConnector {
19
+ export declare abstract class MagicWalletConnector extends MagicClientNetworkHandler implements WalletConnector {
22
20
  key: string;
23
21
  canConnectViaCustodialService: boolean;
24
22
  canConnectViaQrCode: boolean;
@@ -27,16 +25,10 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
27
25
  isWalletConnect: boolean;
28
26
  name: string;
29
27
  switchNetworkOnlyFromWallet?: boolean;
30
- evmNetworks: EvmNetwork[];
31
28
  providerResources?: string[];
32
- _apiKey: string;
33
- _magicSdk: MagicClient | undefined;
34
29
  _walletUiUtils: WalletUiUtils;
35
- _provider: ethers.providers.Web3Provider | undefined;
36
- _config: MagicLinkConfig | undefined;
37
30
  _listeners: WalletEventListeners | undefined;
38
31
  _currentAuthCancellablePromise: CancellablePromise<MagicPromiEvent | undefined> | undefined;
39
- _networkId: number;
40
32
  constructor({ apiKey, walletUiUtils, evmNetworks, config, }: MagicConnectorProps);
41
33
  abstract loginWithMagic(): Promise<MagicPromiEvent | undefined>;
42
34
  getDeepLink(): string | undefined;
@@ -53,11 +45,13 @@ export declare abstract class MagicWalletConnector implements WalletConnector {
53
45
  isInstalledOnBrowser(): boolean;
54
46
  proveOwnership(messageToSign: string): Promise<string | undefined>;
55
47
  setupEventListeners(listeners: WalletEventListeners): void;
48
+ onChainChanged(networkChainId: number): void;
56
49
  signMessage(messageToSign: string): Promise<string | undefined>;
57
50
  supportsNetworkSwitching(): boolean;
58
- switchNetwork(): Promise<void>;
51
+ switchNetwork({ networkChainId, }: {
52
+ networkChainId?: number;
53
+ }): Promise<void>;
59
54
  teardownEventListeners(): void;
60
- _getClient(): MagicClient<MagicSDKExtensionsOption<string>>;
61
55
  _isLoggedIn(): Promise<boolean>;
62
56
  _checkIfLoggedIn(): Promise<boolean>;
63
57
  }
@@ -2,29 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MagicWalletConnector = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const magic_sdk_1 = require("magic-sdk");
6
5
  const ethers_1 = require("ethers");
7
6
  const errors_1 = require("../../../../errors");
8
7
  const logger_1 = require("../../../../utils/logger");
9
8
  const assignConfirmationScreenToProvider_1 = require("../../../../utils/assignConfirmationScreenToProvider");
10
9
  const CancellablePromise_1 = require("../../../../utils/CancellablePromise");
11
- // these are based off of Magic's EthNetworkName type,
12
- // which at the time of writing, is a union over mainnet and goerli
13
- const chainNameToChainIdMap = {
14
- arbitrum: 42161,
15
- avalance: 43114,
16
- bsc: 56,
17
- gnosis: 100,
18
- goerli: 5,
19
- mainnet: 1,
20
- optimism: 10,
21
- polygon: 137,
22
- sepolia: 11155111,
23
- };
10
+ const MagicClientNetworkHandler_1 = require("../MagicClientNetworkHandler");
24
11
  const storedAddressKey = 'dynamic_magic_address';
25
- class MagicWalletConnector {
12
+ class MagicWalletConnector extends MagicClientNetworkHandler_1.MagicClientNetworkHandler {
26
13
  constructor({ apiKey, walletUiUtils, evmNetworks, config, }) {
27
- var _a, _b;
14
+ super({
15
+ apiKey,
16
+ config,
17
+ evmNetworks,
18
+ });
28
19
  this.key = 'magiclink';
29
20
  this.canConnectViaCustodialService = true;
30
21
  this.canConnectViaQrCode = false;
@@ -32,17 +23,8 @@ class MagicWalletConnector {
32
23
  this.supportedChains = ['ETH', 'EVM'];
33
24
  this.isWalletConnect = false;
34
25
  this.name = 'Magic Link';
35
- this.evmNetworks = [];
36
26
  this.providerResources = undefined;
37
- this._magicSdk = undefined;
38
- this._config = config;
39
- this._apiKey = apiKey;
40
27
  this._walletUiUtils = walletUiUtils;
41
- this.evmNetworks = evmNetworks;
42
- this._networkId =
43
- typeof (config === null || config === void 0 ? void 0 : config.network) === 'string'
44
- ? chainNameToChainIdMap[config.network]
45
- : (_b = (_a = config === null || config === void 0 ? void 0 : config.network) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : 1;
46
28
  }
47
29
  getDeepLink() {
48
30
  return undefined;
@@ -55,14 +37,14 @@ class MagicWalletConnector {
55
37
  endSession() {
56
38
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
39
  localStorage.removeItem(storedAddressKey);
58
- const client = this._getClient();
40
+ const client = this.getClient();
59
41
  yield client.user.logout();
60
42
  });
61
43
  }
62
44
  getUserMetadata() {
63
45
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
46
  if (yield this._isLoggedIn()) {
65
- const client = this._getClient();
47
+ const client = this.getClient();
66
48
  return client.user.getMetadata();
67
49
  }
68
50
  return undefined;
@@ -73,7 +55,7 @@ class MagicWalletConnector {
73
55
  const address = localStorage.getItem(storedAddressKey);
74
56
  if (address)
75
57
  return address;
76
- const client = this._getClient();
58
+ const client = this.getClient();
77
59
  try {
78
60
  try {
79
61
  this._currentAuthCancellablePromise = CancellablePromise_1.CancellablePromise.fromPromise(this.loginWithMagic());
@@ -118,7 +100,7 @@ class MagicWalletConnector {
118
100
  }
119
101
  getNetwork() {
120
102
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
- return this._networkId;
103
+ return this.networkId;
122
104
  });
123
105
  }
124
106
  getRpcProvider() {
@@ -134,14 +116,10 @@ class MagicWalletConnector {
134
116
  }
135
117
  getWeb3Provider() {
136
118
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
137
- if (this._provider) {
138
- return this._provider;
139
- }
140
- const client = this._getClient();
119
+ const client = this.getClient();
141
120
  const provider = new ethers_1.ethers.providers.Web3Provider(client.rpcProvider);
142
121
  (0, assignConfirmationScreenToProvider_1.assignConfirmationScreenToProvider)(provider, this._walletUiUtils);
143
- this._provider = provider;
144
- return this._provider;
122
+ return provider;
145
123
  });
146
124
  }
147
125
  isInstalledOnBrowser() {
@@ -154,6 +132,10 @@ class MagicWalletConnector {
154
132
  this._listeners = listeners;
155
133
  this._checkIfLoggedIn();
156
134
  }
135
+ onChainChanged(networkChainId) {
136
+ var _a, _b;
137
+ (_b = (_a = this._listeners) === null || _a === void 0 ? void 0 : _a.onChainChange) === null || _b === void 0 ? void 0 : _b.call(_a, networkChainId.toString());
138
+ }
157
139
  signMessage(messageToSign) {
158
140
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
159
141
  const provider = yield this.getWeb3Provider();
@@ -161,23 +143,22 @@ class MagicWalletConnector {
161
143
  });
162
144
  }
163
145
  supportsNetworkSwitching() {
164
- return false;
146
+ return true;
165
147
  }
166
- switchNetwork() {
167
- throw new Error('Method not implemented.');
148
+ switchNetwork({ networkChainId, }) {
149
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
150
+ if (!networkChainId) {
151
+ return;
152
+ }
153
+ this.selectNetwork(networkChainId);
154
+ });
168
155
  }
169
156
  teardownEventListeners() {
170
157
  this._listeners = undefined;
171
158
  }
172
- _getClient() {
173
- if (!this._magicSdk) {
174
- this._magicSdk = new magic_sdk_1.Magic(this._apiKey, this._config);
175
- }
176
- return this._magicSdk;
177
- }
178
159
  _isLoggedIn() {
179
160
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
180
- const client = this._getClient();
161
+ const client = this.getClient();
181
162
  return client.user.isLoggedIn();
182
163
  });
183
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MagicWalletConnector.js","sourceRoot":"","sources":["../../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export { MagicWalletConnector } from './MagicWalletConnector';
2
- export type { MagicConnectorProps, MagicLinkConfig, MagicPromiEvent, } from './MagicWalletConnector';
2
+ export type { MagicConnectorProps, MagicPromiEvent, } from './MagicWalletConnector';
@@ -1,3 +1,4 @@
1
1
  export * from './EmailMagicWalletConnector';
2
2
  export * from './MagicWalletConnector';
3
3
  export * from './EmailOTPMagicWalletConnector';
4
+ export * from './MagicClientNetworkHandler';
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./EmailMagicWalletConnector"), exports);
5
5
  tslib_1.__exportStar(require("./MagicWalletConnector"), exports);
6
6
  tslib_1.__exportStar(require("./EmailOTPMagicWalletConnector"), exports);
7
+ tslib_1.__exportStar(require("./MagicClientNetworkHandler"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/multi-wallet/src/wallets/ethereum/MagicConnector/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,iEAAuC;AACvC,yEAA+C;AAC/C,sEAA4C"}
@@ -12,6 +12,7 @@ declare class WalletConnect extends EthProvider implements WalletConnector {
12
12
  isWalletConnect: boolean;
13
13
  switchNetworkOnlyFromWallet: boolean;
14
14
  client?: Client;
15
+ clientOptions?: any;
15
16
  constructor({ walletName, evmNetworks, }: {
16
17
  evmNetworks: EvmNetwork[];
17
18
  walletName: string;
@@ -28,7 +28,7 @@ class WalletConnect extends ethProvider_1.EthProvider {
28
28
  if (this.client) {
29
29
  return this.client;
30
30
  }
31
- this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name));
31
+ this.client = (0, walletConnect_1.initClient)((0, normalizeWalletName_1.normalizeWalletName)(this.name), this.clientOptions);
32
32
  return this.client;
33
33
  }
34
34
  supportsNetworkSwitching() {
@@ -70,7 +70,7 @@ class WalletConnect extends ethProvider_1.EthProvider {
70
70
  }
71
71
  fetchPublicAddress(opts) {
72
72
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
- return (0, walletConnect_1.fetchWalletConnectPublicAddress)((0, wallet_book_1.getWalletBookWallet)(this.name), this.getClient(), Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
73
+ return (0, walletConnect_1.fetchWalletConnectEVMPublicAddress)((0, wallet_book_1.getWalletBookWallet)(this.name), this.getClient(), Object.assign(Object.assign({}, opts), { onConnect: (payload) => {
74
74
  var _a;
75
75
  (_a = opts === null || opts === void 0 ? void 0 : opts.onConnect) === null || _a === void 0 ? void 0 : _a.call(opts, payload);
76
76
  this.connectedChain = payload.params[0].chainId ? 'EVM' : 'SOL';
@@ -1 +1 @@
1
- {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/walletConnect/walletConnect.ts"],"names":[],"mappings":"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"}