// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ava-labs/avalanchego/utils/crypto/keychain (interfaces: Ledger)
//
// Generated by this command:
//
//	mockgen -package=keychainmock -destination=keychainmock/ledger.go -mock_names=Ledger=Ledger . Ledger
//

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

import (
	reflect "reflect"

	ids "github.com/ava-labs/avalanchego/ids"
	version "github.com/ava-labs/avalanchego/version"
	gomock "go.uber.org/mock/gomock"
)

// Ledger is a mock of Ledger interface.
type Ledger struct {
	ctrl     *gomock.Controller
	recorder *LedgerMockRecorder
	isgomock struct{}
}

// LedgerMockRecorder is the mock recorder for Ledger.
type LedgerMockRecorder struct {
	mock *Ledger
}

// NewLedger creates a new mock instance.
func NewLedger(ctrl *gomock.Controller) *Ledger {
	mock := &Ledger{ctrl: ctrl}
	mock.recorder = &LedgerMockRecorder{mock}
	return mock
}

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

// Address mocks base method.
func (m *Ledger) Address(displayHRP string, addressIndex uint32) (ids.ShortID, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Address", displayHRP, addressIndex)
	ret0, _ := ret[0].(ids.ShortID)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Address indicates an expected call of Address.
func (mr *LedgerMockRecorder) Address(displayHRP, addressIndex any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Address", reflect.TypeOf((*Ledger)(nil).Address), displayHRP, addressIndex)
}

// Addresses mocks base method.
func (m *Ledger) Addresses(addressIndices []uint32) ([]ids.ShortID, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Addresses", addressIndices)
	ret0, _ := ret[0].([]ids.ShortID)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Addresses indicates an expected call of Addresses.
func (mr *LedgerMockRecorder) Addresses(addressIndices any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Addresses", reflect.TypeOf((*Ledger)(nil).Addresses), addressIndices)
}

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

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

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

// Sign indicates an expected call of Sign.
func (mr *LedgerMockRecorder) Sign(unsignedTxBytes, addressIndices any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Sign", reflect.TypeOf((*Ledger)(nil).Sign), unsignedTxBytes, addressIndices)
}

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

// SignHash indicates an expected call of SignHash.
func (mr *LedgerMockRecorder) SignHash(hash, addressIndices any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignHash", reflect.TypeOf((*Ledger)(nil).SignHash), hash, addressIndices)
}

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

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