core/txpool: Improve error responses

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.
This commit is contained in:
Piers Powlesland 2024-11-01 19:44:15 +00:00
parent e9467eec1c
commit e44cfeeaa2
2 changed files with 2 additions and 2 deletions

View file

@ -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

View file

@ -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