@getpara/evm-wallet-connectors 1.7.0 → 2.0.0-dev.0

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.d.ts CHANGED
@@ -1,3 +1,6 @@
1
- export { EvmExternalWalletProvider, EvmExternalWalletContext } from './providers/EvmExternalWalletContext.js';
1
+ export { EvmExternalWalletContext } from './providers/EvmExternalWalletContext.js';
2
+ export type { EvmExternalWalletContextType } from './providers/EvmExternalWalletContext.js';
2
3
  export { ParaEvmProvider } from './providers/ParaEvmContext.js';
4
+ export type { ParaEvmProviderProps, ParaEvmProviderConfig, ParaWagmiProviderProps } from './providers/ParaEvmContext.js';
3
5
  export * from './wallets/connectors/index.js';
6
+ export type { WalletList } from './types/Wallet.js';
package/dist/index.js CHANGED
@@ -52,18 +52,8 @@ var __async = (__this, __arguments, generator) => {
52
52
  };
53
53
 
54
54
  // src/providers/EvmExternalWalletContext.tsx
55
- import { createContext, useEffect, useMemo, useRef } from "react";
56
- import {
57
- useAccount,
58
- useSwitchChain,
59
- useConnect,
60
- useDisconnect,
61
- useEnsName,
62
- useEnsAvatar,
63
- useSwitchAccount,
64
- useConnections,
65
- useSignMessage
66
- } from "wagmi";
55
+ import { createContext, useCallback, useEffect, useMemo, useRef } from "react";
56
+ import { useAccount, useSwitchChain, useConnect, useDisconnect, useEnsName, useEnsAvatar, useSignMessage } from "wagmi";
67
57
 
68
58
  // src/utils/isEIP6963Connector.ts
69
59
  var isEIP6963Connector = (wallet) => {
@@ -89,12 +79,6 @@ var getWalletConnectUri = (connector, uriConverter) => __async(void 0, null, fun
89
79
  });
90
80
 
91
81
  // src/providers/EvmExternalWalletContext.tsx
92
- import {
93
- isMobile,
94
- useExternalWalletProviderStore,
95
- useWallet,
96
- WalletType
97
- } from "@getpara/react-sdk";
98
82
  import { normalize } from "viem/ens";
99
83
 
100
84
  // src/stores/useStore.ts
@@ -115,6 +99,7 @@ var useExternalWalletStore = create(
115
99
  );
116
100
 
117
101
  // src/providers/EvmExternalWalletContext.tsx
102
+ import { isMobile, WalletType } from "@getpara/web-sdk";
118
103
  import { jsx } from "react/jsx-runtime";
