Skip to content

Commit

Permalink
core/txpool: Improve error responses
Browse files Browse the repository at this point in the history
I noticed that these two responses can make their way back to the
transaction submitter when submitting unsupported tx types. Adding the
extra context makes it easier for the submitter to understand what went
wrong. Particularly in the case of the invalid sender response, which is
returned when an unsupported transaction type is encountered.
  • Loading branch information
piersy committed Nov 1, 2024
1 parent e9467ee commit e44cfee
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion core/txpool/txpool.go
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ func (p *TxPool) Add(txs []*types.Transaction, local bool, sync bool) []error {
for i, split := range splits {
// If the transaction was rejected by all subpools, mark it unsupported
if split == -1 {
errs[i] = core.ErrTxTypeNotSupported
errs[i] = fmt.Errorf("%w (type %d)", core.ErrTxTypeNotSupported, txs[i].Type())
continue
}
// Find which subpool handled it and pull in the corresponding error
Expand Down
2 changes: 1 addition & 1 deletion core/txpool/validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func ValidateTransaction(tx *types.Transaction, head *types.Header, signer types
}
// Make sure the transaction is signed properly
if _, err := types.Sender(signer, tx); err != nil {
return ErrInvalidSender
return fmt.Errorf("%w: %w", ErrInvalidSender, err)
}
// Ensure the transaction has more gas than the bare minimum needed to cover
// the transaction metadata
Expand Down

0 comments on commit e44cfee

Please sign in to comment.