websocketmarket

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SUBSCRIBE   = "SUBSCRIBE"
	UNSUBSCRIBE = "UNSUBSCRIBE"
)
View Source
const (
	MaxTryTimes = 5
)

Variables

View Source
var (
	CoinMarginedMarketStreamBaseURL = "wss://dstream.binance.com"
	CombinedStreamRouter            = "/stream"
)

Functions

This section is empty.

Types

type BookDepthTopicParam

type BookDepthTopicParam struct {
	Symbol      string `validate:"required"`
	Level       int    `validate:"required,oneof=5 10 20"`
	UpdateSpeed string `validate:"required,oneof=100ms 250ms 500ms"`
}

type BookDiffDepthTopicParam

type BookDiffDepthTopicParam struct {
	Symbol      string `validate:"required"`
	UpdateSpeed string `validate:"required,oneof=100ms 250ms 500ms"`
}

type BookTicker

type BookTicker struct {
	EventType       string `json:"e"`
	UpdateID        int64  `json:"u"`
	Symbol          string `json:"s"`
	Pair            string `json:"ps"`
	BestBidPrice    string `json:"b"`
	BestBidQty      string `json:"B"`
	BestAskPrice    string `json:"a"`
	BestAskQty      string `json:"A"`
	TransactionTime int64  `json:"T"`
	EventTime       int64  `json:"E"`
}

type CoinMarginedMarketStreamCfg

type CoinMarginedMarketStreamCfg struct {
	Debug         bool
	BaseURL       string `validate:"required"`
	AutoReconnect bool   `validate:"required"`

	Logger *slog.Logger
}

type CoinMarginedMarketStreamClient

type CoinMarginedMarketStreamClient struct {
	// contains filtered or unexported fields
}

func (*CoinMarginedMarketStreamClient) AddListener

func (u *CoinMarginedMarketStreamClient) AddListener(event string, listener Listener) *emission.Emitter

func (*CoinMarginedMarketStreamClient) Close

func (*CoinMarginedMarketStreamClient) GetAggTradeTopic

func (c *CoinMarginedMarketStreamClient) GetAggTradeTopic(symbol string) (string, error)

func (*CoinMarginedMarketStreamClient) GetAllBookTickersTopic

func (c *CoinMarginedMarketStreamClient) GetAllBookTickersTopic() (string, error)

func (*CoinMarginedMarketStreamClient) GetAllLiquidationOrdersTopic

func (c *CoinMarginedMarketStreamClient) GetAllLiquidationOrdersTopic() (string, error)

func (*CoinMarginedMarketStreamClient) GetAllMarketMiniTickersTopic

func (c *CoinMarginedMarketStreamClient) GetAllMarketMiniTickersTopic() (string, error)

func (*CoinMarginedMarketStreamClient) GetAllMarketTickersTopic

func (c *CoinMarginedMarketStreamClient) GetAllMarketTickersTopic() (string, error)

func (*CoinMarginedMarketStreamClient) GetBookDepthTopic

