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