import { calculateSponsoringSplit, PLATFORM_COMMISSIONS } from './platformCommissions' import { PLATFORM_BITCOIN_ADDRESS } from './platformConfig' import type { SponsoringPaymentRequest, SponsoringPaymentResult } from './sponsoringPaymentTypes' export function validateSponsoringAmount(amount: number): { valid: boolean; error?: string } { if (amount !== PLATFORM_COMMISSIONS.sponsoring.total) { return { valid: false, error: `Invalid sponsoring amount: ${amount} BTC. Expected ${PLATFORM_COMMISSIONS.sponsoring.total} BTC`, } } return { valid: true } } export function buildErrorResult(error: string, request: SponsoringPaymentRequest): SponsoringPaymentResult { return { success: false, error, split: calculateSponsoringSplit(), platformAddress: PLATFORM_BITCOIN_ADDRESS, authorAddress: request.authorMainnetAddress, } } export function isValidBitcoinAddress(address: string): boolean { // Basic validation: starts with 1, 3, or bc1 const bitcoinAddressRegex = /^(1|3|bc1)[a-zA-Z0-9]{25,62}$/ return bitcoinAddressRegex.test(address) }