@getpara/evm-wallet-connectors 1.7.1 → 1.8.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/chunk-MMUBH76A.js +59 -0
- package/dist/global.d.js +1 -0
- package/dist/index.js +5 -994
- package/dist/package.json +1 -2
- package/dist/providers/EvmExternalWalletContext.d.ts +2 -0
- package/dist/providers/EvmExternalWalletContext.js +345 -0
- package/dist/providers/ParaEvmContext.js +115 -0
- package/dist/stores/useStore.js +22 -0
- package/dist/types/Wallet.js +1 -0
- package/dist/types/utils.js +1 -0
- package/dist/utils/computeWalletConnectMetaData.js +18 -0
- package/dist/utils/getInjectedConnector.js +69 -0
- package/dist/utils/getWalletConnectConnector.js +63 -0
- package/dist/utils/getWalletConnectUri.js +22 -0
- package/dist/utils/isEIP6963Connector.js +9 -0
- package/dist/utils/omitUndefinedValues.js +11 -0
- package/dist/utils/uniqueBy.js +14 -0
- package/dist/wallets/connectors/coinbase/coinbase.js +35 -0
- package/dist/wallets/connectors/coinbase/coinbaseIcon.js +6 -0
- package/dist/wallets/connectors/index.js +18 -0
- package/dist/wallets/connectors/metaMask/metaMask.js +84 -0
- package/dist/wallets/connectors/metaMask/metaMaskIcon.js +6 -0
- package/dist/wallets/connectors/rabby/rabby.js +25 -0
- package/dist/wallets/connectors/rabby/rabbyIcon.js +6 -0
- package/dist/wallets/connectors/rainbow/rainbow.js +30 -0
- package/dist/wallets/connectors/rainbow/rainbowIcon.js +6 -0
- package/dist/wallets/connectors/safe/safe.js +26 -0
- package/dist/wallets/connectors/safe/safeIcon.js +6 -0
- package/dist/wallets/connectors/walletConnect/walletConnect.js +22 -0
- package/dist/wallets/connectors/walletConnect/walletConnectIcon.js +6 -0
- package/dist/wallets/connectors/zerion/zerion.js +36 -0
- package/dist/wallets/connectors/zerion/zerionIcon.js +6 -0
- package/dist/wallets/connectorsForWallets.js +73 -0
- package/dist/window.d.js +1 -0
- package/package.json +6 -6
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
package/dist/index.js
CHANGED
|
@@ -1,999 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
-
var __objRest = (source, exclude) => {
|
|
22
|
-
var target = {};
|
|
23
|
-
for (var prop in source)
|
|
24
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
-
target[prop] = source[prop];
|
|
26
|
-
if (source != null && __getOwnPropSymbols)
|
|
27
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
-
target[prop] = source[prop];
|
|
30
|
-
}
|
|
31
|
-
return target;
|
|
32
|
-
};
|
|
33
|
-
var __async = (__this, __arguments, generator) => {
|
|
34
|
-
return new Promise((resolve, reject) => {
|
|
35
|
-
var fulfilled = (value) => {
|
|
36
|
-
try {
|
|
37
|
-
step(generator.next(value));
|
|
38
|
-
} catch (e) {
|
|
39
|
-
reject(e);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
var rejected = (value) => {
|
|
43
|
-
try {
|
|
44
|
-
step(generator.throw(value));
|
|
45
|
-
} catch (e) {
|
|
46
|
-
reject(e);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
50
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
|
|
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";
|
|
67
|
-
|
|
68
|
-
// src/utils/isEIP6963Connector.ts
|
|
69
|
-
var isEIP6963Connector = (wallet) => {
|
|
70
|
-
var _a;
|
|
71
|
-
return !!(!wallet.isRainbowKitConnector && ((_a = wallet.icon) == null ? void 0 : _a.startsWith("data:image")) && wallet.uid && wallet.name);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// src/utils/getWalletConnectUri.ts
|
|
75
|
-
var getWalletConnectUri = (connector, uriConverter) => __async(void 0, null, function* () {
|
|
76
|
-
const provider = yield connector.getProvider();
|
|
77
|
-
if (connector.type === "coinbaseWallet") {
|
|
78
|
-
return provider.qrUrl;
|
|
79
|
-
}
|
|
80
|
-
return new Promise(
|
|
81
|
-
(resolve) => (
|
|
82
|
-
// Wagmi v2 doesn't have a return type for provider yet
|
|
83
|
-
// @ts-expect-error
|
|
84
|
-
provider.once("display_uri", (uri) => {
|
|
85
|
-
resolve(uriConverter ? uriConverter(uri) : uri);
|
|
86
|
-
})
|
|
87
|
-
)
|
|
88
|
-
);
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
// src/providers/EvmExternalWalletContext.tsx
|
|
92
|
-
import {
|
|
93
|
-
isMobile,
|
|
94
|
-
useExternalWalletProviderStore,
|
|
95
|
-
useWalletState,
|
|
96
|
-
WalletType
|
|
97
|
-
} from "@getpara/react-sdk";
|
|
98
|
-
import { normalize } from "viem/ens";
|
|
99
|
-
|
|
100
|
-
// src/stores/useStore.ts
|
|
101
|
-
import { create } from "zustand";
|
|
102
|
-
import { syncTabs } from "zustand-sync-tabs";
|
|
103
|
-
var useExternalWalletStore = create(
|
|
104
|
-
syncTabs(
|
|
105
|
-
(set) => ({
|
|
106
|
-
isConnecting: false,
|
|
107
|
-
updateState: (state) => {
|
|
108
|
-
set(__spreadValues({}, state));
|
|
109
|
-
}
|
|
110
|
-
}),
|
|
111
|
-
{
|
|
112
|
-
name: "para-evm-external-wallet-state"
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
// src/providers/EvmExternalWalletContext.tsx
|
|
118
|
-
import { jsx } from "react/jsx-runtime";
|
|
119
|
-
var defaultEvmExternalWallet = {
|
|
120
|
-
wallets: [],
|
|
121
|
-
chains: [],
|
|
122
|
-
chainId: void 0,
|
|
123
|
-
username: void 0,
|
|
124
|
-
avatar: void 0,
|
|
125
|
-
disconnect: () => Promise.resolve(),
|
|
126
|
-
switchChain: () => Promise.resolve({}),
|
|
127
|
-
signMessage: () => Promise.resolve({}),
|
|
128
|
-
signVerificationMessage: () => Promise.resolve({})
|
|
129
|
-
};
|
|
130
|
-
var EvmExternalWalletContext = createContext(defaultEvmExternalWallet);
|
|
131
|
-
function EvmExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
132
|
-
const { connectAsync, connectors: untypedConnectors } = useConnect();
|
|
133
|
-
const connections = useConnections();
|
|
134
|
-
const { address: wagmiAddress, isConnecting, isReconnecting, chainId, connector: connectedConnector } = useAccount();
|
|
135
|
-
const { chains, switchChainAsync } = useSwitchChain();
|
|
136
|
-
const { disconnectAsync } = useDisconnect();
|
|
137
|
-
const { switchAccountAsync } = useSwitchAccount();
|
|
138
|
-
const { signMessageAsync } = useSignMessage();
|
|
139
|
-
const { data: ensName, refetch: refetchEnsName } = useEnsName({ address: wagmiAddress });
|
|
140
|
-
const { data: ensAvatar, refetch: refetchEnsAvatar } = useEnsAvatar({
|
|
141
|
-
name: normalize(ensName)
|
|
142
|
-
});
|
|
143
|
-
const fullAuthWallets = useExternalWalletProviderStore((state) => state.fullAuthWallets);
|
|
144
|
-
const { selectedWallet } = useWalletState();
|
|
145
|
-
const isLocalConnecting = useExternalWalletStore((state) => state.isConnecting);
|
|
146
|
-
const updateExternalWalletState = useExternalWalletStore((state) => state.updateState);
|
|
147
|
-
const verificationMessage = useRef();
|
|
148
|
-
const getStoredExternalWallets = () => {
|
|
149
|
-
const storedExternalWalletsString = localStorage.getItem("@CAPSULE/externalWallets");
|
|
150
|
-
let storedExternalWallets = {};
|
|
151
|
-
if (storedExternalWalletsString) {
|
|
152
|
-
storedExternalWallets = JSON.parse(storedExternalWalletsString);
|
|
153
|
-
}
|
|
154
|
-
return storedExternalWallets;
|
|
155
|
-
};
|
|
156
|
-
useEffect(() => {
|
|
157
|
-
const storedExternalWallet = getStoredExternalWallets()[wagmiAddress != null ? wagmiAddress : ""];
|
|
158
|
-
if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para") {
|
|
159
|
-
reset();
|
|
160
|
-
}
|
|
161
|
-
}, [isConnecting, isReconnecting, isLocalConnecting, wagmiAddress, connectedConnector]);
|
|
162
|
-
useEffect(() => {
|
|
163
|
-
const storedExternalWallet = Object.values(para.externalWallets || {})[0];
|
|
164
|
-
if (!isLocalConnecting && !isConnecting && !isReconnecting && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === WalletType.EVM && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== wagmiAddress && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para") {
|
|
165
|
-
switchWallet(wagmiAddress);
|
|
166
|
-
}
|
|
167
|
-
}, [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
|
-
const connectors = untypedConnectors;
|
|
175
|
-
const reset = () => __async(this, null, function* () {
|
|
176
|
-
yield disconnectAsync();
|
|
177
|
-
yield para.logout();
|
|
178
|
-
});
|
|
179
|
-
const signMessage = (message) => __async(this, null, function* () {
|
|
180
|
-
try {
|
|
181
|
-
const signature = yield signMessageAsync({
|
|
182
|
-
message,
|
|
183
|
-
account: wagmiAddress
|
|
184
|
-
});
|
|
185
|
-
return { address: wagmiAddress, signature };
|
|
186
|
-
} catch (e) {
|
|
187
|
-
switch (e.name) {
|
|
188
|
-
case "UserRejectedRequestError": {
|
|
189
|
-
return { error: "Signature request rejected" };
|
|
190
|
-
}
|
|
191
|
-
default: {
|
|
192
|
-
return { error: "An unknown error occurred" };
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
const signVerificationMessage = () => __async(this, null, function* () {
|
|
198
|
-
const signature = yield signMessage(verificationMessage.current);
|
|
199
|
-
return signature;
|
|
200
|
-
});
|
|
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
|
-
const switchChain = (chainId2) => __async(this, null, function* () {
|
|
210
|
-
var _a, _b, _c;
|
|
211
|
-
let error;
|
|
212
|
-
try {
|
|
213
|
-
yield switchChainAsync({ chainId: chainId2 });
|
|
214
|
-
} catch (e) {
|
|
215
|
-
if (e.details.includes("Missing or invalid.")) {
|
|
216
|
-
const chain = chains.find((c) => c.id === chainId2);
|
|
217
|
-
error = [
|
|
218
|
-
"Network not supported.",
|
|
219
|
-
`You may need to add ${chain == null ? void 0 : chain.name} support to ${(_c = (_b = (_a = connectedConnector == null ? void 0 : connectedConnector.paraDetails) == null ? void 0 : _a.name) != null ? _b : connectedConnector == null ? void 0 : connectedConnector.name) != null ? _c : "the wallet"} manually.`
|
|
220
|
-
];
|
|
221
|
-
} else {
|
|
222
|
-
switch (e.name) {
|
|
223
|
-
case "UserRejectedRequestError": {
|
|
224
|
-
error = ["Change request rejected"];
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
default: {
|
|
228
|
-
error = ["An unknown error occurred"];
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return { error };
|
|
235
|
-
});
|
|
236
|
-
const login = (_0) => __async(this, [_0], function* ({
|
|
237
|
-
address,
|
|
238
|
-
walletId,
|
|
239
|
-
connectorName
|
|
240
|
-
}) {
|
|
241
|
-
var _a;
|
|
242
|
-
try {
|
|
243
|
-
refetchEnsName();
|
|
244
|
-
refetchEnsAvatar();
|
|
245
|
-
return yield para.externalWalletLogin({
|
|
246
|
-
address,
|
|
247
|
-
type: WalletType.EVM,
|
|
248
|
-
provider: connectorName,
|
|
249
|
-
withFullParaAuth: fullAuthWallets == null ? void 0 : fullAuthWallets.includes((_a = walletId == null ? void 0 : walletId.toUpperCase()) != null ? _a : "")
|
|
250
|
-
});
|
|
251
|
-
} catch (err) {
|
|
252
|
-
yield disconnectAsync();
|
|
253
|
-
yield para.logout();
|
|
254
|
-
throw "Error logging you in. Please try again.";
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
const switchWallet = (address) => __async(this, null, function* () {
|
|
258
|
-
var _a;
|
|
259
|
-
updateExternalWalletState({ isConnecting: true });
|
|
260
|
-
let error;
|
|
261
|
-
if (!address) {
|
|
262
|
-
yield para.logout();
|
|
263
|
-
} else {
|
|
264
|
-
if (para.isExternalWalletAuth) {
|
|
265
|
-
yield reset();
|
|
266
|
-
} else {
|
|
267
|
-
try {
|
|
268
|
-
yield login({
|
|
269
|
-
address,
|
|
270
|
-
connectorName: connectedConnector == null ? void 0 : connectedConnector.name,
|
|
271
|
-
walletId: (_a = getParaDetails(connectedConnector.id)) == null ? void 0 : _a.id
|
|
272
|
-
});
|
|
273
|
-
} catch (err) {
|
|
274
|
-
error = err;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
onSwitchWallet({ address, error });
|
|
279
|
-
updateExternalWalletState({ isConnecting: false });
|
|
280
|
-
});
|
|
281
|
-
const connect2 = (connector) => __async(this, null, function* () {
|
|
282
|
-
var _a, _b, _c, _d;
|
|
283
|
-
updateExternalWalletState({ isConnecting: true });
|
|
284
|
-
yield disconnectAsync();
|
|
285
|
-
const walletChainId = yield connector.getChainId();
|
|
286
|
-
let address;
|
|
287
|
-
let error;
|
|
288
|
-
let userExists = false;
|
|
289
|
-
let isVerified = false;
|
|
290
|
-
try {
|
|
291
|
-
const data = yield connectAsync({
|
|
292
|
-
// If the wallet is already on a supported chain, use that to avoid a chain switch prompt.
|
|
293
|
-
chainId: (_c = (_a = chains.find(({ id }) => id === walletChainId)) == null ? void 0 : _a.id) != null ? _c : (
|
|
294
|
-
// Fall back to the first chain provided.
|
|
295
|
-
(_b = chains[0]) == null ? void 0 : _b.id
|
|
296
|
-
),
|
|
297
|
-
connector
|
|
298
|
-
});
|
|
299
|
-
address = (_d = data.accounts) == null ? void 0 : _d[0];
|
|
300
|
-
if (address) {
|
|
301
|
-
try {
|
|
302
|
-
const loginResp = yield login({ address, connectorName: connector.name, walletId: connector.paraDetails.id });
|
|
303
|
-
userExists = loginResp.userExists;
|
|
304
|
-
isVerified = loginResp.isVerified;
|
|
305
|
-
verificationMessage.current = loginResp.signatureVerificationMessage;
|
|
306
|
-
} catch (err) {
|
|
307
|
-
address = void 0;
|
|
308
|
-
error = err;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
} catch (e) {
|
|
312
|
-
switch (e.name) {
|
|
313
|
-
case "UserRejectedRequestError": {
|
|
314
|
-
error = "Connection request rejected";
|
|
315
|
-
break;
|
|
316
|
-
}
|
|
317
|
-
case "ResourceUnavailableRpcError": {
|
|
318
|
-
`${connector.name} not detected`;
|
|
319
|
-
break;
|
|
320
|
-
}
|
|
321
|
-
default: {
|
|
322
|
-
error = "An unknown error occurred";
|
|
323
|
-
break;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
updateExternalWalletState({ isConnecting: false });
|
|
328
|
-
return { address, error, userExists, isVerified };
|
|
329
|
-
});
|
|
330
|
-
const connectMobile = (connector, isManualWalletConnect) => __async(this, null, function* () {
|
|
331
|
-
const _isMobile = isManualWalletConnect !== void 0 ? isManualWalletConnect : isMobile();
|
|
332
|
-
const _connector = connector.walletConnectModalConnector && _isMobile ? connector.walletConnectModalConnector : connector;
|
|
333
|
-
return yield connect2(_connector);
|
|
334
|
-
});
|
|
335
|
-
const getQrUri = (connector) => () => {
|
|
336
|
-
var _a;
|
|
337
|
-
return getWalletConnectUri(connector, (_a = connector.paraDetails) == null ? void 0 : _a.getUri);
|
|
338
|
-
};
|
|
339
|
-
const nonEip6963ConnectorsByRdns = {};
|
|
340
|
-
let walletConnectModalConnector;
|
|
341
|
-
connectors.filter((c) => !isEIP6963Connector(c)).forEach((c) => {
|
|
342
|
-
if (c.paraDetails) {
|
|
343
|
-
nonEip6963ConnectorsByRdns[c.paraDetails.rdns] = c.paraDetails;
|
|
344
|
-
if (c.paraDetails.isWalletConnectModalConnector) {
|
|
345
|
-
walletConnectModalConnector = c;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
});
|
|
349
|
-
const eip6963ids = connectors.filter((c) => isEIP6963Connector(c)).map((c) => c.id);
|
|
350
|
-
const dedupedConnectors = connectors.map((c) => {
|
|
351
|
-
var _a, _b, _c;
|
|
352
|
-
if ((_a = c.paraDetails) == null ? void 0 : _a.isWalletConnectModalConnector) {
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
if (!isEIP6963Connector(c) && eip6963ids.includes((_b = c.paraDetails) == null ? void 0 : _b.rdns)) {
|
|
356
|
-
return;
|
|
357
|
-
}
|
|
358
|
-
if (isEIP6963Connector(c)) {
|
|
359
|
-
const paraMetadata = nonEip6963ConnectorsByRdns[c.id];
|
|
360
|
-
return __spreadProps(__spreadValues({}, c), { paraDetails: paraMetadata });
|
|
361
|
-
}
|
|
362
|
-
if (((_c = c.paraDetails) == null ? void 0 : _c.id) === "walletConnect" && walletConnectModalConnector) {
|
|
363
|
-
return __spreadProps(__spreadValues({}, c), { walletConnectModalConnector });
|
|
364
|
-
}
|
|
365
|
-
return c;
|
|
366
|
-
}).filter((c) => !!c);
|
|
367
|
-
const wallets = dedupedConnectors.map((c) => {
|
|
368
|
-
const connector = __spreadValues(__spreadValues({}, c), c.paraDetails);
|
|
369
|
-
return __spreadProps(__spreadValues({}, connector), {
|
|
370
|
-
connect: () => connect2(connector),
|
|
371
|
-
connectMobile: ({ isManualWalletConnect }) => connectMobile(connector, isManualWalletConnect),
|
|
372
|
-
type: WalletType.EVM,
|
|
373
|
-
getQrUri: getQrUri(connector)
|
|
374
|
-
});
|
|
375
|
-
});
|
|
376
|
-
const getParaDetails = (id) => {
|
|
377
|
-
var _a;
|
|
378
|
-
return (_a = connectors.find((w) => w.id === id)) == null ? void 0 : _a.paraDetails;
|
|
379
|
-
};
|
|
380
|
-
const formattedChains = chains.map((c) => {
|
|
381
|
-
return {
|
|
382
|
-
id: c.id,
|
|
383
|
-
name: c.name
|
|
384
|
-
};
|
|
385
|
-
});
|
|
386
|
-
const username = useMemo(() => ensName != null ? ensName : wagmiAddress, [ensName, wagmiAddress]);
|
|
387
|
-
const disconnect = disconnectAsync;
|
|
388
|
-
return /* @__PURE__ */ jsx(
|
|
389
|
-
EvmExternalWalletContext.Provider,
|
|
390
|
-
{
|
|
391
|
-
value: useMemo(
|
|
392
|
-
() => ({
|
|
393
|
-
wallets,
|
|
394
|
-
chains: formattedChains,
|
|
395
|
-
chainId,
|
|
396
|
-
username,
|
|
397
|
-
avatar: ensAvatar,
|
|
398
|
-
disconnect,
|
|
399
|
-
switchChain,
|
|
400
|
-
signMessage,
|
|
401
|
-
signVerificationMessage
|
|
402
|
-
}),
|
|
403
|
-
[
|
|
404
|
-
wallets,
|
|
405
|
-
formattedChains,
|
|
406
|
-
chainId,
|
|
407
|
-
username,
|
|
408
|
-
ensAvatar,
|
|
409
|
-
disconnect,
|
|
410
|
-
switchChain,
|
|
411
|
-
signMessage,
|
|
412
|
-
signVerificationMessage
|
|
413
|
-
]
|
|
414
|
-
),
|
|
415
|
-
children
|
|
416
|
-
}
|
|
417
|
-
);
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
// src/providers/ParaEvmContext.tsx
|
|
421
|
-
import { useCallback, useEffect as useEffect2, useMemo as useMemo2 } from "react";
|
|
422
|
-
import { createConfig, WagmiProvider } from "wagmi";
|
|
423
|
-
|
|
424
|
-
// src/utils/uniqueBy.ts
|
|
425
|
-
function uniqueBy(items, key) {
|
|
426
|
-
const filtered = [];
|
|
427
|
-
for (const item of items) {
|
|
428
|
-
if (!filtered.some((x) => x[key] === item[key])) {
|
|
429
|
-
filtered.push(item);
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
return filtered;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
// src/utils/computeWalletConnectMetaData.ts
|
|
436
|
-
var computeWalletConnectMetaData = ({
|
|
437
|
-
appName,
|
|
438
|
-
appDescription,
|
|
439
|
-
appUrl,
|
|
440
|
-
appIcon
|
|
441
|
-
}) => {
|
|
442
|
-
return {
|
|
443
|
-
name: appName,
|
|
444
|
-
description: appDescription != null ? appDescription : appName,
|
|
445
|
-
url: appUrl != null ? appUrl : typeof window !== "undefined" ? window.location.href : "",
|
|
446
|
-
icons: [...appIcon ? [appIcon] : []]
|
|
447
|
-
};
|
|
448
|
-
};
|
|
449
|
-
|
|
450
|
-
// src/utils/omitUndefinedValues.ts
|
|
451
|
-
function omitUndefinedValues(obj) {
|
|
452
|
-
return Object.fromEntries(
|
|
453
|
-
//@ts-ignore
|
|
454
|
-
Object.entries(obj).filter(([_key, value]) => value !== void 0)
|
|
455
|
-
);
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
// src/wallets/connectorsForWallets.ts
|
|
459
|
-
var connectorsForWallets = (walletList, { projectId, walletConnectParameters, appName, appDescription, appUrl, appIcon }) => {
|
|
460
|
-
if (!walletList.length) {
|
|
461
|
-
throw new Error("No wallet list was provided");
|
|
462
|
-
}
|
|
463
|
-
let index = -1;
|
|
464
|
-
const connectors = [];
|
|
465
|
-
const wallets = [];
|
|
466
|
-
const walletConnectMetaData = computeWalletConnectMetaData({
|
|
467
|
-
appName,
|
|
468
|
-
appDescription,
|
|
469
|
-
appUrl,
|
|
470
|
-
appIcon
|
|
471
|
-
});
|
|
472
|
-
walletList.forEach((createWallet) => {
|
|
473
|
-
index++;
|
|
474
|
-
const wallet = createWallet({
|
|
475
|
-
projectId,
|
|
476
|
-
appName,
|
|
477
|
-
appIcon,
|
|
478
|
-
// `option` is being used only for `walletConnectWallet` wallet
|
|
479
|
-
options: __spreadValues({
|
|
480
|
-
metadata: walletConnectMetaData
|
|
481
|
-
}, walletConnectParameters),
|
|
482
|
-
// Every other wallet that supports walletConnect flow and is not
|
|
483
|
-
// `walletConnectWallet` wallet will have `walletConnectParameters` property
|
|
484
|
-
walletConnectParameters: __spreadValues({
|
|
485
|
-
metadata: walletConnectMetaData
|
|
486
|
-
}, walletConnectParameters)
|
|
487
|
-
});
|
|
488
|
-
const walletListItem = __spreadProps(__spreadValues({}, wallet), {
|
|
489
|
-
index
|
|
490
|
-
});
|
|
491
|
-
wallets.push(walletListItem);
|
|
492
|
-
});
|
|
493
|
-
const walletListItems = uniqueBy([...wallets], "id");
|
|
494
|
-
for (const _a of walletListItems) {
|
|
495
|
-
const _b = _a, { createConnector: createConnector5 } = _b, walletMeta = __objRest(_b, ["createConnector"]);
|
|
496
|
-
const walletMetaData = (additionalParaParams) => {
|
|
497
|
-
return {
|
|
498
|
-
paraDetails: omitUndefinedValues(__spreadValues(__spreadProps(__spreadValues({}, walletMeta), {
|
|
499
|
-
isParaConnector: true
|
|
500
|
-
}), additionalParaParams ? additionalParaParams : {}))
|
|
501
|
-
};
|
|
502
|
-
};
|
|
503
|
-
const isWalletConnectConnector = walletMeta.id === "walletConnect";
|
|
504
|
-
if (isWalletConnectConnector) {
|
|
505
|
-
connectors.push(
|
|
506
|
-
createConnector5(
|
|
507
|
-
walletMetaData({
|
|
508
|
-
isWalletConnectModalConnector: true,
|
|
509
|
-
showQrModal: true
|
|
510
|
-
})
|
|
511
|
-
)
|
|
512
|
-
);
|
|
513
|
-
}
|
|
514
|
-
if (createConnector5) {
|
|
515
|
-
connectors.push(createConnector5(walletMetaData()));
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
return connectors;
|
|
519
|
-
};
|
|
520
|
-
|
|
521
|
-
// src/providers/ParaEvmContext.tsx
|
|
522
|
-
import { http } from "viem";
|
|
523
|
-
import { useClient, useExternalWalletProviderStore as useExternalWalletProviderStore2 } from "@getpara/react-sdk";
|
|
524
|
-
import { connect } from "wagmi/actions";
|
|
525
|
-
import { paraConnector } from "@getpara/wagmi-v2-integration";
|
|
526
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
527
|
-
var createDefaultTransports = (chains) => {
|
|
528
|
-
const transportsObject = chains.reduce((acc, chain) => {
|
|
529
|
-
const key = chain.id;
|
|
530
|
-
acc[key] = http();
|
|
531
|
-
return acc;
|
|
532
|
-
}, {});
|
|
533
|
-
return transportsObject;
|
|
534
|
-
};
|
|
535
|
-
function ParaEvmProvider(_a) {
|
|
536
|
-
var _b = _a, { children, config: _config } = _b, wagmiProviderProps = __objRest(_b, ["children", "config"]);
|
|
537
|
-
var _a2;
|
|
538
|
-
const updateExternalWalletProviderState = useExternalWalletProviderStore2((state) => state.updateState);
|
|
539
|
-
const EvmProvider = useExternalWalletProviderStore2((state) => state.EvmProvider);
|
|
540
|
-
const evmContext = useExternalWalletProviderStore2((state) => state.evmContext);
|
|
541
|
-
const para = (_a2 = _config.para) != null ? _a2 : useClient();
|
|
542
|
-
const _b2 = _config, {
|
|
543
|
-
projectId,
|
|
544
|
-
appName,
|
|
545
|
-
appDescription,
|
|
546
|
-
appIcon,
|
|
547
|
-
appUrl,
|
|
548
|
-
wallets,
|
|
549
|
-
chains,
|
|
550
|
-
transports,
|
|
551
|
-
paraDisableModal,
|
|
552
|
-
paraOptions
|
|
553
|
-
} = _b2, wagmiConfigParams = __objRest(_b2, [
|
|
554
|
-
"projectId",
|
|
555
|
-
"appName",
|
|
556
|
-
"appDescription",
|
|
557
|
-
"appIcon",
|
|
558
|
-
"appUrl",
|
|
559
|
-
"wallets",
|
|
560
|
-
"chains",
|
|
561
|
-
"transports",
|
|
562
|
-
"paraDisableModal",
|
|
563
|
-
"paraOptions"
|
|
564
|
-
]);
|
|
565
|
-
const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
|
|
566
|
-
const paraConnectorInstance = para ? paraConnector({
|
|
567
|
-
para,
|
|
568
|
-
chains: [...chains],
|
|
569
|
-
disableModal: paraDisableModal != null ? paraDisableModal : true,
|
|
570
|
-
appName,
|
|
571
|
-
options: paraOptions != null ? paraOptions : {}
|
|
572
|
-
}) : void 0;
|
|
573
|
-
const allConnectors = useMemo2(() => {
|
|
574
|
-
const baseConnectors = connectorsForWallets(wallets, {
|
|
575
|
-
projectId,
|
|
576
|
-
appName,
|
|
577
|
-
appDescription,
|
|
578
|
-
appUrl,
|
|
579
|
-
appIcon,
|
|
580
|
-
walletConnectParameters: { metadata: wcMetadata }
|
|
581
|
-
});
|
|
582
|
-
return paraConnectorInstance ? [...baseConnectors, paraConnectorInstance] : baseConnectors;
|
|
583
|
-
}, [wallets, projectId, appName, appDescription, appUrl, appIcon, wcMetadata, paraConnectorInstance]);
|
|
584
|
-
const config = useMemo2(
|
|
585
|
-
() => createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
|
|
586
|
-
chains,
|
|
587
|
-
transports: transports || createDefaultTransports(chains),
|
|
588
|
-
connectors: allConnectors
|
|
589
|
-
})),
|
|
590
|
-
[wagmiConfigParams, chains, transports, allConnectors]
|
|
591
|
-
);
|
|
592
|
-
const connectParaEvmWallet = useCallback(() => __async(this, null, function* () {
|
|
593
|
-
if (!paraConnectorInstance) {
|
|
594
|
-
return { error: "No para connector instance" };
|
|
595
|
-
}
|
|
596
|
-
try {
|
|
597
|
-
const result = yield connect(config, { connector: paraConnectorInstance });
|
|
598
|
-
return { result };
|
|
599
|
-
} catch (err) {
|
|
600
|
-
const error = err instanceof Error ? err.message : "Unknown error";
|
|
601
|
-
return { error };
|
|
602
|
-
}
|
|
603
|
-
}), [paraConnectorInstance, config, connect]);
|
|
604
|
-
useEffect2(() => {
|
|
605
|
-
if (!evmContext || !EvmProvider) {
|
|
606
|
-
updateExternalWalletProviderState({
|
|
607
|
-
EvmProvider: EvmExternalWalletProvider,
|
|
608
|
-
evmContext: EvmExternalWalletContext
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
}, []);
|
|
612
|
-
useEffect2(() => {
|
|
613
|
-
updateExternalWalletProviderState({
|
|
614
|
-
connectParaEvmWallet: paraConnectorInstance ? connectParaEvmWallet : void 0
|
|
615
|
-
});
|
|
616
|
-
}, [paraConnectorInstance]);
|
|
617
|
-
if (!evmContext || !EvmProvider) {
|
|
618
|
-
return null;
|
|
619
|
-
}
|
|
620
|
-
return /* @__PURE__ */ jsx2(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children }));
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
// src/wallets/connectors/metaMask/metaMask.ts
|
|
624
|
-
import { isAndroid, isIOS, isTelegram } from "@getpara/react-sdk";
|
|
625
|
-
|
|
626
|
-
// src/utils/getInjectedConnector.ts
|
|
627
|
-
import { createConnector } from "wagmi";
|
|
628
|
-
import { injected } from "wagmi/connectors";
|
|
629
|
-
function getExplicitInjectedProvider(flag) {
|
|
630
|
-
const _window = typeof window !== "undefined" ? window : void 0;
|
|
631
|
-
if (typeof _window === "undefined" || typeof _window.ethereum === "undefined") return;
|
|
632
|
-
const providers = _window.ethereum.providers;
|
|
633
|
-
return providers ? providers.find((provider) => provider[flag]) : _window.ethereum[flag] ? _window.ethereum : void 0;
|
|
634
|
-
}
|
|
635
|
-
function getWindowProviderNamespace(namespace) {
|
|
636
|
-
const providerSearch = (provider, namespace2) => {
|
|
637
|
-
const [property, ...path] = namespace2.split(".");
|
|
638
|
-
const _provider = provider[property];
|
|
639
|
-
if (_provider) {
|
|
640
|
-
if (path.length === 0) return _provider;
|
|
641
|
-
return providerSearch(_provider, path.join("."));
|
|
642
|
-
}
|
|
643
|
-
};
|
|
644
|
-
if (typeof window !== "undefined") return providerSearch(window, namespace);
|
|
645
|
-
}
|
|
646
|
-
function hasInjectedProvider({ flag, namespace }) {
|
|
647
|
-
if (namespace && typeof getWindowProviderNamespace(namespace) !== "undefined") return true;
|
|
648
|
-
if (flag && typeof getExplicitInjectedProvider(flag) !== "undefined") return true;
|
|
649
|
-
return false;
|
|
650
|
-
}
|
|
651
|
-
function getInjectedProvider({ flag, namespace }) {
|
|
652
|
-
var _a;
|
|
653
|
-
const _window = typeof window !== "undefined" ? window : void 0;
|
|
654
|
-
if (typeof _window === "undefined") return;
|
|
655
|
-
if (namespace) {
|
|
656
|
-
const windowProvider = getWindowProviderNamespace(namespace);
|
|
657
|
-
if (windowProvider) return windowProvider;
|
|
658
|
-
}
|
|
659
|
-
const providers = (_a = _window.ethereum) == null ? void 0 : _a.providers;
|
|
660
|
-
if (flag) {
|
|
661
|
-
const provider = getExplicitInjectedProvider(flag);
|
|
662
|
-
if (provider) return provider;
|
|
663
|
-
}
|
|
664
|
-
if (typeof providers !== "undefined" && providers.length > 0) return providers[0];
|
|
665
|
-
return _window.ethereum;
|
|
666
|
-
}
|
|
667
|
-
function createInjectedConnector(provider) {
|
|
668
|
-
return (walletDetails) => {
|
|
669
|
-
const injectedConfig = provider ? {
|
|
670
|
-
target: () => ({
|
|
671
|
-
id: walletDetails.paraDetails.id,
|
|
672
|
-
name: walletDetails.paraDetails.name,
|
|
673
|
-
provider
|
|
674
|
-
})
|
|
675
|
-
} : {};
|
|
676
|
-
return createConnector((config) => __spreadValues(__spreadValues({}, injected(injectedConfig)(config)), walletDetails));
|
|
677
|
-
};
|
|
678
|
-
}
|
|
679
|
-
function getInjectedConnector({
|
|
680
|
-
flag,
|
|
681
|
-
namespace,
|
|
682
|
-
target
|
|
683
|
-
}) {
|
|
684
|
-
const provider = target ? target : getInjectedProvider({ flag, namespace });
|
|
685
|
-
return createInjectedConnector(provider);
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
// src/utils/getWalletConnectConnector.ts
|
|
689
|
-
import { createConnector as createConnector2 } from "wagmi";
|
|
690
|
-
import { walletConnect } from "wagmi/connectors";
|
|
691
|
-
var walletConnectInstances = /* @__PURE__ */ new Map();
|
|
692
|
-
var getOrCreateWalletConnectInstance = ({
|
|
693
|
-
projectId,
|
|
694
|
-
walletConnectParameters,
|
|
695
|
-
paraDetailsShowQrModal
|
|
696
|
-
}) => {
|
|
697
|
-
let config = __spreadProps(__spreadValues({}, walletConnectParameters ? walletConnectParameters : {}), {
|
|
698
|
-
projectId,
|
|
699
|
-
showQrModal: false
|
|
700
|
-
// Required. Otherwise WalletConnect modal (Web3Modal) will popup during time of connection for a wallet
|
|
701
|
-
});
|
|
702
|
-
if (paraDetailsShowQrModal) {
|
|
703
|
-
config = __spreadProps(__spreadValues({}, config), { showQrModal: true });
|
|
704
|
-
}
|
|
705
|
-
const serializedConfig = JSON.stringify(config);
|
|
706
|
-
const sharedWalletConnector = walletConnectInstances.get(serializedConfig);
|
|
707
|
-
if (sharedWalletConnector) {
|
|
708
|
-
return sharedWalletConnector;
|
|
709
|
-
}
|
|
710
|
-
const newWalletConnectInstance = walletConnect(config);
|
|
711
|
-
walletConnectInstances.set(serializedConfig, newWalletConnectInstance);
|
|
712
|
-
return newWalletConnectInstance;
|
|
713
|
-
};
|
|
714
|
-
function createWalletConnectConnector({
|
|
715
|
-
projectId,
|
|
716
|
-
walletDetails,
|
|
717
|
-
walletConnectParameters
|
|
718
|
-
}) {
|
|
719
|
-
return createConnector2((config) => __spreadProps(__spreadValues(__spreadValues({}, getOrCreateWalletConnectInstance({
|
|
720
|
-
projectId,
|
|
721
|
-
walletConnectParameters,
|
|
722
|
-
// Used in `connectorsForWallets` to add another
|
|
723
|
-
// walletConnect wallet into Para with modal popup option
|
|
724
|
-
paraDetailsShowQrModal: walletDetails.paraDetails.showQrModal
|
|
725
|
-
})(config)), walletDetails), {
|
|
726
|
-
id: walletDetails.paraDetails.id
|
|
727
|
-
}));
|
|
728
|
-
}
|
|
729
|
-
function getWalletConnectConnector({
|
|
730
|
-
projectId,
|
|
731
|
-
walletConnectParameters
|
|
732
|
-
}) {
|
|
733
|
-
if (!projectId || projectId === "") {
|
|
734
|
-
throw new Error(
|
|
735
|
-
"No projectId found. Every dApp must now provide a WalletConnect Cloud projectId to enable WalletConnect v2. Sign up for your free key at https://cloud.walletconnect.com/sign-in"
|
|
736
|
-
);
|
|
737
|
-
}
|
|
738
|
-
return (walletDetails) => createWalletConnectConnector({
|
|
739
|
-
projectId,
|
|
740
|
-
walletDetails,
|
|
741
|
-
walletConnectParameters
|
|
742
|
-
});
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
// src/wallets/connectors/metaMask/metaMaskIcon.ts
|
|
746
|
-
var icon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyMyIgdmlld0JveD0iMCAwIDI0IDIzIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjIuODA0OSAwTDEzLjQ0MDIgNi45NTUyOUwxNS4xNzE5IDIuODUxNzdMMjIuODA0OSAwWiIgZmlsbD0iI0UyNzYxQiIvPgogIDxwYXRoIGQ9Ik0xLjE4NTk5IDBMMTAuNDc1NCA3LjAyMTE4TDguODI4MzQgMi44NTE3N0wxLjE4NTk5IDBaTTE5LjQzNTQgMTYuMTIyNEwxNi45NDEzIDE5Ljk0MzVMMjIuMjc3OCAyMS40MTE4TDIzLjgxMTkgMTYuMjA3MUwxOS40MzU0IDE2LjEyMjRaTTAuMTk3NzU0IDE2LjIwNzFMMS43MjI0NiAyMS40MTE4TDcuMDU4OTMgMTkuOTQzNUw0LjU2NDgxIDE2LjEyMjRMMC4xOTc3NTQgMTYuMjA3MVoiIGZpbGw9IiNFNDc2MUIiLz4KICA8cGF0aCBkPSJNNi43NTgwNSA5LjY2NTg2TDUuMjcxIDExLjkxNTNMMTAuNTY5OCAxMi4xNTA2TDEwLjM4MTYgNi40NTY0NUw2Ljc1ODA1IDkuNjY1ODZaTTE3LjIzMzMgOS42NjU4NkwxMy41NjI4IDYuMzkwNTZMMTMuNDQwNCAxMi4xNTA2TDE4LjcyOTggMTEuOTE1M0wxNy4yMzMzIDkuNjY1ODZaTTcuMDU5MjMgMTkuOTQzNUwxMC4yNDA0IDE4LjM5MDZMNy40OTIxNyAxNi4yNDQ3TDcuMDU5MjMgMTkuOTQzNVpNMTMuNzUxIDE4LjM5MDZMMTYuOTQxNiAxOS45NDM1TDE2LjQ5OTIgMTYuMjQ0N0wxMy43NTEgMTguMzkwNloiIGZpbGw9IiNFNDc2MUIiLz4KICA8cGF0aCBkPSJNMTYuOTQxMiAxOS45NDM1TDEzLjc1MDYgMTguMzkwNkwxNC4wMDQ3IDIwLjQ3MDZMMTMuOTc2NSAyMS4zNDU5TDE2Ljk0MTIgMTkuOTQzNVpNNy4wNTg4NCAxOS45NDM1TDEwLjAyMzUgMjEuMzQ1OUwxMC4wMDQ3IDIwLjQ3MDZMMTAuMjQgMTguMzkwNkw3LjA1ODg0IDE5Ljk0MzVaIiBmaWxsPSIjRDdDMUIzIi8+CiAgPHBhdGggZD0iTTEwLjA3MDYgMTQuODcwNkw3LjQxNjUgMTQuMDg5NEw5LjI4OTQ1IDEzLjIzMjlMMTAuMDcwNiAxNC44NzA2Wk0xMy45MiAxNC44NzA2TDE0LjcwMTIgMTMuMjMyOUwxNi41ODM2IDE0LjA4OTRMMTMuOTIgMTQuODcwNloiIGZpbGw9IiMyMzM0NDciLz4KICA8cGF0aCBkPSJNNy4wNTg4MiAxOS45NDM1TDcuNTEwNTggMTYuMTIyM0w0LjU2NDcgMTYuMjA3TDcuMDU4ODIgMTkuOTQzNVpNMTYuNDg5NCAxNi4xMjIzTDE2Ljk0MTIgMTkuOTQzNUwxOS40MzUzIDE2LjIwN0wxNi40ODk0IDE2LjEyMjNaTTE4LjcyOTQgMTEuOTE1M0wxMy40NCAxMi4xNTA2TDEzLjkyOTQgMTQuODcwNkwxNC43MTA2IDEzLjIzMjlMMTYuNTkyOSAxNC4wODk0TDE4LjcyOTQgMTEuOTE1M1pNNy40MTY0NiAxNC4wODk0TDkuMjk4ODIgMTMuMjMyOUwxMC4wNzA2IDE0Ljg3MDZMMTAuNTY5NCAxMi4xNTA2TDUuMjcwNTggMTEuOTE1M0w3LjQxNjQ2IDE0LjA4OTRaIiBmaWxsPSIjQ0Q2MTE2Ii8+CiAgPHBhdGggZD0iTTUuMjcxIDExLjkxNTNMNy40OTIxNyAxNi4yNDQ3TDcuNDE2ODggMTQuMDg5NEw1LjI3MSAxMS45MTUzWk0xNi41OTMzIDE0LjA4OTRMMTYuNDk5MiAxNi4yNDQ3TDE4LjcyOTggMTEuOTE1M0wxNi41OTMzIDE0LjA4OTRaTTEwLjU2OTggMTIuMTUwNkwxMC4wNzEgMTQuODcwNkwxMC42OTIyIDE4LjA4TDEwLjgzMzMgMTMuODU0MUwxMC41Njk4IDEyLjE1MDZaTTEzLjQ0MDQgMTIuMTUwNkwxMy4xODYzIDEzLjg0NDdMMTMuMjk5MiAxOC4wOEwxMy45Mjk4IDE0Ljg3MDZMMTMuNDQwNCAxMi4xNTA2WiIgZmlsbD0iI0U0NzUxRiIvPgogIDxwYXRoIGQ9Ik0xMy45Mjk0IDE0Ljg3MDVMMTMuMjk4OSAxOC4wNzk5TDEzLjc1MDYgMTguMzkwNUwxNi40OTg5IDE2LjI0NDdMMTYuNTkzIDE0LjA4OTRMMTMuOTI5NCAxNC44NzA1Wk03LjQxNjUgMTQuMDg5NEw3LjQ5MTggMTYuMjQ0N0wxMC4yNCAxOC4zOTA1TDEwLjY5MTggMTguMDc5OUwxMC4wNzA2IDE0Ljg3MDVMNy40MTY1IDE0LjA4OTRaIiBmaWxsPSIjRjY4NTFCIi8+CiAgPHBhdGggZD0iTTEzLjk3NjUgMjEuMzQ1OUwxNC4wMDQ3IDIwLjQ3MDZMMTMuNzY5NCAyMC4yNjM1SDEwLjIyMTJMMTAuMDA0NyAyMC40NzA2TDEwLjAyMzUgMjEuMzQ1OUw3LjA1ODg0IDE5Ljk0MzVMOC4wOTQxMyAyMC43OTA2TDEwLjE5MyAyMi4yNDk0SDEzLjc5NzdMMTUuOTA1OSAyMC43OTA2TDE2Ljk0MTIgMTkuOTQzNUwxMy45NzY1IDIxLjM0NTlaIiBmaWxsPSIjQzBBRDlFIi8+CiAgPHBhdGggZD0iTTEzLjc1MDggMTguMzkwNkwxMy4yOTkgMTguMDhIMTAuNjkxOUwxMC4yNDAyIDE4LjM5MDZMMTAuMDA0OSAyMC40NzA2TDEwLjIyMTQgMjAuMjYzNUgxMy43Njk2TDE0LjAwNDkgMjAuNDcwNkwxMy43NTA4IDE4LjM5MDZaIiBmaWxsPSIjMTYxNjE2Ii8+CiAgPHBhdGggZD0iTTIzLjIgNy40MDcwNkwyNCAzLjU2NzA2TDIyLjgwNDcgMEwxMy43NTA2IDYuNzJMMTcuMjMyOSA5LjY2NTg4TDIyLjE1NTMgMTEuMTA1OUwyMy4yNDcxIDkuODM1MjlMMjIuNzc2NSA5LjQ5NjQ3TDIzLjUyOTQgOC44MDk0MUwyMi45NDU5IDguMzU3NjVMMjMuNjk4OCA3Ljc4MzUzTDIzLjIgNy40MDcwNlpNMCAzLjU2NzA2TDAuOCA3LjQwNzA2TDAuMjkxNzY1IDcuNzgzNTNMMS4wNDQ3MSA4LjM1NzY1TDAuNDcwNTg4IDguODA5NDFMMS4yMjM1MyA5LjQ5NjQ3TDAuNzUyOTQxIDkuODM1MjlMMS44MzUyOSAxMS4xMDU5TDYuNzU3NjUgOS42NjU4OEwxMC4yNCA2LjcyTDEuMTg1ODggMEwwIDMuNTY3MDZaIiBmaWxsPSIjNzYzRDE2Ii8+CiAgPHBhdGggZD0iTTIyLjE1NTQgMTEuMTA1OUwxNy4yMzMgOS42NjU5MkwxOC43Mjk1IDExLjkxNTNMMTYuNDk4OSAxNi4yNDQ3TDE5LjQzNTQgMTYuMjA3MUgyMy44MTE5TDIyLjE1NTQgMTEuMTA1OVpNNi43NTc3NSA5LjY2NTkyTDEuODM1NCAxMS4xMDU5TDAuMTk3NzU0IDE2LjIwNzFINC41NjQ4MUw3LjQ5MTg3IDE2LjI0NDdMNS4yNzA3IDExLjkxNTNMNi43NTc3NSA5LjY2NTkyWk0xMy40NDAxIDEyLjE1MDZMMTMuNzUwNyA2LjcyMDA0TDE1LjE4MTMgMi44NTE4MUg4LjgyODM0TDEwLjI0MDEgNi43MjAwNEwxMC41Njk1IDEyLjE1MDZMMTAuNjgyNSAxMy44NjM2TDEwLjY5MTkgMTguMDhIMTMuMjk4OUwxMy4zMTc4IDEzLjg2MzZMMTMuNDQwMSAxMi4xNTA2WiIgZmlsbD0iI0Y2ODUxQiIvPgo8L3N2Zz4=";
|
|
747
|
-
|
|
748
|
-
// src/wallets/connectors/metaMask/metaMask.ts
|
|
749
|
-
function isMetaMask(ethereum) {
|
|
750
|
-
if (!(ethereum == null ? void 0 : ethereum.isMetaMask)) return false;
|
|
751
|
-
if (ethereum.isBraveWallet && !ethereum._events && !ethereum._state) return false;
|
|
752
|
-
if (ethereum.isApexWallet) return false;
|
|
753
|
-
if (ethereum.isAvalanche) return false;
|
|
754
|
-
if (ethereum.isBackpack) return false;
|
|
755
|
-
if (ethereum.isBifrost) return false;
|
|
756
|
-
if (ethereum.isBitKeep) return false;
|
|
757
|
-
if (ethereum.isBitski) return false;
|
|
758
|
-
if (ethereum.isBlockWallet) return false;
|
|
759
|
-
if (ethereum.isCoinbaseWallet) return false;
|
|
760
|
-
if (ethereum.isDawn) return false;
|
|
761
|
-
if (ethereum.isEnkrypt) return false;
|
|
762
|
-
if (ethereum.isExodus) return false;
|
|
763
|
-
if (ethereum.isFrame) return false;
|
|
764
|
-
if (ethereum.isFrontier) return false;
|
|
765
|
-
if (ethereum.isGamestop) return false;
|
|
766
|
-
if (ethereum.isHyperPay) return false;
|
|
767
|
-
if (ethereum.isImToken) return false;
|
|
768
|
-
if (ethereum.isKuCoinWallet) return false;
|
|
769
|
-
if (ethereum.isMathWallet) return false;
|
|
770
|
-
if (ethereum.isNestWallet) return false;
|
|
771
|
-
if (ethereum.isOkxWallet || ethereum.isOKExWallet) return false;
|
|
772
|
-
if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet) return false;
|
|
773
|
-
if (ethereum.isOpera) return false;
|
|
774
|
-
if (ethereum.isPhantom) return false;
|
|
775
|
-
if (ethereum.isPortal) return false;
|
|
776
|
-
if (ethereum.isRabby) return false;
|
|
777
|
-
if (ethereum.isSafe) return false;
|
|
778
|
-
if (ethereum.isRainbow) return false;
|
|
779
|
-
if (ethereum.isStatus) return false;
|
|
780
|
-
if (ethereum.isTalisman) return false;
|
|
781
|
-
if (ethereum.isTally) return false;
|
|
782
|
-
if (ethereum.isTokenPocket) return false;
|
|
783
|
-
if (ethereum.isTokenary) return false;
|
|
784
|
-
if (ethereum.isTrust || ethereum.isTrustWallet) return false;
|
|
785
|
-
if (ethereum.isXDEFI) return false;
|
|
786
|
-
if (ethereum.isZeal) return false;
|
|
787
|
-
if (ethereum.isZerion) return false;
|
|
788
|
-
if (ethereum.__seif) return false;
|
|
789
|
-
return true;
|
|
790
|
-
}
|
|
791
|
-
var metaMaskWallet = ({ projectId, walletConnectParameters }) => {
|
|
792
|
-
var _a, _b, _c, _d;
|
|
793
|
-
let metaMaskTarget = typeof window !== "undefined" ? (_c = (_b = (_a = window.ethereum) == null ? void 0 : _a.providers) == null ? void 0 : _b.find(isMetaMask)) != null ? _c : window.ethereum : void 0;
|
|
794
|
-
const metaMaskInjectedProvider = metaMaskTarget ? metaMaskTarget : getInjectedProvider({ flag: "isMetaMask" });
|
|
795
|
-
const isMetaMaskInjected = !!metaMaskInjectedProvider && metaMaskInjectedProvider.isMetaMask;
|
|
796
|
-
const providerMapTarget = (_d = metaMaskTarget == null ? void 0 : metaMaskTarget.providerMap) == null ? void 0 : _d.get("MetaMask");
|
|
797
|
-
if (providerMapTarget) {
|
|
798
|
-
metaMaskTarget = providerMapTarget;
|
|
799
|
-
}
|
|
800
|
-
const getUri = (uri) => {
|
|
801
|
-
return isAndroid() ? `metamask://wc?uri=${encodeURIComponent(uri)}` : isIOS() ? !isTelegram() ? (
|
|
802
|
-
// currently broken in MetaMask v6.5.0 https://github.com/MetaMask/metamask-mobile/issues/6457
|
|
803
|
-
`metamask://wc?uri=${encodeURIComponent(uri)}`
|
|
804
|
-
) : `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}` : `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}`;
|
|
805
|
-
};
|
|
806
|
-
return {
|
|
807
|
-
id: "metaMask",
|
|
808
|
-
name: "MetaMask",
|
|
809
|
-
rdns: "io.metamask",
|
|
810
|
-
iconUrl: icon,
|
|
811
|
-
installed: isMetaMaskInjected,
|
|
812
|
-
isExtension: true,
|
|
813
|
-
isMobile: true,
|
|
814
|
-
downloadUrl: "https://metamask.io/download/",
|
|
815
|
-
getUri,
|
|
816
|
-
createConnector: isMetaMaskInjected ? getInjectedConnector({
|
|
817
|
-
target: metaMaskTarget
|
|
818
|
-
}) : getWalletConnectConnector({
|
|
819
|
-
projectId,
|
|
820
|
-
walletConnectParameters
|
|
821
|
-
})
|
|
822
|
-
};
|
|
823
|
-
};
|
|
824
|
-
|
|
825
|
-
// src/wallets/connectors/rainbow/rainbow.ts
|
|
826
|
-
import { isAndroid as isAndroid2, isIOS as isIOS2, isTelegram as isTelegram2 } from "@getpara/react-sdk";
|
|
827
|
-
|
|
828
|
-
// src/wallets/connectors/rainbow/rainbowIcon.ts
|
|
829
|
-
var icon2 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMCA1LjRIMS44QzExLjA3ODQgNS40IDE4LjYgMTIuOTIxNiAxOC42IDIyLjJWMjRIMjIuMkMyMy4xOTQxIDI0IDI0IDIzLjE5NDEgMjQgMjIuMkMyNCA5LjkzOTI3IDE0LjA2MDcgMCAxLjggMEMwLjgwNTg4NyAwIDAgMC44MDU4ODcgMCAxLjhWNS40WiIgZmlsbD0idXJsKCNwYWludDBfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTE5LjIgMjIuMkgyMy45OTk5QzIzLjk5OTkgMjMuMTk0MSAyMy4xOTQxIDI0IDIyLjE5OTkgMjRIMTkuMlYyMi4yWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAwTDEuOCA0LjhIMEwxLjMxMTM0ZS0wNyAxLjhDMS43NDU4OGUtMDcgMC44MDU4ODcgMC44MDU4ODcgLTQuMzQ1NGUtMDggMS44IDBaIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMCA0Ljc5OTk5SDEuOEMxMS40MDk3IDQuNzk5OTkgMTkuMiAxMi41OTAyIDE5LjIgMjIuMlYyNEgxMy44VjIyLjJDMTMuOCAxNS41NzI2IDguNDI3NDEgMTAuMiAxLjggMTAuMkgwVjQuNzk5OTlaIiBmaWxsPSJ1cmwoI3BhaW50M19yYWRpYWxfNDQyXzgyNykiLz4KICA8cGF0aCBkPSJNMTQuMzk5OSAyMi4ySDE5LjE5OTlWMjRIMTQuMzk5OVYyMi4yWiIgZmlsbD0idXJsKCNwYWludDRfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTIuMDk4MTVlLTA3IDkuNTk5OTlMMCA0Ljc5OTk5TDEuOCA0Ljc5OTk5TDEuOCA5LjU5OTk5SDIuMDk4MTVlLTA3WiIgZmlsbD0idXJsKCNwYWludDVfbGluZWFyXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTAgMTIuNkMwIDEzLjU5NDEgMC44MDU4ODcgMTQuNCAxLjggMTQuNEM2LjEwNzgyIDE0LjQgOS42IDE3Ljg5MjEgOS42IDIyLjJDOS42IDIzLjE5NDEgMTAuNDA1OSAyNCAxMS40IDI0SDE0LjRWMjIuMkMxNC40IDE1LjI0MTIgOC43NTg3OCA5LjU5OTk4IDEuOCA5LjU5OTk4SDBWMTIuNloiIGZpbGw9InVybCgjcGFpbnQ2X3JhZGlhbF80NDJfODI3KSIvPgogIDxwYXRoIGQ9Ik05LjYwMDEgMjIuMkgxNC40MDAxVjI0SDExLjQwMDFDMTAuNDA2IDI0IDkuNjAwMSAyMy4xOTQxIDkuNjAwMSAyMi4yWiIgZmlsbD0idXJsKCNwYWludDdfcmFkaWFsXzQ0Ml84MjcpIi8+CiAgPHBhdGggZD0iTTEuOCAxNC40QzAuODA1ODg3IDE0LjQgMS43NDU4OGUtMDcgMTMuNTk0MSAxLjMxMTM0ZS0wNyAxMi42TDAgOS41OTk5OEwxLjggOS41OTk5OEwxLjggMTQuNFoiIGZpbGw9InVybCgjcGFpbnQ4X3JhZGlhbF80NDJfODI3KSIvPgogIDxkZWZzPgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDBfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDIyLjIpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjc3MDI3NyIgc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfNDQyXzgyNyIgeDE9IjE4LjkiIHkxPSIyMy4xIiB4Mj0iMjMuOTk5OSIgeTI9IjIzLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNDAwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4NzU0QzkiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfNDQyXzgyNyIgeDE9IjAuOSIgeTE9Ii0zLjkzMzllLTA3IiB4Mj0iMC44OTk5OTgiIHkyPSI1LjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzg3NTRDOSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjQwMDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50M19yYWRpYWxfNDQyXzgyNyIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxLjggMjIuMikgcm90YXRlKC05MCkgc2NhbGUoMTcuNCkiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNzIzOTI5IiBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ0X2xpbmVhcl80NDJfODI3IiB4MT0iMTQuMzk5OSIgeTE9IjIzLjEiIHgyPSIxOS4xOTk5IiB5Mj0iMjMuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGNzAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGOTkwMSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQ1X2xpbmVhcl80NDJfODI3IiB4MT0iMC45MDAwMDEiIHkxPSI5LjU5OTk5IiB4Mj0iMC44OTk5OTkiIHkyPSI0Ljc5OTk5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY3MDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkY5OTAxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDZfcmFkaWFsXzQ0Ml84MjciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS44IDIyLjIpIHJvdGF0ZSgtOTApIHNjYWxlKDEyLjYpIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjU5NTEzIiBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ3X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzAwMSAyMy4xKSBzY2FsZSg1LjEgMTMuNikiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDBBQUZGIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxREE0MCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQ4X3JhZGlhbF80NDJfODI3IiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAuODk5OTk5IDE0LjcpIHJvdGF0ZSgtOTApIHNjYWxlKDUuMSA5Ni43MTEpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQUFGRiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMURBNDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=";
|
|
830
|
-
|
|
831
|
-
// src/wallets/connectors/rainbow/rainbow.ts
|
|
832
|
-
var rainbowWallet = ({ projectId, walletConnectParameters }) => {
|
|
833
|
-
const isRainbowInjected = hasInjectedProvider({ flag: "isRainbow" });
|
|
834
|
-
const getUri = (uri) => {
|
|
835
|
-
return isAndroid2() ? `rainbow://wc?uri=${encodeURIComponent(uri)}` : isIOS2() ? !isTelegram2() ? `rainbow://wc?uri=${encodeURIComponent(uri)}` : `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}` : `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}`;
|
|
836
|
-
};
|
|
837
|
-
return {
|
|
838
|
-
id: "rainbow",
|
|
839
|
-
name: "Rainbow",
|
|
840
|
-
rdns: "me.rainbow",
|
|
841
|
-
iconUrl: icon2,
|
|
842
|
-
installed: isRainbowInjected,
|
|
843
|
-
isExtension: true,
|
|
844
|
-
isMobile: true,
|
|
845
|
-
downloadUrl: "https://rainbow.me/",
|
|
846
|
-
getUri,
|
|
847
|
-
createConnector: isRainbowInjected ? getInjectedConnector({ flag: "isRainbow" }) : getWalletConnectConnector({
|
|
848
|
-
projectId,
|
|
849
|
-
walletConnectParameters
|
|
850
|
-
})
|
|
851
|
-
};
|
|
852
|
-
};
|
|
853
|
-
|
|
854
|
-
// src/wallets/connectors/walletConnect/walletConnectIcon.ts
|
|
855
|
-
var icon3 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNNC45MTMzIDYuOTM1NDFDOC44MjcxOCAzLjAyMTUzIDE1LjE3MjggMy4wMjE1MyAxOS4wODY3IDYuOTM1NDFMMTkuNTU3OCA3LjQwNjQ2QzE5Ljc1MzUgNy42MDIxNSAxOS43NTM1IDcuOTE5NDMgMTkuNTU3OCA4LjExNTEzTDE3Ljk0NjQgOS43MjY0N0MxNy44NDg2IDkuODI0MzIgMTcuNjg5OSA5LjgyNDMyIDE3LjU5MjEgOS43MjY0N0wxNi45NDM5IDkuMDc4MjZDMTQuMjEzNSA2LjM0Nzg0IDkuNzg2NTcgNi4zNDc4NCA3LjA1NjE0IDkuMDc4MjZMNi4zNjE5NiA5Ljc3MjQ0QzYuMjY0MTIgOS44NzAyOCA2LjEwNTQ4IDkuODcwMjggNi4wMDc2MyA5Ljc3MjQ0TDQuMzk2MjkgOC4xNjExQzQuMjAwNTkgNy45NjU0IDQuMjAwNTkgNy42NDgxMiA0LjM5NjI5IDcuNDUyNDNMNC45MTMzIDYuOTM1NDFaTTIyLjQxOTEgMTAuMjY3OEwyMy44NTMyIDExLjcwMTlDMjQuMDQ4OSAxMS44OTc2IDI0LjA0ODkgMTIuMjE0OSAyMy44NTMyIDEyLjQxMDZMMTcuMzg2OCAxOC44NzcyQzE3LjE5MTEgMTkuMDcyOCAxNi44NzM4IDE5LjA3MjkgMTYuNjc4MSAxOC44NzcyQzE2LjY3ODEgMTguODc3MiAxNi42NzgxIDE4Ljg3NzIgMTYuNjc4MSAxOC44NzcyTDEyLjA4ODYgMTQuMjg3N0MxMi4wMzk3IDE0LjIzODcgMTEuOTYwNCAxNC4yMzg3IDExLjkxMTUgMTQuMjg3N0MxMS45MTE1IDE0LjI4NzcgMTEuOTExNSAxNC4yODc3IDExLjkxMTUgMTQuMjg3N0w3LjMyMjA3IDE4Ljg3NzJDNy4xMjYzOCAxOS4wNzI4IDYuODA5MDkgMTkuMDcyOSA2LjYxMzQgMTguODc3MkM2LjYxMzQgMTguODc3MiA2LjYxMzM5IDE4Ljg3NzIgNi42MTMzOSAxOC44NzcyTDAuMTQ2NzcxIDEyLjQxMDVDLTAuMDQ4OTIzNiAxMi4yMTQ4IC0wLjA0ODkyMzYgMTEuODk3NSAwLjE0Njc3MSAxMS43MDE5TDEuNTgwODcgMTAuMjY3OEMxLjc3NjU2IDEwLjA3MjEgMi4wOTM4NSAxMC4wNzIxIDIuMjg5NTQgMTAuMjY3OEw2Ljg3OTEgMTQuODU3M0M2LjkyODAyIDE0LjkwNjIgNy4wMDczNCAxNC45MDYyIDcuMDU2MjYgMTQuODU3M0M3LjA1NjI2IDE0Ljg1NzMgNy4wNTYyNiAxNC44NTczIDcuMDU2MjcgMTQuODU3M0wxMS42NDU2IDEwLjI2NzhDMTEuODQxMyAxMC4wNzIxIDEyLjE1ODYgMTAuMDcyIDEyLjM1NDMgMTAuMjY3N0MxMi4zNTQzIDEwLjI2NzcgMTIuMzU0MyAxMC4yNjc3IDEyLjM1NDMgMTAuMjY3N0wxNi45NDM4IDE0Ljg1NzNDMTYuOTkyNyAxNC45MDYyIDE3LjA3MjEgMTQuOTA2MiAxNy4xMjEgMTQuODU3M0wyMS43MTA1IDEwLjI2NzhDMjEuOTA2MiAxMC4wNzIxIDIyLjIyMzQgMTAuMDcyMSAyMi40MTkxIDEwLjI2NzhaIiBmaWxsPSIjM0I5OUZDIi8+Cjwvc3ZnPg==";
|
|
856
|
-
|
|
857
|
-
// src/wallets/connectors/walletConnect/walletConnect.ts
|
|
858
|
-
var walletConnectWallet = ({ projectId, options }) => {
|
|
859
|
-
const getUri = (uri) => uri;
|
|
860
|
-
return {
|
|
861
|
-
id: "walletConnect",
|
|
862
|
-
name: "WalletConnect",
|
|
863
|
-
installed: void 0,
|
|
864
|
-
iconUrl: icon3,
|
|
865
|
-
isMobile: true,
|
|
866
|
-
getUri,
|
|
867
|
-
createConnector: getWalletConnectConnector({
|
|
868
|
-
projectId,
|
|
869
|
-
walletConnectParameters: options
|
|
870
|
-
})
|
|
871
|
-
};
|
|
872
|
-
};
|
|
873
|
-
|
|
874
|
-
// src/wallets/connectors/coinbase/coinbase.ts
|
|
875
|
-
import { createConnector as createConnector3 } from "wagmi";
|
|
876
|
-
import { coinbaseWallet as coinbaseWagmiWallet } from "wagmi/connectors";
|
|
877
|
-
|
|
878
|
-
// src/wallets/connectors/coinbase/coinbaseIcon.ts
|
|
879
|
-
var icon4 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDQyXzg1NCkiPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaTTguODMxNzUgOC4wODE2MkM4LjQxNzU0IDguMDgxNjIgOC4wODE3NSA4LjQxNzQxIDguMDgxNzUgOC44MzE2MlYxNS4xNjg0QzguMDgxNzUgMTUuNTgyNiA4LjQxNzU0IDE1LjkxODQgOC44MzE3NSAxNS45MTg0SDE1LjE2ODVDMTUuNTgyNyAxNS45MTg0IDE1LjkxODUgMTUuNTgyNiAxNS45MTg1IDE1LjE2ODRWOC44MzE2MkMxNS45MTg1IDguNDE3NDEgMTUuNTgyNyA4LjA4MTYyIDE1LjE2ODUgOC4wODE2Mkg4LjgzMTc1WiIgZmlsbD0iIzJDNUZGNiIvPgogIDwvZz4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfNDQyXzg1NCI+CiAgICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgo8L3N2Zz4=";
|
|
880
|
-
|
|
881
|
-
// src/wallets/connectors/coinbase/coinbase.ts
|
|
882
|
-
var coinbaseWallet = ({ appName, appIcon }) => {
|
|
883
|
-
const isCoinbaseInjected = hasInjectedProvider({ flag: "isCoinbaseWallet" });
|
|
884
|
-
const getUri = (uri) => uri;
|
|
885
|
-
return {
|
|
886
|
-
id: "coinbase",
|
|
887
|
-
name: "Coinbase Wallet",
|
|
888
|
-
rdns: "com.coinbase.wallet",
|
|
889
|
-
iconUrl: icon4,
|
|
890
|
-
// Note that we never resolve `installed` to `false` because the
|
|
891
|
-
// Coinbase Wallet SDK falls back to other connection methods if
|
|
892
|
-
// the injected connector isn't available
|
|
893
|
-
installed: isCoinbaseInjected,
|
|
894
|
-
isExtension: true,
|
|
895
|
-
isMobile: true,
|
|
896
|
-
downloadUrl: "https://www.coinbase.com/wallet/downloads",
|
|
897
|
-
getUri,
|
|
898
|
-
createConnector: (walletDetails) => createConnector3((config) => __spreadValues(__spreadValues({}, coinbaseWagmiWallet({
|
|
899
|
-
version: "4",
|
|
900
|
-
appName,
|
|
901
|
-
appLogoUrl: appIcon,
|
|
902
|
-
preference: "eoaOnly"
|
|
903
|
-
})(config)), walletDetails))
|
|
904
|
-
};
|
|
905
|
-
};
|
|
906
|
-
|
|
907
|
-
// src/wallets/connectors/zerion/zerion.ts
|
|
908
|
-
import { isIOS as isIOS3, isTelegram as isTelegram3 } from "@getpara/react-sdk";
|
|
909
|
-
|
|
910
|
-
// src/wallets/connectors/zerion/zerionIcon.ts
|
|
911
|
-
var icon5 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZmlsbD0iIzI5NjJFRiIgZD0iTTAgMGgyOHYyOEgweiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02LjA3MyA3Yy0uNDggMC0uNjY1LjU5My0uMjYyLjg0MWwxMC4wNzMgNi4wNzRhLjU3Ny41NzcgMCAwIDAgLjc1OC0uMTM5bDQuNDMtNS44MTRjLjMtLjQwNC0uMDA0LS45NjItLjUyNS0uOTYySDYuMDczWk0yMS45MDQgMjFjLjQ4IDAgLjY3LS41OTYuMjY3LS44NDRsLTEwLjA3NS02LjA3M2EuNTY5LjU2OSAwIDAgMC0uNzUxLjE0NmwtNC40MzcgNS44MTNjLS4zMDEuNDA0LjAxMi45NTguNTM0Ljk1OGgxNC40NjJaIi8+PC9zdmc+";
|
|
912
|
-
|
|
913
|
-
// src/wallets/connectors/zerion/zerion.ts
|
|
914
|
-
var zerionWallet = ({ projectId, walletConnectParameters }) => {
|
|
915
|
-
const isZerionInjected = hasInjectedProvider({
|
|
916
|
-
namespace: "zerionWallet",
|
|
917
|
-
flag: "isZerion"
|
|
918
|
-
});
|
|
919
|
-
const getUri = (uri) => {
|
|
920
|
-
return isTelegram3() && isIOS3() ? `https://app.zerion.io/wc?uri=${encodeURIComponent(uri)}` : `zerion://wc?uri=${encodeURIComponent(uri)}`;
|
|
921
|
-
};
|
|
922
|
-
return {
|
|
923
|
-
id: "zerion",
|
|
924
|
-
name: "Zerion",
|
|
925
|
-
rdns: "io.zerion.wallet",
|
|
926
|
-
iconUrl: icon5,
|
|
927
|
-
installed: isZerionInjected,
|
|
928
|
-
isExtension: true,
|
|
929
|
-
isMobile: true,
|
|
930
|
-
getUri,
|
|
931
|
-
downloadUrl: "https://zerion.io/download",
|
|
932
|
-
createConnector: isZerionInjected ? getInjectedConnector({
|
|
933
|
-
namespace: "zerionWallet",
|
|
934
|
-
flag: "isZerion"
|
|
935
|
-
}) : getWalletConnectConnector({
|
|
936
|
-
projectId,
|
|
937
|
-
walletConnectParameters
|
|
938
|
-
})
|
|
939
|
-
};
|
|
940
|
-
};
|
|
941
|
-
|
|
942
|
-
// src/wallets/connectors/rabby/rabbyIcon.ts
|
|
943
|
-
var icon6 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBmaWxsPSIjODY5N0ZGIiBkPSJNMjggMEgwdjI4aDI4VjBaIi8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTIyLjU0IDE1LjA3OGMuNjc3LTEuNTE0LTIuNjczLTUuNzQ0LTUuODc0LTcuNTA2LTIuMDE3LTEuMzY1LTQuMTItMS4xNzgtNC41NDUtLjU3OS0uOTM1IDEuMzE2IDMuMDk0IDIuNDMgNS43ODggMy43MzEtLjU4LjI1Mi0xLjEyNS43MDMtMS40NDYgMS4yOC0xLjAwNC0xLjA5Ni0zLjIwOS0yLjA0LTUuNzk2LTEuMjgtMS43NDMuNTEzLTMuMTkxIDEuNzIxLTMuNzUxIDMuNTQ2YTEuMDk3IDEuMDk3IDAgMSAwLS40NDUgMi4xYy4xMTIgMCAuNDYzLS4wNzUuNDYzLS4wNzVsNS42MTIuMDQxYy0yLjI0NCAzLjU2LTQuMDE4IDQuMDgxLTQuMDE4IDQuNjk4czEuNjk3LjQ1IDIuMzM1LjIyYzMuMDUtMS4xIDYuMzI3LTQuNTMxIDYuODktNS41MTkgMi4zNi4yOTUgNC4zNDUuMzMgNC43ODYtLjY1N1oiLz48cGF0aCBmaWxsPSJ1cmwoI2MpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xNy44ODUgMTAuNzEzLjAyNS4wMWMuMTI1LS4wNDkuMTA1LS4yMzMuMDctLjM3OC0uMDc4LS4zMzMtMS40MzgtMS42NzYtMi43MTUtMi4yNzctMS43NDMtLjgyLTMuMDI1LS43NzctMy4yMTItLjM5OC4zNTYuNzI2IDEuOTk4IDEuNDA4IDMuNzE0IDIuMTIuNzIzLjMgMS40Ni42MDYgMi4xMTguOTIzWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0idXJsKCNkKSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNzAxIDE4LjAzNmExMC4yOTYgMTAuMjk2IDAgMCAwLTEuMi0uMzdjLjQ4Mi0uODYyLjU4My0yLjEzOC4xMjgtMi45NDUtLjYzOS0xLjEzMy0xLjQ0LTEuNzM2LTMuMzA0LTEuNzM2LTEuMDI0IDAtMy43ODMuMzQ2LTMuODMyIDIuNjQ4LS4wMDUuMjQyIDAgLjQ2NC4wMTcuNjY3bDUuMDM2LjAzN2ExNy4yNjQgMTcuMjY0IDAgMCAxLTEuODcxIDIuNDgzYy42NjkuMTcyIDEuMjIxLjMxNiAxLjcyOC40NDguNDguMTI1LjkyLjI0IDEuMzguMzU3YTIxLjAwMyAyMS4wMDMgMCAwIDAgMS45MTgtMS41OVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9InVybCgjZSkiIGQ9Ik02Ljg0OCAxNi4wNjNjLjIwNiAxLjc1IDEuMiAyLjQzNSAzLjIzMiAyLjYzOCAyLjAzMi4yMDMgMy4xOTcuMDY3IDQuNzQ5LjIwOCAxLjI5Ni4xMTggMi40NTMuNzc4IDIuODgyLjU1LjM4Ni0uMjA1LjE3LS45NDctLjM0Ny0xLjQyMy0uNjctLjYxNy0xLjU5Ny0xLjA0Ni0zLjIyOS0xLjE5OS4zMjUtLjg5LjIzNC0yLjEzOC0uMjctMi44MTctLjczMS0uOTgyLTIuMDc5LTEuNDI2LTMuNzg1LTEuMjMyLTEuNzgyLjIwMi0zLjQ5IDEuMDgtMy4yMzIgMy4yNzVaIi8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjEwLjQ2NCIgeDI9IjIyLjM5NCIgeTE9IjEzLjczNyIgeTI9IjE3LjEyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMjAuMzg2IiB4Mj0iMTEuNzc5IiB5MT0iMTMuNTA5IiB5Mj0iNC44NzkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNzI1OERDIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNzk3REVBIiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZCIgeDE9IjE1Ljk0IiB4Mj0iNy42NzMiIHkxPSIxOC4zMzciIHkyPSIxMy41ODQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNzQ2MUVBIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQkZDMkZGIiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iZSIgeDE9IjExLjE3NyIgeDI9IjE2Ljc2NSIgeTE9IjEzLjY0OCIgeTI9IjIwLjc0OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii45ODQiIHN0b3AtY29sb3I9IiNENUNFRkYiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyOHYyOEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==";
|
|
944
|
-
|
|
945
|
-
// src/wallets/connectors/rabby/rabby.ts
|
|
946
|
-
var rabbyWallet = ({ projectId, walletConnectParameters }) => {
|
|
947
|
-
const isRabbyInjected = hasInjectedProvider({ flag: "isRabby" });
|
|
948
|
-
return {
|
|
949
|
-
id: "rabby",
|
|
950
|
-
name: "Rabby Wallet",
|
|
951
|
-
rdns: "io.rabby",
|
|
952
|
-
iconUrl: icon6,
|
|
953
|
-
installed: isRabbyInjected,
|
|
954
|
-
isExtension: true,
|
|
955
|
-
isMobile: false,
|
|
956
|
-
downloadUrl: "https://rabby.io",
|
|
957
|
-
createConnector: isRabbyInjected ? getInjectedConnector({ flag: "isRabby" }) : getWalletConnectConnector({
|
|
958
|
-
projectId,
|
|
959
|
-
walletConnectParameters
|
|
960
|
-
})
|
|
961
|
-
};
|
|
962
|
-
};
|
|
963
|
-
|
|
964
|
-
// src/wallets/connectors/safe/safe.ts
|
|
965
|
-
import { createConnector as createConnector4 } from "wagmi";
|
|
966
|
-
import { safe } from "wagmi/connectors";
|
|
967
|
-
|
|
968
|
-
// src/wallets/connectors/safe/safeIcon.ts
|
|
969
|
-
var icon7 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjMTJGRjgwIi8+CjxwYXRoIGQ9Ik0yMi41MTUxIDEzLjk5NzlIMjAuNDI0NEMxOS43OTgxIDEzLjk5NzkgMTkuMjk0NSAxNC41MDU4IDE5LjI5NDUgMTUuMTI4VjE4LjE2M0MxOS4yOTQ1IDE4Ljc4OTQgMTguNzg2NiAxOS4yOTMxIDE4LjE2NDUgMTkuMjkzMUg5LjgzOThDOS4yMTM0NCAxOS4yOTMxIDguNzA5ODEgMTkuODAxMSA4LjcwOTgxIDIwLjQyMzNWMjIuNTE4NUM4LjcwOTgxIDIzLjE0NSA5LjIxNzY3IDIzLjY0ODcgOS44Mzk4IDIzLjY0ODdIMTguNjQyN0MxOS4yNjkxIDIzLjY0ODcgMTkuNzY0MiAyMy4xNDA3IDE5Ljc2NDIgMjIuNTE4NVYyMC44NDIzQzE5Ljc2NDIgMjAuMjE1OSAyMC4yNzIxIDE5Ljc3NTcgMjAuODk0MiAxOS43NzU3SDIyLjUxNTFDMjMuMTQxNSAxOS43NzU3IDIzLjY0NTEgMTkuMjY3NyAyMy42NDUxIDE4LjY0NTVWMTUuMTE5NkMyMy42NDUxIDE0LjQ4ODkgMjMuMTM3MyAxMy45OTc5IDIyLjUxNTEgMTMuOTk3OVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjcwOTggOS44NDEyN0M4LjcwOTggOS4yMTQ4MSA5LjIxNzY2IDguNzExMTEgOS44Mzk3OCA4LjcxMTExSDE4LjE1NkMxOC43ODIzIDguNzExMTEgMTkuMjg2IDguMjAzMTcgMTkuMjg2IDcuNTgwOTVWNS40ODk5NUMxOS4yODYgNC44NjM0OSAxOC43NzgxIDQuMzU5NzkgMTguMTU2IDQuMzU5NzlIOS4zNTczMkM4LjczMDk2IDQuMzU5NzkgOC4yMjczMyA0Ljg2NzcyIDguMjI3MzMgNS40ODk5NVY3LjEwMjY0QzguMjI3MzMgNy43MjkxIDcuNzE5NDcgOC4yMzI4IDcuMDk3MzQgOC4yMzI4SDUuNDg5MTJDNC44NjI3NiA4LjIzMjggNC4zNTkxMyA4Ljc0MDc0IDQuMzU5MTMgOS4zNjI5NlYxMi44OTMxQzQuMzU5MTMgMTMuNTE5NiA0Ljg2Njk5IDEzLjk5NzkgNS40OTMzNSAxMy45OTc5SDcuNTg0MDRDOC4yMTA0IDEzLjk5NzkgOC43MTQwMyAxMy40ODk5IDguNzE0MDMgMTIuODY3N0w4LjcwOTggOS44NDEyN1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xMy4wMTM5IDExLjgwMTFIMTUuMDI0MkMxNS42ODAyIDExLjgwMTEgMTYuMjA5MiAxMi4zMzQ0IDE2LjIwOTIgMTIuOTg2MlYxNC45OTY4QzE2LjIwOTIgMTUuNjUyOSAxNS42NzU5IDE2LjE4MiAxNS4wMjQyIDE2LjE4MkgxMy4wMTM5QzEyLjM1NzkgMTYuMTgyIDExLjgyODkgMTUuNjQ4NyAxMS44Mjg5IDE0Ljk5NjhWMTIuOTg2MkMxMS44Mjg5IDEyLjMzMDIgMTIuMzYyMSAxMS44MDExIDEzLjAxMzkgMTEuODAxMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";
|
|
970
|
-
|
|
971
|
-
// src/wallets/connectors/safe/safe.ts
|
|
972
|
-
var safeWallet = () => ({
|
|
973
|
-
id: "safe",
|
|
974
|
-
name: "Safe",
|
|
975
|
-
rdns: "io.safe",
|
|
976
|
-
iconUrl: icon7,
|
|
977
|
-
installed: (
|
|
978
|
-
// Only allowed in iframe context
|
|
979
|
-
!(typeof window === "undefined") && (window == null ? void 0 : window.parent) !== window
|
|
980
|
-
),
|
|
981
|
-
isExtension: false,
|
|
982
|
-
isMobile: false,
|
|
983
|
-
downloadUrl: "https://safe.global",
|
|
984
|
-
createConnector: (walletDetails) => {
|
|
985
|
-
return createConnector4((config) => __spreadValues(__spreadValues({}, safe()(config)), walletDetails));
|
|
986
|
-
}
|
|
987
|
-
});
|
|
2
|
+
import "./chunk-MMUBH76A.js";
|
|
3
|
+
import { EvmExternalWalletProvider, EvmExternalWalletContext } from "./providers/EvmExternalWalletContext.js";
|
|
4
|
+
import { ParaEvmProvider } from "./providers/ParaEvmContext.js";
|
|
5
|
+
export * from "./wallets/connectors/index.js";
|
|
988
6
|
export {
|
|
989
7
|
EvmExternalWalletContext,
|
|
990
8
|
EvmExternalWalletProvider,
|
|
991
|
-
ParaEvmProvider
|
|
992
|
-
coinbaseWallet,
|
|
993
|
-
metaMaskWallet,
|
|
994
|
-
rabbyWallet,
|
|
995
|
-
rainbowWallet,
|
|
996
|
-
safeWallet,
|
|
997
|
-
walletConnectWallet,
|
|
998
|
-
zerionWallet
|
|
9
|
+
ParaEvmProvider
|
|
999
10
|
};
|