@rhinestone/deposit-modal 0.3.1 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DepositModalReown-G7UX4IBZ.mjs → DepositModalReown-EXI7MW65.mjs} +6 -6
- package/dist/{DepositModalReown-MECHBE6P.cjs → DepositModalReown-FMAPWBQM.cjs} +9 -9
- package/dist/{WithdrawModalReown-WJ6VBZKK.cjs → WithdrawModalReown-CTT3EXMG.cjs} +8 -8
- package/dist/{WithdrawModalReown-CUJAFUQM.mjs → WithdrawModalReown-G7EM6HXO.mjs} +5 -5
- package/dist/{chunk-DZQD3DAV.mjs → chunk-3GLQC2KQ.mjs} +86 -18
- package/dist/{chunk-R5WDHHVM.mjs → chunk-43RTPRQY.mjs} +14 -4
- package/dist/{chunk-3C35DVPE.mjs → chunk-A33QFRKD.mjs} +985 -428
- package/dist/{chunk-MILJQWPT.cjs → chunk-ABVRVW3P.cjs} +133 -8
- package/dist/{chunk-SPUZLWQS.cjs → chunk-BTDRUAPJ.cjs} +514 -543
- package/dist/{chunk-TQ2AYMWS.mjs → chunk-F7P4MV72.mjs} +1 -1
- package/dist/{chunk-BAEB5AFZ.mjs → chunk-FJWLC4AM.mjs} +1 -1
- package/dist/{chunk-LEL6GMEQ.cjs → chunk-JHT2MJ42.cjs} +175 -107
- package/dist/{chunk-MQIJZNTP.cjs → chunk-LJJCPDZO.cjs} +844 -287
- package/dist/{chunk-R5CPOBCF.cjs → chunk-NRNJAQUA.cjs} +4 -4
- package/dist/{chunk-QYSCCX4K.mjs → chunk-RTAIW3WW.mjs} +452 -481
- package/dist/{chunk-AJHFNHG3.cjs → chunk-UEKPBRBY.cjs} +3 -3
- package/dist/{chunk-ULEAK63T.cjs → chunk-ULCCXH2A.cjs} +16 -6
- package/dist/{chunk-6YRDD462.mjs → chunk-WJX3TJFK.mjs} +135 -10
- package/dist/constants.cjs +2 -2
- package/dist/constants.mjs +1 -1
- package/dist/deposit.cjs +6 -6
- package/dist/deposit.d.cts +2 -2
- package/dist/deposit.d.ts +2 -2
- package/dist/deposit.mjs +5 -5
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +6 -6
- package/dist/polymarket.cjs +6 -6
- package/dist/polymarket.mjs +3 -3
- package/dist/styles.css +276 -27
- package/dist/{types-RzfAD14B.d.ts → types-CFRuisqK.d.cts} +1 -1
- package/dist/{types-RzfAD14B.d.cts → types-CFRuisqK.d.ts} +1 -1
- package/dist/withdraw.cjs +5 -5
- package/dist/withdraw.d.cts +2 -2
- package/dist/withdraw.d.ts +2 -2
- package/dist/withdraw.mjs +4 -4
- package/package.json +1 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CHAIN_BY_ID,
|
|
3
3
|
NATIVE_TOKEN_ADDRESS,
|
|
4
|
+
findTokenDecimals,
|
|
4
5
|
getChainIcon,
|
|
5
6
|
getChainName,
|
|
6
7
|
getExplorerTxUrl,
|
|
7
8
|
getSolanaTokenByMint,
|
|
8
9
|
getSupportedChainIds,
|
|
9
|
-
getTargetTokenSymbol,
|
|
10
10
|
getTokenAddress,
|
|
11
11
|
getTokenDecimalsByAddress,
|
|
12
12
|
getTokenIcon,
|
|
13
13
|
getTokenSymbol,
|
|
14
14
|
isSolanaCaip2,
|
|
15
15
|
parseEvmChainId
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WJX3TJFK.mjs";
|
|
17
17
|
|
|
18
18
|
// src/components/ui/Modal.tsx
|
|
19
19
|
import {
|
|
@@ -169,9 +169,9 @@ import {
|
|
|
169
169
|
CircleArrowOutUpLeft,
|
|
170
170
|
CreditCard,
|
|
171
171
|
Landmark,
|
|
172
|
-
|
|
172
|
+
Unplug
|
|
173
173
|
} from "lucide-react";
|
|
174
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
174
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
175
175
|
var WalletIcon = Wallet;
|
|
176
176
|
var ExternalLinkIcon = ExternalLink;
|
|
177
177
|
var CheckIcon = Check;
|
|
@@ -214,10 +214,43 @@ var PlusCircleIcon = CirclePlus;
|
|
|
214
214
|
var CircleArrowOutUpLeftIcon = CircleArrowOutUpLeft;
|
|
215
215
|
var CardIcon = CreditCard;
|
|
216
216
|
var BankIcon = Landmark;
|
|
217
|
-
var
|
|
217
|
+
var UnplugIcon = Unplug;
|
|
218
|
+
function AppleIcon() {
|
|
219
|
+
return /* @__PURE__ */ jsxs(
|
|
220
|
+
"svg",
|
|
221
|
+
{
|
|
222
|
+
width: "24",
|
|
223
|
+
height: "24",
|
|
224
|
+
viewBox: "0 0 24 24",
|
|
225
|
+
fill: "none",
|
|
226
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
227
|
+
"aria-hidden": "true",
|
|
228
|
+
children: [
|
|
229
|
+
/* @__PURE__ */ jsx2(
|
|
230
|
+
"path",
|
|
231
|
+
{
|
|
232
|
+
d: "M16.36 1.43c0 1.14-.49 2.27-1.18 3.08-.74.9-1.99 1.57-2.98 1.57-.12 0-.23-.02-.3-.03-.01-.06-.04-.22-.04-.39 0-1.15.57-2.27 1.2-2.98.8-.94 2.15-1.64 3.25-1.68.03.13.05.28.05.43z",
|
|
233
|
+
stroke: "currentColor",
|
|
234
|
+
strokeWidth: "1.6",
|
|
235
|
+
strokeLinejoin: "round"
|
|
236
|
+
}
|
|
237
|
+
),
|
|
238
|
+
/* @__PURE__ */ jsx2(
|
|
239
|
+
"path",
|
|
240
|
+
{
|
|
241
|
+
d: "M20.93 17.14c-.03.07-.46 1.58-1.52 3.12-.94 1.34-1.94 2.71-3.43 2.71-1.51 0-1.9-.88-3.63-.88-1.7 0-2.3.91-3.67.91-1.38 0-2.33-1.26-3.43-2.8-1.29-1.82-2.32-4.63-2.32-7.28 0-4.28 2.8-6.55 5.55-6.55 1.45 0 2.68.95 3.6.95.86 0 2.22-1.01 3.9-1.01.61 0 2.89.06 4.37 2.19-.13.09-2.38 1.37-2.38 4.19 0 3.26 2.85 4.42 2.96 4.45z",
|
|
242
|
+
stroke: "currentColor",
|
|
243
|
+
strokeWidth: "1.6",
|
|
244
|
+
strokeLinejoin: "round"
|
|
245
|
+
}
|
|
246
|
+
)
|
|
247
|
+
]
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
}
|
|
218
251
|
|
|
219
252
|
// src/components/ui/Callout.tsx
|
|
220
|
-
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
253
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
221
254
|
function CircleAlertIcon() {
|
|
222
255
|
return /* @__PURE__ */ jsx3(
|
|
223
256
|
"svg",
|
|
@@ -242,7 +275,7 @@ function CircleAlertIcon() {
|
|
|
242
275
|
);
|
|
243
276
|
}
|
|
244
277
|
function Callout({ variant = "error", children, role }) {
|
|
245
|
-
return /* @__PURE__ */
|
|
278
|
+
return /* @__PURE__ */ jsxs2(
|
|
246
279
|
"div",
|
|
247
280
|
{
|
|
248
281
|
className: `rs-callout rs-callout--${variant}`,
|
|
@@ -1549,31 +1582,35 @@ function applyTheme(element, theme) {
|
|
|
1549
1582
|
}
|
|
1550
1583
|
|
|
1551
1584
|
// src/components/ui/BodyHeader.tsx
|
|
1552
|
-
import { jsx as jsx4, jsxs as
|
|
1585
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1553
1586
|
function BodyHeader({
|
|
1554
1587
|
icon,
|
|
1555
1588
|
title,
|
|
1556
1589
|
subtitle,
|
|
1557
|
-
variant = "default"
|
|
1590
|
+
variant = "default",
|
|
1591
|
+
aside
|
|
1558
1592
|
}) {
|
|
1559
1593
|
const iconClasses = [
|
|
1560
1594
|
"rs-body-header-icon",
|
|
1561
1595
|
variant === "success" ? "rs-body-header-icon--success" : "",
|
|
1562
1596
|
variant === "error" ? "rs-body-header-icon--error" : ""
|
|
1563
1597
|
].filter(Boolean).join(" ");
|
|
1564
|
-
return /* @__PURE__ */
|
|
1598
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rs-body-header", children: [
|
|
1565
1599
|
/* @__PURE__ */ jsx4("div", { className: iconClasses, children: icon }),
|
|
1566
|
-
/* @__PURE__ */
|
|
1567
|
-
/* @__PURE__ */
|
|
1568
|
-
|
|
1600
|
+
/* @__PURE__ */ jsxs3("div", { className: "rs-body-header-main", children: [
|
|
1601
|
+
/* @__PURE__ */ jsxs3("div", { className: "rs-body-header-text", children: [
|
|
1602
|
+
/* @__PURE__ */ jsx4("h2", { className: "rs-body-header-title", children: title }),
|
|
1603
|
+
subtitle && /* @__PURE__ */ jsx4("p", { className: "rs-body-header-subtitle", children: subtitle })
|
|
1604
|
+
] }),
|
|
1605
|
+
aside && /* @__PURE__ */ jsx4("div", { className: "rs-body-header-aside", children: aside })
|
|
1569
1606
|
] })
|
|
1570
1607
|
] });
|
|
1571
1608
|
}
|
|
1572
1609
|
BodyHeader.displayName = "BodyHeader";
|
|
1573
1610
|
|
|
1574
1611
|
// src/components/ui/PoweredBy.tsx
|
|
1575
|
-
import { jsx as jsx5, jsxs as
|
|
1576
|
-
var rhinestoneLogo = /* @__PURE__ */
|
|
1612
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1613
|
+
var rhinestoneLogo = /* @__PURE__ */ jsxs4(
|
|
1577
1614
|
"svg",
|
|
1578
1615
|
{
|
|
1579
1616
|
className: "rs-powered-by-logo",
|
|
@@ -1582,7 +1619,7 @@ var rhinestoneLogo = /* @__PURE__ */ jsxs3(
|
|
|
1582
1619
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1583
1620
|
"aria-hidden": "true",
|
|
1584
1621
|
children: [
|
|
1585
|
-
/* @__PURE__ */
|
|
1622
|
+
/* @__PURE__ */ jsxs4("g", { fill: "currentColor", clipPath: "url(#rs-pb-clip)", children: [
|
|
1586
1623
|
/* @__PURE__ */ jsx5(
|
|
1587
1624
|
"path",
|
|
1588
1625
|
{
|
|
@@ -1626,7 +1663,7 @@ var rhinestoneLogo = /* @__PURE__ */ jsxs3(
|
|
|
1626
1663
|
}
|
|
1627
1664
|
);
|
|
1628
1665
|
function PoweredBy() {
|
|
1629
|
-
return /* @__PURE__ */
|
|
1666
|
+
return /* @__PURE__ */ jsxs4("div", { className: "rs-powered-by", "aria-label": "Powered by Rhinestone", children: [
|
|
1630
1667
|
/* @__PURE__ */ jsx5("span", { children: "Powered by" }),
|
|
1631
1668
|
/* @__PURE__ */ jsx5(
|
|
1632
1669
|
"a",
|
|
@@ -1643,9 +1680,9 @@ function PoweredBy() {
|
|
|
1643
1680
|
PoweredBy.displayName = "PoweredBy";
|
|
1644
1681
|
|
|
1645
1682
|
// src/components/ui/Spinner.tsx
|
|
1646
|
-
import { jsx as jsx6, jsxs as
|
|
1683
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1647
1684
|
function Spinner({ className }) {
|
|
1648
|
-
return /* @__PURE__ */
|
|
1685
|
+
return /* @__PURE__ */ jsxs5(
|
|
1649
1686
|
"svg",
|
|
1650
1687
|
{
|
|
1651
1688
|
className: `rs-spinner ${className || ""}`,
|
|
@@ -1672,8 +1709,11 @@ function Spinner({ className }) {
|
|
|
1672
1709
|
);
|
|
1673
1710
|
}
|
|
1674
1711
|
|
|
1712
|
+
// src/components/steps/ConnectStep.tsx
|
|
1713
|
+
import { useState } from "react";
|
|
1714
|
+
|
|
1675
1715
|
// src/components/ui/ListRow.tsx
|
|
1676
|
-
import { Fragment, jsx as jsx7, jsxs as
|
|
1716
|
+
import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1677
1717
|
function ListRow({
|
|
1678
1718
|
leading,
|
|
1679
1719
|
leadingMedia,
|
|
@@ -1687,10 +1727,10 @@ function ListRow({
|
|
|
1687
1727
|
disabled,
|
|
1688
1728
|
...props
|
|
1689
1729
|
}) {
|
|
1690
|
-
const inner = /* @__PURE__ */
|
|
1730
|
+
const inner = /* @__PURE__ */ jsxs6(Fragment, { children: [
|
|
1691
1731
|
leadingMedia ? /* @__PURE__ */ jsx7("span", { className: "rs-list-row-leading rs-list-row-leading--media", children: /* @__PURE__ */ jsx7("img", { src: leadingMedia, alt: "" }) }) : leading ? /* @__PURE__ */ jsx7("span", { className: "rs-list-row-leading", children: leading }) : null,
|
|
1692
|
-
/* @__PURE__ */
|
|
1693
|
-
/* @__PURE__ */
|
|
1732
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-list-row-body", children: [
|
|
1733
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-list-row-text", children: [
|
|
1694
1734
|
/* @__PURE__ */ jsx7("span", { className: "rs-list-row-title", children: title }),
|
|
1695
1735
|
subtitle && /* @__PURE__ */ jsx7("span", { className: "rs-list-row-subtitle", children: subtitle })
|
|
1696
1736
|
] }),
|
|
@@ -1745,10 +1785,71 @@ function ListRow({
|
|
|
1745
1785
|
}
|
|
1746
1786
|
ListRow.displayName = "ListRow";
|
|
1747
1787
|
|
|
1788
|
+
// src/components/ui/SegmentedToggle.tsx
|
|
1789
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1790
|
+
var SEGMENTED_INSET_PX = 2;
|
|
1791
|
+
function SegmentedToggle({
|
|
1792
|
+
options,
|
|
1793
|
+
value,
|
|
1794
|
+
onChange,
|
|
1795
|
+
ariaLabel
|
|
1796
|
+
}) {
|
|
1797
|
+
const activeIndex = Math.max(
|
|
1798
|
+
0,
|
|
1799
|
+
options.findIndex((opt) => opt.value === value)
|
|
1800
|
+
);
|
|
1801
|
+
const count = Math.max(options.length, 1);
|
|
1802
|
+
const totalInsetPx = SEGMENTED_INSET_PX * (count + 1);
|
|
1803
|
+
const offsetPercent = activeIndex / count * 100;
|
|
1804
|
+
const offsetCorrectionPx = activeIndex * SEGMENTED_INSET_PX / count;
|
|
1805
|
+
const segmentedStyle = {
|
|
1806
|
+
"--rs-segmented-count": count,
|
|
1807
|
+
"--rs-segmented-index": activeIndex,
|
|
1808
|
+
"--rs-segmented-inset": `${SEGMENTED_INSET_PX}px`,
|
|
1809
|
+
"--rs-segmented-thumb-width": `calc((100% - ${totalInsetPx}px) / ${count})`,
|
|
1810
|
+
"--rs-segmented-thumb-offset": `calc(${offsetPercent}% - ${offsetCorrectionPx}px)`
|
|
1811
|
+
};
|
|
1812
|
+
return /* @__PURE__ */ jsxs7(
|
|
1813
|
+
"div",
|
|
1814
|
+
{
|
|
1815
|
+
className: "rs-segmented",
|
|
1816
|
+
role: "tablist",
|
|
1817
|
+
"aria-label": ariaLabel,
|
|
1818
|
+
style: segmentedStyle,
|
|
1819
|
+
children: [
|
|
1820
|
+
/* @__PURE__ */ jsx8(
|
|
1821
|
+
"span",
|
|
1822
|
+
{
|
|
1823
|
+
className: "rs-segmented-thumb",
|
|
1824
|
+
"data-value": value,
|
|
1825
|
+
"aria-hidden": "true"
|
|
1826
|
+
}
|
|
1827
|
+
),
|
|
1828
|
+
options.map((opt) => {
|
|
1829
|
+
const active = opt.value === value;
|
|
1830
|
+
return /* @__PURE__ */ jsx8(
|
|
1831
|
+
"button",
|
|
1832
|
+
{
|
|
1833
|
+
type: "button",
|
|
1834
|
+
role: "tab",
|
|
1835
|
+
"aria-selected": active,
|
|
1836
|
+
className: `rs-segmented-option${active ? " rs-segmented-option--active" : ""}`,
|
|
1837
|
+
onClick: () => onChange(opt.value),
|
|
1838
|
+
children: opt.label
|
|
1839
|
+
},
|
|
1840
|
+
opt.value
|
|
1841
|
+
);
|
|
1842
|
+
})
|
|
1843
|
+
]
|
|
1844
|
+
}
|
|
1845
|
+
);
|
|
1846
|
+
}
|
|
1847
|
+
SegmentedToggle.displayName = "SegmentedToggle";
|
|
1848
|
+
|
|
1748
1849
|
// src/components/ui/WalletBadgeIcons/RabbyIcon.tsx
|
|
1749
|
-
import { jsx as
|
|
1850
|
+
import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1750
1851
|
function RabbyIcon() {
|
|
1751
|
-
return /* @__PURE__ */
|
|
1852
|
+
return /* @__PURE__ */ jsxs8(
|
|
1752
1853
|
"svg",
|
|
1753
1854
|
{
|
|
1754
1855
|
width: "20",
|
|
@@ -1757,8 +1858,8 @@ function RabbyIcon() {
|
|
|
1757
1858
|
fill: "none",
|
|
1758
1859
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1759
1860
|
children: [
|
|
1760
|
-
/* @__PURE__ */
|
|
1761
|
-
/* @__PURE__ */
|
|
1861
|
+
/* @__PURE__ */ jsxs8("g", { clipPath: "url(#rs-rabby-clip)", children: [
|
|
1862
|
+
/* @__PURE__ */ jsx9(
|
|
1762
1863
|
"mask",
|
|
1763
1864
|
{
|
|
1764
1865
|
id: "rs-rabby-mask",
|
|
@@ -1768,7 +1869,7 @@ function RabbyIcon() {
|
|
|
1768
1869
|
y: "0",
|
|
1769
1870
|
width: "20",
|
|
1770
1871
|
height: "20",
|
|
1771
|
-
children: /* @__PURE__ */
|
|
1872
|
+
children: /* @__PURE__ */ jsx9(
|
|
1772
1873
|
"path",
|
|
1773
1874
|
{
|
|
1774
1875
|
d: "M20 10C20 4.47 15.52 0 10 0C4.47 0 0 4.47 0 10C0 15.52 4.47 20 10 20C15.52 20 20 15.52 20 10Z",
|
|
@@ -1777,22 +1878,22 @@ function RabbyIcon() {
|
|
|
1777
1878
|
)
|
|
1778
1879
|
}
|
|
1779
1880
|
),
|
|
1780
|
-
/* @__PURE__ */
|
|
1781
|
-
/* @__PURE__ */
|
|
1881
|
+
/* @__PURE__ */ jsxs8("g", { mask: "url(#rs-rabby-mask)", children: [
|
|
1882
|
+
/* @__PURE__ */ jsx9(
|
|
1782
1883
|
"path",
|
|
1783
1884
|
{
|
|
1784
1885
|
d: "M20 10C20 4.47 15.52 0 10 0C4.47 0 0 4.47 0 10C0 15.52 4.47 20 10 20C15.52 20 20 15.52 20 10Z",
|
|
1785
1886
|
fill: "#7084FF"
|
|
1786
1887
|
}
|
|
1787
1888
|
),
|
|
1788
|
-
/* @__PURE__ */
|
|
1889
|
+
/* @__PURE__ */ jsx9(
|
|
1789
1890
|
"path",
|
|
1790
1891
|
{
|
|
1791
1892
|
d: "M17.25 10.86C17.82 9.57 14.98 5.97 12.26 4.47C10.55 3.31 8.77 3.47 8.41 3.98C7.62 5.10 11.03 6.05 13.32 7.16C12.83 7.37 12.36 7.76 12.09 8.25C11.24 7.31 9.37 6.51 7.18 7.16C5.70 7.59 4.47 8.62 3.99 10.18C3.85 10.11 3.70 10.09 3.54 10.10C3.39 10.11 3.24 10.16 3.11 10.25C2.98 10.33 2.87 10.45 2.80 10.58C2.72 10.72 2.69 10.87 2.69 11.03C2.69 11.55 3.10 11.96 3.62 11.96C3.71 11.96 4.01 11.90 4.01 11.90L8.77 11.93C6.87 14.96 5.36 15.41 5.36 15.93C5.36 16.46 6.80 16.32 7.34 16.12C9.93 15.18 12.71 12.26 13.19 11.42C15.19 11.67 16.87 11.70 17.25 10.86Z",
|
|
1792
1893
|
fill: "url(#rs-rabby-grad0)"
|
|
1793
1894
|
}
|
|
1794
1895
|
),
|
|
1795
|
-
/* @__PURE__ */
|
|
1896
|
+
/* @__PURE__ */ jsx9(
|
|
1796
1897
|
"path",
|
|
1797
1898
|
{
|
|
1798
1899
|
fillRule: "evenodd",
|
|
@@ -1801,7 +1902,7 @@ function RabbyIcon() {
|
|
|
1801
1902
|
fill: "url(#rs-rabby-grad1)"
|
|
1802
1903
|
}
|
|
1803
1904
|
),
|
|
1804
|
-
/* @__PURE__ */
|
|
1905
|
+
/* @__PURE__ */ jsx9(
|
|
1805
1906
|
"path",
|
|
1806
1907
|
{
|
|
1807
1908
|
fillRule: "evenodd",
|
|
@@ -1810,7 +1911,7 @@ function RabbyIcon() {
|
|
|
1810
1911
|
fill: "url(#rs-rabby-grad2)"
|
|
1811
1912
|
}
|
|
1812
1913
|
),
|
|
1813
|
-
/* @__PURE__ */
|
|
1914
|
+
/* @__PURE__ */ jsx9(
|
|
1814
1915
|
"path",
|
|
1815
1916
|
{
|
|
1816
1917
|
d: "M3.94 11.70C4.11 13.19 4.96 13.77 6.68 13.94C8.40 14.12 9.39 14.00 10.71 14.12C11.81 14.22 12.79 14.78 13.15 14.59C13.48 14.42 13.30 13.78 12.86 13.38C12.29 12.85 11.50 12.49 10.12 12.36C10.39 11.60 10.32 10.54 9.89 9.96C9.27 9.12 8.13 8.75 6.68 8.91C5.17 9.08 3.72 9.83 3.94 11.70Z",
|
|
@@ -1819,8 +1920,8 @@ function RabbyIcon() {
|
|
|
1819
1920
|
)
|
|
1820
1921
|
] })
|
|
1821
1922
|
] }),
|
|
1822
|
-
/* @__PURE__ */
|
|
1823
|
-
/* @__PURE__ */
|
|
1923
|
+
/* @__PURE__ */ jsxs8("defs", { children: [
|
|
1924
|
+
/* @__PURE__ */ jsxs8(
|
|
1824
1925
|
"linearGradient",
|
|
1825
1926
|
{
|
|
1826
1927
|
id: "rs-rabby-grad0",
|
|
@@ -1830,12 +1931,12 @@ function RabbyIcon() {
|
|
|
1830
1931
|
y2: "12.58",
|
|
1831
1932
|
gradientUnits: "userSpaceOnUse",
|
|
1832
1933
|
children: [
|
|
1833
|
-
/* @__PURE__ */
|
|
1834
|
-
/* @__PURE__ */
|
|
1934
|
+
/* @__PURE__ */ jsx9("stop", { stopColor: "white" }),
|
|
1935
|
+
/* @__PURE__ */ jsx9("stop", { offset: "1", stopColor: "white" })
|
|
1835
1936
|
]
|
|
1836
1937
|
}
|
|
1837
1938
|
),
|
|
1838
|
-
/* @__PURE__ */
|
|
1939
|
+
/* @__PURE__ */ jsxs8(
|
|
1839
1940
|
"linearGradient",
|
|
1840
1941
|
{
|
|
1841
1942
|
id: "rs-rabby-grad1",
|
|
@@ -1845,12 +1946,12 @@ function RabbyIcon() {
|
|
|
1845
1946
|
y2: "2.21",
|
|
1846
1947
|
gradientUnits: "userSpaceOnUse",
|
|
1847
1948
|
children: [
|
|
1848
|
-
/* @__PURE__ */
|
|
1849
|
-
/* @__PURE__ */
|
|
1949
|
+
/* @__PURE__ */ jsx9("stop", { stopColor: "#8697FF" }),
|
|
1950
|
+
/* @__PURE__ */ jsx9("stop", { offset: "1", stopColor: "#8697FF", stopOpacity: "0" })
|
|
1850
1951
|
]
|
|
1851
1952
|
}
|
|
1852
1953
|
),
|
|
1853
|
-
/* @__PURE__ */
|
|
1954
|
+
/* @__PURE__ */ jsxs8(
|
|
1854
1955
|
"linearGradient",
|
|
1855
1956
|
{
|
|
1856
1957
|
id: "rs-rabby-grad2",
|
|
@@ -1860,12 +1961,12 @@ function RabbyIcon() {
|
|
|
1860
1961
|
y2: "9.61",
|
|
1861
1962
|
gradientUnits: "userSpaceOnUse",
|
|
1862
1963
|
children: [
|
|
1863
|
-
/* @__PURE__ */
|
|
1864
|
-
/* @__PURE__ */
|
|
1964
|
+
/* @__PURE__ */ jsx9("stop", { stopColor: "#8697FF" }),
|
|
1965
|
+
/* @__PURE__ */ jsx9("stop", { offset: "1", stopColor: "#8697FF", stopOpacity: "0" })
|
|
1865
1966
|
]
|
|
1866
1967
|
}
|
|
1867
1968
|
),
|
|
1868
|
-
/* @__PURE__ */
|
|
1969
|
+
/* @__PURE__ */ jsxs8(
|
|
1869
1970
|
"linearGradient",
|
|
1870
1971
|
{
|
|
1871
1972
|
id: "rs-rabby-grad3",
|
|
@@ -1875,12 +1976,12 @@ function RabbyIcon() {
|
|
|
1875
1976
|
y2: "15.67",
|
|
1876
1977
|
gradientUnits: "userSpaceOnUse",
|
|
1877
1978
|
children: [
|
|
1878
|
-
/* @__PURE__ */
|
|
1879
|
-
/* @__PURE__ */
|
|
1979
|
+
/* @__PURE__ */ jsx9("stop", { stopColor: "white" }),
|
|
1980
|
+
/* @__PURE__ */ jsx9("stop", { offset: "0.98", stopColor: "#D1D8FF" })
|
|
1880
1981
|
]
|
|
1881
1982
|
}
|
|
1882
1983
|
),
|
|
1883
|
-
/* @__PURE__ */
|
|
1984
|
+
/* @__PURE__ */ jsx9("clipPath", { id: "rs-rabby-clip", children: /* @__PURE__ */ jsx9("rect", { width: "20", height: "20", fill: "white" }) })
|
|
1884
1985
|
] })
|
|
1885
1986
|
]
|
|
1886
1987
|
}
|
|
@@ -1888,9 +1989,9 @@ function RabbyIcon() {
|
|
|
1888
1989
|
}
|
|
1889
1990
|
|
|
1890
1991
|
// src/components/ui/WalletBadgeIcons/PhantomIcon.tsx
|
|
1891
|
-
import { jsx as
|
|
1992
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1892
1993
|
function PhantomIcon() {
|
|
1893
|
-
return /* @__PURE__ */
|
|
1994
|
+
return /* @__PURE__ */ jsxs9(
|
|
1894
1995
|
"svg",
|
|
1895
1996
|
{
|
|
1896
1997
|
width: "20",
|
|
@@ -1899,14 +2000,14 @@ function PhantomIcon() {
|
|
|
1899
2000
|
fill: "none",
|
|
1900
2001
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1901
2002
|
children: [
|
|
1902
|
-
/* @__PURE__ */
|
|
2003
|
+
/* @__PURE__ */ jsx10(
|
|
1903
2004
|
"path",
|
|
1904
2005
|
{
|
|
1905
2006
|
d: "M15.18 0H4.81C2.15 0 0 2.15 0 4.81V15.18C0 17.84 2.15 20 4.81 20H15.18C17.84 20 20 17.84 20 15.18V4.81C20 2.15 17.84 0 15.18 0Z",
|
|
1906
2007
|
fill: "#AB9FF2"
|
|
1907
2008
|
}
|
|
1908
2009
|
),
|
|
1909
|
-
/* @__PURE__ */
|
|
2010
|
+
/* @__PURE__ */ jsx10(
|
|
1910
2011
|
"path",
|
|
1911
2012
|
{
|
|
1912
2013
|
fillRule: "evenodd",
|
|
@@ -1921,9 +2022,9 @@ function PhantomIcon() {
|
|
|
1921
2022
|
}
|
|
1922
2023
|
|
|
1923
2024
|
// src/components/ui/WalletBadgeIcons/WalletConnectIcon.tsx
|
|
1924
|
-
import { jsx as
|
|
2025
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1925
2026
|
function WalletConnectIcon() {
|
|
1926
|
-
return /* @__PURE__ */
|
|
2027
|
+
return /* @__PURE__ */ jsxs10(
|
|
1927
2028
|
"svg",
|
|
1928
2029
|
{
|
|
1929
2030
|
width: "20",
|
|
@@ -1932,8 +2033,8 @@ function WalletConnectIcon() {
|
|
|
1932
2033
|
fill: "none",
|
|
1933
2034
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1934
2035
|
children: [
|
|
1935
|
-
/* @__PURE__ */
|
|
1936
|
-
/* @__PURE__ */
|
|
2036
|
+
/* @__PURE__ */ jsx11("rect", { width: "20", height: "20", rx: "2.5", fill: "#3B99FC" }),
|
|
2037
|
+
/* @__PURE__ */ jsx11(
|
|
1937
2038
|
"path",
|
|
1938
2039
|
{
|
|
1939
2040
|
d: "M6.18 7.96a5.36 5.36 0 0 1 7.64 0l.25.26a.26.26 0 0 1 0 .37l-.87.87a.13.13 0 0 1-.19 0l-.35-.35a3.74 3.74 0 0 0-5.32 0l-.38.37a.13.13 0 0 1-.19 0l-.86-.86a.26.26 0 0 1 0-.37l.27-.29Zm9.43 1.79.78.78a.26.26 0 0 1 0 .37l-3.54 3.54a.26.26 0 0 1-.37 0l-2.51-2.5a.07.07 0 0 0-.09 0l-2.51 2.5a.26.26 0 0 1-.37 0L3.46 10.9a.26.26 0 0 1 0-.37l.78-.78a.26.26 0 0 1 .37 0l2.5 2.5a.07.07 0 0 0 .1 0L9.72 9.75a.26.26 0 0 1 .37 0l2.5 2.5a.07.07 0 0 0 .1 0l2.5-2.5a.26.26 0 0 1 .37 0Z",
|
|
@@ -1946,9 +2047,9 @@ function WalletConnectIcon() {
|
|
|
1946
2047
|
}
|
|
1947
2048
|
|
|
1948
2049
|
// src/components/ui/WalletBadgeIcons/EthBadgeIcon.tsx
|
|
1949
|
-
import { jsx as
|
|
2050
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1950
2051
|
function EthBadgeIcon() {
|
|
1951
|
-
return /* @__PURE__ */
|
|
2052
|
+
return /* @__PURE__ */ jsxs11(
|
|
1952
2053
|
"svg",
|
|
1953
2054
|
{
|
|
1954
2055
|
width: "20",
|
|
@@ -1957,28 +2058,28 @@ function EthBadgeIcon() {
|
|
|
1957
2058
|
fill: "none",
|
|
1958
2059
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1959
2060
|
children: [
|
|
1960
|
-
/* @__PURE__ */
|
|
2061
|
+
/* @__PURE__ */ jsx12(
|
|
1961
2062
|
"path",
|
|
1962
2063
|
{
|
|
1963
2064
|
d: "M9.99 19.93C15.48 19.93 19.93 15.48 19.93 9.99C19.93 4.51 15.48 0.06 9.99 0.06C4.51 0.06 0.06 4.51 0.06 9.99C0.06 15.48 4.51 19.93 9.99 19.93Z",
|
|
1964
2065
|
fill: "#E3E3E3"
|
|
1965
2066
|
}
|
|
1966
2067
|
),
|
|
1967
|
-
/* @__PURE__ */
|
|
1968
|
-
/* @__PURE__ */
|
|
1969
|
-
/* @__PURE__ */
|
|
1970
|
-
/* @__PURE__ */
|
|
1971
|
-
/* @__PURE__ */
|
|
1972
|
-
/* @__PURE__ */
|
|
2068
|
+
/* @__PURE__ */ jsx12("path", { d: "M10.00 2.18L14.69 9.99L10.02 7.98L10.00 2.18Z", fill: "#2F3030" }),
|
|
2069
|
+
/* @__PURE__ */ jsx12("path", { d: "M5.31 9.99L9.98 2.18L10.00 7.98L5.31 9.99Z", fill: "#828384" }),
|
|
2070
|
+
/* @__PURE__ */ jsx12("path", { d: "M9.98 12.80L5.31 10.04L10.00 8.11L9.98 12.80Z", fill: "#343535" }),
|
|
2071
|
+
/* @__PURE__ */ jsx12("path", { d: "M14.69 10.04L10.02 8.11L10.00 12.80L14.69 10.04Z", fill: "#131313" }),
|
|
2072
|
+
/* @__PURE__ */ jsx12("path", { d: "M10.00 14.00L14.69 11.24L10.00 17.80V14.00Z", fill: "#2F3030" }),
|
|
2073
|
+
/* @__PURE__ */ jsx12("path", { d: "M10.00 14.00L5.31 11.24L10.00 17.80V14.00Z", fill: "#828384" })
|
|
1973
2074
|
]
|
|
1974
2075
|
}
|
|
1975
2076
|
);
|
|
1976
2077
|
}
|
|
1977
2078
|
|
|
1978
2079
|
// src/components/ui/WalletBadgeIcons/SolBadgeIcon.tsx
|
|
1979
|
-
import { jsx as
|
|
2080
|
+
import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1980
2081
|
function SolBadgeIcon() {
|
|
1981
|
-
return /* @__PURE__ */
|
|
2082
|
+
return /* @__PURE__ */ jsxs12(
|
|
1982
2083
|
"svg",
|
|
1983
2084
|
{
|
|
1984
2085
|
width: "20",
|
|
@@ -1987,8 +2088,8 @@ function SolBadgeIcon() {
|
|
|
1987
2088
|
fill: "none",
|
|
1988
2089
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1989
2090
|
children: [
|
|
1990
|
-
/* @__PURE__ */
|
|
1991
|
-
/* @__PURE__ */
|
|
2091
|
+
/* @__PURE__ */ jsx13("rect", { width: "20", height: "20", rx: "10", fill: "#0C0C0C" }),
|
|
2092
|
+
/* @__PURE__ */ jsx13(
|
|
1992
2093
|
"path",
|
|
1993
2094
|
{
|
|
1994
2095
|
fillRule: "evenodd",
|
|
@@ -1997,7 +2098,7 @@ function SolBadgeIcon() {
|
|
|
1997
2098
|
fill: "url(#rs-sol-badge-grad)"
|
|
1998
2099
|
}
|
|
1999
2100
|
),
|
|
2000
|
-
/* @__PURE__ */
|
|
2101
|
+
/* @__PURE__ */ jsx13("defs", { children: /* @__PURE__ */ jsxs12(
|
|
2001
2102
|
"linearGradient",
|
|
2002
2103
|
{
|
|
2003
2104
|
id: "rs-sol-badge-grad",
|
|
@@ -2007,8 +2108,8 @@ function SolBadgeIcon() {
|
|
|
2007
2108
|
y2: "5.08",
|
|
2008
2109
|
gradientUnits: "userSpaceOnUse",
|
|
2009
2110
|
children: [
|
|
2010
|
-
/* @__PURE__ */
|
|
2011
|
-
/* @__PURE__ */
|
|
2111
|
+
/* @__PURE__ */ jsx13("stop", { stopColor: "#CB4EE8" }),
|
|
2112
|
+
/* @__PURE__ */ jsx13("stop", { offset: "1", stopColor: "#10F4B1" })
|
|
2012
2113
|
]
|
|
2013
2114
|
}
|
|
2014
2115
|
) })
|
|
@@ -2018,9 +2119,9 @@ function SolBadgeIcon() {
|
|
|
2018
2119
|
}
|
|
2019
2120
|
|
|
2020
2121
|
// src/components/ui/WalletBadgeIcons/BaseBadgeIcon.tsx
|
|
2021
|
-
import { jsx as
|
|
2122
|
+
import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2022
2123
|
function BaseBadgeIcon() {
|
|
2023
|
-
return /* @__PURE__ */
|
|
2124
|
+
return /* @__PURE__ */ jsxs13(
|
|
2024
2125
|
"svg",
|
|
2025
2126
|
{
|
|
2026
2127
|
width: "20",
|
|
@@ -2029,8 +2130,8 @@ function BaseBadgeIcon() {
|
|
|
2029
2130
|
fill: "none",
|
|
2030
2131
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2031
2132
|
children: [
|
|
2032
|
-
/* @__PURE__ */
|
|
2033
|
-
/* @__PURE__ */
|
|
2133
|
+
/* @__PURE__ */ jsx14("circle", { cx: "55.5", cy: "55.5", r: "55.5", fill: "#0052FF" }),
|
|
2134
|
+
/* @__PURE__ */ jsx14(
|
|
2034
2135
|
"path",
|
|
2035
2136
|
{
|
|
2036
2137
|
d: "M54.92 93.4c20.94 0 37.92-16.97 37.92-37.92S75.86 17.55 54.92 17.55c-19.49 0-35.57 14.72-37.65 33.64h49.82v5.54h-49.82C19.35 75.67 35.42 93.4 54.92 93.4z",
|
|
@@ -2043,41 +2144,191 @@ function BaseBadgeIcon() {
|
|
|
2043
2144
|
}
|
|
2044
2145
|
|
|
2045
2146
|
// src/components/ui/WalletBadgeIcons/index.tsx
|
|
2046
|
-
import { jsx as
|
|
2147
|
+
import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2047
2148
|
function WalletBadgeIcons() {
|
|
2048
|
-
return /* @__PURE__ */
|
|
2049
|
-
/* @__PURE__ */
|
|
2050
|
-
/* @__PURE__ */
|
|
2051
|
-
/* @__PURE__ */
|
|
2149
|
+
return /* @__PURE__ */ jsxs14("span", { className: "rs-list-row-meta-icons", children: [
|
|
2150
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(RabbyIcon, {}) }),
|
|
2151
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(PhantomIcon, {}) }),
|
|
2152
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(WalletConnectIcon, {}) })
|
|
2052
2153
|
] });
|
|
2053
2154
|
}
|
|
2054
2155
|
WalletBadgeIcons.displayName = "WalletBadgeIcons";
|
|
2055
2156
|
function ChainBadgeIcons() {
|
|
2056
|
-
return /* @__PURE__ */
|
|
2057
|
-
/* @__PURE__ */
|
|
2058
|
-
/* @__PURE__ */
|
|
2059
|
-
/* @__PURE__ */
|
|
2157
|
+
return /* @__PURE__ */ jsxs14("span", { className: "rs-list-row-meta-icons", children: [
|
|
2158
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(EthBadgeIcon, {}) }),
|
|
2159
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(SolBadgeIcon, {}) }),
|
|
2160
|
+
/* @__PURE__ */ jsx15("span", { children: /* @__PURE__ */ jsx15(BaseBadgeIcon, {}) })
|
|
2060
2161
|
] });
|
|
2061
2162
|
}
|
|
2062
2163
|
ChainBadgeIcons.displayName = "ChainBadgeIcons";
|
|
2063
2164
|
|
|
2165
|
+
// src/components/ui/ExchangeLogos.tsx
|
|
2166
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
2167
|
+
var EXCHANGE_LOGO_SOURCES = {
|
|
2168
|
+
binance: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSIjMEMwRTEyIi8+CjxwYXRoIGQ9Ik05Mi4zMDEgMTExLjczNkwxMjUuMzE5IDc4LjczMTdMMTU4LjM1MSAxMTEuNzYzTDE3Ny41NTIgOTIuNTQ4NkwxMjUuMzE5IDQwLjMwMjJMNzMuMDg2MyA5Mi41MzUyTDkyLjMwMSAxMTEuNzM2WiIgZmlsbD0iI0YzQkEyRiIvPgo8cGF0aCBkPSJNNDAuMzAzIDEyNS4zMDhMNTkuNTEwNyAxMDYuMUw3OC43MTg0IDEyNS4zMDhMNTkuNTEwNyAxNDQuNTE2TDQwLjMwMyAxMjUuMzA4WiIgZmlsbD0iI0YzQkEyRiIvPgo8cGF0aCBkPSJNOTIuMzAxMiAxMzguODczTDEyNS4zMTkgMTcxLjg5MUwxNTguMzUxIDEzOC44NkwxNzcuNTY2IDE1OC4wNDhMMTc3LjU1MiAxNTguMDYxTDEyNS4zMTkgMjEwLjMwOEw3My4wODY0IDE1OC4wODhMNzMuMDU5NiAxNTguMDYxTDkyLjMwMTIgMTM4Ljg3M1oiIGZpbGw9IiNGM0JBMkYiLz4KPHBhdGggZD0iTTE3MS44ODcgMTI1LjMxMkwxOTEuMDk1IDEwNi4xMDVMMjEwLjMwMyAxMjUuMzEyTDE5MS4wOTUgMTQ0LjUyTDE3MS44ODcgMTI1LjMxMloiIGZpbGw9IiNGM0JBMkYiLz4KPHBhdGggZD0iTTE0NC44MDMgMTI1LjI5OEwxMjUuMzE5IDEwNS44MDJMMTEwLjkxMiAxMjAuMjA5TDEwOS4yNDcgMTIxLjg2MUwxMDUuODM2IDEyNS4yNzJMMTA1LjgwOSAxMjUuMjk4TDEwNS44MzYgMTI1LjMzOUwxMjUuMzE5IDE0NC44MDlMMTQ0LjgwMyAxMjUuMzEyTDE0NC44MTYgMTI1LjI5OEgxNDQuODAzWiIgZmlsbD0iI0YzQkEyRiIvPgo8L3N2Zz4K",
|
|
2169
|
+
bitfinex: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNDc2OV8xNTk5NjEpIi8+CjxwYXRoIGQ9Ik00Ni40NDQ4IDE4NS42MTJDNTQuMjc0NSAxOTMuOTE1IDk3LjMyOTcgMjMzLjcwMSAxNjQuOTA0IDE4Ny41MjRDMjEzLjc3OCAxNDkuNDcxIDIxMi41NTIgNjYuOTczIDIwNy44NjEgNDIuMDQ1NUMyMDYuMjI2IDQ1LjY3NDMgMTQ5LjUyMiAxNjkuOTY5IDQ2LjQ0NDggMTg1LjYxMlpNMjA3Ljg2MSA0Mi4wMjkxQzIwNy4yNTYgNDEuNzgzOSAxNDQuMzkgMzMuMjE4NyA4Mi4yNDI0IDczLjI0OThDNDMuNjQ5NiA5OC4wOTU2IDM4LjUzMzQgMTM0LjQ4MiA0MC4yOTg3IDE1OC43ODhDMTMwLjY0MyAxNDguNjIxIDIwNS44MDEgNDQuODg5NyAyMDcuODYxIDQyLjAyOTFaIiBmaWxsPSIjMDJDQTlCIi8+CjxwYXRoIGQ9Ik0yMDcuODYxIDQyLjAyOTFDMjA3LjI1NiA0MS43ODM5IDE0NC4zOSAzMy4yMTg3IDgyLjI0MjQgNzMuMjQ5OEM0My42NDk2IDk4LjA5NTYgMzguNTMzNCAxMzQuNDgyIDQwLjI5ODcgMTU4Ljc4OEMxMzAuNjQzIDE0OC42MjEgMjA1LjgwMSA0NC44ODk3IDIwNy44NjEgNDIuMDI5MVoiIGZpbGw9IiMwMkNBOUIiLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl80NzY5XzE1OTk2MSIgeDE9IjI1MCIgeTE9IjcuNTI1MDllLTA2IiB4Mj0iMy4wMDAwMSIgeTI9IjI1Mi41IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNCMDJDMkQiLz4KPHN0b3Agb2Zmc2V0PSIwLjMyMTEzMSIgc3RvcC1jb2xvcj0iIzE3MzU1QSIvPgo8c3RvcCBvZmZzZXQ9IjAuNzUiIHN0b3AtY29sb3I9IiMxRTQ0NzQiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDQ3RTYxIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==",
|
|
2170
|
+
btcturk: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSJ3aGl0ZSIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDc2OV8xNTk5NzgpIj4KPHBhdGggZD0iTTE0NC44NTIgMTg4LjY4MkMxMzQuOTQ3IDE5NS42ODYgMTI5LjA4NyAyMDQuNDQ3IDEzMS44MyAyMDguMjQzQzEzNC41NzMgMjEyLjA0IDE0NC43MTYgMjA5LjQ1NiAxNTQuNjIxIDIwMi40NjNDMTY0LjUyNyAxOTUuNDcxIDE3MC4zNjMgMTg2LjcxIDE2Ny42NDMgMTgyLjkwMkMxNjYuODA1IDE4MS43NjkgMTY1LjIyOSAxODEuMTQ1IDE2My4xNjcgMTgxLjE0NUMxNTguNjMzIDE4MS4xNDUgMTUxLjY2MyAxODMuODc3IDE0NC44NTIgMTg4LjY4MlpNOTAuNDUxOSAxNzMuNzIyQzcxLjMwOTkgMTgxLjY2NyA1OC4wMzg2IDE5My40NDIgNjAuNzkyNiAyMDAuMTI5QzYzLjU0NjYgMjA2LjgxNSA4MS4yOTQ2IDIwNS44NTIgMTAwLjQ1OSAxOTcuOTUzQzExOS42MjQgMTkwLjA1MyAxMzIuODM5IDE3OC4yNjcgMTMwLjA4NSAxNzEuNTM1QzEyOC44NDkgMTY4LjU0MyAxMjQuNjQ1IDE2Ny4wOTIgMTE4LjY2MSAxNjcuMDkyQzExMS4yMjYgMTY3LjA5MiAxMDEuMDQ5IDE2OS4zNTkgOTAuNDUxOSAxNzMuNzIyWk0xNzguMjE3IDE2NS43ODlDMTc0LjgxNyAxNzIuMjM3IDE3My43NzUgMTc4LjM0NiAxNzUuODQ5IDE3OS4zODlDMTc3LjkyMyAxODAuNDMxIDE4Mi4zMiAxNzYuMTI1IDE4NS42OTcgMTY5LjY3NkMxODkuMDc1IDE2My4yMjcgMTkwLjE0IDE1Ny4xMTkgMTg4LjA2NiAxNTYuMDc2QzE4Ny44NDkgMTU1Ljk2NCAxODcuNjA3IDE1NS45MDkgMTg3LjM2MyAxNTUuOTE3QzE4NS4wOTcgMTU1LjkxNyAxODEuMjQzIDE2MC4wMDkgMTc4LjIxNyAxNjUuNzg5Wk0xNTAuNTc1IDE0Ny45MjdDMTQ0LjAxMyAxNTEuNzEzIDE0MC41OTEgMTU4LjA1OSAxNDIuOTE0IDE2Mi4wOTRDMTQ1LjIzNyAxNjYuMTI5IDE1Mi40MzQgMTY2LjMyMSAxNTguOTk2IDE2Mi41MzZDMTY1LjU1OCAxNTguNzUxIDE2OC45ODEgMTUyLjQwNCAxNjYuNjU3IDE0OC4zNjlDMTY1LjQ0NSAxNDYuMjczIDE2Mi45MTcgMTQ1LjIwNyAxNTkuODU3IDE0NS4yMDdDMTU2LjU4NSAxNDUuMzAyIDE1My4zOTIgMTQ2LjIzOSAxNTAuNTg3IDE0Ny45MjdNMTc0Ljg0IDEzOS4zMjVDMTcyLjkzNiAxNDIuNjIzIDE3My4wNjEgMTQ2LjI3MyAxNzUuMTIzIDE0Ny40NjNDMTc3LjE4NiAxNDguNjUzIDE4MC40MDUgMTQ2Ljk1MyAxODIuMzA5IDE0My42NDNDMTg0LjIxMyAxNDAuMzM0IDE4NC4wODggMTM2LjY5NiAxODIuMDE0IDEzNS41MDZDMTgxLjU3IDEzNS4yNDggMTgxLjA2NSAxMzUuMTE1IDE4MC41NTIgMTM1LjEyMUMxNzguNjI1IDEzNS4xMjEgMTc2LjMzNiAxMzYuNzMgMTc0Ljg4NSAxMzkuMzI1TTE1MC40MDUgMTI1LjE3QzE1MC40MDUgMTI5LjExNCAxNTQuMDMyIDEzMi4zMjEgMTU4LjUwOSAxMzIuMzIxQzE2Mi45ODUgMTMyLjMyMSAxNjYuNjEyIDEyOS4xMTQgMTY2LjYxMiAxMjUuMTdDMTY2LjYxMiAxMjEuMjI2IDE2Mi45ODUgMTE4LjAxOSAxNTguNTA5IDExOC4wMTlDMTU0LjAzMiAxMTguMDE5IDE1MC40MDUgMTIxLjIxNSAxNTAuNDA1IDEyNS4xN1pNOTYuMzExMyAxMjUuMTdDOTYuMzExMyAxMzQuMDIxIDEwNi4yOTYgMTQxLjE5NSAxMTguNjE1IDE0MS4xOTVDMTMwLjkzNSAxNDEuMTk1IDE0MC44OTcgMTM0LjA2NyAxNDAuODk3IDEyNS4xN0MxNDAuODk3IDExNi4yNzMgMTMwLjkzNSAxMDkuMTMzIDExOC42MTUgMTA5LjEzM0MxMDYuMjk2IDEwOS4xMzMgOTYuMzExMyAxMTYuMzE5IDk2LjMxMTMgMTI1LjE3Wk0xNzUuMzUgMTAyLjUwM0MxNzMuMjg3IDEwMy42MzcgMTczLjE2MyAxMDcuMzQzIDE3NS4wNjcgMTEwLjY0MUMxNzYuOTcxIDExMy45MzkgMTgwLjE3OCAxMTUuNjYxIDE4Mi4yNTIgMTE0LjQ2QzE4NC4zMjYgMTEzLjI1OSAxODQuNDM5IDEwOS42MzIgMTgyLjUzNSAxMDYuMzIzQzE4MS4wMzkgMTAzLjczOSAxNzguNzM5IDEwMi4xMTggMTc2Ljg2OSAxMDIuMTE4QzE3Ni4zNTIgMTAyLjExNyAxNzUuODQ1IDEwMi4yNDkgMTc1LjM5NSAxMDIuNTAzTTE0My4xNjMgODcuOTA2QzE0MC44OTcgOTEuOTQwNyAxNDQuMjk3IDk4LjI4NzMgMTUwLjgyNSAxMDIuMDczQzE1Ny4zNTMgMTA1Ljg1OCAxNjQuNTgzIDEwNS42NjUgMTY2LjkwNyAxMDEuNjMxQzE2OS4yMyA5Ny41OTYgMTY1Ljc3MyA5MS4yNjA3IDE1OS4yNDUgODcuNDY0QzE1Ni40MzUgODUuNzc4NCAxNTMuMjM5IDg0Ljg0NTUgMTQ5Ljk2MyA4NC43NTUzQzE0Ni44OTIgODQuNzU1MyAxNDQuMzY1IDg1LjgwOTMgMTQzLjE2MyA4Ny45MDZaTTE3NS44MDMgNzAuNkMxNzMuNzQxIDcxLjczMzMgMTc0Ljc5NSA3Ny43OTY3IDE3OC4xNzIgODQuMkMxODEuNTQ5IDkwLjYwMzMgMTg1Ljk1OCA5NS4wMDA3IDE4OC4wMzIgOTMuOTEyN0MxOTAuMTA2IDkyLjgyNDcgMTg5LjAyOSA4Ni43MTYgMTg1LjY1MiA4MC4zMTI3QzE4Mi42MjYgNzQuNTMyNyAxNzguNzYxIDcwLjQ0MTMgMTc2LjUwNiA3MC40NDEzQzE3Ni4yNjMgNzAuNDQxMiAxNzYuMDIzIDcwLjQ5NTQgMTc1LjgwMyA3MC42Wk02MC43OTI2IDQ5LjkxNjdDNTguMDM4NiA1Ni42MDMzIDcxLjMyMTMgNjguNDM1MyA5MC40NTE5IDc2LjMzNDdDMTA5LjU4MyA4NC4yMzQgMTI3LjI5NyA4NS4yMDg3IDEzMC4wODUgNzguNTMzM0MxMzIuODczIDcxLjg1OCAxMTkuNTU2IDYwLjAwMzMgMTAwLjQyNSA1Mi4xMDRDODkuODI4NiA0Ny43MjkzIDc5LjY5NjYgNDUuNDc0IDcyLjIxNjYgNDUuNDc0QzY2LjIzMjYgNDUuNDc0IDYyLjAxNjYgNDYuOTM2IDYwLjc5MjYgNDkuOTE2N1pNMTMxLjcyOCA0MS43NTY3QzEyOS4wNDIgNDUuNTY0NyAxMzQuOTAxIDU0LjMxNCAxNDQuODA3IDYxLjMxOEMxNTQuNzEyIDY4LjMyMiAxNjQuOTIzIDcwLjkwNiAxNjcuNTk4IDY3LjA5OEMxNzAuMjczIDYzLjI5IDE2NC40MjUgNTQuNTQwNyAxNTQuNDk3IDQ3LjUzNjdDMTQ3LjY5NyA0Mi43MzEzIDE0MC43NjEgNDAgMTM2LjIwNSA0MEMxMzQuMTQyIDQwIDEzMi41NjcgNDAuNTY2NyAxMzEuNjcxIDQxLjc1NjciIGZpbGw9ImJsYWNrIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfNDc2OV8xNTk5NzgiPgo8cmVjdCB3aWR0aD0iMTI4LjY5IiBoZWlnaHQ9IjE3MCIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwLjQzMDEgNDApIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==",
|
|
2171
|
+
bybit: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNMTY4LjI2IDE0Mi45NDhWOTFIMTc4LjY0M1YxNDIuOTQ4SDE2OC4yNloiIGZpbGw9IiNGN0E2MDAiLz4KPHBhdGggZD0iTTQ3LjI1NzkgMTU4LjM3OEgyNVYxMDYuNDMxSDQ2LjM2MzhDNTYuNzQ2NCAxMDYuNDMxIDYyLjc5NDkgMTEyLjEyMyA2Mi43OTQ5IDEyMS4wMjNDNjIuNzk0OSAxMjYuNzg1IDU4LjkwODkgMTMwLjUxIDU2LjIxOTcgMTMxLjc1QzU5LjQzMTEgMTMzLjIwNyA2My41Mzg5IDEzNi40OTEgNjMuNTM4OSAxNDMuNDI0QzYzLjUzODkgMTUzLjEyNSA1Ni43NDY0IDE1OC4zNzggNDcuMjU3OSAxNTguMzc4Wk00NS41NDEzIDExNS40NzlIMzUuMzgyN1YxMjcuNDQ1SDQ1LjUzOUM0OS45NDQ4IDEyNy40NDUgNTIuNDA5OSAxMjUuMDM4IDUyLjQwOTkgMTIxLjQ1OUM1Mi40MDk5IDExNy44ODggNDkuOTQ3MSAxMTUuNDc5IDQ1LjU0MTMgMTE1LjQ3OVpNNDYuMjExMyAxMzYuNTY1SDM1LjM4NVYxNDkuMzM1SDQ2LjIxNTlDNTAuOTIyMSAxNDkuMzM1IDUzLjE1ODUgMTQ2LjQxNyA1My4xNTg1IDE0Mi45MTNDNTMuMTU4NSAxMzkuNDExIDUwLjkxNzQgMTM2LjU2NSA0Ni4yMTU5IDEzNi41NjVINDYuMjExM1pNOTUuMjA2OCAxMzcuMDc2VjE1OC4zNzhIODQuODk4VjEzNy4wNzZMNjguOTEyNyAxMDYuNDMxSDgwLjE5MThMOTAuMTI2MyAxMjcuMzcxTDk5LjkxMDYgMTA2LjQzMUgxMTEuMTg3TDk1LjIwNjggMTM3LjA3NlpNMTQwLjYyNCAxNTguMzc4SDExOC4zNjZWMTA2LjQzMUgxMzkuNzI3QzE1MC4xMSAxMDYuNDMxIDE1Ni4xNjEgMTEyLjEyMyAxNTYuMTYxIDEyMS4wMjNDMTU2LjE2MSAxMjYuNzg1IDE1Mi4yNzUgMTMwLjUxIDE0OS41ODUgMTMxLjc1QzE1Mi43OTcgMTMzLjIwNyAxNTYuOTA1IDEzNi40OTEgMTU2LjkwNSAxNDMuNDI0QzE1Ni45MDUgMTUzLjEyNSAxNTAuMTEyIDE1OC4zNzggMTQwLjYyNCAxNTguMzc4Wk0xMzguOTA3IDExNS40NzlIMTI4Ljc0OFYxMjcuNDQ1SDEzOC45MDdDMTQzLjMxMyAxMjcuNDQ1IDE0NS43NzggMTI1LjAzOCAxNDUuNzc4IDEyMS40NTlDMTQ1Ljc3OCAxMTcuODg4IDE0My4zMTMgMTE1LjQ3OSAxMzguOTA3IDExNS40NzlaTTEzOS41NzcgMTM2LjU2NUgxMjguNzQ2VjE0OS4zMzVIMTM5LjU3N0MxNDQuMjg1IDE0OS4zMzUgMTQ2LjUyMiAxNDYuNDE3IDE0Ni41MjIgMTQyLjkxM0MxNDYuNTIyIDEzOS40MTEgMTQ0LjI4NSAxMzYuNTY1IDEzOS41NzcgMTM2LjU2NVpNMjEyLjEwNiAxMTUuNDgxVjE1OC4zODNIMjAxLjcyM1YxMTUuNDc5SDE4Ny44MzNWMTA2LjQzMUgyMjZWMTE1LjQ3OUwyMTIuMTA2IDExNS40ODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K",
|
|
2172
|
+
coinbase: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSIjMDA1MkZGIi8+CjxwYXRoIGQ9Ik0xMjUuMTYgMTY3LjVDMTAxLjYzNSAxNjcuNSA4Mi41OCAxNDguNDggODIuNTggMTI1QzgyLjU4IDEwMS41MiAxMDEuNjMgODIuNSAxMjUuMTYgODIuNUMxMzUuMjA3IDgyLjUwMTggMTQ0LjkyOCA4Ni4wNTg0IDE1Mi42MDQgOTIuNTQwMUMxNjAuMjggOTkuMDIxOSAxNjUuNDE1IDEwOC4wMTEgMTY3LjEgMTE3LjkxNUgyMTBDMjA2LjM4IDc0LjI4NSAxNjkuOCA0MCAxMjUuMTYgNDBDNzguMTQ1IDQwIDQwIDc4LjA3NSA0MCAxMjVDNDAgMTcxLjkyNSA3OC4xNDUgMjEwIDEyNS4xNiAyMTBDMTY5Ljc5NSAyMTAgMjA2LjM4IDE3NS43MTUgMjEwIDEzMi4wODVIMTY3LjFDMTY1LjQxNSAxNDEuOTg5IDE2MC4yOCAxNTAuOTc4IDE1Mi42MDQgMTU3LjQ2QzE0NC45MjggMTYzLjk0MiAxMzUuMjA3IDE2Ny40OTggMTI1LjE2IDE2Ny41WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==",
|
|
2173
|
+
gateio: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTI1IDE3MS43MTNDOTkuMTcwMyAxNzEuNzEzIDc4LjI4NjYgMTUwLjgzIDc4LjI4NjYgMTI1Qzc4LjI4NjYgOTkuMTcwMyA5OS4xNzAzIDc4LjI4NjYgMTI1IDc4LjI4NjZWNDBDNzguMTAzNSA0MCA0MCA3OC4xMDM1IDQwIDEyNUM0MCAxNzEuODk3IDc4LjEwMzUgMjEwIDEyNSAyMTBDMTcxLjg5NyAyMTAgMjEwIDE3MS44OTcgMjEwIDEyNUgxNzEuNzEzQzE3MS43MTMgMTUwLjgzIDE1MC44MyAxNzEuNzEzIDEyNSAxNzEuNzEzWiIgZmlsbD0iIzIzNTRFNiIvPgo8cGF0aCBkPSJNMTcxLjcxMyA3OC4yODY2SDEyNVYxMjVIMTcxLjcxM1Y3OC4yODY2WiIgZmlsbD0iIzE3RTZBMSIvPgo8L3N2Zz4K",
|
|
2174
|
+
htx: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTQ0LjQ1IDkyLjI4OTJDMTQ0LjQ1IDY3Ljg5OCAxMzIuNTY3IDQ2Ljg5MTggMTIzLjUxNiA0MC4wNzM4QzEyMy41MTYgNDAuMDczOCAxMjIuODIgMzkuNjg5NyAxMjIuODkyIDQwLjY3NEMxMjIuMTQ4IDg3Ljc5OTkgOTguMDY4NyAxMDAuNTcyIDg0Ljg0MDggMTE3Ljc2MUM1NC4zMDM5IDE1Ny40NjggODIuNjgwMiAyMDAuOTkzIDExMS42MzMgMjA5LjAzNkMxMjcuNzY1IDIxMy41NDkgMTA3Ljg4OCAyMDEuMDY1IDEwNS4zMTkgMTc0LjcyOUMxMDIuMTc0IDE0Mi45NDQgMTQ0LjQ1IDExOC42NDkgMTQ0LjQ1IDkyLjI4OTJaIiBmaWxsPSIjMUIyMTQzIi8+CjxwYXRoIGQ9Ik0xNTguMzI2IDEwOC4zNUMxNTguMTM0IDEwOC4yMyAxNTcuODcgMTA4LjEzNCAxNTcuNzAyIDEwOC40NDZDMTU3LjE5OCAxMTQuMzc2IDE1MS4xNDggMTI3LjA1MiAxNDMuNDY2IDEzOC43MTlDMTE3LjQxOCAxNzguMjM1IDEzMi4yNTUgMTk3LjI5NyAxNDAuNjA5IDIwNy41NDhDMTQ1LjQ1OSAyMTMuNDc3IDE0MC42MDkgMjA3LjU0OCAxNTIuNzA5IDIwMS40NzRDMTY3LjY2NSAxOTIuMzk5IDE3Ny4zNjQgMTc2LjY5OCAxNzguODA0IDE1OS4yNjlDMTgxLjE4MSAxMzEuMTgxIDE2NC4zMjggMTEzLjQ4OCAxNTguMzI2IDEwOC4zNVoiIGZpbGw9IiMyQ0E2RTAiLz4KPC9zdmc+Cg==",
|
|
2175
|
+
kraken: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSIjNTg0MUQ4Ii8+CjxwYXRoIGQ9Ik0xMjYuMTMgNTcuMDQzNUM3OC44MTkxIDU3LjA0MzUgNDAgOTUuMjU2IDQwIDE0My4xNzNWMTgwLjE3M0M0MCAxODYuODQ1IDQ1LjQ1ODkgMTkyLjMwNCA1Mi4xMzEgMTkyLjMwNEM1OC44MDMgMTkyLjMwNCA2NC4yNjE5IDE4Ni44NDUgNjQuMjYxOSAxODAuMTczVjE0My4xNzNDNjQuMjYxOSAxMzYuNTAxIDY5LjcyMDkgMTMxLjA0MiA3Ni4zOTI5IDEzMS4wNDJDODMuMDY0OSAxMzEuMDQyIDg4LjUyMzkgMTM2LjUwMSA4OC41MjM5IDE0My4xNzNWMTgwLjE3M0M4OC41MjM5IDE4Ni44NDUgOTMuOTgyOCAxOTIuMzA0IDEwMC42NTUgMTkyLjMwNEMxMDcuMzI3IDE5Mi4zMDQgMTEyLjc4NiAxODYuODQ1IDExMi43ODYgMTgwLjE3M1YxNDMuMTczQzExMi43ODYgMTM2LjUwMSAxMTguMjQ1IDEzMS4wNDIgMTI0LjkxNyAxMzEuMDQyQzEzMS41ODkgMTMxLjA0MiAxMzcuMDQ4IDEzNi41MDEgMTM3LjA0OCAxNDMuMTczVjE4MC4xNzNDMTM3LjA0OCAxODYuODQ1IDE0Mi41MDcgMTkyLjMwNCAxNDkuMTc5IDE5Mi4zMDRDMTU1Ljg1MSAxOTIuMzA0IDE2MS4zMSAxODYuODQ1IDE2MS4zMSAxODAuMTczVjE0My4xNzNDMTYxLjMxIDEzNi41MDEgMTY2Ljc2OSAxMzEuMDQyIDE3My40NDEgMTMxLjA0MkMxODAuMTEzIDEzMS4wNDIgMTg1LjU3MiAxMzYuNTAxIDE4NS41NzIgMTQzLjE3M1YxODAuMTczQzE4NS41NzIgMTg2Ljg0NSAxOTEuMDMxIDE5Mi4zMDQgMTk3LjcwMyAxOTIuMzA0QzIwNC4zNzUgMTkyLjMwNCAyMDkuODM0IDE4Ni44NDUgMjA5LjgzNCAxODAuMTczVjE0My4xNzNDMjEyLjg2NiA5NS4yNTYgMTc0LjA0NyA1Ny4wNDM1IDEyNi4xMyA1Ny4wNDM1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==",
|
|
2176
|
+
kucoin: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgdmlld0JveD0iMCAwIDI1MCAyNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTAiIGhlaWdodD0iMjUwIiBmaWxsPSIjMDBCNDdEIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF80NzY5XzE2MDAyNCkiPgo8cGF0aCBkPSJNMTc3Ljg2MyAxNDMuNTFMMTQ2LjAwNyAxNzUuMjE3TDk1LjE1NSAxMjQuOTExTDE0NS45MSA3NC42ODU3TDE3Ny44NjMgMTA2LjQ4OUMxODMuNTMgMTEyLjEwOCAxOTIuNjgxIDExMi4xMDggMTk4LjMgMTA2LjQ0QzIwMy45MTggMTAwLjc3MiAyMDMuODkzIDkxLjYyMTYgMTk4LjI1MSA4Ni4wMDM1TDE1Ni4yNDkgNDQuMTk4M0MxNTAuNTgyIDM4LjU4MDIgMTQxLjQzIDM4LjYwNDcgMTM1LjgxMiA0NC4yNDczQzEzNS43ODkgNDQuMjcwNCAxMzQuNzg4IDQ1LjEwMiAxMzQuMzQgNDUuNTQ3NEw3NS45MDEgMTAzLjM1OFY2OC44MDUyQzc1LjkwMSA2MC44MzIzIDY5LjQyNDEgNTQuMzU1NCA2MS40NTA1IDU0LjM1NTRDNTMuNDc2OSA1NC4zNTU0IDQ3LjAyNDUgNjAuODMyMyA0NyA2OC44MDUyVjE4MS4wOTlDNDcgMTg5LjA3MyA1My40NzY5IDE5NS41NSA2MS40NTA1IDE5NS41NUM2OS40MjQxIDE5NS41NSA3NS45MDEgMTg5LjA3IDc1LjkwMSAxODEuMDk5VjE0Ni40N0wxMzQuMzQgMjA0LjI4MUMxMzQuNTkyIDIwNC41MzIgMTM1LjU3IDIwNS41MDggMTM1LjgxMiAyMDUuNzUzQzE0MS40MyAyMTEuMzk3IDE1MC41ODIgMjExLjQyIDE1Ni4yNDkgMjA1LjgwMkwxOTguMjUxIDE2My45OTZDMjAzLjg5NSAxNTguMzc4IDIwMy45MTggMTQ5LjIyNyAxOTguMyAxNDMuNTU5QzE5Mi42NTcgMTM3LjkyIDE4My41MDYgMTM3Ljg5MiAxNzcuODYzIDE0My41MVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xNDYuMTQxIDEzOS41ODVDMTU0LjE4OSAxMzkuNTg1IDE2MC43MTQgMTMzLjA2MSAxNjAuNzE0IDEyNS4wMTJDMTYwLjcxNCAxMTYuOTY0IDE1NC4xODkgMTEwLjQzOSAxNDYuMTQxIDExMC40MzlDMTM4LjA5MiAxMTAuNDM5IDEzMS41NjggMTE2Ljk2NCAxMzEuNTY4IDEyNS4wMTJDMTMxLjU2OCAxMzMuMDYxIDEzOC4wOTIgMTM5LjU4NSAxNDYuMTQxIDEzOS41ODVaIiBmaWxsPSJibGFjayIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzQ3NjlfMTYwMDI0Ij4KPHJlY3Qgd2lkdGg9IjE1NS40OTgiIGhlaWdodD0iMTcwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDcgNDApIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="
|
|
2177
|
+
};
|
|
2178
|
+
var EXCHANGE_LOGO_ALIASES = {
|
|
2179
|
+
gate: "gateio"
|
|
2180
|
+
};
|
|
2181
|
+
function normalize(value) {
|
|
2182
|
+
return value.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
2183
|
+
}
|
|
2184
|
+
function getLogoSource(value) {
|
|
2185
|
+
const key = normalize(value);
|
|
2186
|
+
return EXCHANGE_LOGO_SOURCES[EXCHANGE_LOGO_ALIASES[key] ?? key] ?? null;
|
|
2187
|
+
}
|
|
2188
|
+
function getExchangeLogoSrc(name, connection) {
|
|
2189
|
+
return getLogoSource(name) ?? getLogoSource(connection ?? "");
|
|
2190
|
+
}
|
|
2191
|
+
function getExchangeLogo(name, connection) {
|
|
2192
|
+
const src = getExchangeLogoSrc(name, connection);
|
|
2193
|
+
return src ? /* @__PURE__ */ jsx16("img", { src, alt: "", loading: "lazy", decoding: "async" }) : null;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
// src/components/ui/BrandIcons.tsx
|
|
2197
|
+
import { jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2198
|
+
function VisaMark() {
|
|
2199
|
+
return /* @__PURE__ */ jsxs15(
|
|
2200
|
+
"svg",
|
|
2201
|
+
{
|
|
2202
|
+
width: "38",
|
|
2203
|
+
height: "24",
|
|
2204
|
+
viewBox: "0 0 38 24",
|
|
2205
|
+
fill: "none",
|
|
2206
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2207
|
+
"aria-hidden": "true",
|
|
2208
|
+
children: [
|
|
2209
|
+
/* @__PURE__ */ jsx17("rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "white" }),
|
|
2210
|
+
/* @__PURE__ */ jsx17(
|
|
2211
|
+
"path",
|
|
2212
|
+
{
|
|
2213
|
+
d: "M18.3993 8.08878L16.6616 16.2114H14.5605L16.2984 8.08878H18.3993ZM27.2397 13.3336L28.3459 10.2833L28.9824 13.3336H27.2397ZM29.584 16.2114H31.5276L29.8316 8.08878H28.0376C27.6345 8.08878 27.2944 8.32324 27.143 8.6847L23.9906 16.2114H26.1972L26.6352 14.9985H29.331L29.584 16.2114ZM24.1001 13.5593C24.1091 11.4155 21.1354 11.2975 21.156 10.3398C21.1622 10.048 21.4401 9.7385 22.0471 9.65906C22.3486 9.61972 23.1777 9.58964 24.1192 10.0228L24.4878 8.30036C23.9821 8.1168 23.3314 7.94019 22.5221 7.94019C20.4454 7.94019 18.9836 9.04437 18.9713 10.6254C18.9582 11.7947 20.0148 12.4471 20.811 12.8359C21.6295 13.2341 21.9046 13.4891 21.901 13.8452C21.8956 14.3905 21.248 14.6306 20.6439 14.6401C19.5873 14.6568 18.9741 14.355 18.4854 14.1272L18.1047 15.907C18.5954 16.1325 19.5017 16.3284 20.4418 16.3384C22.6489 16.3384 24.0929 15.2478 24.1001 13.5593ZM15.3968 8.08878L11.9925 16.2114H9.77099L8.09583 9.72898C7.99402 9.32973 7.90559 9.18371 7.59631 9.01532C7.09165 8.74152 6.25741 8.48418 5.52344 8.32479L5.57357 8.08878H9.14885C9.6044 8.08878 10.0145 8.39214 10.1178 8.91685L11.0027 13.6174L13.1892 8.08878H15.3968Z",
|
|
2214
|
+
fill: "#1434CB"
|
|
2215
|
+
}
|
|
2216
|
+
)
|
|
2217
|
+
]
|
|
2218
|
+
}
|
|
2219
|
+
);
|
|
2220
|
+
}
|
|
2221
|
+
function MastercardMark() {
|
|
2222
|
+
return /* @__PURE__ */ jsxs15(
|
|
2223
|
+
"svg",
|
|
2224
|
+
{
|
|
2225
|
+
width: "38",
|
|
2226
|
+
height: "24",
|
|
2227
|
+
viewBox: "0 0 38 24",
|
|
2228
|
+
fill: "none",
|
|
2229
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2230
|
+
"aria-hidden": "true",
|
|
2231
|
+
children: [
|
|
2232
|
+
/* @__PURE__ */ jsx17("rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "white" }),
|
|
2233
|
+
/* @__PURE__ */ jsx17(
|
|
2234
|
+
"path",
|
|
2235
|
+
{
|
|
2236
|
+
d: "M21.303 7.07157H15.8179V16.9284H21.303V7.07157Z",
|
|
2237
|
+
fill: "#FF5F00"
|
|
2238
|
+
}
|
|
2239
|
+
),
|
|
2240
|
+
/* @__PURE__ */ jsx17(
|
|
2241
|
+
"path",
|
|
2242
|
+
{
|
|
2243
|
+
d: "M16.1662 12C16.1653 11.0507 16.3804 10.1136 16.7953 9.25979C17.2101 8.40593 17.8137 7.65764 18.5605 7.07156C17.6357 6.34468 16.5251 5.89265 15.3556 5.76713C14.1861 5.6416 13.0048 5.84765 11.9469 6.36172C10.8889 6.87579 9.99698 7.67715 9.37294 8.67419C8.7489 9.67124 8.41797 10.8237 8.41797 12C8.41797 13.1762 8.7489 14.3287 9.37294 15.3257C9.99698 16.3228 10.8889 17.1241 11.9469 17.6382C13.0048 18.1523 14.1861 18.3583 15.3556 18.2328C16.5251 18.1073 17.6357 17.6553 18.5605 16.9284C17.8137 16.3423 17.2101 15.594 16.7953 14.7401C16.3805 13.8863 16.1653 12.9492 16.1662 12Z",
|
|
2244
|
+
fill: "#EB001B"
|
|
2245
|
+
}
|
|
2246
|
+
),
|
|
2247
|
+
/* @__PURE__ */ jsx17(
|
|
2248
|
+
"path",
|
|
2249
|
+
{
|
|
2250
|
+
d: "M28.7026 12C28.7027 13.1762 28.3718 14.3287 27.7478 15.3257C27.1238 16.3228 26.2318 17.1241 25.1739 17.6382C24.116 18.1523 22.9348 18.3583 21.7653 18.2328C20.5958 18.1073 19.4852 17.6553 18.5605 16.9284C19.3066 16.3417 19.9097 15.5933 20.3245 14.7396C20.7392 13.8858 20.9547 12.9491 20.9547 12C20.9547 11.0508 20.7392 10.1141 20.3245 9.26037C19.9097 8.40665 19.3066 7.65824 18.5605 7.07156C19.4852 6.34468 20.5958 5.89265 21.7653 5.76712C22.9348 5.6416 24.116 5.84765 25.1739 6.36173C26.2318 6.87581 27.1238 7.67717 27.7478 8.67421C28.3718 9.67126 28.7027 10.8238 28.7026 12Z",
|
|
2251
|
+
fill: "#F79E1B"
|
|
2252
|
+
}
|
|
2253
|
+
),
|
|
2254
|
+
/* @__PURE__ */ jsx17(
|
|
2255
|
+
"path",
|
|
2256
|
+
{
|
|
2257
|
+
d: "M28.1046 15.8844V15.6826H28.1859V15.6415H27.9787V15.6826H28.0601V15.8844H28.1046ZM28.5069 15.8844V15.6411H28.4434L28.3703 15.8084L28.2972 15.6411H28.2337V15.8844H28.2785V15.7009L28.347 15.8591H28.3936L28.4621 15.7005V15.8844H28.5069Z",
|
|
2258
|
+
fill: "#F79E1B"
|
|
2259
|
+
}
|
|
2260
|
+
)
|
|
2261
|
+
]
|
|
2262
|
+
}
|
|
2263
|
+
);
|
|
2264
|
+
}
|
|
2265
|
+
function AmexMark() {
|
|
2266
|
+
return /* @__PURE__ */ jsxs15(
|
|
2267
|
+
"svg",
|
|
2268
|
+
{
|
|
2269
|
+
width: "38",
|
|
2270
|
+
height: "24",
|
|
2271
|
+
viewBox: "0 0 38 24",
|
|
2272
|
+
fill: "none",
|
|
2273
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2274
|
+
"aria-hidden": "true",
|
|
2275
|
+
children: [
|
|
2276
|
+
/* @__PURE__ */ jsx17("rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "#006FCF" }),
|
|
2277
|
+
/* @__PURE__ */ jsx17(
|
|
2278
|
+
"path",
|
|
2279
|
+
{
|
|
2280
|
+
fillRule: "evenodd",
|
|
2281
|
+
clipRule: "evenodd",
|
|
2282
|
+
d: "M37.268 4.34531H34.1845L32.5727 8.9706L30.8908 4.34531H27.7373V11.5472L24.5136 4.34531H21.9208L18.6971 11.7036H20.9395L21.5702 10.232H24.9341L25.5648 11.7036H29.7696V6.58776L31.6617 11.7036H33.4136L35.3057 6.58776V11.7036H37.268V12.8248H34.675L32.5727 15.1375L30.4003 12.8248H21.5003V20.1831H30.3303L32.5026 17.8004L34.675 20.1831H37.268V21.0939H34.1845L32.5026 19.272L30.8206 21.0939H20.379V12.6846H17.0151L21.2199 3.22388H25.2845L26.756 6.44759V3.22388H31.8019L32.6427 5.6767L33.4838 3.22388H37.268V4.34531ZM37.268 14.4366L35.3759 16.4689L37.268 18.5011V20.1831L33.8342 16.4689L37.268 12.8248V14.4366ZM27.7373 20.1831V18.4312H23.5325V17.3099H27.6671V15.628H23.5325V14.5068H27.7373V12.8248L31.2411 16.4689L27.7373 20.1831ZM22.2009 8.62005L23.1822 6.23742L24.1632 8.62005H22.2009Z",
|
|
2283
|
+
fill: "white"
|
|
2284
|
+
}
|
|
2285
|
+
)
|
|
2286
|
+
]
|
|
2287
|
+
}
|
|
2288
|
+
);
|
|
2289
|
+
}
|
|
2290
|
+
function ExchangeBadgeImage({ name }) {
|
|
2291
|
+
const src = getExchangeLogoSrc(name);
|
|
2292
|
+
return src ? /* @__PURE__ */ jsx17("img", { src, alt: "", loading: "lazy", decoding: "async" }) : null;
|
|
2293
|
+
}
|
|
2294
|
+
function CardNetworkIcons() {
|
|
2295
|
+
return /* @__PURE__ */ jsxs15("span", { className: "rs-list-row-meta-icons rs-list-row-meta-icons--cards", children: [
|
|
2296
|
+
/* @__PURE__ */ jsx17("span", { className: "rs-card-network rs-card-network--amex", children: /* @__PURE__ */ jsx17(AmexMark, {}) }),
|
|
2297
|
+
/* @__PURE__ */ jsx17("span", { className: "rs-card-network rs-card-network--visa", children: /* @__PURE__ */ jsx17(VisaMark, {}) }),
|
|
2298
|
+
/* @__PURE__ */ jsx17("span", { className: "rs-card-network rs-card-network--mastercard", children: /* @__PURE__ */ jsx17(MastercardMark, {}) })
|
|
2299
|
+
] });
|
|
2300
|
+
}
|
|
2301
|
+
CardNetworkIcons.displayName = "CardNetworkIcons";
|
|
2302
|
+
function ExchangeBadgeIcons() {
|
|
2303
|
+
return /* @__PURE__ */ jsxs15("span", { className: "rs-list-row-meta-icons rs-list-row-meta-icons--exchanges", children: [
|
|
2304
|
+
/* @__PURE__ */ jsx17("span", { children: /* @__PURE__ */ jsx17(ExchangeBadgeImage, { name: "Coinbase" }) }),
|
|
2305
|
+
/* @__PURE__ */ jsx17("span", { children: /* @__PURE__ */ jsx17(ExchangeBadgeImage, { name: "Binance" }) }),
|
|
2306
|
+
/* @__PURE__ */ jsx17("span", { children: /* @__PURE__ */ jsx17(ExchangeBadgeImage, { name: "Kraken" }) })
|
|
2307
|
+
] });
|
|
2308
|
+
}
|
|
2309
|
+
ExchangeBadgeIcons.displayName = "ExchangeBadgeIcons";
|
|
2310
|
+
|
|
2064
2311
|
// src/components/steps/ConnectStep.tsx
|
|
2065
|
-
import { Fragment as Fragment2, jsx as
|
|
2312
|
+
import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2066
2313
|
function formatBalanceUsd(value) {
|
|
2067
2314
|
if (!Number.isFinite(value) || value <= 0) return "$0.00";
|
|
2068
2315
|
return `$${value.toFixed(2)}`;
|
|
2069
2316
|
}
|
|
2070
2317
|
function fiatIcon(name) {
|
|
2071
|
-
if (name === "apple") return /* @__PURE__ */
|
|
2072
|
-
if (name === "bank") return /* @__PURE__ */
|
|
2073
|
-
return /* @__PURE__ */
|
|
2318
|
+
if (name === "apple") return /* @__PURE__ */ jsx18(AppleIcon, {});
|
|
2319
|
+
if (name === "bank") return /* @__PURE__ */ jsx18(BankIcon, {});
|
|
2320
|
+
return /* @__PURE__ */ jsx18(CardIcon, {});
|
|
2321
|
+
}
|
|
2322
|
+
function fiatMeta(name) {
|
|
2323
|
+
if (name === "apple" || name === "bank") return void 0;
|
|
2324
|
+
return /* @__PURE__ */ jsx18(CardNetworkIcons, {});
|
|
2074
2325
|
}
|
|
2075
2326
|
function shorten(addr) {
|
|
2076
2327
|
return addr.length > 12 ? `${addr.slice(0, 6)}...${addr.slice(-4)}` : addr;
|
|
2077
2328
|
}
|
|
2078
2329
|
function renderWalletLeading(row) {
|
|
2079
2330
|
if (row.icon) {
|
|
2080
|
-
return /* @__PURE__ */
|
|
2331
|
+
return /* @__PURE__ */ jsx18(
|
|
2081
2332
|
"img",
|
|
2082
2333
|
{
|
|
2083
2334
|
src: row.icon,
|
|
@@ -2086,19 +2337,24 @@ function renderWalletLeading(row) {
|
|
|
2086
2337
|
}
|
|
2087
2338
|
);
|
|
2088
2339
|
}
|
|
2089
|
-
return /* @__PURE__ */
|
|
2340
|
+
return /* @__PURE__ */ jsx18(WalletIcon, {});
|
|
2090
2341
|
}
|
|
2091
|
-
var TRANSFER_CRYPTO_LEADING = /* @__PURE__ */
|
|
2092
|
-
var WALLET_LEADING = /* @__PURE__ */
|
|
2093
|
-
var
|
|
2094
|
-
var
|
|
2095
|
-
|
|
2096
|
-
|
|
2342
|
+
var TRANSFER_CRYPTO_LEADING = /* @__PURE__ */ jsx18(TransferCryptoIcon, {});
|
|
2343
|
+
var WALLET_LEADING = /* @__PURE__ */ jsx18(WalletIcon, {});
|
|
2344
|
+
var EXCHANGE_LEADING = /* @__PURE__ */ jsx18(UnplugIcon, {});
|
|
2345
|
+
var SMALL_SPINNER = /* @__PURE__ */ jsx18(Spinner, { className: "rs-spinner--sm" });
|
|
2346
|
+
var CONNECT_META = /* @__PURE__ */ jsxs16(Fragment2, { children: [
|
|
2347
|
+
/* @__PURE__ */ jsx18(WalletBadgeIcons, {}),
|
|
2348
|
+
"+100"
|
|
2349
|
+
] });
|
|
2350
|
+
var EXCHANGE_META = /* @__PURE__ */ jsxs16(Fragment2, { children: [
|
|
2351
|
+
/* @__PURE__ */ jsx18(ExchangeBadgeIcons, {}),
|
|
2352
|
+
"+6"
|
|
2097
2353
|
] });
|
|
2098
2354
|
var EXTRA_CHAIN_COUNT = Math.max(0, getSupportedChainIds().length - 3);
|
|
2099
|
-
var CHAIN_BADGE_META = /* @__PURE__ */
|
|
2100
|
-
/* @__PURE__ */
|
|
2101
|
-
EXTRA_CHAIN_COUNT > 0 ? `+${EXTRA_CHAIN_COUNT}
|
|
2355
|
+
var CHAIN_BADGE_META = /* @__PURE__ */ jsxs16(Fragment2, { children: [
|
|
2356
|
+
/* @__PURE__ */ jsx18(ChainBadgeIcons, {}),
|
|
2357
|
+
EXTRA_CHAIN_COUNT > 0 ? `+${EXTRA_CHAIN_COUNT}` : null
|
|
2102
2358
|
] });
|
|
2103
2359
|
function renderRowTrailing(state) {
|
|
2104
2360
|
if (state === "loading") {
|
|
@@ -2122,7 +2378,8 @@ function ConnectStep({
|
|
|
2122
2378
|
dappImports,
|
|
2123
2379
|
onSelectDappImport,
|
|
2124
2380
|
title = "Deposit",
|
|
2125
|
-
subtitle
|
|
2381
|
+
subtitle,
|
|
2382
|
+
defaultMethodTab = "crypto"
|
|
2126
2383
|
}) {
|
|
2127
2384
|
const rows = walletRows ?? [];
|
|
2128
2385
|
const handleConnect = onConnect ?? onRequestConnect;
|
|
@@ -2131,145 +2388,211 @@ function ConnectStep({
|
|
|
2131
2388
|
);
|
|
2132
2389
|
const showDappImports = (dappImports?.length ?? 0) > 0;
|
|
2133
2390
|
const defaultSubtitle = onSelectTransferCrypto ? "Add money to your balance" : "Choose a wallet to continue";
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2391
|
+
const cryptoRows = [];
|
|
2392
|
+
if (onSelectTransferCrypto) {
|
|
2393
|
+
cryptoRows.push(
|
|
2394
|
+
/* @__PURE__ */ jsx18(
|
|
2395
|
+
ListRow,
|
|
2138
2396
|
{
|
|
2139
|
-
|
|
2140
|
-
title,
|
|
2141
|
-
subtitle:
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2397
|
+
leading: TRANSFER_CRYPTO_LEADING,
|
|
2398
|
+
title: "Transfer crypto",
|
|
2399
|
+
subtitle: transferCryptoState === "error" ? transferCryptoErrorReason ?? "Couldn't prepare account \u2014 tap to retry" : "Instant - No limit",
|
|
2400
|
+
meta: CHAIN_BADGE_META,
|
|
2401
|
+
onClick: onSelectTransferCrypto
|
|
2402
|
+
},
|
|
2403
|
+
"transfer-crypto"
|
|
2404
|
+
)
|
|
2405
|
+
);
|
|
2406
|
+
}
|
|
2407
|
+
for (const row of rows) {
|
|
2408
|
+
const collapseToExternal = Boolean(onSelectTransferCrypto) && row.kind !== "solana";
|
|
2409
|
+
const subtitleText = row.state === "loading" ? "Preparing\u2026" : row.state === "error" ? row.errorReason ?? "Couldn't prepare wallet \u2014 tap to retry" : shorten(row.address);
|
|
2410
|
+
cryptoRows.push(
|
|
2411
|
+
/* @__PURE__ */ jsx18(
|
|
2412
|
+
ListRow,
|
|
2413
|
+
{
|
|
2414
|
+
leading: renderWalletLeading(row),
|
|
2415
|
+
title: collapseToExternal ? "External wallet" : row.label,
|
|
2416
|
+
subtitle: subtitleText,
|
|
2417
|
+
onClick: () => onConfirmWallet?.(row.id),
|
|
2418
|
+
disabled: row.state === "loading",
|
|
2419
|
+
trailing: renderRowTrailing(row.state)
|
|
2420
|
+
},
|
|
2421
|
+
row.id
|
|
2422
|
+
)
|
|
2423
|
+
);
|
|
2424
|
+
}
|
|
2425
|
+
if (!hasReownWallet && handleConnect) {
|
|
2426
|
+
cryptoRows.push(
|
|
2427
|
+
/* @__PURE__ */ jsx18(
|
|
2428
|
+
ListRow,
|
|
2429
|
+
{
|
|
2430
|
+
leading: WALLET_LEADING,
|
|
2431
|
+
title: "Connect wallet",
|
|
2432
|
+
subtitle: "Instant - No limit",
|
|
2433
|
+
meta: CONNECT_META,
|
|
2434
|
+
onClick: handleConnect
|
|
2435
|
+
},
|
|
2436
|
+
"connect-wallet"
|
|
2437
|
+
)
|
|
2438
|
+
);
|
|
2439
|
+
}
|
|
2440
|
+
if (onSelectFundFromExchange) {
|
|
2441
|
+
cryptoRows.push(
|
|
2442
|
+
/* @__PURE__ */ jsx18(
|
|
2443
|
+
ListRow,
|
|
2444
|
+
{
|
|
2445
|
+
leading: EXCHANGE_LEADING,
|
|
2446
|
+
title: "Connect exchange",
|
|
2447
|
+
subtitle: "Instant - No limit",
|
|
2448
|
+
meta: EXCHANGE_META,
|
|
2449
|
+
onClick: onSelectFundFromExchange
|
|
2450
|
+
},
|
|
2451
|
+
"connect-exchange"
|
|
2452
|
+
)
|
|
2453
|
+
);
|
|
2454
|
+
}
|
|
2455
|
+
if (showDappImports) {
|
|
2456
|
+
for (const row of dappImports ?? []) {
|
|
2457
|
+
if (!hasReownWallet) {
|
|
2458
|
+
cryptoRows.push(
|
|
2459
|
+
/* @__PURE__ */ jsx18(
|
|
2186
2460
|
ListRow,
|
|
2187
2461
|
{
|
|
2188
|
-
leading:
|
|
2189
|
-
title:
|
|
2190
|
-
subtitle:
|
|
2191
|
-
onClick:
|
|
2192
|
-
disabled:
|
|
2193
|
-
trailing: renderRowTrailing(row.state)
|
|
2462
|
+
leading: row.icon,
|
|
2463
|
+
title: row.label,
|
|
2464
|
+
subtitle: "Connect wallet to view balance",
|
|
2465
|
+
onClick: handleConnect,
|
|
2466
|
+
disabled: !handleConnect
|
|
2194
2467
|
},
|
|
2195
2468
|
row.id
|
|
2196
|
-
)
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
}
|
|
2235
|
-
if (row.status.enabled) {
|
|
2236
|
-
return /* @__PURE__ */ jsx15(
|
|
2237
|
-
ListRow,
|
|
2238
|
-
{
|
|
2239
|
-
leading: row.icon,
|
|
2240
|
-
title: row.label,
|
|
2241
|
-
subtitle: formatBalanceUsd(row.status.balanceUsd),
|
|
2242
|
-
onClick: () => onSelectDappImport?.(row.id)
|
|
2243
|
-
},
|
|
2244
|
-
row.id
|
|
2245
|
-
);
|
|
2246
|
-
}
|
|
2247
|
-
if (row.status.retryable) {
|
|
2248
|
-
return /* @__PURE__ */ jsx15(
|
|
2249
|
-
ListRow,
|
|
2250
|
-
{
|
|
2251
|
-
leading: row.icon,
|
|
2252
|
-
title: row.label,
|
|
2253
|
-
subtitle: row.status.reason,
|
|
2254
|
-
onClick: () => onSelectDappImport?.(row.id)
|
|
2255
|
-
},
|
|
2256
|
-
row.id
|
|
2257
|
-
);
|
|
2258
|
-
}
|
|
2259
|
-
return /* @__PURE__ */ jsx15(
|
|
2469
|
+
)
|
|
2470
|
+
);
|
|
2471
|
+
continue;
|
|
2472
|
+
}
|
|
2473
|
+
if (row.status === "loading" || row.status === "needs-connect") {
|
|
2474
|
+
cryptoRows.push(
|
|
2475
|
+
/* @__PURE__ */ jsx18(
|
|
2476
|
+
ListRow,
|
|
2477
|
+
{
|
|
2478
|
+
leading: row.icon,
|
|
2479
|
+
title: row.label,
|
|
2480
|
+
subtitle: "Checking balance\u2026",
|
|
2481
|
+
disabled: true,
|
|
2482
|
+
trailing: SMALL_SPINNER
|
|
2483
|
+
},
|
|
2484
|
+
row.id
|
|
2485
|
+
)
|
|
2486
|
+
);
|
|
2487
|
+
continue;
|
|
2488
|
+
}
|
|
2489
|
+
if (row.status.enabled) {
|
|
2490
|
+
cryptoRows.push(
|
|
2491
|
+
/* @__PURE__ */ jsx18(
|
|
2492
|
+
ListRow,
|
|
2493
|
+
{
|
|
2494
|
+
leading: row.icon,
|
|
2495
|
+
title: row.label,
|
|
2496
|
+
subtitle: formatBalanceUsd(row.status.balanceUsd),
|
|
2497
|
+
onClick: () => onSelectDappImport?.(row.id)
|
|
2498
|
+
},
|
|
2499
|
+
row.id
|
|
2500
|
+
)
|
|
2501
|
+
);
|
|
2502
|
+
continue;
|
|
2503
|
+
}
|
|
2504
|
+
if (row.status.retryable) {
|
|
2505
|
+
cryptoRows.push(
|
|
2506
|
+
/* @__PURE__ */ jsx18(
|
|
2260
2507
|
ListRow,
|
|
2261
2508
|
{
|
|
2262
2509
|
leading: row.icon,
|
|
2263
2510
|
title: row.label,
|
|
2264
2511
|
subtitle: row.status.reason,
|
|
2265
|
-
|
|
2512
|
+
onClick: () => onSelectDappImport?.(row.id)
|
|
2266
2513
|
},
|
|
2267
2514
|
row.id
|
|
2268
|
-
)
|
|
2269
|
-
|
|
2270
|
-
|
|
2515
|
+
)
|
|
2516
|
+
);
|
|
2517
|
+
continue;
|
|
2518
|
+
}
|
|
2519
|
+
cryptoRows.push(
|
|
2520
|
+
/* @__PURE__ */ jsx18(
|
|
2521
|
+
ListRow,
|
|
2522
|
+
{
|
|
2523
|
+
leading: row.icon,
|
|
2524
|
+
title: row.label,
|
|
2525
|
+
subtitle: row.status.reason,
|
|
2526
|
+
disabled: true
|
|
2527
|
+
},
|
|
2528
|
+
row.id
|
|
2529
|
+
)
|
|
2530
|
+
);
|
|
2531
|
+
}
|
|
2532
|
+
}
|
|
2533
|
+
const cashRows = [];
|
|
2534
|
+
if (fiatPaymentMethods && fiatPaymentMethods.length > 0 && onSelectFiatMethod) {
|
|
2535
|
+
for (const opt of fiatPaymentMethods) {
|
|
2536
|
+
cashRows.push(
|
|
2537
|
+
/* @__PURE__ */ jsx18(
|
|
2538
|
+
ListRow,
|
|
2539
|
+
{
|
|
2540
|
+
leading: fiatIcon(opt.icon),
|
|
2541
|
+
title: opt.label,
|
|
2542
|
+
subtitle: opt.sublabel,
|
|
2543
|
+
meta: fiatMeta(opt.icon),
|
|
2544
|
+
onClick: () => onSelectFiatMethod(opt.method)
|
|
2545
|
+
},
|
|
2546
|
+
opt.method
|
|
2547
|
+
)
|
|
2548
|
+
);
|
|
2549
|
+
}
|
|
2550
|
+
} else if (onSelectPayWithCard) {
|
|
2551
|
+
cashRows.push(
|
|
2552
|
+
/* @__PURE__ */ jsx18(
|
|
2553
|
+
ListRow,
|
|
2554
|
+
{
|
|
2555
|
+
leading: /* @__PURE__ */ jsx18(CardIcon, {}),
|
|
2556
|
+
title: "Debit/Credit card",
|
|
2557
|
+
subtitle: "Instant - $10,000 limit",
|
|
2558
|
+
meta: /* @__PURE__ */ jsx18(CardNetworkIcons, {}),
|
|
2559
|
+
onClick: onSelectPayWithCard
|
|
2560
|
+
},
|
|
2561
|
+
"pay-with-card"
|
|
2562
|
+
)
|
|
2563
|
+
);
|
|
2564
|
+
}
|
|
2565
|
+
const hasCrypto = cryptoRows.length > 0;
|
|
2566
|
+
const hasCash = cashRows.length > 0;
|
|
2567
|
+
const showToggle = hasCrypto && hasCash;
|
|
2568
|
+
const [tab, setTab] = useState(defaultMethodTab);
|
|
2569
|
+
const activeTab = showToggle ? tab : hasCash && !hasCrypto ? "cash" : "crypto";
|
|
2570
|
+
const activeRows = activeTab === "cash" ? cashRows : cryptoRows;
|
|
2571
|
+
return /* @__PURE__ */ jsxs16("div", { className: "rs-screen", children: [
|
|
2572
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
2573
|
+
/* @__PURE__ */ jsx18(
|
|
2574
|
+
BodyHeader,
|
|
2575
|
+
{
|
|
2576
|
+
icon: /* @__PURE__ */ jsx18(HandCoinsIcon, {}),
|
|
2577
|
+
title,
|
|
2578
|
+
subtitle: subtitle ?? defaultSubtitle,
|
|
2579
|
+
aside: showToggle ? /* @__PURE__ */ jsx18(
|
|
2580
|
+
SegmentedToggle,
|
|
2581
|
+
{
|
|
2582
|
+
ariaLabel: "Deposit method type",
|
|
2583
|
+
value: activeTab,
|
|
2584
|
+
onChange: setTab,
|
|
2585
|
+
options: [
|
|
2586
|
+
{ value: "crypto", label: "Crypto" },
|
|
2587
|
+
{ value: "cash", label: "Cash" }
|
|
2588
|
+
]
|
|
2589
|
+
}
|
|
2590
|
+
) : void 0
|
|
2591
|
+
}
|
|
2592
|
+
),
|
|
2593
|
+
/* @__PURE__ */ jsx18("div", { className: "rs-list", children: activeRows })
|
|
2271
2594
|
] }),
|
|
2272
|
-
onDisconnect && hasReownWallet && /* @__PURE__ */
|
|
2595
|
+
onDisconnect && hasReownWallet && /* @__PURE__ */ jsx18("div", { className: "rs-screen-tight-row", children: /* @__PURE__ */ jsx18(
|
|
2273
2596
|
"button",
|
|
2274
2597
|
{
|
|
2275
2598
|
type: "button",
|
|
@@ -2278,17 +2601,16 @@ function ConnectStep({
|
|
|
2278
2601
|
children: "Disconnect wallet"
|
|
2279
2602
|
}
|
|
2280
2603
|
) }),
|
|
2281
|
-
/* @__PURE__ */
|
|
2604
|
+
/* @__PURE__ */ jsx18(PoweredBy, {})
|
|
2282
2605
|
] });
|
|
2283
2606
|
}
|
|
2284
2607
|
ConnectStep.displayName = "ConnectStep";
|
|
2285
2608
|
|
|
2286
2609
|
// src/components/steps/ProcessingStep.tsx
|
|
2287
|
-
import { useCallback as useCallback3, useEffect as
|
|
2288
|
-
import { formatUnits } from "viem";
|
|
2610
|
+
import { useCallback as useCallback3, useEffect as useEffect5, useRef as useRef4, useState as useState5 } from "react";
|
|
2289
2611
|
|
|
2290
2612
|
// src/components/ui/Button.tsx
|
|
2291
|
-
import { Fragment as Fragment3, jsx as
|
|
2613
|
+
import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2292
2614
|
function Button({
|
|
2293
2615
|
children,
|
|
2294
2616
|
variant = "accent",
|
|
@@ -2308,19 +2630,19 @@ function Button({
|
|
|
2308
2630
|
className
|
|
2309
2631
|
].filter(Boolean).join(" ");
|
|
2310
2632
|
const showInlineLoadingText = loading && loadingText !== void 0;
|
|
2311
|
-
return /* @__PURE__ */
|
|
2633
|
+
return /* @__PURE__ */ jsx19(
|
|
2312
2634
|
"button",
|
|
2313
2635
|
{
|
|
2314
2636
|
className: classes,
|
|
2315
2637
|
disabled: disabled || loading,
|
|
2316
2638
|
"aria-busy": loading || void 0,
|
|
2317
2639
|
...props,
|
|
2318
|
-
children: showInlineLoadingText ? /* @__PURE__ */
|
|
2319
|
-
/* @__PURE__ */
|
|
2320
|
-
/* @__PURE__ */
|
|
2321
|
-
] }) : /* @__PURE__ */
|
|
2322
|
-
/* @__PURE__ */
|
|
2323
|
-
loading && /* @__PURE__ */
|
|
2640
|
+
children: showInlineLoadingText ? /* @__PURE__ */ jsxs17("span", { className: "rs-button__loading-row", children: [
|
|
2641
|
+
/* @__PURE__ */ jsx19(Spinner, { className: "rs-spinner--sm" }),
|
|
2642
|
+
/* @__PURE__ */ jsx19("span", { children: loadingText })
|
|
2643
|
+
] }) : /* @__PURE__ */ jsxs17(Fragment3, { children: [
|
|
2644
|
+
/* @__PURE__ */ jsx19("span", { className: loading ? "rs-button__content--hidden" : "", children }),
|
|
2645
|
+
loading && /* @__PURE__ */ jsx19("span", { className: "rs-button__spinner", children: /* @__PURE__ */ jsx19(Spinner, { className: "rs-spinner--sm" }) })
|
|
2324
2646
|
] })
|
|
2325
2647
|
}
|
|
2326
2648
|
);
|
|
@@ -2329,16 +2651,16 @@ Button.displayName = "Button";
|
|
|
2329
2651
|
|
|
2330
2652
|
// src/components/ui/Tooltip.tsx
|
|
2331
2653
|
import {
|
|
2332
|
-
useState,
|
|
2654
|
+
useState as useState2,
|
|
2333
2655
|
useRef as useRef3,
|
|
2334
2656
|
useEffect as useEffect3,
|
|
2335
2657
|
useCallback as useCallback2
|
|
2336
2658
|
} from "react";
|
|
2337
2659
|
import { createPortal as createPortal2 } from "react-dom";
|
|
2338
|
-
import { jsx as
|
|
2660
|
+
import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2339
2661
|
function Tooltip({ content, children, className }) {
|
|
2340
|
-
const [open, setOpen] =
|
|
2341
|
-
const [position, setPosition] =
|
|
2662
|
+
const [open, setOpen] = useState2(false);
|
|
2663
|
+
const [position, setPosition] = useState2(null);
|
|
2342
2664
|
const triggerRef = useRef3(null);
|
|
2343
2665
|
const bubbleRef = useRef3(null);
|
|
2344
2666
|
const updatePosition = useCallback2(() => {
|
|
@@ -2376,7 +2698,7 @@ function Tooltip({ content, children, className }) {
|
|
|
2376
2698
|
window.removeEventListener("resize", updatePosition);
|
|
2377
2699
|
};
|
|
2378
2700
|
}, [open, updatePosition]);
|
|
2379
|
-
return /* @__PURE__ */
|
|
2701
|
+
return /* @__PURE__ */ jsxs18(
|
|
2380
2702
|
"span",
|
|
2381
2703
|
{
|
|
2382
2704
|
ref: triggerRef,
|
|
@@ -2384,7 +2706,7 @@ function Tooltip({ content, children, className }) {
|
|
|
2384
2706
|
onMouseEnter: () => setOpen(true),
|
|
2385
2707
|
onMouseLeave: () => setOpen(false),
|
|
2386
2708
|
children: [
|
|
2387
|
-
/* @__PURE__ */
|
|
2709
|
+
/* @__PURE__ */ jsx20(
|
|
2388
2710
|
"span",
|
|
2389
2711
|
{
|
|
2390
2712
|
className: "rs-tooltip-trigger",
|
|
@@ -2406,7 +2728,7 @@ function Tooltip({ content, children, className }) {
|
|
|
2406
2728
|
}
|
|
2407
2729
|
),
|
|
2408
2730
|
open && position && typeof document !== "undefined" && createPortal2(
|
|
2409
|
-
/* @__PURE__ */
|
|
2731
|
+
/* @__PURE__ */ jsx20(
|
|
2410
2732
|
"span",
|
|
2411
2733
|
{
|
|
2412
2734
|
ref: bubbleRef,
|
|
@@ -2424,6 +2746,89 @@ function Tooltip({ content, children, className }) {
|
|
|
2424
2746
|
}
|
|
2425
2747
|
Tooltip.displayName = "Tooltip";
|
|
2426
2748
|
|
|
2749
|
+
// src/components/ui/FeesAccordion.tsx
|
|
2750
|
+
import { useState as useState3 } from "react";
|
|
2751
|
+
import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2752
|
+
function FeesAccordion({ total, rows }) {
|
|
2753
|
+
const [open, setOpen] = useState3(false);
|
|
2754
|
+
const expandable = rows.length > 0;
|
|
2755
|
+
return /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion", children: [
|
|
2756
|
+
/* @__PURE__ */ jsxs19(
|
|
2757
|
+
"button",
|
|
2758
|
+
{
|
|
2759
|
+
type: "button",
|
|
2760
|
+
className: "rs-fees-accordion-summary",
|
|
2761
|
+
"aria-expanded": expandable ? open : void 0,
|
|
2762
|
+
disabled: !expandable,
|
|
2763
|
+
onClick: () => expandable && setOpen((o) => !o),
|
|
2764
|
+
children: [
|
|
2765
|
+
/* @__PURE__ */ jsx21("span", { children: "Fees" }),
|
|
2766
|
+
/* @__PURE__ */ jsxs19("span", { className: "rs-review-detail-value", children: [
|
|
2767
|
+
/* @__PURE__ */ jsx21("span", { children: total }),
|
|
2768
|
+
expandable && /* @__PURE__ */ jsx21(
|
|
2769
|
+
"span",
|
|
2770
|
+
{
|
|
2771
|
+
className: `rs-fees-accordion-chevron${open ? " rs-fees-accordion-chevron--open" : ""}`,
|
|
2772
|
+
"aria-hidden": "true",
|
|
2773
|
+
children: /* @__PURE__ */ jsx21(ChevronDownIcon, {})
|
|
2774
|
+
}
|
|
2775
|
+
)
|
|
2776
|
+
] })
|
|
2777
|
+
]
|
|
2778
|
+
}
|
|
2779
|
+
),
|
|
2780
|
+
expandable && open && /* @__PURE__ */ jsx21("div", { className: "rs-fees-accordion-rows", children: rows.map((row, i) => /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion-row", children: [
|
|
2781
|
+
/* @__PURE__ */ jsx21("span", { children: row.label }),
|
|
2782
|
+
/* @__PURE__ */ jsx21("span", { className: "rs-review-detail-value", children: row.value })
|
|
2783
|
+
] }, `${row.label}-${i}`)) })
|
|
2784
|
+
] });
|
|
2785
|
+
}
|
|
2786
|
+
FeesAccordion.displayName = "FeesAccordion";
|
|
2787
|
+
|
|
2788
|
+
// src/components/steps/SwappedReceipt.tsx
|
|
2789
|
+
import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2790
|
+
function SwappedReceipt({
|
|
2791
|
+
onrampMethod,
|
|
2792
|
+
amountPaid,
|
|
2793
|
+
depositedAmount,
|
|
2794
|
+
depositedIcon,
|
|
2795
|
+
feesTotal,
|
|
2796
|
+
feeRows,
|
|
2797
|
+
newLabel,
|
|
2798
|
+
onNewDeposit,
|
|
2799
|
+
onClose
|
|
2800
|
+
}) {
|
|
2801
|
+
return /* @__PURE__ */ jsxs20("div", { className: "rs-screen", children: [
|
|
2802
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
2803
|
+
/* @__PURE__ */ jsx22(BodyHeader, { icon: /* @__PURE__ */ jsx22(CheckIcon, {}), title: "Deposit successful" }),
|
|
2804
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-review-details", children: [
|
|
2805
|
+
onrampMethod && /* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
|
|
2806
|
+
/* @__PURE__ */ jsx22("span", { children: "Onramp method" }),
|
|
2807
|
+
/* @__PURE__ */ jsx22("span", { className: "rs-review-detail-value", children: onrampMethod })
|
|
2808
|
+
] }),
|
|
2809
|
+
amountPaid && /* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
|
|
2810
|
+
/* @__PURE__ */ jsx22("span", { children: "Amount paid" }),
|
|
2811
|
+
/* @__PURE__ */ jsx22("span", { className: "rs-review-detail-value", children: amountPaid })
|
|
2812
|
+
] }),
|
|
2813
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
|
|
2814
|
+
/* @__PURE__ */ jsx22("span", { children: "Deposited amount" }),
|
|
2815
|
+
/* @__PURE__ */ jsxs20("span", { className: "rs-review-detail-value", children: [
|
|
2816
|
+
/* @__PURE__ */ jsx22("span", { children: depositedAmount }),
|
|
2817
|
+
depositedIcon && /* @__PURE__ */ jsx22("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx22("img", { src: depositedIcon, alt: "" }) })
|
|
2818
|
+
] })
|
|
2819
|
+
] }),
|
|
2820
|
+
feesTotal != null && /* @__PURE__ */ jsx22(FeesAccordion, { total: feesTotal, rows: feeRows ?? [] })
|
|
2821
|
+
] }),
|
|
2822
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-screen-button-row", children: [
|
|
2823
|
+
onNewDeposit && /* @__PURE__ */ jsx22(Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: newLabel }),
|
|
2824
|
+
onClose && /* @__PURE__ */ jsx22(Button, { onClick: onClose, fullWidth: true, children: "Done" })
|
|
2825
|
+
] })
|
|
2826
|
+
] }),
|
|
2827
|
+
/* @__PURE__ */ jsx22(PoweredBy, {})
|
|
2828
|
+
] });
|
|
2829
|
+
}
|
|
2830
|
+
SwappedReceipt.displayName = "SwappedReceipt";
|
|
2831
|
+
|
|
2427
2832
|
// src/core/webhook.ts
|
|
2428
2833
|
function isRecord(value) {
|
|
2429
2834
|
return typeof value === "object" && value !== null;
|
|
@@ -2496,6 +2901,26 @@ function getEventSourceDetails(event) {
|
|
|
2496
2901
|
}
|
|
2497
2902
|
return {};
|
|
2498
2903
|
}
|
|
2904
|
+
function asChain(value) {
|
|
2905
|
+
if (typeof value === "string" && value.trim().startsWith("solana")) {
|
|
2906
|
+
return "solana";
|
|
2907
|
+
}
|
|
2908
|
+
return asNumber(value);
|
|
2909
|
+
}
|
|
2910
|
+
function getEventDestinationDetails(event) {
|
|
2911
|
+
if (!event?.type || !isRecord(event.data)) return {};
|
|
2912
|
+
if (event.type !== "bridge-started" && event.type !== "bridge-complete" && event.type !== "post-bridge-swap-complete") {
|
|
2913
|
+
return {};
|
|
2914
|
+
}
|
|
2915
|
+
const destination = isRecord(event.data.destination) ? event.data.destination : void 0;
|
|
2916
|
+
if (!destination) return {};
|
|
2917
|
+
const token = asString(destination.asset);
|
|
2918
|
+
return {
|
|
2919
|
+
chainId: asChain(destination.chain),
|
|
2920
|
+
amount: asAmount(destination.amount),
|
|
2921
|
+
token: token?.trim() || void 0
|
|
2922
|
+
};
|
|
2923
|
+
}
|
|
2499
2924
|
function isDepositEvent(event) {
|
|
2500
2925
|
return event?.type === "deposit-received" || event?.type === "bridge-started" || event?.type === "bridge-complete" || event?.type === "bridge-failed" || event?.type === "post-bridge-swap-complete" || event?.type === "post-bridge-swap-failed" || event?.type === "error";
|
|
2501
2926
|
}
|
|
@@ -2547,10 +2972,131 @@ function failureMessageForEvent(event) {
|
|
|
2547
2972
|
return formatBridgeFailedMessage(event).message;
|
|
2548
2973
|
}
|
|
2549
2974
|
|
|
2975
|
+
// src/core/token-amount.ts
|
|
2976
|
+
import { formatUnits } from "viem";
|
|
2977
|
+
var STABLECOIN_SYMBOLS = /* @__PURE__ */ new Set([
|
|
2978
|
+
"USDC",
|
|
2979
|
+
"USDT",
|
|
2980
|
+
"USDT0",
|
|
2981
|
+
"DAI",
|
|
2982
|
+
"FRAX",
|
|
2983
|
+
"PYUSD",
|
|
2984
|
+
"USDP",
|
|
2985
|
+
"TUSD",
|
|
2986
|
+
"GUSD",
|
|
2987
|
+
"USDS",
|
|
2988
|
+
"LUSD",
|
|
2989
|
+
"BUSD",
|
|
2990
|
+
"USDE"
|
|
2991
|
+
]);
|
|
2992
|
+
var EVM_ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
|
|
2993
|
+
function resolveTokenDisplay(token, chain, fallback) {
|
|
2994
|
+
if (token !== void 0) {
|
|
2995
|
+
if (chain === "solana") {
|
|
2996
|
+
const solanaToken = getSolanaTokenByMint(token);
|
|
2997
|
+
if (solanaToken) {
|
|
2998
|
+
return { symbol: solanaToken.symbol, decimals: solanaToken.decimals };
|
|
2999
|
+
}
|
|
3000
|
+
} else if (EVM_ADDRESS_RE.test(token)) {
|
|
3001
|
+
const symbol = getTokenSymbol(token, chain);
|
|
3002
|
+
const decimals = findTokenDecimals(token, chain);
|
|
3003
|
+
if (symbol !== "Token" || decimals !== void 0) {
|
|
3004
|
+
return {
|
|
3005
|
+
symbol: symbol !== "Token" ? symbol : fallback?.symbol ?? symbol,
|
|
3006
|
+
decimals: decimals ?? fallback?.decimals
|
|
3007
|
+
};
|
|
3008
|
+
}
|
|
3009
|
+
}
|
|
3010
|
+
}
|
|
3011
|
+
return {
|
|
3012
|
+
symbol: fallback?.symbol ?? "Token",
|
|
3013
|
+
decimals: fallback?.decimals
|
|
3014
|
+
};
|
|
3015
|
+
}
|
|
3016
|
+
function maxFractionDigitsFor(symbol) {
|
|
3017
|
+
if (!symbol) return 6;
|
|
3018
|
+
return STABLECOIN_SYMBOLS.has(symbol.toUpperCase()) ? 3 : 6;
|
|
3019
|
+
}
|
|
3020
|
+
function formatTokenAmount(amount, symbol) {
|
|
3021
|
+
if (!Number.isFinite(amount)) return void 0;
|
|
3022
|
+
return amount.toLocaleString("en-US", {
|
|
3023
|
+
minimumFractionDigits: 2,
|
|
3024
|
+
maximumFractionDigits: maxFractionDigitsFor(symbol)
|
|
3025
|
+
});
|
|
3026
|
+
}
|
|
3027
|
+
function tokenAmountToNumber(rawAmount, decimals) {
|
|
3028
|
+
if (decimals === void 0) return void 0;
|
|
3029
|
+
try {
|
|
3030
|
+
const value = Number(formatUnits(BigInt(rawAmount), decimals));
|
|
3031
|
+
return Number.isFinite(value) ? value : void 0;
|
|
3032
|
+
} catch {
|
|
3033
|
+
return void 0;
|
|
3034
|
+
}
|
|
3035
|
+
}
|
|
3036
|
+
function formatRawTokenAmount(rawAmount, token) {
|
|
3037
|
+
const value = tokenAmountToNumber(rawAmount, token.decimals);
|
|
3038
|
+
if (value === void 0) return void 0;
|
|
3039
|
+
return formatTokenAmount(value, token.symbol);
|
|
3040
|
+
}
|
|
3041
|
+
function priceUsdFor(symbol, prices) {
|
|
3042
|
+
if (!symbol) return void 0;
|
|
3043
|
+
const upper = symbol.toUpperCase();
|
|
3044
|
+
const quoted = prices[upper];
|
|
3045
|
+
if (typeof quoted === "number" && quoted > 0) return quoted;
|
|
3046
|
+
return STABLECOIN_SYMBOLS.has(upper) ? 1 : void 0;
|
|
3047
|
+
}
|
|
3048
|
+
function estimateReceiveAmount(params) {
|
|
3049
|
+
const { sourceAmount, sourceSymbol, targetSymbol, sourceAmountUsd, prices } = params;
|
|
3050
|
+
if (sourceSymbol !== void 0 && sourceSymbol.toUpperCase() === targetSymbol.toUpperCase()) {
|
|
3051
|
+
return sourceAmount;
|
|
3052
|
+
}
|
|
3053
|
+
const usdValue = sourceAmountUsd !== void 0 && Number.isFinite(sourceAmountUsd) ? sourceAmountUsd : sourceAmount !== void 0 ? (() => {
|
|
3054
|
+
const sourcePrice = priceUsdFor(sourceSymbol, prices);
|
|
3055
|
+
return sourcePrice !== void 0 ? sourceAmount * sourcePrice : void 0;
|
|
3056
|
+
})() : void 0;
|
|
3057
|
+
if (usdValue === void 0) return void 0;
|
|
3058
|
+
const targetPrice = priceUsdFor(targetSymbol, prices);
|
|
3059
|
+
if (targetPrice === void 0) return void 0;
|
|
3060
|
+
return usdValue / targetPrice;
|
|
3061
|
+
}
|
|
3062
|
+
function formatReceiveEstimate(params) {
|
|
3063
|
+
const estimate = estimateReceiveAmount(params);
|
|
3064
|
+
if (estimate === void 0) return void 0;
|
|
3065
|
+
const formatted = formatTokenAmount(estimate, params.targetSymbol);
|
|
3066
|
+
if (formatted === void 0) return void 0;
|
|
3067
|
+
const sameSymbol = params.sourceSymbol.toUpperCase() === params.targetSymbol.toUpperCase();
|
|
3068
|
+
return sameSymbol ? `${formatted} ${params.targetSymbol}` : `~${formatted} ${params.targetSymbol}`;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
// src/core/useTokenPrices.ts
|
|
3072
|
+
import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
3073
|
+
function useTokenPrices(service, symbols) {
|
|
3074
|
+
const [prices, setPrices] = useState4({});
|
|
3075
|
+
const symbolsKey = [
|
|
3076
|
+
...new Set(
|
|
3077
|
+
symbols.filter((symbol) => Boolean(symbol)).map((symbol) => symbol.toUpperCase())
|
|
3078
|
+
)
|
|
3079
|
+
].sort().join(",");
|
|
3080
|
+
useEffect4(() => {
|
|
3081
|
+
if (!symbolsKey) return;
|
|
3082
|
+
let cancelled = false;
|
|
3083
|
+
service.fetchPrices(symbolsKey.split(",")).then((result) => {
|
|
3084
|
+
if (!cancelled && result && Object.keys(result).length > 0) {
|
|
3085
|
+
setPrices(result);
|
|
3086
|
+
}
|
|
3087
|
+
}).catch(() => {
|
|
3088
|
+
});
|
|
3089
|
+
return () => {
|
|
3090
|
+
cancelled = true;
|
|
3091
|
+
};
|
|
3092
|
+
}, [service, symbolsKey]);
|
|
3093
|
+
return prices;
|
|
3094
|
+
}
|
|
3095
|
+
|
|
2550
3096
|
// src/components/steps/ProcessingStep.tsx
|
|
2551
|
-
import { Fragment as Fragment4, jsx as
|
|
3097
|
+
import { Fragment as Fragment4, jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2552
3098
|
function SuccessBadge() {
|
|
2553
|
-
return /* @__PURE__ */
|
|
3099
|
+
return /* @__PURE__ */ jsxs21(
|
|
2554
3100
|
"svg",
|
|
2555
3101
|
{
|
|
2556
3102
|
width: "40",
|
|
@@ -2560,7 +3106,7 @@ function SuccessBadge() {
|
|
|
2560
3106
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2561
3107
|
"aria-hidden": "true",
|
|
2562
3108
|
children: [
|
|
2563
|
-
/* @__PURE__ */
|
|
3109
|
+
/* @__PURE__ */ jsx23(
|
|
2564
3110
|
"rect",
|
|
2565
3111
|
{
|
|
2566
3112
|
width: "40",
|
|
@@ -2569,7 +3115,7 @@ function SuccessBadge() {
|
|
|
2569
3115
|
fill: "var(--rs-icon-wrapper-bg)"
|
|
2570
3116
|
}
|
|
2571
3117
|
),
|
|
2572
|
-
/* @__PURE__ */
|
|
3118
|
+
/* @__PURE__ */ jsx23(
|
|
2573
3119
|
"path",
|
|
2574
3120
|
{
|
|
2575
3121
|
d: "M28 14L17 25L12 20",
|
|
@@ -2584,7 +3130,7 @@ function SuccessBadge() {
|
|
|
2584
3130
|
);
|
|
2585
3131
|
}
|
|
2586
3132
|
function FailedBadge() {
|
|
2587
|
-
return /* @__PURE__ */
|
|
3133
|
+
return /* @__PURE__ */ jsxs21(
|
|
2588
3134
|
"svg",
|
|
2589
3135
|
{
|
|
2590
3136
|
width: "40",
|
|
@@ -2594,8 +3140,8 @@ function FailedBadge() {
|
|
|
2594
3140
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2595
3141
|
"aria-hidden": "true",
|
|
2596
3142
|
children: [
|
|
2597
|
-
/* @__PURE__ */
|
|
2598
|
-
/* @__PURE__ */
|
|
3143
|
+
/* @__PURE__ */ jsx23("rect", { width: "40", height: "40", rx: "8", fill: "#FB2C36" }),
|
|
3144
|
+
/* @__PURE__ */ jsx23(
|
|
2599
3145
|
"path",
|
|
2600
3146
|
{
|
|
2601
3147
|
d: "M26 14L14 26M14 14L26 26",
|
|
@@ -2619,24 +3165,6 @@ var SOFT_DELAY_MS = {
|
|
|
2619
3165
|
bridging: 4 * 60 * 1e3
|
|
2620
3166
|
};
|
|
2621
3167
|
var PHASE_TIMINGS_PREFIX = "rhinestone:phase-timings";
|
|
2622
|
-
var STABLECOIN_SYMBOLS = /* @__PURE__ */ new Set([
|
|
2623
|
-
"USDC",
|
|
2624
|
-
"USDT",
|
|
2625
|
-
"DAI",
|
|
2626
|
-
"FRAX",
|
|
2627
|
-
"PYUSD",
|
|
2628
|
-
"USDP",
|
|
2629
|
-
"TUSD",
|
|
2630
|
-
"GUSD",
|
|
2631
|
-
"USDS",
|
|
2632
|
-
"LUSD",
|
|
2633
|
-
"BUSD",
|
|
2634
|
-
"USDE"
|
|
2635
|
-
]);
|
|
2636
|
-
function maxFractionDigitsFor(symbol) {
|
|
2637
|
-
if (!symbol) return 6;
|
|
2638
|
-
return STABLECOIN_SYMBOLS.has(symbol.toUpperCase()) ? 3 : 6;
|
|
2639
|
-
}
|
|
2640
3168
|
var PAYMENT_METHOD_LABELS = {
|
|
2641
3169
|
creditcard: "Card",
|
|
2642
3170
|
debitcard: "Card",
|
|
@@ -2713,10 +3241,10 @@ function formatTimer(seconds) {
|
|
|
2713
3241
|
return `${mins}:${String(secs).padStart(2, "0")}`;
|
|
2714
3242
|
}
|
|
2715
3243
|
function TickerChar({ value }) {
|
|
2716
|
-
const [current, setCurrent] =
|
|
2717
|
-
const [previous, setPrevious] =
|
|
2718
|
-
const [animKey, setAnimKey] =
|
|
2719
|
-
|
|
3244
|
+
const [current, setCurrent] = useState5(value);
|
|
3245
|
+
const [previous, setPrevious] = useState5(null);
|
|
3246
|
+
const [animKey, setAnimKey] = useState5(0);
|
|
3247
|
+
useEffect5(() => {
|
|
2720
3248
|
if (value === current) return;
|
|
2721
3249
|
setPrevious(current);
|
|
2722
3250
|
setCurrent(value);
|
|
@@ -2724,16 +3252,16 @@ function TickerChar({ value }) {
|
|
|
2724
3252
|
const timeout = setTimeout(() => setPrevious(null), 360);
|
|
2725
3253
|
return () => clearTimeout(timeout);
|
|
2726
3254
|
}, [value, current]);
|
|
2727
|
-
return /* @__PURE__ */
|
|
2728
|
-
previous !== null && /* @__PURE__ */
|
|
2729
|
-
/* @__PURE__ */
|
|
3255
|
+
return /* @__PURE__ */ jsxs21("span", { className: "rs-ticker-slot", children: [
|
|
3256
|
+
previous !== null && /* @__PURE__ */ jsx23("span", { className: "rs-ticker-out", children: previous }, `out-${animKey}`),
|
|
3257
|
+
/* @__PURE__ */ jsx23("span", { className: "rs-ticker-in", children: current }, `in-${animKey}`)
|
|
2730
3258
|
] });
|
|
2731
3259
|
}
|
|
2732
3260
|
function Ticker({ value }) {
|
|
2733
|
-
return /* @__PURE__ */
|
|
3261
|
+
return /* @__PURE__ */ jsx23("span", { className: "rs-ticker", "aria-label": value, children: value.split("").map((char, index) => (
|
|
2734
3262
|
// Position-stable key so each slot keeps its own animation state.
|
|
2735
3263
|
// eslint-disable-next-line react/no-array-index-key
|
|
2736
|
-
/* @__PURE__ */
|
|
3264
|
+
/* @__PURE__ */ jsx23(TickerChar, { value: char }, index)
|
|
2737
3265
|
)) });
|
|
2738
3266
|
}
|
|
2739
3267
|
function getPhaseStartTime(phaseId, phaseTimings) {
|
|
@@ -2806,11 +3334,11 @@ function ProcessingStep({
|
|
|
2806
3334
|
const onDepositCompleteRef = useLatestRef(onDepositComplete);
|
|
2807
3335
|
const onDepositFailedRef = useLatestRef(onDepositFailed);
|
|
2808
3336
|
const onErrorRef = useLatestRef(onError);
|
|
2809
|
-
const [state, setState] =
|
|
3337
|
+
const [state, setState] = useState5(
|
|
2810
3338
|
directTransfer ? { type: "complete" } : { type: "processing" }
|
|
2811
3339
|
);
|
|
2812
|
-
const [elapsedSeconds, setElapsedSeconds] =
|
|
2813
|
-
const [phaseTimings, setPhaseTimings] =
|
|
3340
|
+
const [elapsedSeconds, setElapsedSeconds] = useState5(0);
|
|
3341
|
+
const [phaseTimings, setPhaseTimings] = useState5(() => {
|
|
2814
3342
|
const saved = loadPhaseTimings(txHash);
|
|
2815
3343
|
if (saved) {
|
|
2816
3344
|
startTimeRef.current = saved.startedAt;
|
|
@@ -2818,7 +3346,7 @@ function ProcessingStep({
|
|
|
2818
3346
|
}
|
|
2819
3347
|
return { startedAt: startTimeRef.current };
|
|
2820
3348
|
});
|
|
2821
|
-
const [hasEscalatedDelay, setHasEscalatedDelay] =
|
|
3349
|
+
const [hasEscalatedDelay, setHasEscalatedDelay] = useState5(false);
|
|
2822
3350
|
const updatePhaseTimings = useCallback3(
|
|
2823
3351
|
(updater) => {
|
|
2824
3352
|
setPhaseTimings((previous) => {
|
|
@@ -2829,7 +3357,7 @@ function ProcessingStep({
|
|
|
2829
3357
|
},
|
|
2830
3358
|
[txHash]
|
|
2831
3359
|
);
|
|
2832
|
-
|
|
3360
|
+
useEffect5(() => {
|
|
2833
3361
|
if (!directTransfer) return;
|
|
2834
3362
|
const completedAt = Date.now();
|
|
2835
3363
|
updatePhaseTimings(() => ({
|
|
@@ -2860,7 +3388,7 @@ function ProcessingStep({
|
|
|
2860
3388
|
txHash,
|
|
2861
3389
|
updatePhaseTimings
|
|
2862
3390
|
]);
|
|
2863
|
-
|
|
3391
|
+
useEffect5(() => {
|
|
2864
3392
|
if (directTransfer || state.type !== "processing") return;
|
|
2865
3393
|
const updateElapsed = () => {
|
|
2866
3394
|
setElapsedSeconds(
|
|
@@ -2871,7 +3399,7 @@ function ProcessingStep({
|
|
|
2871
3399
|
const intervalId = setInterval(updateElapsed, 1e3);
|
|
2872
3400
|
return () => clearInterval(intervalId);
|
|
2873
3401
|
}, [directTransfer, state.type]);
|
|
2874
|
-
|
|
3402
|
+
useEffect5(() => {
|
|
2875
3403
|
if (state.type === "processing") return;
|
|
2876
3404
|
const endedAt = state.type === "complete" ? phaseTimings.completedAt ?? Date.now() : Date.now();
|
|
2877
3405
|
setElapsedSeconds(Math.floor((endedAt - startTimeRef.current) / 1e3));
|
|
@@ -2879,14 +3407,14 @@ function ProcessingStep({
|
|
|
2879
3407
|
(previous) => previous.endedAt !== void 0 ? previous : { ...previous, endedAt }
|
|
2880
3408
|
);
|
|
2881
3409
|
}, [phaseTimings.completedAt, state.type, updatePhaseTimings]);
|
|
2882
|
-
|
|
3410
|
+
useEffect5(() => {
|
|
2883
3411
|
if (!state.lastEvent) return;
|
|
2884
3412
|
updatePhaseTimings(
|
|
2885
3413
|
(previous) => syncPhaseTimings(previous, state.lastEvent)
|
|
2886
3414
|
);
|
|
2887
3415
|
}, [state.lastEvent?.time, state.lastEvent?.type, updatePhaseTimings]);
|
|
2888
|
-
const [swappedFiatContext, setSwappedFiatContext] =
|
|
2889
|
-
|
|
3416
|
+
const [swappedFiatContext, setSwappedFiatContext] = useState5(null);
|
|
3417
|
+
useEffect5(() => {
|
|
2890
3418
|
let cancelled = false;
|
|
2891
3419
|
service.fetchSwappedOrderStatus(smartAccount).then((res) => {
|
|
2892
3420
|
if (cancelled || !res) return;
|
|
@@ -2907,7 +3435,7 @@ function ProcessingStep({
|
|
|
2907
3435
|
cancelled = true;
|
|
2908
3436
|
};
|
|
2909
3437
|
}, [service, smartAccount, txHash, isSwappedOrder]);
|
|
2910
|
-
|
|
3438
|
+
useEffect5(() => {
|
|
2911
3439
|
if (directTransfer) return;
|
|
2912
3440
|
if (state.type !== "processing") {
|
|
2913
3441
|
pollIntervalRef.current = INITIAL_POLL_INTERVAL;
|
|
@@ -3067,7 +3595,7 @@ function ProcessingStep({
|
|
|
3067
3595
|
state.type,
|
|
3068
3596
|
txHash
|
|
3069
3597
|
]);
|
|
3070
|
-
|
|
3598
|
+
useEffect5(() => {
|
|
3071
3599
|
if (directTransfer || state.type !== "processing") return;
|
|
3072
3600
|
const timeoutId = setTimeout(() => {
|
|
3073
3601
|
if (escalatedDelayRef.current) return;
|
|
@@ -3098,82 +3626,71 @@ function ProcessingStep({
|
|
|
3098
3626
|
const displayAmount = sourceDetails.amount ?? amount;
|
|
3099
3627
|
const sourceExplorerUrl = getExplorerTxUrl(displaySourceChain, txHash);
|
|
3100
3628
|
const destExplorerUrl = destinationTxHash ? getExplorerTxUrl(targetChain, destinationTxHash) : null;
|
|
3101
|
-
const
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
const raw = formatUnits(BigInt(displayAmount), sourceDecimals);
|
|
3111
|
-
const numeric = Number(raw);
|
|
3112
|
-
if (!Number.isFinite(numeric)) return raw;
|
|
3113
|
-
return numeric.toLocaleString("en-US", {
|
|
3114
|
-
minimumFractionDigits: 2,
|
|
3115
|
-
maximumFractionDigits: amountMaxDigits
|
|
3116
|
-
});
|
|
3117
|
-
} catch {
|
|
3118
|
-
return Number(displayAmount).toLocaleString("en-US", {
|
|
3119
|
-
minimumFractionDigits: 2,
|
|
3120
|
-
maximumFractionDigits: amountMaxDigits
|
|
3121
|
-
});
|
|
3122
|
-
}
|
|
3629
|
+
const sourceDisplay = (() => {
|
|
3630
|
+
const resolved = resolveTokenDisplay(displaySourceToken, displaySourceChain, {
|
|
3631
|
+
symbol: providedSourceSymbol ?? (displaySourceChain === "solana" ? "SOL" : "Token"),
|
|
3632
|
+
decimals: providedSourceDecimals
|
|
3633
|
+
});
|
|
3634
|
+
return {
|
|
3635
|
+
symbol: resolved.symbol,
|
|
3636
|
+
decimals: resolved.decimals ?? (displaySourceChain === "solana" ? 9 : 18)
|
|
3637
|
+
};
|
|
3123
3638
|
})();
|
|
3124
|
-
const
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3639
|
+
const sourceSymbol = sourceDisplay.symbol;
|
|
3640
|
+
const formattedSentAmount = formatRawTokenAmount(displayAmount, sourceDisplay) ?? // Not raw base units (e.g. a decimal string) — render the number as-is.
|
|
3641
|
+
formatTokenAmount(Number(displayAmount), sourceDisplay.symbol) ?? displayAmount;
|
|
3642
|
+
const isBridgeHopDestination = hasPostBridgeActions && (lastEvent?.type === "bridge-started" || lastEvent?.type === "bridge-complete");
|
|
3643
|
+
const eventDestination = isBridgeHopDestination ? {} : getEventDestinationDetails(lastEvent);
|
|
3644
|
+
const targetDisplay = resolveTokenDisplay(
|
|
3645
|
+
eventDestination.token ?? targetToken,
|
|
3646
|
+
eventDestination.chainId ?? targetChain,
|
|
3647
|
+
// Dapp deposits default to USDC targets; mirror the source symbol last so
|
|
3648
|
+
// unresolvable same-token routes still label sensibly.
|
|
3649
|
+
{ symbol: providedSourceSymbol ?? "USDC" }
|
|
3650
|
+
);
|
|
3651
|
+
const targetSymbol = targetDisplay.symbol;
|
|
3652
|
+
const formattedDestinationAmount = eventDestination.amount !== void 0 ? formatRawTokenAmount(eventDestination.amount, targetDisplay) : void 0;
|
|
3653
|
+
const amountUsdNumber = amountUsd !== void 0 && Number(amountUsd) > 0 ? Number(amountUsd) : void 0;
|
|
3654
|
+
const prices = useTokenPrices(service, [
|
|
3655
|
+
sourceDisplay.symbol,
|
|
3656
|
+
targetDisplay.symbol
|
|
3657
|
+
]);
|
|
3658
|
+
const estimatedReceiveAmount = (() => {
|
|
3659
|
+
const estimate = estimateReceiveAmount({
|
|
3660
|
+
sourceAmount: tokenAmountToNumber(displayAmount, sourceDisplay.decimals),
|
|
3661
|
+
sourceSymbol: sourceDisplay.symbol,
|
|
3662
|
+
targetSymbol: targetDisplay.symbol,
|
|
3663
|
+
sourceAmountUsd: amountUsdNumber,
|
|
3664
|
+
prices
|
|
3665
|
+
});
|
|
3666
|
+
return estimate !== void 0 ? formatTokenAmount(estimate, targetDisplay.symbol) : void 0;
|
|
3132
3667
|
})();
|
|
3133
|
-
const
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3668
|
+
const receiveDisplay = formattedDestinationAmount ? `${formattedDestinationAmount} ${targetSymbol}` : estimatedReceiveAmount !== void 0 ? `~${estimatedReceiveAmount} ${targetSymbol}` : amountUsdNumber !== void 0 ? `~$${amountUsdNumber.toFixed(2)}` : (
|
|
3669
|
+
// Cross-token with no price and no USD context (rare QR case):
|
|
3670
|
+
// an honest dash beats a wrong number.
|
|
3671
|
+
"\u2014"
|
|
3672
|
+
);
|
|
3673
|
+
const formattedBridgingCost = (() => {
|
|
3674
|
+
if (sourceSymbol.toUpperCase() !== targetSymbol.toUpperCase()) {
|
|
3137
3675
|
return void 0;
|
|
3138
3676
|
}
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
try {
|
|
3143
|
-
const raw = formatUnits(destinationAmountRaw, sourceDecimals);
|
|
3144
|
-
const numeric = Number(raw);
|
|
3145
|
-
if (!Number.isFinite(numeric)) return raw;
|
|
3146
|
-
return numeric.toLocaleString("en-US", {
|
|
3147
|
-
minimumFractionDigits: 2,
|
|
3148
|
-
maximumFractionDigits: amountMaxDigits
|
|
3149
|
-
});
|
|
3150
|
-
} catch {
|
|
3677
|
+
const sentValue = tokenAmountToNumber(displayAmount, sourceDisplay.decimals);
|
|
3678
|
+
const receivedValue = eventDestination.amount !== void 0 ? tokenAmountToNumber(eventDestination.amount, targetDisplay.decimals) : void 0;
|
|
3679
|
+
if (sentValue === void 0 || receivedValue === void 0 || sentValue <= receivedValue) {
|
|
3151
3680
|
return void 0;
|
|
3152
3681
|
}
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
try {
|
|
3156
|
-
const raw = formatUnits(bridgingCostRaw, sourceDecimals);
|
|
3157
|
-
const numeric = Number(raw);
|
|
3158
|
-
if (!Number.isFinite(numeric)) return raw;
|
|
3159
|
-
return numeric.toLocaleString("en-US", {
|
|
3160
|
-
minimumFractionDigits: 2,
|
|
3161
|
-
maximumFractionDigits: amountMaxDigits
|
|
3162
|
-
});
|
|
3163
|
-
} catch {
|
|
3682
|
+
const formatted = formatTokenAmount(sentValue - receivedValue, sourceSymbol);
|
|
3683
|
+
if (formatted === void 0 || Number(formatted.replace(/,/g, "")) === 0) {
|
|
3164
3684
|
return void 0;
|
|
3165
3685
|
}
|
|
3166
|
-
|
|
3686
|
+
return formatted;
|
|
3687
|
+
})();
|
|
3167
3688
|
const currentPhaseId = getCurrentPhaseId(state, phaseTimings);
|
|
3168
3689
|
const activePhaseStartedAt = currentPhaseId ? getPhaseStartTime(currentPhaseId, phaseTimings) : void 0;
|
|
3169
3690
|
const activePhaseElapsedMs = isProcessing && activePhaseStartedAt !== void 0 ? timelineNowMs - activePhaseStartedAt : 0;
|
|
3170
3691
|
const delayPhaseId = isProcessing && currentPhaseId && activePhaseElapsedMs >= SOFT_DELAY_MS[currentPhaseId] ? currentPhaseId : void 0;
|
|
3171
3692
|
void delayPhaseId;
|
|
3172
3693
|
void hasEscalatedDelay;
|
|
3173
|
-
const targetSymbol = (() => {
|
|
3174
|
-
const resolved = getTargetTokenSymbol(targetToken, targetChain);
|
|
3175
|
-
return resolved !== "Token" ? resolved : providedSourceSymbol ?? "USDC";
|
|
3176
|
-
})();
|
|
3177
3694
|
const targetTokenIcon = getTokenIcon(targetSymbol);
|
|
3178
3695
|
const sourceChainIcon = getChainIcon(displaySourceChain);
|
|
3179
3696
|
const targetChainIcon = getChainIcon(targetChain);
|
|
@@ -3185,23 +3702,58 @@ function ProcessingStep({
|
|
|
3185
3702
|
const feeTooltip = uiConfig?.feeTooltip ?? (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.");
|
|
3186
3703
|
const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
|
|
3187
3704
|
const handleRetry = onRetry ?? onNewDeposit;
|
|
3188
|
-
const headerContent = isComplete ? /* @__PURE__ */
|
|
3189
|
-
/* @__PURE__ */
|
|
3190
|
-
/* @__PURE__ */
|
|
3191
|
-
] }) : isFailed ? /* @__PURE__ */
|
|
3192
|
-
/* @__PURE__ */
|
|
3193
|
-
/* @__PURE__ */
|
|
3194
|
-
] }) : /* @__PURE__ */
|
|
3195
|
-
|
|
3196
|
-
|
|
3705
|
+
const headerContent = isComplete ? /* @__PURE__ */ jsxs21("div", { className: "rs-body-header", children: [
|
|
3706
|
+
/* @__PURE__ */ jsx23(SuccessBadge, {}),
|
|
3707
|
+
/* @__PURE__ */ jsx23("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx23("h2", { className: "rs-body-header-title", children: stateTitle }) })
|
|
3708
|
+
] }) : isFailed ? /* @__PURE__ */ jsxs21("div", { className: "rs-body-header", children: [
|
|
3709
|
+
/* @__PURE__ */ jsx23(FailedBadge, {}),
|
|
3710
|
+
/* @__PURE__ */ jsx23("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx23("h2", { className: "rs-body-header-title", children: stateTitle }) })
|
|
3711
|
+
] }) : /* @__PURE__ */ jsx23(BodyHeader, { icon: /* @__PURE__ */ jsx23(WalletIcon, {}), title: stateTitle });
|
|
3712
|
+
if (isComplete && isSwappedOrder) {
|
|
3713
|
+
const onrampMethod = swappedFiatContext?.paymentMethod ? formatPaymentMethod(swappedFiatContext.paymentMethod) : null;
|
|
3714
|
+
const amountPaid = swappedFiatContext?.paidAmountUsd != null ? `$${swappedFiatContext.paidAmountUsd.toFixed(2)}` : null;
|
|
3715
|
+
const depositedAmount = receiveDisplay;
|
|
3716
|
+
const onrampFeeUsd = swappedFiatContext?.onrampFeeUsd ?? null;
|
|
3717
|
+
const networkFeeUsd = quotedFeeAmount !== void 0 && Number.isFinite(Number(quotedFeeAmount)) ? Number(quotedFeeAmount) : null;
|
|
3718
|
+
const feeRows = [];
|
|
3719
|
+
if (onrampFeeUsd != null) {
|
|
3720
|
+
feeRows.push({
|
|
3721
|
+
label: "On-ramp fee",
|
|
3722
|
+
value: `$${onrampFeeUsd.toFixed(2)}`
|
|
3723
|
+
});
|
|
3724
|
+
}
|
|
3725
|
+
if (networkFeeUsd != null) {
|
|
3726
|
+
feeRows.push({
|
|
3727
|
+
label: "Network fee",
|
|
3728
|
+
value: `$${networkFeeUsd.toFixed(2)}`
|
|
3729
|
+
});
|
|
3730
|
+
}
|
|
3731
|
+
const feesTotal = feeRows.length > 0 ? `$${((onrampFeeUsd ?? 0) + (networkFeeUsd ?? 0)).toFixed(2)}` : null;
|
|
3732
|
+
return /* @__PURE__ */ jsx23(
|
|
3733
|
+
SwappedReceipt,
|
|
3734
|
+
{
|
|
3735
|
+
onrampMethod,
|
|
3736
|
+
amountPaid,
|
|
3737
|
+
depositedAmount,
|
|
3738
|
+
depositedIcon: targetTokenIcon,
|
|
3739
|
+
feesTotal,
|
|
3740
|
+
feeRows,
|
|
3741
|
+
newLabel: `New ${flowNoun}`,
|
|
3742
|
+
onNewDeposit,
|
|
3743
|
+
onClose
|
|
3744
|
+
}
|
|
3745
|
+
);
|
|
3746
|
+
}
|
|
3747
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-screen", children: [
|
|
3748
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
3197
3749
|
headerContent,
|
|
3198
|
-
/* @__PURE__ */
|
|
3199
|
-
/* @__PURE__ */
|
|
3200
|
-
/* @__PURE__ */
|
|
3201
|
-
/* @__PURE__ */
|
|
3202
|
-
/* @__PURE__ */
|
|
3203
|
-
sourceChainIcon && /* @__PURE__ */
|
|
3204
|
-
sourceExplorerUrl && /* @__PURE__ */
|
|
3750
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-review-details", children: [
|
|
3751
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3752
|
+
/* @__PURE__ */ jsx23("span", { children: "Source chain" }),
|
|
3753
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3754
|
+
/* @__PURE__ */ jsx23("span", { children: sourceChainName }),
|
|
3755
|
+
sourceChainIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceChainIcon, alt: "" }) }),
|
|
3756
|
+
sourceExplorerUrl && /* @__PURE__ */ jsx23(
|
|
3205
3757
|
"a",
|
|
3206
3758
|
{
|
|
3207
3759
|
href: sourceExplorerUrl,
|
|
@@ -3209,17 +3761,17 @@ function ProcessingStep({
|
|
|
3209
3761
|
rel: "noopener noreferrer",
|
|
3210
3762
|
className: "rs-review-detail-link",
|
|
3211
3763
|
"aria-label": "View source transaction",
|
|
3212
|
-
children: /* @__PURE__ */
|
|
3764
|
+
children: /* @__PURE__ */ jsx23(ExternalLinkIcon, {})
|
|
3213
3765
|
}
|
|
3214
3766
|
)
|
|
3215
3767
|
] })
|
|
3216
3768
|
] }),
|
|
3217
|
-
/* @__PURE__ */
|
|
3218
|
-
/* @__PURE__ */
|
|
3219
|
-
/* @__PURE__ */
|
|
3220
|
-
/* @__PURE__ */
|
|
3221
|
-
targetChainIcon && /* @__PURE__ */
|
|
3222
|
-
destExplorerUrl && /* @__PURE__ */
|
|
3769
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3770
|
+
/* @__PURE__ */ jsx23("span", { children: "Destination chain" }),
|
|
3771
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3772
|
+
/* @__PURE__ */ jsx23("span", { children: targetChainName }),
|
|
3773
|
+
targetChainIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: targetChainIcon, alt: "" }) }),
|
|
3774
|
+
destExplorerUrl && /* @__PURE__ */ jsx23(
|
|
3223
3775
|
"a",
|
|
3224
3776
|
{
|
|
3225
3777
|
href: destExplorerUrl,
|
|
@@ -3227,75 +3779,75 @@ function ProcessingStep({
|
|
|
3227
3779
|
rel: "noopener noreferrer",
|
|
3228
3780
|
className: "rs-review-detail-link",
|
|
3229
3781
|
"aria-label": "View destination transaction",
|
|
3230
|
-
children: /* @__PURE__ */
|
|
3782
|
+
children: /* @__PURE__ */ jsx23(ExternalLinkIcon, {})
|
|
3231
3783
|
}
|
|
3232
3784
|
)
|
|
3233
3785
|
] })
|
|
3234
3786
|
] }),
|
|
3235
|
-
/* @__PURE__ */
|
|
3236
|
-
/* @__PURE__ */
|
|
3237
|
-
/* @__PURE__ */
|
|
3787
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3788
|
+
/* @__PURE__ */ jsx23("span", { children: isProcessing ? "Time elapsed" : "Total time" }),
|
|
3789
|
+
/* @__PURE__ */ jsx23("span", { className: "rs-review-detail-value", children: /* @__PURE__ */ jsx23(Ticker, { value: timerText }) })
|
|
3238
3790
|
] }),
|
|
3239
|
-
isSwappedOrder ? /* @__PURE__ */
|
|
3240
|
-
swappedFiatContext?.paidAmountUsd != null && /* @__PURE__ */
|
|
3241
|
-
/* @__PURE__ */
|
|
3242
|
-
/* @__PURE__ */
|
|
3791
|
+
isSwappedOrder ? /* @__PURE__ */ jsxs21(Fragment4, { children: [
|
|
3792
|
+
swappedFiatContext?.paidAmountUsd != null && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3793
|
+
/* @__PURE__ */ jsx23("span", { children: "You pay" }),
|
|
3794
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3243
3795
|
"$",
|
|
3244
3796
|
swappedFiatContext.paidAmountUsd.toFixed(2),
|
|
3245
|
-
swappedFiatContext.paymentMethod && /* @__PURE__ */
|
|
3797
|
+
swappedFiatContext.paymentMethod && /* @__PURE__ */ jsxs21("span", { style: { color: "#71717b", marginLeft: 6 }, children: [
|
|
3246
3798
|
"via",
|
|
3247
3799
|
" ",
|
|
3248
3800
|
formatPaymentMethod(swappedFiatContext.paymentMethod)
|
|
3249
3801
|
] })
|
|
3250
3802
|
] })
|
|
3251
3803
|
] }),
|
|
3252
|
-
swappedFiatContext?.onrampFeeUsd != null && /* @__PURE__ */
|
|
3253
|
-
/* @__PURE__ */
|
|
3254
|
-
/* @__PURE__ */
|
|
3804
|
+
swappedFiatContext?.onrampFeeUsd != null && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3805
|
+
/* @__PURE__ */ jsx23("span", { children: "On-ramp fee" }),
|
|
3806
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3255
3807
|
"$",
|
|
3256
3808
|
swappedFiatContext.onrampFeeUsd.toFixed(2)
|
|
3257
3809
|
] })
|
|
3258
3810
|
] }),
|
|
3259
|
-
formattedBridgingCost && /* @__PURE__ */
|
|
3260
|
-
/* @__PURE__ */
|
|
3261
|
-
/* @__PURE__ */
|
|
3262
|
-
/* @__PURE__ */
|
|
3811
|
+
formattedBridgingCost && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3812
|
+
/* @__PURE__ */ jsx23("span", { children: "Bridging cost" }),
|
|
3813
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3814
|
+
/* @__PURE__ */ jsxs21("span", { children: [
|
|
3263
3815
|
formattedBridgingCost,
|
|
3264
3816
|
" ",
|
|
3265
3817
|
sourceSymbol
|
|
3266
3818
|
] }),
|
|
3267
|
-
sourceTokenIcon && /* @__PURE__ */
|
|
3819
|
+
sourceTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceTokenIcon, alt: "" }) })
|
|
3268
3820
|
] })
|
|
3269
3821
|
] })
|
|
3270
|
-
] }) : /* @__PURE__ */
|
|
3271
|
-
/* @__PURE__ */
|
|
3272
|
-
/* @__PURE__ */
|
|
3273
|
-
/* @__PURE__ */
|
|
3274
|
-
|
|
3822
|
+
] }) : /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3823
|
+
/* @__PURE__ */ jsx23("span", { children: isProcessing ? "You send" : "You sent" }),
|
|
3824
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3825
|
+
/* @__PURE__ */ jsxs21("span", { children: [
|
|
3826
|
+
formattedSentAmount,
|
|
3275
3827
|
" ",
|
|
3276
3828
|
sourceSymbol
|
|
3277
3829
|
] }),
|
|
3278
|
-
sourceTokenIcon && /* @__PURE__ */
|
|
3830
|
+
sourceTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceTokenIcon, alt: "" }) })
|
|
3279
3831
|
] })
|
|
3280
3832
|
] }),
|
|
3281
|
-
/* @__PURE__ */
|
|
3282
|
-
/* @__PURE__ */
|
|
3283
|
-
/* @__PURE__ */
|
|
3284
|
-
/* @__PURE__ */
|
|
3285
|
-
targetTokenIcon && /* @__PURE__ */
|
|
3833
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3834
|
+
/* @__PURE__ */ jsx23("span", { children: isProcessing ? "Receive" : "Received" }),
|
|
3835
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3836
|
+
/* @__PURE__ */ jsx23("span", { children: receiveDisplay }),
|
|
3837
|
+
targetTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: targetTokenIcon, alt: "" }) })
|
|
3286
3838
|
] })
|
|
3287
3839
|
] }),
|
|
3288
|
-
isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */
|
|
3289
|
-
/* @__PURE__ */
|
|
3290
|
-
/* @__PURE__ */
|
|
3840
|
+
isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3841
|
+
/* @__PURE__ */ jsx23("span", { children: "Balance" }),
|
|
3842
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3291
3843
|
"$",
|
|
3292
3844
|
balanceAfterUsd.toFixed(2)
|
|
3293
3845
|
] })
|
|
3294
3846
|
] }),
|
|
3295
|
-
isSwappedOrder ? quotedFeeAmount !== void 0 && /* @__PURE__ */
|
|
3296
|
-
/* @__PURE__ */
|
|
3297
|
-
/* @__PURE__ */
|
|
3298
|
-
/* @__PURE__ */
|
|
3847
|
+
isSwappedOrder ? quotedFeeAmount !== void 0 && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3848
|
+
/* @__PURE__ */ jsx23("span", { children: "Fees" }),
|
|
3849
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3850
|
+
/* @__PURE__ */ jsxs21(
|
|
3299
3851
|
"span",
|
|
3300
3852
|
{
|
|
3301
3853
|
style: feeSponsored ? { textDecoration: "line-through" } : void 0,
|
|
@@ -3306,22 +3858,22 @@ function ProcessingStep({
|
|
|
3306
3858
|
]
|
|
3307
3859
|
}
|
|
3308
3860
|
),
|
|
3309
|
-
/* @__PURE__ */
|
|
3861
|
+
/* @__PURE__ */ jsx23(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx23(
|
|
3310
3862
|
"span",
|
|
3311
3863
|
{
|
|
3312
3864
|
className: "rs-review-detail-info",
|
|
3313
3865
|
"aria-label": "Fee info",
|
|
3314
|
-
children: /* @__PURE__ */
|
|
3866
|
+
children: /* @__PURE__ */ jsx23(InfoIcon, {})
|
|
3315
3867
|
}
|
|
3316
3868
|
) })
|
|
3317
3869
|
] })
|
|
3318
3870
|
] }) : (() => {
|
|
3319
3871
|
const feeValue = quotedFeeAmount ?? formattedBridgingCost;
|
|
3320
3872
|
if (feeValue === void 0) return null;
|
|
3321
|
-
return /* @__PURE__ */
|
|
3322
|
-
/* @__PURE__ */
|
|
3323
|
-
/* @__PURE__ */
|
|
3324
|
-
/* @__PURE__ */
|
|
3873
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
|
|
3874
|
+
/* @__PURE__ */ jsx23("span", { children: "Fees" }),
|
|
3875
|
+
/* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
|
|
3876
|
+
/* @__PURE__ */ jsxs21(
|
|
3325
3877
|
"span",
|
|
3326
3878
|
{
|
|
3327
3879
|
style: feeSponsored ? { textDecoration: "line-through" } : void 0,
|
|
@@ -3332,20 +3884,20 @@ function ProcessingStep({
|
|
|
3332
3884
|
]
|
|
3333
3885
|
}
|
|
3334
3886
|
),
|
|
3335
|
-
/* @__PURE__ */
|
|
3887
|
+
/* @__PURE__ */ jsx23(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx23(
|
|
3336
3888
|
"span",
|
|
3337
3889
|
{
|
|
3338
3890
|
className: "rs-review-detail-info",
|
|
3339
3891
|
"aria-label": "Fee info",
|
|
3340
|
-
children: /* @__PURE__ */
|
|
3892
|
+
children: /* @__PURE__ */ jsx23(InfoIcon, {})
|
|
3341
3893
|
}
|
|
3342
3894
|
) })
|
|
3343
3895
|
] })
|
|
3344
3896
|
] });
|
|
3345
3897
|
})()
|
|
3346
3898
|
] }),
|
|
3347
|
-
isFailed && failureMessage && /* @__PURE__ */
|
|
3348
|
-
isProcessing && /* @__PURE__ */
|
|
3899
|
+
isFailed && failureMessage && /* @__PURE__ */ jsx23(Callout, { variant: "error", children: failureMessage }),
|
|
3900
|
+
isProcessing && /* @__PURE__ */ jsx23(
|
|
3349
3901
|
Button,
|
|
3350
3902
|
{
|
|
3351
3903
|
fullWidth: true,
|
|
@@ -3355,19 +3907,19 @@ function ProcessingStep({
|
|
|
3355
3907
|
children: "Submitting transaction\u2026"
|
|
3356
3908
|
}
|
|
3357
3909
|
),
|
|
3358
|
-
isComplete && /* @__PURE__ */
|
|
3359
|
-
onNewDeposit && /* @__PURE__ */
|
|
3910
|
+
isComplete && /* @__PURE__ */ jsxs21("div", { className: "rs-screen-button-row", children: [
|
|
3911
|
+
onNewDeposit && /* @__PURE__ */ jsxs21(Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: [
|
|
3360
3912
|
"New ",
|
|
3361
3913
|
flowNoun
|
|
3362
3914
|
] }),
|
|
3363
|
-
onClose && /* @__PURE__ */
|
|
3915
|
+
onClose && /* @__PURE__ */ jsx23(Button, { onClick: onClose, fullWidth: true, children: "Done" })
|
|
3364
3916
|
] }),
|
|
3365
|
-
isFailed && /* @__PURE__ */
|
|
3366
|
-
onClose && /* @__PURE__ */
|
|
3367
|
-
handleRetry && /* @__PURE__ */
|
|
3917
|
+
isFailed && /* @__PURE__ */ jsxs21("div", { className: "rs-screen-button-row", children: [
|
|
3918
|
+
onClose && /* @__PURE__ */ jsx23(Button, { variant: "outline", onClick: onClose, fullWidth: true, children: "Cancel" }),
|
|
3919
|
+
handleRetry && /* @__PURE__ */ jsx23(Button, { onClick: handleRetry, fullWidth: true, children: "Try again" })
|
|
3368
3920
|
] })
|
|
3369
3921
|
] }),
|
|
3370
|
-
/* @__PURE__ */
|
|
3922
|
+
/* @__PURE__ */ jsx23(PoweredBy, {})
|
|
3371
3923
|
] });
|
|
3372
3924
|
}
|
|
3373
3925
|
|
|
@@ -3440,10 +3992,12 @@ export {
|
|
|
3440
3992
|
PlusCircleIcon,
|
|
3441
3993
|
CircleArrowOutUpLeftIcon,
|
|
3442
3994
|
BankIcon,
|
|
3995
|
+
UnplugIcon,
|
|
3443
3996
|
Callout,
|
|
3444
3997
|
BodyHeader,
|
|
3445
3998
|
PoweredBy,
|
|
3446
3999
|
Spinner,
|
|
4000
|
+
getExchangeLogo,
|
|
3447
4001
|
ConnectStep,
|
|
3448
4002
|
useLatestRef,
|
|
3449
4003
|
Button,
|
|
@@ -3459,12 +4013,15 @@ export {
|
|
|
3459
4013
|
isUnsupportedChainSwitchError,
|
|
3460
4014
|
formatUserError,
|
|
3461
4015
|
Tooltip,
|
|
4016
|
+
formatTokenAmount,
|
|
4017
|
+
formatReceiveEstimate,
|
|
3462
4018
|
getEventTxHash,
|
|
3463
4019
|
getEventSourceDetails,
|
|
3464
4020
|
isDepositEvent,
|
|
3465
4021
|
isFailedEvent,
|
|
3466
4022
|
txRefsMatch,
|
|
3467
4023
|
failureMessageForEvent,
|
|
4024
|
+
useTokenPrices,
|
|
3468
4025
|
ProcessingStep,
|
|
3469
4026
|
getPublicClient,
|
|
3470
4027
|
getHyperEvmReadClient,
|