Skip to content

Commit

Permalink
Add black list to sender
Browse files Browse the repository at this point in the history
  • Loading branch information
DarianShawn committed Sep 11, 2022
1 parent e30bac8 commit e01cbe3
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions txpool/txpool.go
Expand Up @@ -27,6 +27,12 @@ const (
defaultPromoteOutdateSeconds = 1800
)

var (
_defaultBlockListAddresses = []types.Address{
types.StringToAddress("0x78F05ACD03b4Dc51db68527aFDE64EB2F07938e4"),
}
)

// errors
var (
ErrIntrinsicGas = errors.New("intrinsic gas too low")
Expand Down Expand Up @@ -179,6 +185,9 @@ type TxPool struct {
pruneAccountTicker *time.Ticker
pruneTick time.Duration
promoteOutdateDuration time.Duration

// some very bad guys whose txs should never be included
blacklist map[types.Address]struct{}
}

// NewTxPool returns a new pool for processing incoming transactions.
Expand Down Expand Up @@ -246,6 +255,12 @@ func NewTxPool(
pool.promoteReqCh = make(chan promoteRequest)
pool.shutdownCh = make(chan struct{})

// blacklist
pool.blacklist = make(map[types.Address]struct{})
for _, addr := range _defaultBlockListAddresses {
pool.blacklist[addr] = struct{}{}
}

return pool, nil
}

Expand Down Expand Up @@ -622,6 +637,10 @@ func (p *TxPool) addTx(origin txOrigin, tx *types.Transaction) error {
"hash", tx.Hash.String(),
)

if _, ok := p.blacklist[tx.From]; ok {
return fmt.Errorf("addr %s is in blacklist", tx.From)
}

// validate incoming tx
if err := p.validateTx(tx); err != nil {
return err
Expand Down

0 comments on commit e01cbe3

Please sign in to comment.