@getpara/solana-wallet-connectors 2.27.0 → 2.29.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/providers/SolanaExternalWalletContext.js +77 -19
- package/dist/wallets/connectors/backpack/backpack.js +1 -0
- package/dist/wallets/connectors/index.d.ts +2 -1
- package/dist/wallets/connectors/index.js +3 -1
- package/dist/wallets/connectors/phantom/phantom.js +1 -0
- package/dist/wallets/connectors/seedVault/seedVault.d.ts +2 -0
- package/dist/wallets/connectors/seedVault/seedVault.js +43 -0
- package/dist/wallets/connectors/seedVault/seedVaultIcon.d.ts +1 -0
- package/dist/wallets/connectors/seedVault/seedVaultIcon.js +5 -0
- package/dist/wallets/connectors/solflare/solflare.js +1 -0
- package/package.json +4 -4
|
@@ -42,7 +42,10 @@ import { jsx } from "react/jsx-runtime";
|
|
|
42
42
|
import { createContext, useEffect, useMemo, useRef, useState } from "react";
|
|
43
43
|
import { useWallet } from "@solana/wallet-adapter-react";
|
|
44
44
|
import { isIosAndRedirectable, WalletReadyState } from "@solana/wallet-adapter-base";
|
|
45
|
-
import {
|
|
45
|
+
import {
|
|
46
|
+
isAndroid,
|
|
47
|
+
isAndroidChrome
|
|
48
|
+
} from "@getpara/web-sdk";
|
|
46
49
|
import {
|
|
47
50
|
defaultSolanaExternalWallet
|
|
48
51
|
} from "@getpara/react-common";
|
|
@@ -112,16 +115,63 @@ function SolanaExternalWalletProvider({
|
|
|
112
115
|
return (_a = solanaAddressRef.current) == null ? void 0 : _a.toString();
|
|
113
116
|
}),
|
|
114
117
|
signMessage: (_0) => __async(this, [_0], function* ({ message }) {
|
|
115
|
-
var _a, _b, _c
|
|
116
|
-
|
|
118
|
+
var _a, _b, _c;
|
|
119
|
+
const resolveSignFn = () => {
|
|
120
|
+
var _a2;
|
|
121
|
+
if (solanaSignMessageRef.current) return solanaSignMessageRef.current;
|
|
122
|
+
if (solanaSignMessage) return solanaSignMessage;
|
|
123
|
+
const adapter = (_a2 = walletRef.current) == null ? void 0 : _a2.adapter;
|
|
124
|
+
if (adapter && typeof adapter.signMessage === "function") {
|
|
125
|
+
return adapter.signMessage.bind(adapter);
|
|
126
|
+
}
|
|
127
|
+
return void 0;
|
|
128
|
+
};
|
|
129
|
+
const snapshotState = () => {
|
|
130
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h;
|
|
131
|
+
return {
|
|
132
|
+
adapterName: (_b2 = (_a2 = walletRef.current) == null ? void 0 : _a2.adapter) == null ? void 0 : _b2.name,
|
|
133
|
+
adapterConnected: (_d = (_c2 = walletRef.current) == null ? void 0 : _c2.adapter) == null ? void 0 : _d.connected,
|
|
134
|
+
adapterHasPublicKey: !!((_f = (_e = walletRef.current) == null ? void 0 : _e.adapter) == null ? void 0 : _f.publicKey),
|
|
135
|
+
hasRefSignMessage: !!solanaSignMessageRef.current,
|
|
136
|
+
hasClosureSignMessage: !!solanaSignMessage,
|
|
137
|
+
hasAdapterSignMessage: typeof ((_h = (_g = walletRef.current) == null ? void 0 : _g.adapter) == null ? void 0 : _h.signMessage) === "function"
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
const waitForSignFn = () => __async(this, null, function* () {
|
|
117
141
|
const start = Date.now();
|
|
118
|
-
let fn = (
|
|
142
|
+
let fn = resolveSignFn();
|
|
119
143
|
while (!fn) {
|
|
120
144
|
if (Date.now() - start > SIGN_MESSAGE_REF_WAIT_MS) {
|
|
121
|
-
|
|
145
|
+
return void 0;
|
|
122
146
|
}
|
|
123
147
|
yield new Promise((resolve) => setTimeout(resolve, 100));
|
|
124
|
-
fn = (
|
|
148
|
+
fn = resolveSignFn();
|
|
149
|
+
}
|
|
150
|
+
return fn;
|
|
151
|
+
});
|
|
152
|
+
try {
|
|
153
|
+
let fn = yield waitForSignFn();
|
|
154
|
+
if (!fn) {
|
|
155
|
+
const adapter = (_a = walletRef.current) == null ? void 0 : _a.adapter;
|
|
156
|
+
if (adapter) {
|
|
157
|
+
const stateBefore = snapshotState();
|
|
158
|
+
console.warn(
|
|
159
|
+
"[Solana signMessage] sign fn unavailable after wait; attempting adapter.connect() recovery",
|
|
160
|
+
stateBefore
|
|
161
|
+
);
|
|
162
|
+
try {
|
|
163
|
+
if (!adapter.connected) {
|
|
164
|
+
yield adapter.connect();
|
|
165
|
+
}
|
|
166
|
+
fn = yield waitForSignFn();
|
|
167
|
+
} catch (reconnectErr) {
|
|
168
|
+
console.error("[Solana signMessage] reconnect attempt failed", reconnectErr, snapshotState());
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (!fn) {
|
|
173
|
+
console.error("[Solana signMessage] sign fn unavailable after recovery", snapshotState());
|
|
174
|
+
throw new Error("Solana signMessage unavailable");
|
|
125
175
|
}
|
|
126
176
|
const encodedMessage = new TextEncoder().encode(message);
|
|
127
177
|
const signature = yield fn(encodedMessage);
|
|
@@ -130,11 +180,11 @@ function SolanaExternalWalletProvider({
|
|
|
130
180
|
};
|
|
131
181
|
} catch (e) {
|
|
132
182
|
console.error(e);
|
|
133
|
-
if ((
|
|
183
|
+
if ((_b = e == null ? void 0 : e.message) == null ? void 0 : _b.includes("User rejected the request")) {
|
|
134
184
|
throw new Error("Signature request rejected");
|
|
135
185
|
}
|
|
136
|
-
console.error("Solana signature error:", e == null ? void 0 : e.message);
|
|
137
|
-
throw new Error(`Solana signMessage failed: ${(
|
|
186
|
+
console.error("Solana signature error:", e == null ? void 0 : e.message, snapshotState());
|
|
187
|
+
throw new Error(`Solana signMessage failed: ${(_c = e == null ? void 0 : e.message) != null ? _c : "unknown"}`);
|
|
138
188
|
}
|
|
139
189
|
}),
|
|
140
190
|
watchDisconnection: (callback) => {
|
|
@@ -266,7 +316,7 @@ function SolanaExternalWalletProvider({
|
|
|
266
316
|
throw e;
|
|
267
317
|
}
|
|
268
318
|
});
|
|
269
|
-
const connectCallback = (adapter) => {
|
|
319
|
+
const connectCallback = (adapter, walletName) => {
|
|
270
320
|
return () => __async(this, null, function* () {
|
|
271
321
|
var _a, _b, _c, _d;
|
|
272
322
|
let address;
|
|
@@ -275,7 +325,7 @@ function SolanaExternalWalletProvider({
|
|
|
275
325
|
} catch (e) {
|
|
276
326
|
throw e;
|
|
277
327
|
}
|
|
278
|
-
const providerName = adapter.name;
|
|
328
|
+
const providerName = walletName != null ? walletName : adapter.name;
|
|
279
329
|
const providerId = (_b = (_a = getWallet(providerName != null ? providerName : "")) == null ? void 0 : _a.id) != null ? _b : "";
|
|
280
330
|
solanaAddressRef.current = address;
|
|
281
331
|
return {
|
|
@@ -293,13 +343,15 @@ function SolanaExternalWalletProvider({
|
|
|
293
343
|
};
|
|
294
344
|
});
|
|
295
345
|
};
|
|
296
|
-
const connect = (adapter) => __async(this, null, function* () {
|
|
346
|
+
const connect = (adapter, walletName) => __async(this, null, function* () {
|
|
297
347
|
var _a;
|
|
298
348
|
if (isIosAndRedirectable() && !isInSolanaWalletDappBrowser()) {
|
|
299
349
|
return;
|
|
300
350
|
}
|
|
301
351
|
if (isAndroid() && (adapter == null ? void 0 : adapter.name) === "Mobile Wallet Adapter") {
|
|
302
|
-
return;
|
|
352
|
+
if (!isAndroidChrome()) return;
|
|
353
|
+
const tappedWallet = getWallet(walletName != null ? walletName : "");
|
|
354
|
+
if (!(tappedWallet == null ? void 0 : tappedWallet.mwaSupported)) return;
|
|
303
355
|
}
|
|
304
356
|
if (adapter && (wallet == null ? void 0 : wallet.adapter) && wallet.adapter.name !== adapter.name) {
|
|
305
357
|
yield disconnect();
|
|
@@ -310,7 +362,7 @@ function SolanaExternalWalletProvider({
|
|
|
310
362
|
let error;
|
|
311
363
|
let authState;
|
|
312
364
|
try {
|
|
313
|
-
authState = yield para.connectExternalWallet({ connect: connectCallback(adapter) });
|
|
365
|
+
authState = yield para.connectExternalWallet({ connect: connectCallback(adapter, walletName) });
|
|
314
366
|
address = (_a = authState.externalWallet) == null ? void 0 : _a.address;
|
|
315
367
|
} catch (err) {
|
|
316
368
|
switch (err.message) {
|
|
@@ -383,23 +435,29 @@ function SolanaExternalWalletProvider({
|
|
|
383
435
|
const createWallet = (walletFn) => {
|
|
384
436
|
const metaData = walletFn();
|
|
385
437
|
const adapter = getAdapter(metaData.name);
|
|
438
|
+
const isMwaOnAndroidChrome = !!metaData.mwaSupported && isAndroidChrome();
|
|
386
439
|
return __spreadProps(__spreadValues({
|
|
387
|
-
connect: () => connect(adapter),
|
|
388
|
-
connectMobile: () => connect(adapter),
|
|
440
|
+
connect: () => connect(adapter, metaData.name),
|
|
441
|
+
connectMobile: () => connect(adapter, metaData.name),
|
|
389
442
|
type: "SOLANA",
|
|
390
|
-
installed: adapter && ((adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Installed || (adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Loadable)
|
|
443
|
+
installed: isMwaOnAndroidChrome || adapter && ((adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Installed || (adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Loadable)
|
|
391
444
|
}, metaData), {
|
|
392
445
|
// Using name here since that's the only common id across the networks
|
|
393
446
|
id: metaData.name
|
|
394
447
|
});
|
|
395
448
|
};
|
|
396
|
-
const [wallets, setWallets] = useState(() =>
|
|
449
|
+
const [wallets, setWallets] = useState(() => {
|
|
450
|
+
const created = walletFns.map(createWallet);
|
|
451
|
+
if (isAndroidChrome()) return created;
|
|
452
|
+
return created.filter((w) => w.internalId !== "SEED_VAULT_WALLET");
|
|
453
|
+
});
|
|
397
454
|
useEffect(() => {
|
|
398
455
|
setWallets(
|
|
399
456
|
(prev) => prev.map((wallet2) => {
|
|
400
457
|
var _a;
|
|
401
458
|
const adapter = getAdapter((_a = wallet2.name) != null ? _a : "");
|
|
402
|
-
const
|
|
459
|
+
const isMwaOnAndroidChrome = !!wallet2.mwaSupported && isAndroidChrome();
|
|
460
|
+
const installed = isMwaOnAndroidChrome || !!adapter && (adapter.readyState === WalletReadyState.Installed || adapter.readyState === WalletReadyState.Loadable);
|
|
403
461
|
if (wallet2.installed !== installed) {
|
|
404
462
|
return __spreadProps(__spreadValues({}, wallet2), { installed });
|
|
405
463
|
}
|
|
@@ -30,6 +30,7 @@ const backpackWallet = () => {
|
|
|
30
30
|
isExtension: true,
|
|
31
31
|
isMobile: true,
|
|
32
32
|
hasIosSafariExtension: false,
|
|
33
|
+
mwaSupported: true,
|
|
33
34
|
getQrUri: () => __async(void 0, null, function* () {
|
|
34
35
|
if (typeof window !== "undefined" && isIosAndRedirectable()) {
|
|
35
36
|
const url = encodeURIComponent(window.location.href);
|
|
@@ -4,5 +4,6 @@ import { glowWallet } from './glow/glow.js';
|
|
|
4
4
|
import { backpackWallet } from './backpack/backpack.js';
|
|
5
5
|
import { solflareWallet } from './solflare/solflare.js';
|
|
6
6
|
import { metaMaskWallet } from './metaMask/metaMask.js';
|
|
7
|
-
|
|
7
|
+
import { seedVaultWallet } from './seedVault/seedVault.js';
|
|
8
|
+
export { farcasterWallet, phantomWallet, glowWallet, backpackWallet, solflareWallet, metaMaskWallet, seedVaultWallet };
|
|
8
9
|
export declare const allWallets: (() => import("../../types/Wallet.js").Wallet)[];
|
|
@@ -5,7 +5,8 @@ import { glowWallet } from "./glow/glow.js";
|
|
|
5
5
|
import { backpackWallet } from "./backpack/backpack.js";
|
|
6
6
|
import { solflareWallet } from "./solflare/solflare.js";
|
|
7
7
|
import { metaMaskWallet } from "./metaMask/metaMask.js";
|
|
8
|
-
|
|
8
|
+
import { seedVaultWallet } from "./seedVault/seedVault.js";
|
|
9
|
+
const allWallets = [phantomWallet, glowWallet, backpackWallet, solflareWallet, metaMaskWallet, seedVaultWallet];
|
|
9
10
|
export {
|
|
10
11
|
allWallets,
|
|
11
12
|
backpackWallet,
|
|
@@ -13,5 +14,6 @@ export {
|
|
|
13
14
|
glowWallet,
|
|
14
15
|
metaMaskWallet,
|
|
15
16
|
phantomWallet,
|
|
17
|
+
seedVaultWallet,
|
|
16
18
|
solflareWallet
|
|
17
19
|
};
|
|
@@ -30,6 +30,7 @@ const phantomWallet = () => {
|
|
|
30
30
|
isExtension: true,
|
|
31
31
|
isMobile: true,
|
|
32
32
|
hasIosSafariExtension: false,
|
|
33
|
+
mwaSupported: true,
|
|
33
34
|
getQrUri: () => __async(void 0, null, function* () {
|
|
34
35
|
if (typeof window !== "undefined" && isIosAndRedirectable()) {
|
|
35
36
|
const url = encodeURIComponent(window.location.href);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __async = (__this, __arguments, generator) => {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
var fulfilled = (value) => {
|
|
5
|
+
try {
|
|
6
|
+
step(generator.next(value));
|
|
7
|
+
} catch (e) {
|
|
8
|
+
reject(e);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var rejected = (value) => {
|
|
12
|
+
try {
|
|
13
|
+
step(generator.throw(value));
|
|
14
|
+
} catch (e) {
|
|
15
|
+
reject(e);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
19
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { icon } from "./seedVaultIcon.js";
|
|
23
|
+
const seedVaultWallet = () => {
|
|
24
|
+
return {
|
|
25
|
+
id: "seed_vault_wallet",
|
|
26
|
+
internalId: "SEED_VAULT_WALLET",
|
|
27
|
+
name: "Seed Vault Wallet",
|
|
28
|
+
iconUrl: icon,
|
|
29
|
+
isExtension: false,
|
|
30
|
+
isMobile: true,
|
|
31
|
+
hasIosSafariExtension: false,
|
|
32
|
+
mwaSupported: true,
|
|
33
|
+
// No QR / universal-link path: Seed Vault Wallet has no in-app browser and
|
|
34
|
+
// no `window.solana` injection. MWA is the only entry point.
|
|
35
|
+
getQrUri: () => __async(void 0, null, function* () {
|
|
36
|
+
return "";
|
|
37
|
+
}),
|
|
38
|
+
downloadUrl: "https://solanamobile.com/seeker"
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
seedVaultWallet
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const icon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyNDUgMjQ1IiBmaWxsPSJub25lIj48Y2lyY2xlIGN4PSIxMjIuNSIgY3k9IjEyMi41IiByPSIxMjIuNSIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Ik0xMjIuNSAwQzE5MC4xNTUgMCAyNDUgNTQuODQ1MSAyNDUgMTIyLjVDMjQ1IDE5MC4xNTUgMTkwLjE1NSAyNDUgMTIyLjUgMjQ1QzU1LjAxMTkgMjQ1IDAuMjcyMzYgMTkwLjQyNSAwLjAwMjkyOTY5IDEyM0gwQzAgMTIyLjkzNiAwLjAwMDcyMDUyIDEyMi44NzIgMC4wMDA5NzY1NjIgMTIyLjgwOEMwLjAwMDcyNDU4OCAxMjIuNzA1IDAgMTIyLjYwMyAwIDEyMi41QzAgNTQuODQ1MSA1NC44NDUxIDAgMTIyLjUgMFpNMTIyLjUgMjBDODQuOTY4MiAyMCA1Mi4xNDc2IDQwLjE3MTkgMzQuMjg5MSA3MC4yNjU2QzU2LjU3MTEgNTUuOTIyOCA4Ny44NTU5IDQ3IDEyMi41IDQ3QzEzNy4zNjQgNDcgMTUwLjY3IDQ5LjQ5NjEgMTY0IDU1QzE3Ny4zMyA2MC41MDM5IDE4OC43MTggNzAuOTQxIDE5NS43OTMgODQuNTkyOEMxNzcuNDEgNzQuMDIwMiAxNTEuNzAxIDY3IDEyMi41IDY3QzkxLjc5NDEgNjcgNjQuOTQ3OSA3NC43NjE4IDQ2LjQyMjkgODYuMjU0OUMzMi44MzEzIDk0LjY4NzIgMjUuMDkzNSAxMDQuMDg2IDIxLjg0MDggMTEzSDY2VjEzM0gyMC41MzEyQzI1Ljc4OTUgMTg0LjY3NyA2OS40MzU3IDIyNSAxMjIuNSAyMjVDMTU5LjQ0IDIyNSAxOTEuODE0IDIwNS40NTkgMjA5Ljg1MyAxNzYuMTVDMTg3LjYxNCAxOTAuMjQ5IDE1Ni42MDEgMTk5IDEyMi4yOTMgMTk5QzEwNy40MjkgMTk5IDk0LjEyMzQgMTk2LjUwNCA4MC43OTMgMTkxQzY3LjQ2MjUgMTg1LjQ5NiA1Ni4wNzUyIDE3NS4wNTkgNDkgMTYxLjQwN0M2Ny4zODI2IDE3MS45OCA5My4wOTIzIDE3OSAxMjIuMjkzIDE3OUMxNTIuOTk5IDE3OSAxNzkuODQ1IDE3MS4yMzggMTk4LjM3IDE1OS43NDVDMjExLjk2MiAxNTEuMzEzIDIxOS42OTkgMTQxLjkxNCAyMjIuOTUyIDEzM0gxNzlWMTEzSDIyNC41NjNDMjE5Ljc3IDYwLjg0NDYgMTc1LjkwNiAyMCAxMjIuNSAyMFpNMTIyLjUgODZDMTQyLjY1OCA4NiAxNTkgMTAyLjM0MiAxNTkgMTIyLjVDMTU5IDE0Mi42NTggMTQyLjY1OCAxNTkgMTIyLjUgMTU5QzEwMi4zNDIgMTU5IDg2IDE0Mi42NTggODYgMTIyLjVDODYgMTAyLjM0MiAxMDIuMzQyIDg2IDEyMi41IDg2Wk0xMjIuNSAxMDZDMTEzLjM4NyAxMDYgMTA2IDExMy4zODcgMTA2IDEyMi41QzEwNiAxMzEuNjEzIDExMy4zODcgMTM5IDEyMi41IDEzOUMxMzEuNjEzIDEzOSAxMzkgMTMxLjYxMyAxMzkgMTIyLjVDMTM5IDExMy4zODcgMTMxLjYxMyAxMDYgMTIyLjUgMTA2WiIgZmlsbD0iI0ZGRkZGRiIvPjwvc3ZnPgo=";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const icon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyNDUgMjQ1IiBmaWxsPSJub25lIj48Y2lyY2xlIGN4PSIxMjIuNSIgY3k9IjEyMi41IiByPSIxMjIuNSIgZmlsbD0iIzAwMDAwMCIvPjxwYXRoIGQ9Ik0xMjIuNSAwQzE5MC4xNTUgMCAyNDUgNTQuODQ1MSAyNDUgMTIyLjVDMjQ1IDE5MC4xNTUgMTkwLjE1NSAyNDUgMTIyLjUgMjQ1QzU1LjAxMTkgMjQ1IDAuMjcyMzYgMTkwLjQyNSAwLjAwMjkyOTY5IDEyM0gwQzAgMTIyLjkzNiAwLjAwMDcyMDUyIDEyMi44NzIgMC4wMDA5NzY1NjIgMTIyLjgwOEMwLjAwMDcyNDU4OCAxMjIuNzA1IDAgMTIyLjYwMyAwIDEyMi41QzAgNTQuODQ1MSA1NC44NDUxIDAgMTIyLjUgMFpNMTIyLjUgMjBDODQuOTY4MiAyMCA1Mi4xNDc2IDQwLjE3MTkgMzQuMjg5MSA3MC4yNjU2QzU2LjU3MTEgNTUuOTIyOCA4Ny44NTU5IDQ3IDEyMi41IDQ3QzEzNy4zNjQgNDcgMTUwLjY3IDQ5LjQ5NjEgMTY0IDU1QzE3Ny4zMyA2MC41MDM5IDE4OC43MTggNzAuOTQxIDE5NS43OTMgODQuNTkyOEMxNzcuNDEgNzQuMDIwMiAxNTEuNzAxIDY3IDEyMi41IDY3QzkxLjc5NDEgNjcgNjQuOTQ3OSA3NC43NjE4IDQ2LjQyMjkgODYuMjU0OUMzMi44MzEzIDk0LjY4NzIgMjUuMDkzNSAxMDQuMDg2IDIxLjg0MDggMTEzSDY2VjEzM0gyMC41MzEyQzI1Ljc4OTUgMTg0LjY3NyA2OS40MzU3IDIyNSAxMjIuNSAyMjVDMTU5LjQ0IDIyNSAxOTEuODE0IDIwNS40NTkgMjA5Ljg1MyAxNzYuMTVDMTg3LjYxNCAxOTAuMjQ5IDE1Ni42MDEgMTk5IDEyMi4yOTMgMTk5QzEwNy40MjkgMTk5IDk0LjEyMzQgMTk2LjUwNCA4MC43OTMgMTkxQzY3LjQ2MjUgMTg1LjQ5NiA1Ni4wNzUyIDE3NS4wNTkgNDkgMTYxLjQwN0M2Ny4zODI2IDE3MS45OCA5My4wOTIzIDE3OSAxMjIuMjkzIDE3OUMxNTIuOTk5IDE3OSAxNzkuODQ1IDE3MS4yMzggMTk4LjM3IDE1OS43NDVDMjExLjk2MiAxNTEuMzEzIDIxOS42OTkgMTQxLjkxNCAyMjIuOTUyIDEzM0gxNzlWMTEzSDIyNC41NjNDMjE5Ljc3IDYwLjg0NDYgMTc1LjkwNiAyMCAxMjIuNSAyMFpNMTIyLjUgODZDMTQyLjY1OCA4NiAxNTkgMTAyLjM0MiAxNTkgMTIyLjVDMTU5IDE0Mi42NTggMTQyLjY1OCAxNTkgMTIyLjUgMTU5QzEwMi4zNDIgMTU5IDg2IDE0Mi42NTggODYgMTIyLjVDODYgMTAyLjM0MiAxMDIuMzQyIDg2IDEyMi41IDg2Wk0xMjIuNSAxMDZDMTEzLjM4NyAxMDYgMTA2IDExMy4zODcgMTA2IDEyMi41QzEwNiAxMzEuNjEzIDExMy4zODcgMTM5IDEyMi41IDEzOUMxMzEuNjEzIDEzOSAxMzkgMTMxLjYxMyAxMzkgMTIyLjVDMTM5IDExMy4zODcgMTMxLjYxMyAxMDYgMTIyLjUgMTA2WiIgZmlsbD0iI0ZGRkZGRiIvPjwvc3ZnPgo=";
|
|
3
|
+
export {
|
|
4
|
+
icon
|
|
5
|
+
};
|
|
@@ -30,6 +30,7 @@ const solflareWallet = () => {
|
|
|
30
30
|
isExtension: true,
|
|
31
31
|
isMobile: true,
|
|
32
32
|
hasIosSafariExtension: false,
|
|
33
|
+
mwaSupported: true,
|
|
33
34
|
getQrUri: () => __async(void 0, null, function* () {
|
|
34
35
|
if (typeof window !== "undefined" && isIosAndRedirectable()) {
|
|
35
36
|
const url = encodeURIComponent(window.location.href);
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpara/solana-wallet-connectors",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.29.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@getpara/react-common": "2.
|
|
6
|
-
"@getpara/web-sdk": "2.
|
|
5
|
+
"@getpara/react-common": "2.29.0",
|
|
6
|
+
"@getpara/web-sdk": "2.29.0",
|
|
7
7
|
"bs58": "^6.0.0"
|
|
8
8
|
},
|
|
9
9
|
"devDependencies": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dist",
|
|
24
24
|
"package.json"
|
|
25
25
|
],
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "3fe797a65534cf466471441317763b1cef00b5b5",
|
|
27
27
|
"main": "dist/index.js",
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@farcaster/mini-app-solana": "^1.0.5",
|