coinley-pay 0.62.0 → 0.63.0
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/{CoinleyPayment-CkjhX3Ry.js → CoinleyPayment-DcxnhCxE.js} +183 -13
- package/dist/{appKitEVM-Dsu3B87G.js → appKitEVM-f4GTnd8I.js} +2 -2
- package/dist/{appKitSolana-Qc2Ml_-f.js → appKitSolana-Dyj8Yus-.js} +2 -2
- package/dist/coinley-vanilla.min.js +576 -576
- package/dist/{index-EVIUXV4Y.js → index-BFlZCZrz.js} +3 -3
- package/dist/{index-DT3Awo19.js → index-Cz7KNf_g.js} +3 -3
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +7 -7
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { useState, useRef, useEffect, useCallback, useMemo } from "react";
|
|
|
6
6
|
import ReactDOM, { createPortal } from "react-dom";
|
|
7
7
|
import { useConnect, useAccount, useSwitchChain, useSendTransaction, useWaitForTransactionReceipt, WagmiProvider, useDisconnect } from "wagmi";
|
|
8
8
|
import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
|
|
9
|
-
import { s as sdkAnalytics, c as clarityAnalytics, d as dist, a as Buffer2, B as Buffer$1, g as getCurrencyInfo, p as prefetchRates, i as isSupportedCurrency, b as convertToUSD, f as formatCurrency } from "./index-
|
|
9
|
+
import { s as sdkAnalytics, c as clarityAnalytics, d as dist, a as Buffer2, B as Buffer$1, g as getCurrencyInfo, p as prefetchRates, i as isSupportedCurrency, b as convertToUSD, f as formatCurrency } from "./index-BFlZCZrz.js";
|
|
10
10
|
import { createConfig, fallback, http, getAccount as getAccount$1, getWalletClient, simulateContract, writeContract, readContract, waitForTransactionReceipt, estimateFeesPerGas as estimateFeesPerGas$1 } from "@wagmi/core";
|
|
11
11
|
import { injected, metaMask, coinbaseWallet, walletConnect } from "@wagmi/connectors";
|
|
12
12
|
import { defineChain as defineChain$1, erc20Abi, http as http$1, createPublicClient, fallback as fallback$1 } from "viem";
|
|
@@ -21126,7 +21126,7 @@ const WalletSelector = ({
|
|
|
21126
21126
|
try {
|
|
21127
21127
|
setAppKitError(null);
|
|
21128
21128
|
setWalletConnectAddress(solanaAccountState.address);
|
|
21129
|
-
const { createWalletConnectAdapter } = await import("./appKitSolana-
|
|
21129
|
+
const { createWalletConnectAdapter } = await import("./appKitSolana-Dyj8Yus-.js");
|
|
21130
21130
|
const adapter = createWalletConnectAdapter(solanaAccountState.address);
|
|
21131
21131
|
await solanaWallet.connectWalletConnect(adapter, solanaAccountState.address);
|
|
21132
21132
|
console.log("✅ WalletConnect synced with SDK");
|
|
@@ -21231,7 +21231,7 @@ const WalletSelector = ({
|
|
|
21231
21231
|
setAppKitLoading(true);
|
|
21232
21232
|
setAppKitError(null);
|
|
21233
21233
|
try {
|
|
21234
|
-
const { initializeAppKitEVM, openAppKitModal } = await import("./appKitEVM-
|
|
21234
|
+
const { initializeAppKitEVM, openAppKitModal } = await import("./appKitEVM-f4GTnd8I.js");
|
|
21235
21235
|
await initializeAppKitEVM(wagmiConfig);
|
|
21236
21236
|
await openAppKitModal();
|
|
21237
21237
|
} catch (error) {
|
|
@@ -21251,7 +21251,7 @@ const WalletSelector = ({
|
|
|
21251
21251
|
setAppKitError(null);
|
|
21252
21252
|
try {
|
|
21253
21253
|
console.log("📦 Loading AppKit Solana module...");
|
|
21254
|
-
const { initializeAppKitSolana } = await import("./appKitSolana-
|
|
21254
|
+
const { initializeAppKitSolana } = await import("./appKitSolana-Dyj8Yus-.js");
|
|
21255
21255
|
console.log("✅ Module loaded, initializing...");
|
|
21256
21256
|
const modal = await initializeAppKitSolana(solanaWallet);
|
|
21257
21257
|
console.log("✅ AppKit Solana initialized successfully");
|
|
@@ -23379,6 +23379,7 @@ const CoinleyPaymentInternal = ({
|
|
|
23379
23379
|
const [refundRequestMessage, setRefundRequestMessage] = useState("");
|
|
23380
23380
|
const [offsetSuccessDetails, setOffsetSuccessDetails] = useState(null);
|
|
23381
23381
|
const [refundSuccessDetails, setRefundSuccessDetails] = useState(null);
|
|
23382
|
+
const [overpaymentInfo, setOverpaymentInfo] = useState(null);
|
|
23382
23383
|
const [recoveryLoadingAction, setRecoveryLoadingAction] = useState(null);
|
|
23383
23384
|
const [recoveryLoadingStatus, setRecoveryLoadingStatus] = useState(null);
|
|
23384
23385
|
const manualCheckTimeout = useRef(null);
|
|
@@ -24315,11 +24316,13 @@ const CoinleyPaymentInternal = ({
|
|
|
24315
24316
|
const txHash = resolvePaymentTransactionHash(statusResult.payment);
|
|
24316
24317
|
if ((status === "completed" || status === "swept") && txHash) {
|
|
24317
24318
|
clearInterval(pollInterval);
|
|
24318
|
-
captureOffsetSuccessDetails(statusResult.payment, txHash);
|
|
24319
24319
|
clearUnderpaymentRecovery(paymentData.id);
|
|
24320
24320
|
setProcessingStatusMessage("");
|
|
24321
24321
|
persistSuccessfulPaymentHash(statusResult.payment, txHash);
|
|
24322
|
-
|
|
24322
|
+
const rawPmt = statusResult.payment;
|
|
24323
|
+
const rcvd = parseFloat(rawPmt.amountReceived || 0);
|
|
24324
|
+
const expd = parseFloat(rawPmt.amount || 0);
|
|
24325
|
+
const isOverpaid = rawPmt.refundReason === "overpaid_excess" || rawPmt.excessOwed != null || rcvd > 0 && expd > 0 && rcvd > expd;
|
|
24323
24326
|
sdkAnalytics.trackPaymentSuccess(
|
|
24324
24327
|
paymentData.id,
|
|
24325
24328
|
config == null ? void 0 : config.amount,
|
|
@@ -24338,12 +24341,29 @@ const CoinleyPaymentInternal = ({
|
|
|
24338
24341
|
onSuccess({
|
|
24339
24342
|
paymentId: paymentData.id,
|
|
24340
24343
|
transactionHash: txHash,
|
|
24341
|
-
depositAddress:
|
|
24344
|
+
depositAddress: rawPmt.depositAddress,
|
|
24342
24345
|
network: selectedNetwork == null ? void 0 : selectedNetwork.shortName,
|
|
24343
24346
|
currency: selectedToken == null ? void 0 : selectedToken.symbol,
|
|
24344
|
-
paymentDetails:
|
|
24347
|
+
paymentDetails: rawPmt
|
|
24345
24348
|
});
|
|
24346
24349
|
}
|
|
24350
|
+
if (isOverpaid) {
|
|
24351
|
+
const excessStr = rawPmt.excessOwed != null ? rawPmt.excessOwed : rcvd > 0 && expd > 0 ? String((rcvd - expd).toFixed(6)) : null;
|
|
24352
|
+
setOverpaymentInfo({
|
|
24353
|
+
paymentId: paymentData.id,
|
|
24354
|
+
excessOwed: excessStr,
|
|
24355
|
+
tokenSymbol: rawPmt.currency || (selectedToken == null ? void 0 : selectedToken.symbol) || "tokens",
|
|
24356
|
+
networkLabel: (selectedNetwork == null ? void 0 : selectedNetwork.displayName) || (selectedNetwork == null ? void 0 : selectedNetwork.name) || (selectedNetwork == null ? void 0 : selectedNetwork.shortName) || "the deposit network"
|
|
24357
|
+
});
|
|
24358
|
+
setRefundAddress("");
|
|
24359
|
+
setRefundRequestStatus(null);
|
|
24360
|
+
setRefundRequestSubmitted(false);
|
|
24361
|
+
setRefundRequestMessage("");
|
|
24362
|
+
refundPendingStartedAt.current = 0;
|
|
24363
|
+
} else {
|
|
24364
|
+
captureOffsetSuccessDetails(rawPmt, txHash);
|
|
24365
|
+
}
|
|
24366
|
+
setCurrentStep(PAYMENT_STEPS.SUCCESS);
|
|
24347
24367
|
return;
|
|
24348
24368
|
}
|
|
24349
24369
|
if (activateUnderpaymentFlow(statusResult.payment)) {
|
|
@@ -24378,6 +24398,25 @@ const CoinleyPaymentInternal = ({
|
|
|
24378
24398
|
}, 5e3);
|
|
24379
24399
|
return () => clearInterval(pollInterval);
|
|
24380
24400
|
}, [currentStep, paymentData == null ? void 0 : paymentData.id, paymentData == null ? void 0 : paymentData.depositAddress, selectedNetwork, selectedToken, onSuccess, activateUnderpaymentFlow, captureOffsetSuccessDetails, clearUnderpaymentRecovery, resolvePaymentTransactionHash, persistSuccessfulPaymentHash]);
|
|
24401
|
+
useEffect(() => {
|
|
24402
|
+
if (currentStep !== PAYMENT_STEPS.SUCCESS || !(overpaymentInfo == null ? void 0 : overpaymentInfo.paymentId) || !refundRequestSubmitted || refundRequestStatus !== "pending") {
|
|
24403
|
+
return;
|
|
24404
|
+
}
|
|
24405
|
+
const pollInterval = setInterval(async () => {
|
|
24406
|
+
var _a2;
|
|
24407
|
+
try {
|
|
24408
|
+
const statusResult = await paymentFlow.api.getDepositStatus(overpaymentInfo.paymentId);
|
|
24409
|
+
if (statusResult.success && ((_a2 = statusResult.payment) == null ? void 0 : _a2.refundStatus) === "refunded") {
|
|
24410
|
+
clearInterval(pollInterval);
|
|
24411
|
+
refundPendingStartedAt.current = 0;
|
|
24412
|
+
setRefundRequestStatus("refunded");
|
|
24413
|
+
}
|
|
24414
|
+
} catch (e) {
|
|
24415
|
+
console.warn("[OverpaymentRefundPoll] Error:", e.message);
|
|
24416
|
+
}
|
|
24417
|
+
}, 5e3);
|
|
24418
|
+
return () => clearInterval(pollInterval);
|
|
24419
|
+
}, [currentStep, overpaymentInfo, refundRequestSubmitted, refundRequestStatus, paymentFlow.api]);
|
|
24381
24420
|
useEffect(() => {
|
|
24382
24421
|
const shouldPoll = (paymentData == null ? void 0 : paymentData.id) && (activeTab === PAYMENT_TABS.QR || activeTab === PAYMENT_TABS.TRANSFER) && currentStep === PAYMENT_STEPS.CONFIRM && !verifyingPayment && paymentType !== PAYMENT_TYPES.DEPOSIT && !(paymentData == null ? void 0 : paymentData.isDepositPayment) && !(paymentData == null ? void 0 : paymentData.depositAddress);
|
|
24383
24422
|
if (!shouldPoll) {
|
|
@@ -24477,6 +24516,7 @@ const CoinleyPaymentInternal = ({
|
|
|
24477
24516
|
setRecoveryLoadingAction(null);
|
|
24478
24517
|
setRecoveryLoadingStatus(null);
|
|
24479
24518
|
setCcSuccessDetails(null);
|
|
24519
|
+
setOverpaymentInfo(null);
|
|
24480
24520
|
if (recoveryLoadingTimeout.current) {
|
|
24481
24521
|
clearTimeout(recoveryLoadingTimeout.current);
|
|
24482
24522
|
recoveryLoadingTimeout.current = null;
|
|
@@ -26484,6 +26524,31 @@ const CoinleyPaymentInternal = ({
|
|
|
26484
26524
|
});
|
|
26485
26525
|
}
|
|
26486
26526
|
}, [activeTransferPaymentId, captureRefundSuccessDetails, ccOriginChainId, ccOriginToken == null ? void 0 : ccOriginToken.symbol, ccResult, clearUnderpaymentRecovery, config, finishRecoveryLoading, getCrossChainRefundPendingStatus, getRefundPendingStatus, holdRecoveryLoading, refundAddress, refundRequestStatus, paymentFlow.api, selectedNetwork == null ? void 0 : selectedNetwork.shortName, selectedToken == null ? void 0 : selectedToken.symbol, startRecoveryLoading, underpaymentInfo]);
|
|
26527
|
+
const handleOverpaymentRefundSubmit = useCallback(async () => {
|
|
26528
|
+
var _a2;
|
|
26529
|
+
const trimmedAddress = refundAddress.trim();
|
|
26530
|
+
if (!trimmedAddress || !(overpaymentInfo == null ? void 0 : overpaymentInfo.paymentId) || refundRequestStatus === "submitting") return;
|
|
26531
|
+
setRefundRequestStatus("submitting");
|
|
26532
|
+
setRefundRequestMessage("");
|
|
26533
|
+
refundPendingStartedAt.current = Date.now();
|
|
26534
|
+
try {
|
|
26535
|
+
const result = await paymentFlow.api.requestDepositRefund(overpaymentInfo.paymentId, trimmedAddress);
|
|
26536
|
+
const refundSt = ((_a2 = result == null ? void 0 : result.payment) == null ? void 0 : _a2.refundStatus) || (result == null ? void 0 : result.status) || "pending";
|
|
26537
|
+
setRefundRequestSubmitted(true);
|
|
26538
|
+
if (refundSt === "refunded") {
|
|
26539
|
+
refundPendingStartedAt.current = 0;
|
|
26540
|
+
setRefundRequestStatus("refunded");
|
|
26541
|
+
} else {
|
|
26542
|
+
refundPendingStartedAt.current = refundPendingStartedAt.current || Date.now();
|
|
26543
|
+
setRefundRequestStatus("pending");
|
|
26544
|
+
}
|
|
26545
|
+
setRefundRequestMessage("");
|
|
26546
|
+
} catch (error2) {
|
|
26547
|
+
refundPendingStartedAt.current = 0;
|
|
26548
|
+
setRefundRequestStatus("error");
|
|
26549
|
+
setRefundRequestMessage(error2.message || "Failed to submit refund request. Please try again.");
|
|
26550
|
+
}
|
|
26551
|
+
}, [overpaymentInfo, refundAddress, refundRequestStatus, paymentFlow.api]);
|
|
26487
26552
|
const handleDepositManualCheck = useCallback(async () => {
|
|
26488
26553
|
if (manualCheckStatus === "checking" || !(paymentData == null ? void 0 : paymentData.id)) return;
|
|
26489
26554
|
const isOffsetRecovery = Boolean(underpaymentInfo && underpaymentView === "offset");
|
|
@@ -26496,22 +26561,41 @@ const CoinleyPaymentInternal = ({
|
|
|
26496
26561
|
if ((status === "completed" || status === "swept") && txHash) {
|
|
26497
26562
|
finishRecoveryLoading(() => {
|
|
26498
26563
|
setManualCheckStatus(null);
|
|
26499
|
-
captureOffsetSuccessDetails(statusResult.payment, txHash);
|
|
26500
26564
|
clearUnderpaymentRecovery(paymentData.id);
|
|
26501
26565
|
persistSuccessfulPaymentHash(statusResult.payment, txHash);
|
|
26502
|
-
|
|
26566
|
+
const rawPmt = statusResult.payment;
|
|
26567
|
+
const rcvd = parseFloat(rawPmt.amountReceived || 0);
|
|
26568
|
+
const expd = parseFloat(rawPmt.amount || 0);
|
|
26569
|
+
const isOverpaid = rawPmt.refundReason === "overpaid_excess" || rawPmt.excessOwed != null || rcvd > 0 && expd > 0 && rcvd > expd;
|
|
26503
26570
|
sdkAnalytics.trackPaymentSuccess(paymentData.id, config == null ? void 0 : config.amount, selectedNetwork == null ? void 0 : selectedNetwork.shortName, selectedToken == null ? void 0 : selectedToken.symbol, txHash);
|
|
26504
26571
|
clarityAnalytics.trackPaymentSuccess(paymentData.id, config == null ? void 0 : config.amount, selectedNetwork == null ? void 0 : selectedNetwork.shortName, selectedToken == null ? void 0 : selectedToken.symbol, txHash);
|
|
26505
26572
|
if (onSuccess) {
|
|
26506
26573
|
onSuccess({
|
|
26507
26574
|
paymentId: paymentData.id,
|
|
26508
26575
|
transactionHash: txHash,
|
|
26509
|
-
depositAddress:
|
|
26576
|
+
depositAddress: rawPmt.depositAddress,
|
|
26510
26577
|
network: selectedNetwork == null ? void 0 : selectedNetwork.shortName,
|
|
26511
26578
|
currency: selectedToken == null ? void 0 : selectedToken.symbol,
|
|
26512
|
-
paymentDetails:
|
|
26579
|
+
paymentDetails: rawPmt
|
|
26580
|
+
});
|
|
26581
|
+
}
|
|
26582
|
+
if (isOverpaid) {
|
|
26583
|
+
const excessStr = rawPmt.excessOwed != null ? rawPmt.excessOwed : rcvd > 0 && expd > 0 ? String((rcvd - expd).toFixed(6)) : null;
|
|
26584
|
+
setOverpaymentInfo({
|
|
26585
|
+
paymentId: paymentData.id,
|
|
26586
|
+
excessOwed: excessStr,
|
|
26587
|
+
tokenSymbol: rawPmt.currency || (selectedToken == null ? void 0 : selectedToken.symbol) || "tokens",
|
|
26588
|
+
networkLabel: (selectedNetwork == null ? void 0 : selectedNetwork.displayName) || (selectedNetwork == null ? void 0 : selectedNetwork.name) || (selectedNetwork == null ? void 0 : selectedNetwork.shortName) || "the deposit network"
|
|
26513
26589
|
});
|
|
26590
|
+
setRefundAddress("");
|
|
26591
|
+
setRefundRequestStatus(null);
|
|
26592
|
+
setRefundRequestSubmitted(false);
|
|
26593
|
+
setRefundRequestMessage("");
|
|
26594
|
+
refundPendingStartedAt.current = 0;
|
|
26595
|
+
} else {
|
|
26596
|
+
captureOffsetSuccessDetails(rawPmt, txHash);
|
|
26514
26597
|
}
|
|
26598
|
+
setCurrentStep(PAYMENT_STEPS.SUCCESS);
|
|
26515
26599
|
});
|
|
26516
26600
|
return;
|
|
26517
26601
|
}
|
|
@@ -26620,6 +26704,92 @@ const CoinleyPaymentInternal = ({
|
|
|
26620
26704
|
);
|
|
26621
26705
|
}
|
|
26622
26706
|
if (currentStep === PAYMENT_STEPS.SUCCESS) {
|
|
26707
|
+
if (overpaymentInfo) {
|
|
26708
|
+
const opElapsedMs = refundPendingStartedAt.current ? Math.max(Date.now() - refundPendingStartedAt.current, 0) : 0;
|
|
26709
|
+
const opGuidance = refundRequestSubmitted && refundRequestStatus === "pending" ? getRefundPendingGuidance(opElapsedMs) : null;
|
|
26710
|
+
return renderInPortal(
|
|
26711
|
+
/* @__PURE__ */ jsxs("div", { id: SDK_ROOT_ID, className: `${SDK_ROOT_CLASS} fixed inset-0 z-50`, style: { fontFamily: FONT_FAMILY }, children: [
|
|
26712
|
+
/* @__PURE__ */ jsx("div", { className: "fixed inset-0 bg-black bg-opacity-50", onClick: onClose }),
|
|
26713
|
+
/* @__PURE__ */ jsx("div", { className: isMobile ? "fixed inset-0 flex items-end" : "fixed inset-0 flex items-center justify-center p-4", style: { zIndex: 51 }, children: /* @__PURE__ */ jsxs("div", { className: isMobile ? "coinley-mobile-sheet relative flex w-full max-h-[92dvh] flex-col overflow-hidden rounded-t-[24px] bg-white px-4 pb-5 pt-7 shadow-2xl animate-slide-up-sheet" : "relative flex h-auto min-h-[520px] w-[430px] max-w-[calc(100vw-32px)] flex-col overflow-hidden rounded-[28px] bg-white px-4 pb-5 pt-7 shadow-2xl", children: [
|
|
26714
|
+
/* @__PURE__ */ jsx(
|
|
26715
|
+
"button",
|
|
26716
|
+
{
|
|
26717
|
+
type: "button",
|
|
26718
|
+
onClick: onClose,
|
|
26719
|
+
className: "absolute right-4 top-5 flex h-8 w-8 items-center justify-center rounded-full text-[#111827] transition-colors hover:bg-gray-100",
|
|
26720
|
+
"aria-label": "Close payment modal",
|
|
26721
|
+
children: /* @__PURE__ */ jsx("svg", { className: "h-5 w-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
|
|
26722
|
+
}
|
|
26723
|
+
),
|
|
26724
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col overflow-y-auto pt-2", children: [
|
|
26725
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-5 text-center", children: [
|
|
26726
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-full bg-[#D9F8E6]", children: /* @__PURE__ */ jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-full bg-[#08C65A] text-white", children: /* @__PURE__ */ jsx("svg", { className: "h-5 w-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M5 13l4 4L19 7" }) }) }) }),
|
|
26727
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-1 text-lg font-semibold text-black", children: "Payment Received" }),
|
|
26728
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-[#6B7280]", children: overpaymentInfo.excessOwed ? `You sent ${formatAmount(overpaymentInfo.excessOwed)} ${overpaymentInfo.tokenSymbol} more than required. We will refund the excess to you.` : `You sent more than the required amount. We will refund the excess to you.` })
|
|
26729
|
+
] }),
|
|
26730
|
+
/* @__PURE__ */ jsx("div", { className: "mb-5 rounded-lg border border-[#F5E5B8] bg-[#FFF9E8] px-3 py-2", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
|
|
26731
|
+
/* @__PURE__ */ jsx("svg", { className: "mt-0.5 h-4 w-4 flex-shrink-0 text-[#B54708]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v4m0 4h.01M12 3a9 9 0 110 18 9 9 0 010-18z" }) }),
|
|
26732
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs leading-5 text-[#B54708]", children: [
|
|
26733
|
+
overpaymentInfo.excessOwed ? `We are holding ${formatAmount(overpaymentInfo.excessOwed)} ${overpaymentInfo.tokenSymbol} for you.` : `We are holding your excess ${overpaymentInfo.tokenSymbol} for you.`,
|
|
26734
|
+
" ",
|
|
26735
|
+
"Provide a wallet address below. You can safely close this window after submitting — the refund processes automatically."
|
|
26736
|
+
] })
|
|
26737
|
+
] }) }),
|
|
26738
|
+
refundRequestStatus === "refunded" ? /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-[#D1FAE5] bg-[#ECFDF5] px-3 py-3 text-center", children: [
|
|
26739
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-[#065F46]", children: "Excess refunded" }),
|
|
26740
|
+
/* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs leading-5 text-[#047857]", children: [
|
|
26741
|
+
"Your excess ",
|
|
26742
|
+
overpaymentInfo.tokenSymbol,
|
|
26743
|
+
" has been sent to your wallet."
|
|
26744
|
+
] })
|
|
26745
|
+
] }) : opGuidance ? /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-[#EEF0F4] bg-[#FAFAFB] px-3 py-3", children: [
|
|
26746
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-[#111827]", children: opGuidance.title }),
|
|
26747
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-xs leading-5 text-[#535865]", children: opGuidance.description }),
|
|
26748
|
+
/* @__PURE__ */ jsx("p", { className: "mt-2 text-xs leading-5 text-[#8B8E98]", children: opGuidance.eta })
|
|
26749
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26750
|
+
/* @__PURE__ */ jsxs("label", { className: "mb-2 block text-xs font-medium text-[#111827]", children: [
|
|
26751
|
+
"Your ",
|
|
26752
|
+
overpaymentInfo.tokenSymbol,
|
|
26753
|
+
" (",
|
|
26754
|
+
overpaymentInfo.networkLabel,
|
|
26755
|
+
") wallet address for refund"
|
|
26756
|
+
] }),
|
|
26757
|
+
/* @__PURE__ */ jsx(
|
|
26758
|
+
"input",
|
|
26759
|
+
{
|
|
26760
|
+
type: "text",
|
|
26761
|
+
value: refundAddress,
|
|
26762
|
+
onChange: (e) => setRefundAddress(e.target.value),
|
|
26763
|
+
placeholder: "Paste your wallet address here",
|
|
26764
|
+
className: "mb-4 h-11 w-full rounded-xl border border-[#E4E6EB] bg-white px-3 text-sm text-[#1F2430] outline-none transition-colors placeholder:text-[#8B8E98] focus:border-[#B49AF0]"
|
|
26765
|
+
}
|
|
26766
|
+
),
|
|
26767
|
+
refundRequestMessage && /* @__PURE__ */ jsx("p", { className: `mb-3 text-xs leading-5 ${refundRequestStatus === "error" ? "text-red-600" : "text-[#8B8E98]"}`, children: refundRequestMessage }),
|
|
26768
|
+
/* @__PURE__ */ jsx(
|
|
26769
|
+
"button",
|
|
26770
|
+
{
|
|
26771
|
+
type: "button",
|
|
26772
|
+
onClick: handleOverpaymentRefundSubmit,
|
|
26773
|
+
disabled: !refundAddress.trim() || refundRequestStatus === "submitting",
|
|
26774
|
+
className: "h-12 w-full rounded-xl bg-[#7042D2] px-4 text-sm font-semibold text-white transition-colors hover:bg-[#5b34b1] disabled:opacity-50 disabled:cursor-not-allowed",
|
|
26775
|
+
children: refundRequestStatus === "submitting" ? "Submitting..." : "Submit Refund Address"
|
|
26776
|
+
}
|
|
26777
|
+
)
|
|
26778
|
+
] })
|
|
26779
|
+
] }),
|
|
26780
|
+
(refundRequestStatus === "refunded" || opGuidance) && /* @__PURE__ */ jsx(
|
|
26781
|
+
"button",
|
|
26782
|
+
{
|
|
26783
|
+
type: "button",
|
|
26784
|
+
onClick: onClose,
|
|
26785
|
+
className: "mt-4 h-12 w-full rounded-lg border border-[#E4E6EB] px-4 text-sm font-semibold text-[#374151] transition-colors hover:bg-gray-50",
|
|
26786
|
+
children: "Close"
|
|
26787
|
+
}
|
|
26788
|
+
)
|
|
26789
|
+
] }) })
|
|
26790
|
+
] })
|
|
26791
|
+
);
|
|
26792
|
+
}
|
|
26623
26793
|
if (offsetSuccessDetails) {
|
|
26624
26794
|
return renderInPortal(
|
|
26625
26795
|
/* @__PURE__ */ jsxs("div", { id: SDK_ROOT_ID, className: `${SDK_ROOT_CLASS} fixed inset-0 z-50`, style: { fontFamily: FONT_FAMILY }, children: [
|
|
@@ -28278,4 +28448,4 @@ export {
|
|
|
28278
28448
|
chainTransports as c,
|
|
28279
28449
|
isFeatureEnabled as i
|
|
28280
28450
|
};
|
|
28281
|
-
//# sourceMappingURL=CoinleyPayment-
|
|
28451
|
+
//# sourceMappingURL=CoinleyPayment-DcxnhCxE.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as isFeatureEnabled, F as FEATURES, c as chainTransports, W as WALLETCONNECT_PROJECT_ID } from "./CoinleyPayment-
|
|
1
|
+
import { i as isFeatureEnabled, F as FEATURES, c as chainTransports, W as WALLETCONNECT_PROJECT_ID } from "./CoinleyPayment-DcxnhCxE.js";
|
|
2
2
|
const logo = "https://coinley.io/logo.png";
|
|
3
3
|
let appKitInstance = null;
|
|
4
4
|
let isInitializing = false;
|
|
@@ -113,4 +113,4 @@ export {
|
|
|
113
113
|
initializeAppKitEVM,
|
|
114
114
|
openAppKitModal
|
|
115
115
|
};
|
|
116
|
-
//# sourceMappingURL=appKitEVM-
|
|
116
|
+
//# sourceMappingURL=appKitEVM-f4GTnd8I.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FEATURES, W as WALLETCONNECT_PROJECT_ID } from "./CoinleyPayment-
|
|
1
|
+
import { F as FEATURES, W as WALLETCONNECT_PROJECT_ID } from "./CoinleyPayment-DcxnhCxE.js";
|
|
2
2
|
const logo = "https://coinley.io/logo.png";
|
|
3
3
|
let appKitInstance = null;
|
|
4
4
|
let isInitializing = false;
|
|
@@ -243,4 +243,4 @@ export {
|
|
|
243
243
|
disconnectWalletConnect,
|
|
244
244
|
initializeAppKitSolana
|
|
245
245
|
};
|
|
246
|
-
//# sourceMappingURL=appKitSolana-
|
|
246
|
+
//# sourceMappingURL=appKitSolana-Dyj8Yus-.js.map
|