// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/erigontech/erigon/cl/phase1/network/services (interfaces: PayloadAttestationService)
//
// Generated by this command:
//
//	mockgen -typed=true -destination=./mock_services/payload_attestation_service_mock.go -package=mock_services . PayloadAttestationService
//

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

import (
	context "context"
	reflect "reflect"

	clparams "github.com/erigontech/erigon/cl/clparams"
	cltypes "github.com/erigontech/erigon/cl/cltypes"
	peer "github.com/libp2p/go-libp2p/core/peer"
	gomock "go.uber.org/mock/gomock"
)

// MockPayloadAttestationService is a mock of PayloadAttestationService interface.
type MockPayloadAttestationService struct {
	ctrl     *gomock.Controller
	recorder *MockPayloadAttestationServiceMockRecorder
	isgomock struct{}
}

// MockPayloadAttestationServiceMockRecorder is the mock recorder for MockPayloadAttestationService.
type MockPayloadAttestationServiceMockRecorder struct {
	mock *MockPayloadAttestationService
}

// NewMockPayloadAttestationService creates a new mock instance.
func NewMockPayloadAttestationService(ctrl *gomock.Controller) *MockPayloadAttestationService {
	mock := &MockPayloadAttestationService{ctrl: ctrl}
	mock.recorder = &MockPayloadAttestationServiceMockRecorder{mock}
	return mock
}

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

// DecodeGossipMessage mocks base method.
func (m *MockPayloadAttestationService) DecodeGossipMessage(pid peer.ID, data []byte, version clparams.StateVersion) (*cltypes.PayloadAttestationMessage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DecodeGossipMessage", pid, data, version)
	ret0, _ := ret[0].(*cltypes.PayloadAttestationMessage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DecodeGossipMessage indicates an expected call of DecodeGossipMessage.
func (mr *MockPayloadAttestationServiceMockRecorder) DecodeGossipMessage(pid, data, version any) *MockPayloadAttestationServiceDecodeGossipMessageCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodeGossipMessage", reflect.TypeOf((*MockPayloadAttestationService)(nil).DecodeGossipMessage), pid, data, version)
	return &MockPayloadAttestationServiceDecodeGossipMessageCall{Call: call}
}

// MockPayloadAttestationServiceDecodeGossipMessageCall wrap *gomock.Call
type MockPayloadAttestationServiceDecodeGossipMessageCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockPayloadAttestationServiceDecodeGossipMessageCall) Return(arg0 *cltypes.PayloadAttestationMessage, arg1 error) *MockPayloadAttestationServiceDecodeGossipMessageCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockPayloadAttestationServiceDecodeGossipMessageCall) Do(f func(peer.ID, []byte, clparams.StateVersion) (*cltypes.PayloadAttestationMessage, error)) *MockPayloadAttestationServiceDecodeGossipMessageCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockPayloadAttestationServiceDecodeGossipMessageCall) DoAndReturn(f func(peer.ID, []byte, clparams.StateVersion) (*cltypes.PayloadAttestationMessage, error)) *MockPayloadAttestationServiceDecodeGossipMessageCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// Names indicates an expected call of Names.
func (mr *MockPayloadAttestationServiceMockRecorder) Names() *MockPayloadAttestationServiceNamesCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Names", reflect.TypeOf((*MockPayloadAttestationService)(nil).Names))
	return &MockPayloadAttestationServiceNamesCall{Call: call}
}

// MockPayloadAttestationServiceNamesCall wrap *gomock.Call
type MockPayloadAttestationServiceNamesCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockPayloadAttestationServiceNamesCall) Return(arg0 []string) *MockPayloadAttestationServiceNamesCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockPayloadAttestationServiceNamesCall) Do(f func() []string) *MockPayloadAttestationServiceNamesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockPayloadAttestationServiceNamesCall) DoAndReturn(f func() []string) *MockPayloadAttestationServiceNamesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ProcessMessage mocks base method.
func (m *MockPayloadAttestationService) ProcessMessage(ctx context.Context, subnet *uint64, msg *cltypes.PayloadAttestationMessage) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ProcessMessage", ctx, subnet, msg)
	ret0, _ := ret[0].(error)
	return ret0
}

// ProcessMessage indicates an expected call of ProcessMessage.
func (mr *MockPayloadAttestationServiceMockRecorder) ProcessMessage(ctx, subnet, msg any) *MockPayloadAttestationServiceProcessMessageCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProcessMessage", reflect.TypeOf((*MockPayloadAttestationService)(nil).ProcessMessage), ctx, subnet, msg)
	return &MockPayloadAttestationServiceProcessMessageCall{Call: call}
}

// MockPayloadAttestationServiceProcessMessageCall wrap *gomock.Call
type MockPayloadAttestationServiceProcessMessageCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockPayloadAttestationServiceProcessMessageCall) Return(arg0 error) *MockPayloadAttestationServiceProcessMessageCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockPayloadAttestationServiceProcessMessageCall) Do(f func(context.Context, *uint64, *cltypes.PayloadAttestationMessage) error) *MockPayloadAttestationServiceProcessMessageCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockPayloadAttestationServiceProcessMessageCall) DoAndReturn(f func(context.Context, *uint64, *cltypes.PayloadAttestationMessage) error) *MockPayloadAttestationServiceProcessMessageCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
