// Code generated by mockery v1.0.0. DO NOT EDIT.

package mocks

import (
	types "github.com/33cn/chain33/types"
	mock "github.com/stretchr/testify/mock"
)

// SequenceStore is an autogenerated mock type for the SequenceStore type
type SequenceStore struct {
	mock.Mock
}

// GetBlockHeaderByHash provides a mock function with given fields: hash
func (_m *SequenceStore) GetBlockHeaderByHash(hash []byte) (*types.Header, error) {
	ret := _m.Called(hash)

	var r0 *types.Header
	if rf, ok := ret.Get(0).(func([]byte) *types.Header); ok {
		r0 = rf(hash)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*types.Header)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func([]byte) error); ok {
		r1 = rf(hash)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetBlockSequence provides a mock function with given fields: seq
func (_m *SequenceStore) GetBlockSequence(seq int64) (*types.BlockSequence, error) {
	ret := _m.Called(seq)

	var r0 *types.BlockSequence
	if rf, ok := ret.Get(0).(func(int64) *types.BlockSequence); ok {
		r0 = rf(seq)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*types.BlockSequence)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(int64) error); ok {
		r1 = rf(seq)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSequenceByHash provides a mock function with given fields: hash
func (_m *SequenceStore) GetSequenceByHash(hash []byte) (int64, error) {
	ret := _m.Called(hash)

	var r0 int64
	if rf, ok := ret.Get(0).(func([]byte) int64); ok {
		r0 = rf(hash)
	} else {
		r0 = ret.Get(0).(int64)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func([]byte) error); ok {
		r1 = rf(hash)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// LastHeader provides a mock function with given fields:
func (_m *SequenceStore) LastHeader() *types.Header {
	ret := _m.Called()

	var r0 *types.Header
	if rf, ok := ret.Get(0).(func() *types.Header); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*types.Header)
		}
	}

	return r0
}

// LoadBlockBySequence provides a mock function with given fields: seq
func (_m *SequenceStore) LoadBlockBySequence(seq int64) (*types.BlockDetail, int, error) {
	ret := _m.Called(seq)

	var r0 *types.BlockDetail
	if rf, ok := ret.Get(0).(func(int64) *types.BlockDetail); ok {
		r0 = rf(seq)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*types.BlockDetail)
		}
	}

	var r1 int
	if rf, ok := ret.Get(1).(func(int64) int); ok {
		r1 = rf(seq)
	} else {
		r1 = ret.Get(1).(int)
	}

	var r2 error
	if rf, ok := ret.Get(2).(func(int64) error); ok {
		r2 = rf(seq)
	} else {
		r2 = ret.Error(2)
	}

	return r0, r1, r2
}

// LoadBlockLastSequence provides a mock function with given fields:
func (_m *SequenceStore) LoadBlockLastSequence() (int64, error) {
	ret := _m.Called()

	var r0 int64
	if rf, ok := ret.Get(0).(func() int64); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(int64)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
