@algobright/solana-connector 0.1.2 → 0.1.3
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/{Button.module-HQNNX6IB.module.css → Button.module-QCTUNBHA.module.css} +1 -0
- package/dist/ConnectButton.d.mts +24 -0
- package/dist/ConnectButton.d.ts +24 -0
- package/dist/ConnectButton.js +68 -72
- package/dist/ConnectButton.js.map +1 -1
- package/dist/ConnectButton.mjs +43 -47
- package/dist/ConnectButton.mjs.map +1 -1
- package/dist/{ConnectButton.module-O3M32YJK.module.css → ConnectButton.module-AR6WQXQS.module.css} +0 -3
- package/dist/WalletDropdown.d.mts +20 -5
- package/dist/WalletDropdown.d.ts +20 -5
- package/dist/WalletDropdown.js +31 -28
- package/dist/WalletDropdown.js.map +1 -1
- package/dist/WalletDropdown.mjs +19 -16
- package/dist/WalletDropdown.mjs.map +1 -1
- package/dist/WalletModal.d.mts +13 -2
- package/dist/WalletModal.d.ts +13 -2
- package/dist/WalletModal.js +28 -30
- package/dist/WalletModal.js.map +1 -1
- package/dist/WalletModal.mjs +15 -17
- package/dist/WalletModal.mjs.map +1 -1
- package/package.json +6 -1
package/dist/ConnectButton.mjs
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
// src/components/ConnectButton/ConnectButton.tsx
|
|
4
4
|
import { useState as useState4 } from "react";
|
|
5
|
-
import styles9 from "./ConnectButton.module-
|
|
6
|
-
import { useConnector as
|
|
5
|
+
import styles9 from "./ConnectButton.module-AR6WQXQS.module.css";
|
|
6
|
+
import { useConnector as useConnector3 } from "@solana/connector";
|
|
7
7
|
|
|
8
8
|
// src/components/shared/Button/Button.tsx
|
|
9
|
-
import
|
|
9
|
+
import { forwardRef } from "react";
|
|
10
10
|
import { Button as BaseButton } from "@base-ui/react/button";
|
|
11
|
-
import styles from "./Button.module-
|
|
11
|
+
import styles from "./Button.module-QCTUNBHA.module.css";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
|
-
var Button =
|
|
13
|
+
var Button = forwardRef(
|
|
14
14
|
({ className, variant = "default", size = "default", ...props }, ref) => {
|
|
15
15
|
return /* @__PURE__ */ jsx(
|
|
16
16
|
BaseButton,
|
|
@@ -48,17 +48,17 @@ import { useEffect, useState as useState2, useSyncExternalStore } from "react";
|
|
|
48
48
|
import styles6 from "./WalletModal.module-ZRTJGOQY.module.css";
|
|
49
49
|
|
|
50
50
|
// src/components/shared/Dialog/Dialog.tsx
|
|
51
|
-
import * as React2 from "react";
|
|
52
51
|
import { Dialog as BaseDialog } from "@base-ui/react/dialog";
|
|
53
52
|
import { X } from "lucide-react";
|
|
54
53
|
import styles2 from "./Dialog.module-AYJTMDAD.module.css";
|
|
55
54
|
import clsx from "clsx";
|
|
55
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
56
56
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
57
57
|
var Dialog = BaseDialog.Root;
|
|
58
58
|
var DialogTrigger = BaseDialog.Trigger;
|
|
59
59
|
var DialogPortal = BaseDialog.Portal;
|
|
60
60
|
var DialogClose = BaseDialog.Close;
|
|
61
|
-
var DialogBackdrop =
|
|
61
|
+
var DialogBackdrop = forwardRef2(
|
|
62
62
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
63
63
|
BaseDialog.Backdrop,
|
|
64
64
|
{
|
|
@@ -69,7 +69,7 @@ var DialogBackdrop = React2.forwardRef(
|
|
|
69
69
|
)
|
|
70
70
|
);
|
|
71
71
|
DialogBackdrop.displayName = "DialogBackdrop";
|
|
72
|
-
var DialogContent =
|
|
72
|
+
var DialogContent = forwardRef2(
|
|
73
73
|
({ className, children, theme, showCloseButton = true, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
74
74
|
/* @__PURE__ */ jsx3(DialogBackdrop, { "data-theme": theme }),
|
|
75
75
|
/* @__PURE__ */ jsxs(
|
|
@@ -92,7 +92,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx3("div", { cl
|
|
|
92
92
|
DialogHeader.displayName = "DialogHeader";
|
|
93
93
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx3("div", { className: `${styles2.footer} ${className || ""}`, ...props });
|
|
94
94
|
DialogFooter.displayName = "DialogFooter";
|
|
95
|
-
var DialogTitle =
|
|
95
|
+
var DialogTitle = forwardRef2(
|
|
96
96
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
97
97
|
BaseDialog.Title,
|
|
98
98
|
{
|
|
@@ -103,7 +103,7 @@ var DialogTitle = React2.forwardRef(
|
|
|
103
103
|
)
|
|
104
104
|
);
|
|
105
105
|
DialogTitle.displayName = "DialogTitle";
|
|
106
|
-
var DialogDescription =
|
|
106
|
+
var DialogDescription = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
107
107
|
BaseDialog.Description,
|
|
108
108
|
{
|
|
109
109
|
ref,
|
|
@@ -367,12 +367,12 @@ var CustomQRCode_default = CustomQRCode;
|
|
|
367
367
|
import { SiWalletconnect } from "react-icons/si";
|
|
368
368
|
|
|
369
369
|
// src/components/shared/Collapsible/Collapsible.tsx
|
|
370
|
-
import * as React3 from "react";
|
|
371
370
|
import { Collapsible as BaseCollapsible } from "@base-ui/react/collapsible";
|
|
372
371
|
import styles4 from "./Collapsible.module-F4VIL5FH.module.css";
|
|
372
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
373
373
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
374
374
|
var Collapsible = BaseCollapsible.Root;
|
|
375
|
-
var CollapsibleTrigger =
|
|
375
|
+
var CollapsibleTrigger = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
376
376
|
BaseCollapsible.Trigger,
|
|
377
377
|
{
|
|
378
378
|
ref,
|
|
@@ -381,7 +381,7 @@ var CollapsibleTrigger = React3.forwardRef(({ className, ...props }, ref) => /*
|
|
|
381
381
|
}
|
|
382
382
|
));
|
|
383
383
|
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
384
|
-
var CollapsibleContent =
|
|
384
|
+
var CollapsibleContent = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
385
385
|
BaseCollapsible.Panel,
|
|
386
386
|
{
|
|
387
387
|
ref,
|
|
@@ -428,11 +428,9 @@ function WalletModal(props) {
|
|
|
428
428
|
CN_Modal,
|
|
429
429
|
theme = "light",
|
|
430
430
|
open,
|
|
431
|
-
onOpenChange
|
|
432
|
-
walletConnectUri,
|
|
433
|
-
onClearWalletConnectUri
|
|
431
|
+
onOpenChange
|
|
434
432
|
} = props;
|
|
435
|
-
const { walletStatus: { status }, isConnecting, connectorId, connectors, connectWallet, disconnectWallet } = useConnector();
|
|
433
|
+
const { walletConnectUri, clearWalletConnectUri, walletStatus: { status }, isConnecting, connectorId, connectors, connectWallet, disconnectWallet } = useConnector();
|
|
436
434
|
const [connectingConnectorId, setConnectingConnectorId] = useState2(null);
|
|
437
435
|
const [isOtherWalletsOpen, setIsOtherWalletsOpen] = useState2(false);
|
|
438
436
|
const [errorConnectorId, setErrorConnectorId] = useState2(null);
|
|
@@ -458,7 +456,7 @@ function WalletModal(props) {
|
|
|
458
456
|
const walletConnectConnector = (_a = connectors.find((c) => c.name === "WalletConnect")) != null ? _a : null;
|
|
459
457
|
const isWalletConnectFlow = !!walletConnectConnector && (connectingConnectorId === walletConnectConnector.id || status === "connecting" && connectorId === walletConnectConnector.id) || !!walletConnectUri;
|
|
460
458
|
function cancelConnection() {
|
|
461
|
-
|
|
459
|
+
clearWalletConnectUri == null ? void 0 : clearWalletConnectUri();
|
|
462
460
|
setConnectingConnectorId(null);
|
|
463
461
|
disconnectWallet().catch(() => {
|
|
464
462
|
});
|
|
@@ -472,7 +470,7 @@ function WalletModal(props) {
|
|
|
472
470
|
setConnectingConnectorId(connector.id);
|
|
473
471
|
try {
|
|
474
472
|
if (connector.name === "WalletConnect") {
|
|
475
|
-
|
|
473
|
+
clearWalletConnectUri == null ? void 0 : clearWalletConnectUri();
|
|
476
474
|
}
|
|
477
475
|
await connectWallet(connector.id);
|
|
478
476
|
localStorage.setItem("recentlyConnectedConnectorId", connector.id);
|
|
@@ -810,14 +808,14 @@ var WalletModal_default2 = WalletModal_default;
|
|
|
810
808
|
import clsx4 from "clsx";
|
|
811
809
|
|
|
812
810
|
// src/components/shared/Menu/Menu.tsx
|
|
813
|
-
import * as React4 from "react";
|
|
814
811
|
import { Menu as BaseMenu } from "@base-ui/react/menu";
|
|
815
812
|
import styles7 from "./Menu.module-6ATSLATI.module.css";
|
|
813
|
+
import { forwardRef as forwardRef4 } from "react";
|
|
816
814
|
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
817
815
|
var Menu = BaseMenu.Root;
|
|
818
816
|
var MenuPortal = BaseMenu.Portal;
|
|
819
817
|
var MenuGroup = BaseMenu.Group;
|
|
820
|
-
var MenuTrigger =
|
|
818
|
+
var MenuTrigger = forwardRef4(
|
|
821
819
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
822
820
|
BaseMenu.Trigger,
|
|
823
821
|
{
|
|
@@ -828,11 +826,11 @@ var MenuTrigger = React4.forwardRef(
|
|
|
828
826
|
)
|
|
829
827
|
);
|
|
830
828
|
MenuTrigger.displayName = "MenuTrigger";
|
|
831
|
-
var MenuPositioner =
|
|
829
|
+
var MenuPositioner = forwardRef4(
|
|
832
830
|
({ sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx8(BaseMenu.Positioner, { ref, sideOffset, ...props })
|
|
833
831
|
);
|
|
834
832
|
MenuPositioner.displayName = "MenuPositioner";
|
|
835
|
-
var MenuPopup =
|
|
833
|
+
var MenuPopup = forwardRef4(
|
|
836
834
|
({ className, theme, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
837
835
|
BaseMenu.Popup,
|
|
838
836
|
{
|
|
@@ -844,7 +842,7 @@ var MenuPopup = React4.forwardRef(
|
|
|
844
842
|
)
|
|
845
843
|
);
|
|
846
844
|
MenuPopup.displayName = "MenuPopup";
|
|
847
|
-
var MenuItem =
|
|
845
|
+
var MenuItem = forwardRef4(
|
|
848
846
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
849
847
|
BaseMenu.Item,
|
|
850
848
|
{
|
|
@@ -855,11 +853,11 @@ var MenuItem = React4.forwardRef(
|
|
|
855
853
|
)
|
|
856
854
|
);
|
|
857
855
|
MenuItem.displayName = "MenuItem";
|
|
858
|
-
var MenuSeparator =
|
|
856
|
+
var MenuSeparator = forwardRef4(
|
|
859
857
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx8(BaseMenu.Separator, { ref, className: `${styles7.separator} ${className || ""}`, ...props })
|
|
860
858
|
);
|
|
861
859
|
MenuSeparator.displayName = "MenuSeparator";
|
|
862
|
-
var MenuGroupLabel =
|
|
860
|
+
var MenuGroupLabel = forwardRef4(
|
|
863
861
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx8(BaseMenu.GroupLabel, { ref, className: `${styles7.groupLabel} ${className || ""}`, ...props })
|
|
864
862
|
);
|
|
865
863
|
MenuGroupLabel.displayName = "MenuGroupLabel";
|
|
@@ -873,7 +871,7 @@ import { isAddress } from "@solana/kit";
|
|
|
873
871
|
import styles8 from "./WalletDropdown.module-DOK7CUOQ.module.css";
|
|
874
872
|
import { motion } from "motion/react";
|
|
875
873
|
import { Check as Check2, ChevronLeft as ChevronLeft2, Copy as Copy2, Globe, LogOut, RefreshCw } from "lucide-react";
|
|
876
|
-
import { ClusterElement, DisconnectElement, useConnectorClient } from "@solana/connector";
|
|
874
|
+
import { ClusterElement, DisconnectElement, useConnector as useConnector2, useConnectorClient } from "@solana/connector";
|
|
877
875
|
import { clsx as clsx3 } from "clsx";
|
|
878
876
|
|
|
879
877
|
// src/utils/fetchBalance.tsx
|
|
@@ -910,7 +908,10 @@ async function getTokenBalance(client, pubkey, mintAddress) {
|
|
|
910
908
|
const pubkeyAddress = address(pubkey);
|
|
911
909
|
const mintPubkey = address(mintAddress);
|
|
912
910
|
const rpc = createSolanaRpc(rpcUrl);
|
|
913
|
-
const mintInfo = await rpc.getAccountInfo(
|
|
911
|
+
const mintInfo = await rpc.getAccountInfo(
|
|
912
|
+
mintPubkey,
|
|
913
|
+
{ encoding: "base64" }
|
|
914
|
+
).send();
|
|
914
915
|
const ownerProgram = (_a = mintInfo.value) == null ? void 0 : _a.owner;
|
|
915
916
|
if (!ownerProgram) {
|
|
916
917
|
throw new Error("Failed to fetch mint account info");
|
|
@@ -926,7 +927,6 @@ async function getTokenBalance(client, pubkey, mintAddress) {
|
|
|
926
927
|
balance = parseFloat(tokenBalance.value.uiAmountString);
|
|
927
928
|
}
|
|
928
929
|
} catch (error) {
|
|
929
|
-
console.error("Error fetching token balance:", error);
|
|
930
930
|
} finally {
|
|
931
931
|
return balance;
|
|
932
932
|
}
|
|
@@ -943,23 +943,24 @@ var networkColor = {
|
|
|
943
943
|
function WalletDropdown(props) {
|
|
944
944
|
const client = useConnectorClient();
|
|
945
945
|
const {
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
theme,
|
|
951
|
-
allowNetworkSwitch,
|
|
952
|
-
showSolBalance,
|
|
946
|
+
CN_DropdownMenu,
|
|
947
|
+
theme = "light",
|
|
948
|
+
allowNetworkSwitch = true,
|
|
949
|
+
showSolBalance = true,
|
|
953
950
|
showDefaultToken
|
|
954
951
|
} = props;
|
|
955
952
|
const [view, setView] = useState3("wallet");
|
|
956
953
|
const [copied, setCopied] = useState3(false);
|
|
954
|
+
const { account, connector } = useConnector2();
|
|
957
955
|
const fetchingSolBalance = useRef(false);
|
|
958
956
|
const [isFetchingBalance, setIsFetchingBalance] = useState3(false);
|
|
959
957
|
const fetchingDefaultToken = useRef(false);
|
|
960
958
|
const [isFetchingDefaultTokenBalance, setIsFetchingDefaultTokenBalance] = useState3(false);
|
|
961
959
|
const [solBalance, setSolBalance] = useState3(null);
|
|
962
960
|
const [defaultTokenBalance, setDefaultTokenBalance] = useState3(null);
|
|
961
|
+
const selectedAccount = account || "";
|
|
962
|
+
const walletName = (connector == null ? void 0 : connector.name) || "Unknown Wallet";
|
|
963
|
+
const walletIcon = (connector == null ? void 0 : connector.icon) || void 0;
|
|
963
964
|
const shortAddress = `${selectedAccount.slice(0, 4)}...${selectedAccount.slice(-4)}`;
|
|
964
965
|
async function handleCopy() {
|
|
965
966
|
try {
|
|
@@ -1010,7 +1011,7 @@ function WalletDropdown(props) {
|
|
|
1010
1011
|
animate: { opacity: 1 },
|
|
1011
1012
|
exit: { opacity: 0 },
|
|
1012
1013
|
transition: { duration: 0.2 },
|
|
1013
|
-
className: clsx3(styles8.WalletDropdown,
|
|
1014
|
+
className: clsx3(styles8.WalletDropdown, CN_DropdownMenu),
|
|
1014
1015
|
"data-theme": theme,
|
|
1015
1016
|
children: [
|
|
1016
1017
|
/* @__PURE__ */ jsxs4("div", { className: styles8.Header, children: [
|
|
@@ -1155,7 +1156,7 @@ function WalletDropdown(props) {
|
|
|
1155
1156
|
animate: { opacity: 1 },
|
|
1156
1157
|
exit: { opacity: 0 },
|
|
1157
1158
|
transition: { duration: 0.2 },
|
|
1158
|
-
className: clsx3(styles8.WalletDropdown,
|
|
1159
|
+
className: clsx3(styles8.WalletDropdown, CN_DropdownMenu),
|
|
1159
1160
|
"data-theme": theme,
|
|
1160
1161
|
children: [
|
|
1161
1162
|
/* @__PURE__ */ jsxs4("div", { className: styles8.NetworkHeader, children: [
|
|
@@ -1178,7 +1179,7 @@ function WalletDropdown(props) {
|
|
|
1178
1179
|
{
|
|
1179
1180
|
render: ({ cluster, clusters, setCluster }) => {
|
|
1180
1181
|
const currentClusterId = (cluster == null ? void 0 : cluster.id) || "solana:mainnet";
|
|
1181
|
-
return /* @__PURE__ */ jsx9("div", { className: styles8.networkOptions, children: clusters.map((network
|
|
1182
|
+
return /* @__PURE__ */ jsx9("div", { className: styles8.networkOptions, children: clusters.map((network) => {
|
|
1182
1183
|
const isSelected = currentClusterId === network.id;
|
|
1183
1184
|
return /* @__PURE__ */ jsxs4(
|
|
1184
1185
|
"div",
|
|
@@ -1236,7 +1237,7 @@ function ConnectButton(props) {
|
|
|
1236
1237
|
showDefaultToken
|
|
1237
1238
|
} = props;
|
|
1238
1239
|
const [isModalOpen, setIsModalOpen] = useState4(false);
|
|
1239
|
-
const { isConnected, isConnecting, account, connector, walletConnectUri, clearWalletConnectUri } =
|
|
1240
|
+
const { isConnected, isConnecting, account, connector, walletConnectUri, clearWalletConnectUri } = useConnector3();
|
|
1240
1241
|
if (isConnected && account && connector) {
|
|
1241
1242
|
const shortAddress = `${account.slice(0, 4)}...${account.slice(-4)}`;
|
|
1242
1243
|
const walletIcon = connector.icon || void 0;
|
|
@@ -1267,10 +1268,7 @@ function ConnectButton(props) {
|
|
|
1267
1268
|
/* @__PURE__ */ jsx10(MenuPortal, { children: /* @__PURE__ */ jsx10(MenuPositioner, { sideOffset: 8, align: "end", children: /* @__PURE__ */ jsx10(MenuPopup, { theme, children: /* @__PURE__ */ jsx10(
|
|
1268
1269
|
WalletDropdown_default2,
|
|
1269
1270
|
{
|
|
1270
|
-
|
|
1271
|
-
selectedAccount: account,
|
|
1272
|
-
walletIcon,
|
|
1273
|
-
walletName: connector.name,
|
|
1271
|
+
CN_DropdownMenu,
|
|
1274
1272
|
allowNetworkSwitch: true,
|
|
1275
1273
|
theme,
|
|
1276
1274
|
showSolBalance,
|
|
@@ -1305,9 +1303,7 @@ function ConnectButton(props) {
|
|
|
1305
1303
|
{
|
|
1306
1304
|
theme,
|
|
1307
1305
|
open: isModalOpen,
|
|
1308
|
-
onOpenChange
|
|
1309
|
-
walletConnectUri,
|
|
1310
|
-
onClearWalletConnectUri: clearWalletConnectUri
|
|
1306
|
+
onOpenChange
|
|
1311
1307
|
}
|
|
1312
1308
|
)
|
|
1313
1309
|
] });
|