@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 +4 -1
- package/dist/index.js +96 -216
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/providers/EvmExternalWalletContext.d.ts +17 -24
- package/dist/providers/ParaEvmContext.d.ts +10 -11
- package/dist/types/Wallet.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/utils/getInjectedConnector.d.ts +0 -4
- package/dist/utils/getWalletConnectConnector.d.ts +1 -1
- package/dist/wallets/connectors/index.d.ts +2 -2
- package/package.json +9 -10
- package/dist/package.json +0 -4
- package/dist/wallets/connectors/safe/safe.d.ts +0 -2
- package/dist/wallets/connectors/safe/safeIcon.d.ts +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export {
|
|
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({
|
|
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 {
|
|
126
|
+
const { data: ensName } = useEnsName({ address: wagmiAddress });
|
|
127
|
+
const { data: ensAvatar } = useEnsAvatar({ name: normalize(ensName) });
|
|
138
128
|
const { signMessageAsync } = useSignMessage();
|
|
139
|
-
const
|
|
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)
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
265
|
-
yield
|
|
266
|
-
}
|
|
267
|
-
|
|
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
|
|
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
|
|
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
|
|
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: () =>
|
|
371
|
-
connectMobile: (
|
|
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
|
|
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:
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
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 {
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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 (
|
|
515
|
-
connectors.push(
|
|
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 {
|
|
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(
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
const para =
|
|
542
|
-
const
|
|
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
|
-
|
|
552
|
-
|
|
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
|
-
"
|
|
563
|
-
"paraOptions"
|
|
504
|
+
"paraConnectorOptions"
|
|
564
505
|
]);
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
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
|
-
|
|
583
|
-
|
|
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
|
-
|
|
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/
|
|
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
|
-
|
|
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
|
|
793
|
-
|
|
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:
|
|
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/
|
|
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/
|
|
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/
|
|
965
|
-
|
|
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 {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
18
|
-
username
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
|
5
|
+
import { EvmExternalWalletProviderConfig } from './EvmExternalWalletContext.js';
|
|
6
6
|
import { InjectedParameters } from 'wagmi/connectors';
|
|
7
|
-
interface
|
|
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
|
-
|
|
15
|
-
paraDisableModal?: boolean;
|
|
16
|
-
paraOptions?: InjectedParameters;
|
|
14
|
+
paraConnectorOptions?: InjectedParameters;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
config:
|
|
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,
|
|
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;
|
package/dist/types/Wallet.d.ts
CHANGED
|
@@ -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-
|
|
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;
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -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' | '
|
|
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
|
-
|
|
8
|
-
export {
|
|
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": "
|
|
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/
|
|
14
|
-
"@getpara/
|
|
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": "
|
|
39
|
+
"gitHead": "f94ef031ef0e1894f5f0800e55f6ca2904641780"
|
|
41
40
|
}
|
package/dist/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";
|