_go

package
v0.0.0-...-7b0a1f7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Side_name = map[int32]string{
		0: "BID",
		1: "ASK",
	}
	Side_value = map[string]int32{
		"BID": 0,
		"ASK": 1,
	}
)

Enum value maps for Side.

View Source
var (
	KlineInterval_name = map[int32]string{
		0: "S1",
		1: "M1",
		2: "M15",
		3: "H1",
		4: "H4",
		5: "D1",
	}
	KlineInterval_value = map[string]int32{
		"S1":  0,
		"M1":  1,
		"M15": 2,
		"H1":  3,
		"H4":  4,
		"D1":  5,
	}
)

Enum value maps for KlineInterval.

View Source
var (
	RateUpdateSide_name = map[int32]string{
		0: "BASE",
		1: "QUOTE",
	}
	RateUpdateSide_value = map[string]int32{
		"BASE":  0,
		"QUOTE": 1,
	}
)

Enum value maps for RateUpdateSide.

View Source
var (
	MarketByPriceDiff_DiffOp_name = map[int32]string{
		0: "ADD",
		1: "REMOVE",
		2: "REPLACE",
	}
	MarketByPriceDiff_DiffOp_value = map[string]int32{
		"ADD":     0,
		"REMOVE":  1,
		"REPLACE": 2,
	}
)

Enum value maps for MarketByPriceDiff_DiffOp.

View Source
var (
	MarketByOrderDiff_DiffOp_name = map[int32]string{
		0: "ADD",
		1: "REMOVE",
		2: "REPLACE",
	}
	MarketByOrderDiff_DiffOp_value = map[string]int32{
		"ADD":     0,
		"REMOVE":  1,
		"REPLACE": 2,
	}
)

Enum value maps for MarketByOrderDiff_DiffOp.

View Source
var (
	Side_name = map[int32]string{
		0: "BID",
		1: "ASK",
	}
	Side_value = map[string]int32{
		"BID": 0,
		"ASK": 1,
	}
)

Enum value maps for Side.

View Source
var (
	TimeInForce_name = map[int32]string{
		0: "IMMEDIATE_OR_CANCEL",
		1: "GOOD_FOR_SESSION",
		2: "FILL_OR_KILL",
	}
	TimeInForce_value = map[string]int32{
		"IMMEDIATE_OR_CANCEL": 0,
		"GOOD_FOR_SESSION":    1,
		"FILL_OR_KILL":        2,
	}
)

Enum value maps for TimeInForce.

View Source
var (
	OrderType_name = map[int32]string{
		0: "LIMIT",
		1: "MARKET_LIMIT",
		2: "MARKET_WITH_PROTECTION",
	}
	OrderType_value = map[string]int32{
		"LIMIT":                  0,
		"MARKET_LIMIT":           1,
		"MARKET_WITH_PROTECTION": 2,
	}
)

Enum value maps for OrderType.

View Source
var (
	SelfTradePrevention_name = map[int32]string{
		0: "CANCEL_RESTING",
		1: "CANCEL_AGGRESSING",
		2: "ALLOW_SELF_TRADE",
	}
	SelfTradePrevention_value = map[string]int32{
		"CANCEL_RESTING":    0,
		"CANCEL_AGGRESSING": 1,
		"ALLOW_SELF_TRADE":  2,
	}
)

Enum value maps for SelfTradePrevention.

View Source
var (
	PostOnly_name = map[int32]string{
		0: "DISABLED",
		1: "ENABLED",
	}
	PostOnly_value = map[string]int32{
		"DISABLED": 0,
		"ENABLED":  1,
	}
)

Enum value maps for PostOnly.

View Source
var (
	CancelOrderAck_Reason_name = map[int32]string{
		0: "UNCLASSIFIED",
		1: "DISCONNECT",
		2: "REQUESTED",
		3: "IOC",
		4: "STP_RESTING",
		5: "STP_AGGRESSING",
		6: "MASS_CANCEL",
	}
	CancelOrderAck_Reason_value = map[string]int32{
		"UNCLASSIFIED":   0,
		"DISCONNECT":     1,
		"REQUESTED":      2,
		"IOC":            3,
		"STP_RESTING":    4,
		"STP_AGGRESSING": 5,
		"MASS_CANCEL":    6,
	}
)

Enum value maps for CancelOrderAck_Reason.

View Source
var (
	MassCancelAck_Reason_name = map[int32]string{
		0: "UNCLASSIFIED",
		1: "INVALID_MARKET_ID",
		2: "INVALID_SIDE",
	}
	MassCancelAck_Reason_value = map[string]int32{
		"UNCLASSIFIED":      0,
		"INVALID_MARKET_ID": 1,
		"INVALID_SIDE":      2,
	}
)

Enum value maps for MassCancelAck_Reason.

View Source
var (
	NewOrderReject_Reason_name = map[int32]string{
		0:  "UNCLASSIFIED",
		1:  "INVALID_QUANTITY",
		2:  "INVALID_MARKET_ID",
		3:  "DUPLICATE_ORDER_ID",
		4:  "INVALID_SIDE",
		5:  "INVALID_TIME_IN_FORCE",
		6:  "INVALID_ORDER_TYPE",
		7:  "INVALID_POST_ONLY",
		8:  "INVALID_SELF_TRADE_PREVENTION",
		9:  "UNKNOWN_TRADER",
		10: "PRICE_WITH_MARKET_ORDER",
		11: "POST_ONLY_WITH_MARKET_ORDER",
		12: "POST_ONLY_WITH_INVALID_TIF",
		13: "EXCEEDED_SPOT_POSITION",
		14: "NO_OPPOSING_LIMIT_ORDER",
		15: "POST_ONLY_WOULD_TRADE",
		16: "DID_NOT_FULLY_FILL",
	}
	NewOrderReject_Reason_value = map[string]int32{
		"UNCLASSIFIED":                  0,
		"INVALID_QUANTITY":              1,
		"INVALID_MARKET_ID":             2,
		"DUPLICATE_ORDER_ID":            3,
		"INVALID_SIDE":                  4,
		"INVALID_TIME_IN_FORCE":         5,
		"INVALID_ORDER_TYPE":            6,
		"INVALID_POST_ONLY":             7,
		"INVALID_SELF_TRADE_PREVENTION": 8,
		"UNKNOWN_TRADER":                9,
		"PRICE_WITH_MARKET_ORDER":       10,
		"POST_ONLY_WITH_MARKET_ORDER":   11,
		"POST_ONLY_WITH_INVALID_TIF":    12,
		"EXCEEDED_SPOT_POSITION":        13,
		"NO_OPPOSING_LIMIT_ORDER":       14,
		"POST_ONLY_WOULD_TRADE":         15,
		"DID_NOT_FULLY_FILL":            16,
	}
)

Enum value maps for NewOrderReject_Reason.

View Source
var (
	CancelOrderReject_Reason_name = map[int32]string{
		0: "UNCLASSIFIED",
		1: "INVALID_MARKET_ID",
		2: "ORDER_NOT_FOUND",
	}
	CancelOrderReject_Reason_value = map[string]int32{
		"UNCLASSIFIED":      0,
		"INVALID_MARKET_ID": 1,
		"ORDER_NOT_FOUND":   2,
	}
)

Enum value maps for CancelOrderReject_Reason.

View Source
var (
	ModifyOrderReject_Reason_name = map[int32]string{
		0: "UNCLASSIFIED",
		1: "INVALID_QUANTITY",
		2: "INVALID_MARKET_ID",
		3: "ORDER_NOT_FOUND",
		4: "INVALID_IFM",
		5: "INVALID_POST_ONLY",
		6: "INVALID_SELF_TRADE_PREVENTION",
		7: "UNKNOWN_TRADER",
		8: "EXCEEDED_SPOT_POSITION",
		9: "POST_ONLY_WOULD_TRADE",
	}
	ModifyOrderReject_Reason_value = map[string]int32{
		"UNCLASSIFIED":                  0,
		"INVALID_QUANTITY":              1,
		"INVALID_MARKET_ID":             2,
		"ORDER_NOT_FOUND":               3,
		"INVALID_IFM":                   4,
		"INVALID_POST_ONLY":             5,
		"INVALID_SELF_TRADE_PREVENTION": 6,
		"UNKNOWN_TRADER":                7,
		"EXCEEDED_SPOT_POSITION":        8,
		"POST_ONLY_WOULD_TRADE":         9,
	}
)

Enum value maps for ModifyOrderReject_Reason.

View Source
var File_market_data_proto protoreflect.FileDescriptor
View Source
var File_trade_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AggMessage

