// Code generated by MockGen. DO NOT EDIT.
// Source: evm.go
//
// Generated by this command:
//
//	mockgen -source=evm.go -destination=evm_mock.go -package=evmmodule
//

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

import (
	reflect "reflect"

	evmcore "github.com/0xsoniclabs/sonic/evmcore"
	state "github.com/0xsoniclabs/sonic/inter/state"
	opera "github.com/0xsoniclabs/sonic/opera"
	types "github.com/ethereum/go-ethereum/core/types"
	vm "github.com/ethereum/go-ethereum/core/vm"
	params "github.com/ethereum/go-ethereum/params"
	gomock "go.uber.org/mock/gomock"
)

// Mock_stateProcessorFactory is a mock of _stateProcessorFactory interface.
type Mock_stateProcessorFactory struct {
	ctrl     *gomock.Controller
	recorder *Mock_stateProcessorFactoryMockRecorder
	isgomock struct{}
}

// Mock_stateProcessorFactoryMockRecorder is the mock recorder for Mock_stateProcessorFactory.
type Mock_stateProcessorFactoryMockRecorder struct {
	mock *Mock_stateProcessorFactory
}

// NewMock_stateProcessorFactory creates a new mock instance.
func NewMock_stateProcessorFactory(ctrl *gomock.Controller) *Mock_stateProcessorFactory {
	mock := &Mock_stateProcessorFactory{ctrl: ctrl}
	mock.recorder = &Mock_stateProcessorFactoryMockRecorder{mock}
	return mock
}

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

// NewStateProcessor mocks base method.
func (m *Mock_stateProcessorFactory) NewStateProcessor(evmCfg *params.ChainConfig, reader evmcore.DummyChain, upgrades opera.Upgrades) _stateProcessor {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewStateProcessor", evmCfg, reader, upgrades)
	ret0, _ := ret[0].(_stateProcessor)
	return ret0
}

// NewStateProcessor indicates an expected call of NewStateProcessor.
func (mr *Mock_stateProcessorFactoryMockRecorder) NewStateProcessor(evmCfg, reader, upgrades any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStateProcessor", reflect.TypeOf((*Mock_stateProcessorFactory)(nil).NewStateProcessor), evmCfg, reader, upgrades)
}

// Mock_stateProcessor is a mock of _stateProcessor interface.
type Mock_stateProcessor struct {
	ctrl     *gomock.Controller
	recorder *Mock_stateProcessorMockRecorder
	isgomock struct{}
}

// Mock_stateProcessorMockRecorder is the mock recorder for Mock_stateProcessor.
type Mock_stateProcessorMockRecorder struct {
	mock *Mock_stateProcessor
}

// NewMock_stateProcessor creates a new mock instance.
func NewMock_stateProcessor(ctrl *gomock.Controller) *Mock_stateProcessor {
	mock := &Mock_stateProcessor{ctrl: ctrl}
	mock.recorder = &Mock_stateProcessorMockRecorder{mock}
	return mock
}

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

// Process mocks base method.
func (m *Mock_stateProcessor) Process(block *evmcore.EvmBlock, statedb state.StateDB, vmCfg vm.Config, gasLimit uint64, gasUsed *uint64, onNewLog func(*types.Log)) []evmcore.ProcessedTransaction {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Process", block, statedb, vmCfg, gasLimit, gasUsed, onNewLog)
	ret0, _ := ret[0].([]evmcore.ProcessedTransaction)
	return ret0
}

// Process indicates an expected call of Process.
func (mr *Mock_stateProcessorMockRecorder) Process(block, statedb, vmCfg, gasLimit, gasUsed, onNewLog any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Process", reflect.TypeOf((*Mock_stateProcessor)(nil).Process), block, statedb, vmCfg, gasLimit, gasUsed, onNewLog)
}
