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

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

import (
	context "context"
	reflect "reflect"

	message "github.com/ChainSafe/chainbridge-core/relayer/message"
	gomock "github.com/golang/mock/gomock"
)

// MockDepositMeter is a mock of DepositMeter interface.
type MockDepositMeter struct {
	ctrl     *gomock.Controller
	recorder *MockDepositMeterMockRecorder
}

// MockDepositMeterMockRecorder is the mock recorder for MockDepositMeter.
type MockDepositMeterMockRecorder struct {
	mock *MockDepositMeter
}

// NewMockDepositMeter creates a new mock instance.
func NewMockDepositMeter(ctrl *gomock.Controller) *MockDepositMeter {
	mock := &MockDepositMeter{ctrl: ctrl}
	mock.recorder = &MockDepositMeterMockRecorder{mock}
	return mock
}

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

// TrackDepositMessage mocks base method.
func (m_2 *MockDepositMeter) TrackDepositMessage(m *message.Message) {
	m_2.ctrl.T.Helper()
	m_2.ctrl.Call(m_2, "TrackDepositMessage", m)
}

// TrackDepositMessage indicates an expected call of TrackDepositMessage.
func (mr *MockDepositMeterMockRecorder) TrackDepositMessage(m interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrackDepositMessage", reflect.TypeOf((*MockDepositMeter)(nil).TrackDepositMessage), m)
}

// TrackExecutionError mocks base method.
func (m_2 *MockDepositMeter) TrackExecutionError(m *message.Message) {
	m_2.ctrl.T.Helper()
	m_2.ctrl.Call(m_2, "TrackExecutionError", m)
}

// TrackExecutionError indicates an expected call of TrackExecutionError.
func (mr *MockDepositMeterMockRecorder) TrackExecutionError(m interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrackExecutionError", reflect.TypeOf((*MockDepositMeter)(nil).TrackExecutionError), m)
}

// TrackSuccessfulExecutionLatency mocks base method.
func (m_2 *MockDepositMeter) TrackSuccessfulExecutionLatency(m *message.Message) {
	m_2.ctrl.T.Helper()
	m_2.ctrl.Call(m_2, "TrackSuccessfulExecutionLatency", m)
}

// TrackSuccessfulExecutionLatency indicates an expected call of TrackSuccessfulExecutionLatency.
func (mr *MockDepositMeterMockRecorder) TrackSuccessfulExecutionLatency(m interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrackSuccessfulExecutionLatency", reflect.TypeOf((*MockDepositMeter)(nil).TrackSuccessfulExecutionLatency), m)
}

// MockRelayedChain is a mock of RelayedChain interface.
type MockRelayedChain struct {
	ctrl     *gomock.Controller
	recorder *MockRelayedChainMockRecorder
}

// MockRelayedChainMockRecorder is the mock recorder for MockRelayedChain.
type MockRelayedChainMockRecorder struct {
	mock *MockRelayedChain
}

// NewMockRelayedChain creates a new mock instance.
func NewMockRelayedChain(ctrl *gomock.Controller) *MockRelayedChain {
	mock := &MockRelayedChain{ctrl: ctrl}
	mock.recorder = &MockRelayedChainMockRecorder{mock}
	return mock
}

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

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

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

// PollEvents mocks base method.
func (m *MockRelayedChain) PollEvents(ctx context.Context, sysErr chan<- error, msgChan chan []*message.Message) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "PollEvents", ctx, sysErr, msgChan)
}

// PollEvents indicates an expected call of PollEvents.
func (mr *MockRelayedChainMockRecorder) PollEvents(ctx, sysErr, msgChan interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollEvents", reflect.TypeOf((*MockRelayedChain)(nil).PollEvents), ctx, sysErr, msgChan)
}

// Write mocks base method.
func (m *MockRelayedChain) Write(messages []*message.Message) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Write", messages)
	ret0, _ := ret[0].(error)
	return ret0
}

// Write indicates an expected call of Write.
func (mr *MockRelayedChainMockRecorder) Write(messages interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Write", reflect.TypeOf((*MockRelayedChain)(nil).Write), messages)
}
