From e7c42fcaca70e586ae4148fd8e3ea5aba55c642c Mon Sep 17 00:00:00 2001 From: nobswebdev Date: Sun, 6 Sep 2026 14:19:32 +0200 Subject: [PATCH] add resolveAtomicToCryptoConverter for payment method amount formatting. --- .../payment/resolveAtomicToCryptoConverter.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 backend/src/utils/payment/resolveAtomicToCryptoConverter.ts diff --git a/backend/src/utils/payment/resolveAtomicToCryptoConverter.ts b/backend/src/utils/payment/resolveAtomicToCryptoConverter.ts new file mode 100644 index 0000000..96ce90e --- /dev/null +++ b/backend/src/utils/payment/resolveAtomicToCryptoConverter.ts @@ -0,0 +1,16 @@ +import { InternalServerErrorException } from '@nestjs/common'; +import { PaymentMethod } from '../../modules/payment/types/PaymentMethod'; +import type { CryptoAtomicConverter } from '../../types/CryptoAtomicConverter'; +import { convertBtcAtomicToBtc } from '../bitcoin/convertBtcAtomicToBtc'; +import { convertXmrAtomicToXmr } from '../monero/convertXmrAtomicToXmr'; + +export const resolveAtomicToCryptoConverter = (paymentMethod: PaymentMethod): CryptoAtomicConverter => { + switch (paymentMethod) { + case PaymentMethod.Xmr: + return convertXmrAtomicToXmr; + case PaymentMethod.Btc: + return convertBtcAtomicToBtc; + default: + throw new InternalServerErrorException(`Unsupported payment method: ${String(paymentMethod)}`); + } +};