// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ChainSafe/gossamer/lib/runtime (interfaces: Instance)
//
// Generated by this command:
//
//	mockgen -destination=mock_runtime_instance_test.go -package core github.com/ChainSafe/gossamer/lib/runtime Instance
//

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

import (
	reflect "reflect"

	types "github.com/ChainSafe/gossamer/dot/types"
	log "github.com/ChainSafe/gossamer/internal/log"
	common "github.com/ChainSafe/gossamer/lib/common"
	ed25519 "github.com/ChainSafe/gossamer/lib/crypto/ed25519"
	keystore "github.com/ChainSafe/gossamer/lib/keystore"
	runtime "github.com/ChainSafe/gossamer/lib/runtime"
	transaction "github.com/ChainSafe/gossamer/lib/transaction"
	gomock "go.uber.org/mock/gomock"
)

// MockInstance is a mock of Instance interface.
type MockInstance struct {
	ctrl     *gomock.Controller
	recorder *MockInstanceMockRecorder
	isgomock struct{}
}

// MockInstanceMockRecorder is the mock recorder for MockInstance.
type MockInstanceMockRecorder struct {
	mock *MockInstance
}

// NewMockInstance creates a new mock instance.
func NewMockInstance(ctrl *gomock.Controller) *MockInstance {
	mock := &MockInstance{ctrl: ctrl}
	mock.recorder = &MockInstanceMockRecorder{mock}
	return mock
}

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

// ApplyExtrinsic mocks base method.
func (m *MockInstance) ApplyExtrinsic(data types.Extrinsic) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ApplyExtrinsic", data)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ApplyExtrinsic indicates an expected call of ApplyExtrinsic.
func (mr *MockInstanceMockRecorder) ApplyExtrinsic(data any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApplyExtrinsic", reflect.TypeOf((*MockInstance)(nil).ApplyExtrinsic), data)
}