type AggMessage struct {

	// Types that are assignable to Inner:
	//
	//	*AggMessage_Heartbeat
	//	*AggMessage_TopOfBooks
	//	*AggMessage_RateUpdates
	Inner isAggMessage_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

Every exchange message from `/tops` will be wrapped as an `AggMessage`.

func (*AggMessage) Descriptor deprecated

func (*AggMessage) Descriptor() ([]byte, []int)

Deprecated: Use AggMessage.ProtoReflect.Descriptor instead.

func (*AggMessage) GetHeartbeat

func (x *AggMessage) GetHeartbeat() *Heartbeat

func (*AggMessage) GetInner

func (m *AggMessage) GetInner() isAggMessage_Inner

func (*AggMessage) GetRateUpdates

func (x *AggMessage) GetRateUpdates() *RateUpdates

func (*AggMessage) GetTopOfBooks

func (x *AggMessage) GetTopOfBooks() *TopOfBooks

func (*AggMessage) ProtoMessage

func (*AggMessage) ProtoMessage()

func (*AggMessage) ProtoReflect

func (x *AggMessage) ProtoReflect() protoreflect.Message

func (*AggMessage) Reset

func (x *AggMessage) Reset()

func (*AggMessage) String

func (x *AggMessage) String() string

type AggMessage_Heartbeat

type AggMessage_Heartbeat struct {
	// Server heartbeat reply
	Heartbeat *Heartbeat `protobuf:"bytes,1,opt,name=heartbeat,proto3,oneof"`
}

type AggMessage_RateUpdates

type AggMessage_RateUpdates struct {
	// Rates for all assets
	RateUpdates *RateUpdates `protobuf:"bytes,3,opt,name=rateUpdates,proto3,oneof"`
}

type AggMessage_TopOfBooks

type AggMessage_TopOfBooks struct {
	// Top of books
	TopOfBooks *TopOfBooks `protobuf:"bytes,2,opt,name=topOfBooks,proto3,oneof"`
}

type AssetPosition

type AssetPosition struct {
	SubaccountId uint64    `protobuf:"varint,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	AssetId      uint64    `protobuf:"varint,2,opt,name=assetId,proto3" json:"assetId,omitempty"`
	Total        *RawUnits `protobuf:"bytes,3,opt,name=total,proto3" json:"total,omitempty"`
	// The available amount after open orders are subtracted.
	Available *RawUnits `protobuf:"bytes,4,opt,name=available,proto3" json:"available,omitempty"`
	// contains filtered or unexported fields
}

The user's underlying asset position. These are sent asynchronously as positions are updated and broadcast through internal position channels. They can also be tracked by applying other OrderResponse messages individually.

func (*AssetPosition) Descriptor deprecated

func (*AssetPosition) Descriptor() ([]byte, []int)

Deprecated: Use AssetPosition.ProtoReflect.Descriptor instead.

func (*AssetPosition) GetAssetId

func (x *AssetPosition) GetAssetId() uint64

func (*AssetPosition) GetAvailable

func (x *AssetPosition) GetAvailable() *RawUnits

func (*AssetPosition) GetSubaccountId

func (x *AssetPosition) GetSubaccountId() uint64

func (*AssetPosition) GetTotal

func (x *AssetPosition) GetTotal() *RawUnits

func (*AssetPosition) ProtoMessage

func (*AssetPosition) ProtoMessage()

func (*AssetPosition) ProtoReflect

func (x *AssetPosition) ProtoReflect() protoreflect.Message

func (*AssetPosition) Reset

func (x *AssetPosition) Reset()

func (*AssetPosition) String

func (x *AssetPosition) String() string

type AssetPositions

type AssetPositions struct {
	Positions []*AssetPosition `protobuf:"bytes,1,rep,name=positions,proto3" json:"positions,omitempty"`
	// contains filtered or unexported fields
}

A chunk of asset positions. Sent on bootstrap.

func (*AssetPositions) Descriptor deprecated

func (*AssetPositions) Descriptor() ([]byte, []int)

Deprecated: Use AssetPositions.ProtoReflect.Descriptor instead.

func (*AssetPositions) GetPositions

func (x *AssetPositions) GetPositions() []*AssetPosition

func (*AssetPositions) ProtoMessage

func (*AssetPositions) ProtoMessage()

func (*AssetPositions) ProtoReflect

func (x *AssetPositions) ProtoReflect() protoreflect.Message

func (*AssetPositions) Reset

func (x *AssetPositions) Reset()

func (*AssetPositions) String

func (x *AssetPositions) String() string

type Bootstrap

type Bootstrap struct {

	// Types that are assignable to Inner:
	//
	//	*Bootstrap_Done
	//	*Bootstrap_Resting
	//	*Bootstrap_Position
	Inner isBootstrap_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

A bootstrap message sent after Credentials authentication. Client resting and pending orders used to bootstrap state. Sent as the first message(s) after initialization. Bootstrap is complete after a message tagged `Done` is received and every message after that will be an `OrderResponse`. Multiple messages may be received for `RestingOrders` and `AssetPositions` and these should be concatenated.

func (*Bootstrap) Descriptor deprecated

func (*Bootstrap) Descriptor() ([]byte, []int)

Deprecated: Use Bootstrap.ProtoReflect.Descriptor instead.

func (*Bootstrap) GetDone

func (x *Bootstrap) GetDone() *Done

func (*Bootstrap) GetInner

func (m *Bootstrap) GetInner() isBootstrap_Inner

func (*Bootstrap) GetPosition

func (x *Bootstrap) GetPosition() *AssetPositions

func (*Bootstrap) GetResting

func (x *Bootstrap) GetResting() *RestingOrders

func (*Bootstrap) ProtoMessage

func (*Bootstrap) ProtoMessage()

func (*Bootstrap) ProtoReflect

func (x *Bootstrap) ProtoReflect() protoreflect.Message

func (*Bootstrap) Reset

func (x *Bootstrap) Reset()

func (*Bootstrap) String

func (x *Bootstrap) String() string

type Bootstrap_Done

type Bootstrap_Done struct {
	Done *Done `protobuf:"bytes,1,opt,name=done,proto3,oneof"`
}

type Bootstrap_Position

type Bootstrap_Position struct {
	Position *AssetPositions `protobuf:"bytes,3,opt,name=position,proto3,oneof"`
}

type Bootstrap_Resting

type Bootstrap_Resting struct {
	Resting *RestingOrders `protobuf:"bytes,2,opt,name=resting,proto3,oneof"`
}

type CancelOrder

type CancelOrder struct {
	MarketId uint64 `protobuf:"varint,1,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// The order ID specified by the client on the NewOrder request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// A request ID that is echoed back on the CancelOrderAck or CancelOrderReject
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// The subaccount that the NewOrder was placed on.
	SubaccountId uint64 `protobuf:"varint,4,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// contains filtered or unexported fields
}

Cancel a resting order. Note that this can be done before the order is acknowledged (an aggressive cancel) since the identifying field is the `clientOrderId`.

func (*CancelOrder) Descriptor deprecated

func (*CancelOrder) Descriptor() ([]byte, []int)

Deprecated: Use CancelOrder.ProtoReflect.Descriptor instead.

func (*CancelOrder) GetClientOrderId

func (x *CancelOrder) GetClientOrderId() uint64

func (*CancelOrder) GetMarketId

func (x *CancelOrder) GetMarketId() uint64

func (*CancelOrder) GetRequestId

func (x *CancelOrder) GetRequestId() uint64

func (*CancelOrder) GetSubaccountId

func (x *CancelOrder) GetSubaccountId() uint64

func (*CancelOrder) ProtoMessage

func (*CancelOrder) ProtoMessage()

func (*CancelOrder) ProtoReflect

func (x *CancelOrder) ProtoReflect() protoreflect.Message

func (*CancelOrder) Reset

func (x *CancelOrder) Reset()

func (*CancelOrder) String

func (x *CancelOrder) String() string

type CancelOrderAck

type CancelOrderAck struct {
	MsgSeqNum     uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// If the Reason is `DISCONNECT`, `IOC`, `STP_RESTING`, or `STP_AGGRESSING`,
	// this request ID will be `u64::MAX`. Otherwise, it will be the request ID of
	// the initiated cancel action. For a mass cancel, each cancel order ack will
	// have the MassCancel's requestId.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64                `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64                `protobuf:"varint,5,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	Reason       CancelOrderAck_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=trade.CancelOrderAck_Reason" json:"reason,omitempty"`
	MarketId     uint64                `protobuf:"varint,7,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// contains filtered or unexported fields
}

Cancel-order-ack confirms a cancel request, or that an order has been canceled as the result of a different user-initiated reason.

func (*CancelOrderAck) Descriptor deprecated

func (*CancelOrderAck) Descriptor() ([]byte, []int)

Deprecated: Use CancelOrderAck.ProtoReflect.Descriptor instead.

func (*CancelOrderAck) GetClientOrderId

func (x *CancelOrderAck) GetClientOrderId() uint64

func (*CancelOrderAck) GetMarketId

func (x *CancelOrderAck) GetMarketId() uint64

func (*CancelOrderAck) GetMsgSeqNum

func (x *CancelOrderAck) GetMsgSeqNum() uint64

func (*CancelOrderAck) GetReason

func (x *CancelOrderAck) GetReason() CancelOrderAck_Reason

func (*CancelOrderAck) GetRequestId

func (x *CancelOrderAck) GetRequestId() uint64

func (*CancelOrderAck) GetSubaccountId

func (x *CancelOrderAck) GetSubaccountId() uint64

func (*CancelOrderAck) GetTransactTime

func (x *CancelOrderAck) GetTransactTime() uint64

func (*CancelOrderAck) ProtoMessage

func (*CancelOrderAck) ProtoMessage()

func (*CancelOrderAck) ProtoReflect

func (x *CancelOrderAck) ProtoReflect() protoreflect.Message

func (*CancelOrderAck) Reset

func (x *CancelOrderAck) Reset()

func (*CancelOrderAck) String

func (x *CancelOrderAck) String() string

type CancelOrderAck_Reason

type CancelOrderAck_Reason int32
const (
	CancelOrderAck_UNCLASSIFIED CancelOrderAck_Reason = 0
	CancelOrderAck_DISCONNECT   CancelOrderAck_Reason = 1
	// This order was specified in a cancel request.
	CancelOrderAck_REQUESTED CancelOrderAck_Reason = 2
	// This was an IOC new-order that does not get fully filled.
	CancelOrderAck_IOC CancelOrderAck_Reason = 3
	// A resting order was STP canceled.
	CancelOrderAck_STP_RESTING CancelOrderAck_Reason = 4
	// An aggressing order was STP canceled.
	CancelOrderAck_STP_AGGRESSING CancelOrderAck_Reason = 5
	// This order was covered by a mass-cancel request.
	CancelOrderAck_MASS_CANCEL CancelOrderAck_Reason = 6
)

func (CancelOrderAck_Reason) Descriptor

func (CancelOrderAck_Reason) Enum

func (CancelOrderAck_Reason) EnumDescriptor deprecated

func (CancelOrderAck_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use CancelOrderAck_Reason.Descriptor instead.

func (CancelOrderAck_Reason) Number

func (CancelOrderAck_Reason) String

func (x CancelOrderAck_Reason) String() string

func (CancelOrderAck_Reason) Type

type CancelOrderReject

type CancelOrderReject struct {
	MsgSeqNum uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	// The client order ID specified in the cancel-order request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// The request ID specified in the cancel-order request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64                   `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64                   `protobuf:"varint,5,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	Reason       CancelOrderReject_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=trade.CancelOrderReject_Reason" json:"reason,omitempty"`
	MarketId     uint64                   `protobuf:"varint,7,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// contains filtered or unexported fields
}

Cancel-order-reject indicates that a cancel-order request was not applied.

func (*CancelOrderReject) Descriptor deprecated

func (*CancelOrderReject) Descriptor() ([]byte, []int)

Deprecated: Use CancelOrderReject.ProtoReflect.Descriptor instead.

func (*CancelOrderReject) GetClientOrderId

func (x *CancelOrderReject) GetClientOrderId() uint64

func (*CancelOrderReject) GetMarketId

func (x *CancelOrderReject) GetMarketId() uint64

func (*CancelOrderReject) GetMsgSeqNum

func (x *CancelOrderReject) GetMsgSeqNum() uint64

func (*CancelOrderReject) GetReason

func (*CancelOrderReject) GetRequestId

func (x *CancelOrderReject) GetRequestId() uint64

func (*CancelOrderReject) GetSubaccountId

func (x *CancelOrderReject) GetSubaccountId() uint64

func (*CancelOrderReject) GetTransactTime

func (x *CancelOrderReject) GetTransactTime() uint64

func (*CancelOrderReject) ProtoMessage

func (*CancelOrderReject) ProtoMessage()

func (*CancelOrderReject) ProtoReflect

func (x *CancelOrderReject) ProtoReflect() protoreflect.Message

func (*CancelOrderReject) Reset

func (x *CancelOrderReject) Reset()

func (*CancelOrderReject) String

func (x *CancelOrderReject) String() string

type CancelOrderReject_Reason

type CancelOrderReject_Reason int32
const (
	CancelOrderReject_UNCLASSIFIED CancelOrderReject_Reason = 0
	// The specified market ID does not exist.
	CancelOrderReject_INVALID_MARKET_ID CancelOrderReject_Reason = 1
	// The specified client order ID does not exist for the corresponding market
	// ID and subaccount ID.
	CancelOrderReject_ORDER_NOT_FOUND CancelOrderReject_Reason = 2
)

func (CancelOrderReject_Reason) Descriptor

func (CancelOrderReject_Reason) Enum

func (CancelOrderReject_Reason) EnumDescriptor deprecated

func (CancelOrderReject_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use CancelOrderReject_Reason.Descriptor instead.

func (CancelOrderReject_Reason) Number

func (CancelOrderReject_Reason) String

func (x CancelOrderReject_Reason) String() string

func (CancelOrderReject_Reason) Type

type ClientMessage

type ClientMessage struct {

	// Types that are assignable to Inner:
	//
	//	*ClientMessage_Heartbeat
	//	*ClientMessage_Config
	Inner isClientMessage_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

Client heartbeats and configs. This wrapper is used for both `/book/:market_id` and `/tops`, but `config` messages are ignored on the latter.

func (*ClientMessage) Descriptor deprecated

func (*ClientMessage) Descriptor() ([]byte, []int)

Deprecated: Use ClientMessage.ProtoReflect.Descriptor instead.

func (*ClientMessage) GetConfig

func (x *ClientMessage) GetConfig() *Config

func (*ClientMessage) GetHeartbeat

func (x *ClientMessage) GetHeartbeat() *Heartbeat

func (*ClientMessage) GetInner

func (m *ClientMessage) GetInner() isClientMessage_Inner

func (*ClientMessage) ProtoMessage

func (*ClientMessage) ProtoMessage()

func (*ClientMessage) ProtoReflect

func (x *ClientMessage) ProtoReflect() protoreflect.Message

func (*ClientMessage) Reset

func (x *ClientMessage) Reset()

func (*ClientMessage) String

func (x *ClientMessage) String() string

type ClientMessage_Config

type ClientMessage_Config struct {
	Config *Config `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
}

type ClientMessage_Heartbeat

type ClientMessage_Heartbeat struct {
	Heartbeat *Heartbeat `protobuf:"bytes,1,opt,name=heartbeat,proto3,oneof"`
}

type Config

type Config struct {

	// Enable MBP feeds
	Mbp bool `protobuf:"varint,1,opt,name=mbp,proto3" json:"mbp,omitempty"`
	// Enable MBO feeds
	Mbo bool `protobuf:"varint,2,opt,name=mbo,proto3" json:"mbo,omitempty"`
	// Enable recent trades
	Trades bool `protobuf:"varint,3,opt,name=trades,proto3" json:"trades,omitempty"`
	// Enable 24h summary
	Summary bool `protobuf:"varint,4,opt,name=summary,proto3" json:"summary,omitempty"`
	// Enable price klines
	Klines []KlineInterval `protobuf:"varint,5,rep,packed,name=klines,proto3,enum=md.KlineInterval" json:"klines,omitempty"`
	// contains filtered or unexported fields
}

Set the message subscriptions for `/book/:market_id`. At most one of `mbp` and `mbo` can be set.

func (*Config) Descriptor deprecated

func (*Config) Descriptor() ([]byte, []int)

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetKlines

func (x *Config) GetKlines() []KlineInterval

func (*Config) GetMbo

func (x *Config) GetMbo() bool

func (*Config) GetMbp

func (x *Config) GetMbp() bool

func (*Config) GetSummary

func (x *Config) GetSummary() bool

func (*Config) GetTrades

func (x *Config) GetTrades() bool

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

func (x *Config) ProtoReflect() protoreflect.Message

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type Credentials

type Credentials struct {

	// Public API key
	AccessKeyId string `protobuf:"bytes,1,opt,name=accessKeyId,proto3" json:"accessKeyId,omitempty"`
	// HMAC signature
	Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// Timestamp in seconds
	Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

Sent by client on websocket initialization. Once the websocket has been connected, the client is expected to send this credentials message immediately. The API key (UUID) and secret access key (hex-encoded 32-byte array) should be generated on the settings page with the write access. The signature should be calculated as the concatenation of the byte string `cube.xyz` and the current unix epoch in seconds interpreted at a little-endian 64-bit number. For example:

```rust compile_fail use hmac::{Hmac, Mac, NewMac}; use std::time::SystemTime;

let secret_key = [...];

let timestamp = SystemTime::now()

.duration_since(SystemTime::UNIX_EPOCH)
.expect("clock went backwords")
.as_secs();

let mut mac = Hmac::<sha2::Sha256>::new_from_slice(

secret_key

).expect("new HMAC error"); mac.update(b"cube.xyz"); mac.update(&timestamp.to_le_bytes()); let signature = <[u8; 32]>::from(mac.finalize().into_bytes()); ```

func (*Credentials) Descriptor deprecated

func (*Credentials) Descriptor() ([]byte, []int)

Deprecated: Use Credentials.ProtoReflect.Descriptor instead.

func (*Credentials) GetAccessKeyId

func (x *Credentials) GetAccessKeyId() string

func (*Credentials) GetSignature

func (x *Credentials) GetSignature() string

func (*Credentials) GetTimestamp

func (x *Credentials) GetTimestamp() uint64

func (*Credentials) ProtoMessage

func (*Credentials) ProtoMessage()

func (*Credentials) ProtoReflect

func (x *Credentials) ProtoReflect() protoreflect.Message

func (*Credentials) Reset

func (x *Credentials) Reset()

func (*Credentials) String

func (x *Credentials) String() string

type Done

type Done struct {

	// [Transact time](#transact-time)
	LatestTransactTime uint64 `protobuf:"varint,1,opt,name=latestTransactTime,proto3" json:"latestTransactTime,omitempty"`
	// contains filtered or unexported fields
}

An indication that bootstrap is complete.

func (*Done) Descriptor deprecated

func (*Done) Descriptor() ([]byte, []int)

Deprecated: Use Done.ProtoReflect.Descriptor instead.

func (*Done) GetLatestTransactTime

func (x *Done) GetLatestTransactTime() uint64

func (*Done) ProtoMessage

func (*Done) ProtoMessage()

func (*Done) ProtoReflect

func (x *Done) ProtoReflect() protoreflect.Message

func (*Done) Reset

func (x *Done) Reset()

func (*Done) String

func (x *Done) String() string

type Fill

type Fill struct {
	MsgSeqNum uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	MarketId  uint64 `protobuf:"varint,2,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// The client order ID specified in the new-order request.
	ClientOrderId uint64 `protobuf:"varint,3,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// [Exchange order ID](#exchange-order-id)
	ExchangeOrderId uint64 `protobuf:"varint,4,opt,name=exchangeOrderId,proto3" json:"exchangeOrderId,omitempty"`
	// The price that this trade occured at.
	FillPrice uint64 `protobuf:"varint,5,opt,name=fillPrice,proto3" json:"fillPrice,omitempty"`
	// The quantity that was traded in this fill.
	FillQuantity uint64 `protobuf:"varint,6,opt,name=fillQuantity,proto3" json:"fillQuantity,omitempty"`
	// The remaining quantity for this order after the fill is applied.
	LeavesQuantity uint64 `protobuf:"varint,7,opt,name=leavesQuantity,proto3" json:"leavesQuantity,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64 `protobuf:"varint,8,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64 `protobuf:"varint,9,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// contains filtered or unexported fields
}

A fill for an order.

func (*Fill) Descriptor deprecated

func (*Fill) Descriptor() ([]byte, []int)

Deprecated: Use Fill.ProtoReflect.Descriptor instead.

func (*Fill) GetClientOrderId

func (x *Fill) GetClientOrderId() uint64

func (*Fill) GetExchangeOrderId

func (x *Fill) GetExchangeOrderId() uint64

func (*Fill) GetFillPrice

func (x *Fill) GetFillPrice() uint64

func (*Fill) GetFillQuantity

func (x *Fill) GetFillQuantity() uint64

func (*Fill) GetLeavesQuantity

func (x *Fill) GetLeavesQuantity() uint64

func (*Fill) GetMarketId

func (x *Fill) GetMarketId() uint64

func (*Fill) GetMsgSeqNum

func (x *Fill) GetMsgSeqNum() uint64

func (*Fill) GetSubaccountId

func (x *Fill) GetSubaccountId() uint64

func (*Fill) GetTransactTime

func (x *Fill) GetTransactTime() uint64

func (*Fill) ProtoMessage

func (*Fill) ProtoMessage()

func (*Fill) ProtoReflect

func (x *Fill) ProtoReflect() protoreflect.Message

func (*Fill) Reset

func (x *Fill) Reset()

func (*Fill) String

func (x *Fill) String() string

type Heartbeat

type Heartbeat struct {

	// A request ID that is echoed back on the Heartbeat
	RequestId uint64 `protobuf:"varint,1,opt,name=requestId,proto3" json:"requestId,omitempty"`
	Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

A client and server heartbeat. The heartbeat reply, including the timestamp value, comes from the order service and not the matching engine. Matching engine timestamps can be extracted from `transactTime` (below).

Latency can be estimated from this, but only the relative difference between successive server messages should be used. In particular, the client and server clock should not be expected to be synchronized.

func (*Heartbeat) Descriptor deprecated

func (*Heartbeat) Descriptor() ([]byte, []int)

Deprecated: Use Heartbeat.ProtoReflect.Descriptor instead.

func (*Heartbeat) GetRequestId

func (x *Heartbeat) GetRequestId() uint64

func (*Heartbeat) GetTimestamp

func (x *Heartbeat) GetTimestamp() uint64

func (*Heartbeat) ProtoMessage

func (*Heartbeat) ProtoMessage()

func (*Heartbeat) ProtoReflect

func (x *Heartbeat) ProtoReflect() protoreflect.Message

func (*Heartbeat) Reset

func (x *Heartbeat) Reset()

func (*Heartbeat) String

func (x *Heartbeat) String() string

type Kline

type Kline struct {
	Interval KlineInterval `protobuf:"varint,1,opt,name=interval,proto3,enum=md.KlineInterval" json:"interval,omitempty"`
	// The unix nanosecond timestamp that this kline covers.
	StartTime uint64 `protobuf:"varint,2,opt,name=startTime,proto3" json:"startTime,omitempty"`
	// Kline open price.
	Open uint64 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"`
	// Kline close price.
	Close uint64 `protobuf:"varint,4,opt,name=close,proto3" json:"close,omitempty"`
	// Kline high price.
	High uint64 `protobuf:"varint,5,opt,name=high,proto3" json:"high,omitempty"`
	// Kline low price.
	Low uint64 `protobuf:"varint,6,opt,name=low,proto3" json:"low,omitempty"`
	// Low 64-bits of the base quantity traded.
	VolumeLo uint64 `protobuf:"varint,7,opt,name=volumeLo,proto3" json:"volumeLo,omitempty"`
	// High 64-bits of the base quantity traded.
	VolumeHi uint64 `protobuf:"varint,8,opt,name=volumeHi,proto3" json:"volumeHi,omitempty"`
	// contains filtered or unexported fields
}

Candlestick bar.

func (*Kline) Descriptor deprecated

func (*Kline) Descriptor() ([]byte, []int)

Deprecated: Use Kline.ProtoReflect.Descriptor instead.

func (*Kline) GetClose

func (x *Kline) GetClose() uint64

func (*Kline) GetHigh

func (x *Kline) GetHigh() uint64

func (*Kline) GetInterval

func (x *Kline) GetInterval() KlineInterval

func (*Kline) GetLow

func (x *Kline) GetLow() uint64

func (*Kline) GetOpen

func (x *Kline) GetOpen() uint64

func (*Kline) GetStartTime

func (x *Kline) GetStartTime() uint64

func (*Kline) GetVolumeHi

func (x *Kline) GetVolumeHi() uint64

func (*Kline) GetVolumeLo

func (x *Kline) GetVolumeLo() uint64

func (*Kline) ProtoMessage

func (*Kline) ProtoMessage()

func (*Kline) ProtoReflect

func (x *Kline) ProtoReflect() protoreflect.Message

func (*Kline) Reset

func (x *Kline) Reset()

func (*Kline) String

func (x *Kline) String() string

type KlineInterval

type KlineInterval int32

The candlestick interval.

const (
	// 1 second
	KlineInterval_S1 KlineInterval = 0
	// 1 minute
	KlineInterval_M1 KlineInterval = 1
	// 15 minutes
	KlineInterval_M15 KlineInterval = 2
	// 1 hour
	KlineInterval_H1 KlineInterval = 3
	// 4 hours
	KlineInterval_H4 KlineInterval = 4
	// 1 day
	KlineInterval_D1 KlineInterval = 5
)

func (KlineInterval) Descriptor

func (KlineInterval) Enum

func (x KlineInterval) Enum() *KlineInterval

func (KlineInterval) EnumDescriptor deprecated

func (KlineInterval) EnumDescriptor() ([]byte, []int)

Deprecated: Use KlineInterval.Descriptor instead.

func (KlineInterval) Number

func (KlineInterval) String

func (x KlineInterval) String() string

func (KlineInterval) Type

type MarketByOrder

type MarketByOrder struct {
	Orders    []*MarketByOrder_Order `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"`
	Chunk     uint32                 `protobuf:"varint,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
	NumChunks uint32                 `protobuf:"varint,3,opt,name=numChunks,proto3" json:"numChunks,omitempty"`
	// contains filtered or unexported fields
}

Market by order snapshot message. This is chunked into `numChunks` and starts with `chunk = 0`. A snapshot is sent on first connect. `Level`'s should be concatened until `chunk = numChunks - 1`. Orders are sent in order of FIFO queue priority so the first order of a level should be the first order to be matched when that level is aggressed.

func (*MarketByOrder) Descriptor deprecated

func (*MarketByOrder) Descriptor() ([]byte, []int)

Deprecated: Use MarketByOrder.ProtoReflect.Descriptor instead.

func (*MarketByOrder) GetChunk

func (x *MarketByOrder) GetChunk() uint32

func (*MarketByOrder) GetNumChunks

func (x *MarketByOrder) GetNumChunks() uint32

func (*MarketByOrder) GetOrders

func (x *MarketByOrder) GetOrders() []*MarketByOrder_Order

func (*MarketByOrder) ProtoMessage

func (*MarketByOrder) ProtoMessage()

func (*MarketByOrder) ProtoReflect

func (x *MarketByOrder) ProtoReflect() protoreflect.Message

func (*MarketByOrder) Reset

func (x *MarketByOrder) Reset()

func (*MarketByOrder) String

func (x *MarketByOrder) String() string

type MarketByOrderDiff

type MarketByOrderDiff struct {
	Diffs []*MarketByOrderDiff_Diff `protobuf:"bytes,1,rep,name=diffs,proto3" json:"diffs,omitempty"`
	// Total number of bid levels after this diff is applied.
	TotalBidLevels uint32 `protobuf:"varint,2,opt,name=totalBidLevels,proto3" json:"totalBidLevels,omitempty"`
	// Total number of ask levels after this diff is applied.
	TotalAskLevels uint32 `protobuf:"varint,3,opt,name=totalAskLevels,proto3" json:"totalAskLevels,omitempty"`
	// Total number of bid orders after this diff is applied.
	TotalBidOrders uint32 `protobuf:"varint,4,opt,name=totalBidOrders,proto3" json:"totalBidOrders,omitempty"`
	// Total number of ask orders after this diff is applied.
	TotalAskOrders uint32 `protobuf:"varint,5,opt,name=totalAskOrders,proto3" json:"totalAskOrders,omitempty"`
	// contains filtered or unexported fields
}

Market by order diff message. Book updates for the MBO feed are sent as diffs after the initial snapshot. The number of total side levels and orders are for reconciliation.

Note that for orders that are cancel-replace'd (a modify that lost queue priority), the new price and quantity will be reported as a `REPLACE` but the exchange order ID will not change.

func (*MarketByOrderDiff) Descriptor deprecated

func (*MarketByOrderDiff) Descriptor() ([]byte, []int)

Deprecated: Use MarketByOrderDiff.ProtoReflect.Descriptor instead.

func (*MarketByOrderDiff) GetDiffs

func (x *MarketByOrderDiff) GetDiffs() []*MarketByOrderDiff_Diff

func (*MarketByOrderDiff) GetTotalAskLevels

func (x *MarketByOrderDiff) GetTotalAskLevels() uint32

func (*MarketByOrderDiff) GetTotalAskOrders

func (x *MarketByOrderDiff) GetTotalAskOrders() uint32

func (*MarketByOrderDiff) GetTotalBidLevels

func (x *MarketByOrderDiff) GetTotalBidLevels() uint32

func (*MarketByOrderDiff) GetTotalBidOrders

func (x *MarketByOrderDiff) GetTotalBidOrders() uint32

func (*MarketByOrderDiff) ProtoMessage

func (*MarketByOrderDiff) ProtoMessage()

func (*MarketByOrderDiff) ProtoReflect

func (x *MarketByOrderDiff) ProtoReflect() protoreflect.Message

func (*MarketByOrderDiff) Reset

func (x *MarketByOrderDiff) Reset()

func (*MarketByOrderDiff) String

func (x *MarketByOrderDiff) String() string

type MarketByOrderDiff_Diff

type MarketByOrderDiff_Diff struct {
	Price    uint64 `protobuf:"varint,1,opt,name=price,proto3" json:"price,omitempty"`
	Quantity uint64 `protobuf:"varint,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	// [Exchange order ID](/docs/api_reference/trade#exchange-order-id)
	ExchangeOrderId uint64                   `protobuf:"varint,3,opt,name=exchangeOrderId,proto3" json:"exchangeOrderId,omitempty"`
	Side            Side                     `protobuf:"varint,4,opt,name=side,proto3,enum=md.Side" json:"side,omitempty"`
	Op              MarketByOrderDiff_DiffOp `protobuf:"varint,5,opt,name=op,proto3,enum=md.MarketByOrderDiff_DiffOp" json:"op,omitempty"`
	// contains filtered or unexported fields
}

An order diff creates, updates, or deletes a resting order based on the `exchangeOrderId`

func (*MarketByOrderDiff_Diff) Descriptor deprecated

func (*MarketByOrderDiff_Diff) Descriptor() ([]byte, []int)

Deprecated: Use MarketByOrderDiff_Diff.ProtoReflect.Descriptor instead.

func (*MarketByOrderDiff_Diff) GetExchangeOrderId

func (x *MarketByOrderDiff_Diff) GetExchangeOrderId() uint64

func (*MarketByOrderDiff_Diff) GetOp

func (*MarketByOrderDiff_Diff) GetPrice

func (x *MarketByOrderDiff_Diff) GetPrice() uint64

func (*MarketByOrderDiff_Diff) GetQuantity

func (x *MarketByOrderDiff_Diff) GetQuantity() uint64

func (*MarketByOrderDiff_Diff) GetSide

func (x *MarketByOrderDiff_Diff) GetSide() Side

func (*MarketByOrderDiff_Diff) ProtoMessage

func (*MarketByOrderDiff_Diff) ProtoMessage()

func (*MarketByOrderDiff_Diff) ProtoReflect

func (x *MarketByOrderDiff_Diff) ProtoReflect() protoreflect.Message

func (*MarketByOrderDiff_Diff) Reset

func (x *MarketByOrderDiff_Diff) Reset()

func (*MarketByOrderDiff_Diff) String

func (x *MarketByOrderDiff_Diff) String() string

type MarketByOrderDiff_DiffOp

type MarketByOrderDiff_DiffOp int32

The operation to apply for this price level. For example, an resting order that gets filled will be `REPLACE`'d with the new resting quantity. An order is `REMOVE`'d when it is fully filled or canceled.

const (
	MarketByOrderDiff_ADD     MarketByOrderDiff_DiffOp = 0
	MarketByOrderDiff_REMOVE  MarketByOrderDiff_DiffOp = 1
	MarketByOrderDiff_REPLACE MarketByOrderDiff_DiffOp = 2
)

func (MarketByOrderDiff_DiffOp) Descriptor

func (MarketByOrderDiff_DiffOp) Enum

func (MarketByOrderDiff_DiffOp) EnumDescriptor deprecated

func (MarketByOrderDiff_DiffOp) EnumDescriptor() ([]byte, []int)

Deprecated: Use MarketByOrderDiff_DiffOp.Descriptor instead.

func (MarketByOrderDiff_DiffOp) Number

func (MarketByOrderDiff_DiffOp) String

func (x MarketByOrderDiff_DiffOp) String() string

func (MarketByOrderDiff_DiffOp) Type

type MarketByOrder_Order

type MarketByOrder_Order struct {
	Price    uint64 `protobuf:"varint,1,opt,name=price,proto3" json:"price,omitempty"`
	Quantity uint64 `protobuf:"varint,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	// [Exchange order ID](/docs/api_reference/trade#exchange-order-id)
	ExchangeOrderId uint64 `protobuf:"varint,3,opt,name=exchangeOrderId,proto3" json:"exchangeOrderId,omitempty"`
	Side            Side   `protobuf:"varint,4,opt,name=side,proto3,enum=md.Side" json:"side,omitempty"`
	// contains filtered or unexported fields
}

A resting order.

func (*MarketByOrder_Order) Descriptor deprecated

func (*MarketByOrder_Order) Descriptor() ([]byte, []int)

Deprecated: Use MarketByOrder_Order.ProtoReflect.Descriptor instead.

func (*MarketByOrder_Order) GetExchangeOrderId

func (x *MarketByOrder_Order) GetExchangeOrderId() uint64

func (*MarketByOrder_Order) GetPrice

func (x *MarketByOrder_Order) GetPrice() uint64

func (*MarketByOrder_Order) GetQuantity

func (x *MarketByOrder_Order) GetQuantity() uint64

func (*MarketByOrder_Order) GetSide

func (x *MarketByOrder_Order) GetSide() Side

func (*MarketByOrder_Order) ProtoMessage

func (*MarketByOrder_Order) ProtoMessage()

func (*MarketByOrder_Order) ProtoReflect

func (x *MarketByOrder_Order) ProtoReflect() protoreflect.Message

func (*MarketByOrder_Order) Reset

func (x *MarketByOrder_Order) Reset()

func (*MarketByOrder_Order) String

func (x *MarketByOrder_Order) String() string

type MarketByPrice

type MarketByPrice struct {
	Levels    []*MarketByPrice_Level `protobuf:"bytes,1,rep,name=levels,proto3" json:"levels,omitempty"`
	Chunk     uint32                 `protobuf:"varint,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
	NumChunks uint32                 `protobuf:"varint,3,opt,name=numChunks,proto3" json:"numChunks,omitempty"`
	// contains filtered or unexported fields
}

Market by price snapshot message. This is chunked into `numChunks` and starts with `chunk = 0`. A snapshot is sent on first connect. `Level`'s should be concatened until `chunk = numChunks - 1`. Currently, the chunks and levels are streamed from tightest price level outwards with interleaved Bid and Ask levels, but no ordering is guaranteed.

func (*MarketByPrice) Descriptor deprecated

func (*MarketByPrice) Descriptor() ([]byte, []int)

Deprecated: Use MarketByPrice.ProtoReflect.Descriptor instead.

func (*MarketByPrice) GetChunk

func (x *MarketByPrice) GetChunk() uint32

func (*MarketByPrice) GetLevels

func (x *MarketByPrice) GetLevels() []*MarketByPrice_Level

func (*MarketByPrice) GetNumChunks

func (x *MarketByPrice) GetNumChunks() uint32

func (*MarketByPrice) ProtoMessage

func (*MarketByPrice) ProtoMessage()

func (*MarketByPrice) ProtoReflect

func (x *MarketByPrice) ProtoReflect() protoreflect.Message

func (*MarketByPrice) Reset

func (x *MarketByPrice) Reset()

func (*MarketByPrice) String

func (x *MarketByPrice) String() string

type MarketByPriceDiff

type MarketByPriceDiff struct {
	Diffs []*MarketByPriceDiff_Diff `protobuf:"bytes,1,rep,name=diffs,proto3" json:"diffs,omitempty"`
	// Total number of bid levels after this diff is applied.
	TotalBidLevels uint32 `protobuf:"varint,2,opt,name=totalBidLevels,proto3" json:"totalBidLevels,omitempty"`
	// Total number of ask levels after this diff is applied.
	TotalAskLevels uint32 `protobuf:"varint,3,opt,name=totalAskLevels,proto3" json:"totalAskLevels,omitempty"`
	// contains filtered or unexported fields
}

Market by price diff message. Book updates for the MBP feed are sent as diffs after the initial snapshot. The number of total side levels are for reconciliation.

func (*MarketByPriceDiff) Descriptor deprecated

func (*MarketByPriceDiff) Descriptor() ([]byte, []int)

Deprecated: Use MarketByPriceDiff.ProtoReflect.Descriptor instead.

func (*MarketByPriceDiff) GetDiffs

func (x *MarketByPriceDiff) GetDiffs() []*MarketByPriceDiff_Diff

func (*MarketByPriceDiff) GetTotalAskLevels

func (x *MarketByPriceDiff) GetTotalAskLevels() uint32

func (*MarketByPriceDiff) GetTotalBidLevels

func (x *MarketByPriceDiff) GetTotalBidLevels() uint32

func (*MarketByPriceDiff) ProtoMessage

func (*MarketByPriceDiff) ProtoMessage()

func (*MarketByPriceDiff) ProtoReflect

func (x *MarketByPriceDiff) ProtoReflect() protoreflect.Message

func (*MarketByPriceDiff) Reset

func (x *MarketByPriceDiff) Reset()

func (*MarketByPriceDiff) String

func (x *MarketByPriceDiff) String() string

type MarketByPriceDiff_Diff

type MarketByPriceDiff_Diff struct {
	Price    uint64                   `protobuf:"varint,1,opt,name=price,proto3" json:"price,omitempty"`
	Quantity uint64                   `protobuf:"varint,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	Side     Side                     `protobuf:"varint,3,opt,name=side,proto3,enum=md.Side" json:"side,omitempty"`
	Op       MarketByPriceDiff_DiffOp `protobuf:"varint,4,opt,name=op,proto3,enum=md.MarketByPriceDiff_DiffOp" json:"op,omitempty"`
	// contains filtered or unexported fields
}

A price level diff overwrites the existing price level.

func (*MarketByPriceDiff_Diff) Descriptor deprecated

func (*MarketByPriceDiff_Diff) Descriptor() ([]byte, []int)

Deprecated: Use MarketByPriceDiff_Diff.ProtoReflect.Descriptor instead.

func (*MarketByPriceDiff_Diff) GetOp

func (*MarketByPriceDiff_Diff) GetPrice

func (x *MarketByPriceDiff_Diff) GetPrice() uint64

func (*MarketByPriceDiff_Diff) GetQuantity

func (x *MarketByPriceDiff_Diff) GetQuantity() uint64

func (*MarketByPriceDiff_Diff) GetSide

func (x *MarketByPriceDiff_Diff) GetSide() Side

func (*MarketByPriceDiff_Diff) ProtoMessage

func (*MarketByPriceDiff_Diff) ProtoMessage()

func (*MarketByPriceDiff_Diff) ProtoReflect

func (x *MarketByPriceDiff_Diff) ProtoReflect() protoreflect.Message

func (*MarketByPriceDiff_Diff) Reset

func (x *MarketByPriceDiff_Diff) Reset()

func (*MarketByPriceDiff_Diff) String

func (x *MarketByPriceDiff_Diff) String() string

type MarketByPriceDiff_DiffOp

type MarketByPriceDiff_DiffOp int32

The operation to apply for this price level. Currently, new price levels are created with `REPLACE`.

const (
	MarketByPriceDiff_ADD     MarketByPriceDiff_DiffOp = 0
	MarketByPriceDiff_REMOVE  MarketByPriceDiff_DiffOp = 1
	MarketByPriceDiff_REPLACE MarketByPriceDiff_DiffOp = 2
)

func (MarketByPriceDiff_DiffOp) Descriptor

func (MarketByPriceDiff_DiffOp) Enum

func (MarketByPriceDiff_DiffOp) EnumDescriptor deprecated

func (MarketByPriceDiff_DiffOp) EnumDescriptor() ([]byte, []int)

Deprecated: Use MarketByPriceDiff_DiffOp.Descriptor instead.

func (MarketByPriceDiff_DiffOp) Number

func (MarketByPriceDiff_DiffOp) String

func (x MarketByPriceDiff_DiffOp) String() string

func (MarketByPriceDiff_DiffOp) Type

type MarketByPrice_Level

type MarketByPrice_Level struct {
	Price    uint64 `protobuf:"varint,1,opt,name=price,proto3" json:"price,omitempty"`
	Quantity uint64 `protobuf:"varint,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	Side     Side   `protobuf:"varint,3,opt,name=side,proto3,enum=md.Side" json:"side,omitempty"`
	// contains filtered or unexported fields
}

Each price level is the aggregate total quantity of orders placed at that price.

func (*MarketByPrice_Level) Descriptor deprecated

func (*MarketByPrice_Level) Descriptor() ([]byte, []int)

Deprecated: Use MarketByPrice_Level.ProtoReflect.Descriptor instead.

func (*MarketByPrice_Level) GetPrice

func (x *MarketByPrice_Level) GetPrice() uint64

func (*MarketByPrice_Level) GetQuantity

func (x *MarketByPrice_Level) GetQuantity() uint64

func (*MarketByPrice_Level) GetSide

func (x *MarketByPrice_Level) GetSide() Side

func (*MarketByPrice_Level) ProtoMessage

func (*MarketByPrice_Level) ProtoMessage()

func (*MarketByPrice_Level) ProtoReflect

func (x *MarketByPrice_Level) ProtoReflect() protoreflect.Message

func (*MarketByPrice_Level) Reset

func (x *MarketByPrice_Level) Reset()

func (*MarketByPrice_Level) String

func (x *MarketByPrice_Level) String() string

type MassCancel

type MassCancel struct {

	// The subaccount to cancel orders for.
	SubaccountId uint64 `protobuf:"varint,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// A request ID that is echoed back on the MassCancelAck and individual
	// CancelOrderAck's.
	RequestId uint64 `protobuf:"varint,2,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// If specified, only orders on the corresponding market will be canceled.
	MarketId *uint64 `protobuf:"varint,3,opt,name=marketId,proto3,oneof" json:"marketId,omitempty"`
	// If specified, only orders with this side will be canceled.
	Side *Side `protobuf:"varint,4,opt,name=side,proto3,enum=trade.Side,oneof" json:"side,omitempty"`
	// contains filtered or unexported fields
}

Cancel all resting orders, optionally limiting to a particular market and / or order book side.

func (*MassCancel) Descriptor deprecated

func (*MassCancel) Descriptor() ([]byte, []int)

Deprecated: Use MassCancel.ProtoReflect.Descriptor instead.

func (*MassCancel) GetMarketId

func (x *MassCancel) GetMarketId() uint64

func (*MassCancel) GetRequestId

func (x *MassCancel) GetRequestId() uint64

func (*MassCancel) GetSide

func (x *MassCancel) GetSide() Side

func (*MassCancel) GetSubaccountId

func (x *MassCancel) GetSubaccountId() uint64

func (*MassCancel) ProtoMessage

func (*MassCancel) ProtoMessage()

func (*MassCancel) ProtoReflect

func (x *MassCancel) ProtoReflect() protoreflect.Message

func (*MassCancel) Reset

func (x *MassCancel) Reset()

func (*MassCancel) String

func (x *MassCancel) String() string

type MassCancelAck

type MassCancelAck struct {
	MsgSeqNum    uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	SubaccountId uint64 `protobuf:"varint,2,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// The request ID specified in the mass-cancel request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64                `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	Reason       *MassCancelAck_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=trade.MassCancelAck_Reason,oneof" json:"reason,omitempty"`
	// The total number of orders that were canceled.
	TotalAffectedOrders uint32 `protobuf:"varint,7,opt,name=totalAffectedOrders,proto3" json:"totalAffectedOrders,omitempty"`
	// contains filtered or unexported fields
}

Mass-cancel-ack confirms a mass-cancel request. If `reason` is set, the mass cancel was not applied and there are no affected orders. Individual CancelOrderAck's will be sent for each order that was affected.

func (*MassCancelAck) Descriptor deprecated

func (*MassCancelAck) Descriptor() ([]byte, []int)

Deprecated: Use MassCancelAck.ProtoReflect.Descriptor instead.

func (*MassCancelAck) GetMsgSeqNum

func (x *MassCancelAck) GetMsgSeqNum() uint64

func (*MassCancelAck) GetReason

func (x *MassCancelAck) GetReason() MassCancelAck_Reason

func (*MassCancelAck) GetRequestId

func (x *MassCancelAck) GetRequestId() uint64

func (*MassCancelAck) GetSubaccountId

func (x *MassCancelAck) GetSubaccountId() uint64

func (*MassCancelAck) GetTotalAffectedOrders

func (x *MassCancelAck) GetTotalAffectedOrders() uint32

func (*MassCancelAck) GetTransactTime

func (x *MassCancelAck) GetTransactTime() uint64

func (*MassCancelAck) ProtoMessage

func (*MassCancelAck) ProtoMessage()

func (*MassCancelAck) ProtoReflect

func (x *MassCancelAck) ProtoReflect() protoreflect.Message

func (*MassCancelAck) Reset

func (x *MassCancelAck) Reset()

func (*MassCancelAck) String

func (x *MassCancelAck) String() string

type MassCancelAck_Reason

type MassCancelAck_Reason int32
const (
	MassCancelAck_UNCLASSIFIED      MassCancelAck_Reason = 0
	MassCancelAck_INVALID_MARKET_ID MassCancelAck_Reason = 1
	MassCancelAck_INVALID_SIDE      MassCancelAck_Reason = 2
)

func (MassCancelAck_Reason) Descriptor

func (MassCancelAck_Reason) Enum

func (MassCancelAck_Reason) EnumDescriptor deprecated

func (MassCancelAck_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use MassCancelAck_Reason.Descriptor instead.

func (MassCancelAck_Reason) Number

func (MassCancelAck_Reason) String

func (x MassCancelAck_Reason) String() string

func (MassCancelAck_Reason) Type

type MdMessage

type MdMessage struct {

	// Types that are assignable to Inner:
	//
	//	*MdMessage_Heartbeat
	//	*MdMessage_Summary
	//	*MdMessage_Trades
	//	*MdMessage_MboSnapshot
	//	*MdMessage_MboDiff
	//	*MdMessage_MbpSnapshot
	//	*MdMessage_MbpDiff
	//	*MdMessage_Kline
	Inner isMdMessage_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

Every exchange message from `/book/:market_id` will be wrapped as an [`MdMessages`](#md-messages) which contains multiple `MdMessage`'s.

func (*MdMessage) Descriptor deprecated

func (*MdMessage) Descriptor() ([]byte, []int)

Deprecated: Use MdMessage.ProtoReflect.Descriptor instead.

func (*MdMessage) GetHeartbeat

func (x *MdMessage) GetHeartbeat() *Heartbeat

func (*MdMessage) GetInner

func (m *MdMessage) GetInner() isMdMessage_Inner

func (*MdMessage) GetKline

func (x *MdMessage) GetKline() *Kline

func (*MdMessage) GetMboDiff

func (x *MdMessage) GetMboDiff() *MarketByOrderDiff

func (*MdMessage) GetMboSnapshot

func (x *MdMessage) GetMboSnapshot() *MarketByOrder

func (*MdMessage) GetMbpDiff

func (x *MdMessage) GetMbpDiff() *MarketByPriceDiff

func (*MdMessage) GetMbpSnapshot

func (x *MdMessage) GetMbpSnapshot() *MarketByPrice

func (*MdMessage) GetSummary

func (x *MdMessage) GetSummary() *Summary

func (*MdMessage) GetTrades

func (x *MdMessage) GetTrades() *Trades

func (*MdMessage) ProtoMessage

func (*MdMessage) ProtoMessage()

func (*MdMessage) ProtoReflect

func (x *MdMessage) ProtoReflect() protoreflect.Message

func (*MdMessage) Reset

func (x *MdMessage) Reset()

func (*MdMessage) String

func (x *MdMessage) String() string

type MdMessage_Heartbeat

type MdMessage_Heartbeat struct {
	// Server heartbeat reply
	Heartbeat *Heartbeat `protobuf:"bytes,1,opt,name=heartbeat,proto3,oneof"`
}

type MdMessage_Kline

type MdMessage_Kline struct {
	// Candlestick
	Kline *Kline `protobuf:"bytes,8,opt,name=kline,proto3,oneof"`
}

type MdMessage_MboDiff

type MdMessage_MboDiff struct {
	// Market by order diff
	MboDiff *MarketByOrderDiff `protobuf:"bytes,5,opt,name=mboDiff,proto3,oneof"`
}

type MdMessage_MboSnapshot

type MdMessage_MboSnapshot struct {
	// Market by order snapshot
	MboSnapshot *MarketByOrder `protobuf:"bytes,4,opt,name=mboSnapshot,proto3,oneof"`
}

type MdMessage_MbpDiff

type MdMessage_MbpDiff struct {
	// Market by price diff
	MbpDiff *MarketByPriceDiff `protobuf:"bytes,7,opt,name=mbpDiff,proto3,oneof"`
}

type MdMessage_MbpSnapshot

type MdMessage_MbpSnapshot struct {
	// Market by price snapshot
	MbpSnapshot *MarketByPrice `protobuf:"bytes,6,opt,name=mbpSnapshot,proto3,oneof"`
}

type MdMessage_Summary

type MdMessage_Summary struct {
	// 24h summary
	Summary *Summary `protobuf:"bytes,2,opt,name=summary,proto3,oneof"`
}

type MdMessage_Trades

type MdMessage_Trades struct {
	// Recent trades
	Trades *Trades `protobuf:"bytes,3,opt,name=trades,proto3,oneof"`
}

type MdMessages

type MdMessages struct {
	Messages []*MdMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*MdMessages) Descriptor deprecated

func (*MdMessages) Descriptor() ([]byte, []int)

Deprecated: Use MdMessages.ProtoReflect.Descriptor instead.

func (*MdMessages) GetMessages

func (x *MdMessages) GetMessages() []*MdMessage

func (*MdMessages) ProtoMessage

func (*MdMessages) ProtoMessage()

func (*MdMessages) ProtoReflect

func (x *MdMessages) ProtoReflect() protoreflect.Message

func (*MdMessages) Reset

func (x *MdMessages) Reset()

func (*MdMessages) String

func (x *MdMessages) String() string

type ModifyOrder

type ModifyOrder struct {
	MarketId uint64 `protobuf:"varint,1,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// The order ID specified by the client on the NewOrder request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// A request ID that is echoed back on the ModifyOrderAck or ModifyOrderReject
	RequestId   uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	NewPrice    uint64 `protobuf:"varint,4,opt,name=newPrice,proto3" json:"newPrice,omitempty"`
	NewQuantity uint64 `protobuf:"varint,5,opt,name=newQuantity,proto3" json:"newQuantity,omitempty"`
	// The subaccount that the NewOrder was placed on.
	SubaccountId        uint64               `protobuf:"varint,6,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	SelfTradePrevention *SelfTradePrevention `` /* 129-byte string literal not displayed */
	PostOnly            PostOnly             `protobuf:"varint,8,opt,name=postOnly,proto3,enum=trade.PostOnly" json:"postOnly,omitempty"`
	// contains filtered or unexported fields
}

Modify a resting order. - If the `newPrice` and the current resting order's price is the same, and `newQuantity` is not greater, then the modify is considered a modify down, and the FIFO queue priority is maintained. Otherwise, the modify-order request is treated as an atomic cancel-replace and the replacement order is placed at the end of the FIFO queue for the new price level. - If post-only is specified and the replacement order would trade, then the request is rejected and the current resting order remains resting.

Currently, in-flight-mitigation (IFM) is always enabled. That is, the cumulative fill qty is subtracted from `newQuantity` to calculate the new resting quantity. For example:

```text

| Resting | Filled

---------+---------+-------- New 5 | 5 | 0 Fill 2 | 3 | 2 Modify 4 | 2 | 2 ```

The post-modify quantity will be `newQuantity - filled = 4 - 2 = 2`.

func (*ModifyOrder) Descriptor deprecated

func (*ModifyOrder) Descriptor() ([]byte, []int)

Deprecated: Use ModifyOrder.ProtoReflect.Descriptor instead.

func (*ModifyOrder) GetClientOrderId

func (x *ModifyOrder) GetClientOrderId() uint64

func (*ModifyOrder) GetMarketId

func (x *ModifyOrder) GetMarketId() uint64

func (*ModifyOrder) GetNewPrice

func (x *ModifyOrder) GetNewPrice() uint64

func (*ModifyOrder) GetNewQuantity

func (x *ModifyOrder) GetNewQuantity() uint64

func (*ModifyOrder) GetPostOnly

func (x *ModifyOrder) GetPostOnly() PostOnly

func (*ModifyOrder) GetRequestId

func (x *ModifyOrder) GetRequestId() uint64

func (*ModifyOrder) GetSelfTradePrevention

func (x *ModifyOrder) GetSelfTradePrevention() SelfTradePrevention

func (*ModifyOrder) GetSubaccountId

func (x *ModifyOrder) GetSubaccountId() uint64

func (*ModifyOrder) ProtoMessage

func (*ModifyOrder) ProtoMessage()

func (*ModifyOrder) ProtoReflect

func (x *ModifyOrder) ProtoReflect() protoreflect.Message

func (*ModifyOrder) Reset

func (x *ModifyOrder) Reset()

func (*ModifyOrder) String

func (x *ModifyOrder) String() string

type ModifyOrderAck

type ModifyOrderAck struct {
	MsgSeqNum     uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// The request ID specified in the modify request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64 `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	// The quantity submitted in the modify request after applying IFM
	// logic.
	NewQuantity  uint64 `protobuf:"varint,5,opt,name=newQuantity,proto3" json:"newQuantity,omitempty"`
	SubaccountId uint64 `protobuf:"varint,6,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	MarketId     uint64 `protobuf:"varint,7,opt,name=marketId,proto3" json:"marketId,omitempty"`
	Price        uint64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"`
	// contains filtered or unexported fields
}

Modify-order-ack confirms a modify-order request. If the modify resulted in an aggressing cancel-replace, the ack will be ordered before any fills for this order.

func (*ModifyOrderAck) Descriptor deprecated

func (*ModifyOrderAck) Descriptor() ([]byte, []int)

Deprecated: Use ModifyOrderAck.ProtoReflect.Descriptor instead.

func (*ModifyOrderAck) GetClientOrderId

func (x *ModifyOrderAck) GetClientOrderId() uint64

func (*ModifyOrderAck) GetMarketId

func (x *ModifyOrderAck) GetMarketId() uint64

func (*ModifyOrderAck) GetMsgSeqNum

func (x *ModifyOrderAck) GetMsgSeqNum() uint64

func (*ModifyOrderAck) GetNewQuantity

func (x *ModifyOrderAck) GetNewQuantity() uint64

func (*ModifyOrderAck) GetPrice

func (x *ModifyOrderAck) GetPrice() uint64

func (*ModifyOrderAck) GetRequestId

func (x *ModifyOrderAck) GetRequestId() uint64

func (*ModifyOrderAck) GetSubaccountId

func (x *ModifyOrderAck) GetSubaccountId() uint64

func (*ModifyOrderAck) GetTransactTime

func (x *ModifyOrderAck) GetTransactTime() uint64

func (*ModifyOrderAck) ProtoMessage

func (*ModifyOrderAck) ProtoMessage()

func (*ModifyOrderAck) ProtoReflect

func (x *ModifyOrderAck) ProtoReflect() protoreflect.Message

func (*ModifyOrderAck) Reset

func (x *ModifyOrderAck) Reset()

func (*ModifyOrderAck) String

func (x *ModifyOrderAck) String() string

type ModifyOrderReject

type ModifyOrderReject struct {
	MsgSeqNum uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	// The client order ID specified in the modify-order request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// The request ID specified in the modify-order request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64                   `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64                   `protobuf:"varint,5,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	Reason       ModifyOrderReject_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=trade.ModifyOrderReject_Reason" json:"reason,omitempty"`
	MarketId     uint64                   `protobuf:"varint,7,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// contains filtered or unexported fields
}

Modify-order-reject indicates that a modify-order request was not applied.

func (*ModifyOrderReject) Descriptor deprecated

func (*ModifyOrderReject) Descriptor() ([]byte, []int)

Deprecated: Use ModifyOrderReject.ProtoReflect.Descriptor instead.

func (*ModifyOrderReject) GetClientOrderId

func (x *ModifyOrderReject) GetClientOrderId() uint64

func (*ModifyOrderReject) GetMarketId

func (x *ModifyOrderReject) GetMarketId() uint64

func (*ModifyOrderReject) GetMsgSeqNum

func (x *ModifyOrderReject) GetMsgSeqNum() uint64

func (*ModifyOrderReject) GetReason

func (*ModifyOrderReject) GetRequestId

func (x *ModifyOrderReject) GetRequestId() uint64

func (*ModifyOrderReject) GetSubaccountId

func (x *ModifyOrderReject) GetSubaccountId() uint64

func (*ModifyOrderReject) GetTransactTime

func (x *ModifyOrderReject) GetTransactTime() uint64

func (*ModifyOrderReject) ProtoMessage

func (*ModifyOrderReject) ProtoMessage()

func (*ModifyOrderReject) ProtoReflect

func (x *ModifyOrderReject) ProtoReflect() protoreflect.Message

func (*ModifyOrderReject) Reset

func (x *ModifyOrderReject) Reset()

func (*ModifyOrderReject) String

func (x *ModifyOrderReject) String() string

type ModifyOrderReject_Reason

type ModifyOrderReject_Reason int32

Reasons that are prefixed with `INVALID_` normally indicate that the corresponding field did not take a valid value.

const (
	ModifyOrderReject_UNCLASSIFIED ModifyOrderReject_Reason = 0
	// Quantity was zero.
	ModifyOrderReject_INVALID_QUANTITY ModifyOrderReject_Reason = 1
	// The specified market ID does not exist.
	ModifyOrderReject_INVALID_MARKET_ID ModifyOrderReject_Reason = 2
	// The specified client order ID does not exist for the corresponding market
	// ID and subaccount ID.
	ModifyOrderReject_ORDER_NOT_FOUND               ModifyOrderReject_Reason = 3
	ModifyOrderReject_INVALID_IFM                   ModifyOrderReject_Reason = 4
	ModifyOrderReject_INVALID_POST_ONLY             ModifyOrderReject_Reason = 5
	ModifyOrderReject_INVALID_SELF_TRADE_PREVENTION ModifyOrderReject_Reason = 6
	// Internal error: the matching engine could not find this subaccounts
	// positions.
	ModifyOrderReject_UNKNOWN_TRADER ModifyOrderReject_Reason = 7
	// If the modify-order would cause a cancel-replace, the sum of open orders
	// and this replacement order would exceed the subaccounts spot limits.
	ModifyOrderReject_EXCEEDED_SPOT_POSITION ModifyOrderReject_Reason = 8
	// If the modify-order would cause a cancel-replace, the post-only
	// replacement would have crossed and traded.
	ModifyOrderReject_POST_ONLY_WOULD_TRADE ModifyOrderReject_Reason = 9
)

func (ModifyOrderReject_Reason) Descriptor

func (ModifyOrderReject_Reason) Enum

func (ModifyOrderReject_Reason) EnumDescriptor deprecated

func (ModifyOrderReject_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use ModifyOrderReject_Reason.Descriptor instead.

func (ModifyOrderReject_Reason) Number

func (ModifyOrderReject_Reason) String

func (x ModifyOrderReject_Reason) String() string

func (ModifyOrderReject_Reason) Type

type NewOrder

type NewOrder struct {

	// A unique order ID assigned by the client for this order. The ID must be
	// unique among open orders by this subaccount.
	ClientOrderId uint64 `protobuf:"varint,1,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// A request ID that is echoed back on the NewOrderAck or NewOrderReject
	RequestId   uint64      `protobuf:"varint,2,opt,name=requestId,proto3" json:"requestId,omitempty"`
	MarketId    uint64      `protobuf:"varint,3,opt,name=marketId,proto3" json:"marketId,omitempty"`
	Price       *uint64     `protobuf:"varint,4,opt,name=price,proto3,oneof" json:"price,omitempty"`
	Quantity    uint64      `protobuf:"varint,5,opt,name=quantity,proto3" json:"quantity,omitempty"`
	Side        Side        `protobuf:"varint,6,opt,name=side,proto3,enum=trade.Side" json:"side,omitempty"`
	TimeInForce TimeInForce `protobuf:"varint,7,opt,name=timeInForce,proto3,enum=trade.TimeInForce" json:"timeInForce,omitempty"`
	OrderType   OrderType   `protobuf:"varint,8,opt,name=orderType,proto3,enum=trade.OrderType" json:"orderType,omitempty"`
	// The subaccount to place this order on. This subaccount must be writable by
	// the API key specified in the Credentials message.
	SubaccountId        uint64               `protobuf:"varint,9,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	SelfTradePrevention *SelfTradePrevention `` /* 130-byte string literal not displayed */
	PostOnly            PostOnly             `protobuf:"varint,11,opt,name=postOnly,proto3,enum=trade.PostOnly" json:"postOnly,omitempty"`
	// contains filtered or unexported fields
}

Place a new order.

func (*NewOrder) Descriptor deprecated

func (*NewOrder) Descriptor() ([]byte, []int)

Deprecated: Use NewOrder.ProtoReflect.Descriptor instead.

func (*NewOrder) GetClientOrderId

func (x *NewOrder) GetClientOrderId() uint64

func (*NewOrder) GetMarketId

func (x *NewOrder) GetMarketId() uint64

func (*NewOrder) GetOrderType

func (x *NewOrder) GetOrderType() OrderType

func (*NewOrder) GetPostOnly

func (x *NewOrder) GetPostOnly() PostOnly

func (*NewOrder) GetPrice

func (x *NewOrder) GetPrice() uint64

func (*NewOrder) GetQuantity

func (x *NewOrder) GetQuantity() uint64

func (*NewOrder) GetRequestId

func (x *NewOrder) GetRequestId() uint64

func (*NewOrder) GetSelfTradePrevention

func (x *NewOrder) GetSelfTradePrevention() SelfTradePrevention

func (*NewOrder) GetSide

func (x *NewOrder) GetSide() Side

func (*NewOrder) GetSubaccountId

func (x *NewOrder) GetSubaccountId() uint64

func (*NewOrder) GetTimeInForce

func (x *NewOrder) GetTimeInForce() TimeInForce

func (*NewOrder) ProtoMessage

func (*NewOrder) ProtoMessage()

func (*NewOrder) ProtoReflect

func (x *NewOrder) ProtoReflect() protoreflect.Message

func (*NewOrder) Reset

func (x *NewOrder) Reset()

func (*NewOrder) String

func (x *NewOrder) String() string

type NewOrderAck

type NewOrderAck struct {
	MsgSeqNum uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	// The client order ID specified in the new-order request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// The request ID specified in the new-order request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Exchange order ID](#exchange-order-id)
	ExchangeOrderId uint64 `protobuf:"varint,4,opt,name=exchangeOrderId,proto3" json:"exchangeOrderId,omitempty"`
	MarketId        uint64 `protobuf:"varint,5,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// If the order ultimately rests, the `price` field will include the resting
	// price.
	Price *uint64 `protobuf:"varint,6,opt,name=price,proto3,oneof" json:"price,omitempty"`
	// The quantity submitted in the new-order request.
	Quantity    uint64      `protobuf:"varint,7,opt,name=quantity,proto3" json:"quantity,omitempty"`
	Side        Side        `protobuf:"varint,8,opt,name=side,proto3,enum=trade.Side" json:"side,omitempty"`
	TimeInForce TimeInForce `protobuf:"varint,9,opt,name=timeInForce,proto3,enum=trade.TimeInForce" json:"timeInForce,omitempty"`
	OrderType   OrderType   `protobuf:"varint,10,opt,name=orderType,proto3,enum=trade.OrderType" json:"orderType,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64 `protobuf:"varint,11,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64 `protobuf:"varint,12,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// contains filtered or unexported fields
}

New-order-ack confirms a new-order request. The ack will be ordered before any fills for this order.

func (*NewOrderAck) Descriptor deprecated

func (*NewOrderAck) Descriptor() ([]byte, []int)

Deprecated: Use NewOrderAck.ProtoReflect.Descriptor instead.

func (*NewOrderAck) GetClientOrderId

func (x *NewOrderAck) GetClientOrderId() uint64

func (*NewOrderAck) GetExchangeOrderId

func (x *NewOrderAck) GetExchangeOrderId() uint64

func (*NewOrderAck) GetMarketId

func (x *NewOrderAck) GetMarketId() uint64

func (*NewOrderAck) GetMsgSeqNum

func (x *NewOrderAck) GetMsgSeqNum() uint64

func (*NewOrderAck) GetOrderType

func (x *NewOrderAck) GetOrderType() OrderType

func (*NewOrderAck) GetPrice

func (x *NewOrderAck) GetPrice() uint64

func (*NewOrderAck) GetQuantity

func (x *NewOrderAck) GetQuantity() uint64

func (*NewOrderAck) GetRequestId

func (x *NewOrderAck) GetRequestId() uint64

func (*NewOrderAck) GetSide

func (x *NewOrderAck) GetSide() Side

func (*NewOrderAck) GetSubaccountId

func (x *NewOrderAck) GetSubaccountId() uint64

func (*NewOrderAck) GetTimeInForce

func (x *NewOrderAck) GetTimeInForce() TimeInForce

func (*NewOrderAck) GetTransactTime

func (x *NewOrderAck) GetTransactTime() uint64

func (*NewOrderAck) ProtoMessage

func (*NewOrderAck) ProtoMessage()

func (*NewOrderAck) ProtoReflect

func (x *NewOrderAck) ProtoReflect() protoreflect.Message

func (*NewOrderAck) Reset

func (x *NewOrderAck) Reset()

func (*NewOrderAck) String

func (x *NewOrderAck) String() string

type NewOrderReject

type NewOrderReject struct {
	MsgSeqNum uint64 `protobuf:"varint,1,opt,name=msgSeqNum,proto3" json:"msgSeqNum,omitempty"`
	// The client order ID specified in the new-order request.
	ClientOrderId uint64 `protobuf:"varint,2,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// The request ID specified in the new-order request.
	RequestId uint64 `protobuf:"varint,3,opt,name=requestId,proto3" json:"requestId,omitempty"`
	// [Transact time](#transact-time)
	TransactTime uint64                `protobuf:"varint,4,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	SubaccountId uint64                `protobuf:"varint,5,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	Reason       NewOrderReject_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=trade.NewOrderReject_Reason" json:"reason,omitempty"`
	MarketId     uint64                `protobuf:"varint,7,opt,name=marketId,proto3" json:"marketId,omitempty"`
	Price        *uint64               `protobuf:"varint,8,opt,name=price,proto3,oneof" json:"price,omitempty"`
	Quantity     uint64                `protobuf:"varint,9,opt,name=quantity,proto3" json:"quantity,omitempty"`
	Side         Side                  `protobuf:"varint,10,opt,name=side,proto3,enum=trade.Side" json:"side,omitempty"`
	TimeInForce  TimeInForce           `protobuf:"varint,11,opt,name=timeInForce,proto3,enum=trade.TimeInForce" json:"timeInForce,omitempty"`
	OrderType    OrderType             `protobuf:"varint,12,opt,name=orderType,proto3,enum=trade.OrderType" json:"orderType,omitempty"`
	// contains filtered or unexported fields
}

New-order-reject indicates that a new-order request was not applied.

func (*NewOrderReject) Descriptor deprecated

func (*NewOrderReject) Descriptor() ([]byte, []int)

Deprecated: Use NewOrderReject.ProtoReflect.Descriptor instead.

func (*NewOrderReject) GetClientOrderId

func (x *NewOrderReject) GetClientOrderId() uint64

func (*NewOrderReject) GetMarketId

func (x *NewOrderReject) GetMarketId() uint64

func (*NewOrderReject) GetMsgSeqNum

func (x *NewOrderReject) GetMsgSeqNum() uint64

func (*NewOrderReject) GetOrderType

func (x *NewOrderReject) GetOrderType() OrderType

func (*NewOrderReject) GetPrice

func (x *NewOrderReject) GetPrice() uint64

func (*NewOrderReject) GetQuantity

func (x *NewOrderReject) GetQuantity() uint64

func (*NewOrderReject) GetReason

func (x *NewOrderReject) GetReason() NewOrderReject_Reason

func (*NewOrderReject) GetRequestId

func (x *NewOrderReject) GetRequestId() uint64

func (*NewOrderReject) GetSide

func (x *NewOrderReject) GetSide() Side

func (*NewOrderReject) GetSubaccountId

func (x *NewOrderReject) GetSubaccountId() uint64

func (*NewOrderReject) GetTimeInForce

func (x *NewOrderReject) GetTimeInForce() TimeInForce

func (*NewOrderReject) GetTransactTime

func (x *NewOrderReject) GetTransactTime() uint64

func (*NewOrderReject) ProtoMessage

func (*NewOrderReject) ProtoMessage()

func (*NewOrderReject) ProtoReflect

func (x *NewOrderReject) ProtoReflect() protoreflect.Message

func (*NewOrderReject) Reset

func (x *NewOrderReject) Reset()

func (*NewOrderReject) String

func (x *NewOrderReject) String() string

type NewOrderReject_Reason

type NewOrderReject_Reason int32

Reasons that are prefixed with `INVALID_` normally indicate that the corresponding field did not take a valid value.

const (
	NewOrderReject_UNCLASSIFIED NewOrderReject_Reason = 0
	// Quantity was zero.
	NewOrderReject_INVALID_QUANTITY NewOrderReject_Reason = 1
	// The specified market ID does not exist.
	NewOrderReject_INVALID_MARKET_ID NewOrderReject_Reason = 2
	// The specified client order ID was not unique among open orders for this
	// subaccount.
	NewOrderReject_DUPLICATE_ORDER_ID            NewOrderReject_Reason = 3
	NewOrderReject_INVALID_SIDE                  NewOrderReject_Reason = 4
	NewOrderReject_INVALID_TIME_IN_FORCE         NewOrderReject_Reason = 5
	NewOrderReject_INVALID_ORDER_TYPE            NewOrderReject_Reason = 6
	NewOrderReject_INVALID_POST_ONLY             NewOrderReject_Reason = 7
	NewOrderReject_INVALID_SELF_TRADE_PREVENTION NewOrderReject_Reason = 8
	// Internal error: the matching engine could not find this subaccounts
	// positions.
	NewOrderReject_UNKNOWN_TRADER              NewOrderReject_Reason = 9
	NewOrderReject_PRICE_WITH_MARKET_ORDER     NewOrderReject_Reason = 10
	NewOrderReject_POST_ONLY_WITH_MARKET_ORDER NewOrderReject_Reason = 11
	NewOrderReject_POST_ONLY_WITH_INVALID_TIF  NewOrderReject_Reason = 12
	// The sum of open orders and this new-order would exceed the subaccounts
	// spot limits.
	NewOrderReject_EXCEEDED_SPOT_POSITION  NewOrderReject_Reason = 13
	NewOrderReject_NO_OPPOSING_LIMIT_ORDER NewOrderReject_Reason = 14
	// The post-only order would have crossed and traded.
	NewOrderReject_POST_ONLY_WOULD_TRADE NewOrderReject_Reason = 15
	// A FOK was not fully fillable against resting orders at the requested
	// price and quantity.
	NewOrderReject_DID_NOT_FULLY_FILL NewOrderReject_Reason = 16
)

func (NewOrderReject_Reason) Descriptor

func (NewOrderReject_Reason) Enum

func (NewOrderReject_Reason) EnumDescriptor deprecated

func (NewOrderReject_Reason) EnumDescriptor() ([]byte, []int)

Deprecated: Use NewOrderReject_Reason.Descriptor instead.

func (NewOrderReject_Reason) Number

func (NewOrderReject_Reason) String

func (x NewOrderReject_Reason) String() string

func (NewOrderReject_Reason) Type

type OrderRequest

type OrderRequest struct {

	// Types that are assignable to Inner:
	//
	//	*OrderRequest_New
	//	*OrderRequest_Cancel
	//	*OrderRequest_Modify
	//	*OrderRequest_Heartbeat
	//	*OrderRequest_Mc
	Inner isOrderRequest_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

Every client message, aside from Credentials, must be wrapped as an OrderRequest.

func (*OrderRequest) Descriptor deprecated

func (*OrderRequest) Descriptor() ([]byte, []int)

Deprecated: Use OrderRequest.ProtoReflect.Descriptor instead.

func (*OrderRequest) GetCancel

func (x *OrderRequest) GetCancel() *CancelOrder

func (*OrderRequest) GetHeartbeat

func (x *OrderRequest) GetHeartbeat() *Heartbeat

func (*OrderRequest) GetInner

func (m *OrderRequest) GetInner() isOrderRequest_Inner

func (*OrderRequest) GetMc

func (x *OrderRequest) GetMc() *MassCancel

func (*OrderRequest) GetModify

func (x *OrderRequest) GetModify() *ModifyOrder

func (*OrderRequest) GetNew

func (x *OrderRequest) GetNew() *NewOrder

func (*OrderRequest) ProtoMessage

func (*OrderRequest) ProtoMessage()

func (*OrderRequest) ProtoReflect

func (x *OrderRequest) ProtoReflect() protoreflect.Message

func (*OrderRequest) Reset

func (x *OrderRequest) Reset()

func (*OrderRequest) String

func (x *OrderRequest) String() string

type OrderRequest_Cancel

type OrderRequest_Cancel struct {
	Cancel *CancelOrder `protobuf:"bytes,2,opt,name=cancel,proto3,oneof"`
}

type OrderRequest_Heartbeat

type OrderRequest_Heartbeat struct {
	Heartbeat *Heartbeat `protobuf:"bytes,4,opt,name=heartbeat,proto3,oneof"`
}

type OrderRequest_Mc

type OrderRequest_Mc struct {
	Mc *MassCancel `protobuf:"bytes,5,opt,name=mc,proto3,oneof"`
}

type OrderRequest_Modify

type OrderRequest_Modify struct {
	Modify *ModifyOrder `protobuf:"bytes,3,opt,name=modify,proto3,oneof"`
}

type OrderRequest_New

type OrderRequest_New struct {
	New *NewOrder `protobuf:"bytes,1,opt,name=new,proto3,oneof"`
}

type OrderResponse

type OrderResponse struct {

	// Types that are assignable to Inner:
	//
	//	*OrderResponse_NewAck
	//	*OrderResponse_CancelAck
	//	*OrderResponse_ModifyAck
	//	*OrderResponse_NewReject
	//	*OrderResponse_CancelReject
	//	*OrderResponse_ModifyReject
	//	*OrderResponse_Fill
	//	*OrderResponse_Heartbeat
	//	*OrderResponse_Position
	//	*OrderResponse_MassCancelAck
	Inner isOrderResponse_Inner `protobuf_oneof:"inner"`
	// contains filtered or unexported fields
}

Every exchange message after the initial bootstrap will be wrapped as an OrderResponse.

func (*OrderResponse) Descriptor deprecated

func (*OrderResponse) Descriptor() ([]byte, []int)

Deprecated: Use OrderResponse.ProtoReflect.Descriptor instead.

func (*OrderResponse) GetCancelAck

func (x *OrderResponse) GetCancelAck() *CancelOrderAck

func (*OrderResponse) GetCancelReject

func (x *OrderResponse) GetCancelReject() *CancelOrderReject

func (*OrderResponse) GetFill

func (x *OrderResponse) GetFill() *Fill

func (*OrderResponse) GetHeartbeat

func (x *OrderResponse) GetHeartbeat() *Heartbeat

func (*OrderResponse) GetInner

func (m *OrderResponse) GetInner() isOrderResponse_Inner

func (*OrderResponse) GetMassCancelAck

func (x *OrderResponse) GetMassCancelAck() *MassCancelAck

func (*OrderResponse) GetModifyAck

func (x *OrderResponse) GetModifyAck() *ModifyOrderAck

func (*OrderResponse) GetModifyReject

func (x *OrderResponse) GetModifyReject() *ModifyOrderReject

func (*OrderResponse) GetNewAck

func (x *OrderResponse) GetNewAck() *NewOrderAck

func (*OrderResponse) GetNewReject

func (x *OrderResponse) GetNewReject() *NewOrderReject

func (*OrderResponse) GetPosition

func (x *OrderResponse) GetPosition() *AssetPosition

func (*OrderResponse) ProtoMessage

func (*OrderResponse) ProtoMessage()

func (*OrderResponse) ProtoReflect

func (x *OrderResponse) ProtoReflect() protoreflect.Message

func (*OrderResponse) Reset

func (x *OrderResponse) Reset()

func (*OrderResponse) String

func (x *OrderResponse) String() string

type OrderResponse_CancelAck

type OrderResponse_CancelAck struct {
	CancelAck *CancelOrderAck `protobuf:"bytes,2,opt,name=cancelAck,proto3,oneof"`
}

type OrderResponse_CancelReject

type OrderResponse_CancelReject struct {
	CancelReject *CancelOrderReject `protobuf:"bytes,5,opt,name=cancelReject,proto3,oneof"`
}

type OrderResponse_Fill

type OrderResponse_Fill struct {
	Fill *Fill `protobuf:"bytes,7,opt,name=fill,proto3,oneof"`
}

type OrderResponse_Heartbeat

type OrderResponse_Heartbeat struct {
	Heartbeat *Heartbeat `protobuf:"bytes,8,opt,name=heartbeat,proto3,oneof"`
}

type OrderResponse_MassCancelAck

type OrderResponse_MassCancelAck struct {
	MassCancelAck *MassCancelAck `protobuf:"bytes,10,opt,name=massCancelAck,proto3,oneof"`
}

type OrderResponse_ModifyAck

type OrderResponse_ModifyAck struct {
	ModifyAck *ModifyOrderAck `protobuf:"bytes,3,opt,name=modifyAck,proto3,oneof"`
}

type OrderResponse_ModifyReject

type OrderResponse_ModifyReject struct {
	ModifyReject *ModifyOrderReject `protobuf:"bytes,6,opt,name=modifyReject,proto3,oneof"`
}

type OrderResponse_NewAck

type OrderResponse_NewAck struct {
	NewAck *NewOrderAck `protobuf:"bytes,1,opt,name=newAck,proto3,oneof"`
}

type OrderResponse_NewReject

type OrderResponse_NewReject struct {
	NewReject *NewOrderReject `protobuf:"bytes,4,opt,name=newReject,proto3,oneof"`
}

type OrderResponse_Position

type OrderResponse_Position struct {
	Position *AssetPosition `protobuf:"bytes,9,opt,name=position,proto3,oneof"`
}

type OrderType

type OrderType int32

Order-type specifies how the order will be placed into the order book.

const (
	// A limit order is accompanied with a price (inclusive) that specifies the
	// upper limit to buy and the lower limit to sell. If the price is not
	// immediately available and the TIF allows resting orders, the limit order
	// will rest until filled or canceled.
	OrderType_LIMIT OrderType = 0
	// A market limit order crosses the bid-ask spread and, if not fully filled,
	// becomes a limit order at the best available market price. If there is no
	// opposing market, the order is rejected with the NO_OPPOSING_LIMIT_ORDER
	// reason. Price must be null.
	OrderType_MARKET_LIMIT OrderType = 1
	// A market with protection order crosses the bid-ask spread and continues to
	// cross until the order is fully filled or the price protection level,
	// defined by the best market price widened by a market-specific protection
	// point count, is reached. If there is no opposing market, the order is
	// rejected with the NO_OPPOSING_LIMIT_ORDER reason. Price must be null.
	OrderType_MARKET_WITH_PROTECTION OrderType = 2
)

func (OrderType) Descriptor

func (OrderType) Descriptor() protoreflect.EnumDescriptor

func (OrderType) Enum

func (x OrderType) Enum() *OrderType

func (OrderType) EnumDescriptor deprecated

func (OrderType) EnumDescriptor() ([]byte, []int)

Deprecated: Use OrderType.Descriptor instead.

func (OrderType) Number

func (x OrderType) Number() protoreflect.EnumNumber

func (OrderType) String

func (x OrderType) String() string

func (OrderType) Type

type PostOnly

type PostOnly int32

Post-only specifies whether a new order is allowed to immediately execute. Post-only cannot be enabled with market orders or with a TIF that does not allow resting orders.

const (
	PostOnly_DISABLED PostOnly = 0
	PostOnly_ENABLED  PostOnly = 1
)

func (PostOnly) Descriptor

func (PostOnly) Descriptor() protoreflect.EnumDescriptor

func (PostOnly) Enum

func (x PostOnly) Enum() *PostOnly

func (PostOnly) EnumDescriptor deprecated

func (PostOnly) EnumDescriptor() ([]byte, []int)

Deprecated: Use PostOnly.Descriptor instead.

func (PostOnly) Number

func (x PostOnly) Number() protoreflect.EnumNumber

func (PostOnly) String

func (x PostOnly) String() string

func (PostOnly) Type

type RateUpdate

type RateUpdate struct {
	AssetId uint64 `protobuf:"varint,1,opt,name=assetId,proto3" json:"assetId,omitempty"`
	// The nanosecond timestamp of the update.
	Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// The asset rate at the given timestamp.
	Rate uint64         `protobuf:"varint,3,opt,name=rate,proto3" json:"rate,omitempty"`
	Side RateUpdateSide `protobuf:"varint,4,opt,name=side,proto3,enum=md.RateUpdateSide" json:"side,omitempty"`
	// contains filtered or unexported fields
}

Rate update. Used in conjuction with another rate update to get the price of that divisor. Rate's should not be used alone. For example, given a RateUpdate for `assetId = BTC, updateSide = BASE` of `r1`, and `assetId = EUR, updateSide = QUOTE` of `r2`, the BTC-EUR price estimate is `r1 * r2`.

func (*RateUpdate) Descriptor deprecated

func (*RateUpdate) Descriptor() ([]byte, []int)

Deprecated: Use RateUpdate.ProtoReflect.Descriptor instead.

func (*RateUpdate) GetAssetId

func (x *RateUpdate) GetAssetId() uint64

func (*RateUpdate) GetRate

func (x *RateUpdate) GetRate() uint64

func (*RateUpdate) GetSide

func (x *RateUpdate) GetSide() RateUpdateSide

func (*RateUpdate) GetTimestamp

func (x *RateUpdate) GetTimestamp() uint64

func (*RateUpdate) ProtoMessage

func (*RateUpdate) ProtoMessage()

func (*RateUpdate) ProtoReflect

func (x *RateUpdate) ProtoReflect() protoreflect.Message

func (*RateUpdate) Reset

func (x *RateUpdate) Reset()

func (*RateUpdate) String

func (x *RateUpdate) String() string

type RateUpdateSide

type RateUpdateSide int32

The side of the rate update. Given a `BASE` rate of `r`, the `QUOTE` rate is `1 / r`, and vice versa.

const (
	// The asset serves as the base asset for the given rate.
	RateUpdateSide_BASE RateUpdateSide = 0
	// The asset serves as the quote asset for the given rate.
	RateUpdateSide_QUOTE RateUpdateSide = 1
)

func (RateUpdateSide) Descriptor

func (RateUpdateSide) Enum

func (x RateUpdateSide) Enum() *RateUpdateSide

func (RateUpdateSide) EnumDescriptor deprecated

func (RateUpdateSide) EnumDescriptor() ([]byte, []int)

Deprecated: Use RateUpdateSide.Descriptor instead.

func (RateUpdateSide) Number

func (RateUpdateSide) String

func (x RateUpdateSide) String() string

func (RateUpdateSide) Type

type RateUpdates

type RateUpdates struct {
	Updates []*RateUpdate `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"`
	// contains filtered or unexported fields
}

Rates for all assets. Published on connect and updates since the last rate-updates message.

func (*RateUpdates) Descriptor deprecated

func (*RateUpdates) Descriptor() ([]byte, []int)

Deprecated: Use RateUpdates.ProtoReflect.Descriptor instead.

func (*RateUpdates) GetUpdates

func (x *RateUpdates) GetUpdates() []*RateUpdate

func (*RateUpdates) ProtoMessage

func (*RateUpdates) ProtoMessage()

func (*RateUpdates) ProtoReflect

func (x *RateUpdates) ProtoReflect() protoreflect.Message

func (*RateUpdates) Reset

func (x *RateUpdates) Reset()

func (*RateUpdates) String

func (x *RateUpdates) String() string

type RawUnits

type RawUnits struct {
	Word0 uint64 `protobuf:"varint,1,opt,name=word0,proto3" json:"word0,omitempty"`
	Word1 uint64 `protobuf:"varint,2,opt,name=word1,proto3" json:"word1,omitempty"`
	Word2 uint64 `protobuf:"varint,3,opt,name=word2,proto3" json:"word2,omitempty"`
	Word3 uint64 `protobuf:"varint,4,opt,name=word3,proto3" json:"word3,omitempty"`
	// contains filtered or unexported fields
}

Raw-units is a 256-bit number for the amount of an asset. The precision is based on the underlying asset. For example, ETH is specified as if in fixed-point 10^18, while BTC is specified as if in fixed-point 10^8.

The number is interpreted in 'little-endian' as `[word0, word1, word2, word3]`.

func (*RawUnits) Descriptor deprecated

func (*RawUnits) Descriptor() ([]byte, []int)

Deprecated: Use RawUnits.ProtoReflect.Descriptor instead.

func (*RawUnits) GetWord0

func (x *RawUnits) GetWord0() uint64

func (*RawUnits) GetWord1

func (x *RawUnits) GetWord1() uint64

func (*RawUnits) GetWord2

func (x *RawUnits) GetWord2() uint64

func (*RawUnits) GetWord3

func (x *RawUnits) GetWord3() uint64

func (*RawUnits) ProtoMessage

func (*RawUnits) ProtoMessage()

func (*RawUnits) ProtoReflect

func (x *RawUnits) ProtoReflect() protoreflect.Message

func (*RawUnits) Reset

func (x *RawUnits) Reset()

func (*RawUnits) String

func (x *RawUnits) String() string

type RestingOrder

type RestingOrder struct {

	// The client order ID specified in the new-order request.
	ClientOrderId uint64 `protobuf:"varint,1,opt,name=clientOrderId,proto3" json:"clientOrderId,omitempty"`
	// [Exchange order ID](#exchange-order-id)
	ExchangeOrderId uint64 `protobuf:"varint,2,opt,name=exchangeOrderId,proto3" json:"exchangeOrderId,omitempty"`
	MarketId        uint64 `protobuf:"varint,3,opt,name=marketId,proto3" json:"marketId,omitempty"`
	Price           uint64 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"`
	// The quantity submitted in the new-order request.
	OriginalQuantity uint64      `protobuf:"varint,5,opt,name=originalQuantity,proto3" json:"originalQuantity,omitempty"`
	Side             Side        `protobuf:"varint,6,opt,name=side,proto3,enum=trade.Side" json:"side,omitempty"`
	TimeInForce      TimeInForce `protobuf:"varint,7,opt,name=timeInForce,proto3,enum=trade.TimeInForce" json:"timeInForce,omitempty"`
	OrderType        OrderType   `protobuf:"varint,8,opt,name=orderType,proto3,enum=trade.OrderType" json:"orderType,omitempty"`
	// The current remaining quantity on the book.
	RemainingQuantity uint64 `protobuf:"varint,9,opt,name=remainingQuantity,proto3" json:"remainingQuantity,omitempty"`
	// [Transact time](#transact-time) of the NewOrderAck
	RestTime     uint64 `protobuf:"varint,10,opt,name=restTime,proto3" json:"restTime,omitempty"`
	SubaccountId uint64 `protobuf:"varint,11,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"`
	// contains filtered or unexported fields
}

A resting order. Sent on bootstrap in `RestingOrders`.

func (*RestingOrder) Descriptor deprecated

func (*RestingOrder) Descriptor() ([]byte, []int)

Deprecated: Use RestingOrder.ProtoReflect.Descriptor instead.

func (*RestingOrder) GetClientOrderId

func (x *RestingOrder) GetClientOrderId() uint64

func (*RestingOrder) GetExchangeOrderId

func (x *RestingOrder) GetExchangeOrderId() uint64

func (*RestingOrder) GetMarketId

func (x *RestingOrder) GetMarketId() uint64

func (*RestingOrder) GetOrderType

func (x *RestingOrder) GetOrderType() OrderType

func (*RestingOrder) GetOriginalQuantity

func (x *RestingOrder) GetOriginalQuantity() uint64

func (*RestingOrder) GetPrice

func (x *RestingOrder) GetPrice() uint64

func (*RestingOrder) GetRemainingQuantity

func (x *RestingOrder) GetRemainingQuantity() uint64

func (*RestingOrder) GetRestTime

func (x *RestingOrder) GetRestTime() uint64

func (*RestingOrder) GetSide

func (x *RestingOrder) GetSide() Side

func (*RestingOrder) GetSubaccountId

func (x *RestingOrder) GetSubaccountId() uint64

func (*RestingOrder) GetTimeInForce

func (x *RestingOrder) GetTimeInForce() TimeInForce

func (*RestingOrder) ProtoMessage

func (*RestingOrder) ProtoMessage()

func (*RestingOrder) ProtoReflect

func (x *RestingOrder) ProtoReflect() protoreflect.Message

func (*RestingOrder) Reset

func (x *RestingOrder) Reset()

func (*RestingOrder) String

func (x *RestingOrder) String() string

type RestingOrders

type RestingOrders struct {
	Orders []*RestingOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"`
	// contains filtered or unexported fields
}

A chunk of resting orders. Sent on bootstrap.

func (*RestingOrders) Descriptor deprecated

func (*RestingOrders) Descriptor() ([]byte, []int)

Deprecated: Use RestingOrders.ProtoReflect.Descriptor instead.

func (*RestingOrders) GetOrders

func (x *RestingOrders) GetOrders() []*RestingOrder

func (*RestingOrders) ProtoMessage

func (*RestingOrders) ProtoMessage()

func (*RestingOrders) ProtoReflect

func (x *RestingOrders) ProtoReflect() protoreflect.Message

func (*RestingOrders) Reset

func (x *RestingOrders) Reset()

func (*RestingOrders) String

func (x *RestingOrders) String() string

type SelfTradePrevention

type SelfTradePrevention int32

Self-trade-prevention (STP) allows market participants to prevent the matching of orders for accounts with common ownership. Currently, STP only applies for orders with the same subaccountId. STP will only be applied when a match is about to occur between the two orders. That is, if the aggressing order is fully filled before reaching the resting order in FIFO order, no STP cancels will happen.

const (
	// Cancel-resting specifies that if a self-trade is about to occur, the
	// resting order should be canceled instead and further order book processing
	// should occur as normal.
	SelfTradePrevention_CANCEL_RESTING SelfTradePrevention = 0
	// Cancel-aggressing specifies that if a self-trade is about to occur, the
	// aggressing order should be canceled instead and no further action should be
	// taken.
	SelfTradePrevention_CANCEL_AGGRESSING SelfTradePrevention = 1
	// Allow-self-trade disables STP functionality.
	SelfTradePrevention_ALLOW_SELF_TRADE SelfTradePrevention = 2
)

func (SelfTradePrevention) Descriptor

func (SelfTradePrevention) Enum

func (SelfTradePrevention) EnumDescriptor deprecated

func (SelfTradePrevention) EnumDescriptor() ([]byte, []int)

Deprecated: Use SelfTradePrevention.Descriptor instead.

func (SelfTradePrevention) Number

func (SelfTradePrevention) String

func (x SelfTradePrevention) String() string

func (SelfTradePrevention) Type

type Side

type Side int32

Side specifies whether the order is buying or selling the base asset. A trade is matched when a buyer (BID) and a seller (ASK) agree on a price (cross). The bid-ask spread is the gap between the highest bid price and lowest ask price on the orderbook.

const (
	// Bids buy the base asset with the quote asset.
	Side_BID Side = 0
	// Asks (or offers) sell the base asset and get the quote asset.
	Side_ASK Side = 1
)
const (
	// A bid order buys the base asset with the quote asset.
	Side_BID Side = 0
	// An ask (or offer) order sells the base asset and gets the quote asset.
	Side_ASK Side = 1
)

func (Side) Descriptor

func (Side) Descriptor() protoreflect.EnumDescriptor

func (Side) Enum

func (x Side) Enum() *Side

func (Side) EnumDescriptor deprecated

func (Side) EnumDescriptor() ([]byte, []int)

Deprecated: Use Side.Descriptor instead.

func (Side) Number

func (x Side) Number() protoreflect.EnumNumber

func (Side) String

func (x Side) String() string

func (Side) Type

func (Side) Type() protoreflect.EnumType

type Summary

type Summary struct {

	// 24h open price
	Open uint64 `protobuf:"varint,1,opt,name=open,proto3" json:"open,omitempty"`
	// Latest price
	Close uint64 `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"`
	// 24h low price
	Low uint64 `protobuf:"varint,3,opt,name=low,proto3" json:"low,omitempty"`
	// 24h high price
	High uint64 `protobuf:"varint,4,opt,name=high,proto3" json:"high,omitempty"`
	// Low 64-bits of the base quantity traded
	BaseVolumeLo uint64 `protobuf:"varint,5,opt,name=baseVolumeLo,proto3" json:"baseVolumeLo,omitempty"`
	// High 64-bits of the base quantity traded
	BaseVolumeHi uint64 `protobuf:"varint,6,opt,name=baseVolumeHi,proto3" json:"baseVolumeHi,omitempty"`
	// Low 64-bits of the quote quantity traded
	QuoteVolumeLo uint64 `protobuf:"varint,7,opt,name=quoteVolumeLo,proto3" json:"quoteVolumeLo,omitempty"`
	// High 64-bits of the quote quantity traded
	QuoteVolumeHi uint64 `protobuf:"varint,8,opt,name=quoteVolumeHi,proto3" json:"quoteVolumeHi,omitempty"`
	// contains filtered or unexported fields
}

Rolling 24h stats.

func (*Summary) Descriptor deprecated

func (*Summary) Descriptor() ([]byte, []int)

Deprecated: Use Summary.ProtoReflect.Descriptor instead.

func (*Summary) GetBaseVolumeHi

func (x *Summary) GetBaseVolumeHi() uint64

func (*Summary) GetBaseVolumeLo

func (x *Summary) GetBaseVolumeLo() uint64

func (*Summary) GetClose

func (x *Summary) GetClose() uint64

func (*Summary) GetHigh

func (x *Summary) GetHigh() uint64

func (*Summary) GetLow

func (x *Summary) GetLow() uint64

func (*Summary) GetOpen

func (x *Summary) GetOpen() uint64

func (*Summary) GetQuoteVolumeHi

func (x *Summary) GetQuoteVolumeHi() uint64

func (*Summary) GetQuoteVolumeLo

func (x *Summary) GetQuoteVolumeLo() uint64

func (*Summary) ProtoMessage

func (*Summary) ProtoMessage()

func (*Summary) ProtoReflect

func (x *Summary) ProtoReflect() protoreflect.Message

func (*Summary) Reset

func (x *Summary) Reset()

func (*Summary) String

func (x *Summary) String() string

type TimeInForce

type TimeInForce int32

Time-in-force (TIF) specifies how long the order remains in effect.

const (
	// Immediate-or-cancel (IOC), also known as fill-and-kill (FAK), orders are
	// immediately executed against resting orders. If the order cannot be fully
	// filled, the remaining balance will be canceled, and an additional
	// CancelOrderAck with the IOC reason will be sent.
	TimeInForce_IMMEDIATE_OR_CANCEL TimeInForce = 0
	// Good-for-session (GFS) orders are active until they are completely
	// executed, canceled, or when the session expires.
	TimeInForce_GOOD_FOR_SESSION TimeInForce = 1
	// Fill-or-kill (FOK), also known as all-or-none (AON), orders must be filled
	// immediately against resting orders or the entire order is canceled.
	TimeInForce_FILL_OR_KILL TimeInForce = 2
)

func (TimeInForce) Descriptor

func (TimeInForce) Enum

func (x TimeInForce) Enum() *TimeInForce

func (TimeInForce) EnumDescriptor deprecated

func (TimeInForce) EnumDescriptor() ([]byte, []int)

Deprecated: Use TimeInForce.Descriptor instead.

func (TimeInForce) Number

func (x TimeInForce) Number() protoreflect.EnumNumber

func (TimeInForce) String

func (x TimeInForce) String() string

func (TimeInForce) Type

type TopOfBook

type TopOfBook struct {
	MarketId uint64 `protobuf:"varint,1,opt,name=marketId,proto3" json:"marketId,omitempty"`
	// The [transact time](/docs/api_reference/trade#transact-time) of the latest
	// book update on this market.
	TransactTime uint64 `protobuf:"varint,2,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	// The best bid price.
	BidPrice uint64 `protobuf:"varint,3,opt,name=bidPrice,proto3" json:"bidPrice,omitempty"`
	// The total bid quantity at the best bid price.
	BidQuantity uint64 `protobuf:"varint,4,opt,name=bidQuantity,proto3" json:"bidQuantity,omitempty"`
	// The best ask price.
	AskPrice uint64 `protobuf:"varint,5,opt,name=askPrice,proto3" json:"askPrice,omitempty"`
	// The total ask quantity at the best ask price.
	AskQuantity uint64 `protobuf:"varint,6,opt,name=askQuantity,proto3" json:"askQuantity,omitempty"`
	// The last trade price.
	LastPrice uint64 `protobuf:"varint,7,opt,name=lastPrice,proto3" json:"lastPrice,omitempty"`
	// The 24h open price.
	Rolling24HPrice uint64 `protobuf:"varint,8,opt,name=rolling24hPrice,proto3" json:"rolling24hPrice,omitempty"`
	// contains filtered or unexported fields
}

Top of book

func (*TopOfBook) Descriptor deprecated

func (*TopOfBook) Descriptor() ([]byte, []int)

Deprecated: Use TopOfBook.ProtoReflect.Descriptor instead.

func (*TopOfBook) GetAskPrice

func (x *TopOfBook) GetAskPrice() uint64

func (*TopOfBook) GetAskQuantity

func (x *TopOfBook) GetAskQuantity() uint64

func (*TopOfBook) GetBidPrice

func (x *TopOfBook) GetBidPrice() uint64

func (*TopOfBook) GetBidQuantity

func (x *TopOfBook) GetBidQuantity() uint64

func (*TopOfBook) GetLastPrice

func (x *TopOfBook) GetLastPrice() uint64

func (*TopOfBook) GetMarketId

func (x *TopOfBook) GetMarketId() uint64

func (*TopOfBook) GetRolling24HPrice

func (x *TopOfBook) GetRolling24HPrice() uint64

func (*TopOfBook) GetTransactTime

func (x *TopOfBook) GetTransactTime() uint64

func (*TopOfBook) ProtoMessage

func (*TopOfBook) ProtoMessage()

func (*TopOfBook) ProtoReflect

func (x *TopOfBook) ProtoReflect() protoreflect.Message

func (*TopOfBook) Reset

func (x *TopOfBook) Reset()

func (*TopOfBook) String

func (x *TopOfBook) String() string

type TopOfBooks

type TopOfBooks struct {
	Tops []*TopOfBook `protobuf:"bytes,1,rep,name=tops,proto3" json:"tops,omitempty"`
	// contains filtered or unexported fields
}

Top of books for all books that were updates since the last top-of-books message.

func (*TopOfBooks) Descriptor deprecated

func (*TopOfBooks) Descriptor() ([]byte, []int)

Deprecated: Use TopOfBooks.ProtoReflect.Descriptor instead.

func (*TopOfBooks) GetTops

func (x *TopOfBooks) GetTops() []*TopOfBook

func (*TopOfBooks) ProtoMessage

func (*TopOfBooks) ProtoMessage()

func (*TopOfBooks) ProtoReflect

func (x *TopOfBooks) ProtoReflect() protoreflect.Message

func (*TopOfBooks) Reset

func (x *TopOfBooks) Reset()

func (*TopOfBooks) String

func (x *TopOfBooks) String() string

type Trades

type Trades struct {
	Trades []*Trades_Trade `protobuf:"bytes,1,rep,name=trades,proto3" json:"trades,omitempty"`
	// contains filtered or unexported fields
}

Trades since the latest `Trades` message. The result of the trades will also appear in the MBP and MBO feeds independently as updates to the resting orders and levels, respectively.

func (*Trades) Descriptor deprecated

func (*Trades) Descriptor() ([]byte, []int)

Deprecated: Use Trades.ProtoReflect.Descriptor instead.

func (*Trades) GetTrades

func (x *Trades) GetTrades() []*Trades_Trade

func (*Trades) ProtoMessage

func (*Trades) ProtoMessage()

func (*Trades) ProtoReflect

func (x *Trades) ProtoReflect() protoreflect.Message

func (*Trades) Reset

func (x *Trades) Reset()

func (*Trades) String

func (x *Trades) String() string

type Trades_Trade

type Trades_Trade struct {

	// The ID assigned to this trade. All trades that occur from the same event
	// will be assigned the same ID, and are considered to be an atomic batch.
	TradeId uint64 `protobuf:"varint,1,opt,name=tradeId,proto3" json:"tradeId,omitempty"`
	// The price that this trade occurred at.
	Price uint64 `protobuf:"varint,2,opt,name=price,proto3" json:"price,omitempty"`
	// The side of the aggressing order.
	AggressingSide Side `protobuf:"varint,3,opt,name=aggressingSide,proto3,enum=md.Side" json:"aggressingSide,omitempty"`
	// The [Exchange order ID](/docs/api_reference/trade#exchange-order-id) of
	// the resting order.
	RestingExchangeOrderId uint64 `protobuf:"varint,4,opt,name=restingExchangeOrderId,proto3" json:"restingExchangeOrderId,omitempty"`
	FillQuantity           uint64 `protobuf:"varint,5,opt,name=fillQuantity,proto3" json:"fillQuantity,omitempty"`
	// The [transact time](/docs/api_reference/trade#transact-time) assigned by
	// the matching engine for this trade. All trades that occur from the same
	// event will be assigned the same transact time.
	TransactTime uint64 `protobuf:"varint,6,opt,name=transactTime,proto3" json:"transactTime,omitempty"`
	// The [Exchange order ID](/docs/api_reference/trade#exchange-order-id) of
	// the aggressing order.
	AggressingExchangeOrderId uint64 `protobuf:"varint,7,opt,name=aggressingExchangeOrderId,proto3" json:"aggressingExchangeOrderId,omitempty"`
	// contains filtered or unexported fields
}

func (*Trades_Trade) Descriptor deprecated

func (*Trades_Trade) Descriptor() ([]byte, []int)

Deprecated: Use Trades_Trade.ProtoReflect.Descriptor instead.

func (*Trades_Trade) GetAggressingExchangeOrderId

func (x *Trades_Trade) GetAggressingExchangeOrderId() uint64

func (*Trades_Trade) GetAggressingSide

func (x *Trades_Trade) GetAggressingSide() Side

func (*Trades_Trade) GetFillQuantity

func (x *Trades_Trade) GetFillQuantity() uint64

func (*Trades_Trade) GetPrice

func (x *Trades_Trade) GetPrice() uint64

func (*Trades_Trade) GetRestingExchangeOrderId

func (x *Trades_Trade) GetRestingExchangeOrderId() uint64

func (*Trades_Trade) GetTradeId

func (x *Trades_Trade) GetTradeId() uint64

func (*Trades_Trade) GetTransactTime

func (x *Trades_Trade) GetTransactTime() uint64

func (*Trades_Trade) ProtoMessage

func (*Trades_Trade) ProtoMessage()

func (*Trades_Trade) ProtoReflect

func (x *Trades_Trade) ProtoReflect() protoreflect.Message

func (*Trades_Trade) Reset

func (x *Trades_Trade) Reset()

func (*Trades_Trade) String

func (x *Trades_Trade) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL