// 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: keystore.go
//
// Generated by this command:
//
//	mockgen -source=keystore.go -destination=keystore_mock.go -package=valkeystore
//

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

import (
	reflect "reflect"

	validatorpk "github.com/0xsoniclabs/sonic/inter/validatorpk"
	encryption "github.com/0xsoniclabs/sonic/valkeystore/encryption"
	gomock "go.uber.org/mock/gomock"
)

// MockRawKeystoreI is a mock of RawKeystoreI interface.
type MockRawKeystoreI struct {
	ctrl     *gomock.Controller
	recorder *MockRawKeystoreIMockRecorder
	isgomock struct{}
}

// MockRawKeystoreIMockRecorder is the mock recorder for MockRawKeystoreI.
type MockRawKeystoreIMockRecorder struct {
	mock *MockRawKeystoreI
}

// NewMockRawKeystoreI creates a new mock instance.
func NewMockRawKeystoreI(ctrl *gomock.Controller) *MockRawKeystoreI {
	mock := &MockRawKeystoreI{ctrl: ctrl}
	mock.recorder = &MockRawKeystoreIMockRecorder{mock}
	return mock
}

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

// Add mocks base method.
func (m *MockRawKeystoreI) Add(pubkey validatorpk.PubKey, key []byte, auth string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Add", pubkey, key, auth)
	ret0, _ := ret[0].(error)
	return ret0
}

// Add indicates an expected call of Add.
func (mr *MockRawKeystoreIMockRecorder) Add(pubkey, key, auth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Add", reflect.TypeOf((*MockRawKeystoreI)(nil).Add), pubkey, key, auth)
}

// Get mocks base method.
func (m *MockRawKeystoreI) Get(pubkey validatorpk.PubKey, auth string) (*encryption.PrivateKey, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", pubkey, auth)
	ret0, _ := ret[0].(*encryption.PrivateKey)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockRawKeystoreIMockRecorder) Get(pubkey, auth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockRawKeystoreI)(nil).Get), pubkey, auth)
}

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

// Has indicates an expected call of Has.
func (mr *MockRawKeystoreIMockRecorder) Has(pubkey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRawKeystoreI)(nil).Has), pubkey)
}

// MockKeystoreI is a mock of KeystoreI interface.
type MockKeystoreI struct {
	ctrl     *gomock.Controller
	recorder *MockKeystoreIMockRecorder
	isgomock struct{}
}

// MockKeystoreIMockRecorder is the mock recorder for MockKeystoreI.
type MockKeystoreIMockRecorder struct {
	mock *MockKeystoreI
}

// NewMockKeystoreI creates a new mock instance.
func NewMockKeystoreI(ctrl *gomock.Controller) *MockKeystoreI {
	mock := &MockKeystoreI{ctrl: ctrl}
	mock.recorder = &MockKeystoreIMockRecorder{mock}
	return mock
}

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

// Add mocks base method.
func (m *MockKeystoreI) Add(pubkey validatorpk.PubKey, key []byte, auth string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Add", pubkey, key, auth)
	ret0, _ := ret[0].(error)
	return ret0
}

// Add indicates an expected call of Add.
func (mr *MockKeystoreIMockRecorder) Add(pubkey, key, auth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Add", reflect.TypeOf((*MockKeystoreI)(nil).Add), pubkey, key, auth)
}

// Get mocks base method.
func (m *MockKeystoreI) Get(pubkey validatorpk.PubKey, auth string) (*encryption.PrivateKey, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", pubkey, auth)
	ret0, _ := ret[0].(*encryption.PrivateKey)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockKeystoreIMockRecorder) Get(pubkey, auth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockKeystoreI)(nil).Get), pubkey, auth)
}

// GetUnlocked mocks base method.
func (m *MockKeystoreI) GetUnlocked(pubkey validatorpk.PubKey) (*encryption.PrivateKey, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUnlocked", pubkey)
	ret0, _ := ret[0].(*encryption.PrivateKey)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUnlocked indicates an expected call of GetUnlocked.
func (mr *MockKeystoreIMockRecorder) GetUnlocked(pubkey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUnlocked", reflect.TypeOf((*MockKeystoreI)(nil).GetUnlocked), pubkey)
}

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

// Has indicates an expected call of Has.
func (mr *MockKeystoreIMockRecorder) Has(pubkey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockKeystoreI)(nil).Has), pubkey)
}

// Unlock mocks base method.
func (m *MockKeystoreI) Unlock(pubkey validatorpk.PubKey, auth string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unlock", pubkey, auth)
	ret0, _ := ret[0].(error)
	return ret0
}

// Unlock indicates an expected call of Unlock.
func (mr *MockKeystoreIMockRecorder) Unlock(pubkey, auth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unlock", reflect.TypeOf((*MockKeystoreI)(nil).Unlock), pubkey, auth)
}

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

// Unlocked indicates an expected call of Unlocked.
func (mr *MockKeystoreIMockRecorder) Unlocked(pubkey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unlocked", reflect.TypeOf((*MockKeystoreI)(nil).Unlocked), pubkey)
}
