// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ethereum/go-ethereum/consensus/bor (interfaces: GenesisContract)
//
// Generated by this command:
//
//	mockgen -destination=./genesis_contract_mock.go -package=bor . GenesisContract
//

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

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

	common "github.com/ethereum/go-ethereum/common"
	clerk "github.com/ethereum/go-ethereum/consensus/bor/clerk"
	statefull "github.com/ethereum/go-ethereum/consensus/bor/statefull"
	state "github.com/ethereum/go-ethereum/core/state"
	types "github.com/ethereum/go-ethereum/core/types"
	vm "github.com/ethereum/go-ethereum/core/vm"
	gomock "go.uber.org/mock/gomock"
)

// MockGenesisContract is a mock of GenesisContract interface.
type MockGenesisContract struct {
	ctrl     *gomock.Controller
	recorder *MockGenesisContractMockRecorder
	isgomock struct{}
}

// MockGenesisContractMockRecorder is the mock recorder for MockGenesisContract.
type MockGenesisContractMockRecorder struct {
	mock *MockGenesisContract
}

// NewMockGenesisContract creates a new mock instance.
func NewMockGenesisContract(ctrl *gomock.Controller) *MockGenesisContract {
	mock := &MockGenesisContract{ctrl: ctrl}
	mock.recorder = &MockGenesisContractMockRecorder{mock}
	return mock
}

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

// CommitState mocks base method.
func (m *MockGenesisContract) CommitState(event *clerk.EventRecordWithTime, arg1 vm.StateDB, header *types.Header, chCtx statefull.ChainContext) (uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CommitState", event, arg1, header, chCtx)
	ret0, _ := ret[0].(uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CommitState indicates an expected call of CommitState.
func (mr *MockGenesisContractMockRecorder) CommitState(event, arg1, header, chCtx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CommitState", reflect.TypeOf((*MockGenesisContract)(nil).CommitState), event, arg1, header, chCtx)
}

// LastStateId mocks base method.
func (m *MockGenesisContract) LastStateId(arg0 *state.StateDB, number uint64, hash common.Hash) (*big.Int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LastStateId", arg0, number, hash)
	ret0, _ := ret[0].(*big.Int)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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