@getpara/solana-wallet-connectors 1.7.0 → 2.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -1
- package/dist/index.js +63 -110
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/providers/ParaSolanaProvider.d.ts +7 -15
- package/dist/providers/SolanaExternalWalletContext.d.ts +14 -16
- package/dist/types/Wallet.d.ts +1 -1
- package/dist/wallets/connectors/index.d.ts +1 -0
- package/package.json +8 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { SolanaExternalWalletContext } from './providers/SolanaExternalWalletContext.js';
|
|
2
|
+
export type { SolanaExternalWalletContextType } from './providers/SolanaExternalWalletContext.js';
|
|
2
3
|
export { ParaSolanaProvider } from './providers/ParaSolanaProvider.js';
|
|
4
|
+
export type { ParaSolanaProviderConfig, ParaSolanaProviderProps } from './providers/ParaSolanaProvider.js';
|
|
3
5
|
export * from './wallets/connectors/index.js';
|
|
6
|
+
export type { WalletList } from './types/Wallet.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
3
5
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -15,6 +17,7 @@ var __spreadValues = (a, b) => {
|
|
|
15
17
|
}
|
|
16
18
|
return a;
|
|
17
19
|
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
18
21
|
var __async = (__this, __arguments, generator) => {
|
|
19
22
|
return new Promise((resolve, reject) => {
|
|
20
23
|
var fulfilled = (value) => {
|
|
@@ -37,99 +40,25 @@ var __async = (__this, __arguments, generator) => {
|
|
|
37
40
|
};
|
|
38
41
|
|
|
39
42
|
// src/providers/SolanaExternalWalletContext.tsx
|
|
40
|
-
import { createContext
|
|
43
|
+
import { createContext, useEffect, useMemo, useRef } from "react";
|
|
41
44
|
import { useWallet } from "@solana/wallet-adapter-react";
|
|
42
45
|
import { WalletReadyState } from "@solana/wallet-adapter-base";
|
|
43
|
-
|
|
44
|
-
// src/providers/ParaSolanaProvider.tsx
|
|
45
|
-
import { createContext, useContext, useEffect, useMemo, useState } from "react";
|
|
46
|
-
import { ConnectionProvider, WalletProvider as SolanaWalletProvider } from "@solana/wallet-adapter-react";
|
|
47
|
-
import { useClient, useExternalWalletProviderStore } from "@getpara/react-sdk";
|
|
48
|
-
import {
|
|
49
|
-
createDefaultAddressSelector,
|
|
50
|
-
createDefaultAuthorizationResultCache,
|
|
51
|
-
createDefaultWalletNotFoundHandler,
|
|
52
|
-
SolanaMobileWalletAdapter
|
|
53
|
-
} from "@solana-mobile/wallet-adapter-mobile";
|
|
54
|
-
import { jsx } from "react/jsx-runtime";
|
|
55
|
-
var defaultWallet = {
|
|
56
|
-
wallets: []
|
|
57
|
-
};
|
|
58
|
-
var ParaSolanaContext = createContext(defaultWallet);
|
|
59
|
-
function ParaSolanaProvider({
|
|
60
|
-
children,
|
|
61
|
-
wallets: walletFns,
|
|
62
|
-
endpoint,
|
|
63
|
-
appIdentity,
|
|
64
|
-
chain,
|
|
65
|
-
connectionConfig,
|
|
66
|
-
para: _para
|
|
67
|
-
}) {
|
|
68
|
-
const updateExternalWalletProviderState = useExternalWalletProviderStore((state) => state.updateState);
|
|
69
|
-
const SolanaProvider = useExternalWalletProviderStore((state) => state.SolanaProvider);
|
|
70
|
-
const solanaContext = useExternalWalletProviderStore((state) => state.solanaContext);
|
|
71
|
-
const [shouldAutoConnect, setShouldAutoConnect] = useState(true);
|
|
72
|
-
const para = _para != null ? _para : useClient();
|
|
73
|
-
useEffect(() => {
|
|
74
|
-
setShouldAutoConnect(false);
|
|
75
|
-
}, []);
|
|
76
|
-
useEffect(() => {
|
|
77
|
-
if (!solanaContext || !SolanaProvider) {
|
|
78
|
-
updateExternalWalletProviderState({
|
|
79
|
-
SolanaProvider: SolanaExternalWalletProvider,
|
|
80
|
-
solanaContext: SolanaExternalWalletContext
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}, []);
|
|
84
|
-
const value = useMemo(() => ({ wallets: walletFns }), [walletFns]);
|
|
85
|
-
if (!solanaContext || !SolanaProvider) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
return /* @__PURE__ */ jsx(ConnectionProvider, { endpoint, config: connectionConfig, children: /* @__PURE__ */ jsx(
|
|
89
|
-
SolanaWalletProvider,
|
|
90
|
-
{
|
|
91
|
-
wallets: [
|
|
92
|
-
new SolanaMobileWalletAdapter({
|
|
93
|
-
addressSelector: createDefaultAddressSelector(),
|
|
94
|
-
appIdentity,
|
|
95
|
-
authorizationResultCache: createDefaultAuthorizationResultCache(),
|
|
96
|
-
chain,
|
|
97
|
-
onWalletNotFound: createDefaultWalletNotFoundHandler()
|
|
98
|
-
})
|
|
99
|
-
],
|
|
100
|
-
localStorageKey: "paraSolanaExternal",
|
|
101
|
-
autoConnect: (adapter) => __async(this, null, function* () {
|
|
102
|
-
var _a;
|
|
103
|
-
const hasParaExternalWallet = (_a = Object.values(para.externalWallets)) == null ? void 0 : _a.find((w) => w.name === adapter.name);
|
|
104
|
-
if (shouldAutoConnect && hasParaExternalWallet) {
|
|
105
|
-
if (!para.isExternalWalletAuth) {
|
|
106
|
-
return true;
|
|
107
|
-
} else if (para.isExternalWalletAuth && (yield para.isFullyLoggedIn())) {
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
return false;
|
|
113
|
-
}),
|
|
114
|
-
children: /* @__PURE__ */ jsx(ParaSolanaContext.Provider, { value, children })
|
|
115
|
-
}
|
|
116
|
-
) });
|
|
117
|
-
}
|
|
118
|
-
var useParaSolana = () => useContext(ParaSolanaContext);
|
|
119
|
-
|
|
120
|
-
// src/providers/SolanaExternalWalletContext.tsx
|
|
121
46
|
import { WalletType } from "@getpara/web-sdk";
|
|
122
|
-
import { useExternalWalletProviderStore as useExternalWalletProviderStore2 } from "@getpara/react-sdk";
|
|
123
47
|
import bs58 from "bs58";
|
|
124
|
-
import { jsx
|
|
48
|
+
import { jsx } from "react/jsx-runtime";
|
|
125
49
|
var defaultSolanaExternalWallet = {
|
|
126
50
|
wallets: [],
|
|
127
51
|
disconnect: () => Promise.resolve(),
|
|
128
52
|
signMessage: () => Promise.resolve({}),
|
|
129
53
|
signVerificationMessage: () => Promise.resolve({})
|
|
130
54
|
};
|
|
131
|
-
var SolanaExternalWalletContext =
|
|
132
|
-
function SolanaExternalWalletProvider({
|
|
55
|
+
var SolanaExternalWalletContext = createContext(defaultSolanaExternalWallet);
|
|
56
|
+
function SolanaExternalWalletProvider({
|
|
57
|
+
children,
|
|
58
|
+
wallets: walletFns,
|
|
59
|
+
onSwitchWallet,
|
|
60
|
+
para
|
|
61
|
+
}) {
|
|
133
62
|
const {
|
|
134
63
|
wallets: adapters,
|
|
135
64
|
select: selectWallet,
|
|
@@ -137,27 +66,17 @@ function SolanaExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
137
66
|
publicKey: solanaAddress,
|
|
138
67
|
wallet,
|
|
139
68
|
connecting,
|
|
140
|
-
|
|
141
|
-
|
|
69
|
+
connected,
|
|
70
|
+
signMessage: solanaSignMessage
|
|
142
71
|
} = useWallet();
|
|
143
|
-
const { wallets: walletFns } = useParaSolana();
|
|
144
|
-
const fullAuthWallets = useExternalWalletProviderStore2((state) => state.fullAuthWallets);
|
|
145
72
|
const verificationMessage = useRef();
|
|
146
73
|
const reset = () => __async(this, null, function* () {
|
|
147
74
|
yield _disconnect();
|
|
148
75
|
yield para.logout();
|
|
149
76
|
});
|
|
150
|
-
const login = (
|
|
151
|
-
var _a, _b;
|
|
77
|
+
const login = (_0) => __async(this, [_0], function* ({ address, providerName }) {
|
|
152
78
|
try {
|
|
153
|
-
return yield para.externalWalletLogin({
|
|
154
|
-
address,
|
|
155
|
-
type: WalletType.SOLANA,
|
|
156
|
-
provider: providerName,
|
|
157
|
-
withFullParaAuth: fullAuthWallets == null ? void 0 : fullAuthWallets.includes(
|
|
158
|
-
(_b = (_a = getWallet(providerName != null ? providerName : "")) == null ? void 0 : _a.id.toUpperCase()) != null ? _b : ""
|
|
159
|
-
)
|
|
160
|
-
});
|
|
79
|
+
return yield para.externalWalletLogin({ address, type: WalletType.SOLANA, provider: providerName });
|
|
161
80
|
} catch (err) {
|
|
162
81
|
yield reset();
|
|
163
82
|
throw "Error logging you in. Please try again.";
|
|
@@ -170,26 +89,26 @@ function SolanaExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
170
89
|
yield para.logout();
|
|
171
90
|
} else {
|
|
172
91
|
try {
|
|
173
|
-
yield login(address, (_a = wallet == null ? void 0 : wallet.adapter) == null ? void 0 : _a.name);
|
|
92
|
+
yield login({ address, providerName: (_a = wallet == null ? void 0 : wallet.adapter) == null ? void 0 : _a.name });
|
|
174
93
|
} catch (err) {
|
|
175
94
|
error = err;
|
|
176
95
|
}
|
|
177
96
|
}
|
|
178
97
|
onSwitchWallet({ address, error });
|
|
179
98
|
});
|
|
180
|
-
|
|
99
|
+
useEffect(() => {
|
|
181
100
|
var _a;
|
|
182
101
|
const storedExternalWallet = para.externalWallets[(_a = solanaAddress == null ? void 0 : solanaAddress.toString()) != null ? _a : ""];
|
|
183
102
|
if (!!solanaAddress && !storedExternalWallet) {
|
|
184
103
|
reset();
|
|
185
104
|
}
|
|
186
105
|
}, []);
|
|
187
|
-
|
|
106
|
+
useEffect(() => {
|
|
188
107
|
const storedExternalWallet = Object.values(para.externalWallets || {})[0];
|
|
189
|
-
if (!connecting && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === WalletType.SOLANA && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== (solanaAddress == null ? void 0 : solanaAddress.toString())) {
|
|
108
|
+
if (!connecting && (!wallet || (wallet == null ? void 0 : wallet.adapter.connected)) && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === WalletType.SOLANA && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== (solanaAddress == null ? void 0 : solanaAddress.toString())) {
|
|
190
109
|
switchWallet(solanaAddress == null ? void 0 : solanaAddress.toString());
|
|
191
110
|
}
|
|
192
|
-
}, [solanaAddress, connecting]);
|
|
111
|
+
}, [solanaAddress, connecting, wallet]);
|
|
193
112
|
const signMessage = (message) => __async(this, null, function* () {
|
|
194
113
|
try {
|
|
195
114
|
const encodedMessage = new TextEncoder().encode(message);
|
|
@@ -225,10 +144,7 @@ function SolanaExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
225
144
|
address = adapter.publicKey.toString();
|
|
226
145
|
if (address) {
|
|
227
146
|
try {
|
|
228
|
-
|
|
229
|
-
userExists = loginResp.userExists;
|
|
230
|
-
isVerified = loginResp.isVerified;
|
|
231
|
-
verificationMessage.current = loginResp.signatureVerificationMessage;
|
|
147
|
+
yield login({ address, providerName: adapter.name });
|
|
232
148
|
} catch (err) {
|
|
233
149
|
yield _disconnect();
|
|
234
150
|
address = void 0;
|
|
@@ -266,17 +182,16 @@ function SolanaExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
266
182
|
installed: adapter && ((adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Installed || (adapter == null ? void 0 : adapter.readyState) === WalletReadyState.Loadable)
|
|
267
183
|
}, metaData);
|
|
268
184
|
});
|
|
269
|
-
const getWallet = (name) => wallets.find((w) => w.name === name);
|
|
270
185
|
const disconnect = () => __async(this, null, function* () {
|
|
271
186
|
yield _disconnect();
|
|
272
187
|
if (connected) {
|
|
273
188
|
typeof window !== void 0 && (window == null ? void 0 : window.location.reload());
|
|
274
189
|
}
|
|
275
190
|
});
|
|
276
|
-
return /* @__PURE__ */
|
|
191
|
+
return /* @__PURE__ */ jsx(
|
|
277
192
|
SolanaExternalWalletContext.Provider,
|
|
278
193
|
{
|
|
279
|
-
value:
|
|
194
|
+
value: useMemo(
|
|
280
195
|
() => ({ wallets, disconnect, signMessage, signVerificationMessage }),
|
|
281
196
|
[wallets, disconnect, signMessage, signVerificationMessage]
|
|
282
197
|
),
|
|
@@ -285,6 +200,41 @@ function SolanaExternalWalletProvider({ children, para, onSwitchWallet }) {
|
|
|
285
200
|
);
|
|
286
201
|
}
|
|
287
202
|
|
|
203
|
+
// src/providers/ParaSolanaProvider.tsx
|
|
204
|
+
import { useMemo as useMemo2 } from "react";
|
|
205
|
+
import { ConnectionProvider, WalletProvider as SolanaWalletProvider } from "@solana/wallet-adapter-react";
|
|
206
|
+
import {
|
|
207
|
+
createDefaultAddressSelector,
|
|
208
|
+
createDefaultAuthorizationResultCache,
|
|
209
|
+
createDefaultWalletNotFoundHandler,
|
|
210
|
+
SolanaMobileWalletAdapter
|
|
211
|
+
} from "@solana-mobile/wallet-adapter-mobile";
|
|
212
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
213
|
+
function ParaSolanaProvider({ children, config, internalConfig }) {
|
|
214
|
+
const { wallets: walletFns, endpoint, appIdentity, chain, connectionConfig } = config;
|
|
215
|
+
const solanaExternalWalletProviderProps = useMemo2(
|
|
216
|
+
() => __spreadValues({ wallets: walletFns }, internalConfig),
|
|
217
|
+
[walletFns, internalConfig]
|
|
218
|
+
);
|
|
219
|
+
return /* @__PURE__ */ jsx2(ConnectionProvider, { endpoint, config: connectionConfig, children: /* @__PURE__ */ jsx2(
|
|
220
|
+
SolanaWalletProvider,
|
|
221
|
+
{
|
|
222
|
+
wallets: [
|
|
223
|
+
new SolanaMobileWalletAdapter({
|
|
224
|
+
addressSelector: createDefaultAddressSelector(),
|
|
225
|
+
appIdentity,
|
|
226
|
+
authorizationResultCache: createDefaultAuthorizationResultCache(),
|
|
227
|
+
chain,
|
|
228
|
+
onWalletNotFound: createDefaultWalletNotFoundHandler()
|
|
229
|
+
})
|
|
230
|
+
],
|
|
231
|
+
localStorageKey: "paraSolanaExternal",
|
|
232
|
+
autoConnect: true,
|
|
233
|
+
children: /* @__PURE__ */ jsx2(SolanaExternalWalletProvider, __spreadProps(__spreadValues({}, solanaExternalWalletProviderProps), { children }))
|
|
234
|
+
}
|
|
235
|
+
) });
|
|
236
|
+
}
|
|
237
|
+
|
|
288
238
|
// src/wallets/connectors/phantom/phantomIcon.ts
|
|
289
239
|
var icon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTAzNl85NDApIj4KICAgIDxwYXRoIGQ9Ik0xMiAyNEMxOC42Mjc0IDI0IDI0IDE4LjYyNzQgMjQgMTJDMjQgNS4zNzI1OCAxOC42Mjc0IDAgMTIgMEM1LjM3MjU4IDAgMCA1LjM3MjU4IDAgMTJDMCAxOC42Mjc0IDUuMzcyNTggMjQgMTIgMjRaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMTAzNl85NDApIi8+CiAgICA8cGF0aCBkPSJNMjAuODgyMyAxMS44ODk3SDE4Ljc1NUMxOC43NTUgNy41MzIyMyAxNS4yMjgyIDQgMTAuODc3MyA0QzYuNTgwMzcgNCAzLjA4Njg5IDcuNDQ1NzYgMy4wMDEzOSAxMS43Mjg2QzIuOTEyOTMgMTYuMTU1NyA3LjA2MDAxIDIwIDExLjQ4MDkgMjBIMTIuMDM3QzE1LjkzNDUgMjAgMjEuMTU4NSAxNi45NDQzIDIxLjk3NDcgMTMuMjIxMUMyMi4xMjU0IDEyLjUzNDggMjEuNTg0MSAxMS44ODk3IDIwLjg4MjMgMTEuODg5N1pNNy43MTU5NiAxMi4wODM4QzcuNzE1OTYgMTIuNjY2NSA3LjI0MDA5IDEzLjE0MzEgNi42NTgyNyAxMy4xNDMxQzYuMDc2NDQgMTMuMTQzMSA1LjYwMDYgMTIuNjY2MyA1LjYwMDYgMTIuMDgzOFYxMC4zNzAxQzUuNjAwNiA5Ljc4NzQ0IDYuMDc2NDQgOS4zMTA4NCA2LjY1ODI3IDkuMzEwODRDNy4yNDAwOSA5LjMxMDg0IDcuNzE1OTYgOS43ODc0NCA3LjcxNTk2IDEwLjM3MDFWMTIuMDgzOFpNMTEuMzg4NiAxMi4wODM4QzExLjM4ODYgMTIuNjY2NSAxMC45MTI4IDEzLjE0MzEgMTAuMzMxIDEzLjE0MzFDOS43NDkxNCAxMy4xNDMxIDkuMjczMzIgMTIuNjY2MyA5LjI3MzMyIDEyLjA4MzhWMTAuMzcwMUM5LjI3MzMyIDkuNzg3NDQgOS43NDkzNSA5LjMxMDg0IDEwLjMzMSA5LjMxMDg0QzEwLjkxMjggOS4zMTA4NCAxMS4zODg2IDkuNzg3NDQgMTEuMzg4NiAxMC4zNzAxVjEyLjA4MzhaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXJfMTAzNl85NDApIi8+CiAgPC9nPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzEwMzZfOTQwIiB4MT0iMTIiIHkxPSIwIiB4Mj0iMTIiIHkyPSIyNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTM0QkIxIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzU1MUJGOSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8xMDM2Xzk0MCIgeDE9IjEyLjUiIHkxPSI0IiB4Mj0iMTIuNSIgeTI9IjIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IndoaXRlIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMC44MiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMTAzNl85NDAiPgogICAgICA8cmVjdCB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9IndoaXRlIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+";
|
|
290
240
|
|
|
@@ -332,10 +282,13 @@ var backpackWallet = () => {
|
|
|
332
282
|
downloadUrl: "https://backpack.app/download"
|
|
333
283
|
};
|
|
334
284
|
};
|
|
285
|
+
|
|
286
|
+
// src/wallets/connectors/index.ts
|
|
287
|
+
var allWallets = [phantomWallet, glowWallet, backpackWallet];
|
|
335
288
|
export {
|
|
336
289
|
ParaSolanaProvider,
|
|
337
290
|
SolanaExternalWalletContext,
|
|
338
|
-
|
|
291
|
+
allWallets,
|
|
339
292
|
backpackWallet,
|
|
340
293
|
glowWallet,
|
|
341
294
|
phantomWallet
|
package/dist/index.js.br
CHANGED
|
Binary file
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
2
|
import { WalletList } from '../types/Wallet.js';
|
|
3
|
-
import
|
|
3
|
+
import { SolanaExternalWalletProviderConfig } from './SolanaExternalWalletContext.js';
|
|
4
4
|
import { type ConnectionConfig } from '@solana/web3.js';
|
|
5
5
|
import { Chain } from '@solana-mobile/mobile-wallet-adapter-protocol';
|
|
6
|
-
export
|
|
7
|
-
wallets: any[];
|
|
8
|
-
};
|
|
9
|
-
export declare const ParaSolanaContext: import("react").Context<{
|
|
10
|
-
wallets: WalletList;
|
|
11
|
-
}>;
|
|
12
|
-
interface ParaSolanaProviderProps {
|
|
13
|
-
children: ReactNode;
|
|
6
|
+
export interface ParaSolanaProviderConfig {
|
|
14
7
|
wallets: WalletList;
|
|
15
8
|
/** Endpoint passed to the ConnectionProvider
|
|
16
9
|
* Ref: https://solana-labs.github.io/solana-web3.js/classes/Connection.html
|
|
@@ -32,10 +25,9 @@ interface ParaSolanaProviderProps {
|
|
|
32
25
|
* Ref: https://docs.solanamobile.com/reference/typescript/mobile-wallet-adapter#web3mobilewalletauthorize
|
|
33
26
|
*/
|
|
34
27
|
chain: Chain;
|
|
35
|
-
para?: ParaWeb;
|
|
36
28
|
}
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
export type ParaSolanaProviderProps = {
|
|
30
|
+
config: ParaSolanaProviderConfig;
|
|
31
|
+
internalConfig: SolanaExternalWalletProviderConfig;
|
|
40
32
|
};
|
|
41
|
-
export {};
|
|
33
|
+
export declare function ParaSolanaProvider({ children, config, internalConfig }: ParaSolanaProviderProps & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
2
|
import ParaWeb from '@getpara/web-sdk';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
disconnect: () => Promise<void>;
|
|
7
|
-
signMessage: () => Promise<{}>;
|
|
8
|
-
signVerificationMessage: () => Promise<{}>;
|
|
9
|
-
};
|
|
10
|
-
export declare const SolanaExternalWalletContext: import("react").Context<{
|
|
3
|
+
import { WalletList } from '../types/Wallet.js';
|
|
4
|
+
import { type CommonWallet } from '@getpara/react-common';
|
|
5
|
+
export type SolanaExternalWalletContextType = {
|
|
11
6
|
wallets: CommonWallet[];
|
|
12
7
|
disconnect: () => Promise<void>;
|
|
13
8
|
signMessage: (message: string) => Promise<{
|
|
@@ -19,14 +14,17 @@ export declare const SolanaExternalWalletContext: import("react").Context<{
|
|
|
19
14
|
signature?: string;
|
|
20
15
|
error?: string;
|
|
21
16
|
}>;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
onSwitchWallet: (args: {
|
|
17
|
+
};
|
|
18
|
+
export declare const SolanaExternalWalletContext: import("react").Context<SolanaExternalWalletContextType>;
|
|
19
|
+
export type SolanaExternalWalletProviderConfig = {
|
|
20
|
+
onSwitchWallet?: (args: {
|
|
27
21
|
address?: string;
|
|
28
22
|
error?: string;
|
|
29
23
|
}) => void;
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
para: ParaWeb;
|
|
25
|
+
};
|
|
26
|
+
type SolanaExternalWalletProviderConfigFull = {
|
|
27
|
+
wallets: WalletList;
|
|
28
|
+
} & SolanaExternalWalletProviderConfig;
|
|
29
|
+
export declare function SolanaExternalWalletProvider({ children, wallets: walletFns, onSwitchWallet, para, }: SolanaExternalWalletProviderConfigFull & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
32
30
|
export {};
|
package/dist/types/Wallet.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ import { phantomWallet } from './phantom/phantom.js';
|
|
|
2
2
|
import { glowWallet } from './glow/glow.js';
|
|
3
3
|
import { backpackWallet } from './backpack/backpack.js';
|
|
4
4
|
export { phantomWallet, glowWallet, backpackWallet };
|
|
5
|
+
export declare const allWallets: (() => import("../../types/Wallet.js").Wallet)[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpara/solana-wallet-connectors",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-dev.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,29 +8,26 @@
|
|
|
8
8
|
".": "./dist/index.js",
|
|
9
9
|
"./connectors": "./dist/wallets/connectors/index.js"
|
|
10
10
|
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@getpara/react-sdk": "1.7.0",
|
|
13
|
-
"bs58": "6.0.0"
|
|
14
|
-
},
|
|
15
11
|
"scripts": {
|
|
16
12
|
"build": "rm -rf dist && yarn typegen && node ./scripts/build.mjs",
|
|
17
13
|
"typegen": "tsc --emitDeclarationOnly",
|
|
18
14
|
"test": "vitest run --coverage"
|
|
19
15
|
},
|
|
20
|
-
"
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@getpara/web-sdk": "^2.0.0-dev.0",
|
|
21
18
|
"@solana-mobile/wallet-adapter-mobile": "2.1.3",
|
|
22
19
|
"@solana/wallet-adapter-base": "0.9.23",
|
|
23
20
|
"@solana/wallet-adapter-react": "0.15.35",
|
|
24
21
|
"@solana/wallet-adapter-walletconnect": "0.1.16",
|
|
22
|
+
"bs58": "6.0.0"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@getpara/react-common": "^2.0.0-dev.0",
|
|
25
26
|
"@types/react": "^18.0.31",
|
|
26
27
|
"@types/react-dom": "^18.2.7",
|
|
27
28
|
"typescript": "^5.4.3"
|
|
28
29
|
},
|
|
29
30
|
"peerDependencies": {
|
|
30
|
-
"@solana-mobile/wallet-adapter-mobile": "2.1.x",
|
|
31
|
-
"@solana/wallet-adapter-base": "0.9.x",
|
|
32
|
-
"@solana/wallet-adapter-react": "0.15.x",
|
|
33
|
-
"@solana/wallet-adapter-walletconnect": "0.1.x",
|
|
34
31
|
"react": ">=18",
|
|
35
32
|
"react-dom": ">=18"
|
|
36
33
|
},
|
|
@@ -38,5 +35,5 @@
|
|
|
38
35
|
"dist",
|
|
39
36
|
"package.json"
|
|
40
37
|
],
|
|
41
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "f94ef031ef0e1894f5f0800e55f6ca2904641780"
|
|
42
39
|
}
|