@getpara/evm-wallet-connectors 1.7.1 → 2.0.0-alpha.3

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, EvmExternalWalletProviderConfig } 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,7 +52,7 @@ var __async = (__this, __arguments, generator) => {
52
52
  };
53
53
 
54
54
  // src/providers/EvmExternalWalletContext.tsx
55
- import { createContext, useEffect, useMemo, useRef } from "react";
55
+ import { createContext, useCallback, useEffect, useMemo, useRef } from "react";
56
56
  import {
57
57
  useAccount,
58
58
  useSwitchChain,
@@ -60,9 +60,9 @@ import {
60
60
  useDisconnect,
61
61
  useEnsName,
62
62
  useEnsAvatar,
63
+ useSignMessage,
63
64
  useSwitchAccount,
64
- useConnections,
65
- useSignMessage
65
+ useConnections
66
66
  } from "wagmi";
67
67
 
68
68
  // src/utils/isEIP6963Connector.ts
@@ -89,12 +89,6 @@ var getWalletConnectUri = (connector, uriConverter) => __async(void 0, null, fun
89
89
  });
90
90
 
91
91
  // src/providers/EvmExternalWalletContext.tsx
92
- import {
93
- isMobile,
94
- useExternalWalletProviderStore,
95
- useWalletState,
96
- WalletType
97
- } from "@getpara/react-sdk";
98
92
  import { normalize } from "viem/ens";
99
93
 
100
94
  // src/stores/useStore.ts
@@ -115,6 +109,7 @@ var useExternalWalletStore = create(
115
109
  );
116
110
 
117
111
  // src/providers/EvmExternalWalletContext.tsx
112
+ import { isMobile, WalletType } from "@getpara/web-sdk";
118
113
  import { jsx } from "react/jsx-runtime";
119
114
  var defaultEvmExternalWallet = {
120
115
  wallets: [],
@@ -124,27 +119,37 @@ var defaultEvmExternalWallet = {
124
119
  avatar: void 0,
125
120
  disconnect: () => Promise.resolve(),
126
121
  switchChain: () => Promise.resolve({}),
122
+ connectParaEmbedded: () => Promise.resolve({}),
127
123
  signMessage: () => Promise.resolve({}),
128
124
  signVerificationMessage: () => Promise.resolve({})
129
125
  };
130
126
  var EvmExternalWalletContext = createContext(defaultEvmExternalWallet);
131
- function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
127
+ function EvmExternalWalletProvider({
128
+ children,
129
+ onSwitchWallet,
130
+ para,
131
+ walletsWithFullAuth,
132
+ connectedWallet
133
+ }) {
132
134
  const { connectAsync, connectors: untypedConnectors } = useConnect();
133
135
  const connections = useConnections();
134
- const { address: wagmiAddress, isConnecting, isReconnecting, chainId, connector: connectedConnector } = useAccount();
136
+ const {
137
+ address: wagmiAddress,
138
+ isConnecting,
139
+ isReconnecting,
140
+ chainId,
141
+ connector: connectedConnector,
142
+ isConnected
143
+ } = useAccount();
144
+ const { switchAccount: wagmiSwitchAccount } = useSwitchAccount();
135
145
  const { chains, switchChainAsync } = useSwitchChain();
136
146
  const { disconnectAsync } = useDisconnect();
137
- const { switchAccountAsync } = useSwitchAccount();
147
+ const { data: ensName } = useEnsName({ address: wagmiAddress });
148
+ const { data: ensAvatar } = useEnsAvatar({ name: normalize(ensName) });
138
149
  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();
150
+ const verificationMessage = useRef();
145
151
  const isLocalConnecting = useExternalWalletStore((state) => state.isConnecting);
146
152
  const updateExternalWalletState = useExternalWalletStore((state) => state.updateState);
147
- const verificationMessage = useRef();
148
153
  const getStoredExternalWallets = () => {
149
154
  const storedExternalWalletsString = localStorage.getItem("@CAPSULE/externalWallets");
150
155
  let storedExternalWallets = {};
@@ -153,6 +158,18 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
153
158
  }
154
159
  return storedExternalWallets;
155
160
  };
161
+ const switchAccount = useCallback(
162
+ (connectorName) => {
163
+ var _a;
164
+ const connector = (_a = connections.find((c) => c.connector.name === connectorName)) == null ? void 0 : _a.connector;
165
+ if (!connector) {
166
+ console.warn(`connector not found: ${connectorName}`);
167
+ return;
168
+ }
169
+ wagmiSwitchAccount({ connector });
170
+ },
171
+ [connections, wagmiSwitchAccount]
172
+ );
156
173
  useEffect(() => {
157
174
  const storedExternalWallet = getStoredExternalWallets()[wagmiAddress != null ? wagmiAddress : ""];
158
175
  if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para") {
@@ -166,11 +183,18 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
166
183
  }
167
184
  }, [isLocalConnecting, wagmiAddress, isReconnecting, isConnecting]);
