diff --git a/go.mod b/go.mod index d1ce9dbf6..34bd47ce8 100644 --- a/go.mod +++ b/go.mod @@ -75,6 +75,7 @@ require ( github.com/go-test/deep v1.0.6 // indirect github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect @@ -116,11 +117,13 @@ require ( go.opentelemetry.io/otel/trace v0.19.0 // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect + golang.org/x/mod v0.5.1 // indirect golang.org/x/net v0.0.0-20220403103023-749bd193bc2b // indirect golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/tools v0.1.9 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf // indirect gopkg.in/ini.v1 v1.62.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 7d562cc24..96f942c4d 100644 --- a/go.sum +++ b/go.sum @@ -194,7 +194,10 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -523,6 +526,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= @@ -599,6 +603,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -780,6 +786,7 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9 h1:j9KsMiaP1c3B0OTQGth0/k+miLGTgLsAFUCrF2vLcF8= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= diff --git a/pkg/types/exchange.go b/pkg/types/exchange.go index 5bff2689c..39ced8d87 100644 --- a/pkg/types/exchange.go +++ b/pkg/types/exchange.go @@ -74,6 +74,7 @@ func ValidExchangeName(a string) (ExchangeName, error) { return "", fmt.Errorf("invalid exchange name: %s", a) } +//go:generate mockgen -destination=mocks/mock_exchange.go -package=mocks -source=exchange.go Exchange type Exchange interface { Name() ExchangeName diff --git a/pkg/types/mocks/mock_exchange.go b/pkg/types/mocks/mock_exchange.go new file mode 100644 index 000000000..5c0410af7 --- /dev/null +++ b/pkg/types/mocks/mock_exchange.go @@ -0,0 +1,745 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: exchange.go + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + time "time" + + fixedpoint "github.com/c9s/bbgo/pkg/fixedpoint" + types "github.com/c9s/bbgo/pkg/types" + gomock "github.com/golang/mock/gomock" +) + +// MockExchange is a mock of Exchange interface. +type MockExchange struct { + ctrl *gomock.Controller + recorder *MockExchangeMockRecorder +} + +// MockExchangeMockRecorder is the mock recorder for MockExchange. +type MockExchangeMockRecorder struct { + mock *MockExchange +} + +// NewMockExchange creates a new mock instance. +func NewMockExchange(ctrl *gomock.Controller) *MockExchange { + mock := &MockExchange{ctrl: ctrl} + mock.recorder = &MockExchangeMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchange) EXPECT() *MockExchangeMockRecorder { + return m.recorder +} + +// CancelOrders mocks base method. +func (m *MockExchange) CancelOrders(ctx context.Context, orders ...types.Order) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range orders { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CancelOrders", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CancelOrders indicates an expected call of CancelOrders. +func (mr *MockExchangeMockRecorder) CancelOrders(ctx interface{}, orders ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, orders...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CancelOrders", reflect.TypeOf((*MockExchange)(nil).CancelOrders), varargs...) +} + +// Name mocks base method. +func (m *MockExchange) Name() types.ExchangeName { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Name") + ret0, _ := ret[0].(types.ExchangeName) + return ret0 +} + +// Name indicates an expected call of Name. +func (mr *MockExchangeMockRecorder) Name() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockExchange)(nil).Name)) +} + +// NewStream mocks base method. +func (m *MockExchange) NewStream() types.Stream { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "NewStream") + ret0, _ := ret[0].(types.Stream) + return ret0 +} + +// NewStream indicates an expected call of NewStream. +func (mr *MockExchangeMockRecorder) NewStream() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStream", reflect.TypeOf((*MockExchange)(nil).NewStream)) +} + +// PlatformFeeCurrency mocks base method. +func (m *MockExchange) PlatformFeeCurrency() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PlatformFeeCurrency") + ret0, _ := ret[0].(string) + return ret0 +} + +// PlatformFeeCurrency indicates an expected call of PlatformFeeCurrency. +func (mr *MockExchangeMockRecorder) PlatformFeeCurrency() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PlatformFeeCurrency", reflect.TypeOf((*MockExchange)(nil).PlatformFeeCurrency)) +} + +// QueryAccount mocks base method. +func (m *MockExchange) QueryAccount(ctx context.Context) (*types.Account, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryAccount", ctx) + ret0, _ := ret[0].(*types.Account) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryAccount indicates an expected call of QueryAccount. +func (mr *MockExchangeMockRecorder) QueryAccount(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryAccount", reflect.TypeOf((*MockExchange)(nil).QueryAccount), ctx) +} + +// QueryAccountBalances mocks base method. +func (m *MockExchange) QueryAccountBalances(ctx context.Context) (types.BalanceMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryAccountBalances", ctx) + ret0, _ := ret[0].(types.BalanceMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryAccountBalances indicates an expected call of QueryAccountBalances. +func (mr *MockExchangeMockRecorder) QueryAccountBalances(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryAccountBalances", reflect.TypeOf((*MockExchange)(nil).QueryAccountBalances), ctx) +} + +// QueryKLines mocks base method. +func (m *MockExchange) QueryKLines(ctx context.Context, symbol string, interval types.Interval, options types.KLineQueryOptions) ([]types.KLine, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryKLines", ctx, symbol, interval, options) + ret0, _ := ret[0].([]types.KLine) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryKLines indicates an expected call of QueryKLines. +func (mr *MockExchangeMockRecorder) QueryKLines(ctx, symbol, interval, options interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryKLines", reflect.TypeOf((*MockExchange)(nil).QueryKLines), ctx, symbol, interval, options) +} + +// QueryMarkets mocks base method. +func (m *MockExchange) QueryMarkets(ctx context.Context) (types.MarketMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryMarkets", ctx) + ret0, _ := ret[0].(types.MarketMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryMarkets indicates an expected call of QueryMarkets. +func (mr *MockExchangeMockRecorder) QueryMarkets(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryMarkets", reflect.TypeOf((*MockExchange)(nil).QueryMarkets), ctx) +} + +// QueryOpenOrders mocks base method. +func (m *MockExchange) QueryOpenOrders(ctx context.Context, symbol string) ([]types.Order, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryOpenOrders", ctx, symbol) + ret0, _ := ret[0].([]types.Order) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryOpenOrders indicates an expected call of QueryOpenOrders. +func (mr *MockExchangeMockRecorder) QueryOpenOrders(ctx, symbol interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryOpenOrders", reflect.TypeOf((*MockExchange)(nil).QueryOpenOrders), ctx, symbol) +} + +// QueryTicker mocks base method. +func (m *MockExchange) QueryTicker(ctx context.Context, symbol string) (*types.Ticker, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryTicker", ctx, symbol) + ret0, _ := ret[0].(*types.Ticker) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryTicker indicates an expected call of QueryTicker. +func (mr *MockExchangeMockRecorder) QueryTicker(ctx, symbol interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicker", reflect.TypeOf((*MockExchange)(nil).QueryTicker), ctx, symbol) +} + +// QueryTickers mocks base method. +func (m *MockExchange) QueryTickers(ctx context.Context, symbol ...string) (map[string]types.Ticker, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range symbol { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "QueryTickers", varargs...) + ret0, _ := ret[0].(map[string]types.Ticker) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryTickers indicates an expected call of QueryTickers. +func (mr *MockExchangeMockRecorder) QueryTickers(ctx interface{}, symbol ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, symbol...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTickers", reflect.TypeOf((*MockExchange)(nil).QueryTickers), varargs...) +} + +// SubmitOrders mocks base method. +func (m *MockExchange) SubmitOrders(ctx context.Context, orders ...types.SubmitOrder) (types.OrderSlice, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range orders { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SubmitOrders", varargs...) + ret0, _ := ret[0].(types.OrderSlice) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SubmitOrders indicates an expected call of SubmitOrders. +func (mr *MockExchangeMockRecorder) SubmitOrders(ctx interface{}, orders ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, orders...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubmitOrders", reflect.TypeOf((*MockExchange)(nil).SubmitOrders), varargs...) +} + +// MockExchangeOrderQueryService is a mock of ExchangeOrderQueryService interface. +type MockExchangeOrderQueryService struct { + ctrl *gomock.Controller + recorder *MockExchangeOrderQueryServiceMockRecorder +} + +// MockExchangeOrderQueryServiceMockRecorder is the mock recorder for MockExchangeOrderQueryService. +type MockExchangeOrderQueryServiceMockRecorder struct { + mock *MockExchangeOrderQueryService +} + +// NewMockExchangeOrderQueryService creates a new mock instance. +func NewMockExchangeOrderQueryService(ctrl *gomock.Controller) *MockExchangeOrderQueryService { + mock := &MockExchangeOrderQueryService{ctrl: ctrl} + mock.recorder = &MockExchangeOrderQueryServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeOrderQueryService) EXPECT() *MockExchangeOrderQueryServiceMockRecorder { + return m.recorder +} + +// QueryOrder mocks base method. +func (m *MockExchangeOrderQueryService) QueryOrder(ctx context.Context, q types.OrderQuery) (*types.Order, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryOrder", ctx, q) + ret0, _ := ret[0].(*types.Order) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryOrder indicates an expected call of QueryOrder. +func (mr *MockExchangeOrderQueryServiceMockRecorder) QueryOrder(ctx, q interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryOrder", reflect.TypeOf((*MockExchangeOrderQueryService)(nil).QueryOrder), ctx, q) +} + +// MockExchangeTradeService is a mock of ExchangeTradeService interface. +type MockExchangeTradeService struct { + ctrl *gomock.Controller + recorder *MockExchangeTradeServiceMockRecorder +} + +// MockExchangeTradeServiceMockRecorder is the mock recorder for MockExchangeTradeService. +type MockExchangeTradeServiceMockRecorder struct { + mock *MockExchangeTradeService +} + +// NewMockExchangeTradeService creates a new mock instance. +func NewMockExchangeTradeService(ctrl *gomock.Controller) *MockExchangeTradeService { + mock := &MockExchangeTradeService{ctrl: ctrl} + mock.recorder = &MockExchangeTradeServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeTradeService) EXPECT() *MockExchangeTradeServiceMockRecorder { + return m.recorder +} + +// CancelOrders mocks base method. +func (m *MockExchangeTradeService) CancelOrders(ctx context.Context, orders ...types.Order) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range orders { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CancelOrders", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CancelOrders indicates an expected call of CancelOrders. +func (mr *MockExchangeTradeServiceMockRecorder) CancelOrders(ctx interface{}, orders ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, orders...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CancelOrders", reflect.TypeOf((*MockExchangeTradeService)(nil).CancelOrders), varargs...) +} + +// QueryAccount mocks base method. +func (m *MockExchangeTradeService) QueryAccount(ctx context.Context) (*types.Account, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryAccount", ctx) + ret0, _ := ret[0].(*types.Account) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryAccount indicates an expected call of QueryAccount. +func (mr *MockExchangeTradeServiceMockRecorder) QueryAccount(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryAccount", reflect.TypeOf((*MockExchangeTradeService)(nil).QueryAccount), ctx) +} + +// QueryAccountBalances mocks base method. +func (m *MockExchangeTradeService) QueryAccountBalances(ctx context.Context) (types.BalanceMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryAccountBalances", ctx) + ret0, _ := ret[0].(types.BalanceMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryAccountBalances indicates an expected call of QueryAccountBalances. +func (mr *MockExchangeTradeServiceMockRecorder) QueryAccountBalances(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryAccountBalances", reflect.TypeOf((*MockExchangeTradeService)(nil).QueryAccountBalances), ctx) +} + +// QueryOpenOrders mocks base method. +func (m *MockExchangeTradeService) QueryOpenOrders(ctx context.Context, symbol string) ([]types.Order, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryOpenOrders", ctx, symbol) + ret0, _ := ret[0].([]types.Order) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryOpenOrders indicates an expected call of QueryOpenOrders. +func (mr *MockExchangeTradeServiceMockRecorder) QueryOpenOrders(ctx, symbol interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryOpenOrders", reflect.TypeOf((*MockExchangeTradeService)(nil).QueryOpenOrders), ctx, symbol) +} + +// SubmitOrders mocks base method. +func (m *MockExchangeTradeService) SubmitOrders(ctx context.Context, orders ...types.SubmitOrder) (types.OrderSlice, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range orders { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SubmitOrders", varargs...) + ret0, _ := ret[0].(types.OrderSlice) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SubmitOrders indicates an expected call of SubmitOrders. +func (mr *MockExchangeTradeServiceMockRecorder) SubmitOrders(ctx interface{}, orders ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, orders...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubmitOrders", reflect.TypeOf((*MockExchangeTradeService)(nil).SubmitOrders), varargs...) +} + +// MockExchangeDefaultFeeRates is a mock of ExchangeDefaultFeeRates interface. +type MockExchangeDefaultFeeRates struct { + ctrl *gomock.Controller + recorder *MockExchangeDefaultFeeRatesMockRecorder +} + +// MockExchangeDefaultFeeRatesMockRecorder is the mock recorder for MockExchangeDefaultFeeRates. +type MockExchangeDefaultFeeRatesMockRecorder struct { + mock *MockExchangeDefaultFeeRates +} + +// NewMockExchangeDefaultFeeRates creates a new mock instance. +func NewMockExchangeDefaultFeeRates(ctrl *gomock.Controller) *MockExchangeDefaultFeeRates { + mock := &MockExchangeDefaultFeeRates{ctrl: ctrl} + mock.recorder = &MockExchangeDefaultFeeRatesMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeDefaultFeeRates) EXPECT() *MockExchangeDefaultFeeRatesMockRecorder { + return m.recorder +} + +// DefaultFeeRates mocks base method. +func (m *MockExchangeDefaultFeeRates) DefaultFeeRates() types.ExchangeFee { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DefaultFeeRates") + ret0, _ := ret[0].(types.ExchangeFee) + return ret0 +} + +// DefaultFeeRates indicates an expected call of DefaultFeeRates. +func (mr *MockExchangeDefaultFeeRatesMockRecorder) DefaultFeeRates() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultFeeRates", reflect.TypeOf((*MockExchangeDefaultFeeRates)(nil).DefaultFeeRates)) +} + +// MockExchangeTradeHistoryService is a mock of ExchangeTradeHistoryService interface. +type MockExchangeTradeHistoryService struct { + ctrl *gomock.Controller + recorder *MockExchangeTradeHistoryServiceMockRecorder +} + +// MockExchangeTradeHistoryServiceMockRecorder is the mock recorder for MockExchangeTradeHistoryService. +type MockExchangeTradeHistoryServiceMockRecorder struct { + mock *MockExchangeTradeHistoryService +} + +// NewMockExchangeTradeHistoryService creates a new mock instance. +func NewMockExchangeTradeHistoryService(ctrl *gomock.Controller) *MockExchangeTradeHistoryService { + mock := &MockExchangeTradeHistoryService{ctrl: ctrl} + mock.recorder = &MockExchangeTradeHistoryServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeTradeHistoryService) EXPECT() *MockExchangeTradeHistoryServiceMockRecorder { + return m.recorder +} + +// QueryClosedOrders mocks base method. +func (m *MockExchangeTradeHistoryService) QueryClosedOrders(ctx context.Context, symbol string, since, until time.Time, lastOrderID uint64) ([]types.Order, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryClosedOrders", ctx, symbol, since, until, lastOrderID) + ret0, _ := ret[0].([]types.Order) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryClosedOrders indicates an expected call of QueryClosedOrders. +func (mr *MockExchangeTradeHistoryServiceMockRecorder) QueryClosedOrders(ctx, symbol, since, until, lastOrderID interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryClosedOrders", reflect.TypeOf((*MockExchangeTradeHistoryService)(nil).QueryClosedOrders), ctx, symbol, since, until, lastOrderID) +} + +// QueryTrades mocks base method. +func (m *MockExchangeTradeHistoryService) QueryTrades(ctx context.Context, symbol string, options *types.TradeQueryOptions) ([]types.Trade, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryTrades", ctx, symbol, options) + ret0, _ := ret[0].([]types.Trade) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryTrades indicates an expected call of QueryTrades. +func (mr *MockExchangeTradeHistoryServiceMockRecorder) QueryTrades(ctx, symbol, options interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTrades", reflect.TypeOf((*MockExchangeTradeHistoryService)(nil).QueryTrades), ctx, symbol, options) +} + +// MockExchangeMarketDataService is a mock of ExchangeMarketDataService interface. +type MockExchangeMarketDataService struct { + ctrl *gomock.Controller + recorder *MockExchangeMarketDataServiceMockRecorder +} + +// MockExchangeMarketDataServiceMockRecorder is the mock recorder for MockExchangeMarketDataService. +type MockExchangeMarketDataServiceMockRecorder struct { + mock *MockExchangeMarketDataService +} + +// NewMockExchangeMarketDataService creates a new mock instance. +func NewMockExchangeMarketDataService(ctrl *gomock.Controller) *MockExchangeMarketDataService { + mock := &MockExchangeMarketDataService{ctrl: ctrl} + mock.recorder = &MockExchangeMarketDataServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeMarketDataService) EXPECT() *MockExchangeMarketDataServiceMockRecorder { + return m.recorder +} + +// NewStream mocks base method. +func (m *MockExchangeMarketDataService) NewStream() types.Stream { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "NewStream") + ret0, _ := ret[0].(types.Stream) + return ret0 +} + +// NewStream indicates an expected call of NewStream. +func (mr *MockExchangeMarketDataServiceMockRecorder) NewStream() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStream", reflect.TypeOf((*MockExchangeMarketDataService)(nil).NewStream)) +} + +// QueryKLines mocks base method. +func (m *MockExchangeMarketDataService) QueryKLines(ctx context.Context, symbol string, interval types.Interval, options types.KLineQueryOptions) ([]types.KLine, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryKLines", ctx, symbol, interval, options) + ret0, _ := ret[0].([]types.KLine) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryKLines indicates an expected call of QueryKLines. +func (mr *MockExchangeMarketDataServiceMockRecorder) QueryKLines(ctx, symbol, interval, options interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryKLines", reflect.TypeOf((*MockExchangeMarketDataService)(nil).QueryKLines), ctx, symbol, interval, options) +} + +// QueryMarkets mocks base method. +func (m *MockExchangeMarketDataService) QueryMarkets(ctx context.Context) (types.MarketMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryMarkets", ctx) + ret0, _ := ret[0].(types.MarketMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryMarkets indicates an expected call of QueryMarkets. +func (mr *MockExchangeMarketDataServiceMockRecorder) QueryMarkets(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryMarkets", reflect.TypeOf((*MockExchangeMarketDataService)(nil).QueryMarkets), ctx) +} + +// QueryTicker mocks base method. +func (m *MockExchangeMarketDataService) QueryTicker(ctx context.Context, symbol string) (*types.Ticker, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryTicker", ctx, symbol) + ret0, _ := ret[0].(*types.Ticker) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryTicker indicates an expected call of QueryTicker. +func (mr *MockExchangeMarketDataServiceMockRecorder) QueryTicker(ctx, symbol interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicker", reflect.TypeOf((*MockExchangeMarketDataService)(nil).QueryTicker), ctx, symbol) +} + +// QueryTickers mocks base method. +func (m *MockExchangeMarketDataService) QueryTickers(ctx context.Context, symbol ...string) (map[string]types.Ticker, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range symbol { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "QueryTickers", varargs...) + ret0, _ := ret[0].(map[string]types.Ticker) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryTickers indicates an expected call of QueryTickers. +func (mr *MockExchangeMarketDataServiceMockRecorder) QueryTickers(ctx interface{}, symbol ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, symbol...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTickers", reflect.TypeOf((*MockExchangeMarketDataService)(nil).QueryTickers), varargs...) +} + +// MockCustomIntervalProvider is a mock of CustomIntervalProvider interface. +type MockCustomIntervalProvider struct { + ctrl *gomock.Controller + recorder *MockCustomIntervalProviderMockRecorder +} + +// MockCustomIntervalProviderMockRecorder is the mock recorder for MockCustomIntervalProvider. +type MockCustomIntervalProviderMockRecorder struct { + mock *MockCustomIntervalProvider +} + +// NewMockCustomIntervalProvider creates a new mock instance. +func NewMockCustomIntervalProvider(ctrl *gomock.Controller) *MockCustomIntervalProvider { + mock := &MockCustomIntervalProvider{ctrl: ctrl} + mock.recorder = &MockCustomIntervalProviderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCustomIntervalProvider) EXPECT() *MockCustomIntervalProviderMockRecorder { + return m.recorder +} + +// IsSupportedInterval mocks base method. +func (m *MockCustomIntervalProvider) IsSupportedInterval(interval types.Interval) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "IsSupportedInterval", interval) + ret0, _ := ret[0].(bool) + return ret0 +} + +// IsSupportedInterval indicates an expected call of IsSupportedInterval. +func (mr *MockCustomIntervalProviderMockRecorder) IsSupportedInterval(interval interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsSupportedInterval", reflect.TypeOf((*MockCustomIntervalProvider)(nil).IsSupportedInterval), interval) +} + +// SupportedInterval mocks base method. +func (m *MockCustomIntervalProvider) SupportedInterval() map[types.Interval]int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SupportedInterval") + ret0, _ := ret[0].(map[types.Interval]int) + return ret0 +} + +// SupportedInterval indicates an expected call of SupportedInterval. +func (mr *MockCustomIntervalProviderMockRecorder) SupportedInterval() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SupportedInterval", reflect.TypeOf((*MockCustomIntervalProvider)(nil).SupportedInterval)) +} + +// MockExchangeTransferService is a mock of ExchangeTransferService interface. +type MockExchangeTransferService struct { + ctrl *gomock.Controller + recorder *MockExchangeTransferServiceMockRecorder +} + +// MockExchangeTransferServiceMockRecorder is the mock recorder for MockExchangeTransferService. +type MockExchangeTransferServiceMockRecorder struct { + mock *MockExchangeTransferService +} + +// NewMockExchangeTransferService creates a new mock instance. +func NewMockExchangeTransferService(ctrl *gomock.Controller) *MockExchangeTransferService { + mock := &MockExchangeTransferService{ctrl: ctrl} + mock.recorder = &MockExchangeTransferServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeTransferService) EXPECT() *MockExchangeTransferServiceMockRecorder { + return m.recorder +} + +// QueryDepositHistory mocks base method. +func (m *MockExchangeTransferService) QueryDepositHistory(ctx context.Context, asset string, since, until time.Time) ([]types.Deposit, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryDepositHistory", ctx, asset, since, until) + ret0, _ := ret[0].([]types.Deposit) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryDepositHistory indicates an expected call of QueryDepositHistory. +func (mr *MockExchangeTransferServiceMockRecorder) QueryDepositHistory(ctx, asset, since, until interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryDepositHistory", reflect.TypeOf((*MockExchangeTransferService)(nil).QueryDepositHistory), ctx, asset, since, until) +} + +// QueryWithdrawHistory mocks base method. +func (m *MockExchangeTransferService) QueryWithdrawHistory(ctx context.Context, asset string, since, until time.Time) ([]types.Withdraw, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryWithdrawHistory", ctx, asset, since, until) + ret0, _ := ret[0].([]types.Withdraw) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryWithdrawHistory indicates an expected call of QueryWithdrawHistory. +func (mr *MockExchangeTransferServiceMockRecorder) QueryWithdrawHistory(ctx, asset, since, until interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryWithdrawHistory", reflect.TypeOf((*MockExchangeTransferService)(nil).QueryWithdrawHistory), ctx, asset, since, until) +} + +// MockExchangeWithdrawalService is a mock of ExchangeWithdrawalService interface. +type MockExchangeWithdrawalService struct { + ctrl *gomock.Controller + recorder *MockExchangeWithdrawalServiceMockRecorder +} + +// MockExchangeWithdrawalServiceMockRecorder is the mock recorder for MockExchangeWithdrawalService. +type MockExchangeWithdrawalServiceMockRecorder struct { + mock *MockExchangeWithdrawalService +} + +// NewMockExchangeWithdrawalService creates a new mock instance. +func NewMockExchangeWithdrawalService(ctrl *gomock.Controller) *MockExchangeWithdrawalService { + mock := &MockExchangeWithdrawalService{ctrl: ctrl} + mock.recorder = &MockExchangeWithdrawalServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeWithdrawalService) EXPECT() *MockExchangeWithdrawalServiceMockRecorder { + return m.recorder +} + +// Withdraw mocks base method. +func (m *MockExchangeWithdrawalService) Withdraw(ctx context.Context, asset string, amount fixedpoint.Value, address string, options *types.WithdrawalOptions) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Withdraw", ctx, asset, amount, address, options) + ret0, _ := ret[0].(error) + return ret0 +} + +// Withdraw indicates an expected call of Withdraw. +func (mr *MockExchangeWithdrawalServiceMockRecorder) Withdraw(ctx, asset, amount, address, options interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Withdraw", reflect.TypeOf((*MockExchangeWithdrawalService)(nil).Withdraw), ctx, asset, amount, address, options) +} + +// MockExchangeRewardService is a mock of ExchangeRewardService interface. +type MockExchangeRewardService struct { + ctrl *gomock.Controller + recorder *MockExchangeRewardServiceMockRecorder +} + +// MockExchangeRewardServiceMockRecorder is the mock recorder for MockExchangeRewardService. +type MockExchangeRewardServiceMockRecorder struct { + mock *MockExchangeRewardService +} + +// NewMockExchangeRewardService creates a new mock instance. +func NewMockExchangeRewardService(ctrl *gomock.Controller) *MockExchangeRewardService { + mock := &MockExchangeRewardService{ctrl: ctrl} + mock.recorder = &MockExchangeRewardServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExchangeRewardService) EXPECT() *MockExchangeRewardServiceMockRecorder { + return m.recorder +} + +// QueryRewards mocks base method. +func (m *MockExchangeRewardService) QueryRewards(ctx context.Context, startTime time.Time) ([]types.Reward, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryRewards", ctx, startTime) + ret0, _ := ret[0].([]types.Reward) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryRewards indicates an expected call of QueryRewards. +func (mr *MockExchangeRewardServiceMockRecorder) QueryRewards(ctx, startTime interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryRewards", reflect.TypeOf((*MockExchangeRewardService)(nil).QueryRewards), ctx, startTime) +}