@kimafinance/kima-transaction-widget 1.4.8 → 1.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -45,9 +45,10 @@ __export(index_exports, {
45
45
  module.exports = __toCommonJS(index_exports);
46
46
 
47
47
  // src/KimaProvider.tsx
48
- var React49 = __toESM(require("react"), 1);
49
- var import_react60 = require("react");
48
+ var React50 = __toESM(require("react"), 1);
49
+ var import_react61 = require("react");
50
50
  var import_react_redux19 = require("react-redux");
51
+ var import_react_query13 = require("@tanstack/react-query");
51
52
 
52
53
  // src/store/index.tsx
53
54
  var import_toolkit2 = require("@reduxjs/toolkit");
@@ -232,7 +233,7 @@ var Arrow_default = Arrow;
232
233
 
233
234
  // src/assets/icons/Lock.tsx
234
235
  var import_react8 = __toESM(require("react"), 1);
235
- var Lock = ({ width = 24, height = 27, fill = "none", ...rest }) => {
236
+ var Lock = ({ width = 24, height = 24, fill = "none", ...rest }) => {
236
237
  return /* @__PURE__ */ import_react8.default.createElement(
237
238
  "svg",
238
239
  {
@@ -1480,6 +1481,264 @@ var EURC = ({ width = 100, height = 100, ...rest }) => {
1480
1481
  };
1481
1482
  var EURC_default = EURC;
1482
1483
 
1484
+ // src/assets/icons/TransactionComplete.tsx
1485
+ var import_react42 = __toESM(require("react"), 1);
1486
+ var TransactionComplete = ({ width = 140, height = 120, ...rest }) => {
1487
+ return /* @__PURE__ */ import_react42.default.createElement(
1488
+ "svg",
1489
+ {
1490
+ width,
1491
+ height,
1492
+ viewBox: "0 0 141 116",
1493
+ fill: "none",
1494
+ xmlns: "http://www.w3.org/2000/svg",
1495
+ ...rest
1496
+ },
1497
+ /* @__PURE__ */ import_react42.default.createElement(
1498
+ "rect",
1499
+ {
1500
+ x: "140.724",
1501
+ y: "53.4307",
1502
+ width: "9.00052",
1503
+ height: "21.8584",
1504
+ rx: "4.50026",
1505
+ transform: "rotate(90 140.724 53.4307)",
1506
+ fill: "url(#paint0_linear_1838_5769)"
1507
+ }
1508
+ ),
1509
+ /* @__PURE__ */ import_react42.default.createElement(
1510
+ "rect",
1511
+ {
1512
+ x: "133.009",
1513
+ y: "29.001",
1514
+ width: "9.00052",
1515
+ height: "21.8584",
1516
+ rx: "4.50026",
1517
+ transform: "rotate(60 133.009 29.001)",
1518
+ fill: "url(#paint1_linear_1838_5769)"
1519
+ }
1520
+ ),
1521
+ /* @__PURE__ */ import_react42.default.createElement(
1522
+ "rect",
1523
+ {
1524
+ x: "136.866",
1525
+ y: "78.5039",
1526
+ width: "9.00052",
1527
+ height: "21.8584",
1528
+ rx: "4.50026",
1529
+ transform: "rotate(120 136.866 78.5039)",
1530
+ fill: "url(#paint2_linear_1838_5769)"
1531
+ }
1532
+ ),
1533
+ /* @__PURE__ */ import_react42.default.createElement(
1534
+ "rect",
1535
+ {
1536
+ y: "61.8682",
1537
+ width: "9.00052",
1538
+ height: "21.8584",
1539
+ rx: "4.50026",
1540
+ transform: "rotate(-90 0 61.8682)",
1541
+ fill: "url(#paint3_linear_1838_5769)"
1542
+ }
1543
+ ),
1544
+ /* @__PURE__ */ import_react42.default.createElement(
1545
+ "rect",
1546
+ {
1547
+ x: "7.71472",
1548
+ y: "86.2979",
1549
+ width: "9.00052",
1550
+ height: "21.8584",
1551
+ rx: "4.50026",
1552
+ transform: "rotate(-120 7.71472 86.2979)",
1553
+ fill: "url(#paint4_linear_1838_5769)"
1554
+ }
1555
+ ),
1556
+ /* @__PURE__ */ import_react42.default.createElement(
1557
+ "rect",
1558
+ {
1559
+ x: "3.85742",
1560
+ y: "36.7959",
1561
+ width: "9.00052",
1562
+ height: "21.8584",
1563
+ rx: "4.50026",
1564
+ transform: "rotate(-60 3.85742 36.7959)",
1565
+ fill: "url(#paint5_linear_1838_5769)"
1566
+ }
1567
+ ),
1568
+ /* @__PURE__ */ import_react42.default.createElement("g", { filter: "url(#filter0_d_1838_5769)" }, /* @__PURE__ */ import_react42.default.createElement("circle", { cx: "70.3622", cy: "57.9308", r: "37.9308", fill: "white" }), /* @__PURE__ */ import_react42.default.createElement(
1569
+ "circle",
1570
+ {
1571
+ cx: "70.3622",
1572
+ cy: "57.9308",
1573
+ r: "36.0021",
1574
+ stroke: "url(#paint6_linear_1838_5769)",
1575
+ strokeWidth: "3.85736"
1576
+ }
1577
+ )),
1578
+ /* @__PURE__ */ import_react42.default.createElement(
1579
+ "path",
1580
+ {
1581
+ d: "M62.571 74.3906C61.9266 74.3944 61.2878 74.268 60.6912 74.0186C60.0946 73.7691 59.552 73.4017 59.0944 72.9371L49.3011 62.9134C48.3791 61.9697 47.8611 60.6897 47.8611 59.355C47.8611 58.0204 48.3791 56.7404 49.3011 55.7966C50.2232 54.8529 51.4738 54.3227 52.7778 54.3227C54.0817 54.3227 55.3323 54.8529 56.2544 55.7966L62.571 62.312L83.5776 40.7611C84.4997 39.8173 85.7502 39.2871 87.0542 39.2871C88.3582 39.2871 89.6088 39.8173 90.5308 40.7611C91.4529 41.7048 91.9709 42.9848 91.9709 44.3195C91.9709 45.6541 91.4529 46.9341 90.5308 47.8779L66.0476 72.9371C65.5901 73.4017 65.0475 73.7691 64.4509 74.0186C63.8543 74.268 63.2155 74.3944 62.571 74.3906Z",
1582
+ fill: "url(#paint7_linear_1838_5769)"
1583
+ }
1584
+ ),
1585
+ /* @__PURE__ */ import_react42.default.createElement("defs", null, /* @__PURE__ */ import_react42.default.createElement(
1586
+ "filter",
1587
+ {
1588
+ id: "filter0_d_1838_5769",
1589
+ x: "13.1446",
1590
+ y: "0.713175",
1591
+ width: "114.435",
1592
+ height: "114.435",
1593
+ filterUnits: "userSpaceOnUse",
1594
+ colorInterpolationFilters: "sRGB"
1595
+ },
1596
+ /* @__PURE__ */ import_react42.default.createElement("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
1597
+ /* @__PURE__ */ import_react42.default.createElement(
1598
+ "feColorMatrix",
1599
+ {
1600
+ in: "SourceAlpha",
1601
+ type: "matrix",
1602
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
1603
+ result: "hardAlpha"
1604
+ }
1605
+ ),
1606
+ /* @__PURE__ */ import_react42.default.createElement("feOffset", null),
1607
+ /* @__PURE__ */ import_react42.default.createElement("feGaussianBlur", { stdDeviation: "9.64341" }),
1608
+ /* @__PURE__ */ import_react42.default.createElement("feComposite", { in2: "hardAlpha", operator: "out" }),
1609
+ /* @__PURE__ */ import_react42.default.createElement(
1610
+ "feColorMatrix",
1611
+ {
1612
+ type: "matrix",
1613
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"
1614
+ }
1615
+ ),
1616
+ /* @__PURE__ */ import_react42.default.createElement(
1617
+ "feBlend",
1618
+ {
1619
+ mode: "normal",
1620
+ in2: "BackgroundImageFix",
1621
+ result: "effect1_dropShadow_1838_5769"
1622
+ }
1623
+ ),
1624
+ /* @__PURE__ */ import_react42.default.createElement(
1625
+ "feBlend",
1626
+ {
1627
+ mode: "normal",
1628
+ in: "SourceGraphic",
1629
+ in2: "effect1_dropShadow_1838_5769",
1630
+ result: "shape"
1631
+ }
1632
+ )
1633
+ ), /* @__PURE__ */ import_react42.default.createElement(
1634
+ "linearGradient",
1635
+ {
1636
+ id: "paint0_linear_1838_5769",
1637
+ x1: "140.724",
1638
+ y1: "64.3599",
1639
+ x2: "149.724",
1640
+ y2: "64.3599",
1641
+ gradientUnits: "userSpaceOnUse"
1642
+ },
1643
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1644
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1645
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1646
+ ), /* @__PURE__ */ import_react42.default.createElement(
1647
+ "linearGradient",
1648
+ {
1649
+ id: "paint1_linear_1838_5769",
1650
+ x1: "133.009",
1651
+ y1: "39.9302",
1652
+ x2: "142.009",
1653
+ y2: "39.9302",
1654
+ gradientUnits: "userSpaceOnUse"
1655
+ },
1656
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1657
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1658
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1659
+ ), /* @__PURE__ */ import_react42.default.createElement(
1660
+ "linearGradient",
1661
+ {
1662
+ id: "paint2_linear_1838_5769",
1663
+ x1: "136.866",
1664
+ y1: "89.4331",
1665
+ x2: "145.867",
1666
+ y2: "89.4331",
1667
+ gradientUnits: "userSpaceOnUse"
1668
+ },
1669
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1670
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1671
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1672
+ ), /* @__PURE__ */ import_react42.default.createElement(
1673
+ "linearGradient",
1674
+ {
1675
+ id: "paint3_linear_1838_5769",
1676
+ x1: "0",
1677
+ y1: "72.7974",
1678
+ x2: "9.00052",
1679
+ y2: "72.7974",
1680
+ gradientUnits: "userSpaceOnUse"
1681
+ },
1682
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1683
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1684
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1685
+ ), /* @__PURE__ */ import_react42.default.createElement(
1686
+ "linearGradient",
1687
+ {
1688
+ id: "paint4_linear_1838_5769",
1689
+ x1: "7.71472",
1690
+ y1: "97.2271",
1691
+ x2: "16.7152",
1692
+ y2: "97.2271",
1693
+ gradientUnits: "userSpaceOnUse"
1694
+ },
1695
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1696
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1697
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1698
+ ), /* @__PURE__ */ import_react42.default.createElement(
1699
+ "linearGradient",
1700
+ {
1701
+ id: "paint5_linear_1838_5769",
1702
+ x1: "3.85742",
1703
+ y1: "47.7251",
1704
+ x2: "12.8579",
1705
+ y2: "47.7251",
1706
+ gradientUnits: "userSpaceOnUse"
1707
+ },
1708
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1709
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1710
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1711
+ ), /* @__PURE__ */ import_react42.default.createElement(
1712
+ "linearGradient",
1713
+ {
1714
+ id: "paint6_linear_1838_5769",
1715
+ x1: "32.4314",
1716
+ y1: "57.9308",
1717
+ x2: "108.293",
1718
+ y2: "57.9308",
1719
+ gradientUnits: "userSpaceOnUse"
1720
+ },
1721
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1722
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1723
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1724
+ ), /* @__PURE__ */ import_react42.default.createElement(
1725
+ "linearGradient",
1726
+ {
1727
+ id: "paint7_linear_1838_5769",
1728
+ x1: "47.8611",
1729
+ y1: "56.8389",
1730
+ x2: "91.9709",
1731
+ y2: "56.8389",
1732
+ gradientUnits: "userSpaceOnUse"
1733
+ },
1734
+ /* @__PURE__ */ import_react42.default.createElement("stop", { stopColor: "#ADF4A6" }),
1735
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.315", stopColor: "#80D7F5" }),
1736
+ /* @__PURE__ */ import_react42.default.createElement("stop", { offset: "0.775", stopColor: "#9990D5" })
1737
+ ))
1738
+ );
1739
+ };
1740
+ var TransactionComplete_default = TransactionComplete;
1741
+
1483
1742
  // src/utils/constants.tsx
1484
1743
  var import_networks = require("@reown/appkit/networks");
1485
1744
  var ChainName = /* @__PURE__ */ ((ChainName2) => {
@@ -1670,11 +1929,11 @@ var ColorModeOptions = /* @__PURE__ */ ((ColorModeOptions2) => {
1670
1929
  ColorModeOptions2["dark"] = "dark";
1671
1930
  return ColorModeOptions2;
1672
1931
  })(ColorModeOptions || {});
1673
- var DAppOptions = /* @__PURE__ */ ((DAppOptions2) => {
1674
- DAppOptions2["None"] = "none";
1675
- DAppOptions2["LPAdd"] = "LPAdd";
1676
- DAppOptions2["LPDrain"] = "LPDrain";
1677
- return DAppOptions2;
1932
+ var DAppOptions = /* @__PURE__ */ ((DAppOptions3) => {
1933
+ DAppOptions3["None"] = "none";
1934
+ DAppOptions3["LPAdd"] = "LPAdd";
1935
+ DAppOptions3["LPDrain"] = "LPDrain";
1936
+ return DAppOptions3;
1678
1937
  })(DAppOptions || {});
1679
1938
 
1680
1939
  // src/store/optionSlice.tsx
@@ -2121,9 +2380,6 @@ var getAllPlugins = () => {
2121
2380
  return pluginRegistry;
2122
2381
  };
2123
2382
 
2124
- // src/KimaProvider.tsx
2125
- var import_react_query13 = require("@tanstack/react-query");
2126
-
2127
2383
  // src/hooks/useGetEnvOptions.tsx
2128
2384
  var import_react_query = require("@tanstack/react-query");
2129
2385
 
@@ -2195,7 +2451,7 @@ var useGetEnvOptions = ({
2195
2451
  };
2196
2452
 
2197
2453
  // plugins/evm/index.tsx
2198
- var import_react49 = __toESM(require("react"), 1);
2454
+ var import_react50 = __toESM(require("react"), 1);
2199
2455
 
2200
2456
  // plugins/PluginBase.ts
2201
2457
  var PluginBase = class {
@@ -2232,10 +2488,10 @@ var PluginBase = class {
2232
2488
  };
2233
2489
 
2234
2490
  // plugins/evm/features/walletConnect/WalletProvider.tsx
2235
- var import_react43 = __toESM(require("react"), 1);
2491
+ var import_react44 = __toESM(require("react"), 1);
2236
2492
 
2237
2493
  // plugins/evm/config/modalConfig.ts
2238
- var import_react42 = require("@reown/appkit/react");
2494
+ var import_react43 = require("@reown/appkit/react");
2239
2495
  var import_networks2 = require("@reown/appkit/networks");
2240
2496
  var import_appkit_adapter_ethers = require("@reown/appkit-adapter-ethers");
2241
2497
  var appkitMainnetChains = [
@@ -2272,7 +2528,7 @@ var setupAppKit = (projectId, networkOption) => {
2272
2528
  return appKitModel;
2273
2529
  }
2274
2530
  const networks = networkOption === "mainnet" /* mainnet */ ? appkitMainnetChains : appkitTestnetChains;
2275
- appKitModel = (0, import_react42.createAppKit)({
2531
+ appKitModel = (0, import_react43.createAppKit)({
2276
2532
  adapters: [new import_appkit_adapter_ethers.EthersAdapter()],
2277
2533
  metadata,
2278
2534
  networks,
@@ -2298,17 +2554,17 @@ var WalletProvider = ({
2298
2554
  walletConnectProjectId,
2299
2555
  isLoading
2300
2556
  }) => {
2301
- const [isReady, setIsReady] = (0, import_react43.useState)(false);
2302
- (0, import_react43.useEffect)(() => {
2557
+ const [isReady, setIsReady] = (0, import_react44.useState)(false);
2558
+ (0, import_react44.useEffect)(() => {
2303
2559
  if (!isLoading && networkOption) {
2304
2560
  setupAppKit(walletConnectProjectId, networkOption);
2305
2561
  setIsReady(true);
2306
2562
  }
2307
2563
  }, [networkOption, isLoading, walletConnectProjectId]);
2308
2564
  if (!isReady) {
2309
- return /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null);
2565
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null);
2310
2566
  }
2311
- return /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, children);
2567
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, children);
2312
2568
  };
2313
2569
  var WalletProvider_default = WalletProvider;
2314
2570
 
@@ -2352,12 +2608,12 @@ var selectCCTransactionStatus = (state) => state.option.ccTransactionStatus;
2352
2608
  var selectCCTransactionRetrying = (state) => state.option.ccTransactionRetrying;
2353
2609
 
2354
2610
  // plugins/evm/core/hooks/useEvmProvider.ts
2355
- var import_react44 = require("@reown/appkit/react");
2611
+ var import_react45 = require("@reown/appkit/react");
2356
2612
  var import_ethers = require("ethers");
2357
2613
  var useEvmProvider = () => {
2358
2614
  const { externalProvider } = useKimaContext();
2359
- const { walletProvider: appkitProvider } = (0, import_react44.useAppKitProvider)("eip155");
2360
- const appkitAccountInfo = (0, import_react44.useAppKitAccount)();
2615
+ const { walletProvider: appkitProvider } = (0, import_react45.useAppKitProvider)("eip155");
2616
+ const appkitAccountInfo = (0, import_react45.useAppKitAccount)();
2361
2617
  const walletAddress = externalProvider?.signer instanceof import_ethers.JsonRpcSigner && externalProvider.signer.address || appkitAccountInfo?.address;
2362
2618
  const walletProvider = externalProvider?.provider instanceof import_ethers.BrowserProvider ? externalProvider.provider : appkitProvider;
2363
2619
  return {
@@ -2591,7 +2847,7 @@ function useBalance() {
2591
2847
 
2592
2848
  // plugins/evm/core/hooks/useNativeBalance.ts
2593
2849
  var import_react_query4 = require("@tanstack/react-query");
2594
- var import_react45 = require("@reown/appkit/react");
2850
+ var import_react46 = require("@reown/appkit/react");
2595
2851
 
2596
2852
  // plugins/evm/utils/getBalance.ts
2597
2853
  var import_ethers3 = require("ethers");
@@ -2625,9 +2881,9 @@ var getEvmBalance = async (input) => {
2625
2881
  var import_react_redux2 = require("react-redux");
2626
2882
  var useNativeEvmBalance = () => {
2627
2883
  const { externalProvider } = useKimaContext();
2628
- const appkitAccountInfo = (0, import_react45.useAppKitAccount)();
2884
+ const appkitAccountInfo = (0, import_react46.useAppKitAccount)();
2629
2885
  const { address: appkitAddress } = appkitAccountInfo || {};
2630
- const { walletProvider } = (0, import_react45.useAppKitProvider)("eip155");
2886
+ const { walletProvider } = (0, import_react46.useAppKitProvider)("eip155");
2631
2887
  const sourceChain = (0, import_react_redux2.useSelector)(selectSourceChain);
2632
2888
  const networkOption = (0, import_react_redux2.useSelector)(selectNetworkOption);
2633
2889
  const walletAddress = externalProvider?.signer?.address || appkitAddress;
@@ -2658,9 +2914,9 @@ var useNativeEvmBalance = () => {
2658
2914
  var useNativeBalance_default = useNativeEvmBalance;
2659
2915
 
2660
2916
  // plugins/evm/core/hooks/useIsWalletReady.tsx
2661
- var import_react46 = require("react");
2917
+ var import_react47 = require("react");
2662
2918
  var import_react_redux4 = require("react-redux");
2663
- var import_react47 = require("@reown/appkit/react");
2919
+ var import_react48 = require("@reown/appkit/react");
2664
2920
 
2665
2921
  // plugins/evm/utils/switchNetworkEthers.tsx
2666
2922
  var import_ethers4 = require("ethers");
@@ -2768,16 +3024,16 @@ function useIsWalletReady() {
2768
3024
  const backendUrl = (0, import_react_redux4.useSelector)(selectBackendUrl);
2769
3025
  const mode = (0, import_react_redux4.useSelector)(selectMode);
2770
3026
  const { data: chains } = useChainData(backendUrl);
2771
- const { walletProvider: appkitProvider } = (0, import_react47.useAppKitProvider)("eip155");
2772
- const appkitAccountInfo = (0, import_react47.useAppKitAccount)();
2773
- const { chainId: walletChainId } = (0, import_react47.useAppKitNetwork)();
3027
+ const { walletProvider: appkitProvider } = (0, import_react48.useAppKitProvider)("eip155");
3028
+ const appkitAccountInfo = (0, import_react48.useAppKitAccount)();
3029
+ const { chainId: walletChainId } = (0, import_react48.useAppKitNetwork)();
2774
3030
  const { address: walletAddress, isConnected: appkitIsConnected } = appkitAccountInfo || {};
2775
3031
  const isConnected = appkitIsConnected && walletAddress !== void 0;
2776
3032
  const sourceChain = (0, import_react_redux4.useSelector)(selectSourceChain);
2777
- const [isReady, setIsReady] = (0, import_react46.useState)(false);
2778
- const [statusMessage, setStatusMessage] = (0, import_react46.useState)("Wallet not connected");
2779
- const [connectedAddress, setConnectedAddress] = (0, import_react46.useState)("");
2780
- const switchNetwork = (0, import_react46.useCallback)(async () => {
3033
+ const [isReady, setIsReady] = (0, import_react47.useState)(false);
3034
+ const [statusMessage, setStatusMessage] = (0, import_react47.useState)("Wallet not connected");
3035
+ const [connectedAddress, setConnectedAddress] = (0, import_react47.useState)("");
3036
+ const switchNetwork = (0, import_react47.useCallback)(async () => {
2781
3037
  if (!sourceChain || !appKitModel) return;
2782
3038
  if (sourceChain.compatibility !== "EVM" /* EVM */) return;
2783
3039
  logger_default.debug("useIsWalletReady:EVM:Attempting to switch network...", {
@@ -2796,7 +3052,7 @@ function useIsWalletReady() {
2796
3052
  logger_default.warn("useIsWalletReady:EVM:Network switch failed:", e);
2797
3053
  }
2798
3054
  }, [appkitProvider, sourceChain]);
2799
- (0, import_react46.useEffect)(() => {
3055
+ (0, import_react47.useEffect)(() => {
2800
3056
  const resolveConnection = async () => {
2801
3057
  if (mode === "light" /* light */) {
2802
3058
  const demoAddress = lightDemoAccounts.EVM;
@@ -2885,12 +3141,13 @@ function useEvmAllowance() {
2885
3141
  const sourceChain = (0, import_react_redux5.useSelector)(selectSourceChain);
2886
3142
  const sourceAddress = (0, import_react_redux5.useSelector)(selectSourceAddress);
2887
3143
  const networkOption = (0, import_react_redux5.useSelector)(selectNetworkOption);
3144
+ const dAppOption = (0, import_react_redux5.useSelector)(selectDappOption);
2888
3145
  const { transactionValues } = (0, import_react_redux5.useSelector)(selectServiceFee);
2889
3146
  const selectedCoin = (0, import_react_redux5.useSelector)(selectSourceCurrency);
2890
3147
  const tokenOptions = (0, import_react_redux5.useSelector)(selectTokenOptions);
2891
3148
  const backendUrl = (0, import_react_redux5.useSelector)(selectBackendUrl);
2892
3149
  const feeDeduct = (0, import_react_redux5.useSelector)(selectFeeDeduct);
2893
- const txValues = feeDeduct ? transactionValues.feeFromTarget : transactionValues.feeFromOrigin;
3150
+ const txValues = feeDeduct || dAppOption !== "none" /* None */ ? transactionValues.feeFromTarget : transactionValues.feeFromOrigin;
2894
3151
  const allowanceNumber = BigInt(txValues.allowanceAmount.value);
2895
3152
  const { pools } = useGetPools_default(backendUrl, networkOption);
2896
3153
  const { walletProvider, walletAddress } = useEvmProvider();
@@ -2989,10 +3246,12 @@ function useEvmAllowance() {
2989
3246
  }
2990
3247
 
2991
3248
  // plugins/evm/core/hooks/useDisconnectWallet.tsx
2992
- var import_react48 = require("@reown/appkit/react");
3249
+ var import_react49 = require("@reown/appkit/react");
2993
3250
  function useDisconnectWallet() {
2994
- const { disconnect } = (0, import_react48.useDisconnect)();
2995
- return { disconnectWallet: disconnect };
3251
+ const { disconnect } = (0, import_react49.useDisconnect)();
3252
+ return {
3253
+ disconnectWallet: disconnect
3254
+ };
2996
3255
  }
2997
3256
  var useDisconnectWallet_default = useDisconnectWallet;
2998
3257
 
@@ -3019,7 +3278,7 @@ var EvmPlugin = class extends PluginBase {
3019
3278
  walletConnectProjectId,
3020
3279
  isLoading
3021
3280
  }) => {
3022
- return /* @__PURE__ */ import_react49.default.createElement(
3281
+ return /* @__PURE__ */ import_react50.default.createElement(
3023
3282
  WalletProvider_default,
3024
3283
  {
3025
3284
  children,
@@ -3035,10 +3294,10 @@ var evmPlugin = new EvmPlugin(store);
3035
3294
  var evm_default = evmPlugin;
3036
3295
 
3037
3296
  // plugins/solana/index.tsx
3038
- var import_react52 = __toESM(require("react"), 1);
3297
+ var import_react53 = __toESM(require("react"), 1);
3039
3298
 
3040
3299
  // plugins/solana/features/walletConnect/WalletProvider.tsx
3041
- var import_react50 = __toESM(require("react"), 1);
3300
+ var import_react51 = __toESM(require("react"), 1);
3042
3301
  var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
3043
3302
  var import_wallet_adapter_wallets = require("@solana/wallet-adapter-wallets");
3044
3303
 
@@ -3066,7 +3325,7 @@ var WalletProvider2 = ({
3066
3325
  logger_default.debug(
3067
3326
  `WalletProvider initialized with projectId: ${walletConnectProjectId}`
3068
3327
  );
3069
- return /* @__PURE__ */ import_react50.default.createElement(import_wallet_adapter_react.ConnectionProvider, { endpoint }, /* @__PURE__ */ import_react50.default.createElement(
3328
+ return /* @__PURE__ */ import_react51.default.createElement(import_wallet_adapter_react.ConnectionProvider, { endpoint }, /* @__PURE__ */ import_react51.default.createElement(
3070
3329
  import_wallet_adapter_react.WalletProvider,
3071
3330
  {
3072
3331
  autoConnect: false,
@@ -3133,10 +3392,12 @@ var import_react_redux9 = require("react-redux");
3133
3392
 
3134
3393
  // plugins/solana/core/hooks/useBalance.tsx
3135
3394
  var import_react_redux8 = require("react-redux");
3395
+ var import_react_query8 = require("@tanstack/react-query");
3396
+ var import_web38 = require("@solana/web3.js");
3136
3397
 
3137
3398
  // plugins/solana/utils/getTokenAllowance.tsx
3138
- var import_spl_token = require("@solana/spl-token");
3139
3399
  var import_web36 = require("@solana/web3.js");
3400
+ var import_spl_token = require("@solana/spl-token");
3140
3401
  var getTokenAllowance2 = async ({
3141
3402
  tokenOptions,
3142
3403
  selectedCoin,
@@ -3177,9 +3438,6 @@ var getTokenAllowance2 = async ({
3177
3438
  }
3178
3439
  };
3179
3440
 
3180
- // plugins/solana/core/hooks/useBalance.tsx
3181
- var import_react_query8 = require("@tanstack/react-query");
3182
-
3183
3441
  // plugins/solana/core/hooks/useSolanaProvider.ts
3184
3442
  var import_react_redux7 = require("react-redux");
3185
3443
  var import_wallet_adapter_react3 = require("@solana/wallet-adapter-react");
@@ -3207,7 +3465,6 @@ var useSolanaProvider = () => {
3207
3465
  };
3208
3466
 
3209
3467
  // plugins/solana/core/hooks/useBalance.tsx
3210
- var import_web38 = require("@solana/web3.js");
3211
3468
  var emptyResult2 = {};
3212
3469
  function useBalance2() {
3213
3470
  const sourceChain = (0, import_react_redux8.useSelector)(selectSourceChain);
@@ -3342,7 +3599,7 @@ function useSolanaAllowance() {
3342
3599
  }
3343
3600
 
3344
3601
  // plugins/solana/core/hooks/useIsWalletReady.tsx
3345
- var import_react51 = require("react");
3602
+ var import_react52 = require("react");
3346
3603
  var import_wallet_adapter_react4 = require("@solana/wallet-adapter-react");
3347
3604
  var import_react_redux10 = require("react-redux");
3348
3605
  var import_react_redux11 = require("react-redux");
@@ -3357,7 +3614,7 @@ function useIsWalletReady2() {
3357
3614
  const { externalProvider } = useKimaContext();
3358
3615
  const { publicKey: solanaAddress } = (0, import_wallet_adapter_react4.useWallet)();
3359
3616
  const sourceChain = (0, import_react_redux10.useSelector)(selectSourceChain);
3360
- (0, import_react51.useEffect)(() => {
3617
+ (0, import_react52.useEffect)(() => {
3361
3618
  if (sourceChain.shortName !== "SOL") return;
3362
3619
  if (mode === "light" /* light */) {
3363
3620
  dispatch(setSourceAddress(lightDemoAccounts.SOL));
@@ -3365,7 +3622,7 @@ function useIsWalletReady2() {
3365
3622
  }
3366
3623
  solanaAddress && dispatch(setSourceAddress(solanaAddress.toBase58()));
3367
3624
  }, [mode, solanaAddress, sourceChain]);
3368
- return (0, import_react51.useMemo)(() => {
3625
+ return (0, import_react52.useMemo)(() => {
3369
3626
  if (mode === "light" /* light */)
3370
3627
  return createWalletStatus(
3371
3628
  true,
@@ -3419,7 +3676,7 @@ var SolanaPlugin = class extends PluginBase {
3419
3676
  networkOption,
3420
3677
  walletConnectProjectId
3421
3678
  }) => {
3422
- return /* @__PURE__ */ import_react52.default.createElement(
3679
+ return /* @__PURE__ */ import_react53.default.createElement(
3423
3680
  WalletProvider_default2,
3424
3681
  {
3425
3682
  networkOption,
@@ -3433,10 +3690,10 @@ var solanaPlugin = new SolanaPlugin(store);
3433
3690
  var solana_default = solanaPlugin;
3434
3691
 
3435
3692
  // plugins/tron/index.tsx
3436
- var import_react57 = __toESM(require("react"), 1);
3693
+ var import_react58 = __toESM(require("react"), 1);
3437
3694
 
3438
3695
  // plugins/tron/features/walletConnect/WalletProvider.tsx
3439
- var import_react53 = __toESM(require("react"), 1);
3696
+ var import_react54 = __toESM(require("react"), 1);
3440
3697
  var import_tronwallet_adapter_react_hooks = require("@tronweb3/tronwallet-adapter-react-hooks");
3441
3698
  var import_tronwallet_adapter_ledger = require("@tronweb3/tronwallet-adapter-ledger");
3442
3699
  var import_tronwallet_adapter_tronlink = require("@tronweb3/tronwallet-adapter-tronlink");
@@ -3445,7 +3702,7 @@ var import_tronwallet_adapter_tokenpocket = require("@tronweb3/tronwallet-adapte
3445
3702
  var import_tronwallet_abstract_adapter = require("@tronweb3/tronwallet-abstract-adapter");
3446
3703
  var import_react_hot_toast = require("react-hot-toast");
3447
3704
  var WalletProvider3 = ({ children, networkOption }) => {
3448
- const adapters = (0, import_react53.useMemo)(
3705
+ const adapters = (0, import_react54.useMemo)(
3449
3706
  () => [
3450
3707
  new import_tronwallet_adapter_tronlink.TronLinkAdapter(),
3451
3708
  new import_tronwallet_adapter_ledger.LedgerAdapter({ accountNumber: 2 }),
@@ -3475,7 +3732,7 @@ var WalletProvider3 = ({ children, networkOption }) => {
3475
3732
  adapters[0].switchChain("0x2b6653dc");
3476
3733
  }
3477
3734
  };
3478
- return /* @__PURE__ */ import_react53.default.createElement(
3735
+ return /* @__PURE__ */ import_react54.default.createElement(
3479
3736
  import_tronwallet_adapter_react_hooks.WalletProvider,
3480
3737
  {
3481
3738
  adapters,
@@ -3489,7 +3746,7 @@ var WalletProvider3 = ({ children, networkOption }) => {
3489
3746
  var WalletProvider_default3 = WalletProvider3;
3490
3747
 
3491
3748
  // plugins/tron/core/hooks/useGetTrxBalance.tsx
3492
- var import_react54 = require("react");
3749
+ var import_react55 = require("react");
3493
3750
  var import_react_redux12 = require("react-redux");
3494
3751
  var import_react_query10 = require("@tanstack/react-query");
3495
3752
 
@@ -3528,7 +3785,7 @@ function useGetTronBalance() {
3528
3785
  const networkOption = (0, import_react_redux12.useSelector)(selectNetworkOption);
3529
3786
  const { wallet } = (0, import_tronwallet_adapter_react_hooks2.useWallet)();
3530
3787
  const sourceNetwork = (0, import_react_redux12.useSelector)(selectSourceChain);
3531
- const tronWeb = (0, import_react54.useMemo)(
3788
+ const tronWeb = (0, import_react55.useMemo)(
3532
3789
  () => networkOption === "testnet" /* testnet */ ? tronWebTestnet : tronWebMainnet,
3533
3790
  [networkOption]
3534
3791
  );
@@ -3557,7 +3814,7 @@ var import_react_query12 = require("@tanstack/react-query");
3557
3814
  var import_react_redux13 = require("react-redux");
3558
3815
  var import_tronweb4 = require("tronweb");
3559
3816
  var import_tronwallet_adapter_react_hooks3 = require("@tronweb3/tronwallet-adapter-react-hooks");
3560
- var import_react55 = require("react");
3817
+ var import_react56 = require("react");
3561
3818
  var useTronProvider = () => {
3562
3819
  const { externalProvider } = useKimaContext();
3563
3820
  const networkOption = (0, import_react_redux13.useSelector)(selectNetworkOption);
@@ -3568,7 +3825,7 @@ var useTronProvider = () => {
3568
3825
  signMessage: internalSignMessage
3569
3826
  } = (0, import_tronwallet_adapter_react_hooks3.useWallet)();
3570
3827
  const isTronProvider2 = sourceChain.shortName === "TRX" && externalProvider?.type === "tron" && externalProvider.provider.tronWeb instanceof import_tronweb4.TronWeb && typeof externalProvider.signer === "string";
3571
- const tronWeb = (0, import_react55.useMemo)(() => {
3828
+ const tronWeb = (0, import_react56.useMemo)(() => {
3572
3829
  if (isTronProvider2)
3573
3830
  return externalProvider.provider.tronWeb;
3574
3831
  return networkOption === "mainnet" ? tronWebMainnet : tronWebTestnet;
@@ -3587,6 +3844,7 @@ var useTronProvider = () => {
3587
3844
 
3588
3845
  // plugins/tron/core/hooks/useBalance.tsx
3589
3846
  var import_react_redux14 = require("react-redux");
3847
+ var import_react_query11 = require("@tanstack/react-query");
3590
3848
 
3591
3849
  // plugins/tron/utils/ethereum/erc20ABI.json
3592
3850
  var erc20ABI_default = {
@@ -3843,7 +4101,6 @@ var getTokenAllowance3 = async ({
3843
4101
  };
3844
4102
 
3845
4103
  // plugins/tron/core/hooks/useBalance.tsx
3846
- var import_react_query11 = require("@tanstack/react-query");
3847
4104
  var emptyResult3 = {};
3848
4105
  function useBalance3() {
3849
4106
  const mode = (0, import_react_redux14.useSelector)(selectMode);
@@ -3956,7 +4213,7 @@ function useTronAllowance() {
3956
4213
  }
3957
4214
 
3958
4215
  // plugins/tron/core/hooks/useIsWalletReady.tsx
3959
- var import_react56 = require("react");
4216
+ var import_react57 = require("react");
3960
4217
  var import_tronwallet_adapter_react_hooks4 = require("@tronweb3/tronwallet-adapter-react-hooks");
3961
4218
  var import_react_redux16 = require("react-redux");
3962
4219
  var import_react_redux17 = require("react-redux");
@@ -3971,7 +4228,7 @@ function useIsWalletReady3() {
3971
4228
  const sourceChain = (0, import_react_redux17.useSelector)(selectSourceChain);
3972
4229
  const { externalProvider } = useKimaContext();
3973
4230
  const { address: internalTronAddress } = (0, import_tronwallet_adapter_react_hooks4.useWallet)();
3974
- (0, import_react56.useEffect)(() => {
4231
+ (0, import_react57.useEffect)(() => {
3975
4232
  if (sourceChain.shortName !== "TRX") return;
3976
4233
  if (mode === "light" /* light */) {
3977
4234
  dispatch(setSourceAddress(lightDemoAccounts.TRX));
@@ -3979,7 +4236,7 @@ function useIsWalletReady3() {
3979
4236
  }
3980
4237
  internalTronAddress && dispatch(setSourceAddress(internalTronAddress));
3981
4238
  }, [mode, internalTronAddress, sourceChain]);
3982
- return (0, import_react56.useMemo)(() => {
4239
+ return (0, import_react57.useMemo)(() => {
3983
4240
  if (mode === "light" /* light */)
3984
4241
  return createWalletStatus2(
3985
4242
  true,
@@ -4033,7 +4290,7 @@ var TronPlugin = class extends PluginBase {
4033
4290
  networkOption,
4034
4291
  walletConnectProjectId
4035
4292
  }) => {
4036
- return /* @__PURE__ */ import_react57.default.createElement(
4293
+ return /* @__PURE__ */ import_react58.default.createElement(
4037
4294
  WalletProvider_default3,
4038
4295
  {
4039
4296
  networkOption,
@@ -4047,16 +4304,16 @@ var tronPlugin = new TronPlugin(store);
4047
4304
  var tron_default = tronPlugin;
4048
4305
 
4049
4306
  // plugins/credit-card/index.tsx
4050
- var import_react59 = __toESM(require("react"), 1);
4307
+ var import_react60 = __toESM(require("react"), 1);
4051
4308
 
4052
4309
  // plugins/credit-card/core/hooks/useIsProviderReady.tsx
4053
4310
  var import_react_redux18 = require("react-redux");
4054
- var import_react58 = require("react");
4311
+ var import_react59 = require("react");
4055
4312
  var useIsProviderReady = () => {
4056
- const [isReady, setIsReady] = (0, import_react58.useState)(false);
4313
+ const [isReady, setIsReady] = (0, import_react59.useState)(false);
4057
4314
  const dispatch = (0, import_react_redux18.useDispatch)();
4058
4315
  const sourceChain = (0, import_react_redux18.useSelector)(selectSourceChain);
4059
- (0, import_react58.useEffect)(() => {
4316
+ (0, import_react59.useEffect)(() => {
4060
4317
  if (!sourceChain || sourceChain.shortName !== "CC") return;
4061
4318
  logger_default.debug("CC:useIsProviderReady: dispatching changes from fiat...");
4062
4319
  dispatch(setSourceAddress(""));
@@ -4103,7 +4360,7 @@ var CreditCardPlugin = class extends PluginBase {
4103
4360
  return chain.compatibility === "CC";
4104
4361
  };
4105
4362
  Provider = ({ children }) => {
4106
- return /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, children);
4363
+ return /* @__PURE__ */ import_react60.default.createElement(import_react60.default.Fragment, null, children);
4107
4364
  };
4108
4365
  };
4109
4366
  var creditCardPlugin = new CreditCardPlugin(store);
@@ -4116,15 +4373,15 @@ initializePlugins([evm_default, solana_default, tron_default, credit_card_defaul
4116
4373
  var import_web310 = require("@solana/web3.js");
4117
4374
  var import_ethers5 = require("ethers");
4118
4375
  var queryClient = new import_react_query13.QueryClient();
4119
- var KimaContext = (0, import_react60.createContext)(void 0);
4376
+ var KimaContext = (0, import_react61.createContext)(void 0);
4120
4377
  var useKimaContext = () => {
4121
- const context = (0, import_react60.useContext)(KimaContext);
4378
+ const context = (0, import_react61.useContext)(KimaContext);
4122
4379
  if (!context) {
4123
4380
  throw new Error("useKimaContext must be used within a KimaProvider");
4124
4381
  }
4125
4382
  return context;
4126
4383
  };
4127
- var InternalKimaProvider = React49.memo(
4384
+ var InternalKimaProvider = React50.memo(
4128
4385
  ({ kimaBackendUrl, walletConnectProjectId, children, logLevel }) => {
4129
4386
  const { data: envOptions, isLoading } = useGetEnvOptions({
4130
4387
  kimaBackendUrl
@@ -4133,12 +4390,12 @@ var InternalKimaProvider = React49.memo(
4133
4390
  logger_default.debug("internalkimaprovider: isLoading: ", isLoading);
4134
4391
  const plugins = (0, import_react_redux19.useSelector)(selectAllPlugins, (prev, next) => prev === next);
4135
4392
  logger_default.debug("Registered Plugins:", plugins);
4136
- const WrappedProviders = (0, import_react60.useMemo)(() => {
4393
+ const WrappedProviders = (0, import_react61.useMemo)(() => {
4137
4394
  return plugins.reduce((acc, pluginData) => {
4138
4395
  const plugin = getPluginProvider(pluginData.id);
4139
4396
  if (plugin) {
4140
4397
  const { Provider: Provider3 } = plugin;
4141
- return /* @__PURE__ */ React49.createElement(
4398
+ return /* @__PURE__ */ React50.createElement(
4142
4399
  Provider3,
4143
4400
  {
4144
4401
  key: plugin.data.id,
@@ -4152,12 +4409,12 @@ var InternalKimaProvider = React49.memo(
4152
4409
  return acc;
4153
4410
  }, children);
4154
4411
  }, [plugins, walletConnectProjectId, envOptions, isLoading]);
4155
- return /* @__PURE__ */ React49.createElement(React49.Fragment, null, WrappedProviders);
4412
+ return /* @__PURE__ */ React50.createElement(React50.Fragment, null, WrappedProviders);
4156
4413
  }
4157
4414
  );
4158
4415
  var KimaProvider = ({
4159
4416
  walletConnectProjectId,
4160
- children = /* @__PURE__ */ React49.createElement(React49.Fragment, null),
4417
+ children = /* @__PURE__ */ React50.createElement(React50.Fragment, null),
4161
4418
  externalProvider,
4162
4419
  kimaBackendUrl = "http://localhost:3001",
4163
4420
  logLevel,
@@ -4192,7 +4449,7 @@ var KimaProvider = ({
4192
4449
  errorHandler,
4193
4450
  switchChainHandler
4194
4451
  };
4195
- return /* @__PURE__ */ React49.createElement(import_react_query13.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React49.createElement(import_react_redux19.Provider, { store }, /* @__PURE__ */ React49.createElement(KimaContext.Provider, { value: kimaContext }, /* @__PURE__ */ React49.createElement(
4452
+ return /* @__PURE__ */ React50.createElement(import_react_query13.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ React50.createElement(import_react_redux19.Provider, { store }, /* @__PURE__ */ React50.createElement(KimaContext.Provider, { value: kimaContext }, /* @__PURE__ */ React50.createElement(
4196
4453
  InternalKimaProvider,
4197
4454
  {
4198
4455
  kimaBackendUrl,
@@ -4211,10 +4468,10 @@ var import_react106 = __toESM(require("react"), 1);
4211
4468
  var import_react_redux58 = require("react-redux");
4212
4469
 
4213
4470
  // src/components/TransactionWidget.tsx
4214
- var import_react90 = __toESM(require("react"), 1);
4471
+ var import_react91 = __toESM(require("react"), 1);
4215
4472
 
4216
4473
  // src/components/reusable/Progressbar.tsx
4217
- var import_react61 = __toESM(require("react"), 1);
4474
+ var import_react62 = __toESM(require("react"), 1);
4218
4475
  var import_react_redux20 = require("react-redux");
4219
4476
  var stepInfo = [
4220
4477
  {
@@ -4235,12 +4492,12 @@ var stepInfo = [
4235
4492
  ];
4236
4493
  var Progressbar = ({ step, errorStep, setFocus, loadingStep }) => {
4237
4494
  const theme = (0, import_react_redux20.useSelector)(selectTheme);
4238
- return /* @__PURE__ */ import_react61.default.createElement("div", { className: "kima-progressbar" }, /* @__PURE__ */ import_react61.default.createElement(
4495
+ return /* @__PURE__ */ import_react62.default.createElement("div", { className: "kima-progressbar" }, /* @__PURE__ */ import_react62.default.createElement(
4239
4496
  "div",
4240
4497
  {
4241
4498
  className: `value step-${step * 100 / 4}`
4242
4499
  }
4243
- ), /* @__PURE__ */ import_react61.default.createElement("div", { className: "step-indicators" }, stepInfo.map((item, index) => /* @__PURE__ */ import_react61.default.createElement(
4500
+ ), /* @__PURE__ */ import_react62.default.createElement("div", { className: "step-indicators" }, stepInfo.map((item, index) => /* @__PURE__ */ import_react62.default.createElement(
4244
4501
  "div",
4245
4502
  {
4246
4503
  key: item.title,
@@ -4251,14 +4508,14 @@ var Progressbar = ({ step, errorStep, setFocus, loadingStep }) => {
4251
4508
  if (index < 4) setFocus(index);
4252
4509
  }
4253
4510
  },
4254
- /* @__PURE__ */ import_react61.default.createElement("div", { className: "step-info" }, step < index && /* @__PURE__ */ import_react61.default.createElement(Lock_default, null), step >= index ? index === loadingStep ? /* @__PURE__ */ import_react61.default.createElement(Loader_default, { className: "loader" }) : index === errorStep ? /* @__PURE__ */ import_react61.default.createElement(Warning_default, null) : /* @__PURE__ */ import_react61.default.createElement(Check_default, null) : null, /* @__PURE__ */ import_react61.default.createElement("span", null, item.title))
4511
+ /* @__PURE__ */ import_react62.default.createElement("div", { className: "step-info" }, step < index && /* @__PURE__ */ import_react62.default.createElement(Lock_default, null), step >= index ? index === loadingStep ? /* @__PURE__ */ import_react62.default.createElement(Loader_default, { className: "loader" }) : index === errorStep ? /* @__PURE__ */ import_react62.default.createElement(Warning_default, null) : /* @__PURE__ */ import_react62.default.createElement(Check_default, null) : null, /* @__PURE__ */ import_react62.default.createElement("span", null, item.title))
4255
4512
  ))));
4256
4513
  };
4257
4514
  var Progressbar_default = Progressbar;
4258
4515
 
4259
4516
  // src/components/reusable/ExternalLink.tsx
4260
- var import_react62 = __toESM(require("react"), 1);
4261
- var ExternalLink = ({ to, children, className, rest }) => /* @__PURE__ */ import_react62.default.createElement(
4517
+ var import_react63 = __toESM(require("react"), 1);
4518
+ var ExternalLink = ({ to, children, className, rest }) => /* @__PURE__ */ import_react63.default.createElement(
4262
4519
  "a",
4263
4520
  {
4264
4521
  className,
@@ -4272,20 +4529,20 @@ var ExternalLink = ({ to, children, className, rest }) => /* @__PURE__ */ import
4272
4529
  var ExternalLink_default = ExternalLink;
4273
4530
 
4274
4531
  // src/components/reusable/NetworkLabel.tsx
4275
- var import_react63 = __toESM(require("react"), 1);
4532
+ var import_react64 = __toESM(require("react"), 1);
4276
4533
  var import_react_redux21 = require("react-redux");
4277
4534
 
4278
4535
  // src/components/reusable/PrimaryButton.tsx
4279
- var import_react66 = __toESM(require("react"), 1);
4536
+ var import_react67 = __toESM(require("react"), 1);
4280
4537
 
4281
4538
  // src/assets/loading/180-ring.tsx
4282
- var import_react64 = __toESM(require("react"), 1);
4539
+ var import_react65 = __toESM(require("react"), 1);
4283
4540
  var Loading180Ring = ({
4284
4541
  width = 24,
4285
4542
  height = 24,
4286
4543
  fill = "white"
4287
4544
  }) => {
4288
- return /* @__PURE__ */ import_react64.default.createElement(
4545
+ return /* @__PURE__ */ import_react65.default.createElement(
4289
4546
  "svg",
4290
4547
  {
4291
4548
  width,
@@ -4294,7 +4551,7 @@ var Loading180Ring = ({
4294
4551
  viewBox: "0 0 24 24",
4295
4552
  xmlns: "http://www.w3.org/2000/svg"
4296
4553
  },
4297
- /* @__PURE__ */ import_react64.default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" }, /* @__PURE__ */ import_react64.default.createElement(
4554
+ /* @__PURE__ */ import_react65.default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" }, /* @__PURE__ */ import_react65.default.createElement(
4298
4555
  "animateTransform",
4299
4556
  {
4300
4557
  attributeName: "transform",
@@ -4309,7 +4566,7 @@ var Loading180Ring = ({
4309
4566
  var ring_default = Loading180Ring;
4310
4567
 
4311
4568
  // src/assets/loading/6-dots-scale.tsx
4312
- var import_react65 = __toESM(require("react"), 1);
4569
+ var import_react66 = __toESM(require("react"), 1);
4313
4570
 
4314
4571
  // src/components/reusable/PrimaryButton.tsx
4315
4572
  var PrimaryButton = ({
@@ -4320,7 +4577,7 @@ var PrimaryButton = ({
4320
4577
  disabled = false,
4321
4578
  ref
4322
4579
  }) => {
4323
- return /* @__PURE__ */ import_react66.default.createElement("div", { className: "primary-button-wrapper" }, /* @__PURE__ */ import_react66.default.createElement(
4580
+ return /* @__PURE__ */ import_react67.default.createElement("div", { className: "primary-button-wrapper" }, /* @__PURE__ */ import_react67.default.createElement(
4324
4581
  "button",
4325
4582
  {
4326
4583
  className: `primary-button ${className}`,
@@ -4328,14 +4585,14 @@ var PrimaryButton = ({
4328
4585
  ref,
4329
4586
  disabled
4330
4587
  },
4331
- isLoading && /* @__PURE__ */ import_react66.default.createElement("div", { className: "loading-indicator" }, /* @__PURE__ */ import_react66.default.createElement(ring_default, { width: 24, height: 24, fill: "white" })),
4588
+ isLoading && /* @__PURE__ */ import_react67.default.createElement("div", { className: "loading-indicator" }, /* @__PURE__ */ import_react67.default.createElement(ring_default, { width: 24, height: 24, fill: "white" })),
4332
4589
  children
4333
4590
  ));
4334
4591
  };
4335
4592
  var PrimaryButton_default = PrimaryButton;
4336
4593
 
4337
4594
  // src/components/reusable/SecondaryButton.tsx
4338
- var import_react67 = __toESM(require("react"), 1);
4595
+ var import_react68 = __toESM(require("react"), 1);
4339
4596
  var SecondaryButton = ({
4340
4597
  className,
4341
4598
  clickHandler,
@@ -4344,7 +4601,7 @@ var SecondaryButton = ({
4344
4601
  style,
4345
4602
  disabled = false,
4346
4603
  isLoading
4347
- }) => /* @__PURE__ */ import_react67.default.createElement(
4604
+ }) => /* @__PURE__ */ import_react68.default.createElement(
4348
4605
  "button",
4349
4606
  {
4350
4607
  className: `secondary-button ${className} ${theme}`,
@@ -4352,26 +4609,26 @@ var SecondaryButton = ({
4352
4609
  ...style,
4353
4610
  disabled
4354
4611
  },
4355
- isLoading && /* @__PURE__ */ import_react67.default.createElement("div", { className: "loading-indicator" }, /* @__PURE__ */ import_react67.default.createElement(ring_default, { width: 24, height: 24, fill: "black" })),
4612
+ isLoading && /* @__PURE__ */ import_react68.default.createElement("div", { className: "loading-indicator" }, /* @__PURE__ */ import_react68.default.createElement(ring_default, { width: 24, height: 24, fill: "black" })),
4356
4613
  children
4357
4614
  );
4358
4615
  var SecondaryButton_default = SecondaryButton;
4359
4616
 
4360
4617
  // src/components/reusable/Dropdown.tsx
4361
- var import_react68 = __toESM(require("react"), 1);
4618
+ var import_react69 = __toESM(require("react"), 1);
4362
4619
  var import_react_redux22 = require("react-redux");
4363
4620
  var import_react_redux23 = require("react-redux");
4364
4621
 
4365
4622
  // src/components/reusable/WalletButton.tsx
4366
- var import_react74 = __toESM(require("react"), 1);
4623
+ var import_react75 = __toESM(require("react"), 1);
4367
4624
  var import_react_redux25 = require("react-redux");
4368
4625
 
4369
4626
  // src/hooks/useGetCurrentPlugin.tsx
4370
- var import_react70 = require("react");
4627
+ var import_react71 = require("react");
4371
4628
  var import_react_redux24 = require("react-redux");
4372
4629
 
4373
4630
  // plugins/default/index.tsx
4374
- var import_react69 = __toESM(require("react"), 1);
4631
+ var import_react70 = __toESM(require("react"), 1);
4375
4632
  var DefaultPlugin = class extends PluginBase {
4376
4633
  constructor(store2) {
4377
4634
  super({
@@ -4406,7 +4663,7 @@ var DefaultPlugin = class extends PluginBase {
4406
4663
  networkOption,
4407
4664
  walletConnectProjectId
4408
4665
  }) => {
4409
- return /* @__PURE__ */ import_react69.default.createElement("div", null, children);
4666
+ return /* @__PURE__ */ import_react70.default.createElement("div", null, children);
4410
4667
  };
4411
4668
  };
4412
4669
  var defaultPlugin = new DefaultPlugin(store);
@@ -4414,10 +4671,10 @@ var default_default = defaultPlugin;
4414
4671
 
4415
4672
  // src/hooks/useGetCurrentPlugin.tsx
4416
4673
  var useGetCurrentPlugin = () => {
4417
- const [currentPlugin, setCurrentPlugin] = (0, import_react70.useState)(default_default);
4674
+ const [currentPlugin, setCurrentPlugin] = (0, import_react71.useState)(default_default);
4418
4675
  const isIndexed = (0, import_react_redux24.useSelector)(selectPluginIsIndexed);
4419
4676
  const sourceChain = (0, import_react_redux24.useSelector)(selectSourceChain);
4420
- (0, import_react70.useEffect)(() => {
4677
+ (0, import_react71.useEffect)(() => {
4421
4678
  if (!isIndexed) return;
4422
4679
  const plugin = getPlugin(sourceChain.shortName);
4423
4680
  if (plugin) setCurrentPlugin(plugin);
@@ -4476,13 +4733,13 @@ function useBalance4() {
4476
4733
  }
4477
4734
 
4478
4735
  // src/hooks/useWidth.tsx
4479
- var import_react71 = require("react");
4736
+ var import_react72 = require("react");
4480
4737
  var useWidth = () => {
4481
- const [width, setWidth] = (0, import_react71.useState)(0);
4738
+ const [width, setWidth] = (0, import_react72.useState)(0);
4482
4739
  const updateWidth = (width2) => {
4483
4740
  setWidth(width2);
4484
4741
  };
4485
- (0, import_react71.useEffect)(() => {
4742
+ (0, import_react72.useEffect)(() => {
4486
4743
  const handleResize = () => {
4487
4744
  setWidth(window.innerWidth);
4488
4745
  };
@@ -4496,19 +4753,19 @@ var useWidth_default = useWidth;
4496
4753
  // src/components/reusable/WalletButton.tsx
4497
4754
  var import_wallet_adapter_react6 = require("@solana/wallet-adapter-react");
4498
4755
  var import_tronwallet_adapter_react_hooks6 = require("@tronweb3/tronwallet-adapter-react-hooks");
4499
- var import_react75 = require("@reown/appkit/react");
4756
+ var import_react76 = require("@reown/appkit/react");
4500
4757
 
4501
4758
  // src/components/reusable/CopyButton.tsx
4502
- var import_react72 = __toESM(require("react"), 1);
4759
+ var import_react73 = __toESM(require("react"), 1);
4503
4760
  var CopyButton = ({ text }) => {
4504
- const [copyClicked, setCopyClicked] = (0, import_react72.useState)(false);
4505
- (0, import_react72.useEffect)(() => {
4761
+ const [copyClicked, setCopyClicked] = (0, import_react73.useState)(false);
4762
+ (0, import_react73.useEffect)(() => {
4506
4763
  if (!copyClicked) return;
4507
4764
  setTimeout(() => {
4508
4765
  setCopyClicked(false);
4509
4766
  }, 2e3);
4510
4767
  }, [copyClicked]);
4511
- return /* @__PURE__ */ import_react72.default.createElement(
4768
+ return /* @__PURE__ */ import_react73.default.createElement(
4512
4769
  "span",
4513
4770
  {
4514
4771
  className: "copy-btn",
@@ -4517,7 +4774,7 @@ var CopyButton = ({ text }) => {
4517
4774
  navigator.clipboard.writeText(text);
4518
4775
  }
4519
4776
  },
4520
- copyClicked ? /* @__PURE__ */ import_react72.default.createElement(Check_default, null) : /* @__PURE__ */ import_react72.default.createElement(Copy_default, null)
4777
+ copyClicked ? /* @__PURE__ */ import_react73.default.createElement(Check_default, null) : /* @__PURE__ */ import_react73.default.createElement(Copy_default, null)
4521
4778
  );
4522
4779
  };
4523
4780
  var CopyButton_default = CopyButton;
@@ -4603,9 +4860,9 @@ var isAddressCompatible = (address, shortName) => {
4603
4860
  };
4604
4861
 
4605
4862
  // src/hooks/useHideActivityTab.tsx
4606
- var import_react73 = require("react");
4863
+ var import_react74 = require("react");
4607
4864
  function useHideWuiListItem(isModalOpen) {
4608
- (0, import_react73.useEffect)(() => {
4865
+ (0, import_react74.useEffect)(() => {
4609
4866
  const modalSelector = "w3m-modal";
4610
4867
  let observer;
4611
4868
  const hideFirstWuiListItem = (parent) => {
@@ -4673,6 +4930,7 @@ var WalletButton = ({
4673
4930
  const compliantOption = (0, import_react_redux25.useSelector)(selectCompliantOption);
4674
4931
  const selectedNetwork = (0, import_react_redux25.useSelector)(selectSourceChain);
4675
4932
  const targetAddress = (0, import_react_redux25.useSelector)(selectTargetAddress);
4933
+ const dAppOption = (0, import_react_redux25.useSelector)(selectDappOption);
4676
4934
  const { externalProvider } = useKimaContext();
4677
4935
  const { connected: isSolanaConnected } = (0, import_wallet_adapter_react6.useWallet)();
4678
4936
  const { connected: isTronConnected } = (0, import_tronwallet_adapter_react_hooks6.useWallet)();
@@ -4683,14 +4941,14 @@ var WalletButton = ({
4683
4941
  /*, connectBitcoinWallet*/
4684
4942
  } = useIsWalletReady4();
4685
4943
  const { balance, decimals } = useBalance4();
4686
- const { open } = (0, import_react75.useAppKit)();
4687
- const { open: isModalOpen } = (0, import_react75.useAppKitState)();
4944
+ const { open } = (0, import_react76.useAppKit)();
4945
+ const { open: isModalOpen } = (0, import_react76.useAppKitState)();
4688
4946
  const { width, updateWidth } = useWidth_default();
4689
4947
  useHideActivityTab_default(isModalOpen);
4690
4948
  const { kimaBackendUrl } = useKimaContext();
4691
4949
  const { data: envOptions } = useGetEnvOptions({ kimaBackendUrl });
4692
4950
  const networkOption = envOptions?.env || "testnet" /* testnet */;
4693
- (0, import_react74.useEffect)(() => {
4951
+ (0, import_react75.useEffect)(() => {
4694
4952
  logger_default.debug("WalletBalance:", {
4695
4953
  balance,
4696
4954
  connectedAddress,
@@ -4699,7 +4957,7 @@ var WalletButton = ({
4699
4957
  externalProvider
4700
4958
  });
4701
4959
  }, [balance, connectedAddress, isReady, externalProvider, networkOption]);
4702
- (0, import_react74.useEffect)(() => {
4960
+ (0, import_react75.useEffect)(() => {
4703
4961
  if (width === 0) {
4704
4962
  updateWidth(window.innerWidth);
4705
4963
  }
@@ -4727,29 +4985,32 @@ var WalletButton = ({
4727
4985
  logger_default.error("Failed to open AppKitModal", error);
4728
4986
  }
4729
4987
  };
4730
- const errorMessage = (0, import_react74.useMemo)(() => {
4988
+ const errorMessage = (0, import_react75.useMemo)(() => {
4731
4989
  if (!isReady) return statusMessage;
4732
4990
  if (compliantOption && sourceCompliant !== null && !sourceCompliant?.isCompliant)
4733
4991
  return `Source address has ${sourceCompliant?.results?.[0].result?.risk_score} risk`;
4734
4992
  return "";
4735
4993
  }, [isReady, statusMessage, sourceCompliant, compliantOption]);
4736
- const isConnected = (0, import_react74.useMemo)(() => {
4994
+ const isConnected = (0, import_react75.useMemo)(() => {
4995
+ if (mode === "payment" /* payment */ && dAppOption !== "none" /* None */) {
4996
+ return isReady;
4997
+ }
4737
4998
  return isReady && !initialSelection;
4738
- }, [isReady, initialSelection]);
4739
- (0, import_react74.useEffect)(() => {
4999
+ }, [isReady, initialSelection, mode, dAppOption]);
5000
+ (0, import_react75.useEffect)(() => {
4740
5001
  if (!isReady) {
4741
5002
  dispatch(setSourceAddress(""));
4742
5003
  return;
4743
5004
  }
4744
5005
  dispatch(setSourceAddress(connectedAddress));
4745
5006
  }, [isReady]);
4746
- return /* @__PURE__ */ import_react74.default.createElement(
5007
+ return /* @__PURE__ */ import_react75.default.createElement(
4747
5008
  "div",
4748
5009
  {
4749
5010
  className: `wallet-button ${isConnected ? "connected" : "disconnected"} ${theme.colorMode} ${errorBelow ? "error-below" : ""}`,
4750
5011
  "data-testid": "connect-wallet-btn"
4751
5012
  },
4752
- /* @__PURE__ */ import_react74.default.createElement("div", { className: "info-wrapper" }, /* @__PURE__ */ import_react74.default.createElement(
5013
+ /* @__PURE__ */ import_react75.default.createElement("div", { className: "info-wrapper" }, /* @__PURE__ */ import_react75.default.createElement(
4753
5014
  "button",
4754
5015
  {
4755
5016
  className: `${isConnected ? "connected" : "disconnected"} ${width < 640 && "shortened"} ${theme.colorMode}`,
@@ -4759,21 +5020,21 @@ var WalletButton = ({
4759
5020
  isConnected && !placeholder ? width >= 640 ? `${connectedAddress || ""}` : getShortenedAddress(connectedAddress || "") : "",
4760
5021
  !isConnected && mode === "light" /* light */ && "Select Network to Load Account",
4761
5022
  !isConnected && mode !== "light" /* light */ && initialSelection && "Select Network to Connect",
4762
- !isConnected && mode !== "light" /* light */ && !initialSelection && /* @__PURE__ */ import_react74.default.createElement(Wallet_default, null),
5023
+ !isConnected && mode !== "light" /* light */ && !initialSelection && /* @__PURE__ */ import_react75.default.createElement(Wallet_default, null),
4763
5024
  !isConnected && mode !== "light" /* light */ && !initialSelection && "Connect Wallet"
4764
- ), isConnected && !placeholder && /* @__PURE__ */ import_react74.default.createElement(CopyButton_default, { text: connectedAddress })),
4765
- isConnected && !placeholder && balance !== void 0 && decimals !== void 0 ? /* @__PURE__ */ import_react74.default.createElement("p", { className: "balance-info" }, formatUSD(bigIntToNumber({ value: balance, decimals })), " ", selectedCoin, " available") : null
5025
+ ), isConnected && !placeholder && /* @__PURE__ */ import_react75.default.createElement(CopyButton_default, { text: connectedAddress })),
5026
+ isConnected && !placeholder && balance !== void 0 && decimals !== void 0 ? /* @__PURE__ */ import_react75.default.createElement("p", { className: "balance-info" }, formatUSD(bigIntToNumber({ value: balance, decimals })), " ", selectedCoin, " available") : null
4766
5027
  );
4767
5028
  };
4768
5029
  var WalletButton_default = WalletButton;
4769
5030
 
4770
5031
  // src/components/reusable/CoinDropdown.tsx
4771
- var import_react78 = __toESM(require("react"), 1);
5032
+ var import_react79 = __toESM(require("react"), 1);
4772
5033
  var import_react_redux28 = require("react-redux");
4773
5034
  var import_react_redux29 = require("react-redux");
4774
5035
 
4775
5036
  // src/hooks/useCurrencyOptions.tsx
4776
- var import_react76 = require("react");
5037
+ var import_react77 = require("react");
4777
5038
  var import_react_redux26 = require("react-redux");
4778
5039
  var import_react_redux27 = require("react-redux");
4779
5040
  var emptyTokenList = { tokenList: [] };
@@ -4784,7 +5045,7 @@ function useCurrencyOptions(isSourceChain) {
4784
5045
  const sourceSymbol = (0, import_react_redux26.useSelector)(selectSourceCurrency);
4785
5046
  const targetChain = (0, import_react_redux26.useSelector)(selectTargetChain);
4786
5047
  const transactionOption = (0, import_react_redux26.useSelector)(selectTransactionOption);
4787
- const output = (0, import_react76.useMemo)(() => {
5048
+ const output = (0, import_react77.useMemo)(() => {
4788
5049
  const chain = isSourceChain ? sourceChain : targetChain;
4789
5050
  const location = isSourceChain ? "origin" : "target";
4790
5051
  if (!chain) {
@@ -4824,7 +5085,7 @@ function useCurrencyOptions(isSourceChain) {
4824
5085
  return { tokenList: tokenList2 };
4825
5086
  }, [sourceChain, sourceSymbol, targetChain, isSourceChain]);
4826
5087
  const { tokenList } = output;
4827
- (0, import_react76.useEffect)(() => {
5088
+ (0, import_react77.useEffect)(() => {
4828
5089
  if (!tokenList.length) return;
4829
5090
  if (mode === "payment" /* payment */ && !isSourceChain) return;
4830
5091
  const [firstToken] = tokenList;
@@ -4841,7 +5102,7 @@ function useCurrencyOptions(isSourceChain) {
4841
5102
  }
4842
5103
 
4843
5104
  // src/components/reusable/TokenIcon.tsx
4844
- var import_react77 = __toESM(require("react"), 1);
5105
+ var import_react78 = __toESM(require("react"), 1);
4845
5106
  var COIN_LIST = {
4846
5107
  EUR: KEUR_default,
4847
5108
  EURC: EURC_default,
@@ -4866,22 +5127,36 @@ function TokenIcon({
4866
5127
  logger_default.warn(`Token icon not found for symbol: ${symbol}`);
4867
5128
  return null;
4868
5129
  }
4869
- return /* @__PURE__ */ import_react77.default.createElement("div", { className: "icon-wrapper" }, /* @__PURE__ */ import_react77.default.createElement(Icon, { width, height }));
5130
+ return /* @__PURE__ */ import_react78.default.createElement("div", { className: "icon-wrapper" }, /* @__PURE__ */ import_react78.default.createElement(Icon, { width, height }));
4870
5131
  }
4871
5132
 
4872
5133
  // src/components/reusable/CoinDropdown.tsx
4873
5134
  var CoinDropdown = ({
4874
5135
  isSourceChain = true
4875
5136
  }) => {
4876
- const ref = (0, import_react78.useRef)();
5137
+ const ref = (0, import_react79.useRef)();
4877
5138
  const dispatch = (0, import_react_redux29.useDispatch)();
4878
- const [collapsed, setCollapsed] = (0, import_react78.useState)(true);
5139
+ const [collapsed, setCollapsed] = (0, import_react79.useState)(true);
4879
5140
  const sourceCurrency = (0, import_react_redux28.useSelector)(selectSourceCurrency);
5141
+ const mode = (0, import_react_redux28.useSelector)(selectMode);
5142
+ const dAppOption = (0, import_react_redux28.useSelector)(selectDappOption);
5143
+ const transactionOption = (0, import_react_redux28.useSelector)(selectTransactionOption);
4880
5144
  const targetCurrency = (0, import_react_redux28.useSelector)(selectTargetCurrency);
4881
5145
  const { tokenList } = useCurrencyOptions(isSourceChain);
4882
5146
  const theme = (0, import_react_redux28.useSelector)(selectTheme);
4883
5147
  const tokenSymbol = isSourceChain ? sourceCurrency : targetCurrency;
4884
- (0, import_react78.useEffect)(() => {
5148
+ const shouldLockToken = isSourceChain && mode === "payment" /* payment */ && dAppOption !== "none" /* None */ && !!transactionOption?.currency;
5149
+ (0, import_react79.useEffect)(() => {
5150
+ if (!shouldLockToken) return;
5151
+ const matched = tokenList.find(
5152
+ (token) => token.symbol === transactionOption.currency
5153
+ );
5154
+ if (matched) {
5155
+ dispatch(setSourceCurrency(transactionOption.currency));
5156
+ dispatch(setTargetCurrency(transactionOption.currency));
5157
+ }
5158
+ }, [shouldLockToken, transactionOption?.currency, tokenList]);
5159
+ (0, import_react79.useEffect)(() => {
4885
5160
  const bodyMouseDowntHandler = (e) => {
4886
5161
  if (ref?.current && !ref.current.contains(e.target)) {
4887
5162
  setCollapsed(true);
@@ -4899,41 +5174,43 @@ var CoinDropdown = ({
4899
5174
  dispatch(setTargetCurrency(symbol));
4900
5175
  }
4901
5176
  };
4902
- return /* @__PURE__ */ import_react78.default.createElement(
5177
+ return /* @__PURE__ */ import_react79.default.createElement(
4903
5178
  "div",
4904
5179
  {
4905
- className: `coin-dropdown ${theme.colorMode} ${collapsed ? "collapsed" : "toggled"}`,
4906
- onClick: () => setCollapsed((prev) => !prev),
5180
+ className: `coin-dropdown ${theme.colorMode} ${collapsed ? "collapsed" : "toggled"} ${shouldLockToken ? "disabled" : ""}`,
5181
+ onClick: () => {
5182
+ if (!shouldLockToken) setCollapsed((prev) => !prev);
5183
+ },
4907
5184
  ref
4908
5185
  },
4909
- /* @__PURE__ */ import_react78.default.createElement("div", { className: "coin-wrapper" }, /* @__PURE__ */ import_react78.default.createElement(TokenIcon, { symbol: tokenSymbol, width: 24, height: 24 }), /* @__PURE__ */ import_react78.default.createElement("span", { className: "coin" }, tokenSymbol)),
4910
- /* @__PURE__ */ import_react78.default.createElement(
5186
+ /* @__PURE__ */ import_react79.default.createElement("div", { className: "coin-wrapper" }, /* @__PURE__ */ import_react79.default.createElement(TokenIcon, { symbol: tokenSymbol, width: 24, height: 24 }), /* @__PURE__ */ import_react79.default.createElement("span", { className: "coin" }, tokenSymbol)),
5187
+ /* @__PURE__ */ import_react79.default.createElement(
4911
5188
  "div",
4912
5189
  {
4913
5190
  className: `coin-menu ${theme.colorMode} ${collapsed ? "collapsed" : "toggled"}`
4914
5191
  },
4915
- tokenList.map((token) => /* @__PURE__ */ import_react78.default.createElement(
5192
+ tokenList.map((token) => /* @__PURE__ */ import_react79.default.createElement(
4916
5193
  "div",
4917
5194
  {
4918
5195
  className: `coin-item ${theme.colorMode}`,
4919
5196
  key: token.symbol,
4920
5197
  onClick: () => handleDropdownItemClick(token.symbol)
4921
5198
  },
4922
- /* @__PURE__ */ import_react78.default.createElement(TokenIcon, { symbol: token.symbol, width: 24, height: 24 }),
4923
- /* @__PURE__ */ import_react78.default.createElement("p", null, token.symbol)
5199
+ /* @__PURE__ */ import_react79.default.createElement(TokenIcon, { symbol: token.symbol, width: 24, height: 24 }),
5200
+ /* @__PURE__ */ import_react79.default.createElement("p", null, token.symbol)
4924
5201
  ))
4925
5202
  ),
4926
- /* @__PURE__ */ import_react78.default.createElement("div", { className: `dropdown-icon ${collapsed ? "toggled" : "collapsed"}` }, /* @__PURE__ */ import_react78.default.createElement(Arrow_default, { fill: "none" }))
5203
+ !shouldLockToken && /* @__PURE__ */ import_react79.default.createElement("div", { className: `dropdown-icon ${collapsed ? "toggled" : "collapsed"}` }, /* @__PURE__ */ import_react79.default.createElement(Arrow_default, { fill: "none" }))
4927
5204
  );
4928
5205
  };
4929
5206
  var CoinDropdown_default = CoinDropdown;
4930
5207
 
4931
5208
  // src/components/reusable/ConfirmDetails.tsx
4932
- var import_react81 = __toESM(require("react"), 1);
5209
+ var import_react82 = __toESM(require("react"), 1);
4933
5210
  var import_react_redux31 = require("react-redux");
4934
5211
 
4935
5212
  // src/components/reusable/ChainIcon.tsx
4936
- var import_react79 = __toESM(require("react"), 1);
5213
+ var import_react80 = __toESM(require("react"), 1);
4937
5214
  var chainIcons = {
4938
5215
  ARB: Arbitrum_default,
4939
5216
  AVX: Avalanche_default,
@@ -4955,13 +5232,13 @@ function ChainIcon({ symbol }) {
4955
5232
  const Icon = symbol === "FIAT" ? chainIcons["CC"] : chainIcons[symbol];
4956
5233
  if (!Icon) {
4957
5234
  if (symbol) logger_default.warn(`Chain icon not found for symbol: ${symbol}`);
4958
- return /* @__PURE__ */ import_react79.default.createElement("div", null);
5235
+ return /* @__PURE__ */ import_react80.default.createElement("div", null);
4959
5236
  }
4960
- return /* @__PURE__ */ import_react79.default.createElement("div", { className: "icon" }, /* @__PURE__ */ import_react79.default.createElement(Icon, null));
5237
+ return /* @__PURE__ */ import_react80.default.createElement("div", { className: "icon" }, /* @__PURE__ */ import_react80.default.createElement(Icon, null));
4961
5238
  }
4962
5239
 
4963
5240
  // src/components/reusable/FeeDeductionRadioButtons.tsx
4964
- var import_react80 = __toESM(require("react"), 1);
5241
+ var import_react81 = __toESM(require("react"), 1);
4965
5242
  var import_react_redux30 = require("react-redux");
4966
5243
  var FeeDeductionRadioButtons = ({ disabled }) => {
4967
5244
  const dispatch = (0, import_react_redux30.useDispatch)();
@@ -4978,7 +5255,7 @@ var FeeDeductionRadioButtons = ({ disabled }) => {
4978
5255
  const handleChange = (value) => {
4979
5256
  dispatch(setFeeDeduct(value));
4980
5257
  };
4981
- return /* @__PURE__ */ import_react80.default.createElement("div", { className: `fee-deduction-radio-container ${theme.colorMode}` }, /* @__PURE__ */ import_react80.default.createElement("div", { className: "fee-options" }, Number(amount) - totalFee > 0 && /* @__PURE__ */ import_react80.default.createElement("label", { className: `fee-option ${disabled ? "disabled" : ""}` }, /* @__PURE__ */ import_react80.default.createElement(
5258
+ return /* @__PURE__ */ import_react81.default.createElement("div", { className: `fee-deduction-radio-container ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "fee-options" }, Number(amount) - totalFee > 0 && /* @__PURE__ */ import_react81.default.createElement("label", { className: `fee-option ${disabled ? "disabled" : ""}` }, /* @__PURE__ */ import_react81.default.createElement(
4982
5259
  "input",
4983
5260
  {
4984
5261
  type: "radio",
@@ -4987,11 +5264,11 @@ var FeeDeductionRadioButtons = ({ disabled }) => {
4987
5264
  disabled,
4988
5265
  onChange: () => handleChange(true)
4989
5266
  }
4990
- ), /* @__PURE__ */ import_react80.default.createElement("span", { className: `radio-label ${theme.colorMode}` }, `Pay $${formatterFloat.format(
5267
+ ), /* @__PURE__ */ import_react81.default.createElement("span", { className: `radio-label ${theme.colorMode}` }, `Pay $${formatterFloat.format(
4991
5268
  Number(amount)
4992
5269
  )} ${sourceCurrency} in ${sourceNetwork.name} to receive $${formatterFloat.format(
4993
5270
  Number(amount) - totalFee
4994
- )} ${targetCurrency} in ${targetNetwork.name}`)), /* @__PURE__ */ import_react80.default.createElement("label", { className: `fee-option ${disabled ? "disabled" : ""}` }, /* @__PURE__ */ import_react80.default.createElement(
5271
+ )} ${targetCurrency} in ${targetNetwork.name}`)), /* @__PURE__ */ import_react81.default.createElement("label", { className: `fee-option ${disabled ? "disabled" : ""}` }, /* @__PURE__ */ import_react81.default.createElement(
4995
5272
  "input",
4996
5273
  {
4997
5274
  type: "radio",
@@ -5000,7 +5277,7 @@ var FeeDeductionRadioButtons = ({ disabled }) => {
5000
5277
  disabled,
5001
5278
  onChange: () => handleChange(false)
5002
5279
  }
5003
- ), /* @__PURE__ */ import_react80.default.createElement("span", { className: `radio-label ${theme.colorMode}` }, `Pay $${formatterFloat.format(
5280
+ ), /* @__PURE__ */ import_react81.default.createElement("span", { className: `radio-label ${theme.colorMode}` }, `Pay $${formatterFloat.format(
5004
5281
  Number(amount) + totalFee
5005
5282
  )} ${sourceCurrency} in ${sourceNetwork.name} to receive $${formatterFloat.format(
5006
5283
  Number(amount)
@@ -5026,10 +5303,10 @@ var ConfirmDetails = ({
5026
5303
  const bankDetails = (0, import_react_redux31.useSelector)(selectBankDetails);
5027
5304
  const signature = (0, import_react_redux31.useSelector)(selectSignature);
5028
5305
  const networkOptions3 = (0, import_react_redux31.useSelector)(selectNetworks);
5029
- const [feeCollapsed, setFeeCollapsed] = (0, import_react81.useState)(true);
5306
+ const [feeCollapsed, setFeeCollapsed] = (0, import_react82.useState)(true);
5030
5307
  const transactionOption = (0, import_react_redux31.useSelector)(selectTransactionOption);
5031
5308
  const { connectedAddress } = useIsWalletReady4();
5032
- const targetNetworkOption = (0, import_react81.useMemo)(
5309
+ const targetNetworkOption = (0, import_react82.useMemo)(
5033
5310
  () => networkOptions3.filter(
5034
5311
  (network) => network.shortName === (mode === "payment" /* payment */ ? transactionOption?.targetChain : targetNetwork.shortName)
5035
5312
  )[0],
@@ -5038,16 +5315,16 @@ var ConfirmDetails = ({
5038
5315
  const sourceCurrency = (0, import_react_redux31.useSelector)(selectSourceCurrency);
5039
5316
  const targetCurrency = (0, import_react_redux31.useSelector)(selectTargetCurrency);
5040
5317
  const { width, updateWidth } = useWidth_default();
5041
- (0, import_react81.useEffect)(() => {
5318
+ (0, import_react82.useEffect)(() => {
5042
5319
  width === 0 && updateWidth(window.innerWidth);
5043
5320
  }, []);
5044
- return /* @__PURE__ */ import_react81.default.createElement("div", { className: `confirm-details ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement("p", null, "Step ", isApproved ? "2" : "1", "\xA0of 2\xA0\xA0\xA0", isApproved ? "Submit transaction" : originNetwork.shortName === "FIAT" /* FIAT */ ? "Bank Details" : "Approval"), originNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react81.default.createElement("div", null, /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react81.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement(ChainIcon, { symbol: originNetwork?.shortName }), "FIAT"), /* @__PURE__ */ import_react81.default.createElement("p", null, "ES6621000418401234567891")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react81.default.createElement("p", null, "Kima Sandbox")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "BIC:"), /* @__PURE__ */ import_react81.default.createElement("p", null, "CAIXESBBXXX")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "Description:"), /* @__PURE__ */ import_react81.default.createElement("p", { className: "signature" }, signature))) : /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "Source ", originNetwork.shortName !== "CC" && "wallet", ":"), /* @__PURE__ */ import_react81.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement(ChainIcon, { symbol: originNetwork?.shortName }), originNetwork.name)), originNetwork.shortName !== "CC" && /* @__PURE__ */ import_react81.default.createElement("p", { className: theme.colorMode }, dAppOption === "LPDrain" /* LPDrain */ ? targetAddress : connectedAddress))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item amount" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "amount-container" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "Amount to Transfer "), /* @__PURE__ */ import_react81.default.createElement("div", { className: "coin-details" }, /* @__PURE__ */ import_react81.default.createElement("p", null, formatBigInt(txValues.allowanceAmount), " ", sourceCurrency))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "Total Fees"), /* @__PURE__ */ import_react81.default.createElement(
5321
+ return /* @__PURE__ */ import_react82.default.createElement("div", { className: `confirm-details ${theme.colorMode}` }, /* @__PURE__ */ import_react82.default.createElement("p", null, "Step ", isApproved ? "2" : "1", "\xA0of 2\xA0\xA0\xA0", isApproved ? "Submit transaction" : originNetwork.shortName === "FIAT" /* FIAT */ ? "Bank Details" : "Approval"), originNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react82.default.createElement("div", null, /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react82.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react82.default.createElement(ChainIcon, { symbol: originNetwork?.shortName }), "FIAT"), /* @__PURE__ */ import_react82.default.createElement("p", null, "ES6621000418401234567891")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react82.default.createElement("p", null, "Kima Sandbox")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "BIC:"), /* @__PURE__ */ import_react82.default.createElement("p", null, "CAIXESBBXXX")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "Description:"), /* @__PURE__ */ import_react82.default.createElement("p", { className: "signature" }, signature))) : /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "Source ", originNetwork.shortName !== "CC" && "wallet", ":"), /* @__PURE__ */ import_react82.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react82.default.createElement(ChainIcon, { symbol: originNetwork?.shortName }), originNetwork.name)), originNetwork.shortName !== "CC" && /* @__PURE__ */ import_react82.default.createElement("p", { className: theme.colorMode }, dAppOption === "LPDrain" /* LPDrain */ ? targetAddress : connectedAddress))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item amount" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "amount-container" }, dAppOption === "none" /* None */ && /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "Amount to Transfer "), /* @__PURE__ */ import_react82.default.createElement("div", { className: "coin-details" }, /* @__PURE__ */ import_react82.default.createElement("p", null, formatBigInt(txValues.allowanceAmount), " ", sourceCurrency))), dAppOption === "none" /* None */ && /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "Total Fees"), /* @__PURE__ */ import_react82.default.createElement(
5045
5322
  "div",
5046
5323
  {
5047
5324
  className: "fee-collapse",
5048
5325
  onClick: () => setFeeCollapsed(!feeCollapsed)
5049
5326
  },
5050
- /* @__PURE__ */ import_react81.default.createElement(
5327
+ /* @__PURE__ */ import_react82.default.createElement(
5051
5328
  MiniArrow_default,
5052
5329
  {
5053
5330
  width: 15,
@@ -5058,16 +5335,16 @@ var ConfirmDetails = ({
5058
5335
  }
5059
5336
  }
5060
5337
  ),
5061
- /* @__PURE__ */ import_react81.default.createElement("span", { className: "service-fee" }, formatBigInt(totalFee), " ", sourceCurrency)
5062
- )), /* @__PURE__ */ import_react81.default.createElement("div", { className: `fee-breakdown ${feeCollapsed ? "collapsed" : ""}` }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, originNetwork.shortName === "CC" ? "Credit Card Processing Fee" : `Source Network Fee (${originNetwork.shortName})`), /* @__PURE__ */ import_react81.default.createElement("span", { className: "service-fee" }, formatBigInt(sourceFee), " ", sourceCurrency)), /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "Target Network Fee (", targetNetwork.shortName, ")"), /* @__PURE__ */ import_react81.default.createElement("span", { className: "service-fee" }, formatBigInt(targetFee), " ", targetCurrency)), /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "KIMA Service Fee"), /* @__PURE__ */ import_react81.default.createElement("span", { className: "service-fee" }, formatBigInt(kimaFee), " ", sourceCurrency))), /* @__PURE__ */ import_react81.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react81.default.createElement("span", null, "Target Transfer Amount"), /* @__PURE__ */ import_react81.default.createElement("span", { className: "service-fee" }, formatBigInt(txValues.submitAmount), " ", targetCurrency)))), targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react81.default.createElement("div", null, /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react81.default.createElement("p", null, bankDetails.iban), /* @__PURE__ */ import_react81.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), "FIAT")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react81.default.createElement("p", null, bankDetails.recipient))) : /* @__PURE__ */ import_react81.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: "label" }, "Target wallet:"), /* @__PURE__ */ import_react81.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react81.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react81.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), targetNetworkOption?.name)), /* @__PURE__ */ import_react81.default.createElement("p", { className: theme.colorMode }, mode === "light" /* light */ ? targetNetwork.shortName === "SOL" ? lightDemoAccounts.SOL : targetNetwork.shortName === "TRX" ? lightDemoAccounts.TRX : lightDemoAccounts.EVM : dAppOption === "LPDrain" /* LPDrain */ ? connectedAddress : targetAddress))), mode === "bridge" /* bridge */ && BigInt(totalFee.value) > BigInt(0) ? (
5338
+ /* @__PURE__ */ import_react82.default.createElement("span", { className: "service-fee" }, formatBigInt(totalFee), " ", sourceCurrency)
5339
+ )), /* @__PURE__ */ import_react82.default.createElement("div", { className: `fee-breakdown ${feeCollapsed ? "collapsed" : ""}` }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, originNetwork.shortName === "CC" ? "Credit Card Processing Fee" : `Source Network Fee (${originNetwork.shortName})`), /* @__PURE__ */ import_react82.default.createElement("span", { className: "service-fee" }, formatBigInt(sourceFee), " ", sourceCurrency)), /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "Target Network Fee (", targetNetwork.shortName, ")"), /* @__PURE__ */ import_react82.default.createElement("span", { className: "service-fee" }, formatBigInt(targetFee), " ", targetCurrency)), /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "KIMA Service Fee"), /* @__PURE__ */ import_react82.default.createElement("span", { className: "service-fee" }, formatBigInt(kimaFee), " ", sourceCurrency))), /* @__PURE__ */ import_react82.default.createElement("div", { className: "amount-details" }, /* @__PURE__ */ import_react82.default.createElement("span", null, "Target Transfer Amount"), /* @__PURE__ */ import_react82.default.createElement("span", { className: "service-fee" }, formatBigInt(txValues.submitAmount), " ", targetCurrency)))), targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react82.default.createElement("div", null, /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react82.default.createElement("p", null, bankDetails.iban), /* @__PURE__ */ import_react82.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react82.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), "FIAT")), /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react82.default.createElement("p", null, bankDetails.recipient))) : /* @__PURE__ */ import_react82.default.createElement("div", { className: "detail-item" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: "label" }, "Target wallet:"), /* @__PURE__ */ import_react82.default.createElement("div", { className: "network-details" }, /* @__PURE__ */ import_react82.default.createElement("div", { className: "kima-card-network-container" }, /* @__PURE__ */ import_react82.default.createElement("span", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react82.default.createElement(ChainIcon, { symbol: targetNetworkOption?.shortName }), targetNetworkOption?.name)), /* @__PURE__ */ import_react82.default.createElement("p", { className: theme.colorMode }, mode === "light" /* light */ ? targetNetwork.shortName === "SOL" ? lightDemoAccounts.SOL : targetNetwork.shortName === "TRX" ? lightDemoAccounts.TRX : lightDemoAccounts.EVM : dAppOption === "LPDrain" /* LPDrain */ ? connectedAddress : targetAddress))), mode === "bridge" /* bridge */ && BigInt(totalFee.value) > BigInt(0) ? (
5063
5340
  // <FeeDeductionSlider />
5064
- /* @__PURE__ */ import_react81.default.createElement(FeeDeductionRadioButtons_default, { disabled: feeOptionDisabled })
5341
+ /* @__PURE__ */ import_react82.default.createElement(FeeDeductionRadioButtons_default, { disabled: feeOptionDisabled })
5065
5342
  ) : null);
5066
5343
  };
5067
5344
  var ConfirmDetails_default = ConfirmDetails;
5068
5345
 
5069
5346
  // src/components/reusable/AddressInput.tsx
5070
- var import_react82 = __toESM(require("react"), 1);
5347
+ var import_react83 = __toESM(require("react"), 1);
5071
5348
  var import_react_redux32 = require("react-redux");
5072
5349
  var AddressInput = ({
5073
5350
  theme,
@@ -5080,7 +5357,7 @@ var AddressInput = ({
5080
5357
  const targetChain = (0, import_react_redux32.useSelector)(selectTargetChain);
5081
5358
  const { connectedAddress: sourceAddress, isReady } = useIsWalletReady4();
5082
5359
  const targetAddress = (0, import_react_redux32.useSelector)(selectTargetAddress);
5083
- (0, import_react82.useEffect)(() => {
5360
+ (0, import_react83.useEffect)(() => {
5084
5361
  if (mode === "payment" /* payment */) return;
5085
5362
  if (mode === "light" /* light */ && !initialSelection) {
5086
5363
  if (isEVMChain(targetChain.shortName))
@@ -5106,7 +5383,7 @@ var AddressInput = ({
5106
5383
  mode,
5107
5384
  dispatch
5108
5385
  ]);
5109
- return /* @__PURE__ */ import_react82.default.createElement(
5386
+ return /* @__PURE__ */ import_react83.default.createElement(
5110
5387
  "input",
5111
5388
  {
5112
5389
  className: `kima-address-input ${theme}`,
@@ -5121,11 +5398,11 @@ var AddressInput = ({
5121
5398
  var AddressInput_default = AddressInput;
5122
5399
 
5123
5400
  // src/components/reusable/CustomCheckbox.tsx
5124
- var import_react83 = __toESM(require("react"), 1);
5401
+ var import_react84 = __toESM(require("react"), 1);
5125
5402
  var import_react_redux33 = require("react-redux");
5126
5403
 
5127
5404
  // src/components/reusable/StepBox.tsx
5128
- var import_react84 = __toESM(require("react"), 1);
5405
+ var import_react85 = __toESM(require("react"), 1);
5129
5406
  var import_react_redux34 = require("react-redux");
5130
5407
  var stepInfo2 = [
5131
5408
  {
@@ -5149,69 +5426,69 @@ var StepBox = ({ step, errorStep, loadingStep, data }) => {
5149
5426
  const explorerUrl = (0, import_react_redux34.useSelector)(selectKimaExplorer);
5150
5427
  const networkOption = (0, import_react_redux34.useSelector)(selectNetworkOption);
5151
5428
  const networks = (0, import_react_redux34.useSelector)(selectNetworks);
5152
- const sourceChain = (0, import_react84.useMemo)(() => {
5429
+ const { width: windowWidth } = useWidth_default();
5430
+ const sourceChain = (0, import_react85.useMemo)(() => {
5153
5431
  const sourceKey = data?.sourceChain === "FIAT" ? "CC" : data?.sourceChain;
5154
5432
  return networks.find((network) => network.shortName === sourceKey);
5155
5433
  }, [data, networks]);
5156
- const targetChain = (0, import_react84.useMemo)(
5434
+ const targetChain = (0, import_react85.useMemo)(
5157
5435
  () => networks.find((network) => network.shortName === data?.targetChain),
5158
5436
  [data, networks]
5159
5437
  );
5160
- return /* @__PURE__ */ import_react84.default.createElement("div", { className: "kima-stepbox" }, /* @__PURE__ */ import_react84.default.createElement("div", { className: `content-wrapper ${theme.colorMode}` }, stepInfo2.map((item, index) => /* @__PURE__ */ import_react84.default.createElement("div", { key: item.title, className: "step-item" }, /* @__PURE__ */ import_react84.default.createElement(
5438
+ return /* @__PURE__ */ import_react85.default.createElement("div", { className: "kima-stepbox" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: `content-wrapper ${theme.colorMode}` }, stepInfo2.map((item, index) => /* @__PURE__ */ import_react85.default.createElement("div", { key: item.title, className: "step-item" }, /* @__PURE__ */ import_react85.default.createElement(
5161
5439
  "div",
5162
5440
  {
5163
5441
  className: `info-item
5164
5442
  ${step >= index ? index === loadingStep ? "active" : index === errorStep ? "error" : "completed" : ""}
5165
5443
  ${step < index && "locked"} ${theme.colorMode}`
5166
5444
  },
5167
- step < index && /* @__PURE__ */ import_react84.default.createElement(Lock_default, null),
5168
- step >= index ? index === loadingStep ? /* @__PURE__ */ import_react84.default.createElement(Loader_default, { className: "loader" }) : index === errorStep ? /* @__PURE__ */ import_react84.default.createElement(Warning_default, null) : /* @__PURE__ */ import_react84.default.createElement(Check_default, null) : null,
5169
- /* @__PURE__ */ import_react84.default.createElement("p", null, item.title)
5170
- ), index === 0 && data?.kimaTxHash ? /* @__PURE__ */ import_react84.default.createElement("div", { className: `info-item ${theme.colorMode}` }, /* @__PURE__ */ import_react84.default.createElement("div", { className: "icon" }, /* @__PURE__ */ import_react84.default.createElement(USDK_default, { width: 30, height: 30 })), /* @__PURE__ */ import_react84.default.createElement("p", { className: "chain-name" }, "Kima TX Hash:"), /* @__PURE__ */ import_react84.default.createElement("p", null, /* @__PURE__ */ import_react84.default.createElement(
5445
+ /* @__PURE__ */ import_react85.default.createElement("div", { className: "info-icon" }, step < index && /* @__PURE__ */ import_react85.default.createElement(Lock_default, { width: 24, height: 24 }), step >= index ? index === loadingStep ? /* @__PURE__ */ import_react85.default.createElement(Loader_default, { width: 24, height: 24, className: "loader" }) : index === errorStep ? /* @__PURE__ */ import_react85.default.createElement(Warning_default, { width: 24, height: 24 }) : /* @__PURE__ */ import_react85.default.createElement(Check_default, { width: 24, height: 24 }) : null),
5446
+ /* @__PURE__ */ import_react85.default.createElement("p", null, item.title)
5447
+ ), index === 0 && data?.kimaTxHash ? /* @__PURE__ */ import_react85.default.createElement("div", { className: `info-item ${theme.colorMode}` }, /* @__PURE__ */ import_react85.default.createElement("div", { className: "icon" }, /* @__PURE__ */ import_react85.default.createElement(USDK_default, { width: 30, height: 30 })), /* @__PURE__ */ import_react85.default.createElement("p", { className: "chain-name" }, "Kima TX Hash:"), /* @__PURE__ */ import_react85.default.createElement("p", null, /* @__PURE__ */ import_react85.default.createElement(
5171
5448
  ExternalLink_default,
5172
5449
  {
5173
5450
  to: `${explorerUrl}/transactions/?tx=${data?.kimaTxHash}`
5174
5451
  },
5175
5452
  getShortenedAddress(data?.kimaTxHash || "")
5176
- ), /* @__PURE__ */ import_react84.default.createElement(CopyButton_default, { text: data?.kimaTxHash }))) : null, index === 1 && data?.tssPullHash && sourceChain?.shortName !== "CC" ? /* @__PURE__ */ import_react84.default.createElement(
5453
+ ), /* @__PURE__ */ import_react85.default.createElement(CopyButton_default, { text: data?.kimaTxHash }))) : null, index === 1 && data?.tssPullHash && sourceChain?.shortName !== "CC" ? /* @__PURE__ */ import_react85.default.createElement(
5177
5454
  "div",
5178
5455
  {
5179
5456
  className: `info-item ${theme.colorMode} source-chain ${step >= 3 ? "paid" : ""}`
5180
5457
  },
5181
- /* @__PURE__ */ import_react84.default.createElement(ChainIcon, { symbol: data.sourceChain }),
5182
- /* @__PURE__ */ import_react84.default.createElement("p", { className: "chain-name" }, sourceChain?.name, " TX Hash:"),
5183
- /* @__PURE__ */ import_react84.default.createElement("p", null, /* @__PURE__ */ import_react84.default.createElement(
5458
+ /* @__PURE__ */ import_react85.default.createElement(ChainIcon, { symbol: data.sourceChain }),
5459
+ /* @__PURE__ */ import_react85.default.createElement("p", { className: "chain-name" }, windowWidth >= 770 ? sourceChain?.name : sourceChain?.shortName, " ", "TX Hash:"),
5460
+ /* @__PURE__ */ import_react85.default.createElement("p", null, /* @__PURE__ */ import_react85.default.createElement(
5184
5461
  ExternalLink_default,
5185
5462
  {
5186
5463
  to: `${sourceChain?.blockExplorers?.default.url}/${data?.sourceChain === "TRX" /* TRON */ ? "#/transaction" : "tx"}/${data?.tssPullHash}${data?.sourceChain === "SOL" /* SOLANA */ && networkOption === "testnet" /* testnet */ ? "?cluster=devnet" : ""}`
5187
5464
  },
5188
5465
  getShortenedAddress(data?.tssPullHash || "")
5189
- ), /* @__PURE__ */ import_react84.default.createElement(CopyButton_default, { text: data?.tssPullHash || "" }))
5190
- ) : null, index === 3 && data?.tssRefundHash ? /* @__PURE__ */ import_react84.default.createElement("div", { className: `info-item ${theme.colorMode} target-chain` }, /* @__PURE__ */ import_react84.default.createElement(ChainIcon, { symbol: data.sourceChain }), /* @__PURE__ */ import_react84.default.createElement("p", { className: "chain-name" }, sourceChain?.name, " TX Hash:"), /* @__PURE__ */ import_react84.default.createElement("p", null, /* @__PURE__ */ import_react84.default.createElement(
5466
+ ), /* @__PURE__ */ import_react85.default.createElement(CopyButton_default, { text: data?.tssPullHash || "" }))
5467
+ ) : null, index === 3 && data?.tssRefundHash ? /* @__PURE__ */ import_react85.default.createElement("div", { className: `info-item ${theme.colorMode} target-chain` }, /* @__PURE__ */ import_react85.default.createElement(ChainIcon, { symbol: data.sourceChain }), /* @__PURE__ */ import_react85.default.createElement("p", { className: "chain-name" }, windowWidth >= 770 ? sourceChain?.name : sourceChain?.shortName, " ", "TX Hash:"), /* @__PURE__ */ import_react85.default.createElement("p", null, /* @__PURE__ */ import_react85.default.createElement(
5191
5468
  ExternalLink_default,
5192
5469
  {
5193
5470
  to: `${sourceChain?.blockExplorers?.default.url}/${data?.sourceChain === "TRX" /* TRON */ ? "#/transaction" : "tx"}/${data?.tssRefundHash}${data?.sourceChain === "SOL" /* SOLANA */ && networkOption === "testnet" /* testnet */ ? "?cluster=devnet" : ""}`
5194
5471
  },
5195
5472
  getShortenedAddress(data?.tssRefundHash || "")
5196
- ), /* @__PURE__ */ import_react84.default.createElement(CopyButton_default, { text: data?.tssRefundHash || "" }))) : null, index === 3 && data?.tssReleaseHash ? /* @__PURE__ */ import_react84.default.createElement("div", { className: `info-item ${theme.colorMode} target-chain` }, /* @__PURE__ */ import_react84.default.createElement(ChainIcon, { symbol: data.targetChain }), /* @__PURE__ */ import_react84.default.createElement("p", { className: "chain-name" }, targetChain?.name, " TX Hash:"), /* @__PURE__ */ import_react84.default.createElement("p", null, /* @__PURE__ */ import_react84.default.createElement(
5473
+ ), /* @__PURE__ */ import_react85.default.createElement(CopyButton_default, { text: data?.tssRefundHash || "" }))) : null, index === 3 && data?.tssReleaseHash ? /* @__PURE__ */ import_react85.default.createElement("div", { className: `info-item ${theme.colorMode} target-chain` }, /* @__PURE__ */ import_react85.default.createElement(ChainIcon, { symbol: data.targetChain }), /* @__PURE__ */ import_react85.default.createElement("p", { className: "chain-name" }, windowWidth >= 770 ? targetChain?.name : targetChain?.shortName, " ", "TX Hash:"), /* @__PURE__ */ import_react85.default.createElement("p", null, /* @__PURE__ */ import_react85.default.createElement(
5197
5474
  ExternalLink_default,
5198
5475
  {
5199
5476
  to: `${targetChain?.blockExplorers?.default.url}/${data?.targetChain === "TRX" /* TRON */ ? "#/transaction" : "tx"}/${data?.tssReleaseHash}${data?.targetChain === "SOL" /* SOLANA */ && networkOption === "testnet" /* testnet */ ? "?cluster=devnet" : ""}`
5200
5477
  },
5201
5478
  getShortenedAddress(data?.tssReleaseHash || "")
5202
- ), /* @__PURE__ */ import_react84.default.createElement(CopyButton_default, { text: data?.tssReleaseHash || "" }))) : null))));
5479
+ ), /* @__PURE__ */ import_react85.default.createElement(CopyButton_default, { text: data?.tssReleaseHash || "" }))) : null))));
5203
5480
  };
5204
5481
  var StepBox_default = StepBox;
5205
5482
 
5206
5483
  // src/components/reusable/BankInput.tsx
5207
- var import_react85 = __toESM(require("react"), 1);
5484
+ var import_react86 = __toESM(require("react"), 1);
5208
5485
  var import_react_redux35 = require("react-redux");
5209
5486
  var import_react_redux36 = require("react-redux");
5210
5487
  var BankInput = () => {
5211
5488
  const dispatch = (0, import_react_redux35.useDispatch)();
5212
5489
  const theme = (0, import_react_redux36.useSelector)(selectTheme);
5213
5490
  const bankDetails = (0, import_react_redux36.useSelector)(selectBankDetails);
5214
- return /* @__PURE__ */ import_react85.default.createElement("div", { className: "bank-input" }, /* @__PURE__ */ import_react85.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react85.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react85.default.createElement(
5491
+ return /* @__PURE__ */ import_react86.default.createElement("div", { className: "bank-input" }, /* @__PURE__ */ import_react86.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react86.default.createElement("span", { className: "label" }, "IBAN:"), /* @__PURE__ */ import_react86.default.createElement(
5215
5492
  "input",
5216
5493
  {
5217
5494
  className: "kima-address-input",
@@ -5219,7 +5496,7 @@ var BankInput = () => {
5219
5496
  value: bankDetails.iban,
5220
5497
  onChange: (e) => dispatch(setBankDetails({ ...bankDetails, iban: e.target.value }))
5221
5498
  }
5222
- )), /* @__PURE__ */ import_react85.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react85.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react85.default.createElement(
5499
+ )), /* @__PURE__ */ import_react86.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react86.default.createElement("span", { className: "label" }, "Recipient:"), /* @__PURE__ */ import_react86.default.createElement(
5223
5500
  "input",
5224
5501
  {
5225
5502
  className: "kima-address-input",
@@ -5234,7 +5511,7 @@ var BankInput = () => {
5234
5511
  var BankInput_default = BankInput;
5235
5512
 
5236
5513
  // src/components/reusable/TxButton.tsx
5237
- var import_react86 = __toESM(require("react"), 1);
5514
+ var import_react87 = __toESM(require("react"), 1);
5238
5515
  var import_react_redux37 = require("react-redux");
5239
5516
  var import_react_redux38 = require("react-redux");
5240
5517
  var TxButton = ({ theme }) => {
@@ -5243,14 +5520,14 @@ var TxButton = ({ theme }) => {
5243
5520
  dispatch(setPendingTxPopup(true));
5244
5521
  };
5245
5522
  const txCount = (0, import_react_redux38.useSelector)(selectPendingTxs);
5246
- return /* @__PURE__ */ import_react86.default.createElement(
5523
+ return /* @__PURE__ */ import_react87.default.createElement(
5247
5524
  "button",
5248
5525
  {
5249
5526
  className: `secondary-button tx-button ${theme.colorMode}`,
5250
5527
  onClick: handleClick
5251
5528
  },
5252
5529
  txCount,
5253
- /* @__PURE__ */ import_react86.default.createElement(
5530
+ /* @__PURE__ */ import_react87.default.createElement(
5254
5531
  ring_default,
5255
5532
  {
5256
5533
  height: 16,
@@ -5269,7 +5546,7 @@ var import_react_redux43 = require("react-redux");
5269
5546
  var import_react_hot_toast3 = require("react-hot-toast");
5270
5547
 
5271
5548
  // src/hooks/useGetTxData.ts
5272
- var import_react87 = require("react");
5549
+ var import_react88 = require("react");
5273
5550
  var import_react_query14 = require("@tanstack/react-query");
5274
5551
 
5275
5552
  // src/services/transactionApi.ts
@@ -5286,43 +5563,25 @@ var emptyStatus = {
5286
5563
  kimaTxHash: "",
5287
5564
  failReason: ""
5288
5565
  };
5289
- var selectStatus = (response) => {
5290
- if ("liquidity_transaction_data" in response.data) {
5291
- const data2 = response.data.liquidity_transaction_data;
5292
- if (!data2) return emptyStatus;
5293
- return {
5294
- status: data2.txstatus,
5295
- sourceChain: data2.chain,
5296
- targetChain: data2.chain,
5297
- tssPullHash: data2.releasehash,
5298
- tssReleaseHash: data2.releasehash,
5299
- tssRefundHash: data2.refundhash,
5300
- failReason: data2.failreason,
5301
- amount: data2.amount,
5302
- sourceSymbol: data2.symbol,
5303
- targetSymbol: data2.symbol,
5304
- kimaTxHash: data2.kimahash
5305
- };
5306
- }
5307
- const data = response.data.transaction_data;
5308
- if (!data) return emptyStatus;
5566
+ var parseTxData = (raw) => {
5567
+ if (!raw) return emptyStatus;
5309
5568
  return {
5310
- status: data.txstatus,
5311
- sourceChain: data.originchain,
5312
- targetChain: data.targetchain,
5313
- tssPullHash: data.pullhash,
5314
- tssReleaseHash: data.releasehash,
5315
- tssRefundHash: data.refundhash,
5316
- failReason: data.failreason,
5317
- amount: data.amount,
5318
- sourceSymbol: data.originsymbol,
5319
- targetSymbol: data.targetsymbol,
5320
- kimaTxHash: data.kimahash
5569
+ status: raw.txstatus,
5570
+ sourceChain: raw.originchain,
5571
+ targetChain: raw.targetchain,
5572
+ tssPullHash: raw.pullhash,
5573
+ tssReleaseHash: raw.releasehash,
5574
+ tssRefundHash: raw.refundhash,
5575
+ failReason: raw.failreason,
5576
+ amount: raw.amount,
5577
+ sourceSymbol: raw.originsymbol,
5578
+ targetSymbol: raw.targetsymbol,
5579
+ kimaTxHash: raw.kimahash
5321
5580
  };
5322
5581
  };
5323
5582
  var isFinished = (data) => {
5324
5583
  if (!data) return false;
5325
- return !!data.status && [
5584
+ return [
5326
5585
  "Completed" /* COMPLETED */,
5327
5586
  "FailedToPull" /* FAILEDTOPULL */,
5328
5587
  "FailedToPay" /* FAILEDTOPAY */,
@@ -5344,11 +5603,11 @@ var getTxData = async ({
5344
5603
  `${backendUrl}/${path}/${txId}/status`
5345
5604
  );
5346
5605
  if (typeof response === "string") throw new Error(response);
5347
- const data = selectStatus(
5348
- response
5349
- );
5350
- refPollForUpdates.current = !isFinished(data);
5351
- return data;
5606
+ const res = response;
5607
+ const raw = isLP ? res.data.liquidity_transaction_data : res.data.transaction_data;
5608
+ const parsed = parseTxData(raw);
5609
+ refPollForUpdates.current = !isFinished(parsed);
5610
+ return parsed;
5352
5611
  } catch (error) {
5353
5612
  logger_default.error(`Error fetching transaction ${txId} data:`, error);
5354
5613
  throw new Error(
@@ -5360,7 +5619,7 @@ var getTxData = async ({
5360
5619
  // src/hooks/useGetTxData.ts
5361
5620
  var POLLING_INTERVAL_MS = 1e3 * 10;
5362
5621
  var useGetTxData = (txId, dAppOption, backendUrl) => {
5363
- const refPollForUpdates = (0, import_react87.useRef)(false);
5622
+ const refPollForUpdates = (0, import_react88.useRef)(false);
5364
5623
  const isLP = dAppOption === "LPAdd" /* LPAdd */ || dAppOption === "LPDrain" /* LPDrain */;
5365
5624
  const validTxId = typeof txId === "number" ? txId > 0 : txId.toString().length > 0;
5366
5625
  const result = (0, import_react_query14.useQuery)({
@@ -5377,17 +5636,17 @@ var useGetTxData = (txId, dAppOption, backendUrl) => {
5377
5636
  var useGetTxData_default = useGetTxData;
5378
5637
 
5379
5638
  // src/components/reusable/TransactionStatusMessage.tsx
5380
- var import_react88 = __toESM(require("react"), 1);
5639
+ var import_react89 = __toESM(require("react"), 1);
5381
5640
  var TransactionStatusMessage = ({
5382
5641
  isCompleted,
5383
5642
  transactionId
5384
5643
  }) => {
5385
- return /* @__PURE__ */ import_react88.default.createElement("div", { className: "transaction-status-message" }, /* @__PURE__ */ import_react88.default.createElement("h2", null, isCompleted !== "Completed" /* COMPLETED */ && "Your transaction is currently being processed.", " ", "Please copy the Transaction ID below for future reference. You can use this ID to track the transaction status or resolve any issues if needed."), /* @__PURE__ */ import_react88.default.createElement("span", { className: "transaction-copy" }, /* @__PURE__ */ import_react88.default.createElement("h3", null, transactionId), /* @__PURE__ */ import_react88.default.createElement(CopyButton_default, { text: transactionId })));
5644
+ return /* @__PURE__ */ import_react89.default.createElement("div", { className: "transaction-status-message" }, /* @__PURE__ */ import_react89.default.createElement("h2", null, isCompleted !== "Completed" /* COMPLETED */ && "Your transaction is currently being processed.", " ", "Please copy the Transaction ID below for future reference. You can use this ID to track the transaction status or resolve any issues if needed."), /* @__PURE__ */ import_react89.default.createElement("span", { className: "transaction-copy" }, /* @__PURE__ */ import_react89.default.createElement("h3", null, transactionId), /* @__PURE__ */ import_react89.default.createElement(CopyButton_default, { text: transactionId })));
5386
5645
  };
5387
5646
  var TransactionStatusMessage_default = TransactionStatusMessage;
5388
5647
 
5389
5648
  // src/components/reusable/TransactionSearch.tsx
5390
- var import_react89 = __toESM(require("react"), 1);
5649
+ var import_react90 = __toESM(require("react"), 1);
5391
5650
  var import_react_redux39 = require("react-redux");
5392
5651
  var import_react_redux40 = require("react-redux");
5393
5652
  var import_react_hot_toast2 = __toESM(require("react-hot-toast"), 1);
@@ -5395,12 +5654,12 @@ var TransactionSearch = () => {
5395
5654
  const theme = (0, import_react_redux39.useSelector)(selectTheme);
5396
5655
  const backendUrl = (0, import_react_redux39.useSelector)(selectBackendUrl);
5397
5656
  const dispatch = (0, import_react_redux40.useDispatch)();
5398
- const [transactionId, setTransactionId] = (0, import_react89.useState)("");
5399
- const refPollForUpdates = (0, import_react89.useRef)(false);
5657
+ const [transactionId, setTransactionId] = (0, import_react90.useState)("");
5658
+ const refPollForUpdates = (0, import_react90.useRef)(false);
5400
5659
  const handleSearch = async () => {
5401
5660
  if (transactionId.length <= 0)
5402
5661
  return import_react_hot_toast2.default.error("You must provide a valid transaction id", {
5403
- icon: /* @__PURE__ */ import_react89.default.createElement(Error_default, null)
5662
+ icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5404
5663
  });
5405
5664
  try {
5406
5665
  const data = await getTxData({
@@ -5417,11 +5676,11 @@ var TransactionSearch = () => {
5417
5676
  logger_default.error("Error searching transaction: ", error);
5418
5677
  return import_react_hot_toast2.default.error(
5419
5678
  "Transaction not found. Please check for the proper transaction id.",
5420
- { icon: /* @__PURE__ */ import_react89.default.createElement(Error_default, null) }
5679
+ { icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null) }
5421
5680
  );
5422
5681
  }
5423
5682
  };
5424
- return /* @__PURE__ */ import_react89.default.createElement("div", { className: "form-item transaction-search" }, /* @__PURE__ */ import_react89.default.createElement("div", { className: "transaction-input" }, /* @__PURE__ */ import_react89.default.createElement("span", { className: "label" }, "Search Transaction:"), /* @__PURE__ */ import_react89.default.createElement(
5683
+ return /* @__PURE__ */ import_react90.default.createElement("div", { className: "form-item transaction-search" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "transaction-input" }, /* @__PURE__ */ import_react90.default.createElement("span", { className: "label" }, "Search Transaction:"), /* @__PURE__ */ import_react90.default.createElement(
5425
5684
  "input",
5426
5685
  {
5427
5686
  className: `${theme.colorMode}`,
@@ -5431,19 +5690,21 @@ var TransactionSearch = () => {
5431
5690
  onChange: (e) => setTransactionId(e.target.value),
5432
5691
  spellCheck: false
5433
5692
  }
5434
- )), /* @__PURE__ */ import_react89.default.createElement(SecondaryButton_default, { clickHandler: handleSearch }, "Search"));
5693
+ )), /* @__PURE__ */ import_react90.default.createElement(SecondaryButton_default, { clickHandler: handleSearch }, "Search"));
5435
5694
  };
5436
5695
  var TransactionSearch_default = TransactionSearch;
5437
5696
 
5438
5697
  // src/components/TransactionWidget.tsx
5439
5698
  var TransactionWidget = ({ theme }) => {
5440
- const [step, setStep] = (0, import_react90.useState)(0);
5441
- const [focus, setFocus] = (0, import_react90.useState)(-1);
5442
- const [errorStep, setErrorStep] = (0, import_react90.useState)(-1);
5443
- const [errorMessage, setErrorMessage] = (0, import_react90.useState)("");
5444
- const [loadingStep, setLoadingStep] = (0, import_react90.useState)(-1);
5445
- const [minimized, setMinimized] = (0, import_react90.useState)(false);
5699
+ const [step, setStep] = (0, import_react91.useState)(0);
5700
+ const [focus, setFocus] = (0, import_react91.useState)(-1);
5701
+ const [errorStep, setErrorStep] = (0, import_react91.useState)(-1);
5702
+ const [errorMessage, setErrorMessage] = (0, import_react91.useState)("");
5703
+ const [loadingStep, setLoadingStep] = (0, import_react91.useState)(-1);
5704
+ const [minimized, setMinimized] = (0, import_react91.useState)(false);
5705
+ const [isComplete, setIsComplete] = (0, import_react91.useState)(false);
5446
5706
  const dispatch = (0, import_react_redux43.useDispatch)();
5707
+ const explorerUrl = (0, import_react_redux42.useSelector)(selectKimaExplorer);
5447
5708
  const mode = (0, import_react_redux42.useSelector)(selectMode);
5448
5709
  const feeDeduct = (0, import_react_redux42.useSelector)(selectFeeDeduct);
5449
5710
  const amount = (0, import_react_redux42.useSelector)(selectAmount);
@@ -5460,42 +5721,52 @@ var TransactionWidget = ({ theme }) => {
5460
5721
  const { successHandler, closeHandler } = useKimaContext();
5461
5722
  const backendUrl = (0, import_react_redux42.useSelector)(selectBackendUrl);
5462
5723
  const { data, error } = useGetTxData_default(txId, dAppOption, backendUrl);
5463
- const transactionSourceChain = (0, import_react90.useMemo)(
5724
+ const { width: windowWidth, updateWidth } = useWidth_default();
5725
+ (0, import_react91.useEffect)(() => {
5726
+ windowWidth === 0 && updateWidth(window.innerWidth);
5727
+ }, []);
5728
+ const transactionSourceChain = (0, import_react91.useMemo)(
5464
5729
  () => networks.find(
5465
5730
  (network) => network.shortName === (mode === "status" /* status */ ? data?.sourceChain === "FIAT" ? "CC" : data?.sourceChain : sourceChain.shortName)
5466
5731
  ),
5467
5732
  [data, mode, sourceChain]
5468
5733
  );
5469
- const transactionTargetChain = (0, import_react90.useMemo)(
5734
+ const transactionTargetChain = (0, import_react91.useMemo)(
5470
5735
  () => networks.find(
5471
5736
  (network) => network.shortName === (mode === "status" /* status */ ? data?.targetChain : targetChain.shortName)
5472
5737
  ),
5473
5738
  [data, mode, targetChain]
5474
5739
  );
5475
- const isValidTxId = (0, import_react90.useMemo)(() => {
5740
+ const isValidTxId = (0, import_react91.useMemo)(() => {
5476
5741
  return !(!txId || typeof txId === "string" && txId.length === 0 || typeof txId === "number" && txId < 0);
5477
5742
  }, [txId]);
5478
- const isEmptyStatus = (0, import_react90.useMemo)(() => {
5743
+ const isEmptyStatus = (0, import_react91.useMemo)(() => {
5479
5744
  if (!data) return true;
5480
5745
  return data?.amount === "";
5481
5746
  }, [data]);
5482
5747
  const { data: chainData } = useChainData(backendUrl);
5483
- (0, import_react90.useEffect)(() => {
5748
+ (0, import_react91.useEffect)(() => {
5484
5749
  if (!data || data.status !== "Completed" /* COMPLETED */) return;
5485
5750
  successHandler && successHandler({
5486
5751
  txId
5487
5752
  });
5488
5753
  }, [data]);
5489
- (0, import_react90.useEffect)(() => {
5754
+ (0, import_react91.useEffect)(() => {
5755
+ if (!data) return;
5756
+ if (data.status === "Completed" /* COMPLETED */) {
5757
+ setIsComplete(true);
5758
+ }
5759
+ }, [data, setIsComplete]);
5760
+ (0, import_react91.useEffect)(() => {
5490
5761
  if (error)
5491
5762
  import_react_hot_toast3.toast.error(
5492
5763
  "The provided transaction id is not valid, please use a different one or contact support for further assistance",
5493
5764
  {
5494
- icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5765
+ icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null)
5495
5766
  }
5496
5767
  );
5497
5768
  }, [error]);
5498
- (0, import_react90.useEffect)(() => {
5769
+ (0, import_react91.useEffect)(() => {
5499
5770
  if (!data) {
5500
5771
  setStep(0);
5501
5772
  setLoadingStep(0);
@@ -5515,7 +5786,7 @@ var TransactionWidget = ({ theme }) => {
5515
5786
  setErrorStep(1);
5516
5787
  setLoadingStep(-1);
5517
5788
  logger_default.error("transaction failed:", data.failReason);
5518
- import_react_hot_toast3.toast.error("Unavailable", { icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null) });
5789
+ import_react_hot_toast3.toast.error("Unavailable", { icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null) });
5519
5790
  setErrorMessage("Unavailable");
5520
5791
  } else if (status === "Paid" /* PAID */) {
5521
5792
  setStep(3);
@@ -5526,7 +5797,7 @@ var TransactionWidget = ({ theme }) => {
5526
5797
  import_react_hot_toast3.toast.error(
5527
5798
  "Failed to release tokens to target! Starting refund process.",
5528
5799
  {
5529
- icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5800
+ icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null)
5530
5801
  }
5531
5802
  );
5532
5803
  setErrorMessage(
@@ -5537,7 +5808,7 @@ var TransactionWidget = ({ theme }) => {
5537
5808
  setErrorStep(3);
5538
5809
  setLoadingStep(-1);
5539
5810
  import_react_hot_toast3.toast.error("Failed to refund tokens to source!", {
5540
- icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5811
+ icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null)
5541
5812
  });
5542
5813
  setErrorMessage("Failed to refund tokens to source!");
5543
5814
  } else if (status === "RefundCompleted" /* REFUNDCOMPLETED */) {
@@ -5545,7 +5816,7 @@ var TransactionWidget = ({ theme }) => {
5545
5816
  setErrorStep(3);
5546
5817
  setLoadingStep(-1);
5547
5818
  import_react_hot_toast3.toast.success("Refund completed!", {
5548
- icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5819
+ icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null)
5549
5820
  });
5550
5821
  setErrorMessage("Refund completed!");
5551
5822
  } else if (status === "FailedToPay" /* FAILEDTOPAY */) {
@@ -5554,7 +5825,7 @@ var TransactionWidget = ({ theme }) => {
5554
5825
  setLoadingStep(-1);
5555
5826
  logger_default.error("transaction failed:", data.failReason);
5556
5827
  import_react_hot_toast3.toast.error("Failed to release tokens to target!", {
5557
- icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null)
5828
+ icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null)
5558
5829
  });
5559
5830
  setErrorMessage("Failed to release tokens to target!");
5560
5831
  } else if (status === "FailedToPull" /* FAILEDTOPULL */) {
@@ -5562,7 +5833,7 @@ var TransactionWidget = ({ theme }) => {
5562
5833
  setErrorStep(1);
5563
5834
  setLoadingStep(-1);
5564
5835
  logger_default.error("transaction failed:", data.failReason);
5565
- import_react_hot_toast3.toast.error("Failed to pull tokens from source!", { icon: /* @__PURE__ */ import_react90.default.createElement(Error_default, null) });
5836
+ import_react_hot_toast3.toast.error("Failed to pull tokens from source!", { icon: /* @__PURE__ */ import_react91.default.createElement(Error_default, null) });
5566
5837
  setErrorMessage("Failed to pull tokens from source!");
5567
5838
  } else if (status === "Completed" /* COMPLETED */) {
5568
5839
  setStep(4);
@@ -5575,7 +5846,7 @@ var TransactionWidget = ({ theme }) => {
5575
5846
  }
5576
5847
  }, [data?.status]);
5577
5848
  const resetForm = () => {
5578
- closeHandler && closeHandler();
5849
+ setIsComplete(false);
5579
5850
  dispatch(resetServiceFee());
5580
5851
  if (mode === "light" /* light */) {
5581
5852
  dispatch(setMode("light" /* light */));
@@ -5617,41 +5888,76 @@ var TransactionWidget = ({ theme }) => {
5617
5888
  dispatch(
5618
5889
  setMode(transactionOption ? "payment" /* payment */ : "bridge" /* bridge */)
5619
5890
  );
5620
- dispatch(setAmount(""));
5891
+ dispatch(setAmount(transactionOption?.amount.toString() || ""));
5621
5892
  dispatch(setCCTransactionId(""));
5622
5893
  dispatch(setCCTransactionStatus("idle"));
5623
5894
  dispatch(setTxId(-1));
5624
5895
  dispatch(setSubmitted(false));
5625
5896
  };
5626
- return /* @__PURE__ */ import_react90.default.createElement(import_react_redux41.Provider, { store }, /* @__PURE__ */ import_react90.default.createElement(
5897
+ return /* @__PURE__ */ import_react91.default.createElement(import_react_redux41.Provider, { store }, /* @__PURE__ */ import_react91.default.createElement(
5627
5898
  "div",
5628
5899
  {
5629
- className: `kima-card transaction-card ${theme.colorMode} ${minimized ? "minimized" : ""}`,
5900
+ className: `kima-card transaction-card ${isComplete ? "transaction-complete" : ""} ${theme.colorMode} ${minimized ? "minimized" : ""}`,
5630
5901
  style: {
5631
5902
  background: theme.colorMode === "light" /* light */ ? theme.backgroundColorLight : theme.backgroundColorDark
5632
5903
  }
5633
5904
  },
5634
- /* @__PURE__ */ import_react90.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "title" }, isValidTxId && !error ? /* @__PURE__ */ import_react90.default.createElement("div", { className: "transaction-title" }, mode !== "status" /* status */ ? data?.status === "Completed" /* COMPLETED */ ? "Transferred " : "Transfering " : isEmptyStatus ? "Fetching transaction status " : data?.status === "Completed" /* COMPLETED */ ? "Transfered " : "Transfering ", mode !== "status" /* status */ ? Number(amount) !== 0 ? transactionSourceChain?.shortName === "CC" ? bigIntToNumber(txValues.allowanceAmount).toFixed(2) : formatBigInt(txValues.allowanceAmount) : "" : data?.amount || "", " ", mode !== "status" /* status */ ? `${sourceSymbol} ` : isEmptyStatus ? "" : `(${data?.sourceSymbol})`, /* @__PURE__ */ import_react90.default.createElement("div", { className: "title-icon" }, /* @__PURE__ */ import_react90.default.createElement(
5905
+ /* @__PURE__ */ import_react91.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "topbar" }, !isComplete && /* @__PURE__ */ import_react91.default.createElement("div", { className: "title" }, isValidTxId && !error ? /* @__PURE__ */ import_react91.default.createElement("div", { className: "transaction-title" }, mode !== "status" /* status */ ? data?.status === "Completed" /* COMPLETED */ ? "Transferred " : "Transfering " : isEmptyStatus ? "Fetching transaction status " : data?.status === "Completed" /* COMPLETED */ ? "Transferred " : "Transfering ", mode !== "status" /* status */ ? Number(amount) !== 0 ? transactionSourceChain?.shortName === "CC" ? bigIntToNumber(txValues.allowanceAmount).toFixed(2) : formatBigInt(txValues.allowanceAmount) : "" : data?.amount || "", " ", mode !== "status" /* status */ ? `${sourceSymbol} ` : isEmptyStatus ? "" : `${data?.sourceSymbol}`, mode !== "status" /* status */ ? `\u2192 ` : isEmptyStatus ? "" : `\u2192 `, mode !== "status" /* status */ ? Number(amount) !== 0 ? transactionSourceChain?.shortName === "CC" ? bigIntToNumber(txValues.submitAmount).toFixed(2) : formatBigInt(txValues.submitAmount) : "" : data?.amount || "", " ", mode !== "status" /* status */ ? `${targetSymbol}${" "}` : isEmptyStatus ? "" : `${data?.targetSymbol}${" "}`) : /* @__PURE__ */ import_react91.default.createElement("div", null, /* @__PURE__ */ import_react91.default.createElement("h3", { className: "transaction" }, "Transaction Status"))), !minimized ? /* @__PURE__ */ import_react91.default.createElement(
5906
+ "div",
5907
+ {
5908
+ className: `control-buttons ${isComplete ? "complete" : ""}`
5909
+ },
5910
+ isComplete && /* @__PURE__ */ import_react91.default.createElement(
5911
+ "button",
5912
+ {
5913
+ className: "menu-button",
5914
+ style: { marginRight: "auto" },
5915
+ onClick: () => {
5916
+ setIsComplete(false);
5917
+ }
5918
+ },
5919
+ "< Back"
5920
+ ),
5921
+ /* @__PURE__ */ import_react91.default.createElement(
5922
+ "button",
5923
+ {
5924
+ className: "icon-button minimize",
5925
+ onClick: () => {
5926
+ setMinimized(true);
5927
+ }
5928
+ },
5929
+ /* @__PURE__ */ import_react91.default.createElement(Minimize_default, null)
5930
+ ),
5931
+ !isValidTxId || loadingStep < 0 || error && dAppOption !== "none" /* None */ ? /* @__PURE__ */ import_react91.default.createElement("button", { className: "reset-button", onClick: resetForm }, "Reset") : null,
5932
+ closeHandler && /* @__PURE__ */ import_react91.default.createElement(
5933
+ "button",
5934
+ {
5935
+ className: "cross-icon-button",
5936
+ onClick: () => {
5937
+ resetForm();
5938
+ closeHandler(0);
5939
+ }
5940
+ },
5941
+ /* @__PURE__ */ import_react91.default.createElement(Cross_default, null)
5942
+ )
5943
+ ) : /* @__PURE__ */ import_react91.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: "maximize", onClick: () => setMinimized(false) }, "View"))), data && !isComplete && /* @__PURE__ */ import_react91.default.createElement("div", { className: "header-network-labels" }, /* @__PURE__ */ import_react91.default.createElement("div", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react91.default.createElement(
5635
5944
  ChainIcon,
5636
5945
  {
5637
5946
  symbol: transactionSourceChain?.shortName
5638
5947
  }
5639
- )), " ", mode !== "status" /* status */ ? `${transactionSourceChain?.name}` : isEmptyStatus ? "" : `${data?.sourceChain === "FIAT" ? "CC" : data?.sourceChain}`, " ", mode !== "status" /* status */ ? `\u2192 ` : isEmptyStatus ? "" : `\u2192 `, mode !== "status" /* status */ ? Number(amount) !== 0 ? transactionSourceChain?.shortName === "CC" ? bigIntToNumber(txValues.submitAmount).toFixed(2) : formatBigInt(txValues.submitAmount) : "" : data?.amount || "", " ", mode !== "status" /* status */ ? `${targetSymbol}${" "}` : isEmptyStatus ? "" : `${data?.targetSymbol}${" "}`, /* @__PURE__ */ import_react90.default.createElement("div", { className: "title-icon" }, /* @__PURE__ */ import_react90.default.createElement(
5948
+ ), windowWidth > 450 && /* @__PURE__ */ import_react91.default.createElement("h3", null, transactionSourceChain?.name)), /* @__PURE__ */ import_react91.default.createElement(
5949
+ "div",
5950
+ {
5951
+ style: { display: "inline-block", transform: "rotate(-90deg)" }
5952
+ },
5953
+ /* @__PURE__ */ import_react91.default.createElement(Arrow_default, { width: 25, height: 25 })
5954
+ ), /* @__PURE__ */ import_react91.default.createElement("div", { className: `kima-card-network-label ${theme.colorMode}` }, /* @__PURE__ */ import_react91.default.createElement(
5640
5955
  ChainIcon,
5641
5956
  {
5642
5957
  symbol: transactionTargetChain?.shortName
5643
5958
  }
5644
- )), " ", mode !== "status" /* status */ ? `${transactionTargetChain?.name}${" "}` : isEmptyStatus ? "" : `${data?.targetChain} ${" "}`) : /* @__PURE__ */ import_react90.default.createElement("div", null, /* @__PURE__ */ import_react90.default.createElement("h3", { className: "transaction" }, "Transaction Status"))), !minimized ? /* @__PURE__ */ import_react90.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react90.default.createElement(
5645
- "button",
5646
- {
5647
- className: "icon-button minimize",
5648
- onClick: () => {
5649
- setMinimized(true);
5650
- }
5651
- },
5652
- /* @__PURE__ */ import_react90.default.createElement(Minimize_default, null)
5653
- ), !isValidTxId || loadingStep < 0 || error ? /* @__PURE__ */ import_react90.default.createElement("button", { className: "reset-button", onClick: resetForm }, "Reset") : null) : /* @__PURE__ */ import_react90.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "maximize", onClick: () => setMinimized(false) }, "View")))),
5654
- isValidTxId && !error ? /* @__PURE__ */ import_react90.default.createElement("div", { className: "kima-card-content" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: "transaction-content" }, /* @__PURE__ */ import_react90.default.createElement(
5959
+ ), windowWidth > 450 && /* @__PURE__ */ import_react91.default.createElement("h3", null, transactionTargetChain?.name)))),
5960
+ isValidTxId && !error ? /* @__PURE__ */ import_react91.default.createElement("div", { className: "kima-card-content" }, !isComplete ? /* @__PURE__ */ import_react91.default.createElement("div", { className: "transaction-content" }, /* @__PURE__ */ import_react91.default.createElement(
5655
5961
  Progressbar_default,
5656
5962
  {
5657
5963
  step,
@@ -5660,7 +5966,7 @@ var TransactionWidget = ({ theme }) => {
5660
5966
  setFocus,
5661
5967
  loadingStep
5662
5968
  }
5663
- ), /* @__PURE__ */ import_react90.default.createElement(
5969
+ ), /* @__PURE__ */ import_react91.default.createElement(
5664
5970
  StepBox_default,
5665
5971
  {
5666
5972
  step,
@@ -5668,14 +5974,67 @@ var TransactionWidget = ({ theme }) => {
5668
5974
  loadingStep,
5669
5975
  data
5670
5976
  }
5671
- )), !error && !isEmptyStatus && /* @__PURE__ */ import_react90.default.createElement(
5977
+ )) : /* @__PURE__ */ import_react91.default.createElement("div", { className: "transaction-content transaction-complete" }, /* @__PURE__ */ import_react91.default.createElement(TransactionComplete_default, null), /* @__PURE__ */ import_react91.default.createElement("h2", null, "Transaction Complete"), /* @__PURE__ */ import_react91.default.createElement("div", { className: "kima-stepbox" }, /* @__PURE__ */ import_react91.default.createElement(
5978
+ "div",
5979
+ {
5980
+ className: `content-wrapper transaction-complete ${theme.colorMode}`
5981
+ },
5982
+ /* @__PURE__ */ import_react91.default.createElement("p", null, "You just transferred ", data?.amount, " ", data?.sourceSymbol),
5983
+ /* @__PURE__ */ import_react91.default.createElement("div", { className: "header-network-labels" }, /* @__PURE__ */ import_react91.default.createElement(
5984
+ "div",
5985
+ {
5986
+ className: `kima-card-network-label ${theme.colorMode}`
5987
+ },
5988
+ /* @__PURE__ */ import_react91.default.createElement(
5989
+ ChainIcon,
5990
+ {
5991
+ symbol: transactionSourceChain?.shortName
5992
+ }
5993
+ ),
5994
+ windowWidth > 450 && /* @__PURE__ */ import_react91.default.createElement("h3", null, transactionSourceChain?.name)
5995
+ ), /* @__PURE__ */ import_react91.default.createElement(
5996
+ "div",
5997
+ {
5998
+ style: {
5999
+ display: "inline-block",
6000
+ transform: "rotate(-90deg)"
6001
+ }
6002
+ },
6003
+ /* @__PURE__ */ import_react91.default.createElement(Arrow_default, { width: 25, height: 25 })
6004
+ ), /* @__PURE__ */ import_react91.default.createElement(
6005
+ "div",
6006
+ {
6007
+ className: `kima-card-network-label ${theme.colorMode}`
6008
+ },
6009
+ /* @__PURE__ */ import_react91.default.createElement(
6010
+ ChainIcon,
6011
+ {
6012
+ symbol: transactionTargetChain?.shortName
6013
+ }
6014
+ ),
6015
+ windowWidth > 450 && /* @__PURE__ */ import_react91.default.createElement("h3", null, transactionTargetChain?.name)
6016
+ ))
6017
+ )), /* @__PURE__ */ import_react91.default.createElement("div", { className: "transaction-buttons" }, /* @__PURE__ */ import_react91.default.createElement(
6018
+ SecondaryButton_default,
6019
+ {
6020
+ clickHandler: resetForm,
6021
+ theme: theme.colorMode
6022
+ },
6023
+ "New Transaction"
6024
+ ), /* @__PURE__ */ import_react91.default.createElement(
6025
+ ExternalLink_default,
6026
+ {
6027
+ to: `${explorerUrl}/transactions/?tx=${data?.kimaTxHash}`
6028
+ },
6029
+ /* @__PURE__ */ import_react91.default.createElement(PrimaryButton_default, null, "View Details")
6030
+ ))), !error && !isEmptyStatus && !isComplete && /* @__PURE__ */ import_react91.default.createElement(
5672
6031
  TransactionStatusMessage_default,
5673
6032
  {
5674
6033
  isCompleted: data?.status,
5675
6034
  transactionId: txId.toString()
5676
6035
  }
5677
- )) : /* @__PURE__ */ import_react90.default.createElement("div", { className: "kima-card-content" }, /* @__PURE__ */ import_react90.default.createElement("h4", { className: "subtitle" }, "You can follow the status of a previous submitted transaction by entering the provided transaction id"), /* @__PURE__ */ import_react90.default.createElement("div", { className: "single-form" }, /* @__PURE__ */ import_react90.default.createElement(TransactionSearch_default, null))),
5678
- /* @__PURE__ */ import_react90.default.createElement(
6036
+ )) : /* @__PURE__ */ import_react91.default.createElement("div", { className: "kima-card-content" }, /* @__PURE__ */ import_react91.default.createElement("h4", { className: "subtitle" }, "You can follow the status of a previous submitted transaction by entering the provided transaction id"), /* @__PURE__ */ import_react91.default.createElement("div", { className: "single-form" }, /* @__PURE__ */ import_react91.default.createElement(TransactionSearch_default, null))),
6037
+ /* @__PURE__ */ import_react91.default.createElement(
5679
6038
  import_react_hot_toast3.Toaster,
5680
6039
  {
5681
6040
  position: "top-right",
@@ -5702,7 +6061,13 @@ var TransactionWidget = ({ theme }) => {
5702
6061
  }
5703
6062
  }
5704
6063
  ),
5705
- /* @__PURE__ */ import_react90.default.createElement("div", { className: "floating-footer status" }, /* @__PURE__ */ import_react90.default.createElement("div", { className: `items ${theme.colorMode}` }, /* @__PURE__ */ import_react90.default.createElement("span", null, "Powered by"), /* @__PURE__ */ import_react90.default.createElement(KimaNetwork_default, null)))
6064
+ /* @__PURE__ */ import_react91.default.createElement(
6065
+ "div",
6066
+ {
6067
+ className: `floating-footer ${isComplete ? "complete" : "status"}`
6068
+ },
6069
+ /* @__PURE__ */ import_react91.default.createElement("div", { className: `items ${theme.colorMode}` }, /* @__PURE__ */ import_react91.default.createElement("span", null, "Powered by"), /* @__PURE__ */ import_react91.default.createElement(KimaNetwork_default, null))
6070
+ )
5706
6071
  ));
5707
6072
  };
5708
6073
 
@@ -5711,31 +6076,35 @@ var import_react103 = __toESM(require("react"), 1);
5711
6076
  var import_react_redux56 = require("react-redux");
5712
6077
 
5713
6078
  // src/components/reusable/SingleForm.tsx
5714
- var import_react92 = __toESM(require("react"), 1);
6079
+ var import_react93 = __toESM(require("react"), 1);
5715
6080
  var import_react_hot_toast4 = require("react-hot-toast");
5716
6081
  var import_react_redux46 = require("react-redux");
5717
6082
 
5718
6083
  // src/components/primary/NetworkSelector.tsx
5719
- var import_react91 = __toESM(require("react"), 1);
6084
+ var import_react92 = __toESM(require("react"), 1);
5720
6085
  var import_react_redux44 = require("react-redux");
5721
6086
  var NetworkSelector = ({
5722
6087
  type,
5723
6088
  initialSelection,
5724
6089
  setInitialSelection
5725
6090
  }) => {
5726
- const [collapsed, setCollapsed] = (0, import_react91.useState)(true);
5727
- const ref = (0, import_react91.useRef)(null);
6091
+ const [collapsed, setCollapsed] = (0, import_react92.useState)(true);
6092
+ const ref = (0, import_react92.useRef)(null);
5728
6093
  const dispatch = (0, import_react_redux44.useDispatch)();
5729
6094
  const theme = (0, import_react_redux44.useSelector)(selectTheme);
5730
6095
  const networkOptions3 = (0, import_react_redux44.useSelector)(selectNetworks);
6096
+ const transactionOption = (0, import_react_redux44.useSelector)(selectTransactionOption);
6097
+ const dAppOption = (0, import_react_redux44.useSelector)(selectDappOption);
5731
6098
  const mode = (0, import_react_redux44.useSelector)(selectMode);
5732
6099
  const sourceNetwork = (0, import_react_redux44.useSelector)(selectSourceChain);
5733
6100
  const sourceSymbol = (0, import_react_redux44.useSelector)(selectSourceCurrency);
5734
6101
  const targetNetwork = (0, import_react_redux44.useSelector)(selectTargetChain);
5735
6102
  const { switchChainHandler } = useKimaContext();
5736
6103
  const isOriginSelector = type === "origin";
5737
- const networks = (0, import_react91.useMemo)(() => {
6104
+ const networks = (0, import_react92.useMemo)(() => {
5738
6105
  return networkOptions3.filter((network) => {
6106
+ if (dAppOption !== "none" /* None */ && network.shortName === "CC")
6107
+ return false;
5739
6108
  const isSameAsSource = isOriginSelector ? false : network.shortName === sourceNetwork.shortName;
5740
6109
  const isAllowedInLightMode = mode !== "light" /* light */ || lightDemoNetworks.includes(network.shortName);
5741
6110
  const sourceToken = sourceNetwork.supportedTokens.find(
@@ -5749,8 +6118,18 @@ var NetworkSelector = ({
5749
6118
  }
5750
6119
  return network.supportedLocations.includes(type) && !isSameAsSource && supportsSourceCurrency && isAllowedInLightMode;
5751
6120
  });
5752
- }, [networkOptions3, sourceNetwork, sourceSymbol, type, mode]);
5753
- const selectedNetwork = (0, import_react91.useMemo)(() => {
6121
+ }, [networkOptions3, sourceNetwork, sourceSymbol, type, mode, dAppOption]);
6122
+ const shouldLockSourceNetwork = isOriginSelector && mode === "payment" /* payment */ && dAppOption !== "none" /* None */ && !!transactionOption?.targetChain;
6123
+ const selectedNetwork = (0, import_react92.useMemo)(() => {
6124
+ if (shouldLockSourceNetwork) {
6125
+ const forcedNetwork = networks.find(
6126
+ (n) => n.shortName === transactionOption.targetChain
6127
+ );
6128
+ return forcedNetwork || {
6129
+ shortName: "",
6130
+ name: "Invalid Source Network"
6131
+ };
6132
+ }
5754
6133
  if (initialSelection) {
5755
6134
  return {
5756
6135
  shortName: "",
@@ -5767,9 +6146,34 @@ var NetworkSelector = ({
5767
6146
  sourceNetwork,
5768
6147
  targetNetwork,
5769
6148
  isOriginSelector,
5770
- initialSelection
6149
+ initialSelection,
6150
+ shouldLockSourceNetwork,
6151
+ transactionOption?.targetChain
5771
6152
  ]);
5772
- (0, import_react91.useEffect)(() => {
6153
+ (0, import_react92.useEffect)(() => {
6154
+ if (shouldLockSourceNetwork && isOriginSelector && transactionOption?.targetChain) {
6155
+ const forcedNetwork = networks.find(
6156
+ (n) => n.shortName === transactionOption.targetChain
6157
+ );
6158
+ if (forcedNetwork && forcedNetwork.id !== sourceNetwork.id) {
6159
+ dispatch(setSourceChain(forcedNetwork));
6160
+ setInitialSelection({
6161
+ sourceSelection: false,
6162
+ targetSelection: false
6163
+ });
6164
+ switchChainHandler && switchChainHandler(forcedNetwork);
6165
+ }
6166
+ }
6167
+ }, [
6168
+ shouldLockSourceNetwork,
6169
+ transactionOption?.targetChain,
6170
+ sourceNetwork.id,
6171
+ isOriginSelector,
6172
+ networks,
6173
+ dispatch,
6174
+ switchChainHandler
6175
+ ]);
6176
+ (0, import_react92.useEffect)(() => {
5773
6177
  if (!networks.length || selectedNetwork.shortName) return;
5774
6178
  const fallbackNetwork = networks[0];
5775
6179
  if (isOriginSelector) {
@@ -5801,7 +6205,7 @@ var NetworkSelector = ({
5801
6205
  type === "origin" ? setInitialSelection((prev) => ({ ...prev, sourceSelection: false })) : setInitialSelection((prev) => ({ ...prev, targetSelection: false }));
5802
6206
  setCollapsed(true);
5803
6207
  };
5804
- (0, import_react91.useEffect)(() => {
6208
+ (0, import_react92.useEffect)(() => {
5805
6209
  const handleOutsideClick = (e) => {
5806
6210
  if (ref.current && !ref.current.contains(e.target)) {
5807
6211
  setCollapsed(true);
@@ -5812,7 +6216,7 @@ var NetworkSelector = ({
5812
6216
  document.removeEventListener("mousedown", handleOutsideClick);
5813
6217
  };
5814
6218
  }, []);
5815
- (0, import_react91.useEffect)(() => {
6219
+ (0, import_react92.useEffect)(() => {
5816
6220
  if (mode !== "light" /* light */) return;
5817
6221
  if (isEVMChain(targetNetwork.shortName)) {
5818
6222
  dispatch(setTargetAddress(lightDemoAccounts.EVM));
@@ -5822,20 +6226,24 @@ var NetworkSelector = ({
5822
6226
  dispatch(setTargetAddress(lightDemoAccounts.TRX));
5823
6227
  }
5824
6228
  }, [sourceNetwork, targetNetwork, mode]);
5825
- return /* @__PURE__ */ import_react91.default.createElement(
6229
+ return /* @__PURE__ */ import_react92.default.createElement(
5826
6230
  "div",
5827
6231
  {
5828
- className: `network-dropdown ${theme?.colorMode ?? ""} ${collapsed ? "collapsed" : "toggled"}`,
5829
- onClick: () => setCollapsed((prev) => !prev),
6232
+ className: `network-dropdown ${theme?.colorMode ?? ""} ${collapsed ? "collapsed" : "toggled"} ${shouldLockSourceNetwork ? "disabled" : ""}`,
6233
+ onClick: () => {
6234
+ if (!shouldLockSourceNetwork) {
6235
+ setCollapsed((prev) => !prev);
6236
+ }
6237
+ },
5830
6238
  ref
5831
6239
  },
5832
- /* @__PURE__ */ import_react91.default.createElement("div", { className: "network-wrapper" }, /* @__PURE__ */ import_react91.default.createElement(ChainIcon, { symbol: selectedNetwork.shortName }), /* @__PURE__ */ import_react91.default.createElement("span", null, selectedNetwork.name)),
5833
- /* @__PURE__ */ import_react91.default.createElement(
6240
+ /* @__PURE__ */ import_react92.default.createElement("div", { className: "network-wrapper" }, /* @__PURE__ */ import_react92.default.createElement(ChainIcon, { symbol: selectedNetwork.shortName }), /* @__PURE__ */ import_react92.default.createElement("span", null, selectedNetwork.name)),
6241
+ /* @__PURE__ */ import_react92.default.createElement(
5834
6242
  "div",
5835
6243
  {
5836
6244
  className: `network-menu custom-scrollbar ${theme?.colorMode ?? ""} ${collapsed ? "collapsed" : "toggled"}`
5837
6245
  },
5838
- networks.filter((network) => network.shortName !== selectedNetwork.shortName).map((network) => /* @__PURE__ */ import_react91.default.createElement(
6246
+ networks.filter((network) => network.shortName !== selectedNetwork.shortName).map((network) => /* @__PURE__ */ import_react92.default.createElement(
5839
6247
  "div",
5840
6248
  {
5841
6249
  key: network.id,
@@ -5847,15 +6255,15 @@ var NetworkSelector = ({
5847
6255
  }
5848
6256
  }
5849
6257
  },
5850
- network.disabled ? /* @__PURE__ */ import_react91.default.createElement(Warning_default, { width: 25, height: 25 }) : /* @__PURE__ */ import_react91.default.createElement(ChainIcon, { symbol: network.shortName }),
5851
- /* @__PURE__ */ import_react91.default.createElement("p", null, network.name),
5852
- network.disabled && /* @__PURE__ */ import_react91.default.createElement("span", { className: "tooltip" }, "Temporarily unavailable")
6258
+ network.disabled ? /* @__PURE__ */ import_react92.default.createElement(Warning_default, { width: 25, height: 25 }) : /* @__PURE__ */ import_react92.default.createElement(ChainIcon, { symbol: network.shortName }),
6259
+ /* @__PURE__ */ import_react92.default.createElement("p", null, network.name),
6260
+ network.disabled && /* @__PURE__ */ import_react92.default.createElement("span", { className: "tooltip" }, "Temporarily unavailable")
5853
6261
  ))
5854
6262
  ),
5855
- /* @__PURE__ */ import_react91.default.createElement("div", { className: `dropdown-icon ${collapsed ? "toggled" : "collapsed"}` }, /* @__PURE__ */ import_react91.default.createElement(Arrow_default, { fill: "none" }))
6263
+ !shouldLockSourceNetwork && /* @__PURE__ */ import_react92.default.createElement("div", { className: `dropdown-icon ${collapsed ? "toggled" : "collapsed"}` }, /* @__PURE__ */ import_react92.default.createElement(Arrow_default, { fill: "none" }))
5856
6264
  );
5857
6265
  };
5858
- var NetworkSelector_default = import_react91.default.memo(NetworkSelector);
6266
+ var NetworkSelector_default = import_react92.default.memo(NetworkSelector);
5859
6267
 
5860
6268
  // src/components/reusable/SingleForm.tsx
5861
6269
  var import_viem6 = require("viem");
@@ -5975,6 +6383,7 @@ var SingleForm = ({
5975
6383
  const theme = (0, import_react_redux46.useSelector)(selectTheme);
5976
6384
  const feeDeduct = (0, import_react_redux46.useSelector)(selectFeeDeduct);
5977
6385
  const { totalFee } = (0, import_react_redux46.useSelector)(selectServiceFee);
6386
+ const dAppOption = (0, import_react_redux46.useSelector)(selectDappOption);
5978
6387
  const compliantOption = (0, import_react_redux46.useSelector)(selectCompliantOption);
5979
6388
  const targetCompliant = (0, import_react_redux46.useSelector)(selectTargetCompliant);
5980
6389
  const sourceAddress = (0, import_react_redux46.useSelector)(selectSourceAddress);
@@ -5982,7 +6391,7 @@ var SingleForm = ({
5982
6391
  const targetNetwork = (0, import_react_redux46.useSelector)(selectTargetChain);
5983
6392
  const targetAddress = (0, import_react_redux46.useSelector)(selectTargetAddress);
5984
6393
  const { isReady } = useIsWalletReady4();
5985
- const [amountValue, setAmountValue] = (0, import_react92.useState)("");
6394
+ const [amountValue, setAmountValue] = (0, import_react93.useState)("");
5986
6395
  const amount = (0, import_react_redux46.useSelector)(selectAmount);
5987
6396
  const sourceCurrency = (0, import_react_redux46.useSelector)(selectSourceCurrency);
5988
6397
  const targetCurrency = (0, import_react_redux46.useSelector)(selectTargetCurrency);
@@ -6002,18 +6411,18 @@ var SingleForm = ({
6002
6411
  targetSymbol: targetCurrency,
6003
6412
  backendUrl
6004
6413
  });
6005
- (0, import_react92.useEffect)(() => {
6414
+ (0, import_react93.useEffect)(() => {
6006
6415
  if (fees) {
6007
6416
  dispatch(setServiceFee(fees));
6008
6417
  }
6009
6418
  }, [fees, dispatch]);
6010
6419
  const { kimaBackendUrl } = useKimaContext();
6011
6420
  const { data: envOptions } = useGetEnvOptions({ kimaBackendUrl });
6012
- const errorMessage = (0, import_react92.useMemo)(
6421
+ const errorMessage = (0, import_react93.useMemo)(
6013
6422
  () => compliantOption && targetCompliant !== null && !targetCompliant?.isCompliant ? `Target address has ${targetCompliant.results?.[0].result.risk_score} risk` : "",
6014
6423
  [compliantOption, targetCompliant]
6015
6424
  );
6016
- const maxValue = (0, import_react92.useMemo)(() => {
6425
+ const maxValue = (0, import_react93.useMemo)(() => {
6017
6426
  if (mode === "light" /* light */)
6018
6427
  return BigInt(
6019
6428
  envOptions?.transferLimitMaxUSDT ? parseFloat(envOptions?.transferLimitMaxUSDT) : 1e3
@@ -6023,17 +6432,17 @@ var SingleForm = ({
6023
6432
  const intAmount = (0, import_viem6.parseUnits)(amount, totalFee.decimals);
6024
6433
  return balance - intAmount;
6025
6434
  }, [balance, totalFee, feeDeduct]);
6026
- const feeCurrency = (0, import_react92.useMemo)(() => {
6435
+ const feeCurrency = (0, import_react93.useMemo)(() => {
6027
6436
  const sourceToken = sourceNetwork.supportedTokens.find(
6028
6437
  (t) => t.symbol === sourceCurrency
6029
6438
  );
6030
6439
  return sourceToken?.peggedTo ?? "USD";
6031
6440
  }, [sourceNetwork, sourceCurrency]);
6032
- (0, import_react92.useEffect)(() => {
6441
+ (0, import_react93.useEffect)(() => {
6033
6442
  if (!errorMessage) return;
6034
6443
  import_react_hot_toast4.toast.error(errorMessage);
6035
6444
  }, [errorMessage]);
6036
- (0, import_react92.useEffect)(() => {
6445
+ (0, import_react93.useEffect)(() => {
6037
6446
  if (amountValue && amount !== "") return;
6038
6447
  setAmountValue(amount);
6039
6448
  }, [amount]);
@@ -6061,10 +6470,13 @@ var SingleForm = ({
6061
6470
  setAmountValue(truncated);
6062
6471
  dispatch(setAmount(truncated));
6063
6472
  };
6064
- const isConnected = (0, import_react92.useMemo)(() => {
6473
+ const isConnected = (0, import_react93.useMemo)(() => {
6474
+ if (mode === "payment" /* payment */ && dAppOption !== "none" /* None */) {
6475
+ return isReady;
6476
+ }
6065
6477
  return isReady && !initialSelection.sourceSelection;
6066
- }, [isReady, initialSelection]);
6067
- return /* @__PURE__ */ import_react92.default.createElement("div", { className: "single-form" }, /* @__PURE__ */ import_react92.default.createElement("div", { className: "form-item" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Source Network:"), /* @__PURE__ */ import_react92.default.createElement("div", { className: "items" }, /* @__PURE__ */ import_react92.default.createElement(
6478
+ }, [isReady, initialSelection, mode, dAppOption]);
6479
+ return /* @__PURE__ */ import_react93.default.createElement("div", { className: "single-form" }, /* @__PURE__ */ import_react93.default.createElement("div", { className: "form-item" }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, dAppOption === "none" /* None */ && "Source", " Network:"), /* @__PURE__ */ import_react93.default.createElement("div", { className: "items" }, /* @__PURE__ */ import_react93.default.createElement(
6068
6480
  NetworkSelector_default,
6069
6481
  {
6070
6482
  type: "origin",
@@ -6073,20 +6485,20 @@ var SingleForm = ({
6073
6485
  setInitialSelection
6074
6486
  }
6075
6487
  }
6076
- ), /* @__PURE__ */ import_react92.default.createElement(CoinDropdown_default, null))), /* @__PURE__ */ import_react92.default.createElement(
6488
+ ), /* @__PURE__ */ import_react93.default.createElement(CoinDropdown_default, null))), /* @__PURE__ */ import_react93.default.createElement(
6077
6489
  "div",
6078
6490
  {
6079
6491
  className: `dynamic-area ${sourceNetwork.shortName === "FIAT" /* FIAT */ ? "reverse" : "1"}`
6080
6492
  },
6081
- sourceNetwork.compatibility !== "CC" /* CC */ && /* @__PURE__ */ import_react92.default.createElement(
6493
+ sourceNetwork.compatibility !== "CC" /* CC */ && /* @__PURE__ */ import_react93.default.createElement(
6082
6494
  "div",
6083
6495
  {
6084
6496
  className: `form-item wallet-button-item ${isConnected && "connected"}`
6085
6497
  },
6086
- /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Wallet:"),
6087
- /* @__PURE__ */ import_react92.default.createElement(WalletButton_default, { initialSelection: initialSelection.sourceSelection })
6498
+ /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, "Wallet:"),
6499
+ /* @__PURE__ */ import_react93.default.createElement(WalletButton_default, { initialSelection: initialSelection.sourceSelection })
6088
6500
  ),
6089
- mode !== "payment" /* payment */ && /* @__PURE__ */ import_react92.default.createElement("div", { className: "form-item" }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Target Network:"), /* @__PURE__ */ import_react92.default.createElement("div", { className: "items" }, /* @__PURE__ */ import_react92.default.createElement(
6501
+ mode !== "payment" /* payment */ && /* @__PURE__ */ import_react93.default.createElement("div", { className: "form-item" }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, "Target Network:"), /* @__PURE__ */ import_react93.default.createElement("div", { className: "items" }, /* @__PURE__ */ import_react93.default.createElement(
6090
6502
  NetworkSelector_default,
6091
6503
  {
6092
6504
  type: "target",
@@ -6095,38 +6507,39 @@ var SingleForm = ({
6095
6507
  setInitialSelection
6096
6508
  }
6097
6509
  }
6098
- ), /* @__PURE__ */ import_react92.default.createElement(CoinDropdown_default, { isSourceChain: false })))
6099
- ), mode === "bridge" /* bridge */ && sourceNetwork.shortName !== "FIAT" /* FIAT */ ? targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react92.default.createElement(BankInput_default, null) : /* @__PURE__ */ import_react92.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Target Address:"), /* @__PURE__ */ import_react92.default.createElement(
6510
+ ), /* @__PURE__ */ import_react93.default.createElement(CoinDropdown_default, { isSourceChain: false })))
6511
+ ), mode === "bridge" /* bridge */ && sourceNetwork.shortName !== "FIAT" /* FIAT */ ? targetNetwork.shortName === "FIAT" /* FIAT */ ? /* @__PURE__ */ import_react93.default.createElement(BankInput_default, null) : /* @__PURE__ */ import_react93.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, "Target Address:"), /* @__PURE__ */ import_react93.default.createElement(
6100
6512
  AddressInput_default,
6101
6513
  {
6102
6514
  theme: theme.colorMode,
6103
6515
  placeholder: "Target address",
6104
6516
  initialSelection
6105
6517
  }
6106
- )) : null, mode === "light" /* light */ && /* @__PURE__ */ import_react92.default.createElement(
6518
+ )) : null, mode === "light" /* light */ && /* @__PURE__ */ import_react93.default.createElement(
6107
6519
  "div",
6108
6520
  {
6109
6521
  className: `form-item wallet-button-item ${!initialSelection.targetSelection && "connected"}`,
6110
6522
  style: { display: "flex", alignItems: "center" }
6111
6523
  },
6112
- /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Target Wallet:"),
6113
- /* @__PURE__ */ import_react92.default.createElement(
6524
+ /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, "Target Wallet:"),
6525
+ /* @__PURE__ */ import_react93.default.createElement(
6114
6526
  WalletButton_default,
6115
6527
  {
6116
6528
  initialSelection: initialSelection.targetSelection,
6117
6529
  placeholder: true
6118
6530
  }
6119
6531
  )
6120
- ), mode === "bridge" /* bridge */ && /* @__PURE__ */ import_react92.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react92.default.createElement("span", { className: "label" }, "Amount:"), /* @__PURE__ */ import_react92.default.createElement("div", { className: `amount-label-container items ${theme.colorMode}` }, /* @__PURE__ */ import_react92.default.createElement(
6532
+ ), /* @__PURE__ */ import_react93.default.createElement("div", { className: `form-item ${theme.colorMode}` }, /* @__PURE__ */ import_react93.default.createElement("span", { className: "label" }, "Amount:"), /* @__PURE__ */ import_react93.default.createElement("div", { className: `amount-label-container items ${theme.colorMode}` }, /* @__PURE__ */ import_react93.default.createElement(
6121
6533
  "input",
6122
6534
  {
6123
6535
  className: `${theme.colorMode}`,
6124
6536
  type: "text",
6125
6537
  placeholder: "Enter amount",
6126
6538
  value: amountValue || "",
6127
- onChange: (e) => onAmountChange(e.target.value)
6539
+ onChange: (e) => onAmountChange(e.target.value),
6540
+ disabled: mode === "payment" /* payment */
6128
6541
  }
6129
- ), /* @__PURE__ */ import_react92.default.createElement("div", { className: "max-disclaimer" }, sourceNetwork.shortName !== "CC" && /* @__PURE__ */ import_react92.default.createElement("span", { className: "max-button", onClick: onMaxClick }, "Max"), +totalFee !== -1 && /* @__PURE__ */ import_react92.default.createElement("p", { className: "fee-amount" }, "Est fees:", " ", /* @__PURE__ */ import_react92.default.createElement("span", { className: `${isLoadingFees ? "loading" : ""}` }, " ", isLoadingFees ? "" : `$ ${formatBigInt(totalFee)} ${feeCurrency}`))))));
6542
+ ), /* @__PURE__ */ import_react93.default.createElement("div", { className: "max-disclaimer" }, sourceNetwork.shortName !== "CC" && mode !== "payment" /* payment */ && /* @__PURE__ */ import_react93.default.createElement("span", { className: "max-button", onClick: onMaxClick }, "Max"), +totalFee !== -1 && dAppOption === "none" /* None */ && !initialSelection.sourceSelection && !initialSelection.targetSelection && /* @__PURE__ */ import_react93.default.createElement("p", { className: "fee-amount" }, "Est fees:", " ", /* @__PURE__ */ import_react93.default.createElement("span", { className: `${isLoadingFees ? "loading" : ""}` }, " ", isLoadingFees ? "" : `$ ${formatBigInt(totalFee)} ${feeCurrency}`))))));
6130
6543
  };
6131
6544
  var SingleForm_default = SingleForm;
6132
6545
 
@@ -6175,11 +6588,11 @@ function useAllowance2({
6175
6588
  var import_react_hot_toast5 = require("react-hot-toast");
6176
6589
 
6177
6590
  // plugins/solana/components/SolanaWalletConnectModal.tsx
6178
- var import_react95 = __toESM(require("react"), 1);
6591
+ var import_react96 = __toESM(require("react"), 1);
6179
6592
  var import_react_redux49 = require("react-redux");
6180
6593
 
6181
6594
  // plugins/solana/components/SolanaWalletSelect.tsx
6182
- var import_react93 = __toESM(require("react"), 1);
6595
+ var import_react94 = __toESM(require("react"), 1);
6183
6596
  var import_react_redux47 = require("react-redux");
6184
6597
  var import_wallet_adapter_react7 = require("@solana/wallet-adapter-react");
6185
6598
  var import_wallet_adapter_base = require("@solana/wallet-adapter-base");
@@ -6187,9 +6600,9 @@ var SolanaWalletSelect = () => {
6187
6600
  const theme = (0, import_react_redux47.useSelector)(selectTheme);
6188
6601
  const sourceChain = (0, import_react_redux47.useSelector)(selectSourceChain);
6189
6602
  const dispatch = (0, import_react_redux47.useDispatch)();
6190
- const sliderRef = (0, import_react93.useRef)();
6603
+ const sliderRef = (0, import_react94.useRef)();
6191
6604
  const { wallet, wallets, select, connect, connected } = (0, import_wallet_adapter_react7.useWallet)();
6192
- const [detected, undetected] = (0, import_react93.useMemo)(() => {
6605
+ const [detected, undetected] = (0, import_react94.useMemo)(() => {
6193
6606
  const detected2 = [];
6194
6607
  const undetected2 = [];
6195
6608
  for (const wallet2 of wallets) {
@@ -6201,7 +6614,7 @@ var SolanaWalletSelect = () => {
6201
6614
  }
6202
6615
  return [detected2, undetected2];
6203
6616
  }, [wallets]);
6204
- (0, import_react93.useEffect)(() => {
6617
+ (0, import_react94.useEffect)(() => {
6205
6618
  let isDown = false;
6206
6619
  let startX;
6207
6620
  let scrollLeft;
@@ -6227,7 +6640,7 @@ var SolanaWalletSelect = () => {
6227
6640
  sliderRef.current.scrollLeft = scrollLeft - walk;
6228
6641
  });
6229
6642
  }, []);
6230
- const handleWalletClick = (0, import_react93.useCallback)(
6643
+ const handleWalletClick = (0, import_react94.useCallback)(
6231
6644
  (walletName) => {
6232
6645
  logger_default.debug(
6233
6646
  "SolanaWalletSelect: handleWalletClick: walletName: ",
@@ -6237,7 +6650,7 @@ var SolanaWalletSelect = () => {
6237
6650
  },
6238
6651
  [select]
6239
6652
  );
6240
- (0, import_react93.useEffect)(() => {
6653
+ (0, import_react94.useEffect)(() => {
6241
6654
  logger_default.debug("SolanaWalletSelect: useEffect: wallet: ", wallet);
6242
6655
  if (!wallet) return;
6243
6656
  if (sourceChain.shortName !== "SOL") {
@@ -6253,28 +6666,28 @@ var SolanaWalletSelect = () => {
6253
6666
  }
6254
6667
  dispatch(setSolanaConnectModal(false));
6255
6668
  }, [wallet, sourceChain]);
6256
- return /* @__PURE__ */ import_react93.default.createElement("div", { className: `wallet-select` }, /* @__PURE__ */ import_react93.default.createElement("div", { className: "slide-area hide-scrollbar", ref: sliderRef }, /* @__PURE__ */ import_react93.default.createElement("div", { className: "wallet-container" }, detected.map((wallet2, index) => /* @__PURE__ */ import_react93.default.createElement(
6669
+ return /* @__PURE__ */ import_react94.default.createElement("div", { className: `wallet-select` }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "slide-area hide-scrollbar", ref: sliderRef }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "wallet-container" }, detected.map((wallet2, index) => /* @__PURE__ */ import_react94.default.createElement(
6257
6670
  "div",
6258
6671
  {
6259
6672
  className: `card-item ${theme.colorMode}`,
6260
6673
  onClick: () => handleWalletClick(wallet2.adapter.name),
6261
6674
  key: `${wallet2.adapter.name}-${index}`
6262
6675
  },
6263
- /* @__PURE__ */ import_react93.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react93.default.createElement("img", { src: wallet2.adapter.icon, alt: wallet2.adapter.name }), /* @__PURE__ */ import_react93.default.createElement("span", null, wallet2.adapter.name))
6264
- )), undetected.map((wallet2, index) => /* @__PURE__ */ import_react93.default.createElement(
6676
+ /* @__PURE__ */ import_react94.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react94.default.createElement("img", { src: wallet2.adapter.icon, alt: wallet2.adapter.name }), /* @__PURE__ */ import_react94.default.createElement("span", null, wallet2.adapter.name))
6677
+ )), undetected.map((wallet2, index) => /* @__PURE__ */ import_react94.default.createElement(
6265
6678
  ExternalLink_default,
6266
6679
  {
6267
6680
  to: wallet2.adapter.url,
6268
6681
  className: `card-item ${theme.colorMode}`,
6269
6682
  key: `${wallet2.adapter.name}-${index}`
6270
6683
  },
6271
- /* @__PURE__ */ import_react93.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react93.default.createElement("img", { src: wallet2.adapter.icon, alt: wallet2.adapter.name }), /* @__PURE__ */ import_react93.default.createElement("span", null, "Install ", wallet2.adapter.name))
6684
+ /* @__PURE__ */ import_react94.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react94.default.createElement("img", { src: wallet2.adapter.icon, alt: wallet2.adapter.name }), /* @__PURE__ */ import_react94.default.createElement("span", null, "Install ", wallet2.adapter.name))
6272
6685
  )))));
6273
6686
  };
6274
6687
  var SolanaWalletSelect_default = SolanaWalletSelect;
6275
6688
 
6276
6689
  // plugins/solana/components/AccountDetailsModal.tsx
6277
- var import_react94 = __toESM(require("react"), 1);
6690
+ var import_react95 = __toESM(require("react"), 1);
6278
6691
  var import_react_redux48 = require("react-redux");
6279
6692
  var import_wallet_adapter_react8 = require("@solana/wallet-adapter-react");
6280
6693
  var AccountDetailsModal = () => {
@@ -6287,7 +6700,7 @@ var AccountDetailsModal = () => {
6287
6700
  const { disconnect: solanaWalletDisconnect } = (0, import_wallet_adapter_react8.useWallet)();
6288
6701
  const { balance: solBalance } = useGetSolBalance_default();
6289
6702
  const networkDetails = networkOptions2[0];
6290
- const explorerUrl = (0, import_react94.useMemo)(() => {
6703
+ const explorerUrl = (0, import_react95.useMemo)(() => {
6291
6704
  return `https://solscan.io/account/${walletAddress}?cluster=${networkOption === "mainnet" ? "mainnet" : "devnet"}`;
6292
6705
  }, [walletAddress, networkOption]);
6293
6706
  const handleDisconnect = () => {
@@ -6295,25 +6708,25 @@ var AccountDetailsModal = () => {
6295
6708
  dispatch(setAccountDetailsModal(false));
6296
6709
  };
6297
6710
  if (sourceChain.shortName !== "SOL") return;
6298
- return /* @__PURE__ */ import_react94.default.createElement(
6711
+ return /* @__PURE__ */ import_react95.default.createElement(
6299
6712
  "div",
6300
6713
  {
6301
6714
  className: `kima-modal ${theme.colorMode} ${accountDetailsModal && "open"}`
6302
6715
  },
6303
- /* @__PURE__ */ import_react94.default.createElement("div", { className: "modal-overlay" }),
6304
- /* @__PURE__ */ import_react94.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react94.default.createElement("h3", null, "Account Details")), /* @__PURE__ */ import_react94.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react94.default.createElement(
6716
+ /* @__PURE__ */ import_react95.default.createElement("div", { className: "modal-overlay" }),
6717
+ /* @__PURE__ */ import_react95.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react95.default.createElement("h3", null, "Account Details")), /* @__PURE__ */ import_react95.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react95.default.createElement(
6305
6718
  "button",
6306
6719
  {
6307
6720
  className: "cross-icon-button",
6308
6721
  onClick: () => dispatch(setAccountDetailsModal(false))
6309
6722
  },
6310
- /* @__PURE__ */ import_react94.default.createElement(
6723
+ /* @__PURE__ */ import_react95.default.createElement(
6311
6724
  Cross_default,
6312
6725
  {
6313
6726
  fill: theme.colorMode === "light" ? "black" : "white"
6314
6727
  }
6315
6728
  )
6316
- )))), /* @__PURE__ */ import_react94.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react94.default.createElement("div", { className: "summary" }, networkDetails && /* @__PURE__ */ import_react94.default.createElement(networkDetails.icon, { width: 60, height: 60 }), /* @__PURE__ */ import_react94.default.createElement("div", { className: "address" }, /* @__PURE__ */ import_react94.default.createElement("h2", null, getShortenedAddress(walletAddress || "")), /* @__PURE__ */ import_react94.default.createElement(CopyButton_default, { text: walletAddress })), /* @__PURE__ */ import_react94.default.createElement("h3", null, formatterFloat.format(Number(solBalance)), " $SOL")), /* @__PURE__ */ import_react94.default.createElement(SecondaryButton_default, { className: "block-explorer" }, /* @__PURE__ */ import_react94.default.createElement(ExternalLink_default, { className: "link", to: explorerUrl }, /* @__PURE__ */ import_react94.default.createElement(Explorer_default, { fill: "#778DA3" }), /* @__PURE__ */ import_react94.default.createElement("p", null, "Block explorer"), /* @__PURE__ */ import_react94.default.createElement(ExternalUrl_default, { fill: "#778DA3" }))), /* @__PURE__ */ import_react94.default.createElement(PrimaryButton_default, { clickHandler: handleDisconnect }, "Discconect")))
6729
+ )))), /* @__PURE__ */ import_react95.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "summary" }, networkDetails && /* @__PURE__ */ import_react95.default.createElement(networkDetails.icon, { width: 60, height: 60 }), /* @__PURE__ */ import_react95.default.createElement("div", { className: "address" }, /* @__PURE__ */ import_react95.default.createElement("h2", null, getShortenedAddress(walletAddress || "")), /* @__PURE__ */ import_react95.default.createElement(CopyButton_default, { text: walletAddress })), /* @__PURE__ */ import_react95.default.createElement("h3", null, formatterFloat.format(Number(solBalance)), " $SOL")), /* @__PURE__ */ import_react95.default.createElement(SecondaryButton_default, { className: "block-explorer" }, /* @__PURE__ */ import_react95.default.createElement(ExternalLink_default, { className: "link", to: explorerUrl }, /* @__PURE__ */ import_react95.default.createElement(Explorer_default, { fill: "#778DA3" }), /* @__PURE__ */ import_react95.default.createElement("p", null, "Block explorer"), /* @__PURE__ */ import_react95.default.createElement(ExternalUrl_default, { fill: "#778DA3" }))), /* @__PURE__ */ import_react95.default.createElement(PrimaryButton_default, { clickHandler: handleDisconnect }, "Discconect")))
6317
6730
  );
6318
6731
  };
6319
6732
  var AccountDetailsModal_default = AccountDetailsModal;
@@ -6323,18 +6736,18 @@ var SolanaWalletConnectModal = () => {
6323
6736
  const dispatch = (0, import_react_redux49.useDispatch)();
6324
6737
  const theme = (0, import_react_redux49.useSelector)(selectTheme);
6325
6738
  const connectModal = (0, import_react_redux49.useSelector)(selectSolanaConnectModal);
6326
- return /* @__PURE__ */ import_react95.default.createElement("div", null, /* @__PURE__ */ import_react95.default.createElement(AccountDetailsModal_default, null), /* @__PURE__ */ import_react95.default.createElement(
6739
+ return /* @__PURE__ */ import_react96.default.createElement("div", null, /* @__PURE__ */ import_react96.default.createElement(AccountDetailsModal_default, null), /* @__PURE__ */ import_react96.default.createElement(
6327
6740
  "div",
6328
6741
  {
6329
6742
  className: `kima-modal wallet-connect ${connectModal ? "open" : ""}`
6330
6743
  },
6331
- /* @__PURE__ */ import_react95.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react95.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react95.default.createElement("h3", null, "Connect Wallet")), /* @__PURE__ */ import_react95.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react95.default.createElement(
6744
+ /* @__PURE__ */ import_react96.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react96.default.createElement("h3", null, "Connect Wallet")), /* @__PURE__ */ import_react96.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react96.default.createElement(
6332
6745
  "button",
6333
6746
  {
6334
6747
  className: "cross-icon-button",
6335
6748
  onClick: () => dispatch(setSolanaConnectModal(false))
6336
6749
  },
6337
- /* @__PURE__ */ import_react95.default.createElement(
6750
+ /* @__PURE__ */ import_react96.default.createElement(
6338
6751
  Cross_default,
6339
6752
  {
6340
6753
  width: 30,
@@ -6342,17 +6755,17 @@ var SolanaWalletConnectModal = () => {
6342
6755
  fill: theme.colorMode === "light" ? "black" : "white"
6343
6756
  }
6344
6757
  )
6345
- )))), /* @__PURE__ */ import_react95.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react95.default.createElement(SolanaWalletSelect_default, null)))
6758
+ )))), /* @__PURE__ */ import_react96.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react96.default.createElement(SolanaWalletSelect_default, null)))
6346
6759
  ));
6347
6760
  };
6348
6761
  var SolanaWalletConnectModal_default = SolanaWalletConnectModal;
6349
6762
 
6350
6763
  // plugins/tron/components/TronWalletConnectModal.tsx
6351
- var import_react98 = __toESM(require("react"), 1);
6764
+ var import_react99 = __toESM(require("react"), 1);
6352
6765
  var import_react_redux52 = require("react-redux");
6353
6766
 
6354
6767
  // plugins/tron/components/AccountDetailsModal.tsx
6355
- var import_react96 = __toESM(require("react"), 1);
6768
+ var import_react97 = __toESM(require("react"), 1);
6356
6769
  var import_react_redux50 = require("react-redux");
6357
6770
  var import_tronwallet_adapter_react_hooks7 = require("@tronweb3/tronwallet-adapter-react-hooks");
6358
6771
  var AccountDetailsModal2 = () => {
@@ -6365,11 +6778,11 @@ var AccountDetailsModal2 = () => {
6365
6778
  const { disconnect: tronWalletDisconnect } = (0, import_tronwallet_adapter_react_hooks7.useWallet)();
6366
6779
  const { balance: tronBalance } = useGetTrxBalance_default();
6367
6780
  const selectedNetwork = (0, import_react_redux50.useSelector)(selectSourceChain);
6368
- const networkDetails = (0, import_react96.useMemo)(
6781
+ const networkDetails = (0, import_react97.useMemo)(
6369
6782
  () => networkOptions.find(({ id }) => id === selectedNetwork.shortName),
6370
6783
  [selectedNetwork]
6371
6784
  );
6372
- const explorerUrl = (0, import_react96.useMemo)(() => {
6785
+ const explorerUrl = (0, import_react97.useMemo)(() => {
6373
6786
  return `https://${networkOption === "testnet" && "nile."}tronscan.io/#/address/${connectedAddress}`;
6374
6787
  }, [connectedAddress, networkOption]);
6375
6788
  const handleDisconnect = () => {
@@ -6377,37 +6790,37 @@ var AccountDetailsModal2 = () => {
6377
6790
  dispatch(setAccountDetailsModal(false));
6378
6791
  };
6379
6792
  if (sourcheChain.shortName !== "TRX") return;
6380
- return /* @__PURE__ */ import_react96.default.createElement(
6793
+ return /* @__PURE__ */ import_react97.default.createElement(
6381
6794
  "div",
6382
6795
  {
6383
6796
  className: `kima-modal ${theme.colorMode} ${accountDetailsModal && "open"}`
6384
6797
  },
6385
- /* @__PURE__ */ import_react96.default.createElement("div", { className: "modal-overlay" }),
6386
- /* @__PURE__ */ import_react96.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react96.default.createElement("h3", null, "Account Details")), /* @__PURE__ */ import_react96.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react96.default.createElement(
6798
+ /* @__PURE__ */ import_react97.default.createElement("div", { className: "modal-overlay" }),
6799
+ /* @__PURE__ */ import_react97.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react97.default.createElement("h3", null, "Account Details")), /* @__PURE__ */ import_react97.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react97.default.createElement(
6387
6800
  "button",
6388
6801
  {
6389
6802
  className: "cross-icon-button",
6390
6803
  onClick: () => dispatch(setAccountDetailsModal(false))
6391
6804
  },
6392
- /* @__PURE__ */ import_react96.default.createElement(
6805
+ /* @__PURE__ */ import_react97.default.createElement(
6393
6806
  Cross_default,
6394
6807
  {
6395
6808
  fill: theme.colorMode === "light" ? "black" : "white"
6396
6809
  }
6397
6810
  )
6398
- )))), /* @__PURE__ */ import_react96.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react96.default.createElement("div", { className: "summary" }, networkDetails && /* @__PURE__ */ import_react96.default.createElement(networkDetails.icon, { width: 60, height: 60 }), /* @__PURE__ */ import_react96.default.createElement("div", { className: "address" }, /* @__PURE__ */ import_react96.default.createElement("h2", null, getShortenedAddress(connectedAddress || "")), /* @__PURE__ */ import_react96.default.createElement(CopyButton_default, { text: connectedAddress })), /* @__PURE__ */ import_react96.default.createElement("h3", null, formatterFloat.format(Number(tronBalance)), " ", selectedNetwork.shortName)), /* @__PURE__ */ import_react96.default.createElement(SecondaryButton_default, { className: "block-explorer" }, /* @__PURE__ */ import_react96.default.createElement(ExternalLink_default, { className: "link", to: explorerUrl }, /* @__PURE__ */ import_react96.default.createElement(Explorer_default, { fill: "#778DA3" }), /* @__PURE__ */ import_react96.default.createElement("p", null, "Block explorer"), /* @__PURE__ */ import_react96.default.createElement(ExternalUrl_default, { fill: "#778DA3" }))), /* @__PURE__ */ import_react96.default.createElement(PrimaryButton_default, { clickHandler: handleDisconnect }, "Disconnect")))
6811
+ )))), /* @__PURE__ */ import_react97.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "summary" }, networkDetails && /* @__PURE__ */ import_react97.default.createElement(networkDetails.icon, { width: 60, height: 60 }), /* @__PURE__ */ import_react97.default.createElement("div", { className: "address" }, /* @__PURE__ */ import_react97.default.createElement("h2", null, getShortenedAddress(connectedAddress || "")), /* @__PURE__ */ import_react97.default.createElement(CopyButton_default, { text: connectedAddress })), /* @__PURE__ */ import_react97.default.createElement("h3", null, formatterFloat.format(Number(tronBalance)), " ", selectedNetwork.shortName)), /* @__PURE__ */ import_react97.default.createElement(SecondaryButton_default, { className: "block-explorer" }, /* @__PURE__ */ import_react97.default.createElement(ExternalLink_default, { className: "link", to: explorerUrl }, /* @__PURE__ */ import_react97.default.createElement(Explorer_default, { fill: "#778DA3" }), /* @__PURE__ */ import_react97.default.createElement("p", null, "Block explorer"), /* @__PURE__ */ import_react97.default.createElement(ExternalUrl_default, { fill: "#778DA3" }))), /* @__PURE__ */ import_react97.default.createElement(PrimaryButton_default, { clickHandler: handleDisconnect }, "Disconnect")))
6399
6812
  );
6400
6813
  };
6401
6814
  var AccountDetailsModal_default2 = AccountDetailsModal2;
6402
6815
 
6403
6816
  // plugins/tron/components/TronWalletSelect.tsx
6404
- var import_react97 = __toESM(require("react"), 1);
6817
+ var import_react98 = __toESM(require("react"), 1);
6405
6818
  var import_react_redux51 = require("react-redux");
6406
6819
  var import_tronwallet_adapter_react_hooks8 = require("@tronweb3/tronwallet-adapter-react-hooks");
6407
6820
  var import_tronwallet_abstract_adapter2 = require("@tronweb3/tronwallet-abstract-adapter");
6408
6821
  var TronWalletSelect = () => {
6409
6822
  const theme = (0, import_react_redux51.useSelector)(selectTheme);
6410
- const sliderRef = (0, import_react97.useRef)();
6823
+ const sliderRef = (0, import_react98.useRef)();
6411
6824
  const dispatch = (0, import_react_redux51.useDispatch)();
6412
6825
  const {
6413
6826
  wallets,
@@ -6416,7 +6829,7 @@ var TronWalletSelect = () => {
6416
6829
  connect,
6417
6830
  connected
6418
6831
  } = (0, import_tronwallet_adapter_react_hooks8.useWallet)();
6419
- const [detected, undetected] = (0, import_react97.useMemo)(() => {
6832
+ const [detected, undetected] = (0, import_react98.useMemo)(() => {
6420
6833
  const detected2 = [];
6421
6834
  const undetected2 = [];
6422
6835
  for (const wallet of wallets) {
@@ -6428,7 +6841,7 @@ var TronWalletSelect = () => {
6428
6841
  }
6429
6842
  return [detected2, undetected2];
6430
6843
  }, [wallets]);
6431
- (0, import_react97.useEffect)(() => {
6844
+ (0, import_react98.useEffect)(() => {
6432
6845
  let isDown = false;
6433
6846
  let startX;
6434
6847
  let scrollLeft;
@@ -6454,28 +6867,28 @@ var TronWalletSelect = () => {
6454
6867
  sliderRef.current.scrollLeft = scrollLeft - walk;
6455
6868
  });
6456
6869
  }, []);
6457
- (0, import_react97.useEffect)(() => {
6870
+ (0, import_react98.useEffect)(() => {
6458
6871
  connected && dispatch(setTronConnectModal(false));
6459
6872
  }, [connected]);
6460
6873
  const connectWallet = async (walletName) => {
6461
6874
  currentWallet?.adapter.name === walletName ? await connect() : select(walletName);
6462
6875
  };
6463
- return /* @__PURE__ */ import_react97.default.createElement("div", { className: `wallet-select` }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "slide-area hide-scrollbar", ref: sliderRef }, /* @__PURE__ */ import_react97.default.createElement("div", { className: "wallet-container" }, detected.map((wallet, index) => /* @__PURE__ */ import_react97.default.createElement(
6876
+ return /* @__PURE__ */ import_react98.default.createElement("div", { className: `wallet-select` }, /* @__PURE__ */ import_react98.default.createElement("div", { className: "slide-area hide-scrollbar", ref: sliderRef }, /* @__PURE__ */ import_react98.default.createElement("div", { className: "wallet-container" }, detected.map((wallet, index) => /* @__PURE__ */ import_react98.default.createElement(
6464
6877
  "div",
6465
6878
  {
6466
6879
  className: `card-item ${theme.colorMode}`,
6467
6880
  onClick: () => connectWallet(wallet.adapter.name),
6468
6881
  key: `${wallet.adapter.name}-${index}`
6469
6882
  },
6470
- /* @__PURE__ */ import_react97.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react97.default.createElement("img", { src: wallet.adapter.icon, alt: wallet.adapter.name }), /* @__PURE__ */ import_react97.default.createElement("span", null, wallet.adapter.name))
6471
- )), undetected.map((wallet, index) => /* @__PURE__ */ import_react97.default.createElement(
6883
+ /* @__PURE__ */ import_react98.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react98.default.createElement("img", { src: wallet.adapter.icon, alt: wallet.adapter.name }), /* @__PURE__ */ import_react98.default.createElement("span", null, wallet.adapter.name))
6884
+ )), undetected.map((wallet, index) => /* @__PURE__ */ import_react98.default.createElement(
6472
6885
  ExternalLink_default,
6473
6886
  {
6474
6887
  to: wallet.adapter.url,
6475
6888
  className: `card-item ${theme.colorMode}`,
6476
6889
  key: `${wallet.adapter.name}-${index}`
6477
6890
  },
6478
- /* @__PURE__ */ import_react97.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react97.default.createElement("img", { src: wallet.adapter.icon, alt: wallet.adapter.name }), /* @__PURE__ */ import_react97.default.createElement("span", null, "Install ", wallet.adapter.name))
6891
+ /* @__PURE__ */ import_react98.default.createElement("div", { className: "wallet-item" }, /* @__PURE__ */ import_react98.default.createElement("img", { src: wallet.adapter.icon, alt: wallet.adapter.name }), /* @__PURE__ */ import_react98.default.createElement("span", null, "Install ", wallet.adapter.name))
6479
6892
  )))));
6480
6893
  };
6481
6894
  var TronWalletSelect_default = TronWalletSelect;
@@ -6485,31 +6898,31 @@ var TronWalletConnectModal = () => {
6485
6898
  const dispatch = (0, import_react_redux52.useDispatch)();
6486
6899
  const theme = (0, import_react_redux52.useSelector)(selectTheme);
6487
6900
  const connectModal = (0, import_react_redux52.useSelector)(selectTronConnectModal);
6488
- return /* @__PURE__ */ import_react98.default.createElement("div", null, /* @__PURE__ */ import_react98.default.createElement(AccountDetailsModal_default2, null), /* @__PURE__ */ import_react98.default.createElement(
6901
+ return /* @__PURE__ */ import_react99.default.createElement("div", null, /* @__PURE__ */ import_react99.default.createElement(AccountDetailsModal_default2, null), /* @__PURE__ */ import_react99.default.createElement(
6489
6902
  "div",
6490
6903
  {
6491
6904
  className: `kima-modal wallet-connect ${theme.colorMode} ${connectModal ? "open" : ""}`
6492
6905
  },
6493
- /* @__PURE__ */ import_react98.default.createElement("div", { className: "modal-overlay" }),
6494
- /* @__PURE__ */ import_react98.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react98.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react98.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react98.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react98.default.createElement("h3", null, "Connect Wallet")), /* @__PURE__ */ import_react98.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react98.default.createElement(
6906
+ /* @__PURE__ */ import_react99.default.createElement("div", { className: "modal-overlay" }),
6907
+ /* @__PURE__ */ import_react99.default.createElement("div", { className: `modal-content-container ${theme.colorMode}` }, /* @__PURE__ */ import_react99.default.createElement("div", { className: "kima-card-header" }, /* @__PURE__ */ import_react99.default.createElement("div", { className: "topbar" }, /* @__PURE__ */ import_react99.default.createElement("div", { className: "title" }, /* @__PURE__ */ import_react99.default.createElement("h3", null, "Connect Wallet")), /* @__PURE__ */ import_react99.default.createElement("div", { className: "control-buttons" }, /* @__PURE__ */ import_react99.default.createElement(
6495
6908
  "button",
6496
6909
  {
6497
6910
  className: "icon-button",
6498
6911
  onClick: () => dispatch(setTronConnectModal(false))
6499
6912
  },
6500
- /* @__PURE__ */ import_react98.default.createElement(
6913
+ /* @__PURE__ */ import_react99.default.createElement(
6501
6914
  Cross_default,
6502
6915
  {
6503
6916
  fill: theme.colorMode === "light" ? "black" : "white"
6504
6917
  }
6505
6918
  )
6506
- )))), /* @__PURE__ */ import_react98.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react98.default.createElement(TronWalletSelect_default, null)))
6919
+ )))), /* @__PURE__ */ import_react99.default.createElement("div", { className: "modal-content" }, /* @__PURE__ */ import_react99.default.createElement(TronWalletSelect_default, null)))
6507
6920
  ));
6508
6921
  };
6509
6922
  var TronWalletConnectModal_default = TronWalletConnectModal;
6510
6923
 
6511
6924
  // src/hooks/useValidateTransaction.tsx
6512
- var import_react99 = require("react");
6925
+ var import_react100 = require("react");
6513
6926
  var import_viem7 = require("viem");
6514
6927
  var import_react_redux53 = require("react-redux");
6515
6928
  var import_loglevel2 = __toESM(require("loglevel"), 1);
@@ -6538,7 +6951,7 @@ var useValidateTransaction = (inputs) => {
6538
6951
  const { data: envOptions } = useGetEnvOptions({ kimaBackendUrl });
6539
6952
  const mode = (0, import_react_redux53.useSelector)(selectMode);
6540
6953
  const networkOption = (0, import_react_redux53.useSelector)(selectNetworkOption);
6541
- const maxValue = (0, import_react99.useMemo)(() => {
6954
+ const maxValue = (0, import_react100.useMemo)(() => {
6542
6955
  import_loglevel2.default.debug("useValidateTransaction: maxValue: ", inputs);
6543
6956
  if (!balance) return BigInt(0);
6544
6957
  if (totalFee <= BigInt(0)) return balance;
@@ -6597,7 +7010,7 @@ var useValidateTransaction = (inputs) => {
6597
7010
  };
6598
7011
  }
6599
7012
  if (compliantOption) {
6600
- if (!sourceCompliant?.isCompliant) {
7013
+ if (!sourceCompliant?.isCompliant && sourceChain !== "CC") {
6601
7014
  return {
6602
7015
  error: "ValidationError" /* Error */,
6603
7016
  message: "Source address compliance check failed"
@@ -6655,8 +7068,7 @@ var useValidateTransaction_default = useValidateTransaction;
6655
7068
  // src/hooks/useSubmitTransaction.tsx
6656
7069
  var import_react_redux54 = require("react-redux");
6657
7070
  var import_react_query16 = require("@tanstack/react-query");
6658
- var import_react100 = require("react");
6659
- var useSubmitTransaction = () => {
7071
+ var useSubmitTransaction = (isSubmitting, setIsSubmitting) => {
6660
7072
  const dispatch = (0, import_react_redux54.useDispatch)();
6661
7073
  const backendUrl = (0, import_react_redux54.useSelector)(selectBackendUrl);
6662
7074
  const mode = (0, import_react_redux54.useSelector)(selectMode);
@@ -6665,7 +7077,6 @@ var useSubmitTransaction = () => {
6665
7077
  const txValues = feeDeduct ? transactionValues.feeFromTarget : transactionValues.feeFromOrigin;
6666
7078
  const ccTransactionIdSeed = (0, import_react_redux54.useSelector)(selectCCTransactionIdSeed);
6667
7079
  const submitted = (0, import_react_redux54.useSelector)(selectSubmitted);
6668
- const [isSubmitting, setIsSubmitting] = (0, import_react100.useState)(false);
6669
7080
  const mutation = (0, import_react_query16.useMutation)({
6670
7081
  mutationFn: async (signature) => {
6671
7082
  setIsSubmitting(true);
@@ -6764,6 +7175,8 @@ var getCompliance = async (walletAddress, compliantOption, backendUrl) => {
6764
7175
 
6765
7176
  // src/hooks/useComplianceCheck.tsx
6766
7177
  var useComplianceCheck = (walletAddress, compliantOption, backendUrl) => {
7178
+ const enabled = !!walletAddress && walletAddress.length >= 34 && // debounce for a minimum of characters (tron length)
7179
+ !!compliantOption && compliantOption && !!backendUrl;
6767
7180
  const {
6768
7181
  data: complianceData,
6769
7182
  error,
@@ -6773,9 +7186,7 @@ var useComplianceCheck = (walletAddress, compliantOption, backendUrl) => {
6773
7186
  queryFn: async () => {
6774
7187
  return await getCompliance(walletAddress, compliantOption, backendUrl);
6775
7188
  },
6776
- enabled: !!walletAddress && walletAddress.length >= 34 && // debounce for a minimum of characters (tron length)
6777
- !!compliantOption && compliantOption && !!backendUrl,
6778
- // Only fetch when valid inputs exist
7189
+ enabled,
6779
7190
  retry: 1
6780
7191
  // Retry once on failure
6781
7192
  });
@@ -6964,6 +7375,7 @@ var TransferWidget = ({
6964
7375
  const dispatch = (0, import_react_redux56.useDispatch)();
6965
7376
  const mainRef = (0, import_react103.useRef)(null);
6966
7377
  const [signature, setSignature2] = (0, import_react103.useState)("");
7378
+ const [isSubmitting, setIsSubmitting] = (0, import_react103.useState)(false);
6967
7379
  const [formStep, setFormStep] = (0, import_react103.useState)(0);
6968
7380
  const [warningModalOpen, setWarningModalOpen] = (0, import_react103.useState)(null);
6969
7381
  const [resetModalOpen, setResetModalOpen] = (0, import_react103.useState)(false);
@@ -6999,6 +7411,10 @@ var TransferWidget = ({
6999
7411
  const ccTransactionStatus = (0, import_react_redux56.useSelector)(selectCCTransactionStatus);
7000
7412
  const { width: windowWidth } = useWidth_default();
7001
7413
  const { disconnectWallet } = useDisconnectWallet5();
7414
+ const { submitTransaction } = useSubmitTransaction_default(
7415
+ isSubmitting,
7416
+ setIsSubmitting
7417
+ );
7002
7418
  const { allowance, balance, isApproved, approve, decimals, signMessage } = useAllowance2({
7003
7419
  setApproving,
7004
7420
  setCancellingApprove
@@ -7062,7 +7478,6 @@ var TransferWidget = ({
7062
7478
  setInitialSelection((prev) => ({ ...prev, targetSelection: false }));
7063
7479
  }
7064
7480
  }, [fees, mode, transactionOption, dispatch]);
7065
- const { submitTransaction, isSubmitting } = useSubmitTransaction_default();
7066
7481
  const isBackButtonEnabled = (0, import_react103.useMemo)(() => {
7067
7482
  if (formStep !== 0) {
7068
7483
  if (sourceChain.shortName === "CC") {
@@ -7096,8 +7511,9 @@ var TransferWidget = ({
7096
7511
  dispatch(setCCTransactionStatus("initialized"));
7097
7512
  return;
7098
7513
  }
7099
- if (error2 === "ApprovalNeeded" /* ApprovalNeeded */ && mode !== "light" /* light */) {
7514
+ if (error2 === "ApprovalNeeded" /* ApprovalNeeded */ && mode !== "light" /* light */ && dAppOption === "none" /* None */) {
7100
7515
  if (!signature) {
7516
+ setApproving(true);
7101
7517
  setFeeOptionDisabled(true);
7102
7518
  const sig2 = await signMessage?.({
7103
7519
  targetAddress,
@@ -7106,15 +7522,17 @@ var TransferWidget = ({
7106
7522
  originChain: sourceChain.shortName
7107
7523
  });
7108
7524
  setSignature2(sig2);
7525
+ setApproving(false);
7109
7526
  }
7110
7527
  return approve();
7111
7528
  }
7529
+ setIsSubmitting(true);
7112
7530
  if (dAppOption === "LPDrain" /* LPDrain */ || dAppOption === "LPAdd" /* LPAdd */) {
7113
- keplrHandler?.(sourceAddress);
7531
+ await keplrHandler?.(sourceAddress);
7114
7532
  return;
7115
7533
  }
7116
7534
  let sig = signature;
7117
- if (!sig && mode !== "light" /* light */) {
7535
+ if (!sig && mode !== "light" /* light */ && dAppOption === "none" /* None */) {
7118
7536
  setFeeOptionDisabled(true);
7119
7537
  sig = await signMessage?.({
7120
7538
  targetAddress,
@@ -7161,9 +7579,9 @@ var TransferWidget = ({
7161
7579
  return "Next";
7162
7580
  }
7163
7581
  if (isApproved) {
7164
- return isSubmitting ? "Submitting..." : "Submit";
7582
+ return isSubmitting ? !signature && dAppOption === "none" /* None */ ? "Signing..." : "Submitting..." : "Submit";
7165
7583
  } else {
7166
- return isApproving ? "Approving..." : "Approve";
7584
+ return isApproving ? !signature && dAppOption === "none" /* None */ ? "Signing..." : "Approving..." : !signature && dAppOption === "none" /* None */ ? "Sign" : "Approve";
7167
7585
  }
7168
7586
  }
7169
7587
  if (isLoadingFees) {
@@ -7178,7 +7596,6 @@ var TransferWidget = ({
7178
7596
  };
7179
7597
  const resetForm = async () => {
7180
7598
  if (isApproving || isSubmitting || isSigning) return;
7181
- closeHandler && closeHandler(0);
7182
7599
  setSignature2("");
7183
7600
  setSigning(false);
7184
7601
  setFormStep(0);
@@ -7263,6 +7680,16 @@ var TransferWidget = ({
7263
7680
  disabled: isApproving || isSubmitting || isSigning
7264
7681
  },
7265
7682
  "Reset"
7683
+ ), closeHandler && /* @__PURE__ */ import_react103.default.createElement(
7684
+ "button",
7685
+ {
7686
+ className: "cross-icon-button",
7687
+ onClick: () => {
7688
+ resetForm();
7689
+ closeHandler(0);
7690
+ }
7691
+ },
7692
+ /* @__PURE__ */ import_react103.default.createElement(Cross_default, null)
7266
7693
  ))), mode === "payment" /* payment */ && paymentTitleOption?.title && /* @__PURE__ */ import_react103.default.createElement("h4", { className: "subtitle" }, paymentTitleOption.title)), /* @__PURE__ */ import_react103.default.createElement("div", { className: "kima-card-content", ref: mainRef }, formStep === 0 ? /* @__PURE__ */ import_react103.default.createElement(
7267
7694
  SingleForm_default,
7268
7695
  {
@@ -7297,7 +7724,7 @@ var TransferWidget = ({
7297
7724
  disabled: isApproving || isSubmitting || isSigning
7298
7725
  },
7299
7726
  formStep > 0 && ccTransactionStatus !== "initialized" ? "Back" : "Cancel"
7300
- ), !!allowance && allowance > 0 && formStep !== 0 && sourceChain.shortName !== "CC" && mode !== "light" /* light */ ? /* @__PURE__ */ import_react103.default.createElement(
7727
+ ), !!allowance && allowance > 0 && formStep !== 0 && sourceChain.shortName !== "CC" && mode !== "light" /* light */ && dAppOption !== "LPDrain" /* LPDrain */ ? /* @__PURE__ */ import_react103.default.createElement(
7301
7728
  SecondaryButton_default,
7302
7729
  {
7303
7730
  clickHandler: onCancelApprove,
@@ -7458,7 +7885,7 @@ var KimaWidgetWrapper = ({
7458
7885
  titleOption,
7459
7886
  paymentTitleOption,
7460
7887
  helpURL = "",
7461
- compliantOption = true,
7888
+ compliantOption = false,
7462
7889
  transactionOption,
7463
7890
  chainData,
7464
7891
  envOptions