168
185
  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");
186
+ if (!isLocalConnecting && !isConnecting && !isReconnecting && connectedWallet && connectedConnector && connectedWallet.type === WalletType.EVM && connectedConnector.name !== connectedWallet.name) {
187
+ switchAccount(connectedWallet.isExternal ? connectedWallet.name : "Para");
188
+ }
189
+ }, [isLocalConnecting, isConnecting, isReconnecting, connectedWallet, wagmiSwitchAccount]);
190
+ useEffect(() => {
191
+ if (!isLocalConnecting && !isConnecting && !isReconnecting && !isConnected && !connectedConnector) {
192
+ if (Object.values(para.wallets).length === 0) {
193
+ return;
194
+ }
195
+ connectParaEmbedded();
172
196
  }
173
- }, [selectedWallet]);
197
+ }, [isLocalConnecting, isConnecting, isReconnecting, isConnected, connectedConnector]);
174
198
  const connectors = untypedConnectors;
175
199
  const reset = () => __async(this, null, function* () {
176
200
  yield disconnectAsync();
@@ -182,7 +206,10 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
182
206
  message,
183
207
  account: wagmiAddress
184
208
  });
185
- return { address: wagmiAddress, signature };
209
+ return {
210
+ address: wagmiAddress,
211
+ signature
212
+ };
186
213
  } catch (e) {
187
214
  switch (e.name) {
188
215
  case "UserRejectedRequestError": {
@@ -198,14 +225,6 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
198
225
  const signature = yield signMessage(verificationMessage.current);
199
226
  return signature;
200
227
  });
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
228
  const switchChain = (chainId2) => __async(this, null, function* () {
210
229
  var _a, _b, _c;
211
230
  let error;
@@ -240,13 +259,13 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
240
259
  }) {
241
260
  var _a;
242
261
  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 : "")
262
+ return yield para.loginExternalWallet({
263
+ externalWallet: {
264
+ address,
265
+ type: WalletType.EVM,
266
+ provider: connectorName,
267
+ withFullParaAuth: walletsWithFullAuth == null ? void 0 : walletsWithFullAuth.includes((_a = walletId == null ? void 0 : walletId.toUpperCase()) != null ? _a : "")
268
+ }
250
269
  });
251
270
  } catch (err) {
252
271
  yield disconnectAsync();
@@ -275,18 +294,17 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
275
294
  }
276
295
  }
277
296
  }
278
- onSwitchWallet({ address, error });
297
+ onSwitchWallet == null ? void 0 : onSwitchWallet({ address, error });
279
298
  updateExternalWalletState({ isConnecting: false });
280
299
  });
