// Copyright 2025 Sonic Operations Ltd
// This file is part of the Sonic Client
//
// Sonic is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Sonic is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with Sonic. If not, see <http://www.gnu.org/licenses/>.

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

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

import (
	reflect "reflect"

	common "github.com/ethereum/go-ethereum/common"
	gomock "go.uber.org/mock/gomock"
)

// MockRandaoMixer is a mock of RandaoMixer interface.
type MockRandaoMixer struct {
	ctrl     *gomock.Controller
	recorder *MockRandaoMixerMockRecorder
	isgomock struct{}
}

// MockRandaoMixerMockRecorder is the mock recorder for MockRandaoMixer.
type MockRandaoMixerMockRecorder struct {
	mock *MockRandaoMixer
}

// NewMockRandaoMixer creates a new mock instance.
func NewMockRandaoMixer(ctrl *gomock.Controller) *MockRandaoMixer {
	mock := &MockRandaoMixer{ctrl: ctrl}
	mock.recorder = &MockRandaoMixerMockRecorder{mock}
	return mock
}

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

// MixRandao mocks base method.
func (m *MockRandaoMixer) MixRandao(prevRandao common.Hash) (RandaoReveal, common.Hash, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MixRandao", prevRandao)
	ret0, _ := ret[0].(RandaoReveal)
	ret1, _ := ret[1].(common.Hash)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// MixRandao indicates an expected call of MixRandao.
func (mr *MockRandaoMixerMockRecorder) MixRandao(prevRandao any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MixRandao", reflect.TypeOf((*MockRandaoMixer)(nil).MixRandao), prevRandao)
}
