@cromix-dev/payment-component 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/src/components/CryptoPayment.d.ts +13 -0
- package/dist/src/components/CryptoPayment.d.ts.map +1 -0
- package/dist/src/components/CryptoPayment.js +150 -0
- package/dist/src/components/CryptoPayment.js.map +1 -0
- package/dist/src/components/PaymentProvider.d.ts +8 -0
- package/dist/src/components/PaymentProvider.d.ts.map +1 -0
- package/dist/src/components/PaymentProvider.js +8 -0
- package/dist/src/components/PaymentProvider.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/libs/payment-wallet.d.ts +10 -0
- package/dist/src/libs/payment-wallet.d.ts.map +1 -0
- package/dist/src/libs/payment-wallet.js +28 -0
- package/dist/src/libs/payment-wallet.js.map +1 -0
- package/dist/src/types/index.d.ts +41 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -0
- package/package.json +53 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Decimal } from "decimal.js";
|
|
2
|
+
import type { PaymentConfig, CreatePaymentRequest, CreatePaymentResponse, SignatureResponse } from "../types/index.js";
|
|
3
|
+
interface CryptoPaymentProps {
|
|
4
|
+
usdAmount: Decimal.Value;
|
|
5
|
+
paymentConfig: PaymentConfig;
|
|
6
|
+
onCreatePayment: (request: CreatePaymentRequest) => Promise<CreatePaymentResponse>;
|
|
7
|
+
onGetSignature: (paymentId: string) => Promise<SignatureResponse>;
|
|
8
|
+
onSuccess: (paymentId: string) => void;
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
}
|
|
11
|
+
export default function CryptoPayment({ usdAmount, paymentConfig, onCreatePayment, onGetSignature, onSuccess, onCancel, }: CryptoPaymentProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=CryptoPayment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CryptoPayment.d.ts","sourceRoot":"","sources":["../../../src/components/CryptoPayment.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,KAAK,EAGV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,CACf,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,2CA0XpB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { useAccount, useWalletClient, usePublicClient, useSwitchChain, useDisconnect, } from "wagmi";
|
|
4
|
+
import { useAppKit } from "@reown/appkit/react";
|
|
5
|
+
import { Decimal } from "decimal.js";
|
|
6
|
+
import { PaymentRouterAbi } from "@cromix-dev/evm";
|
|
7
|
+
export default function CryptoPayment({ usdAmount, paymentConfig, onCreatePayment, onGetSignature, onSuccess, onCancel, }) {
|
|
8
|
+
const { address, chain: currentChain, isConnected } = useAccount();
|
|
9
|
+
const { data: walletClient } = useWalletClient();
|
|
10
|
+
const publicClient = usePublicClient();
|
|
11
|
+
const { switchChain } = useSwitchChain();
|
|
12
|
+
const { disconnect } = useDisconnect();
|
|
13
|
+
const { open } = useAppKit();
|
|
14
|
+
const [selectedChainId, setSelectedChainId] = useState(null);
|
|
15
|
+
const [selectedPaymentSetting, setSelectedPaymentSetting] = useState(null);
|
|
16
|
+
const [status, setStatus] = useState("idle");
|
|
17
|
+
const [error, setError] = useState(null);
|
|
18
|
+
const getPaymentRouterByChainId = (chainId) => {
|
|
19
|
+
return (paymentConfig.paymentRouters.find((router) => router.chainId === chainId) || null);
|
|
20
|
+
};
|
|
21
|
+
const getPaymentSettingsByChainId = (chainId) => {
|
|
22
|
+
return paymentConfig.paymentSettings.filter((setting) => setting.chainId === chainId && setting.isActive);
|
|
23
|
+
};
|
|
24
|
+
const getAvailableChainIds = () => {
|
|
25
|
+
const chainIds = new Set();
|
|
26
|
+
paymentConfig.paymentSettings.forEach((setting) => {
|
|
27
|
+
if (setting.isActive) {
|
|
28
|
+
chainIds.add(setting.chainId);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return Array.from(chainIds);
|
|
32
|
+
};
|
|
33
|
+
const availableChainIds = getAvailableChainIds();
|
|
34
|
+
const selectedPaymentRouter = selectedChainId
|
|
35
|
+
? getPaymentRouterByChainId(selectedChainId)
|
|
36
|
+
: null;
|
|
37
|
+
const availablePaymentSettings = selectedChainId
|
|
38
|
+
? getPaymentSettingsByChainId(selectedChainId)
|
|
39
|
+
: [];
|
|
40
|
+
const targetChainId = selectedPaymentSetting
|
|
41
|
+
? parseInt(selectedPaymentSetting.chainId)
|
|
42
|
+
: null;
|
|
43
|
+
const isCorrectNetwork = targetChainId
|
|
44
|
+
? currentChain?.id === targetChainId
|
|
45
|
+
: false;
|
|
46
|
+
const handleConnectWallet = () => {
|
|
47
|
+
open();
|
|
48
|
+
};
|
|
49
|
+
const handleChainIdSelect = (chainId) => {
|
|
50
|
+
setSelectedChainId(chainId);
|
|
51
|
+
const settings = getPaymentSettingsByChainId(chainId);
|
|
52
|
+
if (settings.length > 0) {
|
|
53
|
+
setSelectedPaymentSetting(settings[0]);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const handleSwitchNetwork = async () => {
|
|
57
|
+
if (!targetChainId)
|
|
58
|
+
return;
|
|
59
|
+
try {
|
|
60
|
+
setStatus("switching");
|
|
61
|
+
setError(null);
|
|
62
|
+
await switchChain({ chainId: targetChainId });
|
|
63
|
+
setStatus("idle");
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.error("Failed to switch network:", err);
|
|
67
|
+
setError(err instanceof Error ? err.message : "Failed to switch network");
|
|
68
|
+
setStatus("idle");
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const handlePay = async () => {
|
|
72
|
+
if (!address ||
|
|
73
|
+
!walletClient ||
|
|
74
|
+
!selectedPaymentSetting ||
|
|
75
|
+
!selectedPaymentRouter)
|
|
76
|
+
return;
|
|
77
|
+
if (!isCorrectNetwork) {
|
|
78
|
+
setError(`Please switch to Chain ID ${targetChainId}`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
let createdPaymentId = null;
|
|
82
|
+
try {
|
|
83
|
+
setError(null);
|
|
84
|
+
setStatus("creating");
|
|
85
|
+
// Create payment via merchant's API
|
|
86
|
+
const createResponse = await onCreatePayment({
|
|
87
|
+
usdAmount: usdAmount.toString(),
|
|
88
|
+
chainId: selectedPaymentSetting.chainId,
|
|
89
|
+
tokenAddress: selectedPaymentSetting.tokenAddress,
|
|
90
|
+
sender: address,
|
|
91
|
+
});
|
|
92
|
+
createdPaymentId = createResponse.id;
|
|
93
|
+
setStatus("signing");
|
|
94
|
+
// Get signature from merchant's API
|
|
95
|
+
const signatureResponse = await onGetSignature(createdPaymentId);
|
|
96
|
+
const { signature, paymentData } = signatureResponse;
|
|
97
|
+
setStatus("sending");
|
|
98
|
+
console.log("Sending transaction:", {
|
|
99
|
+
paymentId: createdPaymentId,
|
|
100
|
+
paymentRouter: selectedPaymentRouter.address,
|
|
101
|
+
paymentData,
|
|
102
|
+
});
|
|
103
|
+
// Send transaction to PaymentRouter contract
|
|
104
|
+
const hash = await walletClient.writeContract({
|
|
105
|
+
address: selectedPaymentRouter.address,
|
|
106
|
+
abi: PaymentRouterAbi,
|
|
107
|
+
functionName: "payETH",
|
|
108
|
+
args: [
|
|
109
|
+
BigInt(paymentData.id),
|
|
110
|
+
paymentData.receiver,
|
|
111
|
+
BigInt(paymentData.feeRate),
|
|
112
|
+
BigInt(paymentData.expirationTimestamp),
|
|
113
|
+
signature,
|
|
114
|
+
],
|
|
115
|
+
value: BigInt(paymentData.amount),
|
|
116
|
+
});
|
|
117
|
+
console.log("Transaction sent:", hash);
|
|
118
|
+
setStatus("confirming");
|
|
119
|
+
// Wait for confirmation
|
|
120
|
+
let receipt = null;
|
|
121
|
+
if (publicClient) {
|
|
122
|
+
receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
123
|
+
console.log("Transaction confirmed:", receipt);
|
|
124
|
+
}
|
|
125
|
+
if (!receipt) {
|
|
126
|
+
throw new Error("Transaction receipt not found");
|
|
127
|
+
}
|
|
128
|
+
setStatus("success");
|
|
129
|
+
setTimeout(() => onSuccess(createdPaymentId), 1000);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
console.error("Payment error:", err);
|
|
133
|
+
setError(err instanceof Error ? err.message : "Payment failed");
|
|
134
|
+
setStatus("idle");
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
return (_jsxs("div", { className: "space-y-6", children: [!isConnected && (_jsxs("div", { className: "text-center py-8", children: [_jsx("h5", { className: "text-lg mb-2 text-white", children: "Connect Your Wallet" }), _jsx("p", { className: "text-gray-400 mb-6", children: "Connect your wallet to proceed with crypto payment" }), _jsx("button", { onClick: handleConnectWallet, className: "bg-blue-600 text-white px-6 py-3 rounded hover:bg-blue-700 font-semibold transition", children: "Connect Wallet" })] })), isConnected && (_jsxs("div", { className: "bg-green-900 bg-opacity-30 border border-green-700 p-3 rounded flex justify-between items-center", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm text-green-400", children: "Wallet Connected" }), _jsx("div", { className: "text-white font-mono text-sm", children: address ? `${address.slice(0, 6)}...${address.slice(-4)}` : "" })] }), _jsx("button", { onClick: () => disconnect(), className: "bg-red-600 text-white px-3 py-1 text-sm rounded hover:bg-red-700 transition", children: "Disconnect" })] })), isConnected && !selectedChainId && (_jsxs("div", { children: [_jsx("h5", { className: "font-semibold mb-3 text-white", children: "Select Network" }), _jsx("div", { className: "grid grid-cols-2 gap-3", children: availableChainIds.map((chainId) => {
|
|
138
|
+
const settings = getPaymentSettingsByChainId(chainId);
|
|
139
|
+
return (_jsxs("button", { onClick: () => handleChainIdSelect(chainId), className: "p-4 border-2 border-gray-600 rounded-lg hover:border-blue-500 hover:bg-gray-700 text-left transition", children: [_jsxs("div", { className: "font-semibold text-white", children: ["Chain ID: ", chainId] }), _jsxs("div", { className: "text-sm text-gray-400", children: [settings.length, " token(s)"] })] }, chainId));
|
|
140
|
+
}) })] })), isConnected && selectedChainId && !selectedPaymentSetting && (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center mb-3", children: [_jsx("button", { onClick: () => {
|
|
141
|
+
setSelectedChainId(null);
|
|
142
|
+
setSelectedPaymentSetting(null);
|
|
143
|
+
}, className: "text-blue-400 hover:text-blue-300 mr-3", children: "\u2190 Back" }), _jsxs("h5", { className: "font-semibold text-white", children: ["Select Token (Chain ID ", selectedChainId, ")"] })] }), _jsx("div", { className: "grid grid-cols-2 gap-3", children: availablePaymentSettings.map((setting) => (_jsxs("button", { onClick: () => setSelectedPaymentSetting(setting), className: "p-4 border-2 border-gray-600 rounded-lg hover:border-blue-500 hover:bg-gray-700 text-left transition", children: [_jsx("div", { className: "font-semibold text-white", children: setting.tokenSymbol }), _jsx("div", { className: "text-sm text-gray-400", children: setting.tokenName })] }, setting.id))) })] })), isConnected && selectedPaymentSetting && selectedPaymentRouter && (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-gray-700 p-4 rounded-lg border border-gray-600", children: [_jsx("h4", { className: "font-semibold mb-2 text-white", children: "Payment Details" }), _jsxs("div", { className: "space-y-1 text-sm text-gray-300", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { children: "Amount:" }), _jsxs("span", { className: "text-white", children: ["$", new Decimal(usdAmount).toFixed(2), " USD"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { children: "Chain ID:" }), _jsx("span", { className: "text-white", children: selectedPaymentSetting.chainId })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { children: "Token:" }), _jsx("span", { className: "text-white", children: selectedPaymentSetting.tokenSymbol })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { children: "Receiver:" }), _jsxs("span", { className: "font-mono text-xs text-white", children: [selectedPaymentSetting.receiver.slice(0, 10), "..."] })] })] })] }), !isCorrectNetwork && currentChain && (_jsxs("div", { className: "bg-yellow-900 bg-opacity-30 border border-yellow-700 p-3 rounded", children: [_jsx("div", { className: "text-sm mb-2 text-yellow-300 font-semibold", children: "\u26A0\uFE0F Wrong Network" }), _jsxs("div", { className: "text-sm mb-3 text-yellow-200", children: ["Current: Chain ID ", currentChain.id, _jsx("br", {}), "Required: Chain ID ", targetChainId] }), _jsx("button", { onClick: handleSwitchNetwork, disabled: status === "switching", className: "w-full bg-yellow-600 text-white py-2 rounded hover:bg-yellow-700 disabled:opacity-50 transition", children: status === "switching" ? "Switching..." : "Switch Network" })] })), isCorrectNetwork && (_jsxs("div", { className: "bg-green-900 bg-opacity-30 border border-green-700 p-2 rounded text-sm text-green-300", children: ["\u2713 Connected to Chain ID ", targetChainId] })), error && (_jsx("div", { className: "bg-red-900 bg-opacity-30 border border-red-700 p-3 rounded text-red-300 text-sm", children: error })), status !== "idle" && (_jsxs("div", { className: "bg-blue-900 bg-opacity-30 border border-blue-700 p-3 rounded text-sm text-blue-300", children: [status === "switching" && "Switching network...", status === "creating" && "Creating payment...", status === "signing" && "Getting signature...", status === "sending" && "Sending transaction...", status === "confirming" && "Confirming...", status === "success" && "✓ Payment successful!"] })), _jsxs("div", { className: "flex gap-3", children: [_jsx("button", { onClick: () => {
|
|
144
|
+
setSelectedChainId(null);
|
|
145
|
+
setSelectedPaymentSetting(null);
|
|
146
|
+
}, disabled: status !== "idle", className: "flex-1 bg-gray-600 text-white py-3 rounded hover:bg-gray-700 disabled:opacity-50 transition", children: "Back" }), _jsx("button", { onClick: handlePay, disabled: status !== "idle" || !address || !isCorrectNetwork, className: "flex-1 bg-blue-600 text-white py-3 rounded hover:bg-blue-700 disabled:opacity-50 font-semibold transition", children: status === "idle"
|
|
147
|
+
? `Pay ${selectedPaymentSetting.tokenSymbol}`
|
|
148
|
+
: "Processing..." })] })] })), _jsx("div", { className: "border-t border-gray-600 pt-4", children: _jsx("button", { onClick: onCancel, disabled: status !== "idle", className: "w-full bg-gray-600 text-white py-2 rounded hover:bg-gray-700 disabled:opacity-50 transition", children: "Cancel Payment" }) })] }));
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=CryptoPayment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CryptoPayment.js","sourceRoot":"","sources":["../../../src/components/CryptoPayment.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Config } from "wagmi";
|
|
2
|
+
interface PaymentProviderProps {
|
|
3
|
+
wagmiConfig: Config;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export default function PaymentProvider({ wagmiConfig, children, }: PaymentProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=PaymentProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentProvider.d.ts","sourceRoot":"","sources":["../../../src/components/PaymentProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAiB,MAAM,OAAO,CAAC;AAI9C,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,WAAW,EACX,QAAQ,GACT,EAAE,oBAAoB,2CAMtB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
3
|
+
import { WagmiProvider } from "wagmi";
|
|
4
|
+
const queryClient = new QueryClient();
|
|
5
|
+
export default function PaymentProvider({ wagmiConfig, children, }) {
|
|
6
|
+
return (_jsx(WagmiProvider, { config: wagmiConfig, children: _jsx(QueryClientProvider, { client: queryClient, children: children }) }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PaymentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentProvider.js","sourceRoot":"","sources":["../../../src/components/PaymentProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAU,aAAa,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAOtC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,WAAW,EACX,QAAQ,GACa;IACrB,OAAO,CACL,KAAC,aAAa,IAAC,MAAM,EAAE,WAAW,YAChC,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YAAG,QAAQ,GAAuB,GAC5D,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type * from "./types/index.js";
|
|
2
|
+
export { createPaymentWalletConfig } from "./libs/payment-wallet.js";
|
|
3
|
+
export { default as PaymentProvider } from "./components/PaymentProvider.js";
|
|
4
|
+
export { default as CryptoPayment } from "./components/CryptoPayment.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppKitOptions } from "@reown/appkit/react";
|
|
2
|
+
export declare function createPaymentWalletConfig(config: {
|
|
3
|
+
projectId: string;
|
|
4
|
+
metadata: AppKitOptions["metadata"];
|
|
5
|
+
includeTestnets?: boolean;
|
|
6
|
+
}): {
|
|
7
|
+
wagmiConfig: import("wagmi").Config;
|
|
8
|
+
appKit: import("@reown/appkit/react").AppKit;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=payment-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-wallet.d.ts","sourceRoot":"","sources":["../../../src/libs/payment-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAelE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;;;EAwBA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createAppKit } from "@reown/appkit/react";
|
|
2
|
+
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
|
|
3
|
+
import { mainnet, sepolia, polygon, polygonAmoy, bsc, bscTestnet, anvil, } from "viem/chains";
|
|
4
|
+
const DEFAULT_TESTNETS = [anvil, sepolia, polygonAmoy, bscTestnet];
|
|
5
|
+
const DEFAULT_MAINNETS = [mainnet, polygon, bsc];
|
|
6
|
+
export function createPaymentWalletConfig(config) {
|
|
7
|
+
const { projectId, metadata, includeTestnets } = config;
|
|
8
|
+
const chains = [
|
|
9
|
+
...DEFAULT_MAINNETS,
|
|
10
|
+
...(includeTestnets ? DEFAULT_TESTNETS : []),
|
|
11
|
+
];
|
|
12
|
+
const wagmiAdapter = new WagmiAdapter({
|
|
13
|
+
networks: chains,
|
|
14
|
+
projectId,
|
|
15
|
+
ssr: true,
|
|
16
|
+
});
|
|
17
|
+
const appKit = createAppKit({
|
|
18
|
+
adapters: [wagmiAdapter],
|
|
19
|
+
networks: chains,
|
|
20
|
+
projectId,
|
|
21
|
+
metadata,
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
wagmiConfig: wagmiAdapter.wagmiConfig,
|
|
25
|
+
appKit,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=payment-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-wallet.js","sourceRoot":"","sources":["../../../src/libs/payment-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,GAAG,EACH,UAAU,EACV,KAAK,GACN,MAAM,aAAa,CAAC;AAErB,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAC5E,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAU,CAAC;AAE1D,MAAM,UAAU,yBAAyB,CAAC,MAIzC;IACC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG;QACb,GAAG,gBAAgB;QACnB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;IAEX,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,QAAQ,EAAE,MAAa;QACvB,SAAS;QACT,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,QAAQ,EAAE,MAAa;QACvB,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface PaymentRouter {
|
|
2
|
+
id: string;
|
|
3
|
+
chainId: string;
|
|
4
|
+
address: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PaymentSetting {
|
|
7
|
+
id: string;
|
|
8
|
+
chainId: string;
|
|
9
|
+
tokenAddress: string;
|
|
10
|
+
tokenName: string;
|
|
11
|
+
tokenSymbol: string;
|
|
12
|
+
tokenDecimals: number;
|
|
13
|
+
receiver: string;
|
|
14
|
+
isActive: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface PaymentConfig {
|
|
17
|
+
paymentRouters: PaymentRouter[];
|
|
18
|
+
paymentSettings: PaymentSetting[];
|
|
19
|
+
}
|
|
20
|
+
export interface CreatePaymentRequest {
|
|
21
|
+
usdAmount: string;
|
|
22
|
+
chainId: string;
|
|
23
|
+
tokenAddress: string;
|
|
24
|
+
sender: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CreatePaymentResponse {
|
|
27
|
+
id: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SignatureResponse {
|
|
30
|
+
signature: string;
|
|
31
|
+
paymentData: {
|
|
32
|
+
id: string;
|
|
33
|
+
erc20: string;
|
|
34
|
+
sender: string;
|
|
35
|
+
receiver: string;
|
|
36
|
+
amount: string;
|
|
37
|
+
feeRate: string;
|
|
38
|
+
expirationTimestamp: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cromix-dev/payment-component",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"keywords": [],
|
|
18
|
+
"author": "",
|
|
19
|
+
"license": "ISC",
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@reown/appkit": "^1.8.6",
|
|
22
|
+
"@reown/appkit-adapter-wagmi": "^1.8.6",
|
|
23
|
+
"@tanstack/react-query": "^5.89.0",
|
|
24
|
+
"decimal.js": "^10.6.0",
|
|
25
|
+
"react": "^19.1.0",
|
|
26
|
+
"react-dom": "^19.1.0",
|
|
27
|
+
"viem": "^2.37.6",
|
|
28
|
+
"wagmi": "^2.17.0",
|
|
29
|
+
"@cromix-dev/evm": "0.0.2"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@eslint/eslintrc": "^3",
|
|
33
|
+
"@tailwindcss/postcss": "^4",
|
|
34
|
+
"@types/node": "^20",
|
|
35
|
+
"@types/react": "^19",
|
|
36
|
+
"@types/react-dom": "^19",
|
|
37
|
+
"eslint": "^9",
|
|
38
|
+
"eslint-config-next": "^15.5.3",
|
|
39
|
+
"tailwindcss": "^4",
|
|
40
|
+
"tsx": "^4.20.5",
|
|
41
|
+
"prettier": "^3.6.2",
|
|
42
|
+
"rimraf": "^6.0.1",
|
|
43
|
+
"typescript": "^5.9.2"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {
|
|
49
|
+
"format": "prettier --write '**/*.{js,ts,jsx,tsx,json}'",
|
|
50
|
+
"build": "rimraf dist && tsc",
|
|
51
|
+
"prepublish": "pnpm build"
|
|
52
|
+
}
|
|
53
|
+
}
|