@getpara/evm-wallet-connectors 1.7.1 → 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
- useWalletState,
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 { selectedWallet } = useWalletState();
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,22 +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
- const wallet = para.findWallet(selectedWallet.id, selectedWallet.type);
170
- if (wallet && connectedConnector && wallet.type === WalletType.EVM && (connectedConnector.id === "para" && wallet.isExternal || connectedConnector.id !== "para" && !wallet.isExternal)) {
171
- switchAccount(wallet.isExternal ? wallet.name : "Para");
172
- }
173
- }, [selectedWallet]);
174
152
  const connectors = untypedConnectors;
175
153
  const reset = () => __async(this, null, function* () {
176
154
  yield disconnectAsync();
@@ -198,14 +176,6 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
198
176
  const signature = yield signMessage(verificationMessage.current);
199
177
  return signature;
200
178
  });
201
- const switchAccount = (connectorName) => __async(this, null, function* () {
202
- var _a;
203
- const connector = (_a = connections.find((c) => c.connector.name === connectorName)) == null ? void 0 : _a.connector;
204
- if (!connector) {
205
- throw new Error(`connector not found: ${connectorName}`);
206
- }
207
- yield switchAccountAsync({ connector });
208
- });
209
179
  const switchChain = (chainId2) => __async(this, null, function* () {
210
180
  var _a, _b, _c;
211
181
  let error;
@@ -233,21 +203,9 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
233
203
  }
234
204
  return { error };
235
205
  });
