@orderly.network/wallet-connector-privy 2.1.1 → 2.1.2

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.
package/dist/index.js CHANGED
@@ -3,11 +3,11 @@
3
3
  var React12 = require('react');
4
4
  var hooks = require('@orderly.network/hooks');
5
5
  var ui = require('@orderly.network/ui');
6
- var WagmiExport = require('wagmi');
7
6
  var types = require('@orderly.network/types');
8
- var walletAdapterReact = require('@solana/wallet-adapter-react');
9
- var walletAdapterBase = require('@solana/wallet-adapter-base');
10
7
  var reactAuth = require('@privy-io/react-auth');
8
+ var walletAdapterBase = require('@solana/wallet-adapter-base');
9
+ var walletAdapterReact = require('@solana/wallet-adapter-react');
10
+ var WagmiExport = require('wagmi');
11
11
  var i18n = require('@orderly.network/i18n');
12
12
  var reactDom = require('react-dom');
13
13
  var uiConnector = require('@orderly.network/ui-connector');
@@ -43,124 +43,262 @@ var viemExport__namespace = /*#__PURE__*/_interopNamespace(viemExport);
43
43
  var WagmiConnectorsExport__namespace = /*#__PURE__*/_interopNamespace(WagmiConnectorsExport);
44
44
 
45
45
  // src/provider.tsx
