@b3dotfun/sdk 0.0.33-alpha.2 → 0.0.33-alpha.4
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/cjs/anyspend/react/components/AnySpend.js +1 -1
- package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +16 -1
- package/dist/esm/anyspend/react/components/AnySpend.js +1 -1
- package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +16 -1
- package/package.json +1 -1
- package/src/anyspend/react/components/AnySpend.tsx +1 -0
- package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +15 -1
|
@@ -662,7 +662,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
662
662
|
setActivePanel(PanelView.MAIN);
|
|
663
663
|
setSelectedCryptoPaymentMethod(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE); // Reset payment method when going back
|
|
664
664
|
} })] })) }) }));
|
|
665
|
-
const mainView = ((0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [isBuyMode && ((0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && ((0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), (0, jsx_runtime_1.jsx)(TabSection_1.TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), (0, jsx_runtime_1.jsxs)("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? ((0, jsx_runtime_1.jsx)(PaySection_1.PaySection, { paymentType: "crypto", selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, selectedFiatPaymentMethod: selectedFiatPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), onSelectFiatPaymentMethod: () => setActivePanel(PanelView.FIAT_PAYMENT_METHOD), anyspendQuote: anyspendQuote })) : ((0, jsx_runtime_1.jsx)(react_3.motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: (0, jsx_runtime_1.jsx)(PanelOnramp_1.PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION }) })), (0, jsx_runtime_1.jsx)(react_2.Button, { variant: "ghost", className: (0, cn_1.cn)("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
|
|
665
|
+
const mainView = ((0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [isBuyMode && ((0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && ((0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), (0, jsx_runtime_1.jsx)(TabSection_1.TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), (0, jsx_runtime_1.jsxs)("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? ((0, jsx_runtime_1.jsx)(PaySection_1.PaySection, { paymentType: "crypto", selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, selectedFiatPaymentMethod: selectedFiatPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), onSelectFiatPaymentMethod: () => setActivePanel(PanelView.FIAT_PAYMENT_METHOD), anyspendQuote: anyspendQuote })) : ((0, jsx_runtime_1.jsx)(react_3.motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: (0, jsx_runtime_1.jsx)(PanelOnramp_1.PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, hideDstToken: isBuyMode }) })), (0, jsx_runtime_1.jsx)(react_2.Button, { variant: "ghost", className: (0, cn_1.cn)("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
|
|
666
666
|
if (activeTab === "fiat" || isBuyMode) {
|
|
667
667
|
return;
|
|
668
668
|
}
|
|
@@ -9,6 +9,7 @@ const react_1 = require("react");
|
|
|
9
9
|
const sonner_1 = require("sonner");
|
|
10
10
|
const react_2 = require("thirdweb/react");
|
|
11
11
|
const wallets_1 = require("thirdweb/wallets");
|
|
12
|
+
const useSiwe_1 = require("../../hooks/useSiwe");
|
|
12
13
|
const useModalStore_1 = require("../../stores/useModalStore");
|
|
13
14
|
const profileDisplay_1 = require("../../utils/profileDisplay");
|
|
14
15
|
const useB3_1 = require("../B3Provider/useB3");
|
|
@@ -43,8 +44,9 @@ function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, pa
|
|
|
43
44
|
...(0, profileDisplay_1.getProfileDisplayInfo)(profile),
|
|
44
45
|
originalProfile: profile,
|
|
45
46
|
}));
|
|
46
|
-
const { account } = (0, useB3_1.useB3)();
|
|
47
|
+
const { account, setUser } = (0, useB3_1.useB3)();
|
|
47
48
|
const { mutate: linkProfile } = (0, react_2.useLinkProfile)();
|
|
49
|
+
const { authenticate } = (0, useSiwe_1.useSiwe)();
|
|
48
50
|
const onSuccess = (0, react_1.useCallback)(async () => {
|
|
49
51
|
await onSuccessCallback?.();
|
|
50
52
|
}, [onSuccessCallback]);
|
|
@@ -63,6 +65,19 @@ function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, chain, pa
|
|
|
63
65
|
setLinkingState(false);
|
|
64
66
|
onError?.(error);
|
|
65
67
|
},
|
|
68
|
+
onSuccess: async (data) => {
|
|
69
|
+
console.log("Raw Link Account Data:", data);
|
|
70
|
+
try {
|
|
71
|
+
if (account) {
|
|
72
|
+
console.log("Sync user data...");
|
|
73
|
+
const userAuth = await authenticate(account, partnerId);
|
|
74
|
+
setUser(userAuth.user);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (refreshError) {
|
|
78
|
+
console.warn("⚠️ Could not sync user data:", refreshError);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
66
81
|
};
|
|
67
82
|
const validateInput = () => {
|
|
68
83
|
if (selectedMethod === "email") {
|
|
@@ -655,7 +655,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
655
655
|
setActivePanel(PanelView.MAIN);
|
|
656
656
|
setSelectedCryptoPaymentMethod(CryptoPaymentMethodType.NONE); // Reset payment method when going back
|
|
657
657
|
} })] })) }) }));
|
|
658
|
-
const mainView = (_jsxs("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [isBuyMode && (_jsxs("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && (_jsx("div", { className: "relative", children: _jsx("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), _jsx("div", { children: _jsxs("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), _jsx(TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? (_jsx(PaySection, { paymentType: "crypto", selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, selectedFiatPaymentMethod: selectedFiatPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), onSelectFiatPaymentMethod: () => setActivePanel(PanelView.FIAT_PAYMENT_METHOD), anyspendQuote: anyspendQuote })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION }) })), _jsx(Button, { variant: "ghost", className: cn("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
|
|
658
|
+
const mainView = (_jsxs("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [isBuyMode && (_jsxs("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && (_jsx("div", { className: "relative", children: _jsx("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), _jsx("div", { children: _jsxs("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), _jsx(TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? (_jsx(PaySection, { paymentType: "crypto", selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, selectedFiatPaymentMethod: selectedFiatPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), onSelectFiatPaymentMethod: () => setActivePanel(PanelView.FIAT_PAYMENT_METHOD), anyspendQuote: anyspendQuote })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, hideDstToken: isBuyMode }) })), _jsx(Button, { variant: "ghost", className: cn("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
|
|
659
659
|
if (activeTab === "fiat" || isBuyMode) {
|
|
660
660
|
return;
|
|
661
661
|
}
|
|
@@ -6,6 +6,7 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
6
6
|
import { toast } from "sonner";
|
|
7
7
|
import { useLinkProfile, useProfiles } from "thirdweb/react";
|
|
8
8
|
import { preAuthenticate } from "thirdweb/wallets";
|
|
9
|
+
import { useSiwe } from "../../hooks/useSiwe.js";
|
|
9
10
|
import { useModalStore } from "../../stores/useModalStore.js";
|
|
10
11
|
import { getProfileDisplayInfo } from "../../utils/profileDisplay.js";
|
|
11
12
|
import { useB3 } from "../B3Provider/useB3.js";
|
|
@@ -40,8 +41,9 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
|
|
|
40
41
|
...getProfileDisplayInfo(profile),
|
|
41
42
|
originalProfile: profile,
|
|
42
43
|
}));
|
|
43
|
-
const { account } = useB3();
|
|
44
|
+
const { account, setUser } = useB3();
|
|
44
45
|
const { mutate: linkProfile } = useLinkProfile();
|
|
46
|
+
const { authenticate } = useSiwe();
|
|
45
47
|
const onSuccess = useCallback(async () => {
|
|
46
48
|
await onSuccessCallback?.();
|
|
47
49
|
}, [onSuccessCallback]);
|
|
@@ -60,6 +62,19 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
|
|
|
60
62
|
setLinkingState(false);
|
|
61
63
|
onError?.(error);
|
|
62
64
|
},
|
|
65
|
+
onSuccess: async (data) => {
|
|
66
|
+
console.log("Raw Link Account Data:", data);
|
|
67
|
+
try {
|
|
68
|
+
if (account) {
|
|
69
|
+
console.log("Sync user data...");
|
|
70
|
+
const userAuth = await authenticate(account, partnerId);
|
|
71
|
+
setUser(userAuth.user);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (refreshError) {
|
|
75
|
+
console.warn("⚠️ Could not sync user data:", refreshError);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
63
78
|
};
|
|
64
79
|
const validateInput = () => {
|
|
65
80
|
if (selectedMethod === "email") {
|
package/package.json
CHANGED
|
@@ -890,6 +890,7 @@ function AnySpendInner({
|
|
|
890
890
|
onDestinationChainChange={setSelectedDstChainId}
|
|
891
891
|
fiatPaymentMethodIndex={PanelView.FIAT_PAYMENT_METHOD}
|
|
892
892
|
recipientSelectionPanelIndex={PanelView.RECIPIENT_SELECTION}
|
|
893
|
+
hideDstToken={isBuyMode}
|
|
893
894
|
/>
|
|
894
895
|
</motion.div>
|
|
895
896
|
)}
|
|
@@ -5,6 +5,7 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
5
5
|
import { toast } from "sonner";
|
|
6
6
|
import { useLinkProfile, useProfiles } from "thirdweb/react";
|
|
7
7
|
import { preAuthenticate } from "thirdweb/wallets";
|
|
8
|
+
import { useSiwe } from "../../hooks/useSiwe";
|
|
8
9
|
import { LinkAccountModalProps, useModalStore } from "../../stores/useModalStore";
|
|
9
10
|
import { getProfileDisplayInfo } from "../../utils/profileDisplay";
|
|
10
11
|
import { useB3 } from "../B3Provider/useB3";
|
|
@@ -63,8 +64,9 @@ export function LinkAccount({
|
|
|
63
64
|
originalProfile: profile,
|
|
64
65
|
}));
|
|
65
66
|
|
|
66
|
-
const { account } = useB3();
|
|
67
|
+
const { account, setUser } = useB3();
|
|
67
68
|
const { mutate: linkProfile } = useLinkProfile();
|
|
69
|
+
const { authenticate } = useSiwe();
|
|
68
70
|
|
|
69
71
|
const onSuccess = useCallback(async () => {
|
|
70
72
|
await onSuccessCallback?.();
|
|
@@ -86,6 +88,18 @@ export function LinkAccount({
|
|
|
86
88
|
setLinkingState(false);
|
|
87
89
|
onError?.(error);
|
|
88
90
|
},
|
|
91
|
+
onSuccess: async (data: any) => {
|
|
92
|
+
console.log("Raw Link Account Data:", data);
|
|
93
|
+
try {
|
|
94
|
+
if (account) {
|
|
95
|
+
console.log("Sync user data...");
|
|
96
|
+
const userAuth = await authenticate(account, partnerId);
|
|
97
|
+
setUser(userAuth.user);
|
|
98
|
+
}
|
|
99
|
+
} catch (refreshError) {
|
|
100
|
+
console.warn("⚠️ Could not sync user data:", refreshError);
|
|
101
|
+
}
|
|
102
|
+
},
|
|
89
103
|
};
|
|
90
104
|
|
|
91
105
|
const validateInput = () => {
|