11import { Env } from '@/config/env'
22import { WalletAddress } from '@/walletAddress/model'
3- import { TransactionService } from '@/transaction/service'
3+ import { ISecondParty , TransactionService } from '@/transaction/service'
44import { Logger } from 'winston'
55import { RafikiClient } from './rafiki-client'
66import { SocketService } from '@/socket/service'
@@ -189,11 +189,16 @@ export class RafikiService implements IRafikiService {
189189
190190 await this . rafikiClient . withdrawLiqudity ( wh . id )
191191
192- const senders = await this . getIncomingPaymentSenders ( wh . data . id )
192+ const secondParty = await this . getIncomingPaymentSenders ( wh . data . id )
193193
194194 await this . transactionService . updateTransaction (
195195 { paymentId : wh . data . id } ,
196- { status : 'COMPLETED' , value : amount . value , secondParty : senders }
196+ {
197+ status : 'COMPLETED' ,
198+ value : amount . value ,
199+ secondParty : secondParty ?. names ,
200+ secondPartyWA : secondParty ?. walletAddresses
201+ }
197202 )
198203
199204 const isExchange = NodeCacheInstance . get ( wh . data . id )
@@ -385,7 +390,9 @@ export class RafikiService implements IRafikiService {
385390 }
386391 }
387392
388- async getIncomingPaymentSenders ( id : string ) {
393+ async getIncomingPaymentSenders (
394+ id : string
395+ ) : Promise < ISecondParty | undefined > {
389396 try {
390397 const outgoingPayments =
391398 await this . rafikiClient . getOutgoingPaymentsByReceiver (
@@ -398,10 +405,15 @@ export class RafikiService implements IRafikiService {
398405 const walletAddresses =
399406 await this . walletAddressService . getByIds ( walletAddressIds )
400407 // return senders
401- return walletAddresses
402- . filter ( ( wa ) => wa . account ?. user )
403- . map ( ( wa ) => `${ wa . account . user . firstName } ${ wa . account . user . lastName } ` )
404- . join ( ', ' )
408+ return {
409+ names : walletAddresses
410+ . filter ( ( wa ) => wa . account ?. user )
411+ . map (
412+ ( wa ) => `${ wa . account . user . firstName } ${ wa . account . user . lastName } `
413+ )
414+ . join ( ', ' ) ,
415+ walletAddresses : walletAddresses . map ( ( wa ) => wa . url ) . join ( ', ' )
416+ }
405417 } catch ( e ) {
406418 this . logger . warn (
407419 'Error on getting outgoing payments by incoming payment' ,
@@ -417,15 +429,23 @@ export class RafikiService implements IRafikiService {
417429 receiver . walletAddressUrl
418430 )
419431
432+ const response : ISecondParty = {
433+ walletAddresses : receiver . walletAddressUrl
434+ }
435+
420436 if ( receiverWA ?. account ?. user ) {
421- return `${ receiverWA . account . user . firstName } ${ receiverWA . account . user . lastName } `
437+ response . names = `${ receiverWA . account . user . firstName } ${ receiverWA . account . user . lastName } `
422438 }
439+
440+ return response
423441 } catch ( e ) {
424442 this . logger . warn ( 'Error on getting receiver wallet address' , e )
425443 }
426444 }
427445
428- async getOutgoingPaymentSecondPartyByIncomingPaymentId ( paymentId : string ) {
446+ async getOutgoingPaymentSecondPartyByIncomingPaymentId (
447+ paymentId : string
448+ ) : Promise < ISecondParty | undefined > {
429449 try {
430450 const receiver = await this . rafikiClient . getIncomingPaymentById ( paymentId )
431451
@@ -434,7 +454,10 @@ export class RafikiService implements IRafikiService {
434454 )
435455
436456 if ( receiverWA ?. account ?. user ) {
437- return `${ receiverWA . account . user . firstName } ${ receiverWA . account . user . lastName } `
457+ return {
458+ names : `${ receiverWA . account . user . firstName } ${ receiverWA . account . user . lastName } ` ,
459+ walletAddresses : receiverWA . url
460+ }
438461 }
439462 } catch ( e ) {
440463 this . logger . warn ( 'Error on getting receiver wallet address' , e )
0 commit comments