@b3dotfun/sdk 0.0.43 → 0.0.44-alpha.1
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 +82 -24
- package/dist/cjs/anyspend/react/components/common/OrderDetails.js +2 -7
- package/dist/cjs/anyspend/react/components/common/OrderHistoryItem.js +1 -6
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.d.ts +1 -0
- package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.js +3 -3
- package/dist/cjs/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +2 -0
- package/dist/cjs/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +48 -0
- package/dist/cjs/anyspend/types/api.d.ts +15 -20
- package/dist/cjs/anyspend/utils/orderPayload.js +0 -4
- package/dist/cjs/shared/react/hooks/useCurrencyConversion.d.ts +1 -1
- package/dist/cjs/shared/react/hooks/useCurrencyConversion.js +30 -12
- package/dist/esm/anyspend/react/components/AnySpend.js +82 -24
- package/dist/esm/anyspend/react/components/common/OrderDetails.js +2 -7
- package/dist/esm/anyspend/react/components/common/OrderHistoryItem.js +1 -6
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.d.ts +1 -0
- package/dist/esm/anyspend/react/hooks/useAnyspendFlow.js +3 -3
- package/dist/esm/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +2 -0
- package/dist/esm/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +48 -0
- package/dist/esm/anyspend/types/api.d.ts +15 -20
- package/dist/esm/anyspend/utils/orderPayload.js +0 -4
- package/dist/esm/shared/react/hooks/useCurrencyConversion.d.ts +1 -1
- package/dist/esm/shared/react/hooks/useCurrencyConversion.js +30 -12
- package/dist/types/anyspend/react/hooks/useAnyspendFlow.d.ts +1 -0
- package/dist/types/anyspend/react/hooks/useAnyspendOrderAndTransactions.d.ts +2 -0
- package/dist/types/anyspend/react/hooks/useAnyspendOrderHistory.d.ts +48 -0
- package/dist/types/anyspend/types/api.d.ts +15 -20
- package/dist/types/shared/react/hooks/useCurrencyConversion.d.ts +1 -1
- package/package.json +1 -1
- package/src/anyspend/react/components/AnySpend.tsx +93 -28
- package/src/anyspend/react/components/common/OrderDetails.tsx +3 -9
- package/src/anyspend/react/components/common/OrderHistoryItem.tsx +1 -7
- package/src/anyspend/react/hooks/useAnyspendFlow.ts +3 -3
- package/src/anyspend/types/api.ts +15 -20
- package/src/anyspend/utils/orderPayload.ts +0 -4
- package/src/shared/react/hooks/useCurrencyConversion.ts +39 -12
|
@@ -59,11 +59,27 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
59
59
|
const lastUrlUpdate = (0, react_4.useRef)(null);
|
|
60
60
|
// Track if onSuccess has been called for the current order
|
|
61
61
|
const onSuccessCalled = (0, react_4.useRef)(false);
|
|
62
|
+
// Track animation direction for TransitionPanel
|
|
63
|
+
const animationDirection = (0, react_4.useRef)(null);
|
|
64
|
+
// Track previous panel for proper back navigation
|
|
65
|
+
const previousPanel = (0, react_4.useRef)(PanelView.MAIN);
|
|
62
66
|
const [activeTab, setActiveTab] = (0, react_4.useState)(defaultActiveTab);
|
|
63
67
|
const [orderId, setOrderId] = (0, react_4.useState)(loadOrder);
|
|
64
68
|
const { orderAndTransactions: oat, getOrderAndTransactionsError } = (0, react_1.useAnyspendOrderAndTransactions)(orderId);
|
|
65
69
|
!!getOrderAndTransactionsError && console.log("getOrderAndTransactionsError", getOrderAndTransactionsError);
|
|
66
70
|
const [activePanel, setActivePanel] = (0, react_4.useState)(loadOrder ? PanelView.ORDER_DETAILS : PanelView.MAIN);
|
|
71
|
+
// Helper functions to navigate with animation direction
|
|
72
|
+
const navigateToPanel = (0, react_4.useCallback)((panel, direction = "forward") => {
|
|
73
|
+
previousPanel.current = activePanel;
|
|
74
|
+
animationDirection.current = direction;
|
|
75
|
+
setActivePanel(panel);
|
|
76
|
+
}, [activePanel]);
|
|
77
|
+
const navigateBack = (0, react_4.useCallback)(() => {
|
|
78
|
+
animationDirection.current = "back";
|
|
79
|
+
// Navigate back to previous panel or default to MAIN
|
|
80
|
+
const targetPanel = previousPanel.current !== activePanel ? previousPanel.current : PanelView.MAIN;
|
|
81
|
+
setActivePanel(targetPanel);
|
|
82
|
+
}, [activePanel]);
|
|
67
83
|
const [customRecipients, setCustomRecipients] = (0, react_4.useState)([]);
|
|
68
84
|
// Add state for selected payment method
|
|
69
85
|
const [selectedCryptoPaymentMethod, setSelectedCryptoPaymentMethod] = (0, react_4.useState)(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE);
|
|
@@ -412,7 +428,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
412
428
|
const orderId = data.data.id;
|
|
413
429
|
setOrderId(orderId);
|
|
414
430
|
// setNewRecipientAddress("");
|
|
415
|
-
|
|
431
|
+
navigateToPanel(PanelView.ORDER_DETAILS, "forward");
|
|
416
432
|
// Debug: Check payment method before setting URL
|
|
417
433
|
console.log("Creating order - selectedCryptoPaymentMethod:", selectedCryptoPaymentMethod);
|
|
418
434
|
// Add orderId and payment method to URL for persistence
|
|
@@ -438,7 +454,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
438
454
|
onSuccess: data => {
|
|
439
455
|
const orderId = data.data.id;
|
|
440
456
|
setOrderId(orderId);
|
|
441
|
-
|
|
457
|
+
navigateToPanel(PanelView.ORDER_DETAILS, "forward");
|
|
442
458
|
// Add orderId and payment method to URL for persistence
|
|
443
459
|
const params = new URLSearchParams(searchParams.toString());
|
|
444
460
|
params.set("orderId", orderId);
|
|
@@ -501,7 +517,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
501
517
|
if (btnInfo.disable)
|
|
502
518
|
return;
|
|
503
519
|
if (!recipientAddress) {
|
|
504
|
-
|
|
520
|
+
navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward");
|
|
505
521
|
return;
|
|
506
522
|
}
|
|
507
523
|
try {
|
|
@@ -510,7 +526,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
510
526
|
if (activeTab === "fiat") {
|
|
511
527
|
// If no fiat payment method selected, show payment method selection
|
|
512
528
|
if (selectedFiatPaymentMethod === FiatPaymentMethod_1.FiatPaymentMethod.NONE) {
|
|
513
|
-
|
|
529
|
+
navigateToPanel(PanelView.FIAT_PAYMENT_METHOD, "forward");
|
|
514
530
|
return;
|
|
515
531
|
}
|
|
516
532
|
// If payment method is selected, create order directly
|
|
@@ -521,7 +537,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
521
537
|
// If no payment method selected, show payment method selection
|
|
522
538
|
if (selectedCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE) {
|
|
523
539
|
console.log("No payment method selected, showing selection panel");
|
|
524
|
-
|
|
540
|
+
navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward");
|
|
525
541
|
return;
|
|
526
542
|
}
|
|
527
543
|
// If payment method is selected, create order with payment method info
|
|
@@ -541,7 +557,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
541
557
|
};
|
|
542
558
|
const onClickHistory = () => {
|
|
543
559
|
setOrderId(undefined);
|
|
544
|
-
|
|
560
|
+
navigateToPanel(PanelView.HISTORY, "forward");
|
|
545
561
|
// Remove orderId and paymentMethod from URL when going back to history
|
|
546
562
|
const params = new URLSearchParams(searchParams.toString());
|
|
547
563
|
params.delete("orderId");
|
|
@@ -654,8 +670,8 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
654
670
|
}
|
|
655
671
|
}, [searchParams, loadOrder]);
|
|
656
672
|
const onSelectOrder = (selectedOrderId) => {
|
|
657
|
-
setActivePanel(PanelView.MAIN);
|
|
658
673
|
setOrderId(selectedOrderId);
|
|
674
|
+
navigateToPanel(PanelView.ORDER_DETAILS, "forward");
|
|
659
675
|
// Update URL with the new orderId and preserve existing parameters
|
|
660
676
|
const params = new URLSearchParams(searchParams.toString());
|
|
661
677
|
params.set("orderId", selectedOrderId);
|
|
@@ -675,13 +691,49 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
675
691
|
(0, react_4.useEffect)(() => {
|
|
676
692
|
window.scrollTo({ top: 0, behavior: "smooth" });
|
|
677
693
|
}, [activePanel]);
|
|
678
|
-
|
|
694
|
+
// Handle browser back button for recipient selection and payment method views
|
|
695
|
+
(0, react_4.useEffect)(() => {
|
|
696
|
+
// Push a new history state when navigating to specific panels
|
|
697
|
+
if (activePanel === PanelView.RECIPIENT_SELECTION) {
|
|
698
|
+
window.history.pushState({ panel: "recipient-selection" }, "");
|
|
699
|
+
}
|
|
700
|
+
else if (activePanel === PanelView.CRYPTO_PAYMENT_METHOD) {
|
|
701
|
+
window.history.pushState({ panel: "crypto-payment-method" }, "");
|
|
702
|
+
}
|
|
703
|
+
else if (activePanel === PanelView.FIAT_PAYMENT_METHOD) {
|
|
704
|
+
window.history.pushState({ panel: "fiat-payment-method" }, "");
|
|
705
|
+
}
|
|
706
|
+
// Listen for popstate event (browser back button)
|
|
707
|
+
const handlePopState = (event) => {
|
|
708
|
+
if (activePanel === PanelView.RECIPIENT_SELECTION ||
|
|
709
|
+
activePanel === PanelView.CRYPTO_PAYMENT_METHOD ||
|
|
710
|
+
activePanel === PanelView.FIAT_PAYMENT_METHOD) {
|
|
711
|
+
// User pressed back while on these panels
|
|
712
|
+
event.preventDefault();
|
|
713
|
+
navigateBack();
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
window.addEventListener("popstate", handlePopState);
|
|
717
|
+
return () => {
|
|
718
|
+
window.removeEventListener("popstate", handlePopState);
|
|
719
|
+
};
|
|
720
|
+
}, [activePanel, navigateBack]);
|
|
721
|
+
const historyView = ((0, jsx_runtime_1.jsx)("div", { className: "mx-auto flex w-[560px] max-w-full flex-col items-center", children: (0, jsx_runtime_1.jsx)(OrderHistory_1.OrderHistory, { mode: mode, onBack: navigateBack, onSelectOrder: onSelectOrder }) }));
|
|
679
722
|
const orderDetailsView = ((0, jsx_runtime_1.jsx)("div", { className: "mx-auto w-[460px] max-w-full", children: (0, jsx_runtime_1.jsx)("div", { className: "relative flex flex-col gap-4", children: oat && ((0, jsx_runtime_1.jsx)(OrderDetails_1.OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, onBack: () => {
|
|
680
723
|
setOrderId(undefined);
|
|
681
|
-
|
|
724
|
+
navigateBack();
|
|
682
725
|
setSelectedCryptoPaymentMethod(CryptoPaymentMethod_1.CryptoPaymentMethodType.NONE); // Reset payment method when going back
|
|
683
726
|
} })) }) }));
|
|
684
|
-
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)(CryptoPaySection_1.CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onSelectCryptoPaymentMethod: () =>
|
|
727
|
+
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)(CryptoPaySection_1.CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward"), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect })) : ((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: (panelIndex) => {
|
|
728
|
+
// Map panel index to navigation with direction
|
|
729
|
+
const panelsWithForwardNav = [PanelView.FIAT_PAYMENT_METHOD, PanelView.RECIPIENT_SELECTION];
|
|
730
|
+
if (panelsWithForwardNav.includes(panelIndex)) {
|
|
731
|
+
navigateToPanel(panelIndex, "forward");
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
setActivePanel(panelIndex);
|
|
735
|
+
}
|
|
736
|
+
}, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, hideDstToken: isBuyMode, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward"), customUsdInputValues: customUsdInputValues }) })), (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: () => {
|
|
685
737
|
if (activeTab === "fiat" || isBuyMode) {
|
|
686
738
|
return;
|
|
687
739
|
}
|
|
@@ -700,13 +752,13 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
700
752
|
const tempDstAmount = dstAmount;
|
|
701
753
|
setSrcAmount(tempDstAmount);
|
|
702
754
|
setDstAmount(tempSrcAmount);
|
|
703
|
-
}, children: (0, jsx_runtime_1.jsx)("div", { className: "relative flex items-center justify-center transition-opacity", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }), activeTab === "crypto" && ((0, jsx_runtime_1.jsx)(CryptoReceiveSection_1.CryptoReceiveSection, { isDepositMode: false, isBuyMode: isBuyMode, selectedRecipientAddress: recipientAddress, recipientName: recipientName || undefined, onSelectRecipient: () =>
|
|
755
|
+
}, children: (0, jsx_runtime_1.jsx)("div", { className: "relative flex items-center justify-center transition-opacity", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }), activeTab === "crypto" && ((0, jsx_runtime_1.jsx)(CryptoReceiveSection_1.CryptoReceiveSection, { isDepositMode: false, isBuyMode: isBuyMode, selectedRecipientAddress: recipientAddress, recipientName: recipientName || undefined, onSelectRecipient: () => navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward"), dstAmount: dstAmount, dstToken: selectedDstToken, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: setSelectedDstChainId, setSelectedDstToken: setSelectedDstToken, onChangeDstAmount: value => {
|
|
704
756
|
setIsSrcInputDirty(false);
|
|
705
757
|
setDstAmount(value);
|
|
706
|
-
}, anyspendQuote: anyspendQuote, onShowPointsDetail: () =>
|
|
758
|
+
}, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward") }))] }), (0, jsx_runtime_1.jsx)(ErrorSection_1.ErrorSection, { error: getAnyspendQuoteError }), (0, jsx_runtime_1.jsxs)(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.2, ease: "easeInOut" }, className: (0, cn_1.cn)("mt-4 flex w-full max-w-[460px] flex-col gap-2", getAnyspendQuoteError && "mt-0"), children: [(0, jsx_runtime_1.jsx)(react_2.ShinyButton, { accentColor: "hsl(var(--as-brand))", disabled: btnInfo.disable, onClick: onMainButtonClick, className: (0, cn_1.cn)("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: (0, cn_1.cn)(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: btnInfo.text }), !hideTransactionHistoryButton && (globalAddress || recipientAddress) ? ((0, jsx_runtime_1.jsxs)(react_2.Button, { variant: "link", onClick: onClickHistory, className: "text-as-primary/50 hover:text-as-primary flex items-center gap-1 transition-colors", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.HistoryIcon, { className: "h-4 w-4" }), " ", (0, jsx_runtime_1.jsx)("span", { className: "pr-4", children: "Transaction History" })] })) : null] })] }));
|
|
707
759
|
const onrampPaymentView = ((0, jsx_runtime_1.jsx)(PanelOnrampPayment_1.PanelOnrampPayment, { srcAmountOnRamp: srcAmountOnRamp, recipientName: recipientName || undefined, recipientAddress: recipientAddress, isBuyMode: isBuyMode, destinationTokenChainId: destinationTokenChainId, destinationTokenAddress: destinationTokenAddress, selectedDstChainId: selectedDstChainId, selectedDstToken: selectedDstToken, orderType: "swap", anyspendQuote: anyspendQuote, globalAddress: globalAddress, onOrderCreated: orderId => {
|
|
708
760
|
setOrderId(orderId);
|
|
709
|
-
|
|
761
|
+
navigateToPanel(PanelView.ORDER_DETAILS, "forward");
|
|
710
762
|
// Add orderId and payment method to URL for persistence
|
|
711
763
|
const params = new URLSearchParams(searchParams.toString()); // Preserve existing params
|
|
712
764
|
params.set("orderId", orderId);
|
|
@@ -718,20 +770,20 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
718
770
|
params.set("paymentMethod", selectedCryptoPaymentMethod);
|
|
719
771
|
}
|
|
720
772
|
router.push(`${window.location.pathname}?${params.toString()}`);
|
|
721
|
-
}, onBack:
|
|
722
|
-
const recipientSelectionView = ((0, jsx_runtime_1.jsx)(RecipientSelection_1.RecipientSelection, { initialValue: recipientAddress || "", onBack:
|
|
773
|
+
}, onBack: navigateBack, recipientEnsName: globalWallet?.ensName, recipientImageUrl: globalWallet?.meta?.icon }));
|
|
774
|
+
const recipientSelectionView = ((0, jsx_runtime_1.jsx)(RecipientSelection_1.RecipientSelection, { initialValue: recipientAddress || "", onBack: navigateBack, onConfirm: address => {
|
|
723
775
|
setRecipientAddress(address);
|
|
724
|
-
|
|
776
|
+
navigateBack();
|
|
725
777
|
} }));
|
|
726
|
-
const cryptoPaymentMethodView = ((0, jsx_runtime_1.jsx)(CryptoPaymentMethod_1.CryptoPaymentMethod, { globalAddress: globalAddress, globalWallet: globalWallet, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack:
|
|
778
|
+
const cryptoPaymentMethodView = ((0, jsx_runtime_1.jsx)(CryptoPaymentMethod_1.CryptoPaymentMethod, { globalAddress: globalAddress, globalWallet: globalWallet, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: navigateBack, onSelectPaymentMethod: (method) => {
|
|
727
779
|
setSelectedCryptoPaymentMethod(method);
|
|
728
|
-
|
|
780
|
+
navigateBack();
|
|
729
781
|
} }));
|
|
730
|
-
const fiatPaymentMethodView = ((0, jsx_runtime_1.jsx)(FiatPaymentMethod_1.FiatPaymentMethodComponent, { selectedPaymentMethod: selectedFiatPaymentMethod, setSelectedPaymentMethod: setSelectedFiatPaymentMethod, onBack:
|
|
782
|
+
const fiatPaymentMethodView = ((0, jsx_runtime_1.jsx)(FiatPaymentMethod_1.FiatPaymentMethodComponent, { selectedPaymentMethod: selectedFiatPaymentMethod, setSelectedPaymentMethod: setSelectedFiatPaymentMethod, onBack: navigateBack, onSelectPaymentMethod: (method) => {
|
|
731
783
|
setSelectedFiatPaymentMethod(method);
|
|
732
|
-
|
|
784
|
+
navigateBack(); // Go back to main panel to show updated pricing
|
|
733
785
|
}, srcAmountOnRamp: srcAmountOnRamp }));
|
|
734
|
-
const pointsDetailView = ((0, jsx_runtime_1.jsx)(PointsDetailPanel_1.PointsDetailPanel, { pointsAmount: anyspendQuote?.data?.pointsAmount || 0, onBack:
|
|
786
|
+
const pointsDetailView = ((0, jsx_runtime_1.jsx)(PointsDetailPanel_1.PointsDetailPanel, { pointsAmount: anyspendQuote?.data?.pointsAmount || 0, onBack: navigateBack }));
|
|
735
787
|
// Add tabs to the main component when no order is loaded
|
|
736
788
|
return ((0, jsx_runtime_1.jsx)(react_2.StyleRoot, { children: (0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)("anyspend-container font-inter mx-auto w-full max-w-[460px]", mode === "page" &&
|
|
737
789
|
"bg-as-surface-primary border-as-border-secondary overflow-hidden rounded-2xl border shadow-xl"), children: (0, jsx_runtime_1.jsx)(react_2.TransitionPanel, { activeIndex: orderId
|
|
@@ -742,10 +794,16 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
|
|
|
742
794
|
? PanelView.MAIN
|
|
743
795
|
: activePanel, className: (0, cn_1.cn)("rounded-2xl", {
|
|
744
796
|
"mt-0": mode === "modal",
|
|
745
|
-
}), variants: {
|
|
746
|
-
enter:
|
|
797
|
+
}), custom: animationDirection.current, variants: {
|
|
798
|
+
enter: direction => ({
|
|
799
|
+
x: direction === "back" ? -300 : 300,
|
|
800
|
+
opacity: 0,
|
|
801
|
+
}),
|
|
747
802
|
center: { x: 0, opacity: 1 },
|
|
748
|
-
exit:
|
|
803
|
+
exit: direction => ({
|
|
804
|
+
x: direction === "back" ? 300 : -300,
|
|
805
|
+
opacity: 0,
|
|
806
|
+
}),
|
|
749
807
|
}, transition: { type: "spring", stiffness: 300, damping: 30 }, children: [
|
|
750
808
|
(0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)(mode === "page" && "p-6"), children: mainView }, "main-view"),
|
|
751
809
|
(0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)(mode === "page" && "p-6"), children: historyView }, "history-view"),
|
|
@@ -280,12 +280,7 @@ exports.OrderDetails = (0, react_4.memo)(function OrderDetails({ mode = "modal",
|
|
|
280
280
|
? "0"
|
|
281
281
|
: order.payload.expectedDstAmount.toString();
|
|
282
282
|
const formattedExpectedDstAmount = (0, number_1.formatTokenAmount)(BigInt(expectedDstAmount), dstToken.decimals);
|
|
283
|
-
const actualDstAmount = order.
|
|
284
|
-
order.type === "join_tournament" ||
|
|
285
|
-
order.type === "fund_tournament" ||
|
|
286
|
-
order.type === "custom"
|
|
287
|
-
? undefined
|
|
288
|
-
: order.payload.actualDstAmount;
|
|
283
|
+
const actualDstAmount = order.settlement?.actualDstAmount;
|
|
289
284
|
const formattedActualDstAmount = actualDstAmount
|
|
290
285
|
? (0, number_1.formatTokenAmount)(BigInt(actualDstAmount), dstToken.decimals)
|
|
291
286
|
: undefined;
|
|
@@ -487,7 +482,7 @@ exports.OrderDetails = (0, react_4.memo)(function OrderDetails({ mode = "modal",
|
|
|
487
482
|
? "Funding Tournament"
|
|
488
483
|
: "Processing Transaction", chainId: order.srcChain, tx: null, isProcessing: true, delay: 0.5 })) : ((0, jsx_runtime_1.jsx)(TransactionDetails, { title: order.onrampMetadata?.vendor === "stripe-web2"
|
|
489
484
|
? `Waiting for payment`
|
|
490
|
-
: `Waiting for deposit ${formattedDepositDeficit} ${srcToken.symbol}`, chainId: order.srcChain, tx: null, isProcessing: true, delay: 0.5 }))] }) })] }) }), !depositEnoughAmount && order.status
|
|
485
|
+
: `Waiting for deposit ${formattedDepositDeficit} ${srcToken.symbol}`, chainId: order.srcChain, tx: null, isProcessing: true, delay: 0.5 }))] }) })] }) }), depositTxs?.length > 0 && !depositEnoughAmount && order.status === "scanning_deposit_transaction" && ((0, jsx_runtime_1.jsx)(InsufficientDepositPayment_1.InsufficientDepositPayment, { order: order, srcToken: srcToken, depositDeficit: depositDeficit, phantomWalletAddress: phantomWalletAddress, txLoading: txLoading, isSwitchingOrExecuting: isSwitchingOrExecuting, onPayment: handlePayment }))] }));
|
|
491
486
|
}
|
|
492
487
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(OrderStatus_1.OrderStatus, { order: order, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod }), statusDisplay === "processing" && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: order.onrampMetadata ? ((0, jsx_runtime_1.jsx)(PaymentVendorUI_1.default, { order: order, dstTokenSymbol: dstToken.symbol })) : effectiveCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.CONNECT_WALLET ||
|
|
493
488
|
effectiveCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.GLOBAL_WALLET ? ((0, jsx_runtime_1.jsx)(ConnectWalletPayment_1.default, { order: order, onPayment: handlePayment, onCancel: handleBack, txLoading: txLoading, isSwitchingOrExecuting: isSwitchingOrExecuting, phantomWalletAddress: phantomWalletAddress, tournament: tournament, nft: nft, cryptoPaymentMethod: effectiveCryptoPaymentMethod, onPaymentMethodChange: onPaymentMethodChange })) : effectiveCryptoPaymentMethod === CryptoPaymentMethod_1.CryptoPaymentMethodType.TRANSFER_CRYPTO ? (
|
|
@@ -16,12 +16,7 @@ function OrderHistoryItem({ order, onSelectOrder, mode }) {
|
|
|
16
16
|
const nft = order.type === "mint_nft" ? order.metadata.nft : undefined;
|
|
17
17
|
const tournament = order.type === "join_tournament" || order.type === "fund_tournament" ? order.metadata.tournament : undefined;
|
|
18
18
|
const dstToken = order.metadata.dstToken;
|
|
19
|
-
const actualDstAmount = order.
|
|
20
|
-
order.type === "join_tournament" ||
|
|
21
|
-
order.type === "fund_tournament" ||
|
|
22
|
-
order.type === "custom"
|
|
23
|
-
? undefined
|
|
24
|
-
: order.payload.actualDstAmount;
|
|
19
|
+
const actualDstAmount = order.settlement?.actualDstAmount;
|
|
25
20
|
const expectedDstAmount = order.type === "mint_nft" ||
|
|
26
21
|
order.type === "join_tournament" ||
|
|
27
22
|
order.type === "fund_tournament" ||
|
|
@@ -36,6 +36,7 @@ export declare function useAnyspendFlow({ paymentType, recipientAddress, loadOrd
|
|
|
36
36
|
relayTxs: components["schemas"]["RelayTx"][];
|
|
37
37
|
executeTx: components["schemas"]["ExecuteTx"] | null;
|
|
38
38
|
refundTxs: components["schemas"]["RefundTx"][];
|
|
39
|
+
points: number | null;
|
|
39
40
|
};
|
|
40
41
|
statusCode: number;
|
|
41
42
|
} | undefined;
|
|
@@ -192,8 +192,8 @@ function useAnyspendFlow({ paymentType = "crypto", recipientAddress, loadOrder,
|
|
|
192
192
|
// Handle order completion
|
|
193
193
|
(0, react_3.useEffect)(() => {
|
|
194
194
|
if (oat?.data?.order.status === "executed") {
|
|
195
|
-
// get the actualDstAmount if available from
|
|
196
|
-
const amount = oat.data.order.
|
|
195
|
+
// get the actualDstAmount if available from settlement
|
|
196
|
+
const amount = oat.data.order.settlement?.actualDstAmount;
|
|
197
197
|
const formattedActualDstAmount = amount
|
|
198
198
|
? (0, number_1.formatTokenAmount)(BigInt(amount), oat.data.order.metadata.dstToken.decimals)
|
|
199
199
|
: undefined;
|
|
@@ -201,7 +201,7 @@ function useAnyspendFlow({ paymentType = "crypto", recipientAddress, loadOrder,
|
|
|
201
201
|
}
|
|
202
202
|
}, [
|
|
203
203
|
oat?.data?.order.status,
|
|
204
|
-
oat?.data?.order.
|
|
204
|
+
oat?.data?.order.settlement?.actualDstAmount,
|
|
205
205
|
onTransactionSuccess,
|
|
206
206
|
oat?.data?.order.metadata.dstToken.decimals,
|
|
207
207
|
]);
|
|
@@ -8,6 +8,7 @@ export declare function useAnyspendOrderAndTransactions(orderId: string | undefi
|
|
|
8
8
|
relayTxs: import("../..").components["schemas"]["RelayTx"][];
|
|
9
9
|
executeTx: import("../..").components["schemas"]["ExecuteTx"] | null;
|
|
10
10
|
refundTxs: import("../..").components["schemas"]["RefundTx"][];
|
|
11
|
+
points: number | null;
|
|
11
12
|
};
|
|
12
13
|
statusCode: number;
|
|
13
14
|
} | undefined;
|
|
@@ -22,6 +23,7 @@ export declare function useAnyspendOrderAndTransactions(orderId: string | undefi
|
|
|
22
23
|
relayTxs: import("../..").components["schemas"]["RelayTx"][];
|
|
23
24
|
executeTx: import("../..").components["schemas"]["ExecuteTx"] | null;
|
|
24
25
|
refundTxs: import("../..").components["schemas"]["RefundTx"][];
|
|
26
|
+
points: number | null;
|
|
25
27
|
};
|
|
26
28
|
statusCode: number;
|
|
27
29
|
}, Error>>;
|
|
@@ -12,11 +12,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
12
12
|
errorDetails: string | null;
|
|
13
13
|
createdAt: number;
|
|
14
14
|
expiredAt: number;
|
|
15
|
+
filledAt: number | null;
|
|
15
16
|
creatorAddress: string | null;
|
|
16
17
|
partnerId: string | null;
|
|
17
18
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
18
19
|
oneClickBuyUrl: string | null;
|
|
19
20
|
stripePaymentIntentId: string | null;
|
|
21
|
+
settlement: {
|
|
22
|
+
actualDstAmount: string | null;
|
|
23
|
+
} | null;
|
|
20
24
|
} & {
|
|
21
25
|
type: "swap";
|
|
22
26
|
payload: import("../..").components["schemas"]["SwapPayload"];
|
|
@@ -34,11 +38,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
34
38
|
errorDetails: string | null;
|
|
35
39
|
createdAt: number;
|
|
36
40
|
expiredAt: number;
|
|
41
|
+
filledAt: number | null;
|
|
37
42
|
creatorAddress: string | null;
|
|
38
43
|
partnerId: string | null;
|
|
39
44
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
40
45
|
oneClickBuyUrl: string | null;
|
|
41
46
|
stripePaymentIntentId: string | null;
|
|
47
|
+
settlement: {
|
|
48
|
+
actualDstAmount: string | null;
|
|
49
|
+
} | null;
|
|
42
50
|
} & {
|
|
43
51
|
type: "hype_duel";
|
|
44
52
|
payload: import("../..").components["schemas"]["HypeDuelPayload"];
|
|
@@ -56,11 +64,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
56
64
|
errorDetails: string | null;
|
|
57
65
|
createdAt: number;
|
|
58
66
|
expiredAt: number;
|
|
67
|
+
filledAt: number | null;
|
|
59
68
|
creatorAddress: string | null;
|
|
60
69
|
partnerId: string | null;
|
|
61
70
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
62
71
|
oneClickBuyUrl: string | null;
|
|
63
72
|
stripePaymentIntentId: string | null;
|
|
73
|
+
settlement: {
|
|
74
|
+
actualDstAmount: string | null;
|
|
75
|
+
} | null;
|
|
64
76
|
} & {
|
|
65
77
|
type: "custom";
|
|
66
78
|
payload: import("../..").components["schemas"]["CustomPayload"];
|
|
@@ -78,11 +90,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
78
90
|
errorDetails: string | null;
|
|
79
91
|
createdAt: number;
|
|
80
92
|
expiredAt: number;
|
|
93
|
+
filledAt: number | null;
|
|
81
94
|
creatorAddress: string | null;
|
|
82
95
|
partnerId: string | null;
|
|
83
96
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
84
97
|
oneClickBuyUrl: string | null;
|
|
85
98
|
stripePaymentIntentId: string | null;
|
|
99
|
+
settlement: {
|
|
100
|
+
actualDstAmount: string | null;
|
|
101
|
+
} | null;
|
|
86
102
|
} & {
|
|
87
103
|
type: "mint_nft";
|
|
88
104
|
payload: import("../..").components["schemas"]["MintNftPayload"];
|
|
@@ -100,11 +116,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
100
116
|
errorDetails: string | null;
|
|
101
117
|
createdAt: number;
|
|
102
118
|
expiredAt: number;
|
|
119
|
+
filledAt: number | null;
|
|
103
120
|
creatorAddress: string | null;
|
|
104
121
|
partnerId: string | null;
|
|
105
122
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
106
123
|
oneClickBuyUrl: string | null;
|
|
107
124
|
stripePaymentIntentId: string | null;
|
|
125
|
+
settlement: {
|
|
126
|
+
actualDstAmount: string | null;
|
|
127
|
+
} | null;
|
|
108
128
|
} & {
|
|
109
129
|
type: "join_tournament";
|
|
110
130
|
payload: import("../..").components["schemas"]["JoinTournamentPayload"];
|
|
@@ -122,11 +142,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
122
142
|
errorDetails: string | null;
|
|
123
143
|
createdAt: number;
|
|
124
144
|
expiredAt: number;
|
|
145
|
+
filledAt: number | null;
|
|
125
146
|
creatorAddress: string | null;
|
|
126
147
|
partnerId: string | null;
|
|
127
148
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
128
149
|
oneClickBuyUrl: string | null;
|
|
129
150
|
stripePaymentIntentId: string | null;
|
|
151
|
+
settlement: {
|
|
152
|
+
actualDstAmount: string | null;
|
|
153
|
+
} | null;
|
|
130
154
|
} & {
|
|
131
155
|
type: "fund_tournament";
|
|
132
156
|
payload: import("../..").components["schemas"]["FundTournamentPayload"];
|
|
@@ -147,11 +171,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
147
171
|
errorDetails: string | null;
|
|
148
172
|
createdAt: number;
|
|
149
173
|
expiredAt: number;
|
|
174
|
+
filledAt: number | null;
|
|
150
175
|
creatorAddress: string | null;
|
|
151
176
|
partnerId: string | null;
|
|
152
177
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
153
178
|
oneClickBuyUrl: string | null;
|
|
154
179
|
stripePaymentIntentId: string | null;
|
|
180
|
+
settlement: {
|
|
181
|
+
actualDstAmount: string | null;
|
|
182
|
+
} | null;
|
|
155
183
|
} & {
|
|
156
184
|
type: "swap";
|
|
157
185
|
payload: import("../..").components["schemas"]["SwapPayload"];
|
|
@@ -169,11 +197,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
169
197
|
errorDetails: string | null;
|
|
170
198
|
createdAt: number;
|
|
171
199
|
expiredAt: number;
|
|
200
|
+
filledAt: number | null;
|
|
172
201
|
creatorAddress: string | null;
|
|
173
202
|
partnerId: string | null;
|
|
174
203
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
175
204
|
oneClickBuyUrl: string | null;
|
|
176
205
|
stripePaymentIntentId: string | null;
|
|
206
|
+
settlement: {
|
|
207
|
+
actualDstAmount: string | null;
|
|
208
|
+
} | null;
|
|
177
209
|
} & {
|
|
178
210
|
type: "hype_duel";
|
|
179
211
|
payload: import("../..").components["schemas"]["HypeDuelPayload"];
|
|
@@ -191,11 +223,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
191
223
|
errorDetails: string | null;
|
|
192
224
|
createdAt: number;
|
|
193
225
|
expiredAt: number;
|
|
226
|
+
filledAt: number | null;
|
|
194
227
|
creatorAddress: string | null;
|
|
195
228
|
partnerId: string | null;
|
|
196
229
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
197
230
|
oneClickBuyUrl: string | null;
|
|
198
231
|
stripePaymentIntentId: string | null;
|
|
232
|
+
settlement: {
|
|
233
|
+
actualDstAmount: string | null;
|
|
234
|
+
} | null;
|
|
199
235
|
} & {
|
|
200
236
|
type: "custom";
|
|
201
237
|
payload: import("../..").components["schemas"]["CustomPayload"];
|
|
@@ -213,11 +249,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
213
249
|
errorDetails: string | null;
|
|
214
250
|
createdAt: number;
|
|
215
251
|
expiredAt: number;
|
|
252
|
+
filledAt: number | null;
|
|
216
253
|
creatorAddress: string | null;
|
|
217
254
|
partnerId: string | null;
|
|
218
255
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
219
256
|
oneClickBuyUrl: string | null;
|
|
220
257
|
stripePaymentIntentId: string | null;
|
|
258
|
+
settlement: {
|
|
259
|
+
actualDstAmount: string | null;
|
|
260
|
+
} | null;
|
|
221
261
|
} & {
|
|
222
262
|
type: "mint_nft";
|
|
223
263
|
payload: import("../..").components["schemas"]["MintNftPayload"];
|
|
@@ -235,11 +275,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
235
275
|
errorDetails: string | null;
|
|
236
276
|
createdAt: number;
|
|
237
277
|
expiredAt: number;
|
|
278
|
+
filledAt: number | null;
|
|
238
279
|
creatorAddress: string | null;
|
|
239
280
|
partnerId: string | null;
|
|
240
281
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
241
282
|
oneClickBuyUrl: string | null;
|
|
242
283
|
stripePaymentIntentId: string | null;
|
|
284
|
+
settlement: {
|
|
285
|
+
actualDstAmount: string | null;
|
|
286
|
+
} | null;
|
|
243
287
|
} & {
|
|
244
288
|
type: "join_tournament";
|
|
245
289
|
payload: import("../..").components["schemas"]["JoinTournamentPayload"];
|
|
@@ -257,11 +301,15 @@ export declare function useAnyspendOrderHistory(creatorAddress: string | undefin
|
|
|
257
301
|
errorDetails: string | null;
|
|
258
302
|
createdAt: number;
|
|
259
303
|
expiredAt: number;
|
|
304
|
+
filledAt: number | null;
|
|
260
305
|
creatorAddress: string | null;
|
|
261
306
|
partnerId: string | null;
|
|
262
307
|
onrampMetadata: import("../..").components["schemas"]["OnrampMetadata"] | null;
|
|
263
308
|
oneClickBuyUrl: string | null;
|
|
264
309
|
stripePaymentIntentId: string | null;
|
|
310
|
+
settlement: {
|
|
311
|
+
actualDstAmount: string | null;
|
|
312
|
+
} | null;
|
|
265
313
|
} & {
|
|
266
314
|
type: "fund_tournament";
|
|
267
315
|
payload: import("../..").components["schemas"]["FundTournamentPayload"];
|
|
@@ -434,6 +434,11 @@ export interface paths {
|
|
|
434
434
|
executeTx: components["schemas"]["ExecuteTx"] | null;
|
|
435
435
|
/** @description Refund transactions if order failed */
|
|
436
436
|
refundTxs: components["schemas"]["RefundTx"][];
|
|
437
|
+
/**
|
|
438
|
+
* @description Points awarded for this order (only present when order status is executed)
|
|
439
|
+
* @example 100
|
|
440
|
+
*/
|
|
441
|
+
points: number | null;
|
|
437
442
|
};
|
|
438
443
|
/** @example 200 */
|
|
439
444
|
statusCode: number;
|
|
@@ -1112,16 +1117,6 @@ export interface components {
|
|
|
1112
1117
|
* @example 990000
|
|
1113
1118
|
*/
|
|
1114
1119
|
expectedDstAmount: string;
|
|
1115
|
-
/**
|
|
1116
|
-
* @description Actual received amount (null for new orders)
|
|
1117
|
-
* @example 990000
|
|
1118
|
-
*/
|
|
1119
|
-
actualDstAmount: string | null;
|
|
1120
|
-
/**
|
|
1121
|
-
* @description Amount in after fee
|
|
1122
|
-
* @example 990000
|
|
1123
|
-
*/
|
|
1124
|
-
amountInAfterFee: string | null;
|
|
1125
1120
|
};
|
|
1126
1121
|
/** @description HypeDuel-specific payload */
|
|
1127
1122
|
HypeDuelPayload: {
|
|
@@ -1130,16 +1125,6 @@ export interface components {
|
|
|
1130
1125
|
* @example 990000
|
|
1131
1126
|
*/
|
|
1132
1127
|
expectedDstAmount: string;
|
|
1133
|
-
/**
|
|
1134
|
-
* @description Actual received amount (null for new orders)
|
|
1135
|
-
* @example 990000
|
|
1136
|
-
*/
|
|
1137
|
-
actualDstAmount: string | null;
|
|
1138
|
-
/**
|
|
1139
|
-
* @description Amount in after fee
|
|
1140
|
-
* @example 990000
|
|
1141
|
-
*/
|
|
1142
|
-
amountInAfterFee: string | null;
|
|
1143
1128
|
};
|
|
1144
1129
|
/** @description Custom execution payload */
|
|
1145
1130
|
CustomPayload: {
|
|
@@ -1307,6 +1292,8 @@ export interface components {
|
|
|
1307
1292
|
* @example 1752506694679
|
|
1308
1293
|
*/
|
|
1309
1294
|
expiredAt: number;
|
|
1295
|
+
/** @description Timestamp when the order was filled/executed */
|
|
1296
|
+
filledAt: number | null;
|
|
1310
1297
|
/**
|
|
1311
1298
|
* @description Optional creator address
|
|
1312
1299
|
* @example 0xb34facb90a200251318e8841c05102366f2158cf
|
|
@@ -1323,6 +1310,14 @@ export interface components {
|
|
|
1323
1310
|
* @example pi_3Rko0sJnoDg53PsP0PDLsHkR
|
|
1324
1311
|
*/
|
|
1325
1312
|
stripePaymentIntentId: string | null;
|
|
1313
|
+
/** @description Settlement information for executed orders */
|
|
1314
|
+
settlement: {
|
|
1315
|
+
/**
|
|
1316
|
+
* @description Actual received amount after execution
|
|
1317
|
+
* @example 990000
|
|
1318
|
+
*/
|
|
1319
|
+
actualDstAmount: string | null;
|
|
1320
|
+
} | null;
|
|
1326
1321
|
};
|
|
1327
1322
|
SwapOrder: components["schemas"]["BaseOrder"] & {
|
|
1328
1323
|
/**
|
|
@@ -8,8 +8,6 @@ const buildPayload = (orderType, params) => {
|
|
|
8
8
|
case "swap":
|
|
9
9
|
return {
|
|
10
10
|
expectedDstAmount,
|
|
11
|
-
actualDstAmount: null,
|
|
12
|
-
amountInAfterFee: null,
|
|
13
11
|
};
|
|
14
12
|
case "mint_nft":
|
|
15
13
|
if (nft?.type === "erc1155") {
|
|
@@ -46,8 +44,6 @@ const buildPayload = (orderType, params) => {
|
|
|
46
44
|
case "hype_duel":
|
|
47
45
|
return {
|
|
48
46
|
expectedDstAmount,
|
|
49
|
-
actualDstAmount: null,
|
|
50
|
-
amountInAfterFee: null,
|
|
51
47
|
};
|
|
52
48
|
default:
|
|
53
49
|
throw new Error(`Invalid order type: ${orderType}`);
|
|
@@ -20,7 +20,7 @@ export declare function useCurrencyConversion(): {
|
|
|
20
20
|
/** Base currency used for conversion (typically B3) */
|
|
21
21
|
baseCurrency: import("../stores/currencyStore").SupportedCurrency;
|
|
22
22
|
/** Current exchange rate from base to selected currency (undefined while loading) */
|
|
23
|
-
exchangeRate: number;
|
|
23
|
+
exchangeRate: number | undefined;
|
|
24
24
|
/** Format a value with currency conversion and proper symbol/decimal handling */
|
|
25
25
|
formatCurrencyValue: (value: number, options?: {
|
|
26
26
|
decimals?: number;
|