@getpara/evm-wallet-connectors 1.7.0 → 2.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -1
- package/dist/index.js +96 -215
- 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
|
-
useWallet,
|
|
96
|
-
WalletType
|
|
97
|
-
} from "@getpara/react-sdk";
|
|
98
82
|
import { normalize } from "viem/ens";
|
|
99
83
|
|
|
100
84
|
// src/stores/useStore.ts
|
|
@@ -115,6 +99,7 @@ var useExternalWalletStore = create(
|
|
|
115
99
|
);
|
|
116
100
|
|
|
117
101
|
// src/providers/EvmExternalWalletContext.tsx
|
|
102
|
+
import { isMobile, WalletType } from "@getpara/web-sdk";
|
|
118
103
|
import { jsx } from "react/jsx-runtime";
|
|
119
104
|
var defaultEvmExternalWallet = {
|
|
120
105
|
wallets: [],
|
|
@@ -124,27 +109,26 @@ var defaultEvmExternalWallet = {
|
|
|
124
109
|
avatar: void 0,
|
|
125
110
|
disconnect: () => Promise.resolve(),
|
|
126
111
|
switchChain: () => Promise.resolve({}),
|
|
112
|
+
connectParaEmbedded: () => Promise.resolve({}),
|
|
127
113
|
signMessage: () => Promise.resolve({}),
|
|
128
114
|
signVerificationMessage: () => Promise.resolve({})
|
|
129
115
|
};
|
|
130
116
|
var EvmExternalWalletContext = createContext(defaultEvmExternalWallet);
|
|
131
|
-
function EvmExternalWalletProvider({
|
|
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 { data: wallet } = useWallet();
|
|
129
|
+
const verificationMessage = useRef();
|
|
145
130
|
const isLocalConnecting = useExternalWalletStore((state) => state.isConnecting);
|
|
146
131
|
const updateExternalWalletState = useExternalWalletStore((state) => state.updateState);
|
|
147
|
-
const verificationMessage = useRef();
|
|
148
132
|
const getStoredExternalWallets = () => {
|
|
149
133
|
const storedExternalWalletsString = localStorage.getItem("@CAPSULE/externalWallets");
|
|
150
134
|
let storedExternalWallets = {};
|
|
@@ -155,21 +139,16 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
155
139
|
};
|
|
156
140
|
useEffect(() => {
|
|
157
141
|
const storedExternalWallet = getStoredExternalWallets()[wagmiAddress != null ? wagmiAddress : ""];
|
|
158
|
-
if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && (connectedConnector == null ? void 0 : connectedConnector.id)
|
|
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
|
-
if (wallet && connectedConnector && wallet.type === WalletType.EVM && (connectedConnector.id === "para" && wallet.isExternal || connectedConnector.id !== "para" && !wallet.isExternal)) {
|
|
170
|
-
switchAccount(wallet.isExternal ? wallet.name : "Para");
|
|
171
|
-
}
|
|
172
|
-
}, [wallet]);
|
|
173
152
|
const connectors = untypedConnectors;
|
|
174
153
|
const reset = () => __async(this, null, function* () {
|
|
175
154
|
yield disconnectAsync();
|
|
@@ -197,14 +176,6 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
197
176
|
const signature = yield signMessage(verificationMessage.current);
|
|
198
177
|
return signature;
|
|
199
178
|
});
|
|
200
|
-
const switchAccount = (connectorName) => __async(this, null, function* () {
|
|
201
|
-
var _a;
|
|
202
|
-
const connector = (_a = connections.find((c) => c.connector.name === connectorName)) == null ? void 0 : _a.connector;
|
|
203
|
-
if (!connector) {
|
|
204
|
-
throw new Error(`connector not found: ${connectorName}`);
|
|
205
|
-
}
|
|
206
|
-
yield switchAccountAsync({ connector });
|
|
207
|
-
});
|
|
208
179
|
const switchChain = (chainId2) => __async(this, null, function* () {
|
|
209
180
|
var _a, _b, _c;
|
|
210
181
|
let error;
|
|
@@ -232,21 +203,9 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
232
203
|
}
|
|
233
204
|
return { error };
|
|
234
205
|
});
|
|
235
|
-
const login = (_0) => __async(this, [_0], function* ({
|
|
236
|
-
address,
|
|
237
|
-
walletId,
|
|
238
|
-
connectorName
|
|
239
|
-
}) {
|
|
240
|
-
var _a;
|
|
206
|
+
const login = (_0) => __async(this, [_0], function* ({ address, connectorName }) {
|
|
241
207
|
try {
|
|
242
|
-
|
|
243
|
-
refetchEnsAvatar();
|
|
244
|
-
return yield para.externalWalletLogin({
|
|
245
|
-
address,
|
|
246
|
-
type: WalletType.EVM,
|
|
247
|
-
provider: connectorName,
|
|
248
|
-
withFullParaAuth: fullAuthWallets == null ? void 0 : fullAuthWallets.includes((_a = walletId == null ? void 0 : walletId.toUpperCase()) != null ? _a : "")
|
|
249
|
-
});
|
|
208
|
+
return yield para.externalWalletLogin({ address, type: WalletType.EVM, provider: connectorName });
|
|
250
209
|
} catch (err) {
|
|
251
210
|
yield disconnectAsync();
|
|
252
211
|
yield para.logout();
|
|
@@ -254,30 +213,21 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
254
213
|
}
|
|
255
214
|
});
|
|
256
215
|
const switchWallet = (address) => __async(this, null, function* () {
|
|
257
|
-
var _a;
|
|
258
216
|
updateExternalWalletState({ isConnecting: true });
|
|
259
217
|
let error;
|
|
260
218
|
if (!address) {
|
|
261
219
|
yield para.logout();
|
|
262
220
|
} else {
|
|
263
|
-
|
|
264
|
-
yield
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
yield login({
|
|
268
|
-
address,
|
|
269
|
-
connectorName: connectedConnector == null ? void 0 : connectedConnector.name,
|
|
270
|
-
walletId: (_a = getParaDetails(connectedConnector.id)) == null ? void 0 : _a.id
|
|
271
|
-
});
|
|
272
|
-
} catch (err) {
|
|
273
|
-
error = err;
|
|
274
|
-
}
|
|
221
|
+
try {
|
|
222
|
+
yield login({ address, connectorName: connectedConnector == null ? void 0 : connectedConnector.name });
|
|
223
|
+
} catch (err) {
|
|
224
|
+
error = err;
|
|
275
225
|
}
|
|
276
226
|
}
|
|
277
|
-
onSwitchWallet({ address, error });
|
|
227
|
+
onSwitchWallet == null ? void 0 : onSwitchWallet({ address, error });
|
|
278
228
|
updateExternalWalletState({ isConnecting: false });
|
|
279
229
|
});
|
|
280
|
-
const
|
|
230
|
+
const connect = (connector) => __async(this, null, function* () {
|
|
281
231
|
var _a, _b, _c, _d;
|
|
282
232
|
updateExternalWalletState({ isConnecting: true });
|
|
283
233
|
yield disconnectAsync();
|
|
@@ -298,7 +248,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
298
248
|
address = (_d = data.accounts) == null ? void 0 : _d[0];
|
|
299
249
|
if (address) {
|
|
300
250
|
try {
|
|
301
|
-
const loginResp = yield login({ address, connectorName: connector.name
|
|
251
|
+
const loginResp = yield login({ address, connectorName: connector.name });
|
|
302
252
|
userExists = loginResp.userExists;
|
|
303
253
|
isVerified = loginResp.isVerified;
|
|
304
254
|
verificationMessage.current = loginResp.signatureVerificationMessage;
|
|
@@ -329,7 +279,7 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
329
279
|
const connectMobile = (connector, isManualWalletConnect) => __async(this, null, function* () {
|
|
330
280
|
const _isMobile = isManualWalletConnect !== void 0 ? isManualWalletConnect : isMobile();
|
|
331
281
|
const _connector = connector.walletConnectModalConnector && _isMobile ? connector.walletConnectModalConnector : connector;
|
|
332
|
-
return yield
|
|
282
|
+
return yield connect(_connector);
|
|
333
283
|
});
|
|
334
284
|
const getQrUri = (connector) => () => {
|
|
335
285
|
var _a;
|
|
@@ -366,16 +316,12 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
366
316
|
const wallets = dedupedConnectors.map((c) => {
|
|
367
317
|
const connector = __spreadValues(__spreadValues({}, c), c.paraDetails);
|
|
368
318
|
return __spreadProps(__spreadValues({}, connector), {
|
|
369
|
-
connect: () =>
|
|
370
|
-
connectMobile: (
|
|
319
|
+
connect: () => connect(connector),
|
|
320
|
+
connectMobile: (isManualWalletConnect) => connectMobile(connector, isManualWalletConnect),
|
|
371
321
|
type: WalletType.EVM,
|
|
372
322
|
getQrUri: getQrUri(connector)
|
|
373
323
|
});
|
|
374
324
|
});
|
|
375
|
-
const getParaDetails = (id) => {
|
|
376
|
-
var _a;
|
|
377
|
-
return (_a = connectors.find((w) => w.id === id)) == null ? void 0 : _a.paraDetails;
|
|
378
|
-
};
|
|
379
325
|
const formattedChains = chains.map((c) => {
|
|
380
326
|
return {
|
|
381
327
|
id: c.id,
|
|
@@ -383,41 +329,41 @@ function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
383
329
|
};
|
|
384
330
|
});
|
|
385
331
|
const username = useMemo(() => ensName != null ? ensName : wagmiAddress, [ensName, wagmiAddress]);
|
|
386
|
-
const
|
|
332
|
+
const connectParaEmbedded = useCallback(() => __async(this, null, function* () {
|
|
333
|
+
const paraConnectorInstance = connectors.find((c) => c.id === "para");
|
|
334
|
+
if (!paraConnectorInstance) {
|
|
335
|
+
return { error: "No para connector instance" };
|
|
336
|
+
}
|
|
337
|
+
try {
|
|
338
|
+
const result = yield connectAsync({ connector: paraConnectorInstance });
|
|
339
|
+
return { result };
|
|
340
|
+
} catch (err) {
|
|
341
|
+
const error = err instanceof Error ? err.message : "Unknown error";
|
|
342
|
+
return { error };
|
|
343
|
+
}
|
|
344
|
+
}), [connectors]);
|
|
387
345
|
return /* @__PURE__ */ jsx(
|
|
388
346
|
EvmExternalWalletContext.Provider,
|
|
389
347
|
{
|
|
390
|
-
value:
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
[
|
|
403
|
-
wallets,
|
|
404
|
-
formattedChains,
|
|
405
|
-
chainId,
|
|
406
|
-
username,
|
|
407
|
-
ensAvatar,
|
|
408
|
-
disconnect,
|
|
409
|
-
switchChain,
|
|
410
|
-
signMessage,
|
|
411
|
-
signVerificationMessage
|
|
412
|
-
]
|
|
413
|
-
),
|
|
348
|
+
value: {
|
|
349
|
+
wallets,
|
|
350
|
+
chains: formattedChains,
|
|
351
|
+
chainId,
|
|
352
|
+
username,
|
|
353
|
+
avatar: ensAvatar,
|
|
354
|
+
disconnect: disconnectAsync,
|
|
355
|
+
switchChain,
|
|
356
|
+
connectParaEmbedded,
|
|
357
|
+
signMessage,
|
|
358
|
+
signVerificationMessage
|
|
359
|
+
},
|
|
414
360
|
children
|
|
415
361
|
}
|
|
416
362
|
);
|
|
417
363
|
}
|
|
418
364
|
|
|
419
365
|
// src/providers/ParaEvmContext.tsx
|
|
420
|
-
import {
|
|
366
|
+
import { useMemo as useMemo2 } from "react";
|
|
421
367
|
import { createConfig, WagmiProvider } from "wagmi";
|
|
422
368
|
|
|
423
369
|
// src/utils/uniqueBy.ts
|
|
@@ -457,7 +403,7 @@ function omitUndefinedValues(obj) {
|
|
|
457
403
|
// src/wallets/connectorsForWallets.ts
|
|
458
404
|
var connectorsForWallets = (walletList, { projectId, walletConnectParameters, appName, appDescription, appUrl, appIcon }) => {
|
|
459
405
|
if (!walletList.length) {
|
|
460
|
-
|
|
406
|
+
return [];
|
|
461
407
|
}
|
|
462
408
|
let index = -1;
|
|
463
409
|
const connectors = [];
|
|
@@ -491,7 +437,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
|
|
|
491
437
|
});
|
|
492
438
|
const walletListItems = uniqueBy([...wallets], "id");
|
|
493
439
|
for (const _a of walletListItems) {
|
|
494
|
-
const _b = _a, { createConnector:
|
|
440
|
+
const _b = _a, { createConnector: createConnector4 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
|
|
495
441
|
const walletMetaData = (additionalParaParams) => {
|
|
496
442
|
return {
|
|
497
443
|
paraDetails: omitUndefinedValues(__spreadValues(__spreadProps(__spreadValues({}, walletMeta), {
|
|
@@ -500,9 +446,9 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
|
|
|
500
446
|
};
|
|
501
447
|
};
|
|
502
448
|
const isWalletConnectConnector = walletMeta.id === "walletConnect";
|
|
503
|
-
if (isWalletConnectConnector) {
|
|
449
|
+
if (isWalletConnectConnector && createConnector4) {
|
|
504
450
|
connectors.push(
|
|
505
|
-
|
|
451
|
+
createConnector4(
|
|
506
452
|
walletMetaData({
|
|
507
453
|
isWalletConnectModalConnector: true,
|
|
508
454
|
showQrModal: true
|
|
@@ -510,8 +456,8 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
|
|
|
510
456
|
)
|
|
511
457
|
);
|
|
512
458
|
}
|
|
513
|
-
if (
|
|
514
|
-
connectors.push(
|
|
459
|
+
if (createConnector4) {
|
|
460
|
+
connectors.push(createConnector4(walletMetaData()));
|
|
515
461
|
}
|
|
516
462
|
}
|
|
517
463
|
return connectors;
|
|
@@ -519,9 +465,7 @@ var connectorsForWallets = (walletList, { projectId, walletConnectParameters, ap
|
|
|
519
465
|
|
|
520
466
|
// src/providers/ParaEvmContext.tsx
|
|
521
467
|
import { http } from "viem";
|
|
522
|
-
import {
|
|
523
|
-
import { connect } from "wagmi/actions";
|
|
524
|
-
import { paraConnector } from "@getpara/wagmi-v2-integration";
|
|
468
|
+
import { paraConnector } from "@getpara/wagmi-v2-connector";
|
|
525
469
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
526
470
|
var createDefaultTransports = (chains) => {
|
|
527
471
|
const transportsObject = chains.reduce((acc, chain) => {
|
|
@@ -531,14 +475,14 @@ var createDefaultTransports = (chains) => {
|
|
|
531
475
|
}, {});
|
|
532
476
|
return transportsObject;
|
|
533
477
|
};
|
|
534
|
-
function ParaEvmProvider(
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
const para =
|
|
541
|
-
const
|
|
478
|
+
function ParaEvmProvider({
|
|
479
|
+
children,
|
|
480
|
+
internalConfig,
|
|
481
|
+
config: _config,
|
|
482
|
+
wagmiProviderProps
|
|
483
|
+
}) {
|
|
484
|
+
const para = internalConfig.para;
|
|
485
|
+
const _a = _config, {
|
|
542
486
|
projectId,
|
|
543
487
|
appName,
|
|
544
488
|
appDescription,
|
|
@@ -547,9 +491,8 @@ function ParaEvmProvider(_a) {
|
|
|
547
491
|
wallets,
|
|
548
492
|
chains,
|
|
549
493
|
transports,
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
} = _b2, wagmiConfigParams = __objRest(_b2, [
|
|
494
|
+
paraConnectorOptions
|
|
495
|
+
} = _a, wagmiConfigParams = __objRest(_a, [
|
|
553
496
|
"projectId",
|
|
554
497
|
"appName",
|
|
555
498
|
"appDescription",
|
|
@@ -558,18 +501,19 @@ function ParaEvmProvider(_a) {
|
|
|
558
501
|
"wallets",
|
|
559
502
|
"chains",
|
|
560
503
|
"transports",
|
|
561
|
-
"
|
|
562
|
-
"paraOptions"
|
|
504
|
+
"paraConnectorOptions"
|
|
563
505
|
]);
|
|
564
|
-
const
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
506
|
+
const paraConnectorInstance = useMemo2(() => {
|
|
507
|
+
return paraConnector({
|
|
508
|
+
para,
|
|
509
|
+
chains: [...chains],
|
|
510
|
+
disableModal: true,
|
|
511
|
+
appName,
|
|
512
|
+
options: paraConnectorOptions != null ? paraConnectorOptions : {}
|
|
513
|
+
});
|
|
514
|
+
}, [para]);
|
|
515
|
+
const config = useMemo2(() => {
|
|
516
|
+
const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
|
|
573
517
|
const baseConnectors = connectorsForWallets(wallets, {
|
|
574
518
|
projectId,
|
|
575
519
|
appName,
|
|
@@ -578,49 +522,18 @@ function ParaEvmProvider(_a) {
|
|
|
578
522
|
appIcon,
|
|
579
523
|
walletConnectParameters: { metadata: wcMetadata }
|
|
580
524
|
});
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
const config = useMemo2(
|
|
584
|
-
() => createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
|
|
525
|
+
const allConnectors = [...baseConnectors, paraConnectorInstance];
|
|
526
|
+
return createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
|
|
585
527
|
chains,
|
|
586
528
|
transports: transports || createDefaultTransports(chains),
|
|
587
529
|
connectors: allConnectors
|
|
588
|
-
}))
|
|
589
|
-
|
|
590
|
-
);
|
|
591
|
-
const connectParaEvmWallet = useCallback(() => __async(this, null, function* () {
|
|
592
|
-
if (!paraConnectorInstance) {
|
|
593
|
-
return { error: "No para connector instance" };
|
|
594
|
-
}
|
|
595
|
-
try {
|
|
596
|
-
const result = yield connect(config, { connector: paraConnectorInstance });
|
|
597
|
-
return { result };
|
|
598
|
-
} catch (err) {
|
|
599
|
-
const error = err instanceof Error ? err.message : "Unknown error";
|
|
600
|
-
return { error };
|
|
601
|
-
}
|
|
602
|
-
}), [paraConnectorInstance, config, connect]);
|
|
603
|
-
useEffect2(() => {
|
|
604
|
-
if (!evmContext || !EvmProvider) {
|
|
605
|
-
updateExternalWalletProviderState({
|
|
606
|
-
EvmProvider: EvmExternalWalletProvider,
|
|
607
|
-
evmContext: EvmExternalWalletContext
|
|
608
|
-
});
|
|
609
|
-
}
|
|
610
|
-
}, []);
|
|
611
|
-
useEffect2(() => {
|
|
612
|
-
updateExternalWalletProviderState({
|
|
613
|
-
connectParaEvmWallet: paraConnectorInstance ? connectParaEvmWallet : void 0
|
|
614
|
-
});
|
|
615
|
-
}, [paraConnectorInstance]);
|
|
616
|
-
if (!evmContext || !EvmProvider) {
|
|
617
|
-
return null;
|
|
618
|
-
}
|
|
619
|
-
return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children }));
|
|
530
|
+
}));
|
|
531
|
+
}, [wallets, paraConnectorInstance]);
|
|
532
|
+
return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children: /* @__PURE__ */ jsx2(EvmExternalWalletProvider, __spreadProps(__spreadValues({}, internalConfig), { children })) }));
|
|
620
533
|
}
|
|
621
534
|
|
|
622
535
|
// src/wallets/connectors/metaMask/metaMask.ts
|
|
623
|
-
import { isAndroid, isIOS, isTelegram } from "@getpara/
|
|
536
|
+
import { isAndroid, isIOS, isTelegram } from "@getpara/web-sdk";
|
|
624
537
|
|
|
625
538
|
// src/utils/getInjectedConnector.ts
|
|
626
539
|
import { createConnector } from "wagmi";
|
|
@@ -730,9 +643,7 @@ function getWalletConnectConnector({
|
|
|
730
643
|
walletConnectParameters
|
|
731
644
|
}) {
|
|
732
645
|
if (!projectId || projectId === "") {
|
|
733
|
-
|
|
734
|
-
"No projectId found. Every dApp must now provide a WalletConnect Cloud projectId to enable WalletConnect v2. Sign up for your free key at https://cloud.walletconnect.com/sign-in"
|
|
735
|
-
);
|
|
646
|
+
return;
|
|
736
647
|
}
|
|
737
648
|
return (walletDetails) => createWalletConnectConnector({
|
|
738
649
|
projectId,
|
|
@@ -773,7 +684,6 @@ function isMetaMask(ethereum) {
|
|
|
773
684
|
if (ethereum.isPhantom) return false;
|
|
774
685
|
if (ethereum.isPortal) return false;
|
|
775
686
|
if (ethereum.isRabby) return false;
|
|
776
|
-
if (ethereum.isSafe) return false;
|
|
777
687
|
if (ethereum.isRainbow) return false;
|
|
778
688
|
if (ethereum.isStatus) return false;
|
|
779
689
|
if (ethereum.isTalisman) return false;
|
|
@@ -788,14 +698,8 @@ function isMetaMask(ethereum) {
|
|
|
788
698
|
return true;
|
|
789
699
|
}
|
|
790
700
|
var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
|
|
791
|
-
var _a, _b, _c
|
|
792
|
-
|
|
793
|
-
const metaMaskInjectedProvider = metaMaskTarget ? metaMaskTarget : getInjectedProvider({ flag: "isMetaMask" });
|
|
794
|
-
const isMetaMaskInjected = !!metaMaskInjectedProvider && metaMaskInjectedProvider.isMetaMask;
|
|
795
|
-
const providerMapTarget = (_d = metaMaskTarget == null ? void 0 : metaMaskTarget.providerMap) == null ? void 0 : _d.get("MetaMask");
|
|
796
|
-
if (providerMapTarget) {
|
|
797
|
-
metaMaskTarget = providerMapTarget;
|
|
798
|
-
}
|
|
701
|
+
var _a, _b, _c;
|
|
702
|
+
const isMetaMaskInjected = hasInjectedProvider({ flag: "isMetaMask" });
|
|
799
703
|
const getUri = (uri) => {
|
|
800
704
|
return isAndroid() ? `metamask://wc?uri=${encodeURIComponent(uri)}` : isIOS() ? !isTelegram() ? (
|
|
801
705
|
// currently broken in MetaMask v6.5.0 https://github.com/MetaMask/metamask-mobile/issues/6457
|
|
@@ -813,7 +717,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
|
|
|
813
717
|
downloadUrl: "https://metamask.io/download/",
|
|
814
718
|
getUri,
|
|
815
719
|
createConnector: isMetaMaskInjected ? getInjectedConnector({
|
|
816
|
-
target:
|
|
720
|
+
target: typeof window !== "undefined" ? (_c = (_b = (_a = window.ethereum) == null ? void 0 : _a.providers) == null ? void 0 : _b.find(isMetaMask)) != null ? _c : window.ethereum : void 0
|
|
817
721
|
}) : getWalletConnectConnector({
|
|
818
722
|
projectId,
|
|
819
723
|
walletConnectParameters
|
|
@@ -822,7 +726,7 @@ var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
|
|
|
822
726
|
};
|
|
823
727
|
|
|
824
728
|
// src/wallets/connectors/rainbow/rainbow.ts
|
|
825
|
-
import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/
|
|
729
|
+
import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/web-sdk";
|
|
826
730
|
|
|
827
731
|
// src/wallets/connectors/rainbow/rainbowIcon.ts
|
|
828
732
|
var icon2 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMCA1LjRIMS44QzExLjA3ODQgNS40IDE4LjYgMTIuOTIxNiAxOC42IDIyLjJWMjRIMjIuMkMyMy4xOTQxIDI0IDI0IDIzLjE5NDEgMjQgMjIuMkMyNCA5LjkzOTI3IDE0LjA2MDcgMCAxLjggMEMwLjgwNTg4NyAwIDAgMC44MDU4ODcgMCAxLjhWNS40WiIgZmlsbD0idXJsKCNwYWludDBfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTE5LjIgMjIuMkgyMy45OTk5QzIzLjk5OTkgMjMuMTk0MSAyMy4xOTQxIDI0IDIyLjE5OTkgMjRIMTkuMlYyMi4yWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAwTDEuOCA0LjhIMEwxLjMxMTM0ZS0wNyAxLjhDMS43NDU4OGUtMDcgMC44MDU4ODcgMC44MDU4ODcgLTQuMzQ1NGUtMDggMS44IDBaIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMCA0Ljc5OTk5SDEuOEMxMS40MDk3IDQuNzk5OTkgMTkuMiAxMi41OTAyIDE5LjIgMjIuMlYyNEgxMy44VjIyLjJDMTMuOCAxNS41NzI2IDguNDI3NDEgMTAuMiAxLjggMTAuMkgwVjQuNzk5OTlaIiBmaWxsPSJ1cmwoI3BhaW50M19yYWRpYWxfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMTQuMzk5OSAyMi4ySDE5LjE5OTlWMjRIMTQuMzk5OVYyMi4yWiIgZmlsbD0idXJsKCNwYWludDRfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTIuMDk4MTVlLTA3IDkuNTk5OTlMMCA0Ljc5OTk5TDEuOCA0Ljc5OTk5TDEuOCA5LjU5OTk5SDIuMDk4MTVlLTA3WiIgZmlsbD0idXJsKCNwYWludDVfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTAgMTIuNkMwIDEzLjU5NDEgMC44MDU4ODcgMTQuNCAxLjggMTQuNEM2LjEwNzgyIDE0LjQgOS42IDE3Ljg5MjEgOS42IDIyLjJDOS42IDIzLjE5NDEgMTAuNDA1OSAyNCAxMS40IDI0SDE0LjRWMjIuMkMxNC40IDE1LjI0MTIgOC43NTg3OCA5LjU5OTk4IDEuOCA5LjU5OTk4SDBWMTIuNloiIGZpbGw9InVybCgjcGFpbnQ2X3JhZGlhbF80NDJfODI3KSIvPgogIDxwYXRoIGQ9Ik05LjYwMDEgMjIuMkgxNC40MDAxVjI0SDExLjQwMDFDMTAuNDA2IDI0IDkuNjAwMSAyMy4xOTQxIDkuNjAwMSAyMi4yWiIgZmlsbD0idXJsKCNwYWludDdfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAxNC40QzAuODA1ODg3IDE0LjQgMS43NDU4OGUtMDcgMTMuNTk0MSAxLjMxMTM0ZS0wNyAxMi42TDAgOS41OTk5OEwxLjggOS41OTk5OEwxLjggMTQuNFoiIGZpbGw9InVybCgjcGFpbnQ4X3JhZGlhbF80NDJfODI3KSIvPgogIDxkZWZzPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDBfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDIyLjIpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjc3MDI3NyIgc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfNDQyXzgyNyIgeDE9IjE4LjkiIHkxPSIyMy4xIiB4Mj0iMjMuOTk5OSIgeTI9IjIzLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfNDQyXzgyNyIgeDE9IjAuOSIgeTE9Ii0zLjkzMzllLTA3IiB4Mj0iMC44OTk5OTgiIHkyPSI1LjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg3NTRDOSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjQwMDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50M19yYWRpYWxfNDQyXzgyNyIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjggMjIuMikgcm90YXRlKC05MCkgc2NhbGUoMTcuNCkiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNzIzOTI5IiBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ0X2xpbmVhcl80NDJfODI3IiB4MT0iMTQuMzk5OSIgeTE9IjIzLjEiIHgyPSIxOS4xOTk5IiB5Mj0iMjMuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ1X2xpbmVhcl80NDJfODI3IiB4MT0iMC45MDAwMDEiIHkxPSI5LjU5OTk5IiB4Mj0iMC44OTk5OTkiIHkyPSI0Ljc5OTk5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY3MDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY5OTAxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDZfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDEyLjYpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjU5NTEzIiBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ3X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzAwMSAyMy4xKSBzY2FsZSg1LjEgMTMuNikiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ4X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuODk5OTk5IDE0LjcpIHJvdGF0ZSgtOTApIHNjYWxlKDUuMSA5Ni43MTEpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQUFGRiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMURBNDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=";
|
|
@@ -904,7 +808,7 @@ var coinbaseWallet = ({ appName, appIcon }) => {
|
|
|
904
808
|
};
|
|
905
809
|
|
|
906
810
|
// src/wallets/connectors/zerion/zerion.ts
|
|
907
|
-
import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/
|
|
811
|
+
import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/web-sdk";
|
|
908
812
|
|
|
909
813
|
// src/wallets/connectors/zerion/zerionIcon.ts
|
|
910
814
|
var icon5 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZmlsbD0iIzI5NjJFRiIgZD0iTTAgMGgyOHYyOEgweiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02LjA3MyA3Yy0uNDggMC0uNjY1LjU5My0uMjYyLjg0MWwxMC4wNzMgNi4wNzRhLjU3Ny41NzcgMCAwIDAgLjc1OC0uMTM5bDQuNDMtNS44MTRjLjMtLjQwNC0uMDA0LS45NjItLjUyNS0uOTYySDYuMDczWk0yMS45MDQgMjFjLjQ4IDAgLjY3LS41OTYuMjY3LS44NDRsLTEwLjA3NS02LjA3M2EuNTY5LjU2OSAwIDAgMC0uNzUxLjE0NmwtNC40MzcgNS44MTNjLS4zMDEuNDA0LjAxMi45NTguNTM0Ljk1OGgxNC40NjJaIi8+PC9zdmc+";
|
|
@@ -960,39 +864,16 @@ var rabbyWallet = ({ projectId, walletConnectParameters }) => {
|
|
|
960
864
|
};
|
|
961
865
|
};
|
|
962
866
|
|
|
963
|
-
// src/wallets/connectors/
|
|
964
|
-
|
|
965
|
-
import { safe } from "wagmi/connectors";
|
|
966
|
-
|
|
967
|
-
// src/wallets/connectors/safe/safeIcon.ts
|
|
968
|
-
var icon7 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";
|
|
969
|
-
|
|
970
|
-
// src/wallets/connectors/safe/safe.ts
|
|
971
|
-
var safeWallet = () => ({
|
|
972
|
-
id: "safe",
|
|
973
|
-
name: "Safe",
|
|
974
|
-
rdns: "io.safe",
|
|
975
|
-
iconUrl: icon7,
|
|
976
|
-
installed: (
|
|
977
|
-
// Only allowed in iframe context
|
|
978
|
-
!(typeof window === "undefined") && (window == null ? void 0 : window.parent) !== window
|
|
979
|
-
),
|
|
980
|
-
isExtension: false,
|
|
981
|
-
isMobile: false,
|
|
982
|
-
downloadUrl: "https://safe.global",
|
|
983
|
-
createConnector: (walletDetails) => {
|
|
984
|
-
return createConnector4((config) => __spreadValues(__spreadValues({}, safe()(config)), walletDetails));
|
|
985
|
-
}
|
|
986
|
-
});
|
|
867
|
+
// src/wallets/connectors/index.ts
|
|
868
|
+
var allWallets = [metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet];
|
|
987
869
|
export {
|
|
988
870
|
EvmExternalWalletContext,
|
|
989
|
-
EvmExternalWalletProvider,
|
|
990
871
|
ParaEvmProvider,
|
|
872
|
+
allWallets,
|
|
991
873
|
coinbaseWallet,
|
|
992
874
|
metaMaskWallet,
|
|
993
875
|
rabbyWallet,
|
|
994
876
|
rainbowWallet,
|
|
995
|
-
safeWallet,
|
|
996
877
|
walletConnectWallet,
|
|
997
878
|
zerionWallet
|
|
998
879
|
};
|
package/dist/index.js.br
CHANGED
|
Binary file
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import {
|
|
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=";
|