@solana/connector 0.1.8 → 0.1.10
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/README.md +97 -0
- package/dist/chunk-4JT24DIX.js +466 -0
- package/dist/chunk-4JT24DIX.js.map +1 -0
- package/dist/chunk-4KD6HQQG.js +69 -0
- package/dist/chunk-4KD6HQQG.js.map +1 -0
- package/dist/{chunk-DSUCH44G.js → chunk-64LV76OK.js} +2 -67
- package/dist/chunk-64LV76OK.js.map +1 -0
- package/dist/{chunk-FTXIXM43.js → chunk-6AJJJG5B.js} +614 -138
- package/dist/chunk-6AJJJG5B.js.map +1 -0
- package/dist/chunk-7XHVZW2L.mjs +460 -0
- package/dist/chunk-7XHVZW2L.mjs.map +1 -0
- package/dist/{chunk-K3BNIGPX.js → chunk-ATYK5OKR.js} +81 -33
- package/dist/chunk-ATYK5OKR.js.map +1 -0
- package/dist/{chunk-J7DHGLW6.mjs → chunk-DKCZA2QI.mjs} +3 -61
- package/dist/chunk-DKCZA2QI.mjs.map +1 -0
- package/dist/chunk-FVA4TUI4.mjs +178 -0
- package/dist/chunk-FVA4TUI4.mjs.map +1 -0
- package/dist/chunk-HO6QNKFM.mjs +61 -0
- package/dist/chunk-HO6QNKFM.mjs.map +1 -0
- package/dist/chunk-MN7XNCYI.js +230 -0
- package/dist/chunk-MN7XNCYI.js.map +1 -0
- package/dist/{chunk-6F6M6L7R.mjs → chunk-QOIQBWMP.mjs} +524 -56
- package/dist/chunk-QOIQBWMP.mjs.map +1 -0
- package/dist/{chunk-TTOKQAPX.mjs → chunk-WGZYKDXF.mjs} +57 -11
- package/dist/chunk-WGZYKDXF.mjs.map +1 -0
- package/dist/compat.js +10 -9
- package/dist/compat.js.map +1 -1
- package/dist/compat.mjs +2 -1
- package/dist/compat.mjs.map +1 -1
- package/dist/headless.d.mts +217 -100
- package/dist/headless.d.ts +217 -100
- package/dist/headless.js +190 -168
- package/dist/headless.mjs +5 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +233 -203
- package/dist/index.mjs +6 -4
- package/dist/react.d.mts +72 -4
- package/dist/react.d.ts +72 -4
- package/dist/react.js +52 -36
- package/dist/react.mjs +2 -2
- package/dist/{standard-shim-CT49DM5l.d.mts → standard-shim-BTUm7cur.d.mts} +280 -1
- package/dist/{standard-shim-D9guL5fz.d.ts → standard-shim-LsQ97i9T.d.ts} +280 -1
- package/dist/walletconnect-D4JN6H2O.js +28 -0
- package/dist/walletconnect-D4JN6H2O.js.map +1 -0
- package/dist/walletconnect-I3PZUBTA.mjs +3 -0
- package/dist/walletconnect-I3PZUBTA.mjs.map +1 -0
- package/package.json +6 -2
- package/dist/chunk-6F6M6L7R.mjs.map +0 -1
- package/dist/chunk-AOIXHVRH.js +0 -535
- package/dist/chunk-AOIXHVRH.js.map +0 -1
- package/dist/chunk-DSUCH44G.js.map +0 -1
- package/dist/chunk-FTXIXM43.js.map +0 -1
- package/dist/chunk-G575OAT4.mjs +0 -476
- package/dist/chunk-G575OAT4.mjs.map +0 -1
- package/dist/chunk-J7DHGLW6.mjs.map +0 -1
- package/dist/chunk-K3BNIGPX.js.map +0 -1
- package/dist/chunk-TTOKQAPX.mjs.map +0 -1
|
@@ -1,10 +1,37 @@
|
|
|
1
|
-
import { installPolyfills, ConnectorErrorBoundary, isMainnetCluster, isDevnetCluster, isTestnetCluster, isLocalCluster, getClusterExplorerUrl, getClusterType, formatAddress, copyAddressToClipboard, createTransactionSigner, createKitTransactionSigner, formatLamportsToSolSafe, getTransactionUrl, ConnectorClient, formatBigIntBalance, formatBigIntUsd } from './chunk-
|
|
2
|
-
import { createLogger, __publicField, createSolanaClient, NetworkError, prepareTransaction } from './chunk-
|
|
3
|
-
import React, { createContext,
|
|
1
|
+
import { installPolyfills, ConnectorErrorBoundary, isMainnetCluster, isDevnetCluster, isTestnetCluster, isLocalCluster, getClusterExplorerUrl, getClusterType, formatAddress, copyAddressToClipboard, createTransactionSigner, createKitTransactionSigner, formatLamportsToSolSafe, getTransactionUrl, ConnectorClient, formatBigIntBalance, formatBigIntUsd } from './chunk-QOIQBWMP.mjs';
|
|
2
|
+
import { createLogger, __publicField, createSolanaClient, NetworkError, prepareTransaction } from './chunk-DKCZA2QI.mjs';
|
|
3
|
+
import React, { createContext, useState, useRef, useEffect, useCallback, useContext, useSyncExternalStore, useMemo } from 'react';
|
|
4
4
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
import { address } from '@solana/addresses';
|
|
6
6
|
import { signature } from '@solana/keys';
|
|
7
7
|
|
|
8
|
+
var WalletConnectContext = createContext(null);
|
|
9
|
+
function WalletConnectProvider({ children }) {
|
|
10
|
+
let [uri, setUriState] = useState(null), isMountedRef = useRef(false), pendingUriRef = useRef(null);
|
|
11
|
+
useEffect(() => (isMountedRef.current = true, pendingUriRef.current !== null && (setUriState(pendingUriRef.current), pendingUriRef.current = null), () => {
|
|
12
|
+
isMountedRef.current = false;
|
|
13
|
+
}), []);
|
|
14
|
+
let setUri = useCallback((newUri) => {
|
|
15
|
+
if (!isMountedRef.current) {
|
|
16
|
+
pendingUriRef.current = newUri;
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
setUriState(newUri);
|
|
20
|
+
}, []), clearUri = useCallback(() => {
|
|
21
|
+
pendingUriRef.current = null, isMountedRef.current && setUriState(null);
|
|
22
|
+
}, []);
|
|
23
|
+
return /* @__PURE__ */ jsx(WalletConnectContext.Provider, { value: { uri, setUri, clearUri }, children });
|
|
24
|
+
}
|
|
25
|
+
function useWalletConnectUri() {
|
|
26
|
+
let context = useContext(WalletConnectContext);
|
|
27
|
+
return context || {
|
|
28
|
+
uri: null,
|
|
29
|
+
setUri: () => {
|
|
30
|
+
},
|
|
31
|
+
clearUri: () => {
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
8
35
|
var logger = createLogger("ConnectorProvider");
|
|
9
36
|
installPolyfills();
|
|
10
37
|
var ConnectorContext = createContext(null);
|
|
@@ -92,7 +119,7 @@ function useConnector() {
|
|
|
92
119
|
throw new Error(
|
|
93
120
|
"useConnector must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use connector hooks."
|
|
94
121
|
);
|
|
95
|
-
let state = useSyncExternalStore(
|
|
122
|
+
let { uri: walletConnectUri, clearUri: clearWalletConnectUri } = useWalletConnectUri(), state = useSyncExternalStore(
|
|
96
123
|
React.useCallback((cb) => client.subscribe(cb), [client]),
|
|
97
124
|
React.useCallback(() => client.getSnapshot(), [client]),
|
|
98
125
|
React.useCallback(() => client.getSnapshot(), [client])
|
|
@@ -107,22 +134,41 @@ function useConnector() {
|
|
|
107
134
|
return useMemo(
|
|
108
135
|
() => ({
|
|
109
136
|
...state,
|
|
110
|
-
...methods
|
|
137
|
+
...methods,
|
|
138
|
+
walletConnectUri,
|
|
139
|
+
clearWalletConnectUri
|
|
111
140
|
}),
|
|
112
|
-
[state, methods]
|
|
141
|
+
[state, methods, walletConnectUri, clearWalletConnectUri]
|
|
113
142
|
);
|
|
114
143
|
}
|
|
115
144
|
function useConnectorClient() {
|
|
116
145
|
return useContext(ConnectorContext);
|
|
117
146
|
}
|
|
118
|
-
function
|
|
119
|
-
let
|
|
147
|
+
function AppProviderInner({ children, connectorConfig, mobile, providers = [] }) {
|
|
148
|
+
let { setUri, clearUri } = useWalletConnectUri(), enhancedConfig = useMemo(() => {
|
|
149
|
+
if (!connectorConfig?.walletConnect?.enabled)
|
|
150
|
+
return connectorConfig;
|
|
151
|
+
let wcConfig = connectorConfig.walletConnect;
|
|
152
|
+
return {
|
|
153
|
+
...connectorConfig,
|
|
154
|
+
walletConnect: {
|
|
155
|
+
...wcConfig,
|
|
156
|
+
// Auto-wire callbacks - use provided ones or fall back to context-based ones
|
|
157
|
+
onDisplayUri: wcConfig.onDisplayUri ?? setUri,
|
|
158
|
+
onSessionEstablished: wcConfig.onSessionEstablished ?? clearUri,
|
|
159
|
+
onSessionDisconnected: wcConfig.onSessionDisconnected ?? clearUri
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}, [connectorConfig, setUri, clearUri]), content = /* @__PURE__ */ jsx(ConnectorProvider, { config: enhancedConfig, mobile, children });
|
|
120
163
|
for (let i = providers.length - 1; i >= 0; i--) {
|
|
121
164
|
let { component: Provider, props = {} } = providers[i];
|
|
122
165
|
content = /* @__PURE__ */ jsx(Provider, { ...props, children: content });
|
|
123
166
|
}
|
|
124
167
|
return content;
|
|
125
168
|
}
|
|
169
|
+
function AppProvider(props) {
|
|
170
|
+
return props.connectorConfig?.walletConnect?.enabled ? /* @__PURE__ */ jsx(WalletConnectProvider, { children: /* @__PURE__ */ jsx(AppProviderInner, { ...props }) }) : /* @__PURE__ */ jsx(AppProviderInner, { ...props });
|
|
171
|
+
}
|
|
126
172
|
var UnifiedProvider = AppProvider;
|
|
127
173
|
function useCluster() {
|
|
128
174
|
let { cluster, clusters } = useConnector(), client = useConnectorClient();
|
|
@@ -2790,6 +2836,6 @@ function TokenListElement({
|
|
|
2790
2836
|
}
|
|
2791
2837
|
TokenListElement.displayName = "TokenListElement";
|
|
2792
2838
|
|
|
2793
|
-
export { AccountElement, AppProvider, BalanceElement, ClusterElement, ConnectorProvider, DisconnectElement, SkeletonShine, TokenListElement, TransactionHistoryElement, UnifiedProvider, WalletListElement, clearSharedQueryCache, clearTokenCaches, getBalanceQueryKey, getTokensQueryKey, getTransactionsQueryKey, getWalletAssetsQueryKey, invalidateSharedQuery, useAccount, useBalance, useCluster, useConnector, useConnectorClient, useGillSolanaClient, useGillTransactionSigner, useKitTransactionSigner, useSolanaClient, useTokens, useTransactionPreparer, useTransactionSigner, useTransactions, useWalletInfo };
|
|
2794
|
-
//# sourceMappingURL=chunk-
|
|
2795
|
-
//# sourceMappingURL=chunk-
|
|
2839
|
+
export { AccountElement, AppProvider, BalanceElement, ClusterElement, ConnectorProvider, DisconnectElement, SkeletonShine, TokenListElement, TransactionHistoryElement, UnifiedProvider, WalletConnectProvider, WalletListElement, clearSharedQueryCache, clearTokenCaches, getBalanceQueryKey, getTokensQueryKey, getTransactionsQueryKey, getWalletAssetsQueryKey, invalidateSharedQuery, useAccount, useBalance, useCluster, useConnector, useConnectorClient, useGillSolanaClient, useGillTransactionSigner, useKitTransactionSigner, useSolanaClient, useTokens, useTransactionPreparer, useTransactionSigner, useTransactions, useWalletConnectUri, useWalletInfo };
|
|
2840
|
+
//# sourceMappingURL=chunk-WGZYKDXF.mjs.map
|
|
2841
|
+
//# sourceMappingURL=chunk-WGZYKDXF.mjs.map
|