@getpara/solana-wallet-connectors 2.0.0-alpha.21 → 2.0.0-alpha.23

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SolanaExternalWalletContext } from './providers/SolanaExternalWalletContext.js';
2
- export { type SolanaExternalWalletContextType, defaultSolanaExternalWallet, } from './providers/SolanaExternalWalletContext.js';
2
+ export { type SolanaExternalWalletContextType } from './providers/SolanaExternalWalletContext.js';
3
3
  export { ParaSolanaProvider } from './providers/ParaSolanaProvider.js';
4
4
  export type { ParaSolanaProviderConfig, ParaSolanaProviderProps } from './providers/ParaSolanaProvider.js';
5
5
  export * from './wallets/connectors/index.js';
package/dist/index.js CHANGED
@@ -1,12 +1,8 @@
1
1
  "use client";
2
2
  import { SolanaExternalWalletContext } from "./providers/SolanaExternalWalletContext.js";
3
- import {
4
- defaultSolanaExternalWallet
5
- } from "./providers/SolanaExternalWalletContext.js";
6
3
  import { ParaSolanaProvider } from "./providers/ParaSolanaProvider.js";
7
4
  export * from "./wallets/connectors/index.js";
8
5
  export {
9
6
  ParaSolanaProvider,
10
- SolanaExternalWalletContext,
11
- defaultSolanaExternalWallet
7
+ SolanaExternalWalletContext
12
8
  };
@@ -1,15 +1,6 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { ExternalWalletInfo } from '@getpara/web-sdk';
3
2
  import { CreateWalletFn } from '../types/Wallet.js';
4
3
  import { ExternalWalletContextType, ExternalWalletProviderConfig, ExternalWalletProviderConfigBase } from '@getpara/react-common';
5
- export declare const defaultSolanaExternalWallet: {
6
- wallets: any[];
7
- disconnect: () => Promise<void>;
8
- signMessage: () => Promise<{}>;
9
- signVerificationMessage: () => Promise<{}>;
10
- requestInfo: () => Promise<ExternalWalletInfo>;
11
- disconnectBase: () => Promise<void>;
12
- };
13
4
  export type SolanaExternalWalletContextType = ExternalWalletContextType;
14
5
  export declare const SolanaExternalWalletContext: import("react").Context<SolanaExternalWalletContextType>;
15
6
  export type SolanaExternalWalletProviderConfig = ExternalWalletProviderConfigBase;
@@ -39,15 +39,10 @@ import { jsx } from "react/jsx-runtime";
39
39
  import { createContext, useEffect, useMemo, useRef } from "react";
40
40
  import { useWallet } from "@solana/wallet-adapter-react";
41
41
  import { isIosAndRedirectable, WalletReadyState } from "@solana/wallet-adapter-base";
42
+ import {
43
+ defaultSolanaExternalWallet
44
+ } from "@getpara/react-common";
42
45
  import bs58 from "bs58";
43
- const defaultSolanaExternalWallet = {
44
- wallets: [],
45
- disconnect: () => Promise.resolve(),
46
- signMessage: () => Promise.resolve({}),
47
- signVerificationMessage: () => Promise.resolve({}),
48
- requestInfo: () => Promise.resolve({}),
49
- disconnectBase: () => Promise.resolve()
50
- };
51
46
  const SolanaExternalWalletContext = createContext(defaultSolanaExternalWallet);
