func (a *Client) GetPublicGetOrderBook(params *GetPublicGetOrderBookParams) (*GetPublicGetOrderBookOK, error) {
	if params == nil {
		params = NewGetPublicGetOrderBookParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetOrderBook",
		Method:             "GET",
		PathPattern:        "/public/get_order_book",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetOrderBookReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetOrderBookOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetOrderBook: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
/*
GetPublicGetOrderBook retrieves the order book along with other market values for a given instrument
package market_data
import (
	"fmt"
	"github.com/go-openapi/runtime"
	strfmt "github.com/go-openapi/strfmt"
)
func New(transport runtime.ClientTransport, formats strfmt.Registry) *Client {
	return &Client{transport: transport, formats: formats}
}
type Client struct {
	transport runtime.ClientTransport
	formats   strfmt.Registry
}
func (a *Client) GetPublicGetBookSummaryByCurrency(params *GetPublicGetBookSummaryByCurrencyParams) (*GetPublicGetBookSummaryByCurrencyOK, error) {
	if params == nil {
		params = NewGetPublicGetBookSummaryByCurrencyParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetBookSummaryByCurrency",
		Method:             "GET",
		PathPattern:        "/public/get_book_summary_by_currency",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetBookSummaryByCurrencyReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetBookSummaryByCurrencyOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetBookSummaryByCurrency: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetBookSummaryByInstrument(params *GetPublicGetBookSummaryByInstrumentParams) (*GetPublicGetBookSummaryByInstrumentOK, error) {
	if params == nil {
		params = NewGetPublicGetBookSummaryByInstrumentParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetBookSummaryByInstrument",
		Method:             "GET",
		PathPattern:        "/public/get_book_summary_by_instrument",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetBookSummaryByInstrumentReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetBookSummaryByInstrumentOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetBookSummaryByInstrument: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetIndex(params *GetPublicGetIndexParams) (*GetPublicGetIndexOK, error) {
	if params == nil {
		params = NewGetPublicGetIndexParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetIndex",
		Method:             "GET",
		PathPattern:        "/public/get_index",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetIndexReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetIndexOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetIndex: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastSettlementsByCurrency(params *GetPublicGetLastSettlementsByCurrencyParams) (*GetPublicGetLastSettlementsByCurrencyOK, error) {
	if params == nil {
		params = NewGetPublicGetLastSettlementsByCurrencyParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastSettlementsByCurrency",
		Method:             "GET",
		PathPattern:        "/public/get_last_settlements_by_currency",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastSettlementsByCurrencyReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastSettlementsByCurrencyOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastSettlementsByCurrency: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastSettlementsByInstrument(params *GetPublicGetLastSettlementsByInstrumentParams) (*GetPublicGetLastSettlementsByInstrumentOK, error) {
	if params == nil {
		params = NewGetPublicGetLastSettlementsByInstrumentParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastSettlementsByInstrument",
		Method:             "GET",
		PathPattern:        "/public/get_last_settlements_by_instrument",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastSettlementsByInstrumentReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastSettlementsByInstrumentOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastSettlementsByInstrument: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastTradesByCurrency(params *GetPublicGetLastTradesByCurrencyParams) (*GetPublicGetLastTradesByCurrencyOK, error) {
	if params == nil {
		params = NewGetPublicGetLastTradesByCurrencyParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastTradesByCurrency",
		Method:             "GET",
		PathPattern:        "/public/get_last_trades_by_currency",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastTradesByCurrencyReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastTradesByCurrencyOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastTradesByCurrency: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastTradesByCurrencyAndTime(params *GetPublicGetLastTradesByCurrencyAndTimeParams) (*GetPublicGetLastTradesByCurrencyAndTimeOK, error) {
	if params == nil {
		params = NewGetPublicGetLastTradesByCurrencyAndTimeParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastTradesByCurrencyAndTime",
		Method:             "GET",
		PathPattern:        "/public/get_last_trades_by_currency_and_time",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastTradesByCurrencyAndTimeReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastTradesByCurrencyAndTimeOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastTradesByCurrencyAndTime: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastTradesByInstrument(params *GetPublicGetLastTradesByInstrumentParams) (*GetPublicGetLastTradesByInstrumentOK, error) {
	if params == nil {
		params = NewGetPublicGetLastTradesByInstrumentParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastTradesByInstrument",
		Method:             "GET",
		PathPattern:        "/public/get_last_trades_by_instrument",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastTradesByInstrumentReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastTradesByInstrumentOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastTradesByInstrument: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}
func (a *Client) GetPublicGetLastTradesByInstrumentAndTime(params *GetPublicGetLastTradesByInstrumentAndTimeParams) (*GetPublicGetLastTradesByInstrumentAndTimeOK, error) {
	if params == nil {
		params = NewGetPublicGetLastTradesByInstrumentAndTimeParams()
	}
	result, err := a.transport.Submit(&runtime.ClientOperation{
		ID:                 "GetPublicGetLastTradesByInstrumentAndTime",
		Method:             "GET",
		PathPattern:        "/public/get_last_trades_by_instrument_and_time",
		ProducesMediaTypes: []string{"application/json"},
		ConsumesMediaTypes: []string{""},
		Schemes:            []string{"http"},
		Params:             params,
		Reader:             &GetPublicGetLastTradesByInstrumentAndTimeReader{formats: a.formats},
		Context:            params.Context,
		Client:             params.HTTPClient,
	})
	if err != nil {
		return nil, err
	}
	success, ok := result.(*GetPublicGetLastTradesByInstrumentAndTimeOK)
	if ok {
		return success, nil
	}
	msg := fmt.Sprintf("unexpected success response for GetPublicGetLastTradesByInstrumentAndTime: API contract not enforced by server. Client expected to get an error, but got: %T", result)
	panic(msg)
}