@unifold/ui-react 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/dist/index.d.mts +25 -6
- package/dist/index.d.ts +25 -6
- package/dist/index.js +719 -412
- package/dist/index.mjs +715 -410
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/components/deposits/DepositModal.tsx
|
|
2
2
|
import { useState as useState5, useEffect as useEffect5 } from "react";
|
|
3
|
-
import { ChevronRight as
|
|
3
|
+
import { ChevronRight as ChevronRight7 } from "lucide-react";
|
|
4
4
|
|
|
5
5
|
// src/components/shared/dialog.tsx
|
|
6
6
|
import * as React2 from "react";
|
|
@@ -151,7 +151,7 @@ import {
|
|
|
151
151
|
ShieldCheck,
|
|
152
152
|
Clock,
|
|
153
153
|
FileText,
|
|
154
|
-
ChevronRight
|
|
154
|
+
ChevronRight as ChevronRight2
|
|
155
155
|
} from "lucide-react";
|
|
156
156
|
|
|
157
157
|
// src/components/deposits/StyledQRCode.tsx
|
|
@@ -286,7 +286,7 @@ function DepositHeader({
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
// src/components/deposits/DepositExecutionItem.tsx
|
|
289
|
-
import {
|
|
289
|
+
import { ChevronRight } from "lucide-react";
|
|
290
290
|
|
|
291
291
|
// src/lib/api.ts
|
|
292
292
|
var API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL || "https://api.unifold.io";
|
|
@@ -310,6 +310,14 @@ function getIconUrl(iconPath) {
|
|
|
310
310
|
const normalizedPath = iconPath.startsWith("/") ? iconPath : `/${iconPath}`;
|
|
311
311
|
return `${API_BASE_URL}/api/public${normalizedPath}`;
|
|
312
312
|
}
|
|
313
|
+
function getIconUrlWithCdn(iconPath, assetCdnUrl) {
|
|
314
|
+
if (!assetCdnUrl) {
|
|
315
|
+
return getIconUrl(iconPath);
|
|
316
|
+
}
|
|
317
|
+
const normalizedPath = iconPath.startsWith("/") ? iconPath : `/${iconPath}`;
|
|
318
|
+
const baseUrl = assetCdnUrl.endsWith("/") ? assetCdnUrl.slice(0, -1) : assetCdnUrl;
|
|
319
|
+
return `${baseUrl}/api/public${normalizedPath}`;
|
|
320
|
+
}
|
|
313
321
|
async function createEOA(overrides, publishableKey) {
|
|
314
322
|
if (!overrides?.user_id) {
|
|
315
323
|
throw new Error("user_id is required");
|
|
@@ -428,6 +436,16 @@ async function createMeldSession(request, publishableKey) {
|
|
|
428
436
|
}
|
|
429
437
|
return response.json();
|
|
430
438
|
}
|
|
439
|
+
function getPreferredIconUrl(iconUrls, preferredFormat = "svg") {
|
|
440
|
+
if (!iconUrls || iconUrls.length === 0) {
|
|
441
|
+
return void 0;
|
|
442
|
+
}
|
|
443
|
+
const preferred = iconUrls.find((icon) => icon.format === preferredFormat);
|
|
444
|
+
if (preferred) {
|
|
445
|
+
return preferred.url;
|
|
446
|
+
}
|
|
447
|
+
return iconUrls[0]?.url;
|
|
448
|
+
}
|
|
431
449
|
async function getFiatCurrencies(publishableKey) {
|
|
432
450
|
const pk = publishableKey || DEFAULT_PUBLISHABLE_KEY;
|
|
433
451
|
const response = await fetch(
|
|
@@ -464,49 +482,65 @@ async function getProjectConfig(publishableKey) {
|
|
|
464
482
|
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
465
483
|
function DepositExecutionItem({
|
|
466
484
|
execution,
|
|
467
|
-
|
|
468
|
-
onClose
|
|
485
|
+
onClick
|
|
469
486
|
}) {
|
|
470
487
|
const isPending = execution.status === "pending" /* PENDING */ || execution.status === "waiting" /* WAITING */ || execution.status === "delayed" /* DELAYED */;
|
|
471
|
-
const formatTxHash = (hash) => {
|
|
472
|
-
if (hash.length <= 12) return hash;
|
|
473
|
-
return `${hash.slice(0, 10)}...${hash.slice(-8)}`;
|
|
474
|
-
};
|
|
475
488
|
const formatDateTime = (timestamp) => {
|
|
476
489
|
try {
|
|
477
490
|
const date = new Date(timestamp);
|
|
478
|
-
|
|
491
|
+
const monthDay = date.toLocaleDateString("en-US", {
|
|
492
|
+
month: "short",
|
|
493
|
+
day: "numeric",
|
|
494
|
+
year: "numeric"
|
|
495
|
+
});
|
|
496
|
+
const time = date.toLocaleTimeString("en-US", {
|
|
479
497
|
hour: "numeric",
|
|
480
498
|
minute: "2-digit",
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
}
|
|
499
|
+
hour12: true
|
|
500
|
+
}).toLowerCase();
|
|
501
|
+
return `${monthDay} at ${time}`;
|
|
484
502
|
} catch {
|
|
485
503
|
return timestamp;
|
|
486
504
|
}
|
|
487
505
|
};
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
506
|
+
const formatUsdAmount = (baseUnitAmount) => {
|
|
507
|
+
try {
|
|
508
|
+
const amount = Number(baseUnitAmount) / 1e6;
|
|
509
|
+
return new Intl.NumberFormat("en-US", {
|
|
510
|
+
style: "currency",
|
|
511
|
+
currency: "USD",
|
|
512
|
+
minimumFractionDigits: 2,
|
|
513
|
+
maximumFractionDigits: 2
|
|
514
|
+
}).format(amount);
|
|
515
|
+
} catch {
|
|
516
|
+
return "$0.00";
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
return /* @__PURE__ */ jsxs3(
|
|
520
|
+
"button",
|
|
521
|
+
{
|
|
522
|
+
onClick,
|
|
523
|
+
className: "uf-w-full uf-bg-secondary uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-gap-3 hover:uf-bg-secondary/80 uf-transition-colors uf-text-left",
|
|
524
|
+
children: [
|
|
525
|
+
/* @__PURE__ */ jsxs3("div", { className: "uf-relative uf-flex-shrink-0 uf-w-9 uf-h-9", children: [
|
|
492
526
|
/* @__PURE__ */ jsx5(
|
|
493
527
|
"img",
|
|
494
528
|
{
|
|
495
529
|
src: execution.source_token_metadata?.icon_url || getIconUrl("/icons/tokens/usdc.svg"),
|
|
496
530
|
alt: "Token",
|
|
497
|
-
width:
|
|
498
|
-
height:
|
|
499
|
-
className: "uf-rounded-full"
|
|
531
|
+
width: 36,
|
|
532
|
+
height: 36,
|
|
533
|
+
className: "uf-rounded-full uf-w-9 uf-h-9"
|
|
500
534
|
}
|
|
501
535
|
),
|
|
502
|
-
isPending ? /* @__PURE__ */ jsx5("div", { className: "uf-absolute uf
|
|
536
|
+
isPending ? /* @__PURE__ */ jsx5("div", { className: "uf-absolute -uf-bottom-0.5 -uf-right-0.5 uf-bg-yellow-500 uf-rounded-full uf-p-0.5", children: /* @__PURE__ */ jsx5(
|
|
503
537
|
"svg",
|
|
504
538
|
{
|
|
505
539
|
width: "10",
|
|
506
540
|
height: "10",
|
|
507
541
|
viewBox: "0 0 12 12",
|
|
508
542
|
fill: "none",
|
|
509
|
-
className: "uf-animate-spin",
|
|
543
|
+
className: "uf-animate-spin uf-block",
|
|
510
544
|
children: /* @__PURE__ */ jsx5(
|
|
511
545
|
"path",
|
|
512
546
|
{
|
|
@@ -517,7 +551,7 @@ function DepositExecutionItem({
|
|
|
517
551
|
}
|
|
518
552
|
)
|
|
519
553
|
}
|
|
520
|
-
) }) : /* @__PURE__ */ jsx5("div", { className: "uf-absolute uf
|
|
554
|
+
) }) : /* @__PURE__ */ jsx5("div", { className: "uf-absolute -uf-bottom-0.5 -uf-right-0.5 uf-bg-blue-500 uf-rounded-full uf-p-0.5", children: /* @__PURE__ */ jsx5("svg", { width: "10", height: "10", viewBox: "0 0 12 12", fill: "none", className: "uf-block", children: /* @__PURE__ */ jsx5(
|
|
521
555
|
"path",
|
|
522
556
|
{
|
|
523
557
|
d: "M10 3L4.5 8.5L2 6",
|
|
@@ -529,59 +563,249 @@ function DepositExecutionItem({
|
|
|
529
563
|
) }) })
|
|
530
564
|
] }),
|
|
531
565
|
/* @__PURE__ */ jsxs3("div", { className: "uf-flex-1 uf-min-w-0", children: [
|
|
532
|
-
/* @__PURE__ */
|
|
533
|
-
|
|
534
|
-
|
|
566
|
+
/* @__PURE__ */ jsx5("h3", { className: "uf-text-foreground uf-font-medium uf-text-sm uf-leading-tight", children: isPending ? "Deposit received" : "Deposit completed" }),
|
|
567
|
+
/* @__PURE__ */ jsx5("p", { className: "uf-text-muted-foreground uf-text-xs uf-leading-tight", children: formatDateTime(execution.created_at || (/* @__PURE__ */ new Date()).toISOString()) })
|
|
568
|
+
] }),
|
|
569
|
+
/* @__PURE__ */ jsx5("span", { className: "uf-text-foreground uf-font-medium uf-text-sm uf-flex-shrink-0", children: formatUsdAmount(execution.source_amount_base_unit) }),
|
|
570
|
+
/* @__PURE__ */ jsx5(ChevronRight, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground uf-flex-shrink-0" })
|
|
571
|
+
]
|
|
572
|
+
}
|
|
573
|
+
);
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
// src/components/deposits/DepositDetailModal.tsx
|
|
577
|
+
import { ArrowDownCircle, CheckCircle, ExternalLink } from "lucide-react";
|
|
578
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
579
|
+
var CHAIN_NAMES = {
|
|
580
|
+
solana: "Solana",
|
|
581
|
+
ethereum: "Ethereum",
|
|
582
|
+
"1": "Ethereum",
|
|
583
|
+
"137": "Polygon",
|
|
584
|
+
"42161": "Arbitrum",
|
|
585
|
+
"10": "Optimism",
|
|
586
|
+
"8453": "Base",
|
|
587
|
+
"43114": "Avalanche",
|
|
588
|
+
"56": "BSC",
|
|
589
|
+
bitcoin: "Bitcoin",
|
|
590
|
+
mainnet: "Mainnet"
|
|
591
|
+
};
|
|
592
|
+
function DepositDetailModal({
|
|
593
|
+
open,
|
|
594
|
+
onOpenChange,
|
|
595
|
+
execution,
|
|
596
|
+
themeClass = ""
|
|
597
|
+
}) {
|
|
598
|
+
if (!execution) return null;
|
|
599
|
+
const isPending = execution.status === "pending" /* PENDING */ || execution.status === "waiting" /* WAITING */ || execution.status === "delayed" /* DELAYED */;
|
|
600
|
+
const formatDateTime = (timestamp) => {
|
|
601
|
+
try {
|
|
602
|
+
const date = new Date(timestamp);
|
|
603
|
+
const monthDay = date.toLocaleDateString("en-US", {
|
|
604
|
+
month: "short",
|
|
605
|
+
day: "numeric",
|
|
606
|
+
year: "numeric"
|
|
607
|
+
});
|
|
608
|
+
const time = date.toLocaleTimeString("en-US", {
|
|
609
|
+
hour: "numeric",
|
|
610
|
+
minute: "2-digit",
|
|
611
|
+
hour12: true
|
|
612
|
+
});
|
|
613
|
+
return `${monthDay} at ${time}`;
|
|
614
|
+
} catch {
|
|
615
|
+
return timestamp;
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
const formatAmount = (baseUnitAmount, decimals = 6) => {
|
|
619
|
+
try {
|
|
620
|
+
const amount = Number(baseUnitAmount) / Math.pow(10, decimals);
|
|
621
|
+
return amount.toFixed(2);
|
|
622
|
+
} catch {
|
|
623
|
+
return "0.00";
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
const formatUsdAmount = (usdAmount, baseUnitAmount) => {
|
|
627
|
+
if (usdAmount) {
|
|
628
|
+
try {
|
|
629
|
+
const amount = Number(usdAmount);
|
|
630
|
+
return new Intl.NumberFormat("en-US", {
|
|
631
|
+
style: "currency",
|
|
632
|
+
currency: "USD",
|
|
633
|
+
minimumFractionDigits: 2,
|
|
634
|
+
maximumFractionDigits: 2
|
|
635
|
+
}).format(amount);
|
|
636
|
+
} catch {
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
if (baseUnitAmount) {
|
|
640
|
+
try {
|
|
641
|
+
const amount = Number(baseUnitAmount) / 1e6;
|
|
642
|
+
return new Intl.NumberFormat("en-US", {
|
|
643
|
+
style: "currency",
|
|
644
|
+
currency: "USD",
|
|
645
|
+
minimumFractionDigits: 2,
|
|
646
|
+
maximumFractionDigits: 2
|
|
647
|
+
}).format(amount);
|
|
648
|
+
} catch {
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
return "$0.00";
|
|
652
|
+
};
|
|
653
|
+
const getNetworkName = (chainType, chainId) => {
|
|
654
|
+
return CHAIN_NAMES[chainId] || CHAIN_NAMES[chainType] || chainType;
|
|
655
|
+
};
|
|
656
|
+
const getSourceTokenSymbol = () => {
|
|
657
|
+
return "USDC";
|
|
658
|
+
};
|
|
659
|
+
const getDestinationTokenSymbol = () => {
|
|
660
|
+
return "USDC";
|
|
661
|
+
};
|
|
662
|
+
const handleClose = () => {
|
|
663
|
+
onOpenChange(false);
|
|
664
|
+
};
|
|
665
|
+
return /* @__PURE__ */ jsx6(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs4(
|
|
666
|
+
DialogContent,
|
|
667
|
+
{
|
|
668
|
+
className: `sm:uf-max-w-[400px] !uf-bg-card uf-border-secondary uf-text-foreground uf-p-0 uf-gap-0 [&>button]:uf-hidden ${themeClass}`,
|
|
669
|
+
children: [
|
|
670
|
+
/* @__PURE__ */ jsx6(DepositHeader, { title: "Deposit Details", onClose: handleClose }),
|
|
671
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-px-4 uf-pb-4", children: [
|
|
672
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-flex-col uf-items-center uf-py-6", children: [
|
|
673
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-relative uf-mb-3", children: [
|
|
674
|
+
/* @__PURE__ */ jsx6(
|
|
675
|
+
"img",
|
|
676
|
+
{
|
|
677
|
+
src: execution.source_token_metadata?.icon_url || getIconUrl("/icons/tokens/usdc.svg"),
|
|
678
|
+
alt: "Token",
|
|
679
|
+
width: 64,
|
|
680
|
+
height: 64,
|
|
681
|
+
className: "uf-rounded-full"
|
|
682
|
+
}
|
|
683
|
+
),
|
|
684
|
+
isPending ? /* @__PURE__ */ jsx6("div", { className: "uf-absolute -uf-bottom-1 -uf-right-1 uf-bg-yellow-500 uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx6(
|
|
685
|
+
"svg",
|
|
686
|
+
{
|
|
687
|
+
width: "16",
|
|
688
|
+
height: "16",
|
|
689
|
+
viewBox: "0 0 12 12",
|
|
690
|
+
fill: "none",
|
|
691
|
+
className: "uf-animate-spin uf-block",
|
|
692
|
+
children: /* @__PURE__ */ jsx6(
|
|
693
|
+
"path",
|
|
694
|
+
{
|
|
695
|
+
d: "M6 1V3M6 9V11M1 6H3M9 6H11M2.5 2.5L4 4M8 8L9.5 9.5M2.5 9.5L4 8M8 4L9.5 2.5",
|
|
696
|
+
stroke: "white",
|
|
697
|
+
strokeWidth: "2",
|
|
698
|
+
strokeLinecap: "round"
|
|
699
|
+
}
|
|
700
|
+
)
|
|
701
|
+
}
|
|
702
|
+
) }) : /* @__PURE__ */ jsx6("div", { className: "uf-absolute -uf-bottom-1 -uf-right-1 uf-bg-blue-500 uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx6(
|
|
703
|
+
"svg",
|
|
704
|
+
{
|
|
705
|
+
width: "16",
|
|
706
|
+
height: "16",
|
|
707
|
+
viewBox: "0 0 12 12",
|
|
708
|
+
fill: "none",
|
|
709
|
+
className: "uf-block",
|
|
710
|
+
children: /* @__PURE__ */ jsx6(
|
|
711
|
+
"path",
|
|
712
|
+
{
|
|
713
|
+
d: "M10 3L4.5 8.5L2 6",
|
|
714
|
+
stroke: "white",
|
|
715
|
+
strokeWidth: "2",
|
|
716
|
+
strokeLinecap: "round",
|
|
717
|
+
strokeLinejoin: "round"
|
|
718
|
+
}
|
|
719
|
+
)
|
|
720
|
+
}
|
|
721
|
+
) })
|
|
722
|
+
] }),
|
|
723
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-items-center uf-gap-1.5 uf-mb-1", children: [
|
|
724
|
+
/* @__PURE__ */ jsx6(
|
|
725
|
+
"div",
|
|
726
|
+
{
|
|
727
|
+
className: `uf-w-2 uf-h-2 uf-rounded-full ${isPending ? "uf-bg-yellow-500" : "uf-bg-green-500"}`
|
|
728
|
+
}
|
|
729
|
+
),
|
|
730
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-foreground uf-font-medium", children: isPending ? "Pending" : "Completed" })
|
|
731
|
+
] }),
|
|
732
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: formatDateTime(execution.created_at || (/* @__PURE__ */ new Date()).toISOString()) })
|
|
733
|
+
] }),
|
|
734
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-bg-secondary uf-rounded-xl uf-overflow-hidden uf-mb-3", children: [
|
|
735
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-justify-between uf-items-center uf-px-4 uf-py-3 uf-border-b uf-border-border/50", children: [
|
|
736
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: "Amount Sent" }),
|
|
737
|
+
/* @__PURE__ */ jsxs4("span", { className: "uf-text-foreground uf-font-medium", children: [
|
|
738
|
+
formatAmount(execution.source_amount_base_unit),
|
|
739
|
+
" ",
|
|
740
|
+
getSourceTokenSymbol()
|
|
741
|
+
] })
|
|
742
|
+
] }),
|
|
743
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-justify-between uf-items-center uf-px-4 uf-py-3 uf-border-b uf-border-border/50", children: [
|
|
744
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: "Amount Received" }),
|
|
745
|
+
/* @__PURE__ */ jsxs4("span", { className: "uf-text-foreground uf-font-medium", children: [
|
|
746
|
+
formatAmount(execution.destination_amount_base_unit),
|
|
747
|
+
" ",
|
|
748
|
+
getDestinationTokenSymbol()
|
|
749
|
+
] })
|
|
750
|
+
] }),
|
|
751
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-justify-between uf-items-center uf-px-4 uf-py-3", children: [
|
|
752
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: "USD Value" }),
|
|
753
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-foreground uf-font-medium", children: formatUsdAmount(execution.source_amount_usd, execution.source_amount_base_unit) })
|
|
754
|
+
] })
|
|
755
|
+
] }),
|
|
756
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-bg-secondary uf-rounded-xl uf-overflow-hidden uf-mb-4", children: [
|
|
757
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-justify-between uf-items-center uf-px-4 uf-py-3 uf-border-b uf-border-border/50", children: [
|
|
758
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: "Source Network" }),
|
|
759
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-foreground uf-font-medium", children: getNetworkName(execution.source_chain_type, execution.source_chain_id) })
|
|
760
|
+
] }),
|
|
761
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-justify-between uf-items-center uf-px-4 uf-py-3", children: [
|
|
762
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-muted-foreground uf-text-sm", children: "Destination Network" }),
|
|
763
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-text-foreground uf-font-medium", children: getNetworkName(execution.destination_chain_type, execution.destination_chain_id) })
|
|
764
|
+
] })
|
|
765
|
+
] }),
|
|
766
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-space-y-2", children: [
|
|
767
|
+
execution.explorer_url && /* @__PURE__ */ jsxs4(
|
|
768
|
+
"a",
|
|
769
|
+
{
|
|
770
|
+
href: execution.explorer_url,
|
|
771
|
+
target: "_blank",
|
|
772
|
+
rel: "noopener noreferrer",
|
|
773
|
+
className: "uf-flex uf-items-center uf-justify-between uf-w-full uf-bg-blue-400 hover:uf-bg-blue-500 uf-text-white uf-rounded-xl uf-px-4 uf-py-3 uf-transition-colors",
|
|
774
|
+
children: [
|
|
775
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
776
|
+
/* @__PURE__ */ jsx6(ArrowDownCircle, { className: "uf-w-5 uf-h-5" }),
|
|
777
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-font-medium", children: "View Deposit Transaction" })
|
|
778
|
+
] }),
|
|
779
|
+
/* @__PURE__ */ jsx6(ExternalLink, { className: "uf-w-4 uf-h-4" })
|
|
780
|
+
]
|
|
781
|
+
}
|
|
782
|
+
),
|
|
783
|
+
!isPending && execution.destination_transaction_hashes?.length > 0 && execution.destination_explorer_url && /* @__PURE__ */ jsxs4(
|
|
784
|
+
"a",
|
|
785
|
+
{
|
|
786
|
+
href: execution.destination_explorer_url,
|
|
787
|
+
target: "_blank",
|
|
788
|
+
rel: "noopener noreferrer",
|
|
789
|
+
className: "uf-flex uf-items-center uf-justify-between uf-w-full uf-bg-blue-600 hover:uf-bg-blue-700 uf-text-white uf-rounded-xl uf-px-4 uf-py-3 uf-transition-colors",
|
|
790
|
+
children: [
|
|
791
|
+
/* @__PURE__ */ jsxs4("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
792
|
+
/* @__PURE__ */ jsx6(CheckCircle, { className: "uf-w-5 uf-h-5" }),
|
|
793
|
+
/* @__PURE__ */ jsx6("span", { className: "uf-font-medium", children: "View Completion Transaction" })
|
|
794
|
+
] }),
|
|
795
|
+
/* @__PURE__ */ jsx6(ExternalLink, { className: "uf-w-4 uf-h-4" })
|
|
796
|
+
]
|
|
797
|
+
}
|
|
798
|
+
)
|
|
535
799
|
] }),
|
|
536
|
-
/* @__PURE__ */
|
|
800
|
+
/* @__PURE__ */ jsx6("p", { className: "uf-text-center uf-text-muted-foreground uf-text-xs uf-mt-4", children: "Links open in external browser" })
|
|
537
801
|
] })
|
|
538
|
-
]
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
{
|
|
542
|
-
onClick: onClose,
|
|
543
|
-
className: "uf-text-muted-foreground hover:uf-text-foreground uf-transition-colors uf-p-0.5 uf-flex-shrink-0 uf-ml-2",
|
|
544
|
-
children: /* @__PURE__ */ jsx5(X3, { className: "uf-w-4 uf-h-4" })
|
|
545
|
-
}
|
|
546
|
-
)
|
|
547
|
-
] }),
|
|
548
|
-
!isPending && execution.explorer_url && /* @__PURE__ */ jsxs3("div", { className: "uf-flex uf-justify-between uf-items-center uf-gap-1.5 uf-mt-2 uf-pt-2 uf-border-t uf-border-secondary uf-text-xs uf-ml-[42px]", children: [
|
|
549
|
-
/* @__PURE__ */ jsx5("span", { className: "uf-text-muted-foreground", children: "Deposit tx:" }),
|
|
550
|
-
/* @__PURE__ */ jsxs3(
|
|
551
|
-
"a",
|
|
552
|
-
{
|
|
553
|
-
href: execution.explorer_url,
|
|
554
|
-
target: "_blank",
|
|
555
|
-
rel: "noopener noreferrer",
|
|
556
|
-
className: "uf-flex uf-items-center uf-gap-1 uf-text-blue-400 hover:uf-text-blue-300 uf-transition-colors uf-font-mono",
|
|
557
|
-
children: [
|
|
558
|
-
formatTxHash(execution.transaction_hash),
|
|
559
|
-
/* @__PURE__ */ jsx5(ExternalLink, { className: "uf-w-3 uf-h-3" })
|
|
560
|
-
]
|
|
561
|
-
}
|
|
562
|
-
)
|
|
563
|
-
] }),
|
|
564
|
-
!isPending && execution.destination_transaction_hashes?.length > 0 && execution.destination_explorer_url && /* @__PURE__ */ jsxs3("div", { className: "uf-flex uf-justify-between uf-items-center uf-gap-1.5 uf-mt-1 uf-text-xs uf-ml-[42px]", children: [
|
|
565
|
-
/* @__PURE__ */ jsx5("span", { className: "uf-text-muted-foreground", children: "Completion tx:" }),
|
|
566
|
-
/* @__PURE__ */ jsxs3(
|
|
567
|
-
"a",
|
|
568
|
-
{
|
|
569
|
-
href: execution.destination_explorer_url,
|
|
570
|
-
target: "_blank",
|
|
571
|
-
rel: "noopener noreferrer",
|
|
572
|
-
className: "uf-flex uf-items-center uf-gap-1 uf-text-blue-400 hover:uf-text-blue-300 uf-transition-colors uf-font-mono",
|
|
573
|
-
children: [
|
|
574
|
-
formatTxHash(execution.destination_transaction_hashes[execution.destination_transaction_hashes.length - 1]),
|
|
575
|
-
/* @__PURE__ */ jsx5(ExternalLink, { className: "uf-w-3 uf-h-3" })
|
|
576
|
-
]
|
|
577
|
-
}
|
|
578
|
-
)
|
|
579
|
-
] })
|
|
580
|
-
] });
|
|
802
|
+
]
|
|
803
|
+
}
|
|
804
|
+
) });
|
|
581
805
|
}
|
|
582
806
|
|
|
583
807
|
// src/components/deposits/DepositsModal.tsx
|
|
584
|
-
import { Fragment, jsx as
|
|
808
|
+
import { Fragment, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
585
809
|
function DepositsModal({
|
|
586
810
|
open,
|
|
587
811
|
onOpenChange,
|
|
@@ -591,6 +815,8 @@ function DepositsModal({
|
|
|
591
815
|
themeClass = ""
|
|
592
816
|
}) {
|
|
593
817
|
const [allExecutions, setAllExecutions] = useState(sessionExecutions);
|
|
818
|
+
const [selectedExecution, setSelectedExecution] = useState(null);
|
|
819
|
+
const [detailModalOpen, setDetailModalOpen] = useState(false);
|
|
594
820
|
useEffect2(() => {
|
|
595
821
|
if (!open || !userId) return;
|
|
596
822
|
const fetchExecutions = async () => {
|
|
@@ -616,54 +842,143 @@ function DepositsModal({
|
|
|
616
842
|
const handleClose = () => {
|
|
617
843
|
onOpenChange(false);
|
|
618
844
|
};
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
845
|
+
const handleExecutionClick = (execution) => {
|
|
846
|
+
setSelectedExecution(execution);
|
|
847
|
+
setDetailModalOpen(true);
|
|
848
|
+
};
|
|
849
|
+
return /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
850
|
+
/* @__PURE__ */ jsx7(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs5(DialogContent, { className: `sm:uf-max-w-[400px] !uf-bg-card uf-border-secondary uf-text-foreground uf-p-0 uf-gap-0 [&>button]:uf-hidden ${themeClass}`, children: [
|
|
851
|
+
/* @__PURE__ */ jsx7(DepositHeader, { title: "Deposit Tracker", onClose: handleClose }),
|
|
852
|
+
/* @__PURE__ */ jsx7("div", { className: "uf-max-h-[500px] uf-overflow-y-auto [scrollbar-width:none] [&::-webkit-scrollbar]:uf-hidden uf-pb-4", children: /* @__PURE__ */ jsx7("div", { className: "uf-space-y-2", children: allExecutions.length === 0 ? /* @__PURE__ */ jsx7("div", { className: "uf-py-8 uf-px-4 uf-text-center", children: /* @__PURE__ */ jsx7("div", { className: "uf-text-muted-foreground uf-text-sm", children: "No deposits yet" }) }) : /* @__PURE__ */ jsx7(Fragment, { children: allExecutions.map((execution) => /* @__PURE__ */ jsx7(
|
|
853
|
+
DepositExecutionItem,
|
|
854
|
+
{
|
|
855
|
+
execution,
|
|
856
|
+
onClick: () => handleExecutionClick(execution)
|
|
857
|
+
},
|
|
858
|
+
execution.id
|
|
859
|
+
)) }) }) })
|
|
860
|
+
] }) }),
|
|
861
|
+
/* @__PURE__ */ jsx7(
|
|
862
|
+
DepositDetailModal,
|
|
863
|
+
{
|
|
864
|
+
open: detailModalOpen,
|
|
865
|
+
onOpenChange: setDetailModalOpen,
|
|
866
|
+
execution: selectedExecution,
|
|
867
|
+
themeClass
|
|
868
|
+
}
|
|
869
|
+
)
|
|
870
|
+
] });
|
|
623
871
|
}
|
|
624
872
|
|
|
625
873
|
// src/components/deposits/DepositSuccessToast.tsx
|
|
626
|
-
import {
|
|
874
|
+
import { X as X3 } from "lucide-react";
|
|
875
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
627
876
|
function DepositSuccessToast({
|
|
628
877
|
depositTx,
|
|
629
|
-
completionTx,
|
|
630
878
|
orderSubmittedAt,
|
|
631
|
-
orderFilledAt,
|
|
632
|
-
explorerUrl,
|
|
633
|
-
completionExplorerUrl,
|
|
634
879
|
status,
|
|
635
880
|
tokenIconUrl,
|
|
881
|
+
sourceAmountBaseUnit = "0",
|
|
636
882
|
onClose
|
|
637
883
|
}) {
|
|
638
|
-
const
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
884
|
+
const isPending = status === "pending" /* PENDING */ || status === "waiting" /* WAITING */ || status === "delayed" /* DELAYED */;
|
|
885
|
+
const formatDateTime = (timestamp) => {
|
|
886
|
+
try {
|
|
887
|
+
const date = new Date(timestamp);
|
|
888
|
+
const monthDay = date.toLocaleDateString("en-US", {
|
|
889
|
+
month: "short",
|
|
890
|
+
day: "numeric",
|
|
891
|
+
year: "numeric"
|
|
892
|
+
});
|
|
893
|
+
const time = date.toLocaleTimeString("en-US", {
|
|
894
|
+
hour: "numeric",
|
|
895
|
+
minute: "2-digit",
|
|
896
|
+
hour12: true
|
|
897
|
+
}).toLowerCase();
|
|
898
|
+
return `${monthDay} at ${time}`;
|
|
899
|
+
} catch {
|
|
900
|
+
return timestamp;
|
|
901
|
+
}
|
|
647
902
|
};
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
903
|
+
const formatUsdAmount = (baseUnitAmount) => {
|
|
904
|
+
try {
|
|
905
|
+
const amount = Number(baseUnitAmount) / 1e6;
|
|
906
|
+
return new Intl.NumberFormat("en-US", {
|
|
907
|
+
style: "currency",
|
|
908
|
+
currency: "USD",
|
|
909
|
+
minimumFractionDigits: 2,
|
|
910
|
+
maximumFractionDigits: 2
|
|
911
|
+
}).format(amount);
|
|
912
|
+
} catch {
|
|
913
|
+
return "$0.00";
|
|
654
914
|
}
|
|
655
|
-
|
|
915
|
+
};
|
|
916
|
+
return /* @__PURE__ */ jsx8("div", { className: "uf-w-full uf-animate-in uf-slide-in-from-bottom-2 uf-duration-300", children: /* @__PURE__ */ jsxs6("div", { className: "uf-bg-card uf-border uf-border-border uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-gap-3", children: [
|
|
917
|
+
/* @__PURE__ */ jsxs6("div", { className: "uf-relative uf-flex-shrink-0", children: [
|
|
918
|
+
/* @__PURE__ */ jsx8(
|
|
919
|
+
"img",
|
|
920
|
+
{
|
|
921
|
+
src: tokenIconUrl || getIconUrl("/icons/tokens/usdc.svg"),
|
|
922
|
+
alt: "Token",
|
|
923
|
+
width: 36,
|
|
924
|
+
height: 36,
|
|
925
|
+
className: "uf-rounded-full"
|
|
926
|
+
}
|
|
927
|
+
),
|
|
928
|
+
isPending ? /* @__PURE__ */ jsx8("div", { className: "uf-absolute uf--bottom-0.5 uf--right-0.5 uf-bg-yellow-500 uf-rounded-full uf-p-0.5", children: /* @__PURE__ */ jsx8(
|
|
929
|
+
"svg",
|
|
930
|
+
{
|
|
931
|
+
width: "10",
|
|
932
|
+
height: "10",
|
|
933
|
+
viewBox: "0 0 12 12",
|
|
934
|
+
fill: "none",
|
|
935
|
+
className: "uf-animate-spin",
|
|
936
|
+
children: /* @__PURE__ */ jsx8(
|
|
937
|
+
"path",
|
|
938
|
+
{
|
|
939
|
+
d: "M6 1V3M6 9V11M1 6H3M9 6H11M2.5 2.5L4 4M8 8L9.5 9.5M2.5 9.5L4 8M8 4L9.5 2.5",
|
|
940
|
+
stroke: "white",
|
|
941
|
+
strokeWidth: "2",
|
|
942
|
+
strokeLinecap: "round"
|
|
943
|
+
}
|
|
944
|
+
)
|
|
945
|
+
}
|
|
946
|
+
) }) : /* @__PURE__ */ jsx8("div", { className: "uf-absolute uf--bottom-0.5 uf--right-0.5 uf-bg-green-500 uf-rounded-full uf-p-0.5", children: /* @__PURE__ */ jsx8("svg", { width: "10", height: "10", viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ jsx8(
|
|
947
|
+
"path",
|
|
948
|
+
{
|
|
949
|
+
d: "M10 3L4.5 8.5L2 6",
|
|
950
|
+
stroke: "white",
|
|
951
|
+
strokeWidth: "2",
|
|
952
|
+
strokeLinecap: "round",
|
|
953
|
+
strokeLinejoin: "round"
|
|
954
|
+
}
|
|
955
|
+
) }) })
|
|
956
|
+
] }),
|
|
957
|
+
/* @__PURE__ */ jsxs6("div", { className: "uf-flex-1 uf-min-w-0", children: [
|
|
958
|
+
/* @__PURE__ */ jsx8("h3", { className: "uf-text-foreground uf-font-medium uf-text-sm", children: isPending ? "Deposit received" : "Deposit completed" }),
|
|
959
|
+
/* @__PURE__ */ jsx8("p", { className: "uf-text-muted-foreground uf-text-xs", children: formatDateTime(orderSubmittedAt) })
|
|
960
|
+
] }),
|
|
961
|
+
/* @__PURE__ */ jsx8("div", { className: "uf-text-foreground uf-font-medium uf-text-sm uf-flex-shrink-0", children: formatUsdAmount(sourceAmountBaseUnit) }),
|
|
962
|
+
/* @__PURE__ */ jsx8(
|
|
963
|
+
"button",
|
|
964
|
+
{
|
|
965
|
+
onClick: onClose,
|
|
966
|
+
className: "uf-text-muted-foreground hover:uf-text-foreground uf-transition-colors uf-p-0.5 uf-flex-shrink-0",
|
|
967
|
+
children: /* @__PURE__ */ jsx8(X3, { className: "uf-w-4 uf-h-4" })
|
|
968
|
+
}
|
|
969
|
+
)
|
|
970
|
+
] }) });
|
|
656
971
|
}
|
|
657
972
|
|
|
658
973
|
// src/components/shared/select.tsx
|
|
659
974
|
import * as React3 from "react";
|
|
660
975
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
661
976
|
import { Check, ChevronDown, ChevronUp } from "lucide-react";
|
|
662
|
-
import { jsx as
|
|
977
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
663
978
|
var Select = SelectPrimitive.Root;
|
|
664
979
|
var SelectGroup = SelectPrimitive.Group;
|
|
665
980
|
var SelectValue = SelectPrimitive.Value;
|
|
666
|
-
var SelectTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
981
|
+
var SelectTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
|
|
667
982
|
SelectPrimitive.Trigger,
|
|
668
983
|
{
|
|
669
984
|
ref,
|
|
@@ -674,12 +989,12 @@ var SelectTrigger = React3.forwardRef(({ className, children, ...props }, ref) =
|
|
|
674
989
|
...props,
|
|
675
990
|
children: [
|
|
676
991
|
children,
|
|
677
|
-
/* @__PURE__ */
|
|
992
|
+
/* @__PURE__ */ jsx9(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx9(ChevronDown, { className: "uf-h-4 uf-w-4 uf-opacity-50" }) })
|
|
678
993
|
]
|
|
679
994
|
}
|
|
680
995
|
));
|
|
681
996
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
682
|
-
var SelectScrollUpButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
997
|
+
var SelectScrollUpButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
683
998
|
SelectPrimitive.ScrollUpButton,
|
|
684
999
|
{
|
|
685
1000
|
ref,
|
|
@@ -688,11 +1003,11 @@ var SelectScrollUpButton = React3.forwardRef(({ className, ...props }, ref) => /
|
|
|
688
1003
|
className
|
|
689
1004
|
),
|
|
690
1005
|
...props,
|
|
691
|
-
children: /* @__PURE__ */
|
|
1006
|
+
children: /* @__PURE__ */ jsx9(ChevronUp, { className: "uf-h-4 uf-w-4" })
|
|
692
1007
|
}
|
|
693
1008
|
));
|
|
694
1009
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
695
|
-
var SelectScrollDownButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1010
|
+
var SelectScrollDownButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
696
1011
|
SelectPrimitive.ScrollDownButton,
|
|
697
1012
|
{
|
|
698
1013
|
ref,
|
|
@@ -701,13 +1016,13 @@ var SelectScrollDownButton = React3.forwardRef(({ className, ...props }, ref) =>
|
|
|
701
1016
|
className
|
|
702
1017
|
),
|
|
703
1018
|
...props,
|
|
704
|
-
children: /* @__PURE__ */
|
|
1019
|
+
children: /* @__PURE__ */ jsx9(ChevronDown, { className: "uf-h-4 uf-w-4" })
|
|
705
1020
|
}
|
|
706
1021
|
));
|
|
707
1022
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
708
1023
|
var SelectContent = React3.forwardRef(({ className, children, position = "popper", ...props }, ref) => {
|
|
709
1024
|
const { themeClass } = useTheme();
|
|
710
|
-
return /* @__PURE__ */
|
|
1025
|
+
return /* @__PURE__ */ jsx9(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs7(
|
|
711
1026
|
SelectPrimitive.Content,
|
|
712
1027
|
{
|
|
713
1028
|
ref,
|
|
@@ -720,8 +1035,8 @@ var SelectContent = React3.forwardRef(({ className, children, position = "popper
|
|
|
720
1035
|
position,
|
|
721
1036
|
...props,
|
|
722
1037
|
children: [
|
|
723
|
-
/* @__PURE__ */
|
|
724
|
-
/* @__PURE__ */
|
|
1038
|
+
/* @__PURE__ */ jsx9(SelectScrollUpButton, {}),
|
|
1039
|
+
/* @__PURE__ */ jsx9(
|
|
725
1040
|
SelectPrimitive.Viewport,
|
|
726
1041
|
{
|
|
727
1042
|
className: cn(
|
|
@@ -731,13 +1046,13 @@ var SelectContent = React3.forwardRef(({ className, children, position = "popper
|
|
|
731
1046
|
children
|
|
732
1047
|
}
|
|
733
1048
|
),
|
|
734
|
-
/* @__PURE__ */
|
|
1049
|
+
/* @__PURE__ */ jsx9(SelectScrollDownButton, {})
|
|
735
1050
|
]
|
|
736
1051
|
}
|
|
737
1052
|
) });
|
|
738
1053
|
});
|
|
739
1054
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
740
|
-
var SelectLabel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1055
|
+
var SelectLabel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
741
1056
|
SelectPrimitive.Label,
|
|
742
1057
|
{
|
|
743
1058
|
ref,
|
|
@@ -746,7 +1061,7 @@ var SelectLabel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
746
1061
|
}
|
|
747
1062
|
));
|
|
748
1063
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
749
|
-
var SelectItem = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1064
|
+
var SelectItem = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
|
|
750
1065
|
SelectPrimitive.Item,
|
|
751
1066
|
{
|
|
752
1067
|
ref,
|
|
@@ -756,13 +1071,13 @@ var SelectItem = React3.forwardRef(({ className, children, ...props }, ref) => /
|
|
|
756
1071
|
),
|
|
757
1072
|
...props,
|
|
758
1073
|
children: [
|
|
759
|
-
/* @__PURE__ */
|
|
760
|
-
/* @__PURE__ */
|
|
1074
|
+
/* @__PURE__ */ jsx9("span", { className: "uf-absolute uf-left-2 uf-flex uf-h-3.5 uf-w-3.5 uf-items-center uf-justify-center", children: /* @__PURE__ */ jsx9(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(Check, { className: "uf-h-4 uf-w-4" }) }) }),
|
|
1075
|
+
/* @__PURE__ */ jsx9(SelectPrimitive.ItemText, { children })
|
|
761
1076
|
]
|
|
762
1077
|
}
|
|
763
1078
|
));
|
|
764
1079
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
765
|
-
var SelectSeparator = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1080
|
+
var SelectSeparator = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
766
1081
|
SelectPrimitive.Separator,
|
|
767
1082
|
{
|
|
768
1083
|
ref,
|
|
@@ -776,7 +1091,7 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
776
1091
|
import * as React4 from "react";
|
|
777
1092
|
import { Slot } from "@radix-ui/react-slot";
|
|
778
1093
|
import { cva } from "class-variance-authority";
|
|
779
|
-
import { jsx as
|
|
1094
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
780
1095
|
var buttonVariants = cva(
|
|
781
1096
|
"uf-inline-flex uf-items-center uf-justify-center uf-whitespace-nowrap uf-rounded-md uf-text-sm uf-font-medium uf-ring-offset-background uf-transition-colors focus-visible:uf-outline-none focus-visible:uf-ring-2 focus-visible:uf-ring-ring focus-visible:uf-ring-offset-2 disabled:uf-pointer-events-none disabled:uf-opacity-50",
|
|
782
1097
|
{
|
|
@@ -805,7 +1120,7 @@ var buttonVariants = cva(
|
|
|
805
1120
|
var Button = React4.forwardRef(
|
|
806
1121
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
807
1122
|
const Comp = asChild ? Slot : "button";
|
|
808
|
-
return /* @__PURE__ */
|
|
1123
|
+
return /* @__PURE__ */ jsx10(
|
|
809
1124
|
Comp,
|
|
810
1125
|
{
|
|
811
1126
|
className: cn(buttonVariants({ variant, size, className })),
|
|
@@ -820,13 +1135,13 @@ Button.displayName = "Button";
|
|
|
820
1135
|
// src/components/shared/tooltip.tsx
|
|
821
1136
|
import * as React5 from "react";
|
|
822
1137
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
823
|
-
import { jsx as
|
|
1138
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
824
1139
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
825
1140
|
var Tooltip = TooltipPrimitive.Root;
|
|
826
1141
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
827
1142
|
var TooltipContent = React5.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
|
|
828
1143
|
const { themeClass } = useTheme();
|
|
829
|
-
return /* @__PURE__ */
|
|
1144
|
+
return /* @__PURE__ */ jsx11(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx11(
|
|
830
1145
|
TooltipPrimitive.Content,
|
|
831
1146
|
{
|
|
832
1147
|
ref,
|
|
@@ -912,7 +1227,7 @@ var en_default = {
|
|
|
912
1227
|
var i18n = en_default;
|
|
913
1228
|
|
|
914
1229
|
// src/components/deposits/TransferCryptoBase.tsx
|
|
915
|
-
import { Fragment as Fragment2, jsx as
|
|
1230
|
+
import { Fragment as Fragment2, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
916
1231
|
var t = i18n.transferCrypto;
|
|
917
1232
|
var getChainKey = (chainId, chainType) => {
|
|
918
1233
|
return `${chainType}:${chainId}`;
|
|
@@ -1178,8 +1493,8 @@ function TransferCryptoBase({
|
|
|
1178
1493
|
const processingTime = currentChainFromBackend?.estimated_processing_time ?? null;
|
|
1179
1494
|
const minDepositUsd = currentChainFromBackend?.minimum_deposit_amount_usd ?? 3;
|
|
1180
1495
|
const renderTokenItem = (tokenData) => {
|
|
1181
|
-
return /* @__PURE__ */
|
|
1182
|
-
/* @__PURE__ */
|
|
1496
|
+
return /* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1497
|
+
/* @__PURE__ */ jsx12(
|
|
1183
1498
|
"img",
|
|
1184
1499
|
{
|
|
1185
1500
|
src: tokenData.icon_url,
|
|
@@ -1189,13 +1504,13 @@ function TransferCryptoBase({
|
|
|
1189
1504
|
className: "uf-rounded-full uf-flex-shrink-0"
|
|
1190
1505
|
}
|
|
1191
1506
|
),
|
|
1192
|
-
/* @__PURE__ */
|
|
1193
|
-
showDetailedDropdowns && /* @__PURE__ */
|
|
1507
|
+
/* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-normal", children: tokenData.symbol }),
|
|
1508
|
+
showDetailedDropdowns && /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-text-muted-foreground", children: tokenData.name })
|
|
1194
1509
|
] });
|
|
1195
1510
|
};
|
|
1196
1511
|
const renderChainItem = (chainData) => {
|
|
1197
|
-
return /* @__PURE__ */
|
|
1198
|
-
/* @__PURE__ */
|
|
1512
|
+
return /* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1513
|
+
/* @__PURE__ */ jsx12(
|
|
1199
1514
|
"img",
|
|
1200
1515
|
{
|
|
1201
1516
|
src: chainData.icon_url,
|
|
@@ -1205,24 +1520,24 @@ function TransferCryptoBase({
|
|
|
1205
1520
|
className: "uf-rounded-full uf-flex-shrink-0"
|
|
1206
1521
|
}
|
|
1207
1522
|
),
|
|
1208
|
-
/* @__PURE__ */
|
|
1209
|
-
showDetailedDropdowns && /* @__PURE__ */
|
|
1523
|
+
/* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-normal", children: chainData.chain_name }),
|
|
1524
|
+
showDetailedDropdowns && /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-text-muted-foreground uf-capitalize", children: chainData.chain_type })
|
|
1210
1525
|
] });
|
|
1211
1526
|
};
|
|
1212
1527
|
const selectContainerClass = layoutVariant === "horizontal" ? "uf-grid uf-grid-cols-2 uf-gap-2.5" : "uf-space-y-3";
|
|
1213
|
-
return /* @__PURE__ */
|
|
1214
|
-
/* @__PURE__ */
|
|
1215
|
-
/* @__PURE__ */
|
|
1216
|
-
/* @__PURE__ */
|
|
1217
|
-
/* @__PURE__ */
|
|
1528
|
+
return /* @__PURE__ */ jsx12(TooltipProvider, { delayDuration: 0, skipDelayDuration: 0, children: /* @__PURE__ */ jsxs8("div", { className: "uf-space-y-3", children: [
|
|
1529
|
+
/* @__PURE__ */ jsxs8("div", { className: selectContainerClass, children: [
|
|
1530
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
1531
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-text-xs uf-text-muted-foreground uf-mb-2 uf-flex uf-items-center uf-gap-1", children: t.supportedToken }),
|
|
1532
|
+
/* @__PURE__ */ jsxs8(
|
|
1218
1533
|
Select,
|
|
1219
1534
|
{
|
|
1220
1535
|
value: token,
|
|
1221
1536
|
onValueChange: setToken,
|
|
1222
1537
|
disabled: tokensLoading || supportedTokens.length === 0,
|
|
1223
1538
|
children: [
|
|
1224
|
-
/* @__PURE__ */
|
|
1225
|
-
/* @__PURE__ */
|
|
1539
|
+
/* @__PURE__ */ jsx12(SelectTrigger, { className: "uf-bg-secondary uf-border-none uf-rounded-lg uf-h-10 hover:uf-bg-accent uf-text-foreground focus:uf-ring-1 focus:uf-ring-ring disabled:uf-opacity-50", children: /* @__PURE__ */ jsx12(SelectValue, { children: tokensLoading ? /* @__PURE__ */ jsx12("div", { className: "uf-flex uf-items-center uf-gap-2", children: /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-light uf-text-muted-foreground", children: t.loading }) }) : selectedToken ? renderTokenItem(selectedToken) : /* @__PURE__ */ jsx12("div", { className: "uf-flex uf-items-center uf-gap-2", children: /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-normal", children: token }) }) }) }),
|
|
1540
|
+
/* @__PURE__ */ jsx12(SelectContent, { className: "uf-bg-secondary uf-border uf-text-foreground uf-max-h-[300px]", children: supportedTokens.map((tokenData) => /* @__PURE__ */ jsx12(
|
|
1226
1541
|
SelectItem,
|
|
1227
1542
|
{
|
|
1228
1543
|
value: tokenData.symbol,
|
|
@@ -1235,51 +1550,51 @@ function TransferCryptoBase({
|
|
|
1235
1550
|
}
|
|
1236
1551
|
)
|
|
1237
1552
|
] }),
|
|
1238
|
-
/* @__PURE__ */
|
|
1239
|
-
/* @__PURE__ */
|
|
1553
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
1554
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-text-xs uf-text-muted-foreground uf-mb-2 uf-flex uf-items-center uf-gap-1", children: [
|
|
1240
1555
|
t.supportedChain,
|
|
1241
|
-
/* @__PURE__ */
|
|
1556
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-[10px]", children: [
|
|
1242
1557
|
"$",
|
|
1243
1558
|
minDepositUsd,
|
|
1244
1559
|
" ",
|
|
1245
1560
|
t.minDeposit.label
|
|
1246
1561
|
] }),
|
|
1247
|
-
/* @__PURE__ */
|
|
1248
|
-
/* @__PURE__ */
|
|
1562
|
+
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
1563
|
+
/* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx12(
|
|
1249
1564
|
"span",
|
|
1250
1565
|
{
|
|
1251
1566
|
className: "uf-inline-flex uf-cursor-pointer uf-transition-colors hover:uf-text-foreground",
|
|
1252
1567
|
tabIndex: 0,
|
|
1253
1568
|
role: "button",
|
|
1254
1569
|
"aria-label": "Minimum deposit information",
|
|
1255
|
-
children: /* @__PURE__ */
|
|
1570
|
+
children: /* @__PURE__ */ jsx12(Info, { className: "uf-w-3 uf-h-3" })
|
|
1256
1571
|
}
|
|
1257
1572
|
) }),
|
|
1258
|
-
/* @__PURE__ */
|
|
1573
|
+
/* @__PURE__ */ jsx12(
|
|
1259
1574
|
TooltipContent,
|
|
1260
1575
|
{
|
|
1261
1576
|
side: "left",
|
|
1262
1577
|
align: "center",
|
|
1263
1578
|
className: "uf-max-w-[200px]",
|
|
1264
|
-
children: /* @__PURE__ */
|
|
1579
|
+
children: /* @__PURE__ */ jsx12("p", { children: t.minDeposit.tooltip })
|
|
1265
1580
|
}
|
|
1266
1581
|
)
|
|
1267
1582
|
] })
|
|
1268
1583
|
] }),
|
|
1269
|
-
/* @__PURE__ */
|
|
1584
|
+
/* @__PURE__ */ jsxs8(
|
|
1270
1585
|
Select,
|
|
1271
1586
|
{
|
|
1272
1587
|
value: chain,
|
|
1273
1588
|
onValueChange: setChain,
|
|
1274
1589
|
disabled: tokensLoading || availableChainsForToken.length === 0,
|
|
1275
1590
|
children: [
|
|
1276
|
-
/* @__PURE__ */
|
|
1277
|
-
/* @__PURE__ */
|
|
1591
|
+
/* @__PURE__ */ jsx12(SelectTrigger, { className: "uf-bg-secondary uf-border-none uf-rounded-lg uf-h-10 hover:uf-bg-accent uf-text-foreground focus:uf-ring-1 focus:uf-ring-ring disabled:uf-opacity-50", children: /* @__PURE__ */ jsx12(SelectValue, { children: tokensLoading ? /* @__PURE__ */ jsx12("div", { className: "uf-flex uf-items-center uf-gap-2", children: /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-light uf-text-muted-foreground", children: t.loading }) }) : currentChainFromBackend ? renderChainItem(currentChainFromBackend) : currentChainData ? renderChainItem(currentChainData) : /* @__PURE__ */ jsx12("div", { className: "uf-flex uf-items-center uf-gap-2", children: /* @__PURE__ */ jsx12("span", { className: "uf-text-xs uf-font-normal", children: chain }) }) }) }),
|
|
1592
|
+
/* @__PURE__ */ jsx12(SelectContent, { className: "uf-bg-secondary uf-border uf-text-foreground uf-max-h-[300px]", children: availableChainsForToken.length === 0 ? /* @__PURE__ */ jsx12("div", { className: "uf-px-2 uf-py-3 uf-text-xs uf-text-muted-foreground uf-text-center", children: t.noChainsAvailable }) : availableChainsForToken.map((chainData) => {
|
|
1278
1593
|
const chainKey = getChainKey(
|
|
1279
1594
|
chainData.chain_id,
|
|
1280
1595
|
chainData.chain_type
|
|
1281
1596
|
);
|
|
1282
|
-
return /* @__PURE__ */
|
|
1597
|
+
return /* @__PURE__ */ jsx12(
|
|
1283
1598
|
SelectItem,
|
|
1284
1599
|
{
|
|
1285
1600
|
value: chainKey,
|
|
@@ -1294,14 +1609,14 @@ function TransferCryptoBase({
|
|
|
1294
1609
|
)
|
|
1295
1610
|
] })
|
|
1296
1611
|
] }),
|
|
1297
|
-
/* @__PURE__ */
|
|
1612
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-flex uf-justify-center uf-py-2", children: /* @__PURE__ */ jsx12("div", { className: "uf-bg-card uf-p-4 uf-rounded-2xl uf-shadow-lg uf-border uf-border-border", children: loading ? /* @__PURE__ */ jsx12(
|
|
1298
1613
|
"div",
|
|
1299
1614
|
{
|
|
1300
1615
|
className: "uf-flex uf-items-center uf-justify-center",
|
|
1301
1616
|
style: { width: 180, height: 180 },
|
|
1302
|
-
children: /* @__PURE__ */
|
|
1617
|
+
children: /* @__PURE__ */ jsx12("div", { className: "uf-text-foreground uf-text-sm", children: t.loadingQRCode })
|
|
1303
1618
|
}
|
|
1304
|
-
) : depositAddress ? /* @__PURE__ */
|
|
1619
|
+
) : depositAddress ? /* @__PURE__ */ jsx12(
|
|
1305
1620
|
StyledQRCode,
|
|
1306
1621
|
{
|
|
1307
1622
|
value: depositAddress,
|
|
@@ -1311,93 +1626,93 @@ function TransferCryptoBase({
|
|
|
1311
1626
|
darkMode: isDarkMode
|
|
1312
1627
|
},
|
|
1313
1628
|
`qr-${depositAddress}-${chain}`
|
|
1314
|
-
) : /* @__PURE__ */
|
|
1629
|
+
) : /* @__PURE__ */ jsx12(
|
|
1315
1630
|
"div",
|
|
1316
1631
|
{
|
|
1317
1632
|
className: "uf-flex uf-items-center uf-justify-center",
|
|
1318
1633
|
style: { width: 180, height: 180 },
|
|
1319
|
-
children: /* @__PURE__ */
|
|
1634
|
+
children: /* @__PURE__ */ jsx12("div", { className: "uf-text-red-400 uf-text-sm", children: t.noAddressAvailable })
|
|
1320
1635
|
}
|
|
1321
1636
|
) }) }),
|
|
1322
|
-
/* @__PURE__ */
|
|
1323
|
-
/* @__PURE__ */
|
|
1324
|
-
/* @__PURE__ */
|
|
1637
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
1638
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-text-xs uf-text-muted-foreground uf-mb-2 uf-flex uf-items-center uf-justify-between", children: [
|
|
1639
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-1", children: [
|
|
1325
1640
|
t.depositAddress.label,
|
|
1326
|
-
/* @__PURE__ */
|
|
1327
|
-
/* @__PURE__ */
|
|
1641
|
+
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
1642
|
+
/* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx12(
|
|
1328
1643
|
"span",
|
|
1329
1644
|
{
|
|
1330
1645
|
className: "uf-inline-flex uf-cursor-pointer uf-transition-colors hover:uf-text-foreground",
|
|
1331
1646
|
tabIndex: 0,
|
|
1332
1647
|
role: "button",
|
|
1333
1648
|
"aria-label": "Deposit address information",
|
|
1334
|
-
children: /* @__PURE__ */
|
|
1649
|
+
children: /* @__PURE__ */ jsx12(Info, { className: "uf-w-3 uf-h-3" })
|
|
1335
1650
|
}
|
|
1336
1651
|
) }),
|
|
1337
|
-
/* @__PURE__ */
|
|
1652
|
+
/* @__PURE__ */ jsx12(
|
|
1338
1653
|
TooltipContent,
|
|
1339
1654
|
{
|
|
1340
1655
|
side: "top",
|
|
1341
1656
|
align: "center",
|
|
1342
1657
|
className: "uf-max-w-[240px]",
|
|
1343
|
-
children: /* @__PURE__ */
|
|
1658
|
+
children: /* @__PURE__ */ jsx12("p", { children: t.depositAddress.tooltip.replace("{{token}}", token) })
|
|
1344
1659
|
}
|
|
1345
1660
|
)
|
|
1346
1661
|
] })
|
|
1347
1662
|
] }),
|
|
1348
|
-
copyButtonMode === "compact" && /* @__PURE__ */
|
|
1663
|
+
copyButtonMode === "compact" && /* @__PURE__ */ jsx12(
|
|
1349
1664
|
"button",
|
|
1350
1665
|
{
|
|
1351
1666
|
onClick: handleCopyAddress,
|
|
1352
1667
|
disabled: loading || !depositAddress,
|
|
1353
1668
|
className: "uf-flex uf-items-center uf-gap-1 uf-text-xs uf-text-muted-foreground hover:uf-text-foreground uf-transition-colors disabled:uf-opacity-50 disabled:uf-cursor-not-allowed",
|
|
1354
|
-
children: copied ? /* @__PURE__ */
|
|
1355
|
-
/* @__PURE__ */
|
|
1356
|
-
/* @__PURE__ */
|
|
1357
|
-
] }) : /* @__PURE__ */
|
|
1358
|
-
/* @__PURE__ */
|
|
1359
|
-
/* @__PURE__ */
|
|
1669
|
+
children: copied ? /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1670
|
+
/* @__PURE__ */ jsx12(Check2, { className: "uf-w-3 uf-h-3" }),
|
|
1671
|
+
/* @__PURE__ */ jsx12("span", { children: t.copied })
|
|
1672
|
+
] }) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1673
|
+
/* @__PURE__ */ jsx12(Copy, { className: "uf-w-3 uf-h-3" }),
|
|
1674
|
+
/* @__PURE__ */ jsx12("span", { children: t.copyAddress })
|
|
1360
1675
|
] })
|
|
1361
1676
|
}
|
|
1362
1677
|
)
|
|
1363
1678
|
] }),
|
|
1364
|
-
loading ? /* @__PURE__ */
|
|
1679
|
+
loading ? /* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-lg uf-px-3 uf-py-2.5 uf-text-xs uf-text-muted-foreground uf-animate-pulse", children: t.loading }) : error ? /* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-lg uf-px-3 uf-py-2.5 uf-text-xs uf-text-red-400", children: error }) : /* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-lg uf-px-3 uf-py-2.5 uf-text-xs uf-font-mono uf-break-all", children: depositAddress || t.noAddressAvailable })
|
|
1365
1680
|
] }),
|
|
1366
|
-
copyButtonMode === "fullWidth" && /* @__PURE__ */
|
|
1681
|
+
copyButtonMode === "fullWidth" && /* @__PURE__ */ jsx12(
|
|
1367
1682
|
Button,
|
|
1368
1683
|
{
|
|
1369
1684
|
onClick: handleCopyAddress,
|
|
1370
1685
|
disabled: loading || !depositAddress,
|
|
1371
1686
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-text-foreground uf-rounded-lg uf-h-9 uf-text-sm uf-font-medium disabled:uf-opacity-50 disabled:uf-cursor-not-allowed",
|
|
1372
|
-
children: copied ? /* @__PURE__ */
|
|
1373
|
-
/* @__PURE__ */
|
|
1687
|
+
children: copied ? /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1688
|
+
/* @__PURE__ */ jsx12(Check2, { className: "uf-w-4 uf-h-4 uf-mr-2" }),
|
|
1374
1689
|
t.copied
|
|
1375
|
-
] }) : /* @__PURE__ */
|
|
1376
|
-
/* @__PURE__ */
|
|
1690
|
+
] }) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
1691
|
+
/* @__PURE__ */ jsx12(Copy, { className: "uf-w-4 uf-h-4 uf-mr-2" }),
|
|
1377
1692
|
t.copyAddress
|
|
1378
1693
|
] })
|
|
1379
1694
|
}
|
|
1380
1695
|
),
|
|
1381
|
-
/* @__PURE__ */
|
|
1382
|
-
/* @__PURE__ */
|
|
1696
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-border-t uf-border-border", children: [
|
|
1697
|
+
/* @__PURE__ */ jsxs8(
|
|
1383
1698
|
"button",
|
|
1384
1699
|
{
|
|
1385
1700
|
onClick: () => setDetailsExpanded(!detailsExpanded),
|
|
1386
1701
|
className: "uf-w-full uf-flex uf-items-center uf-justify-between uf-py-2.5",
|
|
1387
1702
|
children: [
|
|
1388
|
-
/* @__PURE__ */
|
|
1389
|
-
/* @__PURE__ */
|
|
1390
|
-
/* @__PURE__ */
|
|
1703
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1704
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx12(DollarSign, { className: "uf-w-3 uf-h-3" }) }),
|
|
1705
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-xs", children: [
|
|
1391
1706
|
t.priceImpact.label,
|
|
1392
1707
|
":",
|
|
1393
1708
|
" ",
|
|
1394
|
-
/* @__PURE__ */
|
|
1709
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-foreground", children: [
|
|
1395
1710
|
priceImpact.toFixed(2),
|
|
1396
1711
|
"%"
|
|
1397
1712
|
] })
|
|
1398
1713
|
] }),
|
|
1399
|
-
/* @__PURE__ */
|
|
1400
|
-
/* @__PURE__ */
|
|
1714
|
+
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
1715
|
+
/* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx12(
|
|
1401
1716
|
"span",
|
|
1402
1717
|
{
|
|
1403
1718
|
className: "uf-inline-flex uf-cursor-pointer uf-text-muted-foreground uf-transition-colors hover:uf-text-foreground",
|
|
@@ -1410,75 +1725,75 @@ function TransferCryptoBase({
|
|
|
1410
1725
|
tabIndex: 0,
|
|
1411
1726
|
role: "button",
|
|
1412
1727
|
"aria-label": "Price impact information",
|
|
1413
|
-
children: /* @__PURE__ */
|
|
1728
|
+
children: /* @__PURE__ */ jsx12(Info, { className: "uf-w-3 uf-h-3" })
|
|
1414
1729
|
}
|
|
1415
1730
|
) }),
|
|
1416
|
-
/* @__PURE__ */
|
|
1731
|
+
/* @__PURE__ */ jsx12(
|
|
1417
1732
|
TooltipContent,
|
|
1418
1733
|
{
|
|
1419
1734
|
side: "top",
|
|
1420
1735
|
align: "center",
|
|
1421
1736
|
className: "uf-max-w-[240px]",
|
|
1422
|
-
children: /* @__PURE__ */
|
|
1737
|
+
children: /* @__PURE__ */ jsx12("p", { children: t.priceImpact.tooltip })
|
|
1423
1738
|
}
|
|
1424
1739
|
)
|
|
1425
1740
|
] })
|
|
1426
1741
|
] }),
|
|
1427
|
-
detailsExpanded ? /* @__PURE__ */
|
|
1742
|
+
detailsExpanded ? /* @__PURE__ */ jsx12(ChevronUp2, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground" }) : /* @__PURE__ */ jsx12(ChevronDown2, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground" })
|
|
1428
1743
|
]
|
|
1429
1744
|
}
|
|
1430
1745
|
),
|
|
1431
|
-
detailsExpanded && /* @__PURE__ */
|
|
1432
|
-
/* @__PURE__ */
|
|
1433
|
-
/* @__PURE__ */
|
|
1434
|
-
/* @__PURE__ */
|
|
1746
|
+
detailsExpanded && /* @__PURE__ */ jsxs8("div", { className: "uf-pb-3 uf-space-y-2.5", children: [
|
|
1747
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1748
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx12(ShieldCheck, { className: "uf-w-3 uf-h-3" }) }),
|
|
1749
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-xs", children: [
|
|
1435
1750
|
t.slippage.label,
|
|
1436
1751
|
":",
|
|
1437
1752
|
" ",
|
|
1438
|
-
/* @__PURE__ */
|
|
1753
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-foreground", children: [
|
|
1439
1754
|
t.slippage.auto,
|
|
1440
1755
|
" \u2022 ",
|
|
1441
1756
|
maxSlippage.toFixed(2),
|
|
1442
1757
|
"%"
|
|
1443
1758
|
] })
|
|
1444
1759
|
] }),
|
|
1445
|
-
/* @__PURE__ */
|
|
1446
|
-
/* @__PURE__ */
|
|
1760
|
+
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
1761
|
+
/* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx12(
|
|
1447
1762
|
"span",
|
|
1448
1763
|
{
|
|
1449
1764
|
className: "uf-inline-flex uf-cursor-pointer uf-text-muted-foreground uf-transition-colors hover:uf-text-foreground",
|
|
1450
1765
|
tabIndex: 0,
|
|
1451
1766
|
role: "button",
|
|
1452
1767
|
"aria-label": "Slippage information",
|
|
1453
|
-
children: /* @__PURE__ */
|
|
1768
|
+
children: /* @__PURE__ */ jsx12(Info, { className: "uf-w-3 uf-h-3" })
|
|
1454
1769
|
}
|
|
1455
1770
|
) }),
|
|
1456
|
-
/* @__PURE__ */
|
|
1771
|
+
/* @__PURE__ */ jsx12(
|
|
1457
1772
|
TooltipContent,
|
|
1458
1773
|
{
|
|
1459
1774
|
side: "top",
|
|
1460
1775
|
align: "center",
|
|
1461
1776
|
className: "uf-max-w-[240px]",
|
|
1462
|
-
children: /* @__PURE__ */
|
|
1777
|
+
children: /* @__PURE__ */ jsx12("p", { children: t.slippage.tooltip })
|
|
1463
1778
|
}
|
|
1464
1779
|
)
|
|
1465
1780
|
] })
|
|
1466
1781
|
] }),
|
|
1467
|
-
/* @__PURE__ */
|
|
1468
|
-
/* @__PURE__ */
|
|
1469
|
-
/* @__PURE__ */
|
|
1782
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1783
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx12(Clock, { className: "uf-w-3 uf-h-3" }) }),
|
|
1784
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-xs", children: [
|
|
1470
1785
|
t.processingTime.label,
|
|
1471
1786
|
":",
|
|
1472
1787
|
" ",
|
|
1473
|
-
/* @__PURE__ */
|
|
1788
|
+
/* @__PURE__ */ jsx12("span", { className: "uf-text-foreground", children: formatProcessingTime(processingTime) })
|
|
1474
1789
|
] })
|
|
1475
1790
|
] }),
|
|
1476
|
-
/* @__PURE__ */
|
|
1477
|
-
/* @__PURE__ */
|
|
1478
|
-
/* @__PURE__ */
|
|
1791
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
1792
|
+
/* @__PURE__ */ jsx12("div", { className: "uf-bg-secondary uf-rounded-full uf-p-1", children: /* @__PURE__ */ jsx12(FileText, { className: "uf-w-3 uf-h-3" }) }),
|
|
1793
|
+
/* @__PURE__ */ jsxs8("span", { className: "uf-text-xs", children: [
|
|
1479
1794
|
t.help.needHelp,
|
|
1480
1795
|
" ",
|
|
1481
|
-
/* @__PURE__ */
|
|
1796
|
+
/* @__PURE__ */ jsx12(
|
|
1482
1797
|
"a",
|
|
1483
1798
|
{
|
|
1484
1799
|
href: "#",
|
|
@@ -1489,8 +1804,8 @@ function TransferCryptoBase({
|
|
|
1489
1804
|
] })
|
|
1490
1805
|
] })
|
|
1491
1806
|
] }),
|
|
1492
|
-
/* @__PURE__ */
|
|
1493
|
-
/* @__PURE__ */
|
|
1807
|
+
/* @__PURE__ */ jsxs8("div", { className: "uf-flex uf-items-center uf-justify-between uf-text-xs uf-pt-2", children: [
|
|
1808
|
+
/* @__PURE__ */ jsx12(
|
|
1494
1809
|
"a",
|
|
1495
1810
|
{
|
|
1496
1811
|
href: "https://unifold.io/terms",
|
|
@@ -1499,38 +1814,37 @@ function TransferCryptoBase({
|
|
|
1499
1814
|
children: t.terms.termsApply
|
|
1500
1815
|
}
|
|
1501
1816
|
),
|
|
1502
|
-
depositExecutions.length > 1 && /* @__PURE__ */
|
|
1817
|
+
depositExecutions.length > 1 && /* @__PURE__ */ jsxs8(
|
|
1503
1818
|
"button",
|
|
1504
1819
|
{
|
|
1505
1820
|
onClick: () => setDepositsModalOpen(true),
|
|
1506
1821
|
className: "uf-flex uf-items-center uf-gap-1 uf-text-muted-foreground hover:uf-text-foreground uf-transition-colors uf-animate-in uf-fade-in uf-slide-in-from-right-8 uf-duration-1000",
|
|
1507
1822
|
children: [
|
|
1508
|
-
/* @__PURE__ */
|
|
1823
|
+
/* @__PURE__ */ jsx12(Clock, { className: "uf-w-3.5 uf-h-3.5" }),
|
|
1509
1824
|
"Track deposits (",
|
|
1510
1825
|
depositExecutions.length,
|
|
1511
1826
|
")",
|
|
1512
|
-
/* @__PURE__ */
|
|
1827
|
+
/* @__PURE__ */ jsx12(ChevronRight2, { className: "uf-w-3 uf-h-3" })
|
|
1513
1828
|
]
|
|
1514
1829
|
}
|
|
1515
1830
|
)
|
|
1516
1831
|
] })
|
|
1517
1832
|
] }),
|
|
1518
|
-
depositExecutions.length === 1 && /* @__PURE__ */
|
|
1833
|
+
depositExecutions.length === 1 && /* @__PURE__ */ jsx12("div", { className: "uf-fixed uf-bottom-4 uf-left-1/2 uf--translate-x-1/2 uf-w-[360px] uf-max-w-[calc(100vw-2rem)] uf-z-[100]", children: /* @__PURE__ */ jsx12(
|
|
1519
1834
|
DepositSuccessToast,
|
|
1520
1835
|
{
|
|
1521
1836
|
depositTx: depositExecutions[0].transaction_hash,
|
|
1522
|
-
completionTx: depositExecutions[0].destination_transaction_hashes?.[0] || (depositExecutions[0].status === "succeeded" /* SUCCEEDED */ ? depositExecutions[0].transaction_hash : void 0),
|
|
1523
1837
|
orderSubmittedAt: depositExecutions[0].created_at || (/* @__PURE__ */ new Date()).toISOString(),
|
|
1524
1838
|
orderFilledAt: depositExecutions[0].updated_at || (/* @__PURE__ */ new Date()).toISOString(),
|
|
1525
1839
|
explorerUrl: depositExecutions[0].explorer_url,
|
|
1526
|
-
completionExplorerUrl: depositExecutions[0].destination_explorer_url ?? void 0,
|
|
1527
1840
|
status: depositExecutions[0].status,
|
|
1528
1841
|
tokenIconUrl: depositExecutions[0].source_token_metadata?.icon_url,
|
|
1842
|
+
sourceAmountBaseUnit: depositExecutions[0].source_amount_base_unit,
|
|
1529
1843
|
onClose: () => setDepositExecutions([])
|
|
1530
1844
|
},
|
|
1531
1845
|
depositExecutions[0].id
|
|
1532
1846
|
) }),
|
|
1533
|
-
/* @__PURE__ */
|
|
1847
|
+
/* @__PURE__ */ jsx12(
|
|
1534
1848
|
DepositsModal,
|
|
1535
1849
|
{
|
|
1536
1850
|
open: depositsModalOpen,
|
|
@@ -1545,9 +1859,9 @@ function TransferCryptoBase({
|
|
|
1545
1859
|
}
|
|
1546
1860
|
|
|
1547
1861
|
// src/components/deposits/TransferCrypto.tsx
|
|
1548
|
-
import { jsx as
|
|
1862
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1549
1863
|
function TransferCrypto(props) {
|
|
1550
|
-
return /* @__PURE__ */
|
|
1864
|
+
return /* @__PURE__ */ jsx13(
|
|
1551
1865
|
TransferCryptoBase,
|
|
1552
1866
|
{
|
|
1553
1867
|
...props,
|
|
@@ -1559,7 +1873,7 @@ function TransferCrypto(props) {
|
|
|
1559
1873
|
|
|
1560
1874
|
// src/components/deposits/BuyWithCard.tsx
|
|
1561
1875
|
import { useState as useState4, useEffect as useEffect4 } from "react";
|
|
1562
|
-
import { ChevronDown as ChevronDown3, ChevronRight as
|
|
1876
|
+
import { ChevronDown as ChevronDown3, ChevronRight as ChevronRight3 } from "lucide-react";
|
|
1563
1877
|
|
|
1564
1878
|
// src/components/deposits/CurrencyModal.tsx
|
|
1565
1879
|
import { useState as useState3 } from "react";
|
|
@@ -1567,43 +1881,41 @@ import { Search } from "lucide-react";
|
|
|
1567
1881
|
|
|
1568
1882
|
// src/components/currency/CurrencyListItem.tsx
|
|
1569
1883
|
import { Check as Check3 } from "lucide-react";
|
|
1570
|
-
import { jsx as
|
|
1884
|
+
import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1571
1885
|
function CurrencyListItem({
|
|
1572
1886
|
currency,
|
|
1573
1887
|
isSelected,
|
|
1574
1888
|
onSelect
|
|
1575
1889
|
}) {
|
|
1576
|
-
const iconUrl = currency.icon_url;
|
|
1577
|
-
return /* @__PURE__ */
|
|
1890
|
+
const iconUrl = getPreferredIconUrl(currency.icon_urls, "png") || currency.icon_url;
|
|
1891
|
+
return /* @__PURE__ */ jsxs9(
|
|
1578
1892
|
"button",
|
|
1579
1893
|
{
|
|
1580
1894
|
onClick: () => onSelect(currency.currency_code),
|
|
1581
1895
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-group",
|
|
1582
1896
|
children: [
|
|
1583
|
-
/* @__PURE__ */
|
|
1584
|
-
/* @__PURE__ */
|
|
1897
|
+
/* @__PURE__ */ jsxs9("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
1898
|
+
/* @__PURE__ */ jsx14(
|
|
1585
1899
|
"img",
|
|
1586
1900
|
{
|
|
1587
1901
|
src: iconUrl,
|
|
1588
1902
|
alt: currency.name,
|
|
1589
|
-
|
|
1590
|
-
height: 40,
|
|
1591
|
-
className: "uf-w-full uf-h-full uf-object-cover"
|
|
1903
|
+
className: "uf-w-10 uf-h-10 uf-flex-shrink-0"
|
|
1592
1904
|
}
|
|
1593
|
-
)
|
|
1594
|
-
/* @__PURE__ */
|
|
1595
|
-
/* @__PURE__ */
|
|
1596
|
-
/* @__PURE__ */
|
|
1905
|
+
),
|
|
1906
|
+
/* @__PURE__ */ jsxs9("div", { className: "uf-text-left", children: [
|
|
1907
|
+
/* @__PURE__ */ jsx14("div", { className: "uf-text-sm uf-font-normal uf-text-foreground", children: currency.name }),
|
|
1908
|
+
/* @__PURE__ */ jsx14("div", { className: "uf-text-xs uf-text-muted-foreground uf-font-light", children: currency.currency_code.toUpperCase() })
|
|
1597
1909
|
] })
|
|
1598
1910
|
] }),
|
|
1599
|
-
isSelected && /* @__PURE__ */
|
|
1911
|
+
isSelected && /* @__PURE__ */ jsx14(Check3, { className: "uf-w-4 uf-h-4 uf-text-foreground" })
|
|
1600
1912
|
]
|
|
1601
1913
|
}
|
|
1602
1914
|
);
|
|
1603
1915
|
}
|
|
1604
1916
|
|
|
1605
1917
|
// src/components/currency/CurrencyListSection.tsx
|
|
1606
|
-
import { Fragment as Fragment3, jsx as
|
|
1918
|
+
import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1607
1919
|
function CurrencyListSection({
|
|
1608
1920
|
title,
|
|
1609
1921
|
currencies,
|
|
@@ -1611,9 +1923,9 @@ function CurrencyListSection({
|
|
|
1611
1923
|
onSelect
|
|
1612
1924
|
}) {
|
|
1613
1925
|
if (currencies.length === 0) return null;
|
|
1614
|
-
return /* @__PURE__ */
|
|
1615
|
-
/* @__PURE__ */
|
|
1616
|
-
currencies.map((currency) => /* @__PURE__ */
|
|
1926
|
+
return /* @__PURE__ */ jsxs10(Fragment3, { children: [
|
|
1927
|
+
/* @__PURE__ */ jsx15("div", { className: "uf-px-1 uf-pb-2", children: /* @__PURE__ */ jsx15("h3", { className: "uf-text-xs uf-font-light uf-text-muted-foreground", children: title }) }),
|
|
1928
|
+
currencies.map((currency) => /* @__PURE__ */ jsx15(
|
|
1617
1929
|
CurrencyListItem,
|
|
1618
1930
|
{
|
|
1619
1931
|
currency,
|
|
@@ -1626,7 +1938,7 @@ function CurrencyListSection({
|
|
|
1626
1938
|
}
|
|
1627
1939
|
|
|
1628
1940
|
// src/components/deposits/CurrencyModal.tsx
|
|
1629
|
-
import { jsx as
|
|
1941
|
+
import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1630
1942
|
function CurrencyModal({
|
|
1631
1943
|
open,
|
|
1632
1944
|
onOpenChange,
|
|
@@ -1663,8 +1975,8 @@ function CurrencyModal({
|
|
|
1663
1975
|
onOpenChange(false);
|
|
1664
1976
|
setSearchQuery("");
|
|
1665
1977
|
};
|
|
1666
|
-
return /* @__PURE__ */
|
|
1667
|
-
/* @__PURE__ */
|
|
1978
|
+
return /* @__PURE__ */ jsx16(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs11(DialogContent, { className: `sm:uf-max-w-[400px] !uf-bg-card uf-border-secondary uf-text-foreground uf-p-0 uf-gap-0 [&>button]:uf-hidden ${themeClass}`, children: [
|
|
1979
|
+
/* @__PURE__ */ jsx16(
|
|
1668
1980
|
DepositHeader,
|
|
1669
1981
|
{
|
|
1670
1982
|
title: "Currency",
|
|
@@ -1673,9 +1985,9 @@ function CurrencyModal({
|
|
|
1673
1985
|
onClose: handleClose
|
|
1674
1986
|
}
|
|
1675
1987
|
),
|
|
1676
|
-
/* @__PURE__ */
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
/* @__PURE__ */
|
|
1988
|
+
/* @__PURE__ */ jsx16("div", { children: /* @__PURE__ */ jsxs11("div", { className: "uf-relative", children: [
|
|
1989
|
+
/* @__PURE__ */ jsx16(Search, { className: "uf-absolute uf-left-4 uf-top-1/2 uf--translate-y-1/2 uf-w-4 uf-h-4 uf-text-muted-foreground" }),
|
|
1990
|
+
/* @__PURE__ */ jsx16(
|
|
1679
1991
|
"input",
|
|
1680
1992
|
{
|
|
1681
1993
|
type: "text",
|
|
@@ -1686,8 +1998,8 @@ function CurrencyModal({
|
|
|
1686
1998
|
}
|
|
1687
1999
|
)
|
|
1688
2000
|
] }) }),
|
|
1689
|
-
/* @__PURE__ */
|
|
1690
|
-
/* @__PURE__ */
|
|
2001
|
+
/* @__PURE__ */ jsx16("div", { className: "uf-max-h-[500px] uf-overflow-y-auto [scrollbar-width:none] [&::-webkit-scrollbar]:uf-hidden", children: /* @__PURE__ */ jsxs11("div", { className: "uf-space-y-2", children: [
|
|
2002
|
+
/* @__PURE__ */ jsx16(
|
|
1691
2003
|
CurrencyListSection,
|
|
1692
2004
|
{
|
|
1693
2005
|
title: "Popular currencies",
|
|
@@ -1696,8 +2008,8 @@ function CurrencyModal({
|
|
|
1696
2008
|
onSelect: handleSelect
|
|
1697
2009
|
}
|
|
1698
2010
|
),
|
|
1699
|
-
filteredPreferred.length > 0 && filteredOther.length > 0 && /* @__PURE__ */
|
|
1700
|
-
/* @__PURE__ */
|
|
2011
|
+
filteredPreferred.length > 0 && filteredOther.length > 0 && /* @__PURE__ */ jsx16("div", { className: "uf-h-2" }),
|
|
2012
|
+
/* @__PURE__ */ jsx16(
|
|
1701
2013
|
CurrencyListSection,
|
|
1702
2014
|
{
|
|
1703
2015
|
title: "All currencies",
|
|
@@ -1706,7 +2018,7 @@ function CurrencyModal({
|
|
|
1706
2018
|
onSelect: handleSelect
|
|
1707
2019
|
}
|
|
1708
2020
|
),
|
|
1709
|
-
filteredPreferred.length === 0 && filteredOther.length === 0 && /* @__PURE__ */
|
|
2021
|
+
filteredPreferred.length === 0 && filteredOther.length === 0 && /* @__PURE__ */ jsx16("div", { className: "uf-text-center uf-py-8 uf-text-muted-foreground uf-text-sm", children: "No currencies found" })
|
|
1710
2022
|
] }) })
|
|
1711
2023
|
] }) });
|
|
1712
2024
|
}
|
|
@@ -1760,7 +2072,7 @@ function useUserIp() {
|
|
|
1760
2072
|
}
|
|
1761
2073
|
|
|
1762
2074
|
// src/components/deposits/BuyWithCard.tsx
|
|
1763
|
-
import { jsx as
|
|
2075
|
+
import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1764
2076
|
var t2 = i18n.buyWithCard;
|
|
1765
2077
|
var QUICK_AMOUNTS = [100, 500, 1e3];
|
|
1766
2078
|
function getCurrencySymbol(currencyCode) {
|
|
@@ -1788,7 +2100,8 @@ function BuyWithCard({
|
|
|
1788
2100
|
destinationChainId,
|
|
1789
2101
|
destinationTokenAddress,
|
|
1790
2102
|
themeClass = "",
|
|
1791
|
-
wallets: externalWallets
|
|
2103
|
+
wallets: externalWallets,
|
|
2104
|
+
assetCdnUrl
|
|
1792
2105
|
}) {
|
|
1793
2106
|
const [amount, setAmount] = useState4("500.00");
|
|
1794
2107
|
const [currency, setCurrency] = useState4("usd");
|
|
@@ -2060,38 +2373,36 @@ function BuyWithCard({
|
|
|
2060
2373
|
(a, b) => b.destination_amount - a.destination_amount
|
|
2061
2374
|
);
|
|
2062
2375
|
const currencySymbol = getCurrencySymbol(currency);
|
|
2063
|
-
return /* @__PURE__ */
|
|
2064
|
-
/* @__PURE__ */
|
|
2376
|
+
return /* @__PURE__ */ jsxs12("div", { className: "uf-pb-1 uf-relative uf-overflow-hidden", children: [
|
|
2377
|
+
/* @__PURE__ */ jsxs12(
|
|
2065
2378
|
"div",
|
|
2066
2379
|
{
|
|
2067
2380
|
className: `uf-transition-all uf-duration-300 ${showQuotesView || showOnrampView ? "uf-opacity-0 uf-pointer-events-none uf-absolute uf-inset-0" : "uf-opacity-100"}`,
|
|
2068
2381
|
children: [
|
|
2069
|
-
/* @__PURE__ */
|
|
2070
|
-
/* @__PURE__ */
|
|
2382
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-mb-6 uf-pt-4", children: [
|
|
2383
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-flex uf-justify-center uf-mb-4", children: /* @__PURE__ */ jsxs12(
|
|
2071
2384
|
"button",
|
|
2072
2385
|
{
|
|
2073
2386
|
onClick: () => setShowCurrencyModal(true),
|
|
2074
2387
|
disabled: currenciesLoading,
|
|
2075
2388
|
className: "uf-flex uf-items-center uf-gap-1.5 uf-px-3 uf-py-1.5 uf-rounded-lg uf-bg-secondary hover:uf-bg-accent uf-transition-colors disabled:uf-opacity-50 disabled:uf-cursor-not-allowed",
|
|
2076
2389
|
children: [
|
|
2077
|
-
selectedCurrencyData && /* @__PURE__ */
|
|
2390
|
+
selectedCurrencyData && /* @__PURE__ */ jsx17(
|
|
2078
2391
|
"img",
|
|
2079
2392
|
{
|
|
2080
|
-
src: selectedCurrencyData.icon_url,
|
|
2393
|
+
src: getPreferredIconUrl(selectedCurrencyData.icon_urls, "png") || selectedCurrencyData.icon_url,
|
|
2081
2394
|
alt: selectedCurrencyData.name,
|
|
2082
|
-
|
|
2083
|
-
height: 16,
|
|
2084
|
-
className: "uf-w-full uf-h-full uf-object-cover uf-rounded-full"
|
|
2395
|
+
className: "uf-w-4 uf-h-4"
|
|
2085
2396
|
}
|
|
2086
|
-
)
|
|
2087
|
-
/* @__PURE__ */
|
|
2088
|
-
/* @__PURE__ */
|
|
2397
|
+
),
|
|
2398
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-sm uf-text-foreground uf-font-medium", children: currency.toUpperCase() }),
|
|
2399
|
+
/* @__PURE__ */ jsx17(ChevronDown3, { className: "uf-w-3.5 uf-h-3.5 uf-text-muted-foreground" })
|
|
2089
2400
|
]
|
|
2090
2401
|
}
|
|
2091
2402
|
) }),
|
|
2092
|
-
/* @__PURE__ */
|
|
2093
|
-
/* @__PURE__ */
|
|
2094
|
-
/* @__PURE__ */
|
|
2403
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-text-center uf-mb-4", children: [
|
|
2404
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-flex uf-items-center uf-justify-center uf-mb-2 uf-px-8", children: /* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-max-w-full", children: [
|
|
2405
|
+
/* @__PURE__ */ jsx17(
|
|
2095
2406
|
"span",
|
|
2096
2407
|
{
|
|
2097
2408
|
className: "uf-font-normal uf-text-foreground uf-flex-shrink-0 uf-mr-1",
|
|
@@ -2101,7 +2412,7 @@ function BuyWithCard({
|
|
|
2101
2412
|
children: currencySymbol
|
|
2102
2413
|
}
|
|
2103
2414
|
),
|
|
2104
|
-
/* @__PURE__ */
|
|
2415
|
+
/* @__PURE__ */ jsx17(
|
|
2105
2416
|
"input",
|
|
2106
2417
|
{
|
|
2107
2418
|
type: "text",
|
|
@@ -2117,12 +2428,12 @@ function BuyWithCard({
|
|
|
2117
2428
|
}
|
|
2118
2429
|
)
|
|
2119
2430
|
] }) }),
|
|
2120
|
-
quotesLoading ? /* @__PURE__ */
|
|
2431
|
+
quotesLoading ? /* @__PURE__ */ jsx17("div", { className: "uf-flex uf-justify-center", children: /* @__PURE__ */ jsx17("div", { className: "uf-h-4 uf-bg-muted uf-rounded uf-w-40 uf-animate-pulse" }) }) : /* @__PURE__ */ jsxs12("div", { className: "uf-text-sm uf-text-muted-foreground uf-font-normal", children: [
|
|
2121
2432
|
calculateUSDC(),
|
|
2122
2433
|
" USDC (Perps)"
|
|
2123
2434
|
] })
|
|
2124
2435
|
] }),
|
|
2125
|
-
/* @__PURE__ */
|
|
2436
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-flex uf-gap-3 uf-justify-center", children: QUICK_AMOUNTS.map((quickAmount) => /* @__PURE__ */ jsxs12(
|
|
2126
2437
|
"button",
|
|
2127
2438
|
{
|
|
2128
2439
|
onClick: () => handleQuickAmount(quickAmount),
|
|
@@ -2135,31 +2446,31 @@ function BuyWithCard({
|
|
|
2135
2446
|
quickAmount
|
|
2136
2447
|
)) })
|
|
2137
2448
|
] }),
|
|
2138
|
-
/* @__PURE__ */
|
|
2139
|
-
/* @__PURE__ */
|
|
2140
|
-
/* @__PURE__ */
|
|
2141
|
-
quotes.length > 0 && !quotesLoading && /* @__PURE__ */
|
|
2449
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-mb-6", children: [
|
|
2450
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-justify-between uf-text-xs uf-font-medium uf-mb-2 uf-px-1", children: [
|
|
2451
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-foreground", children: "Provider" }),
|
|
2452
|
+
quotes.length > 0 && !quotesLoading && /* @__PURE__ */ jsxs12("span", { className: "uf-text-[10px] uf-text-foreground uf-font-normal", children: [
|
|
2142
2453
|
"Refreshing in ",
|
|
2143
2454
|
countdown,
|
|
2144
2455
|
"s"
|
|
2145
2456
|
] })
|
|
2146
2457
|
] }),
|
|
2147
|
-
/* @__PURE__ */
|
|
2458
|
+
/* @__PURE__ */ jsx17(
|
|
2148
2459
|
"button",
|
|
2149
2460
|
{
|
|
2150
2461
|
onClick: () => handleViewChange("quotes"),
|
|
2151
2462
|
disabled: quotesLoading || quotes.length === 0,
|
|
2152
2463
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-4 uf-group disabled:uf-opacity-50 disabled:uf-cursor-not-allowed",
|
|
2153
|
-
children: quotesLoading ? /* @__PURE__ */
|
|
2154
|
-
/* @__PURE__ */
|
|
2155
|
-
/* @__PURE__ */
|
|
2156
|
-
/* @__PURE__ */
|
|
2157
|
-
/* @__PURE__ */
|
|
2464
|
+
children: quotesLoading ? /* @__PURE__ */ jsxs12("div", { className: "uf-text-left uf-w-full uf-animate-pulse", children: [
|
|
2465
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-h-3 uf-bg-muted uf-rounded uf-w-28 uf-mb-3" }),
|
|
2466
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
2467
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-w-8 uf-h-8 uf-bg-muted uf-rounded-full" }),
|
|
2468
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-h-4 uf-bg-muted uf-rounded uf-w-32" })
|
|
2158
2469
|
] })
|
|
2159
|
-
] }) : /* @__PURE__ */
|
|
2160
|
-
isAutoSelected && /* @__PURE__ */
|
|
2161
|
-
selectedProvider && /* @__PURE__ */
|
|
2162
|
-
/* @__PURE__ */
|
|
2470
|
+
] }) : /* @__PURE__ */ jsxs12("div", { className: "uf-w-full uf-text-left", children: [
|
|
2471
|
+
isAutoSelected && /* @__PURE__ */ jsx17("div", { className: "uf-text-xs uf-text-muted-foreground uf-font-normal uf-mb-2", children: "Auto-picked for you" }),
|
|
2472
|
+
selectedProvider && /* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2473
|
+
/* @__PURE__ */ jsx17(
|
|
2163
2474
|
"img",
|
|
2164
2475
|
{
|
|
2165
2476
|
src: selectedProvider.icon_url,
|
|
@@ -2169,22 +2480,22 @@ function BuyWithCard({
|
|
|
2169
2480
|
className: "uf-rounded-full uf-flex-shrink-0"
|
|
2170
2481
|
}
|
|
2171
2482
|
),
|
|
2172
|
-
/* @__PURE__ */
|
|
2173
|
-
/* @__PURE__ */
|
|
2174
|
-
/* @__PURE__ */
|
|
2175
|
-
isAutoSelected && /* @__PURE__ */
|
|
2176
|
-
isAutoSelected && selectedProvider.low_kyc === false && /* @__PURE__ */
|
|
2177
|
-
selectedProvider.low_kyc === false && /* @__PURE__ */
|
|
2483
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex-1 uf-min-w-0", children: [
|
|
2484
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-text-sm uf-text-foreground uf-font-medium", children: selectedProvider.service_provider_display_name }),
|
|
2485
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-gap-1.5 uf-mt-0.5", children: [
|
|
2486
|
+
isAutoSelected && /* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-green-400 uf-font-normal", children: "Best price" }),
|
|
2487
|
+
isAutoSelected && selectedProvider.low_kyc === false && /* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground", children: "\u2022" }),
|
|
2488
|
+
selectedProvider.low_kyc === false && /* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground uf-font-normal", children: "No document upload" })
|
|
2178
2489
|
] })
|
|
2179
2490
|
] }),
|
|
2180
|
-
quotes.length > 0 && /* @__PURE__ */
|
|
2491
|
+
quotes.length > 0 && /* @__PURE__ */ jsx17(ChevronRight3, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground group-hover:uf-text-foreground uf-transition-colors uf-flex-shrink-0" })
|
|
2181
2492
|
] })
|
|
2182
2493
|
] })
|
|
2183
2494
|
}
|
|
2184
2495
|
),
|
|
2185
|
-
quotesError && /* @__PURE__ */
|
|
2496
|
+
quotesError && /* @__PURE__ */ jsx17("div", { className: "uf-text-xs uf-text-red-400 uf-mt-2 uf-px-1", children: quotesError })
|
|
2186
2497
|
] }),
|
|
2187
|
-
/* @__PURE__ */
|
|
2498
|
+
/* @__PURE__ */ jsx17(
|
|
2188
2499
|
"button",
|
|
2189
2500
|
{
|
|
2190
2501
|
onClick: handleContinue,
|
|
@@ -2199,15 +2510,15 @@ function BuyWithCard({
|
|
|
2199
2510
|
]
|
|
2200
2511
|
}
|
|
2201
2512
|
),
|
|
2202
|
-
/* @__PURE__ */
|
|
2513
|
+
/* @__PURE__ */ jsx17(
|
|
2203
2514
|
"div",
|
|
2204
2515
|
{
|
|
2205
2516
|
className: `uf-transition-all uf-duration-300 ${showQuotesView && !showOnrampView ? "uf-opacity-100" : "uf-opacity-0 uf-pointer-events-none uf-absolute uf-inset-0"}`,
|
|
2206
|
-
children: /* @__PURE__ */
|
|
2517
|
+
children: /* @__PURE__ */ jsx17("div", { className: "uf-space-y-2 uf-pt-2", children: sortedQuotes.map((quote, index) => {
|
|
2207
2518
|
const badges = getProviderBadges(quote, sortedQuotes);
|
|
2208
2519
|
const displayName = quote.service_provider_display_name;
|
|
2209
2520
|
const isSelected = selectedProvider?.service_provider === quote.service_provider;
|
|
2210
|
-
return /* @__PURE__ */
|
|
2521
|
+
return /* @__PURE__ */ jsxs12(
|
|
2211
2522
|
"button",
|
|
2212
2523
|
{
|
|
2213
2524
|
onClick: () => {
|
|
@@ -2220,8 +2531,8 @@ function BuyWithCard({
|
|
|
2220
2531
|
},
|
|
2221
2532
|
className: `uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-group ${isSelected ? "uf-ring-2 uf-ring-inset uf-ring-primary" : ""}`,
|
|
2222
2533
|
children: [
|
|
2223
|
-
/* @__PURE__ */
|
|
2224
|
-
/* @__PURE__ */
|
|
2534
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2535
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-w-10 uf-h-10 uf-flex uf-items-center uf-justify-center uf-flex-shrink-0", children: /* @__PURE__ */ jsx17(
|
|
2225
2536
|
"img",
|
|
2226
2537
|
{
|
|
2227
2538
|
src: quote.icon_url,
|
|
@@ -2231,10 +2542,10 @@ function BuyWithCard({
|
|
|
2231
2542
|
className: "uf-rounded-full"
|
|
2232
2543
|
}
|
|
2233
2544
|
) }),
|
|
2234
|
-
/* @__PURE__ */
|
|
2235
|
-
/* @__PURE__ */
|
|
2236
|
-
/* @__PURE__ */
|
|
2237
|
-
badges.map((badge, i) => /* @__PURE__ */
|
|
2545
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-text-left", children: [
|
|
2546
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-text-sm uf-font-medium uf-text-foreground", children: displayName }),
|
|
2547
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-gap-1.5 uf-mt-0.5", children: [
|
|
2548
|
+
badges.map((badge, i) => /* @__PURE__ */ jsxs12(
|
|
2238
2549
|
"span",
|
|
2239
2550
|
{
|
|
2240
2551
|
className: "uf-text-[10px] uf-text-green-400 uf-font-normal",
|
|
@@ -2245,17 +2556,17 @@ function BuyWithCard({
|
|
|
2245
2556
|
},
|
|
2246
2557
|
i
|
|
2247
2558
|
)),
|
|
2248
|
-
quote.low_kyc === false && badges.length > 0 && /* @__PURE__ */
|
|
2249
|
-
quote.low_kyc === false && /* @__PURE__ */
|
|
2559
|
+
quote.low_kyc === false && badges.length > 0 && /* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground", children: "\u2022" }),
|
|
2560
|
+
quote.low_kyc === false && /* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground uf-font-normal", children: "No document upload" })
|
|
2250
2561
|
] })
|
|
2251
2562
|
] })
|
|
2252
2563
|
] }),
|
|
2253
|
-
/* @__PURE__ */
|
|
2254
|
-
/* @__PURE__ */
|
|
2564
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-text-right", children: [
|
|
2565
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-text-sm uf-font-medium uf-text-foreground", children: [
|
|
2255
2566
|
quote.destination_amount.toFixed(2),
|
|
2256
2567
|
" USDC"
|
|
2257
2568
|
] }),
|
|
2258
|
-
/* @__PURE__ */
|
|
2569
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-text-xs uf-text-muted-foreground uf-font-normal", children: [
|
|
2259
2570
|
currencySymbol,
|
|
2260
2571
|
" ",
|
|
2261
2572
|
amount
|
|
@@ -2268,12 +2579,12 @@ function BuyWithCard({
|
|
|
2268
2579
|
}) })
|
|
2269
2580
|
}
|
|
2270
2581
|
),
|
|
2271
|
-
/* @__PURE__ */
|
|
2582
|
+
/* @__PURE__ */ jsx17(
|
|
2272
2583
|
"div",
|
|
2273
2584
|
{
|
|
2274
2585
|
className: `uf-transition-all uf-duration-300 ${showOnrampView ? "uf-opacity-100" : "uf-opacity-0 uf-pointer-events-none uf-absolute uf-inset-0"}`,
|
|
2275
|
-
children: onrampSession && /* @__PURE__ */
|
|
2276
|
-
/* @__PURE__ */
|
|
2586
|
+
children: onrampSession && /* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-flex-col uf-items-center uf-pt-6 uf-pb-4 uf-px-2", children: [
|
|
2587
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-mb-6", children: /* @__PURE__ */ jsx17(
|
|
2277
2588
|
"img",
|
|
2278
2589
|
{
|
|
2279
2590
|
src: onrampSession.provider.icon_url,
|
|
@@ -2283,88 +2594,79 @@ function BuyWithCard({
|
|
|
2283
2594
|
className: "uf-rounded-2xl"
|
|
2284
2595
|
}
|
|
2285
2596
|
) }),
|
|
2286
|
-
/* @__PURE__ */
|
|
2597
|
+
/* @__PURE__ */ jsx17("h2", { className: "uf-text-xl uf-font-medium uf-text-foreground uf-mb-2", children: t2.onramp.completeTransaction.replace(
|
|
2287
2598
|
"{{provider}}",
|
|
2288
2599
|
onrampSession.provider.service_provider_display_name
|
|
2289
2600
|
) }),
|
|
2290
|
-
/* @__PURE__ */
|
|
2291
|
-
/* @__PURE__ */
|
|
2292
|
-
/* @__PURE__ */
|
|
2293
|
-
/* @__PURE__ */
|
|
2601
|
+
/* @__PURE__ */ jsx17("p", { className: "uf-text-sm uf-text-muted-foreground uf-mb-8", children: t2.onramp.canCloseModal }),
|
|
2602
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-w-full uf-bg-secondary uf-rounded-xl uf-p-4 uf-mb-4", children: /* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-items-center uf-justify-center", children: [
|
|
2603
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-flex-col uf-items-center uf-min-w-[72px]", children: [
|
|
2604
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-h-8 uf-flex uf-items-center uf-justify-center uf-mb-1.5", children: /* @__PURE__ */ jsx17(
|
|
2294
2605
|
"img",
|
|
2295
2606
|
{
|
|
2296
|
-
src:
|
|
2297
|
-
`/icons/currencies/${onrampSession.sourceCurrency.toLowerCase()}.svg
|
|
2607
|
+
src: getIconUrlWithCdn(
|
|
2608
|
+
`/icons/currencies/svg/${onrampSession.sourceCurrency.toLowerCase()}.svg`,
|
|
2609
|
+
assetCdnUrl
|
|
2298
2610
|
),
|
|
2299
2611
|
alt: onrampSession.sourceCurrency.toUpperCase(),
|
|
2300
|
-
|
|
2301
|
-
height: 28,
|
|
2302
|
-
className: "uf-rounded-full"
|
|
2612
|
+
className: "uf-w-7 uf-h-7 uf-rounded-full"
|
|
2303
2613
|
}
|
|
2304
2614
|
) }),
|
|
2305
|
-
/* @__PURE__ */
|
|
2306
|
-
/* @__PURE__ */
|
|
2615
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground uf-text-center", children: t2.onramp.youUse }),
|
|
2616
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-sm uf-font-medium uf-text-foreground uf-text-center", children: onrampSession.sourceCurrency.toUpperCase() })
|
|
2307
2617
|
] }),
|
|
2308
|
-
/* @__PURE__ */
|
|
2309
|
-
/* @__PURE__ */
|
|
2310
|
-
/* @__PURE__ */
|
|
2311
|
-
/* @__PURE__ */
|
|
2618
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-text-muted-foreground uf-px-1 uf-self-start uf-pt-2", children: /* @__PURE__ */ jsx17(ChevronRight3, { className: "uf-w-4 uf-h-4" }) }),
|
|
2619
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-flex-col uf-items-center uf-min-w-[72px]", children: [
|
|
2620
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-h-8 uf-flex uf-items-center uf-justify-center uf-mb-1.5", children: /* @__PURE__ */ jsxs12("div", { className: "uf-relative", children: [
|
|
2621
|
+
/* @__PURE__ */ jsx17(
|
|
2312
2622
|
"img",
|
|
2313
2623
|
{
|
|
2314
|
-
src:
|
|
2624
|
+
src: getIconUrlWithCdn("/icons/tokens/svg/usdc.svg", assetCdnUrl),
|
|
2315
2625
|
alt: "USDC",
|
|
2316
|
-
|
|
2317
|
-
height: 28,
|
|
2318
|
-
className: "uf-rounded-full"
|
|
2626
|
+
className: "uf-w-7 uf-h-7 uf-rounded-full"
|
|
2319
2627
|
}
|
|
2320
2628
|
),
|
|
2321
|
-
/* @__PURE__ */
|
|
2629
|
+
/* @__PURE__ */ jsx17(
|
|
2322
2630
|
"img",
|
|
2323
2631
|
{
|
|
2324
|
-
src:
|
|
2632
|
+
src: getIconUrlWithCdn("/icons/networks/svg/polygon.svg", assetCdnUrl),
|
|
2325
2633
|
alt: "Polygon",
|
|
2326
|
-
|
|
2327
|
-
height: 14,
|
|
2328
|
-
className: "uf-absolute uf--bottom-0.5 uf--right-0.5 uf-rounded-full"
|
|
2634
|
+
className: "uf-w-3.5 uf-h-3.5 uf-absolute -uf-bottom-0.5 -uf-right-0.5 uf-rounded-full"
|
|
2329
2635
|
}
|
|
2330
2636
|
)
|
|
2331
2637
|
] }) }),
|
|
2332
|
-
/* @__PURE__ */
|
|
2333
|
-
/* @__PURE__ */
|
|
2638
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground uf-text-center", children: t2.onramp.youBuy }),
|
|
2639
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-sm uf-font-medium uf-text-foreground uf-text-center", children: "USDC" })
|
|
2334
2640
|
] }),
|
|
2335
|
-
/* @__PURE__ */
|
|
2336
|
-
/* @__PURE__ */
|
|
2337
|
-
/* @__PURE__ */
|
|
2338
|
-
/* @__PURE__ */
|
|
2641
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-text-muted-foreground uf-px-1 uf-self-start uf-pt-2", children: /* @__PURE__ */ jsx17(ChevronRight3, { className: "uf-w-4 uf-h-4" }) }),
|
|
2642
|
+
/* @__PURE__ */ jsxs12("div", { className: "uf-flex uf-flex-col uf-items-center uf-min-w-[72px]", children: [
|
|
2643
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-h-8 uf-flex uf-items-center uf-justify-center uf-mb-1.5", children: /* @__PURE__ */ jsxs12("div", { className: "uf-relative", children: [
|
|
2644
|
+
/* @__PURE__ */ jsx17(
|
|
2339
2645
|
"img",
|
|
2340
2646
|
{
|
|
2341
|
-
src: destinationToken?.icon_url ||
|
|
2647
|
+
src: destinationToken?.icon_url || getIconUrlWithCdn("/icons/tokens/svg/usdc.svg", assetCdnUrl),
|
|
2342
2648
|
alt: displayTokenSymbol,
|
|
2343
|
-
|
|
2344
|
-
height: 28,
|
|
2345
|
-
className: "uf-rounded-full"
|
|
2649
|
+
className: "uf-w-7 uf-h-7 uf-rounded-full"
|
|
2346
2650
|
}
|
|
2347
2651
|
),
|
|
2348
|
-
destinationChain?.icon_url && /* @__PURE__ */
|
|
2652
|
+
destinationChain?.icon_url && /* @__PURE__ */ jsx17(
|
|
2349
2653
|
"img",
|
|
2350
2654
|
{
|
|
2351
2655
|
src: destinationChain.icon_url,
|
|
2352
2656
|
alt: destinationChain.chain_name,
|
|
2353
|
-
|
|
2354
|
-
height: 14,
|
|
2355
|
-
className: "uf-absolute uf--bottom-0.5 uf--right-0.5 uf-rounded-full"
|
|
2657
|
+
className: "uf-w-3.5 uf-h-3.5 uf-absolute -uf-bottom-0.5 -uf-right-0.5 uf-rounded-full"
|
|
2356
2658
|
}
|
|
2357
2659
|
)
|
|
2358
2660
|
] }) }),
|
|
2359
|
-
/* @__PURE__ */
|
|
2360
|
-
/* @__PURE__ */
|
|
2661
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-[10px] uf-text-muted-foreground uf-text-center", children: t2.onramp.youReceive }),
|
|
2662
|
+
/* @__PURE__ */ jsx17("span", { className: "uf-text-sm uf-font-medium uf-text-foreground uf-text-center", children: displayTokenSymbol })
|
|
2361
2663
|
] })
|
|
2362
2664
|
] }) }),
|
|
2363
|
-
/* @__PURE__ */
|
|
2665
|
+
/* @__PURE__ */ jsx17("div", { className: "uf-w-full uf-bg-secondary uf-rounded-xl uf-p-4", children: /* @__PURE__ */ jsx17("p", { className: "uf-text-xs uf-text-muted-foreground uf-leading-relaxed", children: t2.onramp.intentAddressNote }) })
|
|
2364
2666
|
] })
|
|
2365
2667
|
}
|
|
2366
2668
|
),
|
|
2367
|
-
/* @__PURE__ */
|
|
2669
|
+
/* @__PURE__ */ jsx17(
|
|
2368
2670
|
CurrencyModal,
|
|
2369
2671
|
{
|
|
2370
2672
|
open: showCurrencyModal,
|
|
@@ -2382,8 +2684,8 @@ function BuyWithCard({
|
|
|
2382
2684
|
}
|
|
2383
2685
|
|
|
2384
2686
|
// src/components/deposits/buttons/TransferCryptoButton.tsx
|
|
2385
|
-
import { Zap, ChevronRight as
|
|
2386
|
-
import { jsx as
|
|
2687
|
+
import { Zap, ChevronRight as ChevronRight4 } from "lucide-react";
|
|
2688
|
+
import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2387
2689
|
function TransferCryptoButton({
|
|
2388
2690
|
onClick,
|
|
2389
2691
|
title,
|
|
@@ -2391,23 +2693,23 @@ function TransferCryptoButton({
|
|
|
2391
2693
|
featuredTokens
|
|
2392
2694
|
}) {
|
|
2393
2695
|
const sortedTokens = featuredTokens ? [...featuredTokens].sort((a, b) => a.position - b.position) : [];
|
|
2394
|
-
return /* @__PURE__ */
|
|
2696
|
+
return /* @__PURE__ */ jsxs13(
|
|
2395
2697
|
"button",
|
|
2396
2698
|
{
|
|
2397
2699
|
onClick,
|
|
2398
2700
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-group",
|
|
2399
2701
|
children: [
|
|
2400
|
-
/* @__PURE__ */
|
|
2401
|
-
/* @__PURE__ */
|
|
2402
|
-
/* @__PURE__ */
|
|
2403
|
-
/* @__PURE__ */
|
|
2404
|
-
/* @__PURE__ */
|
|
2702
|
+
/* @__PURE__ */ jsxs13("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2703
|
+
/* @__PURE__ */ jsx18("div", { className: "uf-bg-muted uf-rounded-lg uf-p-2", children: /* @__PURE__ */ jsx18(Zap, { className: "uf-w-5 uf-h-5" }) }),
|
|
2704
|
+
/* @__PURE__ */ jsxs13("div", { className: "uf-text-left", children: [
|
|
2705
|
+
/* @__PURE__ */ jsx18("div", { className: "uf-text-sm uf-font-light uf-mb-0.5 uf-text-foreground", children: title }),
|
|
2706
|
+
/* @__PURE__ */ jsx18("div", { className: "uf-text-muted-foreground uf-text-xs uf-font-light", children: subtitle })
|
|
2405
2707
|
] })
|
|
2406
2708
|
] }),
|
|
2407
|
-
/* @__PURE__ */
|
|
2408
|
-
/* @__PURE__ */
|
|
2709
|
+
/* @__PURE__ */ jsxs13("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
2710
|
+
/* @__PURE__ */ jsx18("div", { className: "uf-flex uf--space-x-2", children: sortedTokens.map((token) => {
|
|
2409
2711
|
const iconUrl = token.icon_urls.find((u) => u.format === "svg")?.url || token.icon_urls.find((u) => u.format === "png")?.url;
|
|
2410
|
-
return /* @__PURE__ */
|
|
2712
|
+
return /* @__PURE__ */ jsx18(
|
|
2411
2713
|
"img",
|
|
2412
2714
|
{
|
|
2413
2715
|
src: iconUrl,
|
|
@@ -2419,7 +2721,7 @@ function TransferCryptoButton({
|
|
|
2419
2721
|
token.name
|
|
2420
2722
|
);
|
|
2421
2723
|
}) }),
|
|
2422
|
-
/* @__PURE__ */
|
|
2724
|
+
/* @__PURE__ */ jsx18(ChevronRight4, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground group-hover:uf-text-foreground uf-transition-colors" })
|
|
2423
2725
|
] })
|
|
2424
2726
|
]
|
|
2425
2727
|
}
|
|
@@ -2427,31 +2729,31 @@ function TransferCryptoButton({
|
|
|
2427
2729
|
}
|
|
2428
2730
|
|
|
2429
2731
|
// src/components/deposits/buttons/DepositWithCardButton.tsx
|
|
2430
|
-
import { CreditCard, ChevronRight as
|
|
2431
|
-
import { jsx as
|
|
2732
|
+
import { CreditCard, ChevronRight as ChevronRight5 } from "lucide-react";
|
|
2733
|
+
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2432
2734
|
function DepositWithCardButton({
|
|
2433
2735
|
onClick,
|
|
2434
2736
|
title,
|
|
2435
2737
|
subtitle,
|
|
2436
2738
|
paymentNetworks
|
|
2437
2739
|
}) {
|
|
2438
|
-
return /* @__PURE__ */
|
|
2740
|
+
return /* @__PURE__ */ jsxs14(
|
|
2439
2741
|
"button",
|
|
2440
2742
|
{
|
|
2441
2743
|
onClick,
|
|
2442
2744
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-group",
|
|
2443
2745
|
children: [
|
|
2444
|
-
/* @__PURE__ */
|
|
2445
|
-
/* @__PURE__ */
|
|
2446
|
-
/* @__PURE__ */
|
|
2447
|
-
/* @__PURE__ */
|
|
2448
|
-
/* @__PURE__ */
|
|
2746
|
+
/* @__PURE__ */ jsxs14("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2747
|
+
/* @__PURE__ */ jsx19("div", { className: "uf-bg-muted uf-rounded-lg uf-p-2", children: /* @__PURE__ */ jsx19(CreditCard, { className: "uf-w-5 uf-h-5" }) }),
|
|
2748
|
+
/* @__PURE__ */ jsxs14("div", { className: "uf-text-left", children: [
|
|
2749
|
+
/* @__PURE__ */ jsx19("div", { className: "uf-text-sm uf-font-light uf-mb-0.5 uf-text-foreground", children: title }),
|
|
2750
|
+
/* @__PURE__ */ jsx19("div", { className: "uf-text-muted-foreground uf-text-xs uf-font-light", children: subtitle })
|
|
2449
2751
|
] })
|
|
2450
2752
|
] }),
|
|
2451
|
-
/* @__PURE__ */
|
|
2452
|
-
/* @__PURE__ */
|
|
2753
|
+
/* @__PURE__ */ jsxs14("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
2754
|
+
/* @__PURE__ */ jsx19("div", { className: "uf-flex uf-items-center uf-gap-1.5", children: paymentNetworks?.map((network) => {
|
|
2453
2755
|
const iconUrl = network.icon_urls.find((u) => u.format === "svg")?.url || network.icon_urls.find((u) => u.format === "png")?.url;
|
|
2454
|
-
return /* @__PURE__ */
|
|
2756
|
+
return /* @__PURE__ */ jsx19(
|
|
2455
2757
|
"img",
|
|
2456
2758
|
{
|
|
2457
2759
|
src: iconUrl,
|
|
@@ -2463,7 +2765,7 @@ function DepositWithCardButton({
|
|
|
2463
2765
|
network.name
|
|
2464
2766
|
);
|
|
2465
2767
|
}) }),
|
|
2466
|
-
/* @__PURE__ */
|
|
2768
|
+
/* @__PURE__ */ jsx19(ChevronRight5, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground group-hover:uf-text-foreground uf-transition-colors" })
|
|
2467
2769
|
] })
|
|
2468
2770
|
]
|
|
2469
2771
|
}
|
|
@@ -2471,50 +2773,50 @@ function DepositWithCardButton({
|
|
|
2471
2773
|
}
|
|
2472
2774
|
|
|
2473
2775
|
// src/components/deposits/buttons/DepositTrackerButton.tsx
|
|
2474
|
-
import { Clock as Clock2, ChevronRight as
|
|
2475
|
-
import { jsx as
|
|
2776
|
+
import { Clock as Clock2, ChevronRight as ChevronRight6 } from "lucide-react";
|
|
2777
|
+
import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2476
2778
|
function DepositTrackerButton({
|
|
2477
2779
|
onClick,
|
|
2478
2780
|
title,
|
|
2479
2781
|
subtitle,
|
|
2480
2782
|
badge
|
|
2481
2783
|
}) {
|
|
2482
|
-
return /* @__PURE__ */
|
|
2784
|
+
return /* @__PURE__ */ jsxs15(
|
|
2483
2785
|
"button",
|
|
2484
2786
|
{
|
|
2485
2787
|
onClick,
|
|
2486
2788
|
className: "uf-w-full uf-bg-secondary hover:uf-bg-accent uf-transition-colors uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-group",
|
|
2487
2789
|
children: [
|
|
2488
|
-
/* @__PURE__ */
|
|
2489
|
-
/* @__PURE__ */
|
|
2490
|
-
/* @__PURE__ */
|
|
2491
|
-
badge !== void 0 && badge > 0 && /* @__PURE__ */
|
|
2790
|
+
/* @__PURE__ */ jsxs15("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2791
|
+
/* @__PURE__ */ jsxs15("div", { className: "uf-bg-muted uf-rounded-lg uf-p-2 uf-relative", children: [
|
|
2792
|
+
/* @__PURE__ */ jsx20(Clock2, { className: "uf-w-5 uf-h-5" }),
|
|
2793
|
+
badge !== void 0 && badge > 0 && /* @__PURE__ */ jsx20("div", { className: "uf-absolute -uf-top-1 -uf-right-1 uf-bg-blue-500 uf-text-primary-foreground uf-text-[10px] uf-font-semibold uf-rounded-full uf-min-w-[18px] uf-h-[18px] uf-flex uf-items-center uf-justify-center uf-px-1", children: badge > 99 ? "99+" : badge })
|
|
2492
2794
|
] }),
|
|
2493
|
-
/* @__PURE__ */
|
|
2494
|
-
/* @__PURE__ */
|
|
2495
|
-
/* @__PURE__ */
|
|
2795
|
+
/* @__PURE__ */ jsxs15("div", { className: "uf-text-left", children: [
|
|
2796
|
+
/* @__PURE__ */ jsx20("div", { className: "uf-text-sm uf-font-light uf-mb-0.5 uf-text-foreground", children: title }),
|
|
2797
|
+
/* @__PURE__ */ jsx20("div", { className: "uf-text-muted-foreground uf-text-xs uf-font-light", children: subtitle })
|
|
2496
2798
|
] })
|
|
2497
2799
|
] }),
|
|
2498
|
-
/* @__PURE__ */
|
|
2800
|
+
/* @__PURE__ */ jsx20(ChevronRight6, { className: "uf-w-4 uf-h-4 uf-text-muted-foreground group-hover:uf-text-foreground uf-transition-colors" })
|
|
2499
2801
|
]
|
|
2500
2802
|
}
|
|
2501
2803
|
);
|
|
2502
2804
|
}
|
|
2503
2805
|
|
|
2504
2806
|
// src/components/deposits/DepositModal.tsx
|
|
2505
|
-
import { Fragment as Fragment4, jsx as
|
|
2807
|
+
import { Fragment as Fragment4, jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2506
2808
|
function SkeletonButton({ variant = "default" }) {
|
|
2507
|
-
return /* @__PURE__ */
|
|
2508
|
-
/* @__PURE__ */
|
|
2509
|
-
/* @__PURE__ */
|
|
2510
|
-
/* @__PURE__ */
|
|
2511
|
-
/* @__PURE__ */
|
|
2512
|
-
/* @__PURE__ */
|
|
2809
|
+
return /* @__PURE__ */ jsxs16("div", { className: "uf-w-full uf-bg-secondary uf-rounded-xl uf-p-3 uf-flex uf-items-center uf-justify-between uf-animate-pulse", children: [
|
|
2810
|
+
/* @__PURE__ */ jsxs16("div", { className: "uf-flex uf-items-center uf-gap-3", children: [
|
|
2811
|
+
/* @__PURE__ */ jsx21("div", { className: "uf-bg-muted uf-rounded-lg uf-w-9 uf-h-9" }),
|
|
2812
|
+
/* @__PURE__ */ jsxs16("div", { className: "uf-space-y-1.5", children: [
|
|
2813
|
+
/* @__PURE__ */ jsx21("div", { className: "uf-h-3.5 uf-w-24 uf-bg-muted uf-rounded" }),
|
|
2814
|
+
/* @__PURE__ */ jsx21("div", { className: "uf-h-3 uf-w-32 uf-bg-muted uf-rounded" })
|
|
2513
2815
|
] })
|
|
2514
2816
|
] }),
|
|
2515
|
-
/* @__PURE__ */
|
|
2516
|
-
variant === "with-icons" && /* @__PURE__ */
|
|
2517
|
-
/* @__PURE__ */
|
|
2817
|
+
/* @__PURE__ */ jsxs16("div", { className: "uf-flex uf-items-center uf-gap-2", children: [
|
|
2818
|
+
variant === "with-icons" && /* @__PURE__ */ jsx21("div", { className: "uf-flex uf--space-x-1", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx21("div", { className: "uf-w-5 uf-h-5 uf-rounded-full uf-bg-muted uf-border-2 uf-border-secondary" }, i)) }),
|
|
2819
|
+
/* @__PURE__ */ jsx21(ChevronRight7, { className: "uf-w-4 uf-h-4 uf-text-muted" })
|
|
2518
2820
|
] })
|
|
2519
2821
|
] });
|
|
2520
2822
|
}
|
|
@@ -2632,27 +2934,27 @@ function DepositModal({
|
|
|
2632
2934
|
setQuotesCount(count);
|
|
2633
2935
|
}
|
|
2634
2936
|
};
|
|
2635
|
-
return /* @__PURE__ */
|
|
2636
|
-
/* @__PURE__ */
|
|
2937
|
+
return /* @__PURE__ */ jsx21(ThemeProvider, { themeClass, children: /* @__PURE__ */ jsxs16(Dialog, { open, onOpenChange: handleClose, children: [
|
|
2938
|
+
/* @__PURE__ */ jsx21(
|
|
2637
2939
|
DialogContent,
|
|
2638
2940
|
{
|
|
2639
2941
|
className: `sm:uf-max-w-[400px] !uf-bg-card uf-border-secondary uf-text-foreground uf-p-0 uf-gap-0 uf-overflow-visible [&>button]:uf-hidden ${themeClass}`,
|
|
2640
2942
|
onPointerDownOutside: (e) => e.preventDefault(),
|
|
2641
2943
|
onInteractOutside: (e) => e.preventDefault(),
|
|
2642
|
-
children: view === "main" ? /* @__PURE__ */
|
|
2643
|
-
/* @__PURE__ */
|
|
2944
|
+
children: view === "main" ? /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
2945
|
+
/* @__PURE__ */ jsx21(
|
|
2644
2946
|
DepositHeader,
|
|
2645
2947
|
{
|
|
2646
2948
|
title: modalTitle || "Deposit",
|
|
2647
2949
|
onClose: handleClose
|
|
2648
2950
|
}
|
|
2649
2951
|
),
|
|
2650
|
-
/* @__PURE__ */
|
|
2651
|
-
/* @__PURE__ */
|
|
2652
|
-
/* @__PURE__ */
|
|
2653
|
-
!hideDepositTracker && /* @__PURE__ */
|
|
2654
|
-
] }) : /* @__PURE__ */
|
|
2655
|
-
/* @__PURE__ */
|
|
2952
|
+
/* @__PURE__ */ jsx21("div", { className: "uf-pb-4 uf-space-y-3", children: !projectConfig ? /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
2953
|
+
/* @__PURE__ */ jsx21(SkeletonButton, { variant: "with-icons" }),
|
|
2954
|
+
/* @__PURE__ */ jsx21(SkeletonButton, { variant: "with-icons" }),
|
|
2955
|
+
!hideDepositTracker && /* @__PURE__ */ jsx21(SkeletonButton, {})
|
|
2956
|
+
] }) : /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
2957
|
+
/* @__PURE__ */ jsx21(
|
|
2656
2958
|
TransferCryptoButton,
|
|
2657
2959
|
{
|
|
2658
2960
|
onClick: () => setView("transfer"),
|
|
@@ -2661,7 +2963,7 @@ function DepositModal({
|
|
|
2661
2963
|
featuredTokens: projectConfig.transfer_crypto.networks
|
|
2662
2964
|
}
|
|
2663
2965
|
),
|
|
2664
|
-
/* @__PURE__ */
|
|
2966
|
+
/* @__PURE__ */ jsx21(
|
|
2665
2967
|
DepositWithCardButton,
|
|
2666
2968
|
{
|
|
2667
2969
|
onClick: () => setView("card"),
|
|
@@ -2670,7 +2972,7 @@ function DepositModal({
|
|
|
2670
2972
|
paymentNetworks: projectConfig.payment_networks.networks
|
|
2671
2973
|
}
|
|
2672
2974
|
),
|
|
2673
|
-
!hideDepositTracker && /* @__PURE__ */
|
|
2975
|
+
!hideDepositTracker && /* @__PURE__ */ jsx21(
|
|
2674
2976
|
DepositTrackerButton,
|
|
2675
2977
|
{
|
|
2676
2978
|
onClick: () => setDepositsModalOpen(true),
|
|
@@ -2680,8 +2982,8 @@ function DepositModal({
|
|
|
2680
2982
|
}
|
|
2681
2983
|
)
|
|
2682
2984
|
] }) })
|
|
2683
|
-
] }) : view === "transfer" ? /* @__PURE__ */
|
|
2684
|
-
/* @__PURE__ */
|
|
2985
|
+
] }) : view === "transfer" ? /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
2986
|
+
/* @__PURE__ */ jsx21(
|
|
2685
2987
|
DepositHeader,
|
|
2686
2988
|
{
|
|
2687
2989
|
title: t3.transferCrypto.title,
|
|
@@ -2690,7 +2992,7 @@ function DepositModal({
|
|
|
2690
2992
|
onClose: handleClose
|
|
2691
2993
|
}
|
|
2692
2994
|
),
|
|
2693
|
-
/* @__PURE__ */
|
|
2995
|
+
/* @__PURE__ */ jsx21(
|
|
2694
2996
|
TransferCrypto,
|
|
2695
2997
|
{
|
|
2696
2998
|
userId,
|
|
@@ -2705,8 +3007,8 @@ function DepositModal({
|
|
|
2705
3007
|
wallets
|
|
2706
3008
|
}
|
|
2707
3009
|
)
|
|
2708
|
-
] }) : /* @__PURE__ */
|
|
2709
|
-
/* @__PURE__ */
|
|
3010
|
+
] }) : /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
3011
|
+
/* @__PURE__ */ jsx21(
|
|
2710
3012
|
DepositHeader,
|
|
2711
3013
|
{
|
|
2712
3014
|
title: cardView === "quotes" ? t3.quotes : modalTitle || "Deposit",
|
|
@@ -2716,7 +3018,7 @@ function DepositModal({
|
|
|
2716
3018
|
badge: cardView === "quotes" ? { count: quotesCount } : void 0
|
|
2717
3019
|
}
|
|
2718
3020
|
),
|
|
2719
|
-
/* @__PURE__ */
|
|
3021
|
+
/* @__PURE__ */ jsx21(
|
|
2720
3022
|
BuyWithCard,
|
|
2721
3023
|
{
|
|
2722
3024
|
userId,
|
|
@@ -2731,13 +3033,14 @@ function DepositModal({
|
|
|
2731
3033
|
onDepositSuccess,
|
|
2732
3034
|
onDepositError,
|
|
2733
3035
|
themeClass,
|
|
2734
|
-
wallets
|
|
3036
|
+
wallets,
|
|
3037
|
+
assetCdnUrl: projectConfig?.asset_cdn_url
|
|
2735
3038
|
}
|
|
2736
3039
|
)
|
|
2737
3040
|
] })
|
|
2738
3041
|
}
|
|
2739
3042
|
),
|
|
2740
|
-
/* @__PURE__ */
|
|
3043
|
+
/* @__PURE__ */ jsx21(
|
|
2741
3044
|
DepositsModal,
|
|
2742
3045
|
{
|
|
2743
3046
|
open: depositsModalOpen,
|
|
@@ -2752,9 +3055,9 @@ function DepositModal({
|
|
|
2752
3055
|
}
|
|
2753
3056
|
|
|
2754
3057
|
// src/components/deposits/TransferCrypto2.tsx
|
|
2755
|
-
import { jsx as
|
|
3058
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2756
3059
|
function TransferCrypto2(props) {
|
|
2757
|
-
return /* @__PURE__ */
|
|
3060
|
+
return /* @__PURE__ */ jsx22(
|
|
2758
3061
|
TransferCryptoBase,
|
|
2759
3062
|
{
|
|
2760
3063
|
...props,
|
|
@@ -2769,6 +3072,7 @@ export {
|
|
|
2769
3072
|
CurrencyListItem,
|
|
2770
3073
|
CurrencyListSection,
|
|
2771
3074
|
CurrencyModal,
|
|
3075
|
+
DepositDetailModal,
|
|
2772
3076
|
DepositExecutionItem,
|
|
2773
3077
|
DepositHeader,
|
|
2774
3078
|
DepositModal,
|
|
@@ -2815,6 +3119,7 @@ export {
|
|
|
2815
3119
|
getApiBaseUrl,
|
|
2816
3120
|
getFiatCurrencies,
|
|
2817
3121
|
getIconUrl,
|
|
3122
|
+
getIconUrlWithCdn,
|
|
2818
3123
|
getMeldQuotes,
|
|
2819
3124
|
getSupportedDepositTokens,
|
|
2820
3125
|
getWalletByChainType,
|