From 771656ae5dbad136c3b0141cf9b9da6d2e39df16 Mon Sep 17 00:00:00 2001 From: Adw8 Date: Tue, 28 Jan 2025 19:56:41 +0530 Subject: [PATCH] Simplify function to display price with decimal point --- package.json | 1 + src/app/api/flux/route.ts | 4 ++-- src/app/page.tsx | 6 +++--- src/components/AIServiceCard.tsx | 10 ++++++---- src/utils/verifyPayment.ts | 4 ---- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index d0b5887..713bb26 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "typeorm": "^0.3.12" }, "devDependencies": { + "@types/bn.js": "^5.1.6", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", diff --git a/src/app/api/flux/route.ts b/src/app/api/flux/route.ts index 4651870..f3e0734 100644 --- a/src/app/api/flux/route.ts +++ b/src/app/api/flux/route.ts @@ -49,12 +49,12 @@ export async function POST(req: NextRequest): Promise { ) } - const MTMFor1USDC = await getUSDCToMTMQuote(); + const mtmFor1USDC = await getUSDCToMTMQuote(); const scale = new BN(100); const scaledCost = new BN(model.cost * 100); - const expectedAmount = scaledCost.mul(MTMFor1USDC).div(scale); + const expectedAmount = scaledCost.mul(mtmFor1USDC).div(scale); const isPaymentVerified = await verifyPayment(transactionSignature, expectedAmount) if (!isPaymentVerified) { diff --git a/src/app/page.tsx b/src/app/page.tsx index 65ae898..70cf77d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -17,13 +17,13 @@ const Page: React.FC = (): React.ReactElement => { type: null }) - const [MTMFor1USDC, setMTMFor1USDC] = useState(new BN(0)); + const [mtmFor1USDC, setMtmFor1USDC] = useState(new BN(0)); useEffect(() => { const fetchPrice = async () => { try { const price = await getUSDCToMTMQuote(); - setMTMFor1USDC(price); + setMtmFor1USDC(price); } catch (error) { console.error('Failed to fetch price:', error); } @@ -121,7 +121,7 @@ const Page: React.FC = (): React.ReactElement => { {FLUX_MODELS.map((model) => { // Convert cost from number to BN const costBN = new BN(model.cost * 100); - const mtmPriceBN = costBN.mul(MTMFor1USDC).div(new BN(100)); + const mtmPriceBN = costBN.mul(mtmFor1USDC).div(new BN(100)); return ( { - const quotient = value.div(new BN(10).pow(new BN(decimals))); - const remainder = value.mod(new BN(10).pow(new BN(decimals))); - const decimalPart = remainder.mul(new BN(10).pow(new BN(6))).div(new BN(10).pow(new BN(decimals))); - return `${quotient.toString()}.${decimalPart.toString().padStart(6, '0')}`; + const factor = new BN(10).pow(new BN(decimals)); + // Part before decimal point + const quotient = value.div(factor); + // Part after decimal point + const remainder = value.mod(factor); + return `${quotient.toString()}.${remainder.toString().padStart(decimals, '0')}`; } const AIServiceCard: React.FC = ({ diff --git a/src/utils/verifyPayment.ts b/src/utils/verifyPayment.ts index 2998edd..b47e39a 100644 --- a/src/utils/verifyPayment.ts +++ b/src/utils/verifyPayment.ts @@ -72,10 +72,6 @@ export async function verifyPayment( const { info } = parsed; const { amount } = info; - console.log('Parsed transfer instruction:', parsed); - console.log('Transfer info:', info); - console.log('Transfer amount:', amount); - const transactionAmount = new BN(amount); // Transaction amount should be within 10% of the expected amount