// Code generated by MockGen. DO NOT EDIT.
// Source: tx_pool.go
//
// Generated by this command:
//
//	mockgen -source=tx_pool.go -destination=tx_pool_mock.go -package=evmcore
//

// Package evmcore is a generated GoMock package.
package evmcore

import (
	big "math/big"
	reflect "reflect"

	state "github.com/0xsoniclabs/sonic/inter/state"
	opera "github.com/0xsoniclabs/sonic/opera"
	common "github.com/ethereum/go-ethereum/common"
	event "github.com/ethereum/go-ethereum/event"
	params "github.com/ethereum/go-ethereum/params"
	gomock "go.uber.org/mock/gomock"
)

// MockStateReader is a mock of StateReader interface.
type MockStateReader struct {
	ctrl     *gomock.Controller
	recorder *MockStateReaderMockRecorder
	isgomock struct{}
}

// MockStateReaderMockRecorder is the mock recorder for MockStateReader.
type MockStateReaderMockRecorder struct {
	mock *MockStateReader
}

// NewMockStateReader creates a new mock instance.
func NewMockStateReader(ctrl *gomock.Controller) *MockStateReader {
	mock := &MockStateReader{ctrl: ctrl}
	mock.recorder = &MockStateReaderMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockStateReader) EXPECT() *MockStateReaderMockRecorder {
	return m.recorder
}

// Config mocks base method.
func (m *MockStateReader) Config() *params.ChainConfig {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Config")
	ret0, _ := ret[0].(*params.ChainConfig)
	return ret0
}

// Config indicates an expected call of Config.
func (mr *MockStateReaderMockRecorder) Config() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Config", reflect.TypeOf((*MockStateReader)(nil).Config))
}

// CurrentBlock mocks base method.
func (m *MockStateReader) CurrentBlock() *EvmBlock {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CurrentBlock")
	ret0, _ := ret[0].(*EvmBlock)
	return ret0
}

// CurrentBlock indicates an expected call of CurrentBlock.
func (mr *MockStateReaderMockRecorder) CurrentBlock() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentBlock", reflect.TypeOf((*MockStateReader)(nil).CurrentBlock))
}

// GetBlock mocks base method.
func (m *MockStateReader) GetBlock(hash common.Hash, number uint64) *EvmBlock {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBlock", hash, number)
	ret0, _ := ret[0].(*EvmBlock)
	return ret0
}

// GetBlock indicates an expected call of GetBlock.
func (mr *MockStateReaderMockRecorder) GetBlock(hash, number any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBlock", reflect.TypeOf((*MockStateReader)(nil).GetBlock), hash, number)
}

// GetCurrentBaseFee mocks base method.
func (m *MockStateReader) GetCurrentBaseFee() *big.Int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCurrentBaseFee")
	ret0, _ := ret[0].(*big.Int)
	return ret0
}

// GetCurrentBaseFee indicates an expected call of GetCurrentBaseFee.
func (mr *MockStateReaderMockRecorder) GetCurrentBaseFee() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentBaseFee", reflect.TypeOf((*MockStateReader)(nil).GetCurrentBaseFee))
}

// GetCurrentRules mocks base method.
func (m *MockStateReader) GetCurrentRules() opera.Rules {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCurrentRules")
	ret0, _ := ret[0].(opera.Rules)
	return ret0
}

// GetCurrentRules indicates an expected call of GetCurrentRules.
func (mr *MockStateReaderMockRecorder) GetCurrentRules() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentRules", reflect.TypeOf((*MockStateReader)(nil).GetCurrentRules))
}

// GetHeader mocks base method.
func (m *MockStateReader) GetHeader(arg0 common.Hash, arg1 uint64) *EvmHeader {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetHeader", arg0, arg1)
	ret0, _ := ret[0].(*EvmHeader)
	return ret0
}

// GetHeader indicates an expected call of GetHeader.
func (mr *MockStateReaderMockRecorder) GetHeader(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHeader", reflect.TypeOf((*MockStateReader)(nil).GetHeader), arg0, arg1)
}

// GetTxPoolStateDB mocks base method.
func (m *MockStateReader) GetTxPoolStateDB() (state.StateDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTxPoolStateDB")
	ret0, _ := ret[0].(state.StateDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetTxPoolStateDB indicates an expected call of GetTxPoolStateDB.
func (mr *MockStateReaderMockRecorder) GetTxPoolStateDB() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTxPoolStateDB", reflect.TypeOf((*MockStateReader)(nil).GetTxPoolStateDB))
}

// MaxGasLimit mocks base method.
func (m *MockStateReader) MaxGasLimit() uint64 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MaxGasLimit")
	ret0, _ := ret[0].(uint64)
	return ret0
}

// MaxGasLimit indicates an expected call of MaxGasLimit.
func (mr *MockStateReaderMockRecorder) MaxGasLimit() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MaxGasLimit", reflect.TypeOf((*MockStateReader)(nil).MaxGasLimit))
}

// SubscribeNewBlock mocks base method.
func (m *MockStateReader) SubscribeNewBlock(ch chan<- ChainHeadNotify) event.Subscription {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SubscribeNewBlock", ch)
	ret0, _ := ret[0].(event.Subscription)
	return ret0
}

// SubscribeNewBlock indicates an expected call of SubscribeNewBlock.
func (mr *MockStateReaderMockRecorder) SubscribeNewBlock(ch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeNewBlock", reflect.TypeOf((*MockStateReader)(nil).SubscribeNewBlock), ch)
}