236
- const login = (_0) => __async(this, [_0], function* ({
237
- address,
238
- walletId,
239
- connectorName
240
- }) {
241
- var _a;
206
+ const login = (_0) => __async(this, [_0], function* ({ address, connectorName }) {
242
207
  try {
243
- refetchEnsName();
244
- refetchEnsAvatar();
245
- return yield para.externalWalletLogin({
246
- address,
247
- type: WalletType.EVM,
248
- provider: connectorName,
249
- withFullParaAuth: fullAuthWallets == null ? void 0 : fullAuthWallets.includes((_a = walletId == null ? void 0 : walletId.toUpperCase()) != null ? _a : "")
250
- });
208
+ return yield para.externalWalletLogin({ address, type: WalletType.EVM, provider: connectorName });
251
209
  } catch (err) {
252
210
  yield disconnectAsync();
253
211
  yield para.logout();
@@ -255,30 +213,21 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
255
213
  }
256
214
  });
257
215
  const switchWallet = (address) => __async(this, null, function* () {
258
- var _a;
259
216
  updateExternalWalletState({ isConnecting: true });
260
217
  let error;
261
218
  if (!address) {
262
219
  yield para.logout();
263
220
  } else {
264
- if (para.isExternalWalletAuth) {
265
- yield reset();
266
- } else {
267
- try {
268
- yield login({
269
- address,
270
- connectorName: connectedConnector == null ? void 0 : connectedConnector.name,
271
- walletId: (_a = getParaDetails(connectedConnector.id)) == null ? void 0 : _a.id
272
- });
273
- } catch (err) {
274
- error = err;
275
- }
221
+ try {
222
+ yield login({ address, connectorName: connectedConnector == null ? void 0 : connectedConnector.name });
223
+ } catch (err) {
224
+ error = err;
276
225
  }
277
226
  }
278
- onSwitchWallet({ address, error });
227
+ onSwitchWallet == null ? void 0 : onSwitchWallet({ address, error });
279
228
  updateExternalWalletState({ isConnecting: false });
280
229
  });
281
- const connect2 = (connector) => __async(this, null, function* () {
230
+ const connect = (connector) => __async(this, null, function* () {
282
231
  var _a, _b, _c, _d;
283
232
  updateExternalWalletState({ isConnecting: true });
284
233
  yield disconnectAsync();
@@ -299,7 +248,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
299
248
  address = (_d = data.accounts) == null ? void 0 : _d[0];
300
249
  if (address) {
301
250
  try {
302
- const loginResp = yield login({ address, connectorName: connector.name, walletId: connector.paraDetails.id });
251
+ const loginResp = yield login({ address, connectorName: connector.name });
303
252
  userExists = loginResp.userExists;
304
253
  isVerified = loginResp.isVerified;
305
254
  verificationMessage.current = loginResp.signatureVerificationMessage;
@@ -330,7 +279,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
330
279
  const connectMobile = (connector, isManualWalletConnect) => __async(this, null, function* () {
331
280
  const _isMobile = isManualWalletConnect !== void 0 ? isManualWalletConnect : isMobile();
332
281
  const _connector = connector.walletConnectModalConnector && _isMobile ? connector.walletConnectModalConnector : connector;
333
- return yield connect2(_connector);
282
+ return yield connect(_connector);
334
283
  });
335
284
  const getQrUri = (connector) => () => {
336
285
  var _a;
@@ -367,16 +316,12 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
367
316
  const wallets = dedupedConnectors.map((c) => {
368
317
  const connector = __spreadValues(__spreadValues({}, c), c.paraDetails);
369
318
  return __spreadProps(__spreadValues({}, connector), {
370
- connect: () => connect2(connector),
371
- connectMobile: ({ isManualWalletConnect }) => connectMobile(connector, isManualWalletConnect),
319
+ connect: () => connect(connector),
320
+ connectMobile: (isManualWalletConnect) => connectMobile(connector, isManualWalletConnect),
372
321
  type: WalletType.EVM,
373
322
  getQrUri: getQrUri(connector)
374
323
  });
375
324
  });
376
- const getParaDetails = (id) => {
377
- var _a;
378
- return (_a = connectors.find((w) => w.id === id)) == null ? void 0 : _a.paraDetails;
379
- };
380
325
  const formattedChains = chains.map((c) => {
381
326
  return {
382
327
  id: c.id,
@@ -384,41 +329,41 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
384
329
  };
385
330
  });
386
331
  const username = useMemo(() => ensName != null ? ensName : wagmiAddress, [ensName, wagmiAddress]);
387
- 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]);
388
345
  return /* @__PURE__ */ jsx(
389
346
  EvmExternalWalletContext.Provider,
390
347
  {
391
- value: useMemo(
392
- () => ({
393
- wallets,
394
- chains: formattedChains,
395
- chainId,
396
- username,
397
- avatar: ensAvatar,
398
- disconnect,
399
- switchChain,
400
- signMessage,
401
- signVerificationMessage
402
- }),
403
- [
404
- wallets,
405
- formattedChains,
406
- chainId,
407
- username,
408
- ensAvatar,
409
- disconnect,
410
- switchChain,
411
- signMessage,
412
- signVerificationMessage
413
- ]
414
- ),
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
+ },
415
360
  children
416
361
  }
417
362
  );
418
363
  }
419
364
 
420
365
  // src/providers/ParaEvmContext.tsx
421
- import { useCallback, useEffect as useEffect2, useMemo as useMemo2 } from "react";
366
+ import { useMemo as useMemo2 } from "react";
422
367
  import { createConfig, WagmiProvider } from "wagmi";
423
368
 
424
369
  // src/utils/uniqueBy.ts
@@ -458,7 +403,7 @@ function omitUndefinedValues(obj) {
458
403
  // src/wallets/connectorsForWallets.ts
459
404
  var connectorsForWallets = (walletList, { projectId, walletConnectParameters, appName, appDescription, appUrl, appIcon }) => {
460
405
  if (!walletList.length) {
461
- throw new Error("No wallet list was provided");
406
+ return [];
462
407
  }
463
408
  let index = -1;
464
409
  const connectors = [];
@@ -492,7 +437,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
492
437
  });
493
438
  const walletListItems = uniqueBy([...wallets], "id");
494
439
  for (const _a of walletListItems) {
495
- const _b = _a, { createConnector: createConnector5 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
440
+ const _b = _a, { createConnector: createConnector4 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
496
441
  const walletMetaData = (additionalParaParams) => {
497
442
  return {
498
443
  paraDetails: omitUndefinedValues(__spreadValues(__spreadProps(__spreadValues({}, walletMeta), {
@@ -501,9 +446,9 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
501
446
  };
502
447
  };
503
448
  const isWalletConnectConnector = walletMeta.id === "walletConnect";
504
- if (isWalletConnectConnector) {
449
+ if (isWalletConnectConnector && createConnector4) {
505
450
  connectors.push(
506
- createConnector5(
451
+ createConnector4(
507
452
  walletMetaData({
508
453
  isWalletConnectModalConnector: true,
509
454
  showQrModal: true
@@ -511,8 +456,8 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
511
456
  )
512
457
  );
513
458
  }
514
- if (createConnector5) {
515
- connectors.push(createConnector5(walletMetaData()));
459
+ if (createConnector4) {
460
+ connectors.push(createConnector4(walletMetaData()));
516
461
  }
517
462
  }
518
463
  return connectors;
@@ -520,9 +465,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
520
465
 
521
466
  // src/providers/ParaEvmContext.tsx
522
467
  import { http } from "viem";
523
- import { useClient, useExternalWalletProviderStore as useExternalWalletProviderStore2 } from "@getpara/react-sdk";
524
- import { connect } from "wagmi/actions";
525
- import { paraConnector } from "@getpara/wagmi-v2-integration";
468
+ import { paraConnector } from "@getpara/wagmi-v2-connector";
526
469
  import { jsx as jsx2 } from "react/jsx-runtime";
527
470
  var createDefaultTransports = (chains) => {
528
471
  const transportsObject = chains.reduce((acc, chain) => {
@@ -532,14 +475,14 @@ var createDefaultTransports = (chains) => {
532
475
  }, {});
533
476
  return transportsObject;
534
477
  };
535
- function ParaEvmProvider(_a) {
536
- var _b = _a, { children, config: _config } = _b, wagmiProviderProps = __objRest(_b, ["children", "config"]);
537
- var _a2;
538
- const updateExternalWalletProviderState = useExternalWalletProviderStore2((state) => state.updateState);
539
- const EvmProvider = useExternalWalletProviderStore2((state) => state.EvmProvider);
540
- const evmContext = useExternalWalletProviderStore2((state) => state.evmContext);
541
- const para = (_a2 = _config.para) != null ? _a2 : useClient();
542
- 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, {
543
486
  projectId,
544
487
  appName,
545
488
  appDescription,
@@ -548,9 +491,8 @@ function ParaEvmProvider(_a) {
548
491
  wallets,
549
492
  chains,
550
493
  transports,
551
- paraDisableModal,
552
- paraOptions
553
- } = _b2, wagmiConfigParams = __objRest(_b2, [
494
+ paraConnectorOptions
495
+ } = _a, wagmiConfigParams = __objRest(_a, [
554
496
  "projectId",
555
497
  "appName",
556
498
  "appDescription",
@@ -559,18 +501,19 @@ function ParaEvmProvider(_a) {
559
501
  "wallets",
560
502
  "chains",
561
503
  "transports",
562
- "paraDisableModal",
563
- "paraOptions"
504
+ "paraConnectorOptions"
564
505
  ]);
565
- const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
566
- const paraConnectorInstance = para ? paraConnector({
567
- para,
568
- chains: [...chains],
569
- disableModal: paraDisableModal != null ? paraDisableModal : true,
570
- appName,
571
- options: paraOptions != null ? paraOptions : {}
572
- }) : void 0;
573
- 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 });
574
517
  const baseConnectors = connectorsForWallets(wallets, {
575
518
  projectId,
576
519
  appName,
@@ -579,49 +522,18 @@ function ParaEvmProvider(_a) {
579
522
  appIcon,
580
523
  walletConnectParameters: { metadata: wcMetadata }
581
524
  });
582
- return paraConnectorInstance ? [...baseConnectors, paraConnectorInstance] : baseConnectors;
583
- }, [wallets, projectId, appName, appDescription, appUrl, appIcon, wcMetadata, paraConnectorInstance]);
584
- const config = useMemo2(
585
- () => createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
525
+ const allConnectors = [...baseConnectors, paraConnectorInstance];
526
+ return createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
586
527
  chains,
587
528
  transports: transports || createDefaultTransports(chains),
588
529
  connectors: allConnectors
589
- })),
590
- [wagmiConfigParams, chains, transports, allConnectors]
591
- );
592
- const connectParaEvmWallet = useCallback(() => __async(this, null, function* () {
593
- if (!paraConnectorInstance) {
594
- return { error: "No para connector instance" };
595
- }
596
- try {
597
- const result = yield connect(config, { connector: paraConnectorInstance });
598
- return { result };
599
- } catch (err) {
600
- const error = err instanceof Error ? err.message : "Unknown error";
601
- return { error };
602
- }
603
- }), [paraConnectorInstance, config, connect]);
604
- useEffect2(() => {
605
- if (!evmContext || !EvmProvider) {
606
- updateExternalWalletProviderState({
607
- EvmProvider: EvmExternalWalletProvider,
608
- evmContext: EvmExternalWalletContext
609
- });
610
- }
611
- }, []);
612
- useEffect2(() => {
613
- updateExternalWalletProviderState({
614
- connectParaEvmWallet: paraConnectorInstance ? connectParaEvmWallet : void 0
615
- });
616
- }, [paraConnectorInstance]);
617
- if (!evmContext || !EvmProvider) {
618
- return null;
619
- }
620
- 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 })) }));
621
533
  }
622
534
 
623
535
  // src/wallets/connectors/metaMask/metaMask.ts
624
- import { isAndroid, isIOS, isTelegram } from "@getpara/react-sdk";
536
+ import { isAndroid, isIOS, isTelegram } from "@getpara/web-sdk";
625
537
 
626
538
  // src/utils/getInjectedConnector.ts
627
539
  import { createConnector } from "wagmi";
@@ -731,9 +643,7 @@ function getWalletConnectConnector({
731
643
  walletConnectParameters
732
644
  }) {
733
645
  if (!projectId || projectId === "") {
734
- throw new Error(
735
- "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"
736
- );
646
+ return;
737
647
  }
738
648
  return (walletDetails) => createWalletConnectConnector({
739
649
  projectId,
@@ -774,7 +684,6 @@ function isMetaMask(ethereum) {
774
684
  if (ethereum.isPhantom) return false;
775
685
  if (ethereum.isPortal) return false;
776
686
  if (ethereum.isRabby) return false;
777
- if (ethereum.isSafe) return false;
778
687
  if (ethereum.isRainbow) return false;
779
688
  if (ethereum.isStatus) return false;
780
689
  if (ethereum.isTalisman) return false;
@@ -789,14 +698,8 @@ function isMetaMask(ethereum) {
789
698
  return true;
790
699
  }
791
700
  var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
792
- var _a, _b, _c, _d;
793
- 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;
794
- const metaMaskInjectedProvider = metaMaskTarget ? metaMaskTarget : getInjectedProvider({ flag: "isMetaMask" });
795
- const isMetaMaskInjected = !!metaMaskInjectedProvider && metaMaskInjectedProvider.isMetaMask;
796
- const providerMapTarget = (_d = metaMaskTarget == null ? void 0 : metaMaskTarget.providerMap) == null ? void 0 : _d.get("MetaMask");
797
- if (providerMapTarget) {
798
- metaMaskTarget = providerMapTarget;
799
- }
701
+ var _a, _b, _c;
702
+ const isMetaMaskInjected = hasInjectedProvider({ flag: "isMetaMask" });
800
703
  const getUri = (uri) => {
801
704
  return isAndroid() ? `metamask://wc?uri=${encodeURIComponent(uri)}` : isIOS() ? !isTelegram() ? (
802
705
  // currently broken in MetaMask v6.5.0 https://github.com/MetaMask/metamask-mobile/issues/6457
@@ -814,7 +717,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
814
717
  downloadUrl: "https://metamask.io/download/",
815
718
  getUri,
816
719
  createConnector: isMetaMaskInjected ? getInjectedConnector({
817
- 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
818
721
  }) : getWalletConnectConnector({
819
722
  projectId,
820
723
  walletConnectParameters
@@ -823,7 +726,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
823
726
  };
824
727
 
825
728
  // src/wallets/connectors/rainbow/rainbow.ts
826
- 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";
827
730
 
828
731
  // src/wallets/connectors/rainbow/rainbowIcon.ts
829
732
  var icon2 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMCA1LjRIMS44QzExLjA3ODQgNS40IDE4LjYgMTIuOTIxNiAxOC42IDIyLjJWMjRIMjIuMkMyMy4xOTQxIDI0IDI0IDIzLjE5NDEgMjQgMjIuMkMyNCA5LjkzOTI3IDE0LjA2MDcgMCAxLjggMEMwLjgwNTg4NyAwIDAgMC44MDU4ODcgMCAxLjhWNS40WiIgZmlsbD0idXJsKCNwYWludDBfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTE5LjIgMjIuMkgyMy45OTk5QzIzLjk5OTkgMjMuMTk0MSAyMy4xOTQxIDI0IDIyLjE5OTkgMjRIMTkuMlYyMi4yWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAwTDEuOCA0LjhIMEwxLjMxMTM0ZS0wNyAxLjhDMS43NDU4OGUtMDcgMC44MDU4ODcgMC44MDU4ODcgLTQuMzQ1NGUtMDggMS44IDBaIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMCA0Ljc5OTk5SDEuOEMxMS40MDk3IDQuNzk5OTkgMTkuMiAxMi41OTAyIDE5LjIgMjIuMlYyNEgxMy44VjIyLjJDMTMuOCAxNS41NzI2IDguNDI3NDEgMTAuMiAxLjggMTAuMkgwVjQuNzk5OTlaIiBmaWxsPSJ1cmwoI3BhaW50M19yYWRpYWxfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMTQuMzk5OSAyMi4ySDE5LjE5OTlWMjRIMTQuMzk5OVYyMi4yWiIgZmlsbD0idXJsKCNwYWludDRfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTIuMDk4MTVlLTA3IDkuNTk5OTlMMCA0Ljc5OTk5TDEuOCA0Ljc5OTk5TDEuOCA5LjU5OTk5SDIuMDk4MTVlLTA3WiIgZmlsbD0idXJsKCNwYWludDVfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTAgMTIuNkMwIDEzLjU5NDEgMC44MDU4ODcgMTQuNCAxLjggMTQuNEM2LjEwNzgyIDE0LjQgOS42IDE3Ljg5MjEgOS42IDIyLjJDOS42IDIzLjE5NDEgMTAuNDA1OSAyNCAxMS40IDI0SDE0LjRWMjIuMkMxNC40IDE1LjI0MTIgOC43NTg3OCA5LjU5OTk4IDEuOCA5LjU5OTk4SDBWMTIuNloiIGZpbGw9InVybCgjcGFpbnQ2X3JhZGlhbF80NDJfODI3KSIvPgogIDxwYXRoIGQ9Ik05LjYwMDEgMjIuMkgxNC40MDAxVjI0SDExLjQwMDFDMTAuNDA2IDI0IDkuNjAwMSAyMy4xOTQxIDkuNjAwMSAyMi4yWiIgZmlsbD0idXJsKCNwYWludDdfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAxNC40QzAuODA1ODg3IDE0LjQgMS43NDU4OGUtMDcgMTMuNTk0MSAxLjMxMTM0ZS0wNyAxMi42TDAgOS41OTk5OEwxLjggOS41OTk5OEwxLjggMTQuNFoiIGZpbGw9InVybCgjcGFpbnQ4X3JhZGlhbF80NDJfODI3KSIvPgogIDxkZWZzPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDBfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDIyLjIpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjc3MDI3NyIgc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfNDQyXzgyNyIgeDE9IjE4LjkiIHkxPSIyMy4xIiB4Mj0iMjMuOTk5OSIgeTI9IjIzLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfNDQyXzgyNyIgeDE9IjAuOSIgeTE9Ii0zLjkzMzllLTA3IiB4Mj0iMC44OTk5OTgiIHkyPSI1LjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg3NTRDOSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjQwMDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50M19yYWRpYWxfNDQyXzgyNyIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjggMjIuMikgcm90YXRlKC05MCkgc2NhbGUoMTcuNCkiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNzIzOTI5IiBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ0X2xpbmVhcl80NDJfODI3IiB4MT0iMTQuMzk5OSIgeTE9IjIzLjEiIHgyPSIxOS4xOTk5IiB5Mj0iMjMuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ1X2xpbmVhcl80NDJfODI3IiB4MT0iMC45MDAwMDEiIHkxPSI5LjU5OTk5IiB4Mj0iMC44OTk5OTkiIHkyPSI0Ljc5OTk5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY3MDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY5OTAxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDZfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDEyLjYpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjU5NTEzIiBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ3X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzAwMSAyMy4xKSBzY2FsZSg1LjEgMTMuNikiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ4X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuODk5OTk5IDE0LjcpIHJvdGF0ZSgtOTApIHNjYWxlKDUuMSA5Ni43MTEpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQUFGRiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMURBNDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=";
@@ -905,7 +808,7 @@ var coinbaseWallet = ({ appName, appIcon }) => {
905
808
  };
906
809
 
907
810
  // src/wallets/connectors/zerion/zerion.ts
908
- import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/react-sdk";
811
+ import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/web-sdk";
909
812
 
910
813
  // src/wallets/connectors/zerion/zerionIcon.ts
911
814
  var icon5 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZmlsbD0iIzI5NjJFRiIgZD0iTTAgMGgyOHYyOEgweiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02LjA3MyA3Yy0uNDggMC0uNjY1LjU5My0uMjYyLjg0MWwxMC4wNzMgNi4wNzRhLjU3Ny41NzcgMCAwIDAgLjc1OC0uMTM5bDQuNDMtNS44MTRjLjMtLjQwNC0uMDA0LS45NjItLjUyNS0uOTYySDYuMDczWk0yMS45MDQgMjFjLjQ4IDAgLjY3LS41OTYuMjY3LS44NDRsLTEwLjA3NS02LjA3M2EuNTY5LjU2OSAwIDAgMC0uNzUxLjE0NmwtNC40MzcgNS44MTNjLS4zMDEuNDA0LjAxMi45NTguNTM0Ljk1OGgxNC40NjJaIi8+PC9zdmc+";
@@ -961,39 +864,16 @@ var rabbyWallet = ({ projectId, walletConnectParameters }) => {
961
864
  };
962
865
  };
963
866
 
964
- // src/wallets/connectors/safe/safe.ts
965
- import { createConnector as createConnector4 } from "wagmi";
966
- import { safe } from "wagmi/connectors";
967
-
968
- // src/wallets/connectors/safe/safeIcon.ts
969
- var icon7 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";
970
-
971
- // src/wallets/connectors/safe/safe.ts
972
- var safeWallet = () => ({
973
- id: "safe",
974
- name: "Safe",
975
- rdns: "io.safe",
976
- iconUrl: icon7,
977
- installed: (
978
- // Only allowed in iframe context
979
- !(typeof window === "undefined") && (window == null ? void 0 : window.parent) !== window
980
- ),
981
- isExtension: false,
982
- isMobile: false,
983
- downloadUrl: "https://safe.global",
984
- createConnector: (walletDetails) => {
985
- return createConnector4((config) => __spreadValues(__spreadValues({}, safe()(config)), walletDetails));
986
- }
987
- });
867
+ // src/wallets/connectors/index.ts
868
+ var allWallets = [metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet];
988
869
  export {
989
870
  EvmExternalWalletContext,
990
- EvmExternalWalletProvider,
991
871
  ParaEvmProvider,
872
+ allWallets,
992
873
  coinbaseWallet,
993
874
  metaMaskWallet,
994
875
  rabbyWallet,
995
876
  rainbowWallet,
996
- safeWallet,
997
877
  walletConnectWallet,
998
878
  zerionWallet
999
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.1",
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.1",
14
- "@getpara/wagmi-v2-integration": "1.7.1",
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": "767395af96d4a724946a092de760e9137a73369a"
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=";