281
- const connect2 = (connector) => __async(this, null, function* () {
300
+ const connect = (connector) => __async(this, null, function* () {
282
301
  var _a, _b, _c, _d;
283
302
  updateExternalWalletState({ isConnecting: true });
284
303
  yield disconnectAsync();
285
304
  const walletChainId = yield connector.getChainId();
305
+ let authState;
286
306
  let address;
287
307
  let error;
288
- let userExists = false;
289
- let isVerified = false;
290
308
  try {
291
309
  const data = yield connectAsync({
292
310
  // If the wallet is already on a supported chain, use that to avoid a chain switch prompt.
@@ -299,10 +317,8 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
299
317
  address = (_d = data.accounts) == null ? void 0 : _d[0];
300
318
  if (address) {
301
319
  try {
302
- const loginResp = yield login({ address, connectorName: connector.name, walletId: connector.paraDetails.id });
303
- userExists = loginResp.userExists;
304
- isVerified = loginResp.isVerified;
305
- verificationMessage.current = loginResp.signatureVerificationMessage;
320
+ authState = yield login({ address, connectorName: connector.name, walletId: connector.paraDetails.id });
321
+ verificationMessage.current = authState.stage === "verify" ? authState.signatureVerificationMessage : void 0;
306
322
  } catch (err) {
307
323
  address = void 0;
308
324
  error = err;
@@ -325,12 +341,12 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
325
341
  }
326
342
  }
327
343
  updateExternalWalletState({ isConnecting: false });
328
- return { address, error, userExists, isVerified };
344
+ return { address, authState, error };
329
345
  });
330
346
  const connectMobile = (connector, isManualWalletConnect) => __async(this, null, function* () {
331
347
  const _isMobile = isManualWalletConnect !== void 0 ? isManualWalletConnect : isMobile();
332
348
  const _connector = connector.walletConnectModalConnector && _isMobile ? connector.walletConnectModalConnector : connector;
333
- return yield connect2(_connector);
349
+ return yield connect(_connector);
334
350
  });
335
351
  const getQrUri = (connector) => () => {
336
352
  var _a;
@@ -367,8 +383,8 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
367
383
  const wallets = dedupedConnectors.map((c) => {
368
384
  const connector = __spreadValues(__spreadValues({}, c), c.paraDetails);
369
385
  return __spreadProps(__spreadValues({}, connector), {
370
- connect: () => connect2(connector),
371
- connectMobile: ({ isManualWalletConnect }) => connectMobile(connector, isManualWalletConnect),
386
+ connect: () => connect(connector),
387
+ connectMobile: (isManualWalletConnect) => connectMobile(connector, isManualWalletConnect),
372
388
  type: WalletType.EVM,
373
389
  getQrUri: getQrUri(connector)
374
390
  });
@@ -384,41 +400,41 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
384
400
  };
385
401
  });
386
402
  const username = useMemo(() => ensName != null ? ensName : wagmiAddress, [ensName, wagmiAddress]);
387
- const disconnect = disconnectAsync;
403
+ const connectParaEmbedded = useCallback(() => __async(this, null, function* () {
404
+ const paraConnectorInstance = connectors.find((c) => c.id === "para");
405
+ if (!paraConnectorInstance) {
406
+ return { error: "No para connector instance" };
407
+ }
408
+ try {
409
+ const result = yield connectAsync({ connector: paraConnectorInstance });
410
+ return { result };
411
+ } catch (err) {
412
+ const error = err instanceof Error ? err.message : "Unknown error";
413
+ return { error };
414
+ }
415
+ }), [connectors]);
388
416
  return /* @__PURE__ */ jsx(
389
417
  EvmExternalWalletContext.Provider,
390
418
  {
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
- ),
419
+ value: {
420
+ wallets,
421
+ chains: formattedChains,
422
+ chainId,
423
+ username,
424
+ avatar: ensAvatar,
425
+ disconnect: disconnectAsync,
426
+ switchChain,
427
+ connectParaEmbedded,
428
+ signMessage,
429
+ signVerificationMessage
430
+ },
415
431
  children
416
432
  }
417
433
  );
418
434
  }
419
435
 
420
436
  // src/providers/ParaEvmContext.tsx
421
- import { useCallback, useEffect as useEffect2, useMemo as useMemo2 } from "react";
437
+ import { useMemo as useMemo2 } from "react";
422
438
  import { createConfig, WagmiProvider } from "wagmi";
423
439
 
424
440
  // src/utils/uniqueBy.ts
@@ -458,7 +474,7 @@ function omitUndefinedValues(obj) {
458
474
  // src/wallets/connectorsForWallets.ts
459
475
  var connectorsForWallets = (walletList, { projectId, walletConnectParameters, appName, appDescription, appUrl, appIcon }) => {
460
476
  if (!walletList.length) {
461
- throw new Error("No wallet list was provided");
477
+ return [];
462
478
  }
463
479
  let index = -1;
464
480
  const connectors = [];
@@ -492,7 +508,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
492
508
  });
493
509
  const walletListItems = uniqueBy([...wallets], "id");
494
510
  for (const _a of walletListItems) {
495
- const _b = _a, { createConnector: createConnector5 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
511
+ const _b = _a, { createConnector: createConnector4 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
496
512
  const walletMetaData = (additionalParaParams) => {
497
513
  return {
498
514
  paraDetails: omitUndefinedValues(__spreadValues(__spreadProps(__spreadValues({}, walletMeta), {
@@ -501,9 +517,9 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
501
517
  };
502
518
  };
503
519
  const isWalletConnectConnector = walletMeta.id === "walletConnect";
504
- if (isWalletConnectConnector) {
520
+ if (isWalletConnectConnector && createConnector4) {
505
521
  connectors.push(
506
- createConnector5(
522
+ createConnector4(
507
523
  walletMetaData({
508
524
  isWalletConnectModalConnector: true,
509
525
  showQrModal: true
@@ -511,8 +527,8 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
511
527
  )
512
528
  );
513
529
  }
514
- if (createConnector5) {
515
- connectors.push(createConnector5(walletMetaData()));
530
+ if (createConnector4) {
531
+ connectors.push(createConnector4(walletMetaData()));
516
532
  }
517
533
  }
518
534
  return connectors;
@@ -520,9 +536,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
520
536
 
521
537
  // src/providers/ParaEvmContext.tsx
522
538
  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";
539
+ import { paraConnector } from "@getpara/wagmi-v2-connector";
526
540
  import { jsx as jsx2 } from "react/jsx-runtime";
527
541
  var createDefaultTransports = (chains) => {
528
542
  const transportsObject = chains.reduce((acc, chain) => {
@@ -532,14 +546,14 @@ var createDefaultTransports = (chains) => {
532
546
  }, {});
533
547
  return transportsObject;
534
548
  };
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, {
549
+ function ParaEvmProvider({
550
+ children,
551
+ internalConfig,
552
+ config: _config,
553
+ wagmiProviderProps
554
+ }) {
555
+ const para = internalConfig.para;
556
+ const _a = _config, {
543
557
  projectId,
544
558
  appName,
545
559
  appDescription,
@@ -548,9 +562,8 @@ function ParaEvmProvider(_a) {
548
562
  wallets,
549
563
  chains,
550
564
  transports,
551
- paraDisableModal,
552
- paraOptions
553
- } = _b2, wagmiConfigParams = __objRest(_b2, [
565
+ paraConnectorOptions
566
+ } = _a, wagmiConfigParams = __objRest(_a, [
554
567
  "projectId",
555
568
  "appName",
556
569
  "appDescription",
@@ -559,18 +572,19 @@ function ParaEvmProvider(_a) {
559
572
  "wallets",
560
573
  "chains",
561
574
  "transports",
562
- "paraDisableModal",
563
- "paraOptions"
575
+ "paraConnectorOptions"
564
576
  ]);
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(() => {
577
+ const paraConnectorInstance = useMemo2(() => {
578
+ return paraConnector({
579
+ para,
580
+ chains: [...chains],
581
+ disableModal: true,
582
+ appName,
583
+ options: paraConnectorOptions != null ? paraConnectorOptions : {}
584
+ });
585
+ }, [para]);
586
+ const config = useMemo2(() => {
587
+ const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
574
588
  const baseConnectors = connectorsForWallets(wallets, {
575
589
  projectId,
576
590
  appName,
@@ -579,49 +593,18 @@ function ParaEvmProvider(_a) {
579
593
  appIcon,
580
594
  walletConnectParameters: { metadata: wcMetadata }
581
595
  });
582
- return paraConnectorInstance ? [...baseConnectors, paraConnectorInstance] : baseConnectors;
583
- }, [wallets, projectId, appName, appDescription, appUrl, appIcon, wcMetadata, paraConnectorInstance]);
584
- const config = useMemo2(
585
- () => createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
596
+ const allConnectors = [...baseConnectors, paraConnectorInstance];
597
+ return createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
586
598
  chains,
587
599
  transports: transports || createDefaultTransports(chains),
588
600
  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 }));
601
+ }));
602
+ }, [wallets, paraConnectorInstance]);
603
+ return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children: /* @__PURE__ */ jsx2(EvmExternalWalletProvider, __spreadProps(__spreadValues({}, internalConfig), { children })) }));
621
604
  }
622
605
 
623
606
  // src/wallets/connectors/metaMask/metaMask.ts
624
- import { isAndroid, isIOS, isTelegram } from "@getpara/react-sdk";
607
+ import { isAndroid, isIOS, isTelegram } from "@getpara/web-sdk";
625
608
 
626
609
  // src/utils/getInjectedConnector.ts
627
610
  import { createConnector } from "wagmi";
@@ -731,9 +714,7 @@ function getWalletConnectConnector({
731
714
  walletConnectParameters
732
715
  }) {
733
716
  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
- );
717
+ return;
737
718
  }
738
719
  return (walletDetails) => createWalletConnectConnector({
739
720
  projectId,
@@ -774,7 +755,6 @@ function isMetaMask(ethereum) {
774
755
  if (ethereum.isPhantom) return false;
775
756
  if (ethereum.isPortal) return false;
776
757
  if (ethereum.isRabby) return false;
777
- if (ethereum.isSafe) return false;
778
758
  if (ethereum.isRainbow) return false;
779
759
  if (ethereum.isStatus) return false;
780
760
  if (ethereum.isTalisman) return false;
@@ -823,7 +803,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
823
803
  };
824
804
 
825
805
  // src/wallets/connectors/rainbow/rainbow.ts
826
- import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/react-sdk";
806
+ import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/web-sdk";
827
807
 
828
808
  // src/wallets/connectors/rainbow/rainbowIcon.ts
829
809
  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 +885,7 @@ var coinbaseWallet = ({ appName, appIcon }) => {
905
885
  };
906
886
 
907
887
  // src/wallets/connectors/zerion/zerion.ts
908
- import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/react-sdk";
888
+ import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/web-sdk";
909
889
 
910
890
  // src/wallets/connectors/zerion/zerionIcon.ts
911
891
  var icon5 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZmlsbD0iIzI5NjJFRiIgZD0iTTAgMGgyOHYyOEgweiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02LjA3MyA3Yy0uNDggMC0uNjY1LjU5My0uMjYyLjg0MWwxMC4wNzMgNi4wNzRhLjU3Ny41NzcgMCAwIDAgLjc1OC0uMTM5bDQuNDMtNS44MTRjLjMtLjQwNC0uMDA0LS45NjItLjUyNS0uOTYySDYuMDczWk0yMS45MDQgMjFjLjQ4IDAgLjY3LS41OTYuMjY3LS44NDRsLTEwLjA3NS02LjA3M2EuNTY5LjU2OSAwIDAgMC0uNzUxLjE0NmwtNC40MzcgNS44MTNjLS4zMDEuNDA0LjAxMi45NTguNTM0Ljk1OGgxNC40NjJaIi8+PC9zdmc+";
@@ -961,39 +941,16 @@ var rabbyWallet = ({ projectId, walletConnectParameters }) => {
961
941
  };
962
942
  };
963
943
 
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
- });
944
+ // src/wallets/connectors/index.ts
945
+ var allWallets = [metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet];
988
946
  export {
989
947
  EvmExternalWalletContext,
990
- EvmExternalWalletProvider,
991
948
  ParaEvmProvider,
949
+ allWallets,
992
950
  coinbaseWallet,
993
951
  metaMaskWallet,
994
952
  rabbyWallet,
995
953
  rainbowWallet,
996
- safeWallet,
997
954
  walletConnectWallet,
998
955
  zerionWallet
999
956
  };
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, TExternalWallet } from '@getpara/react-common';
3
+ import ParaWeb, { Wallet } 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,15 @@ 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
+ walletsWithFullAuth: TExternalWallet[];
36
+ connectedWallet?: Omit<Wallet, 'signer'> | null;
37
+ };
38
+ export declare function EvmExternalWalletProvider({ children, onSwitchWallet, para, walletsWithFullAuth, connectedWallet, }: 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
  } & {
@@ -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-alpha.3",
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-alpha.3",
14
+ "@getpara/web-sdk": "2.0.0-alpha.3",
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-alpha.3",
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": "77a1e04b06258842ca9c81e3db2a2b0092517659"
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=";