@solana/connector 0.1.7 → 0.1.8
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 +83 -5
- package/dist/{chunk-APQGEW7S.mjs → chunk-6F6M6L7R.mjs} +73 -165
- package/dist/chunk-6F6M6L7R.mjs.map +1 -0
- package/dist/{chunk-VZ5Y6DIM.js → chunk-AOIXHVRH.js} +80 -235
- package/dist/chunk-AOIXHVRH.js.map +1 -0
- package/dist/chunk-DSUCH44G.js +678 -0
- package/dist/chunk-DSUCH44G.js.map +1 -0
- package/dist/{chunk-VA6LKXCQ.js → chunk-FTXIXM43.js} +157 -263
- package/dist/chunk-FTXIXM43.js.map +1 -0
- package/dist/{chunk-TQRJYZNK.mjs → chunk-G575OAT4.mjs} +71 -218
- package/dist/chunk-G575OAT4.mjs.map +1 -0
- package/dist/chunk-J7DHGLW6.mjs +638 -0
- package/dist/chunk-J7DHGLW6.mjs.map +1 -0
- package/dist/{chunk-Z22V3D4E.js → chunk-K3BNIGPX.js} +95 -37
- package/dist/chunk-K3BNIGPX.js.map +1 -0
- package/dist/{chunk-JK47EFJT.mjs → chunk-TTOKQAPX.mjs} +65 -14
- package/dist/chunk-TTOKQAPX.mjs.map +1 -0
- package/dist/compat.d.mts +1 -1
- package/dist/compat.d.ts +1 -1
- package/dist/compat.js +40 -39
- package/dist/compat.js.map +1 -1
- package/dist/compat.mjs +39 -38
- package/dist/compat.mjs.map +1 -1
- package/dist/headless.d.mts +447 -151
- package/dist/headless.d.ts +447 -151
- package/dist/headless.js +214 -194
- package/dist/headless.mjs +3 -3
- package/dist/index.d.mts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.js +268 -224
- package/dist/index.mjs +4 -4
- package/dist/react.d.mts +108 -7
- package/dist/react.d.ts +108 -7
- package/dist/react.js +54 -30
- package/dist/react.mjs +2 -2
- package/dist/{wallet-standard-shim-DiMvGjOk.d.ts → standard-shim-CT49DM5l.d.mts} +38 -247
- package/dist/{wallet-standard-shim-D4CYG5sU.d.mts → standard-shim-D9guL5fz.d.ts} +38 -247
- package/dist/{transaction-signer-CpGEvp7S.d.mts → transaction-signer-T-KVQFi8.d.mts} +1 -1
- package/dist/{transaction-signer-CpGEvp7S.d.ts → transaction-signer-T-KVQFi8.d.ts} +1 -1
- package/package.json +3 -3
- package/dist/chunk-APQGEW7S.mjs.map +0 -1
- package/dist/chunk-I64FD2EH.js +0 -312
- package/dist/chunk-I64FD2EH.js.map +0 -1
- package/dist/chunk-JK47EFJT.mjs.map +0 -1
- package/dist/chunk-QL3IT3TS.mjs +0 -299
- package/dist/chunk-QL3IT3TS.mjs.map +0 -1
- package/dist/chunk-TQRJYZNK.mjs.map +0 -1
- package/dist/chunk-VA6LKXCQ.js.map +0 -1
- package/dist/chunk-VZ5Y6DIM.js.map +0 -1
- package/dist/chunk-Z22V3D4E.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { installPolyfills, ConnectorErrorBoundary, isMainnetCluster, isDevnetCluster, isTestnetCluster, isLocalCluster, getClusterExplorerUrl, getClusterType, formatAddress, copyAddressToClipboard, createTransactionSigner, createKitTransactionSigner,
|
|
2
|
-
import { createLogger, __publicField, createSolanaClient, prepareTransaction } from './chunk-
|
|
1
|
+
import { installPolyfills, ConnectorErrorBoundary, isMainnetCluster, isDevnetCluster, isTestnetCluster, isLocalCluster, getClusterExplorerUrl, getClusterType, formatAddress, copyAddressToClipboard, createTransactionSigner, createKitTransactionSigner, formatLamportsToSolSafe, getTransactionUrl, ConnectorClient, formatBigIntBalance, formatBigIntUsd } from './chunk-6F6M6L7R.mjs';
|
|
2
|
+
import { createLogger, __publicField, createSolanaClient, NetworkError, prepareTransaction } from './chunk-J7DHGLW6.mjs';
|
|
3
3
|
import React, { createContext, useContext, useSyncExternalStore, useMemo, useState, useCallback, useRef, useEffect } from 'react';
|
|
4
4
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
import { address } from '@solana/addresses';
|
|
@@ -115,14 +115,15 @@ function useConnector() {
|
|
|
115
115
|
function useConnectorClient() {
|
|
116
116
|
return useContext(ConnectorContext);
|
|
117
117
|
}
|
|
118
|
-
function
|
|
119
|
-
let
|
|
118
|
+
function AppProvider({ children, connectorConfig, mobile, providers = [] }) {
|
|
119
|
+
let content = /* @__PURE__ */ jsx(ConnectorProvider, { config: connectorConfig, mobile, children });
|
|
120
120
|
for (let i = providers.length - 1; i >= 0; i--) {
|
|
121
121
|
let { component: Provider, props = {} } = providers[i];
|
|
122
122
|
content = /* @__PURE__ */ jsx(Provider, { ...props, children: content });
|
|
123
123
|
}
|
|
124
124
|
return content;
|
|
125
125
|
}
|
|
126
|
+
var UnifiedProvider = AppProvider;
|
|
126
127
|
function useCluster() {
|
|
127
128
|
let { cluster, clusters } = useConnector(), client = useConnectorClient();
|
|
128
129
|
if (!client)
|
|
@@ -550,6 +551,9 @@ function parseTokenAccount(account, programId) {
|
|
|
550
551
|
programId
|
|
551
552
|
};
|
|
552
553
|
}
|
|
554
|
+
function getWalletAssetsQueryKey(rpcUrl, address) {
|
|
555
|
+
return !rpcUrl || !address ? null : JSON.stringify(["wallet-assets", rpcUrl, address]);
|
|
556
|
+
}
|
|
553
557
|
function useWalletAssets(options = {}) {
|
|
554
558
|
let {
|
|
555
559
|
enabled = true,
|
|
@@ -563,7 +567,7 @@ function useWalletAssets(options = {}) {
|
|
|
563
567
|
} = options, { address: address$1, connected } = useAccount(), { client: providerClient } = useSolanaClient(), rpcClient = clientOverride ?? providerClient, key = useMemo(() => {
|
|
564
568
|
if (!enabled || !connected || !address$1 || !rpcClient) return null;
|
|
565
569
|
let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
|
|
566
|
-
return
|
|
570
|
+
return getWalletAssetsQueryKey(rpcUrl, address$1);
|
|
567
571
|
}, [enabled, connected, address$1, rpcClient]), queryFn = useCallback(
|
|
568
572
|
async (signal) => {
|
|
569
573
|
if (!connected || !address$1 || !rpcClient)
|
|
@@ -623,6 +627,9 @@ function useWalletAssets(options = {}) {
|
|
|
623
627
|
}
|
|
624
628
|
|
|
625
629
|
// src/hooks/use-balance.ts
|
|
630
|
+
function getBalanceQueryKey(rpcUrl, address) {
|
|
631
|
+
return getWalletAssetsQueryKey(rpcUrl, address);
|
|
632
|
+
}
|
|
626
633
|
var LAMPORTS_PER_SOL2 = 1000000000n;
|
|
627
634
|
function formatTokenAccount(account) {
|
|
628
635
|
let formatted = formatBigIntBalance(account.amount, account.decimals, {
|
|
@@ -786,6 +793,10 @@ function transformImageUrl(url, imageProxy) {
|
|
|
786
793
|
}
|
|
787
794
|
|
|
788
795
|
// src/hooks/use-transactions.ts
|
|
796
|
+
function getTransactionsQueryKey(options) {
|
|
797
|
+
let { rpcUrl, address, clusterId, limit = 20, fetchDetails = false } = options;
|
|
798
|
+
return !rpcUrl || !address || !clusterId ? null : JSON.stringify(["wallet-transactions", rpcUrl, address, clusterId, limit, fetchDetails]);
|
|
799
|
+
}
|
|
789
800
|
function formatDate(timestamp) {
|
|
790
801
|
if (!timestamp)
|
|
791
802
|
return { date: "Unknown", time: "" };
|
|
@@ -1100,7 +1111,7 @@ function useTransactions(options = {}) {
|
|
|
1100
1111
|
), key = useMemo(() => {
|
|
1101
1112
|
if (!enabled || !connected || !address$1 || !rpcClient || !cluster) return null;
|
|
1102
1113
|
let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
|
|
1103
|
-
return
|
|
1114
|
+
return getTransactionsQueryKey({ rpcUrl, address: address$1, clusterId: cluster.id, limit, fetchDetails });
|
|
1104
1115
|
}, [enabled, connected, address$1, rpcClient, cluster, limit, fetchDetails]);
|
|
1105
1116
|
useEffect(() => {
|
|
1106
1117
|
beforeSignatureRef.current = void 0, setPaginatedTransactions([]), setIsPaginationLoading(false), setHasMore(true);
|
|
@@ -1265,6 +1276,9 @@ function useTransactions(options = {}) {
|
|
|
1265
1276
|
[transactions, isLoading, visibleError, hasMore, loadMoreFn, refetch, abort, updatedAt]
|
|
1266
1277
|
);
|
|
1267
1278
|
}
|
|
1279
|
+
function getTokensQueryKey(rpcUrl, address) {
|
|
1280
|
+
return getWalletAssetsQueryKey(rpcUrl, address);
|
|
1281
|
+
}
|
|
1268
1282
|
var CACHE_MAX_SIZE = 500, PRICE_CACHE_TTL = 6e4, STALE_CLEANUP_INTERVAL = 12e4, COINGECKO_DEFAULT_MAX_RETRIES = 3, COINGECKO_DEFAULT_BASE_DELAY = 1e3, COINGECKO_DEFAULT_MAX_TIMEOUT = 3e4, COINGECKO_API_BASE_URL = "https://api.coingecko.com/api/v3", LRUCache = class {
|
|
1269
1283
|
constructor(maxSize, options) {
|
|
1270
1284
|
__publicField(this, "cache", /* @__PURE__ */ new Map());
|
|
@@ -2210,6 +2224,43 @@ function WalletListElement({
|
|
|
2210
2224
|
);
|
|
2211
2225
|
}
|
|
2212
2226
|
WalletListElement.displayName = "WalletListElement";
|
|
2227
|
+
var shineStyles = `
|
|
2228
|
+
.ck-skeleton {
|
|
2229
|
+
position: relative;
|
|
2230
|
+
overflow: hidden;
|
|
2231
|
+
}
|
|
2232
|
+
.ck-skeleton-shine {
|
|
2233
|
+
position: absolute;
|
|
2234
|
+
top: 0;
|
|
2235
|
+
left: 0;
|
|
2236
|
+
width: 500%;
|
|
2237
|
+
height: 500%;
|
|
2238
|
+
background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0) 100%);
|
|
2239
|
+
animation: ck-skeleton-slide 0.5s infinite;
|
|
2240
|
+
z-index: 1;
|
|
2241
|
+
pointer-events: none;
|
|
2242
|
+
}
|
|
2243
|
+
@keyframes ck-skeleton-slide {
|
|
2244
|
+
0% { transform: translate(-100%, -100%); }
|
|
2245
|
+
100% { transform: translate(100%, 100%); }
|
|
2246
|
+
}
|
|
2247
|
+
`, stylesInjected = false;
|
|
2248
|
+
function injectStyles() {
|
|
2249
|
+
if (!stylesInjected && typeof document < "u") {
|
|
2250
|
+
let styleId = "ck-skeleton-shine-styles";
|
|
2251
|
+
if (!document.getElementById(styleId)) {
|
|
2252
|
+
let style = document.createElement("style");
|
|
2253
|
+
style.id = styleId, style.textContent = shineStyles, document.head.appendChild(style);
|
|
2254
|
+
}
|
|
2255
|
+
stylesInjected = true;
|
|
2256
|
+
}
|
|
2257
|
+
}
|
|
2258
|
+
function SkeletonShine() {
|
|
2259
|
+
return React.useEffect(() => {
|
|
2260
|
+
injectStyles();
|
|
2261
|
+
}, []), /* @__PURE__ */ jsx("div", { className: "ck-skeleton-shine", "data-slot": "skeleton-shine" });
|
|
2262
|
+
}
|
|
2263
|
+
SkeletonShine.displayName = "SkeletonShine";
|
|
2213
2264
|
function BalanceElement({
|
|
2214
2265
|
showSol = true,
|
|
2215
2266
|
showTokens = false,
|
|
@@ -2252,10 +2303,10 @@ function BalanceElement({
|
|
|
2252
2303
|
"data-variant": variant,
|
|
2253
2304
|
"data-loading": "true",
|
|
2254
2305
|
children: /* @__PURE__ */ jsxs("div", { className: "ck-balance-block-skeleton", "data-slot": "balance-element-skeleton", children: [
|
|
2255
|
-
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text" }),
|
|
2306
|
+
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text", children: /* @__PURE__ */ jsx(SkeletonShine, {}) }),
|
|
2256
2307
|
showTokens && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2257
|
-
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text ck-skeleton--short" }),
|
|
2258
|
-
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text ck-skeleton--short" })
|
|
2308
|
+
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text ck-skeleton--short", children: /* @__PURE__ */ jsx(SkeletonShine, {}) }),
|
|
2309
|
+
/* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--text ck-skeleton--short", children: /* @__PURE__ */ jsx(SkeletonShine, {}) })
|
|
2259
2310
|
] })
|
|
2260
2311
|
] })
|
|
2261
2312
|
}
|
|
@@ -2482,7 +2533,7 @@ function TransactionHistoryElement({
|
|
|
2482
2533
|
"data-slot": "tx-history-element",
|
|
2483
2534
|
"data-variant": variant,
|
|
2484
2535
|
"data-loading": "true",
|
|
2485
|
-
children: /* @__PURE__ */ jsx("div", { className: "ck-tx-history-skeleton", "data-slot": "tx-history-skeleton", children: Array.from({ length: Math.min(limit, 3) }).map((_, i) => /* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--tx" }, i)) })
|
|
2536
|
+
children: /* @__PURE__ */ jsx("div", { className: "ck-tx-history-skeleton", "data-slot": "tx-history-skeleton", children: Array.from({ length: Math.min(limit, 3) }).map((_, i) => /* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--tx", children: /* @__PURE__ */ jsx(SkeletonShine, {}) }, i)) })
|
|
2486
2537
|
}
|
|
2487
2538
|
);
|
|
2488
2539
|
if (error)
|
|
@@ -2646,7 +2697,7 @@ function TokenListElement({
|
|
|
2646
2697
|
"data-slot": "token-list-element",
|
|
2647
2698
|
"data-variant": variant,
|
|
2648
2699
|
"data-loading": "true",
|
|
2649
|
-
children: /* @__PURE__ */ jsx("div", { className: "ck-token-list-skeleton", "data-slot": "token-list-skeleton", children: Array.from({ length: Math.min(limit, 3) }).map((_, i) => /* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--token" }, i)) })
|
|
2700
|
+
children: /* @__PURE__ */ jsx("div", { className: "ck-token-list-skeleton", "data-slot": "token-list-skeleton", children: Array.from({ length: Math.min(limit, 3) }).map((_, i) => /* @__PURE__ */ jsx("div", { className: "ck-skeleton ck-skeleton--token", children: /* @__PURE__ */ jsx(SkeletonShine, {}) }, i)) })
|
|
2650
2701
|
}
|
|
2651
2702
|
);
|
|
2652
2703
|
if (error)
|
|
@@ -2739,6 +2790,6 @@ function TokenListElement({
|
|
|
2739
2790
|
}
|
|
2740
2791
|
TokenListElement.displayName = "TokenListElement";
|
|
2741
2792
|
|
|
2742
|
-
export { AccountElement, BalanceElement, ClusterElement, ConnectorProvider, DisconnectElement, TokenListElement, TransactionHistoryElement, UnifiedProvider, WalletListElement, clearSharedQueryCache, invalidateSharedQuery, useAccount, useBalance, useCluster, useConnector, useConnectorClient, useGillSolanaClient, useGillTransactionSigner, useKitTransactionSigner, useSolanaClient, useTokens, useTransactionPreparer, useTransactionSigner, useTransactions, useWalletInfo };
|
|
2743
|
-
//# sourceMappingURL=chunk-
|
|
2744
|
-
//# sourceMappingURL=chunk-
|
|
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-TTOKQAPX.mjs.map
|
|
2795
|
+
//# sourceMappingURL=chunk-TTOKQAPX.mjs.map
|