Skip to content
This repository was archived by the owner on Oct 20, 2024. It is now read-only.

Commit c46f6b9

Browse files
authored
Add relayer revert reasons to context for logging (#111)
1 parent 8960f01 commit c46f6b9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

pkg/modules/relay/relayer.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ func (r *Relayer) SendUserOperation() modules.BatchHandlerFunc {
180180

181181
// Estimate gas for handleOps() and drop all userOps that cause unexpected reverts.
182182
var gas uint64
183+
estRev := []string{}
183184
for len(ctx.Batch) > 0 {
184185
est, revert, err := transaction.EstimateHandleOpsGas(
185186
r.eoa,
@@ -194,6 +195,7 @@ func (r *Relayer) SendUserOperation() modules.BatchHandlerFunc {
194195
return err
195196
} else if revert != nil {
196197
ctx.MarkOpIndexForRemoval(revert.OpIndex)
198+
estRev = append(estRev, revert.Reason)
197199

198200
hashes := getUserOpHashesFromOps(ctx.EntryPoint, ctx.ChainID, ctx.PendingRemoval...)
199201
if err := removeUserOpHashEntries(txn, hashes...); err != nil {
@@ -204,8 +206,10 @@ func (r *Relayer) SendUserOperation() modules.BatchHandlerFunc {
204206
break
205207
}
206208
}
209+
ctx.Data["relayer_est_revert_reasons"] = estRev
207210

208211
// Call handleOps() with gas estimate and drop all userOps that cause unexpected reverts.
212+
txnRev := []string{}
209213
for len(ctx.Batch) > 0 {
210214
t, revert, err := transaction.HandleOps(
211215
r.eoa,
@@ -221,6 +225,7 @@ func (r *Relayer) SendUserOperation() modules.BatchHandlerFunc {
221225
return err
222226
} else if revert != nil {
223227
ctx.MarkOpIndexForRemoval(revert.OpIndex)
228+
txnRev = append(txnRev, revert.Reason)
224229

225230
hashes := getUserOpHashesFromOps(ctx.EntryPoint, ctx.ChainID, ctx.PendingRemoval...)
226231
if err := removeUserOpHashEntries(txn, hashes...); err != nil {
@@ -231,6 +236,7 @@ func (r *Relayer) SendUserOperation() modules.BatchHandlerFunc {
231236
break
232237
}
233238
}
239+
ctx.Data["relayer_txn_revert_reasons"] = txnRev
234240

235241
hashes := getUserOpHashesFromOps(ctx.EntryPoint, ctx.ChainID, ctx.Batch...)
236242
del = append([]string{}, hashes...)

0 commit comments

Comments
 (0)