@@ -37,6 +37,7 @@ import wait from '../../utils/wait'
3737import EventEmitter from '../eventEmitter/eventEmitter'
3838import { InternalSignedMessages , SignedMessage } from './types'
3939
40+ import type { BalanceChangesReceipt } from '../../libs/accountOp/balanceChanges'
4041export interface Pagination {
4142 fromPage : number
4243 itemsPerPage : number
@@ -616,7 +617,8 @@ export class ActivityController extends EventEmitter implements IActivityControl
616617 network ,
617618 tokenAddrs ,
618619 balanceChangeWindow . receiptBlockNumber ,
619- balanceChangeWindow . prevBlockNumber
620+ balanceChangeWindow . prevBlockNumber ,
621+ receipts
620622 )
621623 } catch ( error : any ) {
622624 console . log ( error )
@@ -673,17 +675,19 @@ export class ActivityController extends EventEmitter implements IActivityControl
673675 tokenAddrs : string [ ]
674676 receiptBlockNumber : number
675677 prevBlockNumber ?: number
678+ receipts ?: BalanceChangesReceipt [ ]
676679 } >
677680 ) {
678681 await Promise . all (
679682 balanceChangesTasks . map (
680- ( { accountOp, network, tokenAddrs, receiptBlockNumber, prevBlockNumber } ) =>
683+ ( { accountOp, network, tokenAddrs, receiptBlockNumber, prevBlockNumber, receipts } ) =>
681684 this . updateAccountOpBalanceChanges (
682685 accountOp ,
683686 network ,
684687 tokenAddrs ,
685688 receiptBlockNumber ,
686- prevBlockNumber
689+ prevBlockNumber ,
690+ receipts
687691 )
688692 )
689693 )
@@ -734,6 +738,7 @@ export class ActivityController extends EventEmitter implements IActivityControl
734738 tokenAddrs : string [ ]
735739 receiptBlockNumber : number
736740 prevBlockNumber ?: number
741+ receipts ?: BalanceChangesReceipt [ ]
737742 } > = [ ]
738743
739744 // we should fetch Safe txns again upon failure
@@ -772,6 +777,7 @@ export class ActivityController extends EventEmitter implements IActivityControl
772777 let lastReceiptBlockNumber : number | undefined
773778 let shouldScheduleBalanceChangesTask = false
774779 const foundTokensForBalanceChanges = new Set < string > ( )
780+ const receiptsForBalanceChanges : BalanceChangesReceipt [ ] = [ ]
775781
776782 if ( newestOpTimestamp === undefined || newestOpTimestamp < accountOp . timestamp ) {
777783 newestOpTimestamp = accountOp . timestamp
@@ -868,6 +874,13 @@ export class ActivityController extends EventEmitter implements IActivityControl
868874 firstReceiptBlockNumber = receipt . blockNumber
869875 }
870876 lastReceiptBlockNumber = receipt . blockNumber
877+ receiptsForBalanceChanges . push ( {
878+ logs : receipt . logs ,
879+ hash : receipt . hash ,
880+ from : receipt . from ,
881+ gasUsed : receipt . gasUsed ,
882+ gasPrice : receipt . gasPrice
883+ } )
871884
872885 // if this is an user op, we have to check the logs
873886 let isSuccess : boolean | undefined
@@ -978,7 +991,8 @@ export class ActivityController extends EventEmitter implements IActivityControl
978991 isIdentifiedByMultipleTxn ( accountOp . identifiedBy ) &&
979992 typeof firstReceiptBlockNumber !== 'undefined'
980993 ? getPreviousBlockNumber ( firstReceiptBlockNumber )
981- : undefined
994+ : undefined ,
995+ receipts : receiptsForBalanceChanges
982996 } )
983997 }
984998 } )
@@ -1011,7 +1025,8 @@ export class ActivityController extends EventEmitter implements IActivityControl
10111025 network : Network ,
10121026 tokenAddrs : string [ ] ,
10131027 receiptBlockNumber : number ,
1014- prevBlockNumber ?: number
1028+ prevBlockNumber ?: number ,
1029+ receipts ?: BalanceChangesReceipt [ ]
10151030 ) {
10161031 await this . #initialLoadPromise
10171032
@@ -1028,7 +1043,15 @@ export class ActivityController extends EventEmitter implements IActivityControl
10281043 tokenAddrs,
10291044 receiptBlockNumber,
10301045 getTokenBalancesOnBlock : this . #portfolio. getTokenBalancesOnBlock . bind ( this . #portfolio) ,
1031- prevBlockNumber
1046+ prevBlockNumber,
1047+ receipts,
1048+ debugTraceTransaction : ( txnHash ) =>
1049+ network . chainId === 999n
1050+ ? this . #providers. providers [ network . chainId . toString ( ) ] ! . send (
1051+ 'debug_traceTransaction' ,
1052+ [ txnHash , { tracer : 'callTracer' } ]
1053+ )
1054+ : Promise . resolve ( null )
10321055 } )
10331056
10341057 await this . setAccountOpBalanceChanges (
0 commit comments