// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ava-labs/avalanchego/vms/platformvm/utxo (interfaces: Verifier)
//
// Generated by this command:
//
//	mockgen -package=utxomock -destination=utxomock/verifier.go -mock_names=Verifier=Verifier . Verifier
//

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

import (
	reflect "reflect"

	ids "github.com/ava-labs/avalanchego/ids"
	avax "github.com/ava-labs/avalanchego/vms/components/avax"
	verify "github.com/ava-labs/avalanchego/vms/components/verify"
	txs "github.com/ava-labs/avalanchego/vms/platformvm/txs"
	gomock "go.uber.org/mock/gomock"
)

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

// VerifierMockRecorder is the mock recorder for Verifier.
type VerifierMockRecorder struct {
	mock *Verifier
}

// NewVerifier creates a new mock instance.
func NewVerifier(ctrl *gomock.Controller) *Verifier {
	mock := &Verifier{ctrl: ctrl}
	mock.recorder = &VerifierMockRecorder{mock}
	return mock
}

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

// VerifySpend mocks base method.
func (m *Verifier) VerifySpend(tx txs.UnsignedTx, utxoDB avax.UTXOGetter, ins []*avax.TransferableInput, outs []*avax.TransferableOutput, creds []verify.Verifiable, unlockedProduced map[ids.ID]uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VerifySpend", tx, utxoDB, ins, outs, creds, unlockedProduced)
	ret0, _ := ret[0].(error)
	return ret0
}

// VerifySpend indicates an expected call of VerifySpend.
func (mr *VerifierMockRecorder) VerifySpend(tx, utxoDB, ins, outs, creds, unlockedProduced any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifySpend", reflect.TypeOf((*Verifier)(nil).VerifySpend), tx, utxoDB, ins, outs, creds, unlockedProduced)
}

// VerifySpendUTXOs mocks base method.
func (m *Verifier) VerifySpendUTXOs(tx txs.UnsignedTx, utxos []*avax.UTXO, ins []*avax.TransferableInput, outs []*avax.TransferableOutput, creds []verify.Verifiable, unlockedProduced map[ids.ID]uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VerifySpendUTXOs", tx, utxos, ins, outs, creds, unlockedProduced)
	ret0, _ := ret[0].(error)
	return ret0
}

// VerifySpendUTXOs indicates an expected call of VerifySpendUTXOs.
func (mr *VerifierMockRecorder) VerifySpendUTXOs(tx, utxos, ins, outs, creds, unlockedProduced any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifySpendUTXOs", reflect.TypeOf((*Verifier)(nil).VerifySpendUTXOs), tx, utxos, ins, outs, creds, unlockedProduced)
}
