import { automaticTransferService } from './automaticTransfer' import { lightningAddressService } from './lightningAddress' import type { ReviewRewardRequest } from './reviewRewardTypes' export async function transferReviewerPortionIfAvailable( request: ReviewRewardRequest, split: { total: number; reviewer: number; platform: number } ): Promise { let reviewerLightningAddress: string | undefined = request.reviewerLightningAddress if (!reviewerLightningAddress) { const address = await lightningAddressService.getLightningAddress(request.reviewerPubkey) reviewerLightningAddress = address ?? undefined } if (reviewerLightningAddress) { const transferResult = await automaticTransferService.transferReviewerPortion( reviewerLightningAddress, request.reviewId, request.reviewerPubkey, split.total ) if (!transferResult.success) { console.error('Failed to transfer reviewer portion', { reviewId: request.reviewId, error: transferResult.error, timestamp: new Date().toISOString(), }) } } else { console.warn('Reviewer Lightning address not available for automatic transfer', { reviewId: request.reviewId, reviewerPubkey: request.reviewerPubkey, timestamp: new Date().toISOString(), }) } }