func (c *CoinMarginedMarketStreamClient) GetBookDepthTopic(params *BookDepthTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetBookDiffDepthTopic

func (c *CoinMarginedMarketStreamClient) GetBookDiffDepthTopic(params *BookDiffDepthTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetBookTickerTopic

func (c *CoinMarginedMarketStreamClient) GetBookTickerTopic(symbol string) (string, error)

func (*CoinMarginedMarketStreamClient) GetIndexPriceTopic

func (c *CoinMarginedMarketStreamClient) GetIndexPriceTopic(param *IndexPriceTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetKlineTopic

func (c *CoinMarginedMarketStreamClient) GetKlineTopic(params *KlineTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetLiquidationOrderTopic

func (c *CoinMarginedMarketStreamClient) GetLiquidationOrderTopic(symbol string) (string, error)

func (*CoinMarginedMarketStreamClient) GetListeners

func (u *CoinMarginedMarketStreamClient) GetListeners(event string, argument any) *emission.Emitter

func (*CoinMarginedMarketStreamClient) GetMarketPriceTopic

func (c *CoinMarginedMarketStreamClient) GetMarketPriceTopic(param *MarkPriceTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetMiniTickerTopic

func (c *CoinMarginedMarketStreamClient) GetMiniTickerTopic(symbol string) (string, error)

func (*CoinMarginedMarketStreamClient) GetPairMarketPriceTopic

func (c *CoinMarginedMarketStreamClient) GetPairMarketPriceTopic(param *PairMarkPriceTopicParam) (string, error)

func (*CoinMarginedMarketStreamClient) GetTickerTopic

func (c *CoinMarginedMarketStreamClient) GetTickerTopic(symbol string) (string, error)

func (*CoinMarginedMarketStreamClient) IsConnected

func (u *CoinMarginedMarketStreamClient) IsConnected() bool

IsConnected returns the WebSocket connection state

func (*CoinMarginedMarketStreamClient) Open

func (*CoinMarginedMarketStreamClient) RemoveListener

func (u *CoinMarginedMarketStreamClient) RemoveListener(event string, listener Listener) *emission.Emitter

func (*CoinMarginedMarketStreamClient) Subscribe

func (u *CoinMarginedMarketStreamClient) Subscribe(topics []string) error

func (*CoinMarginedMarketStreamClient) UnSubscribe

func (u *CoinMarginedMarketStreamClient) UnSubscribe(topics []string) error

type IndexPrice

type IndexPrice struct {
	EventType  string `json:"e"`
	EventTime  int64  `json:"E"`
	Pair       string `json:"i"`
	IndexPrice string `json:"p"`
}

type IndexPriceTopicParam

type IndexPriceTopicParam struct {
	Pair        string `validate:"required"`
	UpdateSpeed string `validate:"required,oneof=1s 3s"`
}

type KlineTopicParam

type KlineTopicParam struct {
	Symbol   string                `validate:"required"`
	Interval cmutils.KlineInterval `validate:"required,oneof=1m 3m 5m 15m 30m 1h 2h 4h 6h 8h 12h 1d 3d 1w 1M"`
}

type LiquidationOrder

type LiquidationOrder struct {
	EventType string `json:"e"`
	EventTime int64  `json:"E"`
	Order     struct {
		Symbol                    string                `json:"s"`
		Pair                      string                `json:"ps"`
		Side                      string                `json:"S"`
		OrderType                 usdmutils.OrderType   `json:"o"`
		TimeInForce               usdmutils.TimeInForce `json:"f"`
		OriginalQuantity          string                `json:"q"`
		Price                     string                `json:"p"`
		AveragePrice              string                `json:"ap"`
		OrderStatus               cmutils.OrderStatus   `json:"X"`
		LastFilledQuantity        string                `json:"l"`
		FilledAccumulatedQuantity string                `json:"z"`
		TradeTime                 int64                 `json:"T"`
	} `json:"o"`
}

type Listener

type Listener func(any)

type MarkPrice

type MarkPrice struct {
	EventType            string `json:"e"`
	EventTime            int64  `json:"E"`
	Symbol               string `json:"s"`
	MarkPrice            string `json:"p"`
	EstimatedSettlePrice string `json:"P"`
	FundingRate          string `json:"r"`
	NextFundingTime      int64  `json:"T"`
}

type MarkPriceTopicParam

type MarkPriceTopicParam struct {
	Symbol      string `validate:"required"`
	UpdateSpeed string `validate:"required,oneof=1s 3s"`
}

type MiniTicker

type MiniTicker struct {
	EventType                  string `json:"e"`
	EventTime                  int64  `json:"E"`
	Symbol                     string `json:"s"`
	Pair                       string `json:"ps"`
	ClosePrice                 string `json:"c"`
	OpenPrice                  string `json:"o"`
	HighPrice                  string `json:"h"`
	LowPrice                   string `json:"l"`
	TotalTradedVolume          string `json:"v"`
	TotalTradedBaseAssetVolume string `json:"q"`
}

type OrderbookDepth

type OrderbookDepth struct {
	EventType               string     `json:"e"`
	EventTime               int64      `json:"E"`
	TransactionTime         int64      `json:"T"`
	Symbol                  string     `json:"s"`
	Pair                    string     `json:"ps"`
	FirstUpdateID           int64      `json:"U"`
	FinalUpdateID           int64      `json:"u"`
	FinalUpdateIDLastStream int64      `json:"pu"`
	Bids                    [][]string `json:"b"`
	Asks                    [][]string `json:"a"`
}

type PairMarkPriceTopicParam

type PairMarkPriceTopicParam struct {
	Pair        string `validate:"required"`
	UpdateSpeed string `validate:"required,oneof=1s 3s"`
}

type Ticker

type Ticker struct {
	EventType                  string `json:"e"`
	EventTime                  int64  `json:"E"`
	Symbol                     string `json:"s"`
	Pair                       string `json:"ps"`
	PriceChange                string `json:"p"`
	PriceChangePercent         string `json:"P"`
	WeightedAveragePrice       string `json:"w"`
	LastPrice                  string `json:"c"`
	LastQuantity               string `json:"Q"`
	OpenPrice                  string `json:"o"`
	HighPrice                  string `json:"h"`
	LowPrice                   string `json:"l"`
	TotalTradedVolume          string `json:"v"`
	TotalTradedBaseAssetVolume string `json:"q"`
	StatisticsOpenTime         int64  `json:"O"`
	StatisticsCloseTime        int64  `json:"C"`
	FirstTradeID               int64  `json:"F"`
	LastTradeID                int64  `json:"L"`
	TradesNum                  int64  `json:"n"`
}

Jump to

Keyboard shortcuts

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