46
- var WagmiWalletContext = React12.createContext(null);
47
- var WagmiWalletProvider = ({
46
+ var Network = /* @__PURE__ */ ((Network2) => {
47
+ Network2["mainnet"] = "mainnet";
48
+ Network2["testnet"] = "testnet";
49
+ return Network2;
50
+ })(Network || {});
51
+ var WalletType = /* @__PURE__ */ ((WalletType2) => {
52
+ WalletType2["EVM"] = "EVM";
53
+ WalletType2["SOL"] = "SOL";
54
+ WalletType2["PRIVY"] = "privy";
55
+ return WalletType2;
56
+ })(WalletType || {});
57
+ var SolanaChains = /* @__PURE__ */ new Map([[walletAdapterBase.WalletAdapterNetwork.Devnet, 901901901], [walletAdapterBase.WalletAdapterNetwork.Mainnet, 900900900]]);
58
+ var SolanaChainsMap = /* @__PURE__ */ new Map([
59
+ [walletAdapterBase.WalletAdapterNetwork.Devnet, 901901901],
60
+ ["testnet" /* testnet */, 901901901],
61
+ ["mainnet" /* mainnet */, 900900900],
62
+ [walletAdapterBase.WalletAdapterNetwork.Mainnet, 900900900]
63
+ ]);
64
+ var WalletChainTypeEnum = /* @__PURE__ */ ((WalletChainTypeEnum2) => {
65
+ WalletChainTypeEnum2["onlyEVM"] = "onlyEVM";
66
+ WalletChainTypeEnum2["onlySOL"] = "onlySOL";
67
+ WalletChainTypeEnum2["EVM_SOL"] = "EVM_SOL";
68
+ return WalletChainTypeEnum2;
69
+ })(WalletChainTypeEnum || {});
70
+
71
+ // src/providers/privyWalletProvider.tsx
72
+ var getPrivyEmbeddedWalletChainId = (chainId) => {
73
+ if (!chainId) {
74
+ return null;
75
+ }
76
+ return parseInt(chainId.split("eip155:")[1]);
77
+ };
78
+ var PrivyWalletContext = React12.createContext(null);
79
+ var PrivyWalletProvider = ({
48
80
  children
49
81
  }) => {
50
- const { connectorWalletType } = useWalletConnectorPrivy();
51
- const [wallet, setWallet] = React12.useState(void 0);
52
- const { connect, connectors: wagmiConnectors2 } = connectorWalletType.disableWagmi ? { connect: () => Promise.resolve(), connectors: [] } : WagmiExport.useConnect();
53
- const { disconnect } = connectorWalletType.disableWagmi ? { disconnect: () => Promise.resolve() } : WagmiExport.useDisconnect();
54
- const { connector, isConnected, address, chainId } = connectorWalletType.disableWagmi ? { connector: null, isConnected: false, address: null, chainId: null } : WagmiExport.useAccount();
55
- const { switchChain } = connectorWalletType.disableWagmi ? { switchChain: () => Promise.resolve() } : WagmiExport.useSwitchChain();
56
- const connectedChain = React12.useMemo(() => {
57
- if (chainId) {
82
+ const { network, solanaInfo, setSolanaInfo, connectorWalletType } = useWalletConnectorPrivy();
83
+ const {
84
+ login,
85
+ logout,
86
+ ready,
87
+ authenticated,
88
+ user,
89
+ exportWallet: exportEvmWallet,
90
+ createWallet: createEvmWallet
91
+ } = reactAuth.usePrivy();
92
+ const { wallets: walletsEVM } = connectorWalletType.disablePrivy ? { wallets: [] } : reactAuth.useWallets();
93
+ const connectedRef = React12.useRef(false);
94
+ const {
95
+ ready: solanaReady,
96
+ wallets: walletsSOL,
97
+ createWallet: createSolanaWallet,
98
+ exportWallet: exportSolanaWallet
99
+ } = connectorWalletType.disablePrivy ? {
100
+ ready: false,
101
+ wallets: [],
102
+ createWallet: () => Promise.resolve(),
103
+ exportWallet: () => Promise.resolve()
104
+ } : reactAuth.useSolanaWallets();
105
+ const [walletEVM, setWalletEVM] = React12.useState(null);
106
+ const [walletSOL, setWalletSOL] = React12.useState(null);
107
+ const { track } = hooks.useTrack();
108
+ const linkedAccount = React12.useMemo(() => {
109
+ if (user && user.linkedAccounts) {
110
+ const account = user.linkedAccounts.filter((item) => item.type !== "wallet").sort(
111
+ (a, b) => (b.latestVerifiedAt?.getTime() ?? 0) - (a.latestVerifiedAt?.getTime() ?? 0)
112
+ )[0];
113
+ let address = null;
114
+ if (account.type === "email") {
115
+ address = account.address;
116
+ } else if (account.type === "twitter_oauth") {
117
+ address = `@${account.username}`;
118
+ } else if (account.type === "google_oauth") {
119
+ address = `@${account.name}`;
120
+ }
58
121
  return {
59
- id: chainId,
60
- namespace: types.ChainNamespace.evm
122
+ type: account.type,
123
+ address
61
124
  };
62
125
  }
63
126
  return null;
64
- }, [chainId]);
65
- const setChain = React12.useCallback(
66
- (chainId2) => {
67
- return new Promise((resolve, reject) => {
68
- switchChain(
69
- { chainId: chainId2 },
70
- {
71
- onSuccess: () => resolve(true),
72
- onError: (e) => {
73
- return reject(e);
74
- }
75
- }
76
- );
127
+ }, [user]);
128
+ const switchChain = (chainId) => {
129
+ const wallet = walletsEVM[0];
130
+ if (wallet) {
131
+ return wallet.switchChain(chainId);
132
+ }
133
+ return Promise.reject("no wallet");
134
+ };
135
+ const connect = () => {
136
+ login();
137
+ };
138
+ const disconnect = () => {
139
+ return logout();
140
+ };
141
+ const exportWallet = (namespace) => {
142
+ if (namespace === types.ChainNamespace.evm) {
143
+ track(types.TrackerEventName.clickExportPrivateKey, {
144
+ type: "evm"
77
145
  });
78
- },
79
- [switchChain]
80
- );
146
+ return exportEvmWallet();
147
+ } else if (namespace === types.ChainNamespace.solana) {
148
+ track(types.TrackerEventName.clickExportPrivateKey, {
149
+ type: "solana"
150
+ });
151
+ return exportSolanaWallet();
152
+ }
153
+ return Promise.reject("no namespace");
154
+ };
155
+ const isConnected = React12.useMemo(() => {
156
+ if (ready && authenticated) {
157
+ return true;
158
+ }
159
+ return false;
160
+ }, [ready, authenticated]);
81
161
  React12.useEffect(() => {
82
- if (!connector || !isConnected) {
83
- setWallet(void 0);
162
+ if (!authenticated || !walletsEVM || !walletsEVM[0]) {
163
+ setWalletEVM(null);
84
164
  return;
85
165
  }
86
- connector.getProvider().then((provider) => {
87
- setWallet({
88
- label: connector.name,
166
+ const wallet = walletsEVM[0];
167
+ wallet.getEthereumProvider().then((provider) => {
168
+ setWalletEVM({
169
+ label: "privy",
89
170
  icon: "",
90
171
  provider,
91
172
  accounts: [
92
173
  {
93
- address
174
+ address: wallet.address
94
175
  }
95
176
  ],
96
177
  chains: [
97
178
  {
98
- id: chainId,
179
+ id: getPrivyEmbeddedWalletChainId(wallet.chainId) ?? 1,
99
180
  namespace: types.ChainNamespace.evm
100
181
  }
101
182
  ],
102
- chain: connectedChain
183
+ chain: {
184
+ id: getPrivyEmbeddedWalletChainId(wallet.chainId) ?? 1,
185
+ namespace: types.ChainNamespace.evm
186
+ }
103
187
  });
104
188
  });
105
- }, [connector, chainId, isConnected, address, connectedChain]);
106
- const connectors = React12.useMemo(() => {
107
- return wagmiConnectors2.filter((connector2) => connector2.id !== "injected").sort(
108
- (a, b) => a.type === "injected" ? -1 : 1
189
+ }, [walletsEVM, authenticated]);
190
+ React12.useEffect(() => {
191
+ if (!authenticated) {
192
+ setWalletSOL(null);
193
+ return;
194
+ }
195
+ if (!solanaReady) {
196
+ return;
197
+ }
198
+ if (!user) {
199
+ return;
200
+ }
201
+ const embededSolanaWallet = (user?.linkedAccounts).find(
202
+ (item) => item.chainType === "solana" && item.connectorType === "embedded"
109
203
  );
110
- }, [wagmiConnectors2]);
204
+ if (!embededSolanaWallet) {
205
+ createSolanaWallet().then();
206
+ return;
207
+ }
208
+ if (!walletsSOL || !walletsSOL[0]) {
209
+ return;
210
+ }
211
+ const wallet = walletsSOL.find((w) => w.connectorType === "embedded");
212
+ if (wallet) {
213
+ if (walletSOL && wallet.address === walletSOL.accounts[0].address) {
214
+ if (walletSOL.chain.id === SolanaChainsMap.get(network)) {
215
+ return;
216
+ }
217
+ }
218
+ setWalletSOL({
219
+ label: "privy",
220
+ icon: "",
221
+ provider: {
222
+ signMessage: wallet.signMessage,
223
+ signTransaction: wallet.signTransaction,
224
+ sendTransaction: wallet.sendTransaction,
225
+ network: solanaInfo?.network ?? walletAdapterBase.WalletAdapterNetwork.Devnet,
226
+ rpcUrl: solanaInfo?.rpcUrl ?? void 0
227
+ },
228
+ accounts: [
229
+ {
230
+ address: wallet.address
231
+ }
232
+ ],
233
+ chains: [
234
+ {
235
+ id: SolanaChainsMap.get(network),
236
+ namespace: types.ChainNamespace.solana
237
+ }
238
+ ],
239
+ chain: {
240
+ id: SolanaChainsMap.get(network),
241
+ namespace: types.ChainNamespace.solana
242
+ }
243
+ });
244
+ }
245
+ }, [
246
+ walletsSOL,
247
+ authenticated,
248
+ createSolanaWallet,
249
+ solanaReady,
250
+ user,
251
+ walletSOL,
252
+ network,
253
+ solanaInfo
254
+ ]);
255
+ React12.useEffect(() => {
256
+ if (isConnected && linkedAccount) {
257
+ if (connectedRef.current) {
258
+ return;
259
+ }
260
+ connectedRef.current = true;
261
+ track(types.TrackerEventName.socialLoginSuccess, {
262
+ type: linkedAccount.type,
263
+ address: linkedAccount.address
264
+ });
265
+ }
266
+ }, [isConnected, linkedAccount, connectedRef]);
111
267
  const value = React12.useMemo(
112
268
  () => ({
113
- connectors,
114
269
  connect,
115
- wallet,
116
- connectedChain,
117
- setChain,
270
+ walletEVM,
271
+ walletSOL,
272
+ isConnected,
118
273
  disconnect,
119
- isConnected
274
+ switchChain,
275
+ linkedAccount,
276
+ exportWallet,
277
+ createEvmWallet,
278
+ createSolanaWallet
120
279
  }),
121
280
  [
122
- connectors,
123
281
  connect,
124
- wallet,
125
- connectedChain,
126
- setChain,
282
+ walletEVM,
283
+ walletSOL,
284
+ isConnected,
127
285
  disconnect,
128
- isConnected
129
- ]
130
- );
131
- return /* @__PURE__ */ React12__default.default.createElement(WagmiWalletContext.Provider, { value }, children);
132
- };
133
- function useWagmiWallet() {
134
- const context = React12.useContext(WagmiWalletContext);
135
- if (!context) {
136
- throw new Error("useWagmiWallet must be used within a WagmiWalletProvider");
137
- }
138
- return context;
139
- }
140
- var Network = /* @__PURE__ */ ((Network2) => {
141
- Network2["mainnet"] = "mainnet";
142
- Network2["testnet"] = "testnet";
143
- return Network2;
144
- })(Network || {});
145
- var WalletType = /* @__PURE__ */ ((WalletType2) => {
146
- WalletType2["EVM"] = "EVM";
147
- WalletType2["SOL"] = "SOL";
148
- WalletType2["PRIVY"] = "privy";
149
- return WalletType2;
150
- })(WalletType || {});
151
- var SolanaChains = /* @__PURE__ */ new Map([[walletAdapterBase.WalletAdapterNetwork.Devnet, 901901901], [walletAdapterBase.WalletAdapterNetwork.Mainnet, 900900900]]);
152
- var SolanaChainsMap = /* @__PURE__ */ new Map([
153
- [walletAdapterBase.WalletAdapterNetwork.Devnet, 901901901],
154
- ["testnet" /* testnet */, 901901901],
155
- ["mainnet" /* mainnet */, 900900900],
156
- [walletAdapterBase.WalletAdapterNetwork.Mainnet, 900900900]
157
- ]);
158
- var WalletChainTypeEnum = /* @__PURE__ */ ((WalletChainTypeEnum2) => {
159
- WalletChainTypeEnum2["onlyEVM"] = "onlyEVM";
160
- WalletChainTypeEnum2["onlySOL"] = "onlySOL";
161
- WalletChainTypeEnum2["EVM_SOL"] = "EVM_SOL";
162
- return WalletChainTypeEnum2;
163
- })(WalletChainTypeEnum || {});
286
+ switchChain,
287
+ linkedAccount,
288
+ exportWallet,
289
+ createEvmWallet,
290
+ createSolanaWallet
291
+ ]
292
+ );
293
+ return /* @__PURE__ */ React12__default.default.createElement(PrivyWalletContext.Provider, { value }, children);
294
+ };
295
+ function usePrivyWallet() {
296
+ const context = React12.useContext(PrivyWalletContext);
297
+ if (!context) {
298
+ throw new Error("usePrivyWallet must be used within a PrivyWalletProvider");
299
+ }
300
+ return context;
301
+ }
164
302
  var SolanaWalletContext = React12.createContext(
165
303
  null
166
304
  );
@@ -386,231 +524,102 @@ function useSolanaWallet() {
386
524
  }
387
525
  return context;
388
526
  }
389
- var getPrivyEmbeddedWalletChainId = (chainId) => {
390
- if (!chainId) {
391
- return null;
392
- }
393
- return parseInt(chainId.split("eip155:")[1]);
394
- };
395
- var PrivyWalletContext = React12.createContext(null);
396
- var PrivyWalletProvider = ({
527
+ var WagmiWalletContext = React12.createContext(null);
528
+ var WagmiWalletProvider = ({
397
529
  children
398
530
  }) => {
399
- const { network, solanaInfo, setSolanaInfo, connectorWalletType } = useWalletConnectorPrivy();
400
- const {
401
- login,
402
- logout,
403
- ready,
404
- authenticated,
405
- user,
406
- exportWallet: exportEvmWallet,
407
- createWallet: createEvmWallet
408
- } = reactAuth.usePrivy();
409
- const { wallets: walletsEVM } = connectorWalletType.disablePrivy ? { wallets: [] } : reactAuth.useWallets();
410
- const connectedRef = React12.useRef(false);
411
- const {
412
- ready: solanaReady,
413
- wallets: walletsSOL,
414
- createWallet: createSolanaWallet,
415
- exportWallet: exportSolanaWallet
416
- } = connectorWalletType.disablePrivy ? { ready: false, wallets: [], createWallet: () => Promise.resolve(), exportWallet: () => Promise.resolve() } : reactAuth.useSolanaWallets();
417
- const [walletEVM, setWalletEVM] = React12.useState(null);
418
- const [walletSOL, setWalletSOL] = React12.useState(null);
419
- const { track } = hooks.useTrack();
420
- const linkedAccount = React12.useMemo(() => {
421
- if (user && user.linkedAccounts) {
422
- const account = user.linkedAccounts.filter((item) => item.type !== "wallet").sort(
423
- (a, b) => (b.latestVerifiedAt?.getTime() ?? 0) - (a.latestVerifiedAt?.getTime() ?? 0)
424
- )[0];
425
- let address = null;
426
- if (account.type === "email") {
427
- address = account.address;
428
- } else if (account.type === "twitter_oauth") {
429
- address = `@${account.username}`;
430
- } else if (account.type === "google_oauth") {
431
- address = `@${account.name}`;
432
- }
531
+ const { connectorWalletType } = useWalletConnectorPrivy();
532
+ const [wallet, setWallet] = React12.useState(void 0);
533
+ const { connect, connectors: wagmiConnectors2 } = connectorWalletType.disableWagmi ? { connect: () => Promise.resolve(), connectors: [] } : WagmiExport.useConnect();
534
+ const { disconnect } = connectorWalletType.disableWagmi ? { disconnect: () => Promise.resolve() } : WagmiExport.useDisconnect();
535
+ const { connector, isConnected, address, chainId } = connectorWalletType.disableWagmi ? { connector: null, isConnected: false, address: null, chainId: null } : WagmiExport.useAccount();
536
+ const { switchChain } = connectorWalletType.disableWagmi ? { switchChain: () => Promise.resolve() } : WagmiExport.useSwitchChain();
537
+ const connectedChain = React12.useMemo(() => {
538
+ if (chainId) {
433
539
  return {
434
- type: account.type,
435
- address
540
+ id: chainId,
541
+ namespace: types.ChainNamespace.evm
436
542
  };
437
543
  }
438
544
  return null;
439
- }, [user]);
440
- const switchChain = (chainId) => {
441
- const wallet = walletsEVM[0];
442
- if (wallet) {
443
- return wallet.switchChain(chainId);
444
- }
445
- return Promise.reject("no wallet");
446
- };
447
- const connect = () => {
448
- login();
449
- };
450
- const disconnect = () => {
451
- return logout();
452
- };
453
- const exportWallet = (namespace) => {
454
- if (namespace === types.ChainNamespace.evm) {
455
- track(types.EnumTrackerKeys.clickExportPrivateKey, {
456
- type: "evm"
457
- });
458
- return exportEvmWallet();
459
- } else if (namespace === types.ChainNamespace.solana) {
460
- track(types.EnumTrackerKeys.clickExportPrivateKey, {
461
- type: "solana"
545
+ }, [chainId]);
546
+ const setChain = React12.useCallback(
547
+ (chainId2) => {
548
+ return new Promise((resolve, reject) => {
549
+ switchChain(
550
+ { chainId: chainId2 },
551
+ {
552
+ onSuccess: () => resolve(true),
553
+ onError: (e) => {
554
+ return reject(e);
555
+ }
556
+ }
557
+ );
462
558
  });
463
- return exportSolanaWallet();
464
- }
465
- return Promise.reject("no namespace");
466
- };
467
- const isConnected = React12.useMemo(() => {
468
- if (ready && authenticated) {
469
- return true;
470
- }
471
- return false;
472
- }, [ready, authenticated]);
559
+ },
560
+ [switchChain]
561
+ );
473
562
  React12.useEffect(() => {
474
- if (!authenticated || !walletsEVM || !walletsEVM[0]) {
475
- setWalletEVM(null);
563
+ if (!connector || !isConnected) {
564
+ setWallet(void 0);
476
565
  return;
477
566
  }
478
- const wallet = walletsEVM[0];
479
- wallet.getEthereumProvider().then((provider) => {
480
- setWalletEVM({
481
- label: "privy",
567
+ connector.getProvider().then((provider) => {
568
+ setWallet({
569
+ label: connector.name,
482
570
  icon: "",
483
571
  provider,
484
572
  accounts: [
485
573
  {
486
- address: wallet.address
574
+ address
487
575
  }
488
576
  ],
489
577
  chains: [
490
578
  {
491
- id: getPrivyEmbeddedWalletChainId(wallet.chainId) ?? 1,
579
+ id: chainId,
492
580
  namespace: types.ChainNamespace.evm
493
581
  }
494
582
  ],
495
- chain: {
496
- id: getPrivyEmbeddedWalletChainId(wallet.chainId) ?? 1,
497
- namespace: types.ChainNamespace.evm
498
- }
583
+ chain: connectedChain
499
584
  });
500
585
  });
501
- }, [walletsEVM, authenticated]);
502
- React12.useEffect(() => {
503
- if (!authenticated) {
504
- setWalletSOL(null);
505
- return;
506
- }
507
- if (!solanaReady) {
508
- return;
509
- }
510
- if (!user) {
511
- return;
512
- }
513
- const embededSolanaWallet = (user?.linkedAccounts).find(
514
- (item) => item.chainType === "solana" && item.connectorType === "embedded"
586
+ }, [connector, chainId, isConnected, address, connectedChain]);
587
+ const connectors = React12.useMemo(() => {
588
+ return wagmiConnectors2.filter((connector2) => connector2.id !== "injected").sort(
589
+ (a, b) => a.type === "injected" ? -1 : 1
515
590
  );
516
- if (!embededSolanaWallet) {
517
- createSolanaWallet().then();
518
- return;
519
- }
520
- if (!walletsSOL || !walletsSOL[0]) {
521
- return;
522
- }
523
- const wallet = walletsSOL.find((w) => w.connectorType === "embedded");
524
- if (wallet) {
525
- if (walletSOL && wallet.address === walletSOL.accounts[0].address) {
526
- if (walletSOL.chain.id === SolanaChainsMap.get(network)) {
527
- return;
528
- }
529
- }
530
- setWalletSOL({
531
- label: "privy",
532
- icon: "",
533
- provider: {
534
- signMessage: wallet.signMessage,
535
- signTransaction: wallet.signTransaction,
536
- sendTransaction: wallet.sendTransaction,
537
- network: solanaInfo?.network ?? walletAdapterBase.WalletAdapterNetwork.Devnet,
538
- rpcUrl: solanaInfo?.rpcUrl ?? void 0
539
- },
540
- accounts: [
541
- {
542
- address: wallet.address
543
- }
544
- ],
545
- chains: [
546
- {
547
- id: SolanaChainsMap.get(network),
548
- namespace: types.ChainNamespace.solana
549
- }
550
- ],
551
- chain: {
552
- id: SolanaChainsMap.get(network),
553
- namespace: types.ChainNamespace.solana
554
- }
555
- });
556
- }
557
- }, [
558
- walletsSOL,
559
- authenticated,
560
- createSolanaWallet,
561
- solanaReady,
562
- user,
563
- walletSOL,
564
- network,
565
- solanaInfo
566
- ]);
567
- React12.useEffect(() => {
568
- if (isConnected && linkedAccount) {
569
- if (connectedRef.current) {
570
- return;
571
- }
572
- connectedRef.current = true;
573
- track(types.EnumTrackerKeys.socialLoginSuccess, {
574
- type: linkedAccount.type,
575
- address: linkedAccount.address
576
- });
577
- }
578
- }, [isConnected, linkedAccount, connectedRef]);
591
+ }, [wagmiConnectors2]);
579
592
  const value = React12.useMemo(
580
593
  () => ({
594
+ connectors,
581
595
  connect,
582
- walletEVM,
583
- walletSOL,
584
- isConnected,
596
+ wallet,
597
+ connectedChain,
598
+ setChain,
585
599
  disconnect,
586
- switchChain,
587
- linkedAccount,
588
- exportWallet,
589
- createEvmWallet,
590
- createSolanaWallet
600
+ isConnected
591
601
  }),
592
602
  [
603
+ connectors,
593
604
  connect,
594
- walletEVM,
595
- walletSOL,
596
- isConnected,
605
+ wallet,
606
+ connectedChain,
607
+ setChain,
597
608
  disconnect,
598
- switchChain,
599
- linkedAccount,
600
- exportWallet,
601
- createEvmWallet,
602
- createSolanaWallet
609
+ isConnected
603
610
  ]
604
611
  );
605
- return /* @__PURE__ */ React12__default.default.createElement(PrivyWalletContext.Provider, { value }, children);
612
+ return /* @__PURE__ */ React12__default.default.createElement(WagmiWalletContext.Provider, { value }, children);
606
613
  };
607
- function usePrivyWallet() {
608
- const context = React12.useContext(PrivyWalletContext);
614
+ function useWagmiWallet() {
615
+ const context = React12.useContext(WagmiWalletContext);
609
616
  if (!context) {
610
- throw new Error("usePrivyWallet must be used within a PrivyWalletProvider");
617
+ throw new Error("useWagmiWallet must be used within a WagmiWalletProvider");
611
618
  }
612
619
  return context;
613
620
  }
621
+
622
+ // src/hooks/useWallet.tsx
614
623
  function useWallet2() {
615
624
  const { track } = hooks.useTrack();
616
625
  const { walletChainType } = useWalletConnectorPrivy();
@@ -682,7 +691,7 @@ function useWallet2() {
682
691
  }
683
692
  isManual.current = true;
684
693
  return setChainPrivy(parseInt(chain.chainId)).then((res) => {
685
- track(types.EnumTrackerKeys.switchNetworkSuccess, {
694
+ track(types.TrackerEventName.switchNetworkSuccess, {
686
695
  from_chain: storageChain?.chainId,
687
696
  to_chain: chain.chainId
688
697
  });
@@ -711,7 +720,7 @@ function useWallet2() {
711
720
  if (tempNamespace === types.ChainNamespace.evm) {
712
721
  await setChainEvm(parseInt(chain.chainId));
713
722
  setStorageChain(parseInt(chain.chainId));
714
- track(types.EnumTrackerKeys.switchNetworkSuccess, {
723
+ track(types.TrackerEventName.switchNetworkSuccess, {
715
724
  from_chain: storageChain?.chainId,
716
725
  to_chain: chain.chainId
717
726
  });
@@ -767,7 +776,7 @@ function useWallet2() {
767
776
  }
768
777
  }
769
778
  }
770
- track(types.EnumTrackerKeys.clickSwitchWallet, {
779
+ track(types.TrackerEventName.clickSwitchWallet, {
771
780
  fromWallet,
772
781
  toWallet
773
782
  });
@@ -2120,12 +2129,10 @@ function InitSolanaProvider({
2120
2129
  } else {
2121
2130
  rpcUrl = devnetRpc ?? null;
2122
2131
  }
2123
- if (rpcUrl) {
2124
- setSolanaInfo({
2125
- rpcUrl,
2126
- network: network === "mainnet" ? walletAdapterBase.WalletAdapterNetwork.Mainnet : walletAdapterBase.WalletAdapterNetwork.Devnet
2127
- });
2128
- }
2132
+ setSolanaInfo({
2133
+ rpcUrl,
2134
+ network: network === "mainnet" ? walletAdapterBase.WalletAdapterNetwork.Mainnet : walletAdapterBase.WalletAdapterNetwork.Devnet
2135
+ });
2129
2136
  }, [network, mainnetRpc, devnetRpc, setSolanaInfo]);
2130
2137
  return /* @__PURE__ */ React12__default.default.createElement(walletAdapterReact.WalletProvider, { wallets, onError }, children);
2131
2138
  }