52
47
  function SolanaExternalWalletProvider({
53
48
  children,
@@ -169,6 +164,7 @@ function SolanaExternalWalletProvider({
169
164
  if (e.message.includes("User rejected the request")) {
170
165
  return { error: "Signature request rejected" };
171
166
  }
167
+ console.error("Solana signature error:", e.message);
172
168
  return { error: "An unknown error occurred" };
173
169
  }
174
170
  });
@@ -182,13 +178,32 @@ function SolanaExternalWalletProvider({
182
178
  }
183
179
  selectWallet(adapter.name);
184
180
  yield new Promise((resolve) => setTimeout(resolve, 100));
181
+ let address;
182
+ let error;
185
183
  try {
186
184
  yield adapter.connect();
187
- yield new Promise((resolve) => setTimeout(resolve, 100));
188
- while (!adapter.publicKey) {
189
- yield new Promise((resolve) => setTimeout(resolve, 100));
185
+ if (adapter.publicKey) {
186
+ address = adapter.publicKey.toString();
187
+ } else {
188
+ yield new Promise((resolve, reject) => {
189
+ adapter.once("connect", () => __async(this, null, function* () {
190
+ try {
191
+ address = adapter.publicKey.toString();
192
+ resolve();
193
+ } catch (err) {
194
+ reject(err);
195
+ }
196
+ }));
197
+ adapter.once("error", (err) => {
198
+ error = (err == null ? void 0 : err.message) || "An unknown error occurred";
199
+ reject(err);
200
+ });
201
+ adapter.once("disconnect", () => {
202
+ error = "Disconnected before connect event";
203
+ reject(new Error(error));
204
+ });
205
+ });
190
206
  }
191
- const address = adapter.publicKey.toString();
192
207
  return address;
193
208
  } catch (e) {
194
209
  console.error(e);
@@ -226,6 +241,7 @@ function SolanaExternalWalletProvider({
226
241
  break;
227
242
  }
228
243
  default: {
244
+ console.error("Solana connection error:", err.message);
229
245
  error = "An unknown error occurred";
230
246
  break;
231
247
  }
@@ -295,6 +311,5 @@ function SolanaExternalWalletProvider({
295
311
  }
296
312
  export {
297
313
  SolanaExternalWalletContext,
298
- SolanaExternalWalletProvider,
299
- defaultSolanaExternalWallet
314
+ SolanaExternalWalletProvider
300
315
  };
@@ -0,0 +1 @@
1
+ export declare const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE5MDMxXzE3MTgwOSkiPgo8cGF0aCBkPSJNMjIuNDI4MSAyMi4zNDUzTDE3LjI1ODUgMjAuODA2MUwxMy4zNiAyMy4xMzY2TDEwLjYzOTggMjMuMTM1NEw2LjczODk5IDIwLjgwNjFMMS41NzE3IDIyLjM0NTNMMCAxNy4wMzkxTDEuNTcxODcgMTEuMTVMMCA2LjE3MTAyTDEuNTcxODcgMEw5LjY0NjA4IDQuODIzOTdIMTQuMzUzOEwyMi40MjgxIDBMMjQgNi4xNzEwMkwyMi40MjgxIDExLjE1TDI0IDE3LjAzOTFMMjIuNDI4MSAyMi4zNDUzWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMS41NzI4OCAwTDkuNjQ3MjUgNC44MjczNUw5LjMyNjI1IDguMTQwM0wxLjU3Mjg4IDBaTTYuNzQwMzMgMTcuMDQxM0wxMC4yOTMgMTkuNzQ3NUw2Ljc0MDMzIDIwLjgwNTlWMTcuMDQxM1pNMTAuMDA5IDEyLjU2N0w5LjMyNjI1IDguMTQyNjdMNC45NTU2NCAxMS4xNTE0TDQuOTUzMjcgMTEuMTUwMlYxMS4xNTI0TDQuOTY2NzkgMTQuMjQ5M0w2LjczOTE0IDEyLjU2NzJMMTAuMDA5IDEyLjU2N1pNMjIuNDI4MSAwTDE0LjM1MzcgNC44MjczNUwxNC42NzM3IDguMTQwM0wyMi40MjgxIDBaTTE3LjI2MDggMTcuMDQxM0wxMy43MDggMTkuNzQ3NUwxNy4yNjA4IDIwLjgwNTlWMTcuMDQxM1pNMTkuMDQ2NyAxMS4xNTIyVjExLjE1TDE5LjA0NTcgMTEuMTUxMkwxNC42NzQ5IDguMTQyNjdMMTMuOTkyMiAxMi41NjdIMTcuMjYwN0wxOS4wMzQyIDE0LjI0ODlMMTkuMDQ2NyAxMS4xNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNNi43MzkxNiAyMC44MDU5TDEuNTcxODcgMjIuMzQ1MUwwIDE3LjA0MTNINi43MzkxNlYyMC44MDU5Wk0xMC4wMDc4IDEyLjU2NThMMTAuOTk0OCAxOC45NjIyTDkuNjI2ODEgMTUuNDA1N0w0Ljk2NDYxIDE0LjI0ODlMNi43Mzc5NyAxMi41NjZMMTAuMDA3OCAxMi41NjU4Wk0xNy4yNjA3IDIwLjgwNTlMMjIuNDI4MSAyMi4zNDUxTDI0IDE3LjA0MTFIMTcuMjYwN0MxNy4yNjA3IDE3LjA0MTMgMTcuMjYwNyAyMC44MDU5IDE3LjI2MDcgMjAuODA1OVpNMTMuOTkyMiAxMi41NjU4TDEzLjAwNTIgMTguOTYyMkwxNC4zNzMgMTUuNDA1N0wxOS4wMzU2IDE0LjI0ODlMMTcuMjYxIDEyLjU2NkwxMy45OTIyIDEyLjU2NThaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0wIDE3LjAzOTFMMS41NzE4NyAxMS4xNUg0Ljk1MjFMNC45NjQ0NCAxNC4yNDc5TDkuNjI3MTUgMTUuNDA0N0wxMC45OTUgMTguOTYxTDEwLjI5MTggMTkuNzQ0Mkw2LjczOTE2IDE3LjAzNzlIMFYxNy4wMzkxWk0yNCAxNy4wMzkxTDIyLjQyODEgMTEuMTVIMTkuMDQ3N0wxOS4wMzU0IDE0LjI0NzlMMTQuMzczIDE1LjQwNDdMMTMuMDA1IDE4Ljk2MUwxMy43MDggMTkuNzQ0MkwxNy4yNjA4IDE3LjAzNzlIMjRWMTcuMDM5MVpNMTQuMzUzOCA0LjgyMzk3SDkuNjQ2MDhMOS4zMjY0MyA4LjEzNjkyTDEwLjk5NTIgMTguOTU3NUgxMy4wMDUyTDE0LjY3NDkgOC4xMzY5MkwxNC4zNTM4IDQuODIzOTdaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0xLjU3MTg3IDBMMCA2LjE3MTAyTDEuNTcxODcgMTEuMTVINC45NTIxTDkuMzI1MDggOC4xNDA0N0wxLjU3MTg3IDBaTTkuMDMwOTUgMTMuODUwNUg3LjQ5OTY1TDYuNjY1OTYgMTQuNjY3OEw5LjYyODE2IDE1LjQwMjFMOS4wMzA5NSAxMy44NDkzVjEzLjg1MDVaTTIyLjQyODEgMEwyNCA2LjE3MTAyTDIyLjQyODEgMTEuMTVIMTkuMDQ3N0wxNC42NzQ5IDguMTQwNDdMMjIuNDI4MSAwWk0xNC45NzEyIDEzLjg1MDVIMTYuNTA0N0wxNy4zMzg0IDE0LjY2ODhMMTQuMzcyOSAxNS40MDQ3TDE0Ljk3MTIgMTMuODQ5M1YxMy44NTA1Wk0xMy4zNTg4IDIxLjAyNTZMMTMuNzA4MiAxOS43NDY1TDEzLjAwNSAxOC45NjM0SDEwLjk5MzVMMTAuMjkwNCAxOS43NDY1TDEwLjYzOTcgMjEuMDI1NiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTMuMzU4OSAyMS4wMjU1VjIzLjEzNzZIMTAuNjQwMVYyMS4wMjU1SDEzLjM1ODlaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik02Ljc0MDM2IDIwLjgwMzdMMTAuNjQyMiAyMy4xMzY0VjIxLjAyNDNMMTAuMjkyOCAxOS43NDUzTDYuNzQwMzYgMjAuODAzN1pNMTcuMjYwOSAyMC44MDM3TDEzLjM1ODggMjMuMTM2NFYyMS4wMjQzTDEzLjcwODIgMTkuNzQ1M0wxNy4yNjA5IDIwLjgwMzdaIiBmaWxsPSIjRTdFQkY2Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTkwMzFfMTcxODA5Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=";
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE5MDMxXzE3MTgwOSkiPgo8cGF0aCBkPSJNMjIuNDI4MSAyMi4zNDUzTDE3LjI1ODUgMjAuODA2MUwxMy4zNiAyMy4xMzY2TDEwLjYzOTggMjMuMTM1NEw2LjczODk5IDIwLjgwNjFMMS41NzE3IDIyLjM0NTNMMCAxNy4wMzkxTDEuNTcxODcgMTEuMTVMMCA2LjE3MTAyTDEuNTcxODcgMEw5LjY0NjA4IDQuODIzOTdIMTQuMzUzOEwyMi40MjgxIDBMMjQgNi4xNzEwMkwyMi40MjgxIDExLjE1TDI0IDE3LjAzOTFMMjIuNDI4MSAyMi4zNDUzWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMS41NzI4OCAwTDkuNjQ3MjUgNC44MjczNUw5LjMyNjI1IDguMTQwM0wxLjU3Mjg4IDBaTTYuNzQwMzMgMTcuMDQxM0wxMC4yOTMgMTkuNzQ3NUw2Ljc0MDMzIDIwLjgwNTlWMTcuMDQxM1pNMTAuMDA5IDEyLjU2N0w5LjMyNjI1IDguMTQyNjdMNC45NTU2NCAxMS4xNTE0TDQuOTUzMjcgMTEuMTUwMlYxMS4xNTI0TDQuOTY2NzkgMTQuMjQ5M0w2LjczOTE0IDEyLjU2NzJMMTAuMDA5IDEyLjU2N1pNMjIuNDI4MSAwTDE0LjM1MzcgNC44MjczNUwxNC42NzM3IDguMTQwM0wyMi40MjgxIDBaTTE3LjI2MDggMTcuMDQxM0wxMy43MDggMTkuNzQ3NUwxNy4yNjA4IDIwLjgwNTlWMTcuMDQxM1pNMTkuMDQ2NyAxMS4xNTIyVjExLjE1TDE5LjA0NTcgMTEuMTUxMkwxNC42NzQ5IDguMTQyNjdMMTMuOTkyMiAxMi41NjdIMTcuMjYwN0wxOS4wMzQyIDE0LjI0ODlMMTkuMDQ2NyAxMS4xNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNNi43MzkxNiAyMC44MDU5TDEuNTcxODcgMjIuMzQ1MUwwIDE3LjA0MTNINi43MzkxNlYyMC44MDU5Wk0xMC4wMDc4IDEyLjU2NThMMTAuOTk0OCAxOC45NjIyTDkuNjI2ODEgMTUuNDA1N0w0Ljk2NDYxIDE0LjI0ODlMNi43Mzc5NyAxMi41NjZMMTAuMDA3OCAxMi41NjU4Wk0xNy4yNjA3IDIwLjgwNTlMMjIuNDI4MSAyMi4zNDUxTDI0IDE3LjA0MTFIMTcuMjYwN0MxNy4yNjA3IDE3LjA0MTMgMTcuMjYwNyAyMC44MDU5IDE3LjI2MDcgMjAuODA1OVpNMTMuOTkyMiAxMi41NjU4TDEzLjAwNTIgMTguOTYyMkwxNC4zNzMgMTUuNDA1N0wxOS4wMzU2IDE0LjI0ODlMMTcuMjYxIDEyLjU2NkwxMy45OTIyIDEyLjU2NThaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0wIDE3LjAzOTFMMS41NzE4NyAxMS4xNUg0Ljk1MjFMNC45NjQ0NCAxNC4yNDc5TDkuNjI3MTUgMTUuNDA0N0wxMC45OTUgMTguOTYxTDEwLjI5MTggMTkuNzQ0Mkw2LjczOTE2IDE3LjAzNzlIMFYxNy4wMzkxWk0yNCAxNy4wMzkxTDIyLjQyODEgMTEuMTVIMTkuMDQ3N0wxOS4wMzU0IDE0LjI0NzlMMTQuMzczIDE1LjQwNDdMMTMuMDA1IDE4Ljk2MUwxMy43MDggMTkuNzQ0MkwxNy4yNjA4IDE3LjAzNzlIMjRWMTcuMDM5MVpNMTQuMzUzOCA0LjgyMzk3SDkuNjQ2MDhMOS4zMjY0MyA4LjEzNjkyTDEwLjk5NTIgMTguOTU3NUgxMy4wMDUyTDE0LjY3NDkgOC4xMzY5MkwxNC4zNTM4IDQuODIzOTdaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0xLjU3MTg3IDBMMCA2LjE3MTAyTDEuNTcxODcgMTEuMTVINC45NTIxTDkuMzI1MDggOC4xNDA0N0wxLjU3MTg3IDBaTTkuMDMwOTUgMTMuODUwNUg3LjQ5OTY1TDYuNjY1OTYgMTQuNjY3OEw5LjYyODE2IDE1LjQwMjFMOS4wMzA5NSAxMy44NDkzVjEzLjg1MDVaTTIyLjQyODEgMEwyNCA2LjE3MTAyTDIyLjQyODEgMTEuMTVIMTkuMDQ3N0wxNC42NzQ5IDguMTQwNDdMMjIuNDI4MSAwWk0xNC45NzEyIDEzLjg1MDVIMTYuNTA0N0wxNy4zMzg0IDE0LjY2ODhMMTQuMzcyOSAxNS40MDQ3TDE0Ljk3MTIgMTMuODQ5M1YxMy44NTA1Wk0xMy4zNTg4IDIxLjAyNTZMMTMuNzA4MiAxOS43NDY1TDEzLjAwNSAxOC45NjM0SDEwLjk5MzVMMTAuMjkwNCAxOS43NDY1TDEwLjYzOTcgMjEuMDI1NiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTMuMzU4OSAyMS4wMjU1VjIzLjEzNzZIMTAuNjQwMVYyMS4wMjU1SDEzLjM1ODlaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik02Ljc0MDM2IDIwLjgwMzdMMTAuNjQyMiAyMy4xMzY0VjIxLjAyNDNMMTAuMjkyOCAxOS43NDUzTDYuNzQwMzYgMjAuODAzN1pNMTcuMjYwOSAyMC44MDM3TDEzLjM1ODggMjMuMTM2NFYyMS4wMjQzTDEzLjcwODIgMTkuNzQ1M0wxNy4yNjA5IDIwLjgwMzdaIiBmaWxsPSIjRTdFQkY2Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTkwMzFfMTcxODA5Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=";
3
+ export {
4
+ icon
5
+ };
@@ -0,0 +1,2 @@
1
+ import { Wallet } from '../../../types/Wallet.js';
2
+ export declare const metaMaskWallet: () => Wallet;
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { icon } from "./metaMaskIcon.js";
3
+ const metaMaskWallet = () => {
4
+ return {
5
+ id: "metaMask",
6
+ internalId: "METAMASK",
7
+ name: "MetaMask",
8
+ iconUrl: icon,
9
+ isExtension: true,
10
+ isMobile: true,
11
+ hasIosSafariExtension: false,
12
+ downloadUrl: "https://metamask.io/download"
13
+ };
14
+ };
15
+ export {
16
+ metaMaskWallet
17
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpara/solana-wallet-connectors",
3
- "version": "2.0.0-alpha.21",
3
+ "version": "2.0.0-alpha.23",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "test": "vitest run --coverage"
15
15
  },
16
16
  "dependencies": {
17
- "@getpara/web-sdk": "2.0.0-alpha.21",
17
+ "@getpara/web-sdk": "2.0.0-alpha.23",
18
18
  "@solana-mobile/wallet-adapter-mobile": "2.2.0",
19
19
  "@solana/wallet-adapter-base": "0.9.27",
20
20
  "@solana/wallet-adapter-react": "0.15.39",
@@ -22,7 +22,7 @@
22
22
  "bs58": "6.0.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@getpara/react-common": "2.0.0-alpha.21",
25
+ "@getpara/react-common": "2.0.0-alpha.23",
26
26
  "@types/react": "^18.0.31",
27
27
  "@types/react-dom": "^18.2.7",
28
28
  "typescript": "^5.4.3"
@@ -35,5 +35,5 @@
35
35
  "dist",
36
36
  "package.json"
37
37
  ],
38
- "gitHead": "03daa3537312bc52e0640225c8abdbf8047c15da"
38
+ "gitHead": "e7c7e95f79bcfca4d57a80f4dd721dc5ecaff24d"
39
39
  }