func (_m *DeveloperKeeper) GetIDAStats(ctx types.Context, app linotypes.AccountKey) (model.AppIDAStats, types.Error) {
	ret := _m.Called(ctx, app)
	var r0 model.AppIDAStats
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) model.AppIDAStats); ok {
		r0 = rf(ctx, app)
	} else {
		r0 = ret.Get(0).(model.AppIDAStats)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey) types.Error); ok {
		r1 = rf(ctx, app)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}
GetIDAStats provides a mock function with given fields: ctx, app
package mocks
import (
	amino "github.com/tendermint/go-amino"
	linotypes "github.com/lino-network/lino/types"
	mock "github.com/stretchr/testify/mock"
	model "github.com/lino-network/lino/x/developer/model"
	types "github.com/cosmos/cosmos-sdk/types"
)
type DeveloperKeeper struct {
	mock.Mock
}
func (_m *DeveloperKeeper) AppTransferIDA(ctx types.Context, appname linotypes.AccountKey, signer linotypes.AccountKey, amount types.Int, from linotypes.AccountKey, to linotypes.AccountKey) types.Error {
	ret := _m.Called(ctx, appname, signer, amount, from, to)
	var r0 types.Error
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey, linotypes.AccountKey, types.Int, linotypes.AccountKey, linotypes.AccountKey) types.Error); ok {
		r0 = rf(ctx, appname, signer, amount, from, to)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(types.Error)
		}
	}
	return r0
}
func (_m *DeveloperKeeper) BurnIDA(ctx types.Context, app linotypes.AccountKey, user linotypes.AccountKey, amount linotypes.MiniDollar) (linotypes.Coin, types.Error) {
	ret := _m.Called(ctx, app, user, amount)
	var r0 linotypes.Coin
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey, linotypes.AccountKey, linotypes.MiniDollar) linotypes.Coin); ok {
		r0 = rf(ctx, app, user, amount)
	} else {
		r0 = ret.Get(0).(linotypes.Coin)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey, linotypes.AccountKey, linotypes.MiniDollar) types.Error); ok {
		r1 = rf(ctx, app, user, amount)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}
func (_m *DeveloperKeeper) DoesDeveloperExist(ctx types.Context, username linotypes.AccountKey) bool {
	ret := _m.Called(ctx, username)
	var r0 bool
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) bool); ok {
		r0 = rf(ctx, username)
	} else {
		r0 = ret.Get(0).(bool)
	}
	return r0
}
func (_m *DeveloperKeeper) ExportToFile(ctx types.Context, cdc *amino.Codec, filepath string) error {
	ret := _m.Called(ctx, cdc, filepath)
	var r0 error
	if rf, ok := ret.Get(0).(func(types.Context, *amino.Codec, string) error); ok {
		r0 = rf(ctx, cdc, filepath)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *DeveloperKeeper) GetAffiliated(ctx types.Context, app linotypes.AccountKey) []linotypes.AccountKey {
	ret := _m.Called(ctx, app)
	var r0 []linotypes.AccountKey
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) []linotypes.AccountKey); ok {
		r0 = rf(ctx, app)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]linotypes.AccountKey)
		}
	}
	return r0
}
func (_m *DeveloperKeeper) GetAffiliatingApp(ctx types.Context, username linotypes.AccountKey) (linotypes.AccountKey, types.Error) {
	ret := _m.Called(ctx, username)
	var r0 linotypes.AccountKey
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) linotypes.AccountKey); ok {
		r0 = rf(ctx, username)
	} else {
		r0 = ret.Get(0).(linotypes.AccountKey)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey) types.Error); ok {
		r1 = rf(ctx, username)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}
func (_m *DeveloperKeeper) GetDeveloper(ctx types.Context, username linotypes.AccountKey) (model.Developer, types.Error) {
	ret := _m.Called(ctx, username)
	var r0 model.Developer
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) model.Developer); ok {
		r0 = rf(ctx, username)
	} else {
		r0 = ret.Get(0).(model.Developer)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey) types.Error); ok {
		r1 = rf(ctx, username)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}
func (_m *DeveloperKeeper) GetIDA(ctx types.Context, app linotypes.AccountKey) (model.AppIDA, types.Error) {
	ret := _m.Called(ctx, app)
	var r0 model.AppIDA
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey) model.AppIDA); ok {
		r0 = rf(ctx, app)
	} else {
		r0 = ret.Get(0).(model.AppIDA)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey) types.Error); ok {
		r1 = rf(ctx, app)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}
func (_m *DeveloperKeeper) GetIDABank(ctx types.Context, app linotypes.AccountKey, user linotypes.AccountKey) (model.IDABank, types.Error) {
	ret := _m.Called(ctx, app, user)
	var r0 model.IDABank
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey, linotypes.AccountKey) model.IDABank); ok {
		r0 = rf(ctx, app, user)
	} else {
		r0 = ret.Get(0).(model.IDABank)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.AccountKey, linotypes.AccountKey) types.Error); ok {
		r1 = rf(ctx, app, user)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}