// BabeConfiguration mocks base method.
func (m *MockInstance) BabeConfiguration() (*types.BabeConfiguration, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BabeConfiguration")
	ret0, _ := ret[0].(*types.BabeConfiguration)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// BabeGenerateKeyOwnershipProof mocks base method.
func (m *MockInstance) BabeGenerateKeyOwnershipProof(slot uint64, authorityID [32]byte) (types.OpaqueKeyOwnershipProof, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BabeGenerateKeyOwnershipProof", slot, authorityID)
	ret0, _ := ret[0].(types.OpaqueKeyOwnershipProof)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BabeGenerateKeyOwnershipProof indicates an expected call of BabeGenerateKeyOwnershipProof.
func (mr *MockInstanceMockRecorder) BabeGenerateKeyOwnershipProof(slot, authorityID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BabeGenerateKeyOwnershipProof", reflect.TypeOf((*MockInstance)(nil).BabeGenerateKeyOwnershipProof), slot, authorityID)
}

// BabeSubmitReportEquivocationUnsignedExtrinsic mocks base method.
func (m *MockInstance) BabeSubmitReportEquivocationUnsignedExtrinsic(equivocationProof types.BabeEquivocationProof, keyOwnershipProof types.OpaqueKeyOwnershipProof) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BabeSubmitReportEquivocationUnsignedExtrinsic", equivocationProof, keyOwnershipProof)
	ret0, _ := ret[0].(error)
	return ret0
}

// BabeSubmitReportEquivocationUnsignedExtrinsic indicates an expected call of BabeSubmitReportEquivocationUnsignedExtrinsic.
func (mr *MockInstanceMockRecorder) BabeSubmitReportEquivocationUnsignedExtrinsic(equivocationProof, keyOwnershipProof any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BabeSubmitReportEquivocationUnsignedExtrinsic", reflect.TypeOf((*MockInstance)(nil).BabeSubmitReportEquivocationUnsignedExtrinsic), equivocationProof, keyOwnershipProof)
}

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

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

// DecodeSessionKeys mocks base method.
func (m *MockInstance) DecodeSessionKeys(enc []byte) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DecodeSessionKeys", enc)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DecodeSessionKeys indicates an expected call of DecodeSessionKeys.
func (mr *MockInstanceMockRecorder) DecodeSessionKeys(enc any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodeSessionKeys", reflect.TypeOf((*MockInstance)(nil).DecodeSessionKeys), enc)
}

// Exec mocks base method.
func (m *MockInstance) Exec(function string, data []byte) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Exec", function, data)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Exec indicates an expected call of Exec.
func (mr *MockInstanceMockRecorder) Exec(function, data any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Exec", reflect.TypeOf((*MockInstance)(nil).Exec), function, data)
}

// ExecuteBlock mocks base method.
func (m *MockInstance) ExecuteBlock(block *types.Block) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExecuteBlock", block)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ExecuteBlock indicates an expected call of ExecuteBlock.
func (mr *MockInstanceMockRecorder) ExecuteBlock(block any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteBlock", reflect.TypeOf((*MockInstance)(nil).ExecuteBlock), block)
}

// FinalizeBlock mocks base method.
func (m *MockInstance) FinalizeBlock() (*types.Header, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FinalizeBlock")
	ret0, _ := ret[0].(*types.Header)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

// GrandpaAuthorities mocks base method.
func (m *MockInstance) GrandpaAuthorities() ([]types.Authority, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GrandpaAuthorities")
	ret0, _ := ret[0].([]types.Authority)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GrandpaGenerateKeyOwnershipProof mocks base method.
func (m *MockInstance) GrandpaGenerateKeyOwnershipProof(authSetID uint64, authorityID ed25519.PublicKeyBytes) (types.GrandpaOpaqueKeyOwnershipProof, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GrandpaGenerateKeyOwnershipProof", authSetID, authorityID)
	ret0, _ := ret[0].(types.GrandpaOpaqueKeyOwnershipProof)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GrandpaGenerateKeyOwnershipProof indicates an expected call of GrandpaGenerateKeyOwnershipProof.
func (mr *MockInstanceMockRecorder) GrandpaGenerateKeyOwnershipProof(authSetID, authorityID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GrandpaGenerateKeyOwnershipProof", reflect.TypeOf((*MockInstance)(nil).GrandpaGenerateKeyOwnershipProof), authSetID, authorityID)
}

// GrandpaSubmitReportEquivocationUnsignedExtrinsic mocks base method.
func (m *MockInstance) GrandpaSubmitReportEquivocationUnsignedExtrinsic(equivocationProof types.GrandpaEquivocationProof, keyOwnershipProof types.GrandpaOpaqueKeyOwnershipProof) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GrandpaSubmitReportEquivocationUnsignedExtrinsic", equivocationProof, keyOwnershipProof)
	ret0, _ := ret[0].(error)
	return ret0
}

// GrandpaSubmitReportEquivocationUnsignedExtrinsic indicates an expected call of GrandpaSubmitReportEquivocationUnsignedExtrinsic.
func (mr *MockInstanceMockRecorder) GrandpaSubmitReportEquivocationUnsignedExtrinsic(equivocationProof, keyOwnershipProof any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GrandpaSubmitReportEquivocationUnsignedExtrinsic", reflect.TypeOf((*MockInstance)(nil).GrandpaSubmitReportEquivocationUnsignedExtrinsic), equivocationProof, keyOwnershipProof)
}

// InherentExtrinsics mocks base method.
func (m *MockInstance) InherentExtrinsics(data []byte) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InherentExtrinsics", data)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// InherentExtrinsics indicates an expected call of InherentExtrinsics.
func (mr *MockInstanceMockRecorder) InherentExtrinsics(data any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InherentExtrinsics", reflect.TypeOf((*MockInstance)(nil).InherentExtrinsics), data)
}

// InitializeBlock mocks base method.
func (m *MockInstance) InitializeBlock(header *types.Header) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InitializeBlock", header)
	ret0, _ := ret[0].(error)
	return ret0
}

// InitializeBlock indicates an expected call of InitializeBlock.
func (mr *MockInstanceMockRecorder) InitializeBlock(header any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitializeBlock", reflect.TypeOf((*MockInstance)(nil).InitializeBlock), header)
}

// Keystore mocks base method.
func (m *MockInstance) Keystore() *keystore.GlobalKeystore {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Keystore")
	ret0, _ := ret[0].(*keystore.GlobalKeystore)
	return ret0
}

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

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

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

// Metadata mocks base method.
func (m *MockInstance) Metadata() ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Metadata")
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// NetworkService mocks base method.
func (m *MockInstance) NetworkService() runtime.BasicNetwork {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NetworkService")
	ret0, _ := ret[0].(runtime.BasicNetwork)
	return ret0
}

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

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

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

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

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

// PaymentQueryInfo mocks base method.
func (m *MockInstance) PaymentQueryInfo(ext []byte) (*types.RuntimeDispatchInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PaymentQueryInfo", ext)
	ret0, _ := ret[0].(*types.RuntimeDispatchInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// PaymentQueryInfo indicates an expected call of PaymentQueryInfo.
func (mr *MockInstanceMockRecorder) PaymentQueryInfo(ext any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PaymentQueryInfo", reflect.TypeOf((*MockInstance)(nil).PaymentQueryInfo), ext)
}

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

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

// Role mocks base method.
func (m *MockInstance) Role() common.NetworkRole {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Role")
	ret0, _ := ret[0].(common.NetworkRole)
	return ret0
}

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

// SetContextStorage mocks base method.
func (m *MockInstance) SetContextStorage(s runtime.Storage) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetContextStorage", s)
}

// SetContextStorage indicates an expected call of SetContextStorage.
func (mr *MockInstanceMockRecorder) SetContextStorage(s any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetContextStorage", reflect.TypeOf((*MockInstance)(nil).SetContextStorage), s)
}

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

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

// ValidateTransaction mocks base method.
func (m *MockInstance) ValidateTransaction(e types.Extrinsic) (*transaction.Validity, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateTransaction", e)
	ret0, _ := ret[0].(*transaction.Validity)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ValidateTransaction indicates an expected call of ValidateTransaction.
func (mr *MockInstanceMockRecorder) ValidateTransaction(e any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateTransaction", reflect.TypeOf((*MockInstance)(nil).ValidateTransaction), e)
}

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

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

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

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