@@ -54,6 +54,14 @@ func getEthAddress(addr address.Address) string {
54
54
return to .String ()
55
55
}
56
56
57
+ func (t * Task ) getActorAddress (ctx context.Context , address address.Address , tsk types.TipSetKey ) address.Address {
58
+ actor , _ := t .node .Actor (ctx , address , tsk )
59
+ if actor .Address != nil {
60
+ return * actor .Address
61
+ }
62
+ return address
63
+ }
64
+
57
65
func (t * Task ) ProcessTipSets (ctx context.Context , current * types.TipSet , executed * types.TipSet ) (model.Persistable , * visormodel.ProcessingReport , error ) {
58
66
ctx , span := otel .Tracer ("" ).Start (ctx , "ProcessTipSets" )
59
67
if span .IsRecording () {
@@ -137,19 +145,21 @@ func (t *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
137
145
errs = append (errs , err )
138
146
}
139
147
}
140
- fromEthAddress := getEthAddress (child .Message .From )
141
- toEthAddress := getEthAddress (child .Message .To )
148
+
149
+ // Get Actor Address
150
+ toAddress := t .getActorAddress (ctx , child .Message .To , current .Key ())
151
+ fromAddress := t .getActorAddress (ctx , child .Message .From , current .Key ())
142
152
143
153
traceObj := & fevm.FEVMTrace {
144
154
Height : int64 (parentMsg .Height ),
145
155
TransactionHash : transactionHash .String (),
146
156
MessageStateRoot : parentMsg .StateRoot .String (),
147
157
MessageCid : parentMsg .Cid .String (),
148
158
TraceCid : getMessageTraceCid (child .Message ).String (),
149
- ToFilecoinAddress : child . Message . To .String (),
150
- FromFilecoinAddress : child . Message . From .String (),
151
- From : fromEthAddress ,
152
- To : toEthAddress ,
159
+ FromFilecoinAddress : fromAddress .String (),
160
+ ToFilecoinAddress : toAddress .String (),
161
+ From : getEthAddress ( fromAddress ) ,
162
+ To : getEthAddress ( toAddress ) ,
153
163
Value : child .Message .Value .String (),
154
164
ExitCode : int64 (child .Receipt .ExitCode ),
155
165
ActorCode : actorCode ,
0 commit comments