// Code generated by MockGen. DO NOT EDIT.
// Source: eth/peer.go

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

import (
	reflect "reflect"

	common "github.com/ethereum/go-ethereum/common"
	stateless "github.com/ethereum/go-ethereum/core/stateless"
	wit "github.com/ethereum/go-ethereum/eth/protocols/wit"
	log "github.com/ethereum/go-ethereum/log"
	gomock "github.com/golang/mock/gomock"
)

// MockWitnessPeer is a mock of WitnessPeer interface.
type MockWitnessPeer struct {
	ctrl     *gomock.Controller
	recorder *MockWitnessPeerMockRecorder
}

// MockWitnessPeerMockRecorder is the mock recorder for MockWitnessPeer.
type MockWitnessPeerMockRecorder struct {
	mock *MockWitnessPeer
}

// NewMockWitnessPeer creates a new mock instance.
func NewMockWitnessPeer(ctrl *gomock.Controller) *MockWitnessPeer {
	mock := &MockWitnessPeer{ctrl: ctrl}
	mock.recorder = &MockWitnessPeerMockRecorder{mock}
	return mock
}

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

// AddKnownWitness mocks base method.
func (m *MockWitnessPeer) AddKnownWitness(hash common.Hash) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddKnownWitness", hash)
}

// AddKnownWitness indicates an expected call of AddKnownWitness.
func (mr *MockWitnessPeerMockRecorder) AddKnownWitness(hash interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddKnownWitness", reflect.TypeOf((*MockWitnessPeer)(nil).AddKnownWitness), hash)
}

// AsyncSendNewWitness mocks base method.
func (m *MockWitnessPeer) AsyncSendNewWitness(witness *stateless.Witness) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AsyncSendNewWitness", witness)
}

// AsyncSendNewWitness indicates an expected call of AsyncSendNewWitness.
func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitness(witness interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AsyncSendNewWitness", reflect.TypeOf((*MockWitnessPeer)(nil).AsyncSendNewWitness), witness)
}

// AsyncSendNewWitnessHash mocks base method.
func (m *MockWitnessPeer) AsyncSendNewWitnessHash(hash common.Hash, number uint64) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AsyncSendNewWitnessHash", hash, number)
}

// AsyncSendNewWitnessHash indicates an expected call of AsyncSendNewWitnessHash.
func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitnessHash(hash, number interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AsyncSendNewWitnessHash", reflect.TypeOf((*MockWitnessPeer)(nil).AsyncSendNewWitnessHash), hash, number)
}

// Close mocks base method.
func (m *MockWitnessPeer) Close() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Close")
}

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

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

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

// KnownWitnessContainsHash mocks base method.
func (m *MockWitnessPeer) KnownWitnessContainsHash(hash common.Hash) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "KnownWitnessContainsHash", hash)
	ret0, _ := ret[0].(bool)
	return ret0
}

// KnownWitnessContainsHash indicates an expected call of KnownWitnessContainsHash.
func (mr *MockWitnessPeerMockRecorder) KnownWitnessContainsHash(hash interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KnownWitnessContainsHash", reflect.TypeOf((*MockWitnessPeer)(nil).KnownWitnessContainsHash), hash)
}

// KnownWitnesses mocks base method.
func (m *MockWitnessPeer) KnownWitnesses() *wit.KnownCache {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "KnownWitnesses")
	ret0, _ := ret[0].(*wit.KnownCache)
	return ret0
}

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

// KnownWitnessesContains mocks base method.
func (m *MockWitnessPeer) KnownWitnessesContains(witness *stateless.Witness) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "KnownWitnessesContains", witness)
	ret0, _ := ret[0].(bool)
	return ret0
}

// KnownWitnessesContains indicates an expected call of KnownWitnessesContains.
func (mr *MockWitnessPeerMockRecorder) KnownWitnessesContains(witness interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KnownWitnessesContains", reflect.TypeOf((*MockWitnessPeer)(nil).KnownWitnessesContains), witness)
}

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

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

// Log mocks base method.
func (m *MockWitnessPeer) Log() log.Logger {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Log")
	ret0, _ := ret[0].(log.Logger)
	return ret0
}

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

// ReplyWitness mocks base method.
func (m *MockWitnessPeer) ReplyWitness(requestID uint64, response *wit.WitnessPacketResponse) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ReplyWitness", requestID, response)
	ret0, _ := ret[0].(error)
	return ret0
}

// ReplyWitness indicates an expected call of ReplyWitness.
func (mr *MockWitnessPeerMockRecorder) ReplyWitness(requestID, response interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReplyWitness", reflect.TypeOf((*MockWitnessPeer)(nil).ReplyWitness), requestID, response)
}

// RequestWitness mocks base method.
func (m *MockWitnessPeer) RequestWitness(witnessPages []wit.WitnessPageRequest, sink chan *wit.Response) (*wit.Request, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RequestWitness", witnessPages, sink)
	ret0, _ := ret[0].(*wit.Request)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RequestWitness indicates an expected call of RequestWitness.
func (mr *MockWitnessPeerMockRecorder) RequestWitness(witnessPages, sink interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestWitness", reflect.TypeOf((*MockWitnessPeer)(nil).RequestWitness), witnessPages, sink)
}

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

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