// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ava-labs/avalanchego/vms/avm/state (interfaces: Diff)
//
// Generated by this command:
//
//	mockgen -package=statemock -destination=statemock/diff.go -mock_names=Diff=Diff . Diff
//

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

import (
	reflect "reflect"
	time "time"

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

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

// DiffMockRecorder is the mock recorder for Diff.
type DiffMockRecorder struct {
	mock *Diff
}

// NewDiff creates a new mock instance.
func NewDiff(ctrl *gomock.Controller) *Diff {
	mock := &Diff{ctrl: ctrl}
	mock.recorder = &DiffMockRecorder{mock}
	return mock
}

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

// AddBlock mocks base method.
func (m *Diff) AddBlock(block block.Block) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddBlock", block)
}

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

// AddTx mocks base method.
func (m *Diff) AddTx(tx *txs.Tx) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddTx", tx)
}

// AddTx indicates an expected call of AddTx.
func (mr *DiffMockRecorder) AddTx(tx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddTx", reflect.TypeOf((*Diff)(nil).AddTx), tx)
}

// AddUTXO mocks base method.
func (m *Diff) AddUTXO(utxo *avax.UTXO) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddUTXO", utxo)
}

// AddUTXO indicates an expected call of AddUTXO.
func (mr *DiffMockRecorder) AddUTXO(utxo any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddUTXO", reflect.TypeOf((*Diff)(nil).AddUTXO), utxo)
}

// Apply mocks base method.
func (m *Diff) Apply(arg0 state.Chain) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Apply", arg0)
}

// Apply indicates an expected call of Apply.
func (mr *DiffMockRecorder) Apply(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*Diff)(nil).Apply), arg0)
}

// DeleteUTXO mocks base method.
func (m *Diff) DeleteUTXO(utxoID ids.ID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "DeleteUTXO", utxoID)
}

// DeleteUTXO indicates an expected call of DeleteUTXO.
func (mr *DiffMockRecorder) DeleteUTXO(utxoID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUTXO", reflect.TypeOf((*Diff)(nil).DeleteUTXO), utxoID)
}

// GetBlock mocks base method.
func (m *Diff) GetBlock(blkID ids.ID) (block.Block, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBlock", blkID)
	ret0, _ := ret[0].(block.Block)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetBlock indicates an expected call of GetBlock.
func (mr *DiffMockRecorder) GetBlock(blkID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBlock", reflect.TypeOf((*Diff)(nil).GetBlock), blkID)
}

// GetBlockIDAtHeight mocks base method.
func (m *Diff) GetBlockIDAtHeight(height uint64) (ids.ID, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBlockIDAtHeight", height)
	ret0, _ := ret[0].(ids.ID)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetBlockIDAtHeight indicates an expected call of GetBlockIDAtHeight.
func (mr *DiffMockRecorder) GetBlockIDAtHeight(height any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBlockIDAtHeight", reflect.TypeOf((*Diff)(nil).GetBlockIDAtHeight), height)
}

// GetLastAccepted mocks base method.
func (m *Diff) GetLastAccepted() ids.ID {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLastAccepted")
	ret0, _ := ret[0].(ids.ID)
	return ret0
}

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

// GetTimestamp mocks base method.
func (m *Diff) GetTimestamp() time.Time {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTimestamp")
	ret0, _ := ret[0].(time.Time)
	return ret0
}

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

// GetTx mocks base method.
func (m *Diff) GetTx(txID ids.ID) (*txs.Tx, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTx", txID)
	ret0, _ := ret[0].(*txs.Tx)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetTx indicates an expected call of GetTx.
func (mr *DiffMockRecorder) GetTx(txID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTx", reflect.TypeOf((*Diff)(nil).GetTx), txID)
}

// GetUTXO mocks base method.
func (m *Diff) GetUTXO(utxoID ids.ID) (*avax.UTXO, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUTXO", utxoID)
	ret0, _ := ret[0].(*avax.UTXO)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUTXO indicates an expected call of GetUTXO.
func (mr *DiffMockRecorder) GetUTXO(utxoID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUTXO", reflect.TypeOf((*Diff)(nil).GetUTXO), utxoID)
}

// SetLastAccepted mocks base method.
func (m *Diff) SetLastAccepted(blkID ids.ID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetLastAccepted", blkID)
}

// SetLastAccepted indicates an expected call of SetLastAccepted.
func (mr *DiffMockRecorder) SetLastAccepted(blkID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetLastAccepted", reflect.TypeOf((*Diff)(nil).SetLastAccepted), blkID)
}

// SetTimestamp mocks base method.
func (m *Diff) SetTimestamp(t time.Time) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetTimestamp", t)
}

// SetTimestamp indicates an expected call of SetTimestamp.
func (mr *DiffMockRecorder) SetTimestamp(t any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTimestamp", reflect.TypeOf((*Diff)(nil).SetTimestamp), t)
}
