diff --git a/core/tx_pool.go b/core/tx_pool.go index e80c74c797..c4a777a0fb 100644 --- a/core/tx_pool.go +++ b/core/tx_pool.go @@ -81,6 +81,8 @@ var ( ErrZeroGasPrice = errors.New("zero gas price") + ErrUnderMinGasPrice = errors.New("under min gas price") + ErrDuplicateSpecialTransaction = errors.New("duplicate a special transaction") ErrMinDeploySMC = errors.New("smart contract creation cost is under allowance") @@ -621,6 +623,11 @@ func (pool *TxPool) validateTx(tx *types.Transaction, local bool) error { if tx.GasPrice().Cmp(new(big.Int).SetInt64(0)) == 0 { return ErrZeroGasPrice } + + // under min gas price + if tx.GasPrice().Cmp(new(big.Int).SetInt64(common.MinGasPrice)) < 0 { + return ErrUnderMinGasPrice + } } minGasDeploySMC := new(big.Int).Mul(new(big.Int).SetUint64(10), new(big.Int).SetUint64(params.Ether))