119
104
  var defaultEvmExternalWallet = {
120
105
  wallets: [],
@@ -124,27 +109,26 @@ var defaultEvmExternalWallet = {
124
109
  avatar: void 0,
125
110
  disconnect: () => Promise.resolve(),
126
111
  switchChain: () => Promise.resolve({}),
112
+ connectParaEmbedded: () => Promise.resolve({}),
127
113
  signMessage: () => Promise.resolve({}),
128
114
  signVerificationMessage: () => Promise.resolve({})
129
115
  };
130
116
  var EvmExternalWalletContext = createContext(defaultEvmExternalWallet);
131
- function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
117
+ function EvmExternalWalletProvider({
118
+ children,
119
+ onSwitchWallet,
120
+ para
121
+ }) {
132
122
  const { connectAsync, connectors: untypedConnectors } = useConnect();
133
- const connections = useConnections();
134
123
  const { address: wagmiAddress, isConnecting, isReconnecting, chainId, connector: connectedConnector } = useAccount();
135
124
  const { chains, switchChainAsync } = useSwitchChain();
136
125
  const { disconnectAsync } = useDisconnect();
137
- const { switchAccountAsync } = useSwitchAccount();
126
+ const { data: ensName } = useEnsName({ address: wagmiAddress });
127
+ const { data: ensAvatar } = useEnsAvatar({ name: normalize(ensName) });
138
128
  const { signMessageAsync } = useSignMessage();
139
- const { data: ensName, refetch: refetchEnsName } = useEnsName({ address: wagmiAddress });
140
- const { data: ensAvatar, refetch: refetchEnsAvatar } = useEnsAvatar({
141
- name: normalize(ensName)
142
- });
143
- const fullAuthWallets = useExternalWalletProviderStore((state) => state.fullAuthWallets);
144
- const { data: wallet } = useWallet();
129
+ const verificationMessage = useRef();
145
130
  const isLocalConnecting = useExternalWalletStore((state) => state.isConnecting);
146
131
  const updateExternalWalletState = useExternalWalletStore((state) => state.updateState);
147
- const verificationMessage = useRef();
148
132
  const getStoredExternalWallets = () => {
149
133
  const storedExternalWalletsString = localStorage.getItem("@CAPSULE/externalWallets");
150
134
  let storedExternalWallets = {};
@@ -155,21 +139,16 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
155
139
  };
156
140
  useEffect(() => {
157
141
  const storedExternalWallet = getStoredExternalWallets()[wagmiAddress != null ? wagmiAddress : ""];
158
- if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para") {
142
+ if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && !((connectedConnector == null ? void 0 : connectedConnector.id) === "para")) {
159
143
  reset();
160
144
  }
161
145
  }, [isConnecting, isReconnecting, isLocalConnecting, wagmiAddress, connectedConnector]);
162
146
  useEffect(() => {
163
147
  const storedExternalWallet = Object.values(para.externalWallets || {})[0];
164
- if (!isLocalConnecting && !isConnecting && !isReconnecting && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === WalletType.EVM && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== wagmiAddress && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para") {
148
+ if (!isLocalConnecting && !isConnecting && !isReconnecting && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === WalletType.EVM && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== wagmiAddress) {
165
149
  switchWallet(wagmiAddress);
166
150
  }
167
151
  }, [isLocalConnecting, wagmiAddress, isReconnecting, isConnecting]);
168
- useEffect(() => {
169
- if (wallet && connectedConnector && wallet.type === WalletType.EVM && (connectedConnector.id === "para" && wallet.isExternal || connectedConnector.id !== "para" && !wallet.isExternal)) {
170
- switchAccount(wallet.isExternal ? wallet.name : "Para");
171
- }
172
- }, [wallet]);
173
152
  const connectors = untypedConnectors;
174
153
  const reset = () => __async(this, null, function* () {
175
154
  yield disconnectAsync();
@@ -197,14 +176,6 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
197
176
  const signature = yield signMessage(verificationMessage.current);
198
177
  return signature;
199
178
  });
200
- const switchAccount = (connectorName) => __async(this, null, function* () {
201
- var _a;
202
- const connector = (_a = connections.find((c) => c.connector.name === connectorName)) == null ? void 0 : _a.connector;
203
- if (!connector) {
204
- throw new Error(`connector not found: ${connectorName}`);
205
- }
206
- yield switchAccountAsync({ connector });
207
- });
208
179
  const switchChain = (chainId2) => __async(this, null, function* () {
209
180
  var _a, _b, _c;
210
181
  let error;
@@ -232,21 +203,9 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
232
203
  }
233
204
  return { error };
234
205
  });
235
- const login = (_0) => __async(this, [_0], function* ({
236
- address,
237
- walletId,
238
- connectorName
239
- }) {
240
- var _a;
206
+ const login = (_0) => __async(this, [_0], function* ({ address, connectorName }) {
241
207
  try {
242
- refetchEnsName();
243
- refetchEnsAvatar();
244
- return yield para.externalWalletLogin({
245
- address,
246
- type: WalletType.EVM,
247
- provider: connectorName,
248
- withFullParaAuth: fullAuthWallets == null ? void 0 : fullAuthWallets.includes((_a = walletId == null ? void 0 : walletId.toUpperCase()) != null ? _a : "")
249
- });
208
+ return yield para.externalWalletLogin({ address, type: WalletType.EVM, provider: connectorName });
250
209
  } catch (err) {
251
210
  yield disconnectAsync();
252
211
  yield para.logout();
@@ -254,30 +213,21 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
254
213
  }
255
214
  });
256
215
  const switchWallet = (address) => __async(this, null, function* () {
257
- var _a;
258
216
  updateExternalWalletState({ isConnecting: true });
259
217
  let error;
260
218
  if (!address) {
261
219
  yield para.logout();
262
220
  } else {
263
- if (para.isExternalWalletAuth) {
264
- yield reset();
265
- } else {
266
- try {
267
- yield login({
268
- address,
269
- connectorName: connectedConnector == null ? void 0 : connectedConnector.name,
270
- walletId: (_a = getParaDetails(connectedConnector.id)) == null ? void 0 : _a.id
271
- });
272
- } catch (err) {
273
- error = err;
274
- }
221
+ try {
222
+ yield login({ address, connectorName: connectedConnector == null ? void 0 : connectedConnector.name });
223
+ } catch (err) {
224
+ error = err;
275
225
  }
276
226
  }
277
- onSwitchWallet({ address, error });
227
+ onSwitchWallet == null ? void 0 : onSwitchWallet({ address, error });
278
228
  updateExternalWalletState({ isConnecting: false });
279
229
  });
280
- const connect2 = (connector) => __async(this, null, function* () {
230
+ const connect = (connector) => __async(this, null, function* () {
281
231
  var _a, _b, _c, _d;
282
232
  updateExternalWalletState({ isConnecting: true });
283
233
  yield disconnectAsync();
@@ -298,7 +248,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
298
248
  address = (_d = data.accounts) == null ? void 0 : _d[0];
299
249
  if (address) {
300
250
  try {
301
- const loginResp = yield login({ address, connectorName: connector.name, walletId: connector.paraDetails.id });
251
+ const loginResp = yield login({ address, connectorName: connector.name });
302
252
  userExists = loginResp.userExists;
303
253
  isVerified = loginResp.isVerified;
304
254
  verificationMessage.current = loginResp.signatureVerificationMessage;
@@ -329,7 +279,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
329
279
  const connectMobile = (connector, isManualWalletConnect) => __async(this, null, function* () {
330
280
  const _isMobile = isManualWalletConnect !== void 0 ? isManualWalletConnect : isMobile();
331
281
  const _connector = connector.walletConnectModalConnector && _isMobile ? connector.walletConnectModalConnector : connector;
332
- return yield connect2(_connector);
282
+ return yield connect(_connector);
333
283
  });
334
284
  const getQrUri = (connector) => () => {
335
285
  var _a;
@@ -366,16 +316,12 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
366
316
  const wallets = dedupedConnectors.map((c) => {
367
317
  const connector = __spreadValues(__spreadValues({}, c), c.paraDetails);
368
318
  return __spreadProps(__spreadValues({}, connector), {
369
- connect: () => connect2(connector),
370
- connectMobile: ({ isManualWalletConnect }) => connectMobile(connector, isManualWalletConnect),
319
+ connect: () => connect(connector),
320
+ connectMobile: (isManualWalletConnect) => connectMobile(connector, isManualWalletConnect),
371
321
  type: WalletType.EVM,
372
322
  getQrUri: getQrUri(connector)
373
323
  });
374
324
  });
375
- const getParaDetails = (id) => {
376
- var _a;
377
- return (_a = connectors.find((w) => w.id === id)) == null ? void 0 : _a.paraDetails;
378
- };
379
325
  const formattedChains = chains.map((c) => {
380
326
  return {
381
327
  id: c.id,
@@ -383,41 +329,41 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
383
329
  };
384
330
  });
385
331
  const username = useMemo(() => ensName != null ? ensName : wagmiAddress, [ensName, wagmiAddress]);
386
- const disconnect = disconnectAsync;
332
+ const connectParaEmbedded = useCallback(() => __async(this, null, function* () {
333
+ const paraConnectorInstance = connectors.find((c) => c.id === "para");
334
+ if (!paraConnectorInstance) {
335
+ return { error: "No para connector instance" };
336
+ }
337
+ try {
338
+ const result = yield connectAsync({ connector: paraConnectorInstance });
339
+ return { result };
340
+ } catch (err) {
341
+ const error = err instanceof Error ? err.message : "Unknown error";
342
+ return { error };
343
+ }
344
+ }), [connectors]);
387
345
  return /* @__PURE__ */ jsx(
388
346
  EvmExternalWalletContext.Provider,
389
347
  {
390
- value: useMemo(
391
- () => ({
392
- wallets,
393
- chains: formattedChains,
394
- chainId,
395
- username,
396
- avatar: ensAvatar,
397
- disconnect,
398
- switchChain,
399
- signMessage,
400
- signVerificationMessage
401
- }),
402
- [
403
- wallets,
404
- formattedChains,
405
- chainId,
406
- username,
407
- ensAvatar,
408
- disconnect,
409
- switchChain,
410
- signMessage,
411
- signVerificationMessage
412
- ]
413
- ),
348
+ value: {
349
+ wallets,
350
+ chains: formattedChains,
351
+ chainId,
352
+ username,
353
+ avatar: ensAvatar,
354
+ disconnect: disconnectAsync,
355
+ switchChain,
356
+ connectParaEmbedded,
357
+ signMessage,
358
+ signVerificationMessage
359
+ },
414
360
  children
415
361
  }
416
362
  );
417
363
  }
418
364
 
419
365
  // src/providers/ParaEvmContext.tsx
420
- import { useCallback, useEffect as useEffect2, useMemo as useMemo2 } from "react";
366
+ import { useMemo as useMemo2 } from "react";
421
367
  import { createConfig, WagmiProvider } from "wagmi";
422
368
 
423
369
  // src/utils/uniqueBy.ts
@@ -457,7 +403,7 @@ function omitUndefinedValues(obj) {
457
403
  // src/wallets/connectorsForWallets.ts
458
404
  var connectorsForWallets = (walletList, { projectId, walletConnectParameters, appName, appDescription, appUrl, appIcon }) => {
459
405
  if (!walletList.length) {
460
- throw new Error("No wallet list was provided");
406
+ return [];
461
407
  }
462
408
  let index = -1;
463
409
  const connectors = [];
@@ -491,7 +437,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
491
437
  });
492
438
  const walletListItems = uniqueBy([...wallets], "id");
493
439
  for (const _a of walletListItems) {
494
- const _b = _a, { createConnector: createConnector5 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
440
+ const _b = _a, { createConnector: createConnector4 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
495
441
  const walletMetaData = (additionalParaParams) => {
496
442
  return {
497
443
  paraDetails: omitUndefinedValues(__spreadValues(__spreadProps(__spreadValues({}, walletMeta), {
@@ -500,9 +446,9 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
500
446
  };
501
447
  };
502
448
  const isWalletConnectConnector = walletMeta.id === "walletConnect";
503
- if (isWalletConnectConnector) {
449
+ if (isWalletConnectConnector && createConnector4) {
504
450
  connectors.push(
505
- createConnector5(
451
+ createConnector4(
506
452
  walletMetaData({
507
453
  isWalletConnectModalConnector: true,
508
454
  showQrModal: true
@@ -510,8 +456,8 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
510
456
  )
511
457
  );
512
458
  }
513
- if (createConnector5) {
514
- connectors.push(createConnector5(walletMetaData()));
459
+ if (createConnector4) {
460
+ connectors.push(createConnector4(walletMetaData()));
515
461
  }
516
462
  }
517
463
  return connectors;
@@ -519,9 +465,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
519
465
 
520
466
  // src/providers/ParaEvmContext.tsx
521
467
  import { http } from "viem";
522
- import { useClient, useExternalWalletProviderStore as useExternalWalletProviderStore2 } from "@getpara/react-sdk";
523
- import { connect } from "wagmi/actions";
524
- import { paraConnector } from "@getpara/wagmi-v2-integration";
468
+ import { paraConnector } from "@getpara/wagmi-v2-connector";
525
469
  import { jsx as jsx2 } from "react/jsx-runtime";
526
470
  var createDefaultTransports = (chains) => {
527
471
  const transportsObject = chains.reduce((acc, chain) => {
@@ -531,14 +475,14 @@ var createDefaultTransports = (chains) => {
531
475
  }, {});
532
476
  return transportsObject;
533
477
  };
534
- function ParaEvmProvider(_a) {
535
- var _b = _a, { children, config: _config } = _b, wagmiProviderProps = __objRest(_b, ["children", "config"]);
536
- var _a2;
537
- const updateExternalWalletProviderState = useExternalWalletProviderStore2((state) => state.updateState);
538
- const EvmProvider = useExternalWalletProviderStore2((state) => state.EvmProvider);
539
- const evmContext = useExternalWalletProviderStore2((state) => state.evmContext);
540
- const para = (_a2 = _config.para) != null ? _a2 : useClient();
541
- const _b2 = _config, {
478
+ function ParaEvmProvider({
479
+ children,
480
+ internalConfig,
481
+ config: _config,
482
+ wagmiProviderProps
483
+ }) {
484
+ const para = internalConfig.para;
485
+ const _a = _config, {
542
486
  projectId,
543
487
  appName,
544
488
  appDescription,
@@ -547,9 +491,8 @@ function ParaEvmProvider(_a) {
547
491
  wallets,
548
492
  chains,
549
493
  transports,
550
- paraDisableModal,
551
- paraOptions
552
- } = _b2, wagmiConfigParams = __objRest(_b2, [
494
+ paraConnectorOptions
495
+ } = _a, wagmiConfigParams = __objRest(_a, [
553
496
  "projectId",
554
497
  "appName",
555
498
  "appDescription",
@@ -558,18 +501,19 @@ function ParaEvmProvider(_a) {
558
501
  "wallets",
559
502
  "chains",
560
503
  "transports",
561
- "paraDisableModal",
562
- "paraOptions"
504
+ "paraConnectorOptions"
563
505
  ]);
564
- const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
565
- const paraConnectorInstance = para ? paraConnector({
566
- para,
567
- chains: [...chains],
568
- disableModal: paraDisableModal != null ? paraDisableModal : true,
569
- appName,
570
- options: paraOptions != null ? paraOptions : {}
571
- }) : void 0;
572
- const allConnectors = useMemo2(() => {
506
+ const paraConnectorInstance = useMemo2(() => {
507
+ return paraConnector({
508
+ para,
509
+ chains: [...chains],
510
+ disableModal: true,
511
+ appName,
512
+ options: paraConnectorOptions != null ? paraConnectorOptions : {}
513
+ });
514
+ }, [para]);
515
+ const config = useMemo2(() => {
516
+ const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
573
517
  const baseConnectors = connectorsForWallets(wallets, {
574
518
  projectId,
575
519
  appName,
@@ -578,49 +522,18 @@ function ParaEvmProvider(_a) {
578
522
  appIcon,
579
523
  walletConnectParameters: { metadata: wcMetadata }
580
524
  });
581
- return paraConnectorInstance ? [...baseConnectors, paraConnectorInstance] : baseConnectors;
582
- }, [wallets, projectId, appName, appDescription, appUrl, appIcon, wcMetadata, paraConnectorInstance]);
583
- const config = useMemo2(
584
- () => createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
525
+ const allConnectors = [...baseConnectors, paraConnectorInstance];
526
+ return createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
585
527
  chains,
586
528
  transports: transports || createDefaultTransports(chains),
587
529
  connectors: allConnectors
588
- })),
589
- [wagmiConfigParams, chains, transports, allConnectors]
590
- );
591
- const connectParaEvmWallet = useCallback(() => __async(this, null, function* () {
592
- if (!paraConnectorInstance) {
593
- return { error: "No para connector instance" };
594
- }
595
- try {
596
- const result = yield connect(config, { connector: paraConnectorInstance });
597
- return { result };
598
- } catch (err) {
599
- const error = err instanceof Error ? err.message : "Unknown error";
600
- return { error };
601
- }
602
- }), [paraConnectorInstance, config, connect]);
603
- useEffect2(() => {
604
- if (!evmContext || !EvmProvider) {
605
- updateExternalWalletProviderState({
606
- EvmProvider: EvmExternalWalletProvider,
607
- evmContext: EvmExternalWalletContext
608
- });
609
- }
610
- }, []);
611
- useEffect2(() => {
612
- updateExternalWalletProviderState({
613
- connectParaEvmWallet: paraConnectorInstance ? connectParaEvmWallet : void 0
614
- });
615
- }, [paraConnectorInstance]);
616
- if (!evmContext || !EvmProvider) {
617
- return null;
618
- }
619
- return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children }));
530
+ }));
531
+ }, [wallets, paraConnectorInstance]);
532
+ return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children: /* @__PURE__ */ jsx2(EvmExternalWalletProvider, __spreadProps(__spreadValues({}, internalConfig), { children })) }));
620
533
  }
621
534
 
622
535
  // src/wallets/connectors/metaMask/metaMask.ts
623
- import { isAndroid, isIOS, isTelegram } from "@getpara/react-sdk";
536
+ import { isAndroid, isIOS, isTelegram } from "@getpara/web-sdk";
624
537
 
625
538
  // src/utils/getInjectedConnector.ts
626
539
  import { createConnector } from "wagmi";
@@ -730,9 +643,7 @@ function getWalletConnectConnector({
730
643
  walletConnectParameters
731
644
  }) {
732
645
  if (!projectId || projectId === "") {
733
- throw new Error(
734
- "No projectId found. Every dApp must now provide a WalletConnect Cloud projectId to enable WalletConnect v2. Sign up for your free key at https://cloud.walletconnect.com/sign-in"
735
- );
646
+ return;
736
647
  }
737
648
  return (walletDetails) => createWalletConnectConnector({
738
649
  projectId,
@@ -773,7 +684,6 @@ function isMetaMask(ethereum) {
773
684
  if (ethereum.isPhantom) return false;
774
685
  if (ethereum.isPortal) return false;
775
686
  if (ethereum.isRabby) return false;
776
- if (ethereum.isSafe) return false;
777
687
  if (ethereum.isRainbow) return false;
778
688
  if (ethereum.isStatus) return false;
779
689
  if (ethereum.isTalisman) return false;
@@ -788,14 +698,8 @@ function isMetaMask(ethereum) {
788
698
  return true;
789
699
  }
790
700
  var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
791
- var _a, _b, _c, _d;
792
- let metaMaskTarget = typeof window !== "undefined" ? (_c = (_b = (_a = window.ethereum) == null ? void 0 : _a.providers) == null ? void 0 : _b.find(isMetaMask)) != null ? _c : window.ethereum : void 0;
793
- const metaMaskInjectedProvider = metaMaskTarget ? metaMaskTarget : getInjectedProvider({ flag: "isMetaMask" });
794
- const isMetaMaskInjected = !!metaMaskInjectedProvider && metaMaskInjectedProvider.isMetaMask;
795
- const providerMapTarget = (_d = metaMaskTarget == null ? void 0 : metaMaskTarget.providerMap) == null ? void 0 : _d.get("MetaMask");
796
- if (providerMapTarget) {
797
- metaMaskTarget = providerMapTarget;
798
- }
701
+ var _a, _b, _c;
702
+ const isMetaMaskInjected = hasInjectedProvider({ flag: "isMetaMask" });
799
703
  const getUri = (uri) => {
800
704
  return isAndroid() ? `metamask://wc?uri=${encodeURIComponent(uri)}` : isIOS() ? !isTelegram() ? (
801
705
  // currently broken in MetaMask v6.5.0 https://github.com/MetaMask/metamask-mobile/issues/6457
@@ -813,7 +717,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
813
717
  downloadUrl: "https://metamask.io/download/",
814
718
  getUri,
815
719
  createConnector: isMetaMaskInjected ? getInjectedConnector({
816
- target: metaMaskTarget
720
+ target: typeof window !== "undefined" ? (_c = (_b = (_a = window.ethereum) == null ? void 0 : _a.providers) == null ? void 0 : _b.find(isMetaMask)) != null ? _c : window.ethereum : void 0
817
721
  }) : getWalletConnectConnector({
818
722
  projectId,
819
723
  walletConnectParameters
@@ -822,7 +726,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
822
726
  };
823
727
 
824
728
  // src/wallets/connectors/rainbow/rainbow.ts
825
- import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/react-sdk";
729
+ import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/web-sdk";
826
730
 
827
731
  // src/wallets/connectors/rainbow/rainbowIcon.ts
828
732
  var icon2 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMCA1LjRIMS44QzExLjA3ODQgNS40IDE4LjYgMTIuOTIxNiAxOC42IDIyLjJWMjRIMjIuMkMyMy4xOTQxIDI0IDI0IDIzLjE5NDEgMjQgMjIuMkMyNCA5LjkzOTI3IDE0LjA2MDcgMCAxLjggMEMwLjgwNTg4NyAwIDAgMC44MDU4ODcgMCAxLjhWNS40WiIgZmlsbD0idXJsKCNwYWludDBfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTE5LjIgMjIuMkgyMy45OTk5QzIzLjk5OTkgMjMuMTk0MSAyMy4xOTQxIDI0IDIyLjE5OTkgMjRIMTkuMlYyMi4yWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAwTDEuOCA0LjhIMEwxLjMxMTM0ZS0wNyAxLjhDMS43NDU4OGUtMDcgMC44MDU4ODcgMC44MDU4ODcgLTQuMzQ1NGUtMDggMS44IDBaIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMCA0Ljc5OTk5SDEuOEMxMS40MDk3IDQuNzk5OTkgMTkuMiAxMi41OTAyIDE5LjIgMjIuMlYyNEgxMy44VjIyLjJDMTMuOCAxNS41NzI2IDguNDI3NDEgMTAuMiAxLjggMTAuMkgwVjQuNzk5OTlaIiBmaWxsPSJ1cmwoI3BhaW50M19yYWRpYWxfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMTQuMzk5OSAyMi4ySDE5LjE5OTlWMjRIMTQuMzk5OVYyMi4yWiIgZmlsbD0idXJsKCNwYWludDRfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTIuMDk4MTVlLTA3IDkuNTk5OTlMMCA0Ljc5OTk5TDEuOCA0Ljc5OTk5TDEuOCA5LjU5OTk5SDIuMDk4MTVlLTA3WiIgZmlsbD0idXJsKCNwYWludDVfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTAgMTIuNkMwIDEzLjU5NDEgMC44MDU4ODcgMTQuNCAxLjggMTQuNEM2LjEwNzgyIDE0LjQgOS42IDE3Ljg5MjEgOS42IDIyLjJDOS42IDIzLjE5NDEgMTAuNDA1OSAyNCAxMS40IDI0SDE0LjRWMjIuMkMxNC40IDE1LjI0MTIgOC43NTg3OCA5LjU5OTk4IDEuOCA5LjU5OTk4SDBWMTIuNloiIGZpbGw9InVybCgjcGFpbnQ2X3JhZGlhbF80NDJfODI3KSIvPgogIDxwYXRoIGQ9Ik05LjYwMDEgMjIuMkgxNC40MDAxVjI0SDExLjQwMDFDMTAuNDA2IDI0IDkuNjAwMSAyMy4xOTQxIDkuNjAwMSAyMi4yWiIgZmlsbD0idXJsKCNwYWludDdfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAxNC40QzAuODA1ODg3IDE0LjQgMS43NDU4OGUtMDcgMTMuNTk0MSAxLjMxMTM0ZS0wNyAxMi42TDAgOS41OTk5OEwxLjggOS41OTk5OEwxLjggMTQuNFoiIGZpbGw9InVybCgjcGFpbnQ4X3JhZGlhbF80NDJfODI3KSIvPgogIDxkZWZzPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDBfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDIyLjIpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjc3MDI3NyIgc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfNDQyXzgyNyIgeDE9IjE4LjkiIHkxPSIyMy4xIiB4Mj0iMjMuOTk5OSIgeTI9IjIzLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfNDQyXzgyNyIgeDE9IjAuOSIgeTE9Ii0zLjkzMzllLTA3IiB4Mj0iMC44OTk5OTgiIHkyPSI1LjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg3NTRDOSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjQwMDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50M19yYWRpYWxfNDQyXzgyNyIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjggMjIuMikgcm90YXRlKC05MCkgc2NhbGUoMTcuNCkiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNzIzOTI5IiBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ0X2xpbmVhcl80NDJfODI3IiB4MT0iMTQuMzk5OSIgeTE9IjIzLjEiIHgyPSIxOS4xOTk5IiB5Mj0iMjMuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ1X2xpbmVhcl80NDJfODI3IiB4MT0iMC45MDAwMDEiIHkxPSI5LjU5OTk5IiB4Mj0iMC44OTk5OTkiIHkyPSI0Ljc5OTk5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY3MDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY5OTAxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDZfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDEyLjYpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjU5NTEzIiBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ3X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzAwMSAyMy4xKSBzY2FsZSg1LjEgMTMuNikiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ4X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuODk5OTk5IDE0LjcpIHJvdGF0ZSgtOTApIHNjYWxlKDUuMSA5Ni43MTEpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQUFGRiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMURBNDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=";
@@ -904,7 +808,7 @@ var coinbaseWallet = ({ appName, appIcon }) => {
904
808
  };
905
809
 
906
810
  // src/wallets/connectors/zerion/zerion.ts
907
- import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/react-sdk";
811
+ import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/web-sdk";
908
812
 
909
813
  // src/wallets/connectors/zerion/zerionIcon.ts
910
814
  var icon5 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZmlsbD0iIzI5NjJFRiIgZD0iTTAgMGgyOHYyOEgweiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02LjA3MyA3Yy0uNDggMC0uNjY1LjU5My0uMjYyLjg0MWwxMC4wNzMgNi4wNzRhLjU3Ny41NzcgMCAwIDAgLjc1OC0uMTM5bDQuNDMtNS44MTRjLjMtLjQwNC0uMDA0LS45NjItLjUyNS0uOTYySDYuMDczWk0yMS45MDQgMjFjLjQ4IDAgLjY3LS41OTYuMjY3LS44NDRsLTEwLjA3NS02LjA3M2EuNTY5LjU2OSAwIDAgMC0uNzUxLjE0NmwtNC40MzcgNS44MTNjLS4zMDEuNDA0LjAxMi45NTguNTM0Ljk1OGgxNC40NjJaIi8+PC9zdmc+";
@@ -960,39 +864,16 @@ var rabbyWallet = ({ projectId, walletConnectParameters }) => {
960
864
  };
961
865
  };
962
866
 
963
- // src/wallets/connectors/safe/safe.ts
964
- import { createConnector as createConnector4 } from "wagmi";
965
- import { safe } from "wagmi/connectors";
966
-
967
- // src/wallets/connectors/safe/safeIcon.ts
968
- var icon7 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";
969
-
970
- // src/wallets/connectors/safe/safe.ts
971
- var safeWallet = () => ({
972
- id: "safe",
973
- name: "Safe",
974
- rdns: "io.safe",
975
- iconUrl: icon7,
976
- installed: (
977
- // Only allowed in iframe context
978
- !(typeof window === "undefined") && (window == null ? void 0 : window.parent) !== window
979
- ),
980
- isExtension: false,
981
- isMobile: false,
982
- downloadUrl: "https://safe.global",
983
- createConnector: (walletDetails) => {
984
- return createConnector4((config) => __spreadValues(__spreadValues({}, safe()(config)), walletDetails));
985
- }
986
- });
867
+ // src/wallets/connectors/index.ts
868
+ var allWallets = [metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet];
987
869
  export {
988
870
  EvmExternalWalletContext,
989
- EvmExternalWalletProvider,
990
871
  ParaEvmProvider,
872
+ allWallets,
991
873
  coinbaseWallet,
992
874
  metaMaskWallet,
993
875
  rabbyWallet,
994
876
  rainbowWallet,
995
- safeWallet,
996
877
  walletConnectWallet,
997
878
  zerionWallet
998
879
  };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1,26 +1,20 @@
1
- import { ReactNode } from 'react';
2
- import ParaWeb, { CommonChain, CommonWallet } from '@getpara/react-sdk';
3
- export declare const defaultEvmExternalWallet: {
4
- wallets: any[];
5
- chains: any[];
6
- chainId: any;
7
- username: any;
8
- avatar: any;
9
- disconnect: () => Promise<void>;
10
- switchChain: () => Promise<{}>;
11
- signMessage: () => Promise<{}>;
12
- signVerificationMessage: () => Promise<{}>;
13
- };
14
- export declare const EvmExternalWalletContext: import("react").Context<{
1
+ import { PropsWithChildren } from 'react';
2
+ import type { CommonChain, CommonWallet } from '@getpara/react-common';
3
+ import ParaWeb from '@getpara/web-sdk';
4
+ export type EvmExternalWalletContextType = {
15
5
  wallets: CommonWallet[];
16
6
  chains: CommonChain[];
17
- chainId: number;
18
- username: string;
7
+ chainId?: number;
8
+ username?: string;
19
9
  avatar?: string;
20
10
  disconnect: () => Promise<void>;
21
11
  switchChain: (chainId: number) => Promise<{
22
12
  error?: string[];
23
13
  }>;
14
+ connectParaEmbedded: () => Promise<{
15
+ result?: unknown;
16
+ error?: string;
17
+ }>;
24
18
  signMessage: (message: string) => Promise<{
25
19
  signature?: string;
26
20
  error?: string;
@@ -30,14 +24,13 @@ export declare const EvmExternalWalletContext: import("react").Context<{
30
24
  signature?: string;
31
25
  error?: string;
32
26
  }>;
33
- }>;
34
- interface EvmExternalWalletProviderProps {
35
- children: ReactNode;
36
- para: ParaWeb;
37
- onSwitchWallet: (args: {
27
+ };
28
+ export declare const EvmExternalWalletContext: import("react").Context<EvmExternalWalletContextType>;
29
+ export type EvmExternalWalletProviderConfig = {
30
+ onSwitchWallet?: (args: {
38
31
  address?: string;
39
32
  error?: string;
40
33
  }) => void;
41
- }
42
- export declare function EvmExternalWalletProvider({ children, para, onSwitchWallet }: EvmExternalWalletProviderProps): import("react/jsx-runtime").JSX.Element;
43
- export {};
34
+ para: ParaWeb;
35
+ };
36
+ export declare function EvmExternalWalletProvider({ children, onSwitchWallet, para, }: EvmExternalWalletProviderConfig & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,22 @@
1
- import { ReactNode } from 'react';
1
+ import { PropsWithChildren } from 'react';
2
2
  import { CreateConfigParameters, WagmiProviderProps } from 'wagmi';
3
3
  import { WalletList } from '../types/Wallet.js';
4
4
  import { Chain, Transport } from 'viem';
5
- import ParaWeb from '@getpara/react-sdk';
5
+ import { EvmExternalWalletProviderConfig } from './EvmExternalWalletContext.js';
6
6
  import { InjectedParameters } from 'wagmi/connectors';
7
- interface GetDefaultConfigParameters<chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>> extends Omit<CreateConfigParameters<chains, transports>, 'connectors'> {
7
+ export interface ParaEvmProviderConfig<chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>> extends Omit<CreateConfigParameters<chains, transports>, 'connectors'> {
8
8
  appName: string;
9
9
  appDescription?: string;
10
10
  appUrl?: string;
11
11
  appIcon?: string;
12
12
  wallets?: WalletList;
13
13
  projectId: string;
14
- para?: ParaWeb;
15
- paraDisableModal?: boolean;
16
- paraOptions?: InjectedParameters;
14
+ paraConnectorOptions?: InjectedParameters;
17
15
  }
18
- interface ParaEvmProviderProps<chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>> extends Omit<WagmiProviderProps, 'config'> {
19
- children: ReactNode;
20
- config: GetDefaultConfigParameters<chains, transports>;
16
+ export type ParaWagmiProviderProps = Omit<WagmiProviderProps, 'config'>;
17
+ export interface ParaEvmProviderProps<chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>> {
18
+ config: ParaEvmProviderConfig<chains, transports>;
19
+ internalConfig: EvmExternalWalletProviderConfig;
20
+ wagmiProviderProps?: ParaWagmiProviderProps;
21
21
  }
22
- export declare function ParaEvmProvider<const chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>>({ children, config: _config, ...wagmiProviderProps }: ParaEvmProviderProps<chains, transports>): import("react/jsx-runtime").JSX.Element;
23
- export {};
22
+ export declare function ParaEvmProvider<const chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]['id'], Transport>>({ children, internalConfig, config: _config, wagmiProviderProps, }: ParaEvmProviderProps<chains, transports> & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { Connector, CreateConnectorFn } from 'wagmi';
2
2
  import { WalletConnectParameters } from 'wagmi/connectors';
3
3
  import { CoinbaseWalletOptions } from '../wallets/connectors/coinbase/coinbase.js';
4
4
  import { WalletConnectWalletOptions } from '../wallets/connectors/walletConnect/walletConnect.js';
5
- import { WalletMetadata } from '@getpara/react-sdk';
5
+ import { type WalletMetadata } from '@getpara/react-common';
6
6
  export type Wallet = {
7
7
  createConnector?: (walletDetails: WalletDetailsParams) => CreateConnectorFn;
8
8
  createMobileConnector?: (walletDetails: WalletDetailsParams) => CreateConnectorFn;
@@ -9,7 +9,7 @@ export type Mutable<type extends object> = {
9
9
  };
10
10
  /** Strict version of built-in Omit type */
11
11
  export type Omit<type, keys extends keyof type> = Pick<type, Exclude<keyof type, keys>>;
12
- export type WalletProviderFlags = 'isApexWallet' | 'isAvalanche' | 'isBackpack' | 'isBifrost' | 'isBitKeep' | 'isBitski' | 'isBlockWallet' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isDawn' | 'isEnkrypt' | 'isExodus' | 'isFrame' | 'isFrontier' | 'isGamestop' | 'isHyperPay' | 'isImToken' | 'isKuCoinWallet' | 'isMathWallet' | 'isMetaMask' | 'isNestWallet' | 'isOkxWallet' | 'isOKExWallet' | 'isOneInchAndroidWallet' | 'isOneInchIOSWallet' | 'isOpera' | 'isPhantom' | 'isPortal' | 'isRabby' | 'isRainbow' | 'isSafe' | 'isStatus' | 'isTally' | 'isTokenPocket' | 'isTokenary' | 'isTrust' | 'isTrustWallet' | 'isXDEFI' | 'isZerion' | 'isTalisman' | 'isZeal' | 'isCoin98' | 'isMEWwallet' | 'isSafeheron' | 'isSafePal' | '__seif';
12
+ export type WalletProviderFlags = 'isApexWallet' | 'isAvalanche' | 'isBackpack' | 'isBifrost' | 'isBitKeep' | 'isBitski' | 'isBlockWallet' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isDawn' | 'isEnkrypt' | 'isExodus' | 'isFrame' | 'isFrontier' | 'isGamestop' | 'isHyperPay' | 'isImToken' | 'isKuCoinWallet' | 'isMathWallet' | 'isMetaMask' | 'isNestWallet' | 'isOkxWallet' | 'isOKExWallet' | 'isOneInchAndroidWallet' | 'isOneInchIOSWallet' | 'isOpera' | 'isPhantom' | 'isPortal' | 'isRabby' | 'isRainbow' | 'isStatus' | 'isTally' | 'isTokenPocket' | 'isTokenary' | 'isTrust' | 'isTrustWallet' | 'isXDEFI' | 'isZerion' | 'isTalisman' | 'isZeal' | 'isCoin98' | 'isMEWwallet' | 'isSafeheron' | 'isSafePal' | '__seif';
13
13
  export type WalletProvider = Evaluate<EIP1193Provider & {
14
14
  [key in WalletProviderFlags]?: true | undefined;
15
15
  } & {
@@ -4,10 +4,6 @@ export declare function hasInjectedProvider({ flag, namespace }: {
4
4
  flag?: WalletProviderFlags;
5
5
  namespace?: string;
6
6
  }): boolean;
7
- export declare function getInjectedProvider({ flag, namespace }: {
8
- flag?: WalletProviderFlags;
9
- namespace?: string;
10
- }): any;
11
7
  export declare function getInjectedConnector({ flag, namespace, target, }: {
12
8
  flag?: WalletProviderFlags;
13
9
  namespace?: string;
@@ -3,5 +3,5 @@ interface GetWalletConnectConnectorParams {
3
3
  projectId: string;
4
4
  walletConnectParameters?: ParaWalletConnectParameters;
5
5
  }
6
- export declare function getWalletConnectConnector({ projectId, walletConnectParameters, }: GetWalletConnectConnectorParams): CreateConnector;
6
+ export declare function getWalletConnectConnector({ projectId, walletConnectParameters, }: GetWalletConnectConnectorParams): CreateConnector | undefined;
7
7
  export {};
@@ -4,5 +4,5 @@ import { walletConnectWallet } from './walletConnect/walletConnect.js';
4
4
  import { coinbaseWallet } from './coinbase/coinbase.js';
5
5
  import { zerionWallet } from './zerion/zerion.js';
6
6
  import { rabbyWallet } from './rabby/rabby.js';
7
- import { safeWallet } from './safe/safe.js';
8
- export { metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet, safeWallet };
7
+ export { metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet };
8
+ export declare const allWallets: ((({ appName, appIcon }: import("./coinbase/coinbase.js").CoinbaseWalletOptions) => import("../../types/Wallet.js").Wallet) | (({ projectId, options }: import("./walletConnect/walletConnect.js").WalletConnectWalletOptions) => import("../../types/Wallet.js").Wallet) | (({ projectId, walletConnectParameters }: import("./metaMask/metaMask.js").MetaMaskWalletOptions) => import("../../types/Wallet.js").Wallet))[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpara/evm-wallet-connectors",
3
- "version": "1.7.0",
3
+ "version": "2.0.0-dev.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,8 +10,10 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@coinbase/wallet-sdk": "4.3.0",
13
- "@getpara/react-sdk": "1.7.0",
14
- "@getpara/wagmi-v2-integration": "1.7.0",
13
+ "@getpara/wagmi-v2-connector": "2.0.0-dev.0",
14
+ "@getpara/web-sdk": "^2.0.0-dev.0",
15
+ "viem": "2.x",
16
+ "wagmi": "2.x",
15
17
  "zustand": "^4.5.2",
16
18
  "zustand-sync-tabs": "^0.2.2"
17
19
  },
@@ -21,21 +23,18 @@
21
23
  "test": "vitest run --coverage"
22
24
  },
23
25
  "devDependencies": {
26
+ "@getpara/react-common": "^2.0.0-dev.0",
24
27
  "@types/react": "^18.0.31",
25
28
  "@types/react-dom": "^18.2.7",
26
- "typescript": "^5.4.3",
27
- "viem": "2.x",
28
- "wagmi": "2.x"
29
+ "typescript": "^5.4.3"
29
30
  },
30
31
  "peerDependencies": {
31
32
  "react": ">=18",
32
- "react-dom": ">=18",
33
- "viem": "2.x",
34
- "wagmi": "2.x"
33
+ "react-dom": ">=18"
35
34
  },
36
35
  "files": [
37
36
  "dist",
38
37
  "package.json"
39
38
  ],
40
- "gitHead": "241b03ee3d3502af3b8d702dabd615b266da10ae"
39
+ "gitHead": "f94ef031ef0e1894f5f0800e55f6ca2904641780"
41
40
  }
package/dist/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "type": "module",
3
- "sideEffects": false
4
- }
@@ -1,2 +0,0 @@
1
- import type { Wallet } from '../../../types/Wallet.js';
2
- export declare const safeWallet: () => Wallet;
@@ -1 +0,0 @@
1
